12016-03-11  TJ Saunders <tj@castaglia.org>
2
3	* RELEASE_NOTES: Updated release notes to mention DH selection
4	issue.
5
62016-03-10  TJ Saunders <tj@castaglia.org>
7
8	* README.md: Update link to shields.io badge for latest release.
9
102016-03-10  TJ Saunders <tj@castaglia.org>
11
12	* README.md, contrib/dist/rpm/proftpd.spec, include/version.h:
13	Updating files for 1.3.6rc3 development.
14
152016-03-10  TJ Saunders <tj@castaglia.org>
16
17	* NEWS: Update NEWS with release date.
18
192016-03-10  TJ Saunders <tj@castaglia.org>
20
21	* include/version.h: Preparing for RC2 release.
22
232016-03-10  TJ Saunders <tj@castaglia.org>
24
25	* contrib/mod_sftp/rfc4716.c,
26	tests/t/etc/modules/mod_sftp/authorized_rsa_keys_no_nl,
27	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Reproduce, and fix,
28	the case where mod_sftp does not handle public key files which do
29	not end in a newline.
30
312016-03-10  TJ Saunders <tj@castaglia.org>
32
33	* NEWS: Update NEWS with fix for Bug#4230.
34
352016-03-10  TJ Saunders <tj@castaglia.org>
36
37	* : Merge pull request #226 from proftpd/tls-dhparam-ignored-bug4230 Bug#4230: TLSDHParamFile directive appears ignored because
38	unexpected…
39
402016-03-10  TJ Saunders <tj@castaglia.org>
41
42	* modules/mod_core.c,
43	tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm: If DisplayQuit is
44	configured with a non-path, make sure we handle it properly.
45
462016-03-10  TJ Saunders <tj@castaglia.org>
47
48	* modules/mod_xfer.c,
49	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm: If the
50	configured DisplayFileTransfer file is not able to be handled
51	successfully, don't penalize/close the data transfer connection for
52	it.
53
542016-03-10  TJ Saunders <tj@castaglia.org>
55
56	* contrib/mod_wrap.c: Sigh.  Declared right variable in wrong
57	location.  Trying again.
58
592016-03-10  TJ Saunders <tj@castaglia.org>
60
61	* : Merge pull request #228 from proftpd/json-no-stdbool-dependency Remove the JSON implementation's dependence on stdbool.h, on the
62	assu…
63
642016-03-10  TJ Saunders <tj@castaglia.org>
65
66	* doc/modules/mod_core.html: Fix the documented default
67	TimeoutLinger value.
68
692016-03-10  TJ Saunders <tj@castaglia.org>
70
71	* contrib/mod_wrap.c: Address compiler warnings.
72
732016-03-10  TJ Saunders <tj@castaglia.org>
74
75	* modules/mod_facl.c: Make sure the module-unload event listener is
76	conditionally compiled with the same conditions as its usage.
77
782016-03-09  TJ Saunders <tj@castaglia.org>
79
80	* : commit f9e85236e76703303ecad3c16951ac623ec34e5a Author: TJ
81	Saunders <tj@castaglia.org> Date:   Wed Mar 9 16:10:11 2016 -0800
82
832016-03-09  TJ Saunders <tj@castaglia.org>
84
85	* src/netacl.c, tests/api/netacl.c: Adding tests showing that we
86	properly handle "0.0.0.0/0" as a netacl expression.
87
882016-03-08  TJ Saunders <tj@castaglia.org>
89
90	* : commit 35455b027ba9a315109035e117bd4890781ee489 Merge: 57ef0cd
91	d49387e Author: TJ Saunders <tj@castaglia.org> Date:   Tue Mar 8
92	23:04:55 2016 -0800
93
942016-03-08  TJ Saunders <tj@castaglia.org>
95
96	* include/netacl.h, src/netacl.c, tests/api/netacl.c: Provide a
97	pr_netacl_get_str2() function for getting string versions of ACLs
98	without the added description that pr_netacl_get_str() adds.
99
1002016-03-08  TJ Saunders <tj@castaglia.org>
101
102	* RELEASE_NOTES: Fleshing out the release notes, as we're getting
103	very close to release.
104
1052016-03-08  TJ Saunders <tj@castaglia.org>
106
107	* doc/modules/mod_log.html: Add docs for the added %{file-size} and
108	%{transfer-type} LogFormat variables.
109
1102016-03-08  TJ Saunders <tj@castaglia.org>
111
112	* contrib/mod_tls.c: Bug#4230: TLSDHParamFile directive appears
113	ignored because unexpected DH is chosen.
114
1152016-03-04  TJ Saunders <tj@castaglia.org>
116
117	* doc/contrib/mod_auth_otp.html: Minor updates/fixes to the
118	mod_auth_otp docs.
119
1202016-03-04  TJ Saunders <tj@castaglia.org>
121
122	* doc/contrib/mod_auth_otp.html: Add required OpenSSL attributions.
123
1242016-03-04  TJ Saunders <tj@castaglia.org>
125
126	* include/ccan-json.h, lib/ccan-json.c: Attempt to fix/address
127	compiler errors on different platforms (e.g. HP-UX) by not reusing
128	the same name for a struct and its typedef.  Also avoid
129	re-typedef'ing uchar_t.
130
1312016-03-04  TJ Saunders <tj@castaglia.org>
132
133	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Clear the internal
134	statcache in a few more places when handling SFTP, SCP.
135
1362016-03-04  TJ Saunders <tj@castaglia.org>
137
138	* modules/mod_core.c, modules/mod_site.c, modules/mod_xfer.c: More
139	places where the internal cache should be cleared first.
140
1412016-03-04  TJ Saunders <tj@castaglia.org>
142
143	* modules/mod_core.c: Another place where we need to clear the
144	internal statcache.
145
1462016-02-29  TJ Saunders <tj@castaglia.org>
147
148	* : Merge pull request #223 from proftpd/core-str-hex2bin Add symmetric String API function for converting from hex string to
149	b…
150
1512016-02-25  TJ Saunders <tj@castaglia.org>
152
153	* modules/mod_ctrls.c: If there are issues creating the
154	ControlsSocket, log them at the NOTICE level, rather than in a
155	ControlsLog (which not be opened anyway).
156
1572016-02-25  TJ Saunders <tj@castaglia.org>
158
159	* contrib/mod_statcache.c, src/fsio.c: When the pr_fs_clear_cache2()
160	function is used to clear the statcache, generate an event for any
161	OTHER modules which might also be doing caching (e.g.
162	mod_statcache), so that they too can clear their cached stat data.
163
1642016-02-25  TJ Saunders <tj@castaglia.org>
165
166	* contrib/mod_statcache.c: Make mod_statcache less intrusive when it
167	encounters an error when handling an FSIO callback; just return the
168	underlying OS call return value.
169
1702016-02-25  TJ Saunders <tj@castaglia.org>
171
172	* contrib/mod_statcache.c: The FSIO open(2) callback in
173	mod_statcache was only clearing the cached value IFF open(2)
174	returned zero.  But open(2) returns zero OR GREATER on success.
175	Oops.
176
1772016-02-25  TJ Saunders <tj@castaglia.org>
178
179	* src/fsio.c: Cache the close(2) errno value, to avoid it being
180	changed by later code in pr_fsio_close().
181
1822016-02-25  TJ Saunders <tj@castaglia.org>
183
184	* doc/contrib/mod_unique_id.html: Fix HTML markup.
185
1862016-02-25  TJ Saunders <tj@castaglia.org>
187
188	* contrib/mod_sftp/fxp.c: Add a fake 451 response code for aborted
189	SFTP file transfers.
190
1912016-02-23  TJ Saunders <tj@castaglia.org>
192
193	* contrib/mod_statcache.c: Automatically disable negative caching
194	for SSH2 sessions.
195
1962016-02-23  TJ Saunders <tj@castaglia.org>
197
198	* NEWS: Add mention of fix for Bug#4227.
199
2002016-02-23  TJ Saunders <tj@castaglia.org>
201
202	* : Merge pull request #220 from proftpd/sftp-multi-init-bug4227 Bug#4227: Support SFTP clients that send multiple INIT requests.
203
2042016-02-22  TJ Saunders <tj@castaglia.org>
205
206	* contrib/mod_sftp/fxp.c: Only increment the bytes transferred
207	values, when handling an SFTP WRITE request, once the bytes have
208	been successfully written, per write(2) result.
209
2102016-02-22  TJ Saunders <tj@castaglia.org>
211
212	* : Merge pull request #219 from proftpd/sftp-no-stat-on-read Attempt to mitigate the issue with mod_statcache's stat() causing
213	SFT…
214
2152016-02-22  TJ Saunders <tj@castaglia.org>
216
217	* contrib/mod_statcache.c: Improve mod_statcache trace logging, to
218	better differentiate among locking-related log messages.
219
2202016-02-21  TJ Saunders <tj@castaglia.org>
221
222	* RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: Use a
223	directive name of TLSServerInfoFile, for consistency with other
224	mod_tls directives.
225
2262016-02-20  TJ Saunders <tj@castaglia.org>
227
228	* : Merge pull request #217 from proftpd/tls-serverinfo Add TLSServerInfo directive, for TLS ServerHello extensions
229
2302016-02-20  TJ Saunders <tj@castaglia.org>
231
232	* RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html:
233	Implement a TLSServerInfo directive, for configuring custom TLS
234	extension data (e.g. for SCT data).
235
2362016-02-17  TJ Saunders <tj@castaglia.org>
237
238	* contrib/mod_exec.c, contrib/mod_sftp/keys.c, contrib/mod_tls.c,
239	modules/mod_rlimit.c, src/rlimit.c: Don't log spurious log messages
240	if getrlimit(2) fails with ENOSYS/EPERM.
241
2422016-02-16  TJ Saunders <tj@castaglia.org>
243
244	* contrib/mod_sftp/blacklist.c: Quell Coverity warning by setting an
245	upper bound on the number of records we are willing to scan/process
246	from the blacklist.dat file.
247
2482016-02-16  TJ Saunders <tj@castaglia.org>
249
250	* lib/libltdl/ltdl.c: Quell Coverity warning about possible resource
251	leak in libltdl.
252
2532016-02-12  TJ Saunders <tj@castaglia.org>
254
255	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Ensure proper
256	NUL-termination of buffers in all cases.  Should make Coverity
257	happier.
258
2592016-02-12  TJ Saunders <tj@castaglia.org>
260
261	* contrib/mod_auth_otp/base32.c: Use signed data types, to prevent
262	underflow and bad shift operations.  Found by Coverity.
263
2642016-02-12  TJ Saunders <tj@castaglia.org>
265
266	* contrib/mod_statcache.c: Add check for return value, per Coverity.
267
2682016-02-12  TJ Saunders <tj@castaglia.org>
269
270	* contrib/mod_auth_otp/mod_auth_otp.c: Fix issue discovered by
271	Coverity.
272
2732016-02-12  TJ Saunders <tj@castaglia.org>
274
275	* contrib/mod_digest.c: Fix issue detected by Coverity.
276
2772016-02-12  TJ Saunders <tj@castaglia.org>
278
279	* doc/contrib/mod_auth_otp.html, doc/contrib/mod_digest.html,
280	doc/contrib/mod_statcache.html: Update docs of new modules to
281	mention where their source code is.
282
2832016-02-12  TJ Saunders <tj@castaglia.org>
284
285	* : Merge pull request #214 from proftpd/contrib-statcache Adding mod_statcache to the contrib/ directory.
286
2872016-02-12  TJ Saunders <tj@castaglia.org>
288
289	* .gitignore, .travis.yml, contrib/mod_auth_otp/mod_auth_otp.c:
290	Address build warnings, tweak the travis-ci setup.
291
2922016-02-12  TJ Saunders <tj@castaglia.org>
293
294	* contrib/mod_auth_otp/Makefile.in: Trying some reordering, when
295	building mod_auth_otp as a DSO module.
296
2972016-02-12  TJ Saunders <tj@castaglia.org>
298
299	* contrib/mod_digest.c: Fix building of mod_digest as a shared
300	module.
301
3022016-02-11  TJ Saunders <tj@castaglia.org>
303
304	* contrib/mod_auth_otp/Makefile.in: Back to the original.  Probably
305	won't work.
306
3072016-02-11  TJ Saunders <tj@castaglia.org>
308
309	* contrib/mod_auth_otp/Makefile.in: Still correcting paths.  Sigh.
310
3112016-02-11  TJ Saunders <tj@castaglia.org>
312
313	* contrib/mod_auth_otp/Makefile.in,
314	contrib/mod_auth_otp/mod_auth_otp.c: Still trying to get the
315	travis-ci builds passing.
316
3172016-02-11  TJ Saunders <tj@castaglia.org>
318
319	* contrib/mod_auth_otp/Makefile.in: Tweak, tweak.
320
3212016-02-11  TJ Saunders <tj@castaglia.org>
322
323	* contrib/mod_auth_otp/Makefile.in: Still working on fixing the
324	travis-ci build.
325
3262016-02-11  TJ Saunders <tj@castaglia.org>
327
328	* contrib/mod_auth_otp/t/Makefile.in,
329	contrib/mod_auth_otp/t/api/base32.c,
330	contrib/mod_auth_otp/t/api/otp.c,
331	contrib/mod_auth_otp/t/api/stubs.c,
332	contrib/mod_auth_otp/t/api/tests.c,
333	contrib/mod_auth_otp/t/api/tests.h: Add missing API tests for
334	mod_auth_otp, breaking the travis-ci build.
335
3362016-02-11  TJ Saunders <tj@castaglia.org>
337
338	* .travis.yml: Add mod_auth_otp, mod_digest to the travis-ci builds.
339
3402016-02-11  TJ Saunders <tj@castaglia.org>
341
342	* : Merge pull request #213 from proftpd/contrib-auth-otp Adding mod_auth_otp to the contrib/ modules directory.
343
3442016-02-11  TJ Saunders <tj@castaglia.org>
345
346	* : Merge pull request #212 from proftpd/contrib-digest Adding mod_digest module to contrib modules.
347
3482016-02-01  TJ Saunders <tj@castaglia.org>
349
350	* contrib/mod_sql.c: Log a warning about using the Plaintext
351	SQLAuthType; it's a bad security policy, as it allows storing
352	passwords IN THE CLEAR in the database.
353
3542016-02-01  TJ Saunders <tj@castaglia.org>
355
356	* RELEASE_NOTES, contrib/mod_sql.c, include/mod_log.h,
357	modules/mod_log.c, tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm:
358	Add a %{transfer-type} LogFormat variable; this is just one more
359	variable needed to make an ExtendedLog that contains the same
360	information as the fixed-format TransferLog.
361
3622016-02-01  TJ Saunders <tj@castaglia.org>
363
364	* contrib/mod_wrap.c, modules/mod_core.c: Update mod_wrap to
365	properly handle a HOST command.
366
3672016-02-01  TJ Saunders <tj@castaglia.org>
368
369	* contrib/mod_quotatab.c, modules/mod_core.c: Update mod_quotatab to
370	Do The Right Thing(tm) in the face of HOST commands.
371
3722016-02-01  TJ Saunders <tj@castaglia.org>
373
374	* contrib/mod_wrap2/mod_wrap2.c, modules/mod_core.c: Update
375	mod_wrap2 to properly handle HOST commands.
376
3772016-02-01  TJ Saunders <tj@castaglia.org>
378
379	* contrib/mod_radius.c, contrib/mod_rewrite.c, modules/mod_core.c:
380	Update the mod_radius and mod_rewrite modules to properly
381	respond/handle HOST commands.
382
3832016-01-31  TJ Saunders <tj@castaglia.org>
384
385	* contrib/mod_ldap.c, modules/mod_core.c: Make mod_ldap be
386	HOST-aware, and reset its settings as necessary.
387
3882016-01-31  TJ Saunders <tj@castaglia.org>
389
390	* contrib/mod_sql_passwd.c, modules/mod_core.c,
391	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Make sure that
392	mod_sql_passwd works properly with respect to HOST commands.
393
3942016-01-31  TJ Saunders <tj@castaglia.org>
395
396	* contrib/mod_sql.c: Update mod_sql so that it Does The Right
397	Thing(tm) for HOST commands.
398
3992016-01-31  TJ Saunders <tj@castaglia.org>
400
401	* src/auth.c: Correct grammar in a trace log message; no functional
402	change.
403
4042016-01-31  TJ Saunders <tj@castaglia.org>
405
406	* modules/mod_core.c: Update the list of modules needing HOST
407	handling work.
408
4092016-01-31  TJ Saunders <tj@castaglia.org>
410
411	* modules/mod_auth.c: Remove now-obsolete POST_CMD HOST handler; it
412	was replaced by the 'core.session-reinit' event listener.
413
4142016-01-31  TJ Saunders <tj@castaglia.org>
415
416	* modules/mod_auth.c,
417	tests/t/lib/ProFTPD/Tests/Config/AnonAllowRobots.pm: Fix edge case
418	with implementation of Bug#4224, where we do NOT want any automatic
419	handling of "robots.txt" for non-anonymous logins.
420
4212016-01-31  TJ Saunders <tj@castaglia.org>
422
423	* : Merge pull request #210 from
424	proftpd/auth-anon-allow-robots-bug4224 Bug#4224: Prohibit FTP indexing by web crawlers via auto-generated
425	ro…
426
4272016-01-30  TJ Saunders <tj@castaglia.org>
428
429	* locale/files.txt: Updated files.txt.
430
4312016-01-30  TJ Saunders <tj@castaglia.org>
432
433	* doc/contrib/mod_quotatab.html: Fix markup.
434
4352016-01-29  TJ Saunders <tj@castaglia.org>
436
437	* NEWS, RELEASE_NOTES, doc/modules/mod_auth.html,
438	modules/mod_auth.c, tests/t/config/anonallowrobots.t,
439	tests/t/lib/ProFTPD/Tests/Config/AnonAllowRobots.pm: Bug#4224:
440	Prohibit FTP indexing by web crawlers via auto-generated robots.txt.
441
4422016-01-29  TJ Saunders <tj@castaglia.org>
443
444	* contrib/mod_tls.c: Properly shut down the TLS session on data
445	connections as well.
446
4472016-01-28  TJ Saunders <tj@castaglia.org>
448
449	* doc/rfc/rfc7151.txt: Adding RFC 7151 to our RFCs area, since we
450	now implement the HOST command.
451
4522016-01-28  TJ Saunders <tj@castaglia.org>
453
454	* : Merge pull request #209 from proftpd/exists2 Restore backward compatibility
455
4562016-01-28  TJ Saunders <tj@castaglia.org>
457
458	* contrib/mod_copy.c, contrib/mod_sftp/fxp.c,
459	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
460	contrib/mod_sql.c, contrib/mod_tls.c, include/support.h,
461	modules/mod_core.c, modules/mod_ls.c, modules/mod_xfer.c,
462	src/support.c, tests/api/misc.c: Restore backward compatibility by
463	restoring the Support API's exists/mode functions back to their
464	original signatures, and provide variants, which accept a pool, for
465	the chroot+symlink-aware functionality.
466
4672016-01-28  TJ Saunders <tj@castaglia.org>
468
469	* : Merge pull request #208 from proftpd/extlog-file-size-var-redux Use POST_CMD handlers for stashing the 'mod_xfer.file-size' note, so
470471
4722016-01-27  TJ Saunders <tj@castaglia.org>
473
474	* : Merge pull request #207 from proftpd/extlog-file-size-var Add support for a %{file-size} LogFormat variable, which resolves to
475	the
476
4772016-01-27  TJ Saunders <tj@castaglia.org>
478
479	* tests/t/lib/ProFTPD/Tests/Config/AllowForeignAddress.pm: Add
480	regression test for a site-to-site transfer of a >2GB file.
481
4822016-01-27  TJ Saunders <tj@castaglia.org>
483
484	* NEWS: Update NEWS for fix for Bug#4219.
485
4862016-01-27  TJ Saunders <tj@castaglia.org>
487
488	* : Merge pull request #206 from
489	proftpd/fsio-chrooted-readlink-bug4219 Bug#4219: Better handling of symlinks when chrooted
490
4912016-01-27  TJ Saunders <tj@castaglia.org>
492
493	* modules/mod_site.c, tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm:
494	Added regression tests for SITE CHMOD commands and symlinks,
495	chrooted and not.  All tests pass properly now.
496
4972016-01-27  TJ Saunders <tj@castaglia.org>
498
499	* modules/mod_site.c, tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm:
500	Added regression tests for the SITE CHGRP command and symlinks,
501	chrooted and not.  All tests pass now.
502
5032016-01-27  TJ Saunders <tj@castaglia.org>
504
505	* contrib/mod_sftp/scp.c,
506	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
507	tests for SCP downloads to symlinks, chrooted and not.  Made sure
508	the tests pass as expected.
509
5102016-01-27  TJ Saunders <tj@castaglia.org>
511
512	* : commit 5dc63cc755fbc7fde7757812678b4d02eb54a654 Author: TJ
513	Saunders <tj@castaglia.org> Date:   Wed Jan 27 11:15:37 2016 -0800
514
5152016-01-27  TJ Saunders <tj@castaglia.org>
516
517	* contrib/mod_tls.c: Add comment about where to find the definition
518	of unknown TLS extension IDs.
519
5202016-01-27  TJ Saunders <tj@castaglia.org>
521
522	* contrib/mod_sql_mysql.c: If mod_sql_mysql fails to configure the
523	character set, just log the failure and do not treat it as a fatal
524	error, in order to better handle situations of client/server version
525	skew.
526
5272016-01-27  TJ Saunders <tj@castaglia.org>
528
529	* doc/howto/Logging.html: Mention that FreeBSD ftpd does NOT use the
530	xferlog(5) format.
531
5322016-01-26  TJ Saunders <tj@castaglia.org>
533
534	* src/inet.c, src/support.c: Add Mac OSX-specific version macros for
535	the newer OSX versions as needed.
536
5372016-01-26  TJ Saunders <tj@castaglia.org>
538
539	* : commit 662a109c354eb72b9f138e1b332ba3fd3e088b88 Author: TJ
540	Saunders <tj@castaglia.org> Date:   Tue Jan 26 16:54:44 2016 -0800
541
5422016-01-26  TJ Saunders <tj@castaglia.org>
543
544	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Add another regression
545	test for Bug#4223, for the chroot case.
546
5472016-01-26  TJ Saunders <tj@castaglia.org>
548
549	* modules/mod_xfer.c: Style nit; no functional change.
550
5512016-01-26  TJ Saunders <tj@castaglia.org>
552
553	* contrib/mod_sftp/fxp.c: Add the dir_readlink() magic to the
554	check-file SFTP extension handling.
555
5562016-01-26  TJ Saunders <tj@castaglia.org>
557
558	* contrib/mod_sftp/fxp.c,
559	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
560	tests for SFTP RMDIR requests and symlinks, chrooted and not.
561	Ensured that all tests pass as expected.
562
5632016-01-26  TJ Saunders <tj@castaglia.org>
564
565	* contrib/mod_sftp/fxp.c,
566	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
567	tests for SFTP OPENDIR requests and symlinks, chrooted and not.
568	Made sure the tests pass as expected.
569
5702016-01-26  TJ Saunders <tj@castaglia.org>
571
572	* contrib/mod_sftp/fxp.c,
573	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
574	tests for SFTP SETSTAT requests and symlinks, chrooted and not.
575	Made sure that the tests pass properly.
576
5772016-01-26  TJ Saunders <tj@castaglia.org>
578
579	* contrib/mod_sftp/fxp.c,
580	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
581	tests for the SFTP STAT requests and symlinks, chrooted and not, and
582	made sure the tests pass.
583
5842016-01-26  TJ Saunders <tj@castaglia.org>
585
586	* : commit 9a17b90289f876339b4cf71f74329a2d5fa3c4f9 Author: TJ
587	Saunders <tj@castaglia.org> Date:   Tue Jan 26 10:47:03 2016 -0800
588
5892016-01-26  TJ Saunders <tj@castaglia.org>
590
591	* : Merge pull request #205 from proftpd/xfer-stou-umask-bug4223 Bug#4223: Permissions on files uploaded via STOU do not honor
592	configured Umask
593
5942016-01-26  TJ Saunders <tj@castaglia.org>
595
596	* modules/mod_xfer.c: Bug#4223: Permissions on files uploaded via
597	STOU do not honor configured Umask.
598
5992016-01-25  TJ Saunders <tj@castaglia.org>
600
601	* contrib/mod_sftp/fxp.c,
602	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
603	tests for the SFTP OPEN requests and symlinks, chrooted and not.
604
6052016-01-25  TJ Saunders <tj@castaglia.org>
606
607	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
608	tests for SFTP MKDIR requests and symlinks, chrooted and not.
609
6102016-01-25  TJ Saunders <tj@castaglia.org>
611
612	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Added regression tests
613	for the RNTO command, and symlinks.
614
6152016-01-25  TJ Saunders <tj@castaglia.org>
616
617	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm:
618	Adding regression tests for the RNFR command and symlinks, chrooted
619	and not.
620
6212016-01-24  TJ Saunders <tj@castaglia.org>
622
623	* : commit f8eded5488c03a40a02dbdb4056d6222e0a045a3 Author: TJ
624	Saunders <tj@castaglia.org> Date:   Sun Jan 24 20:24:44 2016 -0800
625
6262016-01-24  TJ Saunders <tj@castaglia.org>
627
628	* : Merge pull request #204 from proftpd/default-transfer-mode Move the processing of the DefaultTransferMode directive from
629	mod_aut…
630
6312016-01-24  TJ Saunders <tj@kiban.io>
632
633	* modules/mod_auth.c, modules/mod_core.c: Move the processing of the
634	DefaultTransferMode directive from mod_auth to mod_core.  The
635	directive handler is in mod_core, and the processing is more
636	properly done as a post-PASS step.
637
6382016-01-24  TJ Saunders <tj@castaglia.org>
639
640	* modules/mod_core.c, modules/mod_xfer.c,
641	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Added regression tests
642	for RMD and symlinks, and made sure that symlinks could be handled
643	properly when chrooted.
644
6452016-01-24  TJ Saunders <tj@castaglia.org>
646
647	* modules/mod_xfer.c, tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
648	Added regression tests for RETR and symlinks, and updated the RETR
649	handling to use dir_readlink(), so that symlinks can be retrieved
650	when chrooted.
651
6522016-01-24  TJ Saunders <tj@castaglia.org>
653
654	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Commands/CWD.pm:
655	Added regression tests for the CWD and symlinks, and made sure that
656	CWD does The Right Thing(tm) with symlinks, chrooted and not.
657
6582016-01-22  TJ Saunders <tj@castaglia.org>
659
660	* : commit e09990a3840ddca4413160c86ab0eff403c3a698 Author: TJ
661	Saunders <tj@castaglia.org> Date:   Fri Jan 22 16:09:02 2016 -0800
662
6632016-01-22  TJ Saunders <tj@castaglia.org>
664
665	* src/fsio.c: Fix log messages to be grammatically correct.
666
6672016-01-22  TJ Saunders <tj@kiban.io>
668
669	* src/str.c, tests/api/str.c: For better logging/debugging, have the
670	{uid,gid}2str() functions return "-1" for cases where the
671	uid_t/gid_t have that value, as they are used as sentinel values in
672	the core code.
673
6742016-01-22  TJ Saunders <tj@castaglia.org>
675
676	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Updated MKD regression
677	tests to use test_setup()/test_cleanup(), in preparation to adding
678	more symlink-related regression tests.
679
6802016-01-22  TJ Saunders <tj@castaglia.org>
681
682	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm:
683	Update the handling of the MDTM command for chrooted symlinks, with
684	accompanying regression tests.
685
6862016-01-22  TJ Saunders <tj@castaglia.org>
687
688	* tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm: First, update the MDTM
689	regression tests to use test_setup() and test_cleanup().  Next, I'll
690	add regression tests for MDTM on symlinks (to files and
691	directories).
692
6932016-01-22  TJ Saunders <tj@castaglia.org>
694
695	* contrib/mod_copy.c: Found another place needing updating for the
696	change of exists() signature.
697
6982016-01-22  TJ Saunders <tj@castaglia.org>
699
700	* contrib/mod_sql.c, contrib/mod_tls.c: Updated some contrib
701	modules, due to changes in the Support API signatures.
702
7032016-01-22  TJ Saunders <tj@castaglia.org>
704
705	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Make sure that the
706	destination path correctly lines up with the (adjusted) chroot on
707	MacOSX.
708
7092016-01-22  TJ Saunders <tj@castaglia.org>
710
711	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
712	contrib/mod_sftp/scp.c, include/support.h, modules/mod_core.c,
713	modules/mod_ls.c, modules/mod_xfer.c, src/support.c,
714	tests/api/misc.c, tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Added
715	more regression tests for the APPE command, for absolute destination
716	path symlinks and chroots, which required some refactoring of the
717	core library.
718
7192016-01-22  TJ Saunders <tj@castaglia.org>
720
721	* doc/howto/ListOptions.html, doc/modules/mod_facts.html,
722	doc/modules/mod_ls.html: Update docs to mention new
723	'NoAdjustedSymlinks' options for mod_facts, mod_ls.
724
7252016-01-22  TJ Saunders <tj@kiban.io>
726
727	* doc/howto/CreateHome.html: Updated links to the main docs for the
728	CreateHome directive.
729
7302016-01-21  TJ Saunders <tj@kiban.io>
731
732	* contrib/mod_sftp_pam.c: Now the mod_sftp_pam module will check for
733	the AuthPAM directive, in addition to SFTPPAMEngine, to better work,
734	as expected, with existing proftpd configurations that use AuthPAM.  See:
735	http://serverfault.com/questions/386294/proftpd-with-sftp-first-login-fails-seconds-succeeds
736
7372016-01-21  TJ Saunders <tj@castaglia.org>
738
739	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Modernized some of the
740	DELE regression tests in preparation, but then realized that DELE's
741	handling of symlinks just does The Right Thing(tm), regardless of
742	chroots.
743
7442016-01-21  TJ Saunders <tj@castaglia.org>
745
746	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Adding APPE regression
747	tests for symlinks, chrooted and not.
748
7492016-01-21  TJ Saunders <tj@castaglia.org>
750
751	* modules/mod_xfer.c: Rename a variable to be more consistent with
752	usage elsewhere, i.e. using 'xerrno' as the errno holder, not
753	'ferrno'.
754
7552016-01-21  TJ Saunders <tj@kiban.io>
756
757	* include/ftp.h: Remove redundant redefinition of the C_HOST macro.
758
7592016-01-21  TJ Saunders <tj@castaglia.org>
760
761	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding regression
762	tests for the LIST command, with regard to symlinks, ShowSymlinks,
763	and chroots.
764
7652016-01-21  TJ Saunders <tj@castaglia.org>
766
767	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Added NLST regression
768	tests for symlinks, and symlinks when chrooted.
769
7702016-01-20  TJ Saunders <tj@castaglia.org>
771
772	* src/support.c, tests/api/misc.c: Clean up the returned destination
773	paths, even when not chrooted.
774
7752016-01-20  TJ Saunders <tj@castaglia.org>
776
777	* tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Updated the STAT
778	regression tests, and added missing tests for symlinks, both when
779	chrooted and not.
780
7812016-01-20  TJ Saunders <tj@castaglia.org>
782
783	* tests/api/misc.c: Fix the broken unit tests.
784
7852016-01-20  TJ Saunders <tj@castaglia.org>
786
787	* modules/mod_facts.c, src/support.c, tests/api/misc.c,
788	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
789	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Update mod_facts to use
790	dir_readlink() for MLST/MLSD commands.  Turns out that this fixes an
791	already-existing bug, where symlinks were not being handled well
792	when the session is chrooted anyway.
793
7942016-01-20  TJ Saunders <tj@castaglia.org>
795
796	* src/fsio.c: Remove some distracting FSIO statcache trace logging
797	by explicitly setting errno to zero for success cases.
798
7992016-01-20  TJ Saunders <tj@castaglia.org>
800
801	* src/dirtree.c: Move some noisy AllowOverride logging to trace
802	logging, from debug logging.
803
8042016-01-19  TJ Saunders <tj@castaglia.org>
805
806	* contrib/mod_sftp/fxp.c,
807	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Update mod_sftp's
808	handling of the READLINK request to use the new chroot-aware
809	dir_readlink() function.
810
8112016-01-19  TJ Saunders <tj@castaglia.org>
812
813	* : commit 632cc9dd493e263f66fb42dd54809cb3f671b17b Merge: d55f831
814	5fd7508 Author: TJ Saunders <tj@castaglia.org> Date:   Tue Jan 19
815	09:56:04 2016 -0800
816
8172016-01-19  TJ Saunders <tj@castaglia.org>
818
819	* contrib/mod_sql.c,
820	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Make sure that
821	mod_sql can also handle the new %R, %{transfer-millisecs} variables
822	from Bug#4218.
823
8242016-01-19  TJ Saunders <tj@castaglia.org>
825
826	* : Merge pull request #202 from proftpd/privs-coverage Increase test coverage of the Privs API.
827
8282016-01-19  TJ Saunders <tj@castaglia.org>
829
830	* include/privs.h, src/privs.c, tests/api/privs.c: Attempt to
831	increase test coverage of the Privs API by providing a function for
832	setting the "am I running as nonroot?" flag, to be used by unit
833	tests.
834
8352016-01-19  TJ Saunders <tj@castaglia.org>
836
837	* include/support.h, src/support.c, tests/api/misc.c: Provide flags,
838	for handling relative destination symlink paths (or not).  Update
839	the unit tests to cover the new branches.
840
8412016-01-18  TJ Saunders <tj@castaglia.org>
842
843	* src/support.c, tests/api/misc.c: If dir_readlink() reads in a
844	relative path, and that path falls within the chroot, try to
845	emit/provide a relative path as output, in order to preserve the
846	principle of least surprise.
847
8482016-01-18  TJ Saunders <tj@castaglia.org>
849
850	* include/support.h, src/support.c, tests/api/misc.c: First part of
851	Bug#4219: provide a support function which wraps pr_fsio_readlink(),
852	and does the chroot checking/adaptation.
853
8542016-01-18  TJ Saunders <tj@castaglia.org>
855
856	* src/fsio.c: Handle the edge case where a custom FSIO object does
857	not provide a readlink implementation, and that callback is thus
858	NULL.
859
8602016-01-18  TJ Saunders <tj@castaglia.org>
861
862	* tests/t/lib/ProFTPD/Tests/Modules/mod_snmp.pm: Update the mod_snmp
863	tests to pass properly, when more contrib modules (e.g.  mod_tls,
864	mod_sftp, mod_ban) are present.
865
8662016-01-18  TJ Saunders <tj@castaglia.org>
867
868	* contrib/mod_snmp/mod_snmp.c: Remove some logically unneeded code,
869	per Coverity.
870
8712016-01-18  TJ Saunders <tj@castaglia.org>
872
873	* contrib/mod_snmp/PROFTPD-MIB.txt: Remove CVS tag, now that we're
874	in Git.
875
8762016-01-18  TJ Saunders <tj@castaglia.org>
877
878	* .gitignore: Ignore the Coverity cov-int directory, too.
879
8802016-01-18  TJ Saunders <tj@castaglia.org>
881
882	* modules/mod_ctrls.c: Avoid unnecessary (and redundant) null check,
883	per Coverity.
884
8852016-01-18  TJ Saunders <tj@castaglia.org>
886
887	* src/dirtree.c: Catch/handle a possible null pointer dereference,
888	per Coverity.
889
8902016-01-18  TJ Saunders <tj@castaglia.org>
891
892	* contrib/mod_sql_passwd.c: Pedantically check for possible null
893	values, per Coverity.
894
8952016-01-18  TJ Saunders <tj@castaglia.org>
896
897	* contrib/mod_tls_fscache.c: Implement permission checks on the
898	directory for caching OCSP responses, and avoid world-writable
899	directories.
900
9012016-01-18  TJ Saunders <tj@castaglia.org>
902
903	* contrib/mod_tls_fscache.c: Be a little more strict when checking
904	permissions for cached OCSP responses, by calling open(2) on the
905	path, then using fstat(2), rather than just using lstat(2).  This
906	should make Coverity happier.  Hopefully.
907
9082016-01-17  TJ Saunders <tj@castaglia.org>
909
910	* NEWS, RELEASE_NOTES: Updates NEWS, release notes with mention of
911	Bug#4218.
912
9132016-01-17  TJ Saunders <tj@castaglia.org>
914
915	* : Merge pull request #201 from
916	proftpd/extlog-response-transfer-millisecs-bug4218 Bug#4218: Support a LogFormat variable for logging command duration
917	in milliseconds
918
9192016-01-17  TJ Saunders <tj@castaglia.org>
920
921	* doc/modules/mod_log.html, include/mod_log.h, modules/mod_log.c,
922	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Implement the
923	%{transfer-millisecs} LogFormat variable, with regression test.  In
924	doing so, the implementation of the %T LogFormat variable was made
925	much simpler.
926
9272016-01-17  TJ Saunders <tj@castaglia.org>
928
929	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: First step: add
930	missing regression test for the %T LogFormat variable, to be used as
931	a template for the next part.
932
9332016-01-17  TJ Saunders <tj@castaglia.org>
934
935	* tests/api/misc.c: Now we're playing with platform-specific
936	behaviors.  Whee!
937
9382016-01-17  TJ Saunders <tj@castaglia.org>
939
940	* tests/api/str.c: Quell compiler warning about mismatched types.
941
9422016-01-17  TJ Saunders <tj@kiban.io>
943
944	* include/support.h, modules/mod_ls.c, src/support.c,
945	tests/api/misc.c: Still working out the kinks with the rewritten
946	get_name_max().
947
9482016-01-17  TJ Saunders <tj@castaglia.org>
949
950	* tests/api/misc.c: The rewriting of get_name_max() changed the test
951	expectations.
952
9532016-01-17  TJ Saunders <tj@castaglia.org>
954
955	* src/support.c: Rewrite the get_name_max() function to be more
956	legible, and avoid (hopefully) the rats' nest of ifdefs.
957
9582016-01-17  TJ Saunders <tj@castaglia.org>
959
960	* src/netio.c: At least check if our stashing of the NetIO in the
961	notes fails, per Coverity.
962
9632016-01-17  TJ Saunders <tj@castaglia.org>
964
965	* modules/mod_ls.c: Avoid memory leak under error conditions; found
966	by Coverity.
967
9682016-01-17  TJ Saunders <tj@castaglia.org>
969
970	* contrib/mod_tls.c: Avoid memory leak in edge case scenario; found
971	by Coverity.
972
9732016-01-17  TJ Saunders <tj@castaglia.org>
974
975	* contrib/mod_tls.c: Avoid an unneeded loop, which avoids logically
976	dead code.  Found by Coverity.
977
9782016-01-17  TJ Saunders <tj@castaglia.org>
979
980	* modules/mod_dso.c: Avoid checking a pointer that we already know
981	to be null (due to earlier checks), per Coverity.
982
9832016-01-17  TJ Saunders <tj@castaglia.org>
984
985	* src/log.c: Be more paranoid about checking for null pointers, per
986	Coverity.
987
9882016-01-17  TJ Saunders <tj@castaglia.org>
989
990	* contrib/mod_exec.c: It's possible for exec_subst_var() to be
991	called with a null cmd_rec, thus we need to guard against such
992	conditions.  Found by Coverity.
993
9942016-01-17  TJ Saunders <tj@castaglia.org>
995
996	* contrib/mod_sftp/fxp.c: Remove unused code, detected by Coverity.
997
9982016-01-17  TJ Saunders <tj@castaglia.org>
999
1000	* contrib/coverity/modeling.c: Update the Coverity modeling file, to
1001	squelch known false positives.
1002
10032016-01-17  TJ Saunders <tj@castaglia.org>
1004
1005	* contrib/mod_tls_fscache.c: Avoid passing a known null pointer, per
1006	Coverity.
1007
10082016-01-17  TJ Saunders <tj@castaglia.org>
1009
1010	* src/support.c: If pr_localtime() returns NULL, just bail, rather
1011	than trying to skirt around the issue.  Found by Coverity.
1012
10132016-01-17  TJ Saunders <tj@castaglia.org>
1014
1015	* contrib/mod_sftp/interop.c: Avoid a possible null dereference,
1016	found by Coverity.
1017
10182016-01-17  TJ Saunders <tj@castaglia.org>
1019
1020	* utils/ftpcount.c, utils/ftpscrub.c, utils/ftpwho.c: Add missing
1021	break statements, per Coverity.
1022
10232016-01-17  TJ Saunders <tj@castaglia.org>
1024
1025	* contrib/mod_sftp/keys.c: Remove extraneous null check, per
1026	Coverity.
1027
10282016-01-17  TJ Saunders <tj@castaglia.org>
1029
1030	* src/support.c: Avoid some dead/unreachable code, per Coverity.
1031
10322016-01-17  TJ Saunders <tj@castaglia.org>
1033
1034	* contrib/mod_tls_memcache.c: Removing now-unused variables.
1035
10362016-01-16  TJ Saunders <tj@castaglia.org>
1037
1038	* : Merge pull request #200 from proftpd/facts-media-type Update mod_facts to use mod_mime, when present/enabled, to provide
1039	the
1040
10412016-01-16  TJ Saunders <tj@castaglia.org>
1042
1043	* : Merge pull request #199 from
1044	proftpd/quotatab-better-handling-of-default Tweak the lookup pattern mod_quotatab uses, with regard to the
1045	QuotaD…
1046
10472016-01-16  TJ Saunders <tj@castaglia.org>
1048
1049	* doc/howto/TLS.html: Adding FAQ about the TLS "unknown protocol"
1050	error, from the forums.
1051
10522016-01-15  TJ Saunders <tj@castaglia.org>
1053
1054	* modules/mod_auth.c: Make sure to validate the USER command first,
1055	before any other special processing.
1056
10572016-01-15  TJ Saunders <tj@castaglia.org>
1058
1059	* NEWS: Update NEWS for fix for Bug#4217.
1060
10612016-01-15  TJ Saunders <tj@castaglia.org>
1062
1063	* : Merge pull request #198 from proftpd/auth-reauthenticate-bug4217 Bug#4217: Handle FTP re-authentication attempts better.
1064
10652016-01-15  TJ Saunders <tj@castaglia.org>
1066
1067	* modules/mod_auth.c: Address Bug#4217, as requested, to be slightly
1068	more indicative, via response codes and messages, of the issue with
1069	reauthentication.
1070
10712016-01-15  TJ Saunders <tj@castaglia.org>
1072
1073	* tests/t/lib/ProFTPD/Tests/Logins.pm: First part of working on
1074	Bug#4217: make sure there is a regression test for the previous
1075	behavior, for Bug#3736.
1076
10772016-01-15  TJ Saunders <tj@castaglia.org>
1078
1079	* : Merge pull request #197 from proftpd/extlog-bug4067-redux Attempt to fix the exclusion LogFormat functionality introduced for
1080	a…
1081
10822016-01-14  TJ Saunders <tj@castaglia.org>
1083
1084	* modules/mod_core.c: Fix bug where not providing all parameters for
1085	FSCachePolicy might not have the expected behavior.
1086
10872016-01-14  TJ Saunders <tj@castaglia.org>
1088
1089	* src/str.c: Quell a compiler warning about an unused function.
1090
10912016-01-14  TJ Saunders <tj@castaglia.org>
1092
1093	* configure, configure.in, contrib/mod_sftp/crypto.c,
1094	contrib/mod_sql_postgres.c: Make sure that the build system
1095	automatically enables OpenSSL support when mod_auth_otp or
1096	mod_digest are requested.  Also update the lists of OpenSSL-using
1097	modules elsewhere.
1098
10992016-01-14  TJ Saunders <tj@castaglia.org>
1100
1101	* contrib/mod_tls.c: Remove now-unused variable.
1102
11032016-01-13  TJ Saunders <tj@castaglia.org>
1104
1105	* src/timers.c: Clean up stylistic nits, and leave more comments for
1106	my future self.  This helped me track down a timer-related issue,
1107	where the suggested "next timeout" calculation was too coarse, and
1108	prone to cause unexpected behavior.  Hopefully better now.
1109
11102016-01-13  TJ Saunders <tj@castaglia.org>
1111
1112	* modules/mod_core.c: Set the module pointer for the TimeoutIdle
1113	callback, for better trace logging.
1114
11152016-01-12  TJ Saunders <tj@castaglia.org>
1116
1117	* src/data.c, src/netio.c: Fix the generation of network IO
1118	read/write events, and refactor these events such that ALL of them
1119	are generated by the NetIO API, not spread out amongst the NetIO and
1120	data transfer routines.
1121
11222016-01-12  TJ Saunders <tj@castaglia.org>
1123
1124	* src/auth.c: Include the number of items in the authcache, when we
1125	flush it.
1126
11272016-01-12  TJ Saunders <tj@castaglia.org>
1128
1129	* src/table.c: Minor simplification to the code for removing an
1130	entry from a table.
1131
11322016-01-12  TJ Saunders <tj@castaglia.org>
1133
1134	* : Merge pull request #196 from proftpd/sorted-feat Sorted FEAT response, for more professional look
1135
11362016-01-12  TJ Saunders <tj@castaglia.org>
1137
1138	* src/table.c: Style nits; no functional change.
1139
11402016-01-12  TJ Saunders <tj@castaglia.org>
1141
1142	* modules/mod_core.c: Sort the FEAT response, for prettier, more
1143	professional displays.
1144
11452016-01-12  TJ Saunders <tj@castaglia.org>
1146
1147	* src/table.c: Style nits; no functional change.
1148
11492016-01-11  TJ Saunders <tj@castaglia.org>
1150
1151	* src/response.c, tests/api/response.c: Minor improvement for
1152	pr_response_send_async() by properly tracking the starting pointer
1153	for sstrcat(), to avoid scanning bytes already concatenated.
1154
11552016-01-11  TJ Saunders <tj@castaglia.org>
1156
1157	* modules/mod_core.c: Make sure to include CLNT in the HELP output.
1158
11592016-01-11  TJ Saunders <tj@castaglia.org>
1160
1161	* : Merge pull request #195 from proftpd/ssh2-on-ftp Detect SSH2 connections to an FTP port
1162
11632016-01-10  TJ Saunders <tj@castaglia.org>
1164
1165	* : commit f70caf2b4c41f9a7fe4790d6d7a0c0650f35d6f9 Author: TJ
1166	Saunders <tj@castaglia.org> Date:   Sun Jan 10 23:48:47 2016 -0800
1167
11682016-01-10  TJ Saunders <tj@castaglia.org>
1169
1170	* : Merge pull request #194 from proftpd/support-clnt Support the CLNT command
1171
11722016-01-10  TJ Saunders <tj@castaglia.org>
1173
1174	* doc/howto/FTP.html, include/cmd.h, include/ftp.h,
1175	modules/mod_core.c, src/cmd.c, tests/api/cmd.c,
1176	tests/t/commands/clnt.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
1177	tests/t/lib/ProFTPD/Tests/Commands/CLNT.pm, tests/tests.pl: Support
1178	the CLNT command.
1179
11802016-01-10  TJ Saunders <tj@castaglia.org>
1181
1182	* .gitignore: Ignoring a few more symlinks.
1183
11842016-01-10  TJ Saunders <tj@castaglia.org>
1185
1186	* contrib/mod_sql_passwd.c, contrib/mod_tls.c,
1187	contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c,
1188	include/str.h, src/str.c, tests/api/str.c: I decided that
1189	pr_str_bin2hex() was a better function name.
1190
11912016-01-10  TJ Saunders <tj@castaglia.org>
1192
1193	* contrib/mod_sql_passwd.c: Typo in comment; no functional change.
1194
11952016-01-09  TJ Saunders <tj@castaglia.org>
1196
1197	* : Merge pull request #193 from proftpd/core-str-hex Add new `pr_str_hex()` function.
1198
11992016-01-09  TJ Saunders <tj@castaglia.org>
1200
1201	* contrib/mod_sql.c: Quell compiler warning.
1202
12032016-01-08  TJ Saunders <tj@castaglia.org>
1204
1205	* .gitignore: Adding a few more symlinks, generated by the build
1206	system, to be ignored by git.
1207
12082016-01-06  TJ Saunders <tj@castaglia.org>
1209
1210	* src/fsio.c: Prevent infinite recursion, in lookup_file_fs(), by
1211	using the fs object's readlink callback directly, rather than going
1212	through the public API, which calls lookup_file_fs() -- hence the
1213	recursion.
1214
12152016-01-05  TJ Saunders <tj@castaglia.org>
1216
1217	* : Merge pull request #192 from proftpd/sql-odbc-issues SQL ODBC issues
1218
12192016-01-05  TJ Saunders <tj@castaglia.org>
1220
1221	* RELEASE_NOTES, contrib/mod_sql_odbc.c,
1222	doc/contrib/mod_sql_odbc.html,
1223	tests/t/etc/modules/mod_sql_odbc/odbc.ini,
1224	tests/t/etc/modules/mod_sql_odbc/odbcinst.ini,
1225	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: While
1226	investigating some mod_sql_odbc issues mentioned in the forums, I
1227	discovered some cases where the ODBC API version needed to be
1228	configurable.  Adding in the new config (and docs), and the
1229	reproduction recipes.
1230
12312016-01-05  TJ Saunders <tj@castaglia.org>
1232
1233	* contrib/mod_sql.c: Minor nits; no functional change.
1234
12352016-01-05  TJ Saunders <tj@castaglia.org>
1236
1237	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Better name for
1238	added testcase.
1239
12402016-01-05  TJ Saunders <tj@castaglia.org>
1241
1242	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
1243	ensuring that mod_sftp properly fails to login a client that fails
1244	password authentication.
1245
12462016-01-03  TJ Saunders <tj@castaglia.org>
1247
1248	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
1249	for CCC before login.
1250
12512016-01-03  TJ Saunders <tj@castaglia.org>
1252
1253	* contrib/mod_tls.c: Per RFC 4217, Section 15.3, require
1254	authentication before accepting the CCC command, to mitigate
1255	anonymous clients from issuing AUTH/CCC in loops, tying up server
1256	resources.
1257
12582016-01-03  TJ Saunders <tj@castaglia.org>
1259
1260	* : Merge pull request #191 from proftpd/tls-verify-client-optional Implement "TLSVerifyClient optional", to replace functionality lost
1261	when
1262
12632016-01-01  TJ Saunders <tj@castaglia.org>
1264
1265	* NEWS, RELEASE_NOTES: Mention fix for Bug#4214 in NEWS, release
1266	notes.
1267
12682016-01-01  TJ Saunders <tj@castaglia.org>
1269
1270	* : Merge pull request #190 from
1271	proftpd/lang-useencoding-per-user-bug4214 Bug#4214 - Allow UseEncoding to be set on a per-user basis.
1272
12732016-01-01  TJ Saunders <tj@castaglia.org>
1274
1275	* configure, configure.in, modules/mod_lang.c,
1276	tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Bug#4214 - Allow
1277	UseEncoding to be set on a per-user basis.
1278
12792016-01-01  TJ Saunders <tj@castaglia.org>
1280
1281	* config.h.in, configure, configure.in, src/regexp.c: Add necessary
1282	autoconf detection of pcre_free_study() function.
1283
12842016-01-01  TJ Saunders <tj@castaglia.org>
1285
1286	* .travis.yml: Apparently the travis-ci environment doesn't have
1287	apt.  Weird.
1288
12892016-01-01  TJ Saunders <tj@castaglia.org>
1290
1291	* .travis.yml: Remove sending email notifications to -committers; it
1292	doesn't appear to be working as expected.
1293
12942016-01-01  TJ Saunders <tj@castaglia.org>
1295
1296	* .travis.yml: Show the details of the libpcre3-dev package, to help
1297	debug a build failure on travis-ci (but working locally).
1298
12992016-01-01  TJ Saunders <tj@castaglia.org>
1300
1301	* src/regexp.c: Syntax tweak, more of a stylistic nit.
1302
13032016-01-01  TJ Saunders <tj@castaglia.org>
1304
1305	* src/regexp.c: We were missing an include of the PCRE headers.
1306	Odd.
1307
13082016-01-01  TJ Saunders <tj@castaglia.org>
1309
1310	* src/auth.c: Quell compiler warning on travis-ci.
1311
13122016-01-01  TJ Saunders <tj@castaglia.org>
1313
1314	* src/regexp.c: Refactor some common code into a single routine, and
1315	reduce needless duplication.
1316
13172016-01-01  TJ Saunders <tj@castaglia.org>
1318
1319	* src/regexp.c: Make sure we explicitly call pcre_free_study(), to
1320	free up any JIT-allocated memory used by pcre_study().
1321
13222015-12-31  TJ Saunders <tj@castaglia.org>
1323
1324	* modules/mod_core.c: Style nits; no functional change.
1325
13262015-12-31  TJ Saunders <tj@castaglia.org>
1327
1328	* NEWS, RELEASE_NOTES: Update NEWS, release notes with mention of
1329	Bug#4213.
1330
13312015-12-31  TJ Saunders <tj@castaglia.org>
1332
1333	* : Merge pull request #189 from
1334	proftpd/tls-nocertrequest-tlsoption-bug4213 Bug#4213 - Deprecate the NoCertRequest TLSOption.
1335
13362015-12-27  TJ Saunders <tj@castaglia.org>
1337
1338	* NEWS, RELEASE_NOTES: Updates NEWS, release notes with mention of
1339	TLS session ticket support (Bug#4176).
1340
13412015-12-27  TJ Saunders <tj@castaglia.org>
1342
1343	* : Merge pull request #188 from proftpd/tls-session-tickets-bug4176 TLS session ticket support (Bug#4176)
1344
13452015-12-25  TJ Saunders <tj@castaglia.org>
1346
1347	* : commit 251611d8f6f579cb8eacc87ad525822b0fbed1c3 Author: TJ
1348	Saunders <tj@castaglia.org> Date:   Fri Dec 25 13:44:11 2015 -0800
1349
13502015-12-25  TJ Saunders <tj@castaglia.org>
1351
1352	* .travis.yml: Add email notifications to the travis-ci builds.
1353
13542015-12-25  TJ Saunders <tj@castaglia.org>
1355
1356	* doc/contrib/mod_tls.html: Documenting the TLS session ticket
1357	support for Bug#4176.
1358
13592015-12-25  TJ Saunders <tj@castaglia.org>
1360
1361	* contrib/mod_tls.c: Bug#4176: Support for TLS session tickets.  Initial implementation, with some testing.  Needs documentation now.
1362
13632015-12-23  TJ Saunders <tj@castaglia.org>
1364
1365	* doc/contrib/mod_sftp.html, doc/contrib/mod_tls.html: Remove some
1366	confusing text about having multiple Options directives on the same
1367	line.
1368
13692015-12-23  TJ Saunders <tj@castaglia.org>
1370
1371	* NEWS, RELEASE_NOTES: Update news, release notes to mention
1372	Bug#4200.
1373
13742015-12-23  TJ Saunders <tj@castaglia.org>
1375
1376	* : Merge pull request #183 from proftpd/sql-tls-info-bug4200 Bug#4200 - Support TLS client configuration for SQL servers.
1377
13782015-12-22  TJ Saunders <tj@castaglia.org>
1379
1380	* include/compat.h: Provide a backward compatibility macro for
1381	`_sql_make_cmd`, and remove some old backward compatibility macros
1382	while there.
1383
13842015-12-22  TJ Saunders <tj@castaglia.org>
1385
1386	* : commit 39ee20cc2708bd8b7abd0c391e433f74858d2621 Author: TJ
1387	Saunders <tj@castaglia.org> Date:   Tue Dec 22 17:38:16 2015 -0800
1388
13892015-12-22  TJ Saunders <tj@castaglia.org>
1390
1391	* NEWS, RELEASE_NOTES: Update NEWS, release notes with mention of
1392	fix for Bug#4175.
1393
13942015-12-22  TJ Saunders <tj@castaglia.org>
1395
1396	* : Merge pull request #186 from proftpd/tls-ocsp-stapling-bug4175 Bug#4175: Support for OCSP stapling
1397
13982015-12-22  TJ Saunders <tj@castaglia.org>
1399
1400	* contrib/mod_tls_memcache.c,
1401	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm: Implement an
1402	OCSP response cache provider using mod_tls_memcache, with
1403	accompanying regression tests.
1404
14052015-12-22  TJ Saunders <tj@castaglia.org>
1406
1407	* contrib/mod_tls_shmcache.c: Update the mod_tls_shmcache comments
1408	to be more up-to-date.
1409
14102015-12-22  TJ Saunders <tj@castaglia.org>
1411
1412	* doc/contrib/mod_tls.html, doc/contrib/mod_tls_shmcache.html:
1413	Update the mod_tls_shmcache docs to mention its support for the
1414	TLSStaplingCache directive.
1415
14162015-12-22  TJ Saunders <tj@castaglia.org>
1417
1418	* contrib/mod_tls_shmcache.c,
1419	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm: Implement an
1420	OCSP response cache provider via SysV shared memory segments (using
1421	mod_tls_shmcache), with accompanying tests.
1422
14232015-12-22  TJ Saunders <tj@castaglia.org>
1424
1425	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
1426	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_fscache.pm: Move one of
1427	the OCSP stapling support routines to the mod_tls_fscache-specific
1428	tests.
1429
14302015-12-22  TJ Saunders <tj@castaglia.org>
1431
1432	* contrib/mod_tls_fscache.c: Remove unused event listeners, and
1433	update the logging of OpenSSL errors to include the finer-grained
1434	data, if available.
1435
14362015-12-22  TJ Saunders <tj@castaglia.org>
1437
1438	* contrib/mod_tls.c: If the EnableDiags TLSOption is in effect,
1439	print out the OCSP response we obtained from the TLSStaplingCache,
1440	if any.  Also make sure that we do NOT add back to the
1441	TLSStaplingCache a response that we just read from that cache.
1442
14432015-12-22  TJ Saunders <tj@castaglia.org>
1444
1445	* contrib/mod_tls_shmcache.c: Step #1 in adding OCSP cache support
1446	to mod_tls_shmcache: rename all of the existing SSL session cache
1447	variables/functions more clearly.
1448
14492015-12-22  TJ Saunders <tj@castaglia.org>
1450
1451	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
1452	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_fscache.pm,
1453	tests/t/modules/mod_tls_fscache.t, tests/tests.pl: Split out the
1454	mod_tls_fscache-related regression tests into their own test file,
1455	just as was done for mod_tls_memcache and mod_tls_shmcache.
1456
14572015-12-22  TJ Saunders <tj@castaglia.org>
1458
1459	* .gitignore: Ignore the new mod_tls_fscache symlinked into the
1460	modules/ directory.
1461
14622015-12-22  TJ Saunders <tj@castaglia.org>
1463
1464	* contrib/mod_tls_fscache.c: Finish implementing some of the
1465	'ftpdctl ocspcache' actions for mod_tls_fscache.
1466
14672015-12-21  TJ Saunders <tj@castaglia.org>
1468
1469	* doc/contrib/mod_tls_fscache.html: Provide better example
1470	configuration.
1471
14722015-12-21  TJ Saunders <tj@castaglia.org>
1473
1474	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Remove development
1475	cruft.
1476
14772015-12-21  TJ Saunders <tj@castaglia.org>
1478
1479	* doc/contrib/mod_tls.html, doc/contrib/mod_tls_fscache.html,
1480	doc/contrib/mod_tls_memcache.html: Update the mod_tls docs for the
1481	OCSP stapling support, and include the docs for the new
1482	mod_tls_fscache module.
1483
14842015-12-21  TJ Saunders <tj@castaglia.org>
1485
1486	* contrib/mod_tls.c: Implement a TLSStaplingResponder directive, for
1487	sites which will need to proxy their OCSP queries.  Also remove
1488	unnecessary defensive coding, after reading the OpenSSL sources.
1489
14902015-12-21  TJ Saunders <tj@castaglia.org>
1491
1492	* contrib/mod_tls_fscache.c: Be a little more careful with the OCSP
1493	response files found on disk.
1494
14952015-12-21  TJ Saunders <tj@castaglia.org>
1496
1497	* contrib/mod_tls.c: Refactor some of the previous OCSP code (for
1498	checking client certificates' revocation status) to use the newer
1499	code, and reduce the amount of code duplication.
1500
15012015-12-21  TJ Saunders <tj@castaglia.org>
1502
1503	* contrib/mod_tls.c: Fix build errors, warnings caught by travis-ci.
1504
15052015-12-21  TJ Saunders <tj@castaglia.org>
1506
1507	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add
1508	regression test demonstrating a mod_quotatab config that uses the
1509	QuotaDefault directive.
1510
15112015-12-21  TJ Saunders <tj@castaglia.org>
1512
1513	* : commit 8a9a719b595b31f061be46835a18f9b73c172625 Author: TJ
1514	Saunders <tj@castaglia.org> Date:   Mon Dec 21 15:24:27 2015 -0800
1515
15162015-12-21  TJ Saunders <tj@kiban.io>
1517
1518	* contrib/mod_tls.c: Address Issue #185 by explicitly clearing the
1519	passphrase list, even when there are no explicit passphrases for a
1520	cert.
1521
15222015-12-17  TJ Saunders <tj@castaglia.org>
1523
1524	* : commit 8787af68da750efcbe11ccee93df07a583e3ba89 Merge: f98a4fc
1525	82a2fe1 Author: TJ Saunders <tj@castaglia.org> Date:   Thu Dec 17
1526	14:06:01 2015 -0800
1527
15282015-12-17  TJ Saunders <tj@castaglia.org>
1529
1530	* locale/files.txt: Updating the list of candidate files which might
1531	contain localizable strings.
1532
15332015-12-17  TJ Saunders <tj@castaglia.org>
1534
1535	* : Merge pull request #180 from proftpd/build-fix-dist-target Fix the 'make dist' target
1536
15372015-12-17  TJ Saunders <tj@castaglia.org>
1538
1539	* : commit fd4afb392a2855a93ea2615f73215125e07db72c Author: TJ
1540	Saunders <tj@castaglia.org> Date:   Thu Dec 17 13:34:26 2015 -0800
1541
15422015-12-17  TJ Saunders <tj@castaglia.org>
1543
1544	* : Merge pull request #184 from proftpd/rpm-systemd-bug3661 Updated proftpd.spec file to include the systemd files, per
1545	Bug#3661.
1546
15472015-12-17  TJ Saunders <tj@castaglia.org>
1548
1549	* .gitignore: Ignore symlinks generated by the build system, and
1550	other auto-generated files.
1551
15522015-12-16  TJ Saunders <tj@castaglia.org>
1553
1554	* contrib/mod_tls_memcache.c: Make the namespace for memcached
1555	sessions more precise, as we might want to cache other objects (e.g.
1556	OCSP responses) in the near future.
1557
15582015-12-16  TJ Saunders <tj@castaglia.org>
1559
1560	* config.h.in, configure, configure.in, contrib/mod_tls.c: Initial
1561	start of OCSP stapling implementation in mod_tls.  For this, we
1562	either return a "tryLater" OCSP response, or none.  This is how it
1563	starts.
1564
15652015-12-15  TJ Saunders <tj@castaglia.org>
1566
1567	* doc/contrib/mod_sql_odbc.html: HTML fixups.
1568
15692015-12-15  TJ Saunders <tj@castaglia.org>
1570
1571	* : commit d259494c8ebc9c2074ec95125d1e57a5b8db3074 Author: TJ
1572	Saunders <tj@castaglia.org> Date:   Tue Dec 15 16:51:56 2015 -0800
1573
15742015-12-15  TJ Saunders <tj@castaglia.org>
1575
1576	* config.h.in, configure, configure.in, contrib/mod_sql.c,
1577	contrib/mod_sql.h, contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
1578	contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c,
1579	doc/contrib/mod_sql.html: Bug#4200 - Support TLS client
1580	configuration for SQL servers.
1581
15822015-12-15  TJ Saunders <tj@castaglia.org>
1583
1584	* : Merge pull request #182 from tkyf/fix_log_for_MaxHostsPerUser Fix log message on connection refused by MaxHostsPerUser limits
1585
15862015-12-14  TJ Saunders <tj@castaglia.org>
1587
1588	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
1589	contrib/mod_sftp/mod_sftp.h.in: Make mod_sftp compile when
1590	either/both DSA and DES are disabled in OpenSSL.
1591
15922015-12-14  TJ Saunders <tj@castaglia.org>
1593
1594	* contrib/mod_sftp/crypto.c: Ensure that mod_sftp builds if RIPEMD
1595	is disabled in OpenSSL.
1596
15972015-12-14  TJ Saunders <tj@castaglia.org>
1598
1599	* contrib/mod_sftp/crypto.c: Make sure that mod_sftp can compile
1600	against an OpenSSL which has had CAST support disabled.
1601
16022015-12-14  TJ Saunders <tj@castaglia.org>
1603
1604	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/mod_sftp.h.in: Make it
1605	possible to build mod_sftp against an OpenSSL which has had Blowfish
1606	support disabled.
1607
16082015-12-14  TJ Saunders <tj@castaglia.org>
1609
1610	* contrib/mod_sftp/crypto.c: Make sure that mod_sftp compiles using
1611	an OpenSSL that has had RC4 support disabled.
1612
16132015-12-14  TJ Saunders <tj@castaglia.org>
1614
1615	* NEWS: Update NEWS for fix for Bug#4212.
1616
16172015-12-14  TJ Saunders <tj@castaglia.org>
1618
1619	* : Merge pull request #181 from proftpd/rootrevoke-on-enforcement Bug#4212: Ensure that FTP data transfer commands fail appropriately
1620	when "RootRevoke on" is in effect.
1621
16222015-12-11  TJ Saunders <tj@castaglia.org>
1623
1624	* modules/mod_core.c, modules/mod_ls.c, src/data.c: Make sure that
1625	the port number logged in the "RootRevoke in effect" messages is
1626	accurate.  Enforce the case where RootRevoke is on, but the client has ignored
1627	our error responses to PORT/EPRT, and had requested a data transfer
1628	anyway.  We do this by returning an error response for the data
1629	transfer command (e.g. LIST, STOR, etc) before we even attempt to
1630	make the connection.
1631
16322015-12-11  TJ Saunders <tj@castaglia.org>
1633
1634	* Make.rules.in, lib/Makefile.in, modules/Makefile.in,
1635	src/Makefile.in, utils/Makefile.in: Define a MAKEDEPEND variable in
1636	the top-level Make.rules, so that I can easily override what to use
1637	as "makedepend" on platforms which don't easily have one (e.g. Mac
1638	OSX).
1639
16402015-12-11  TJ Saunders <tj@castaglia.org>
1641
1642	* src/ftpscrub.c: Remove duplicated 'ftpscrub.c' from the src/
1643	directory; it is already in the utils/ directory (where it should
1644	be).  I suspect that this file was gumming up the makedepend works.
1645
16462015-12-11  TJ Saunders <tj@castaglia.org>
1647
1648	* contrib/mod_ldap.c: Fix mod_ldap build issue when building against
1649	e.g. OpenLDAP-2.3.x.
1650
16512015-12-10  TJ Saunders <tj@castaglia.org>
1652
1653	* contrib/ftpasswd: Address Debian ProFTPD Bug 796233; see:   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=796233
1654
16552015-12-10  TJ Saunders <tj@castaglia.org>
1656
1657	* utils/ftpshut.8.in: Man page style nits.
1658
16592015-12-10  TJ Saunders <tj@castaglia.org>
1660
1661	* src/dirtree.c: Reduce logging verbosity when parsing Include
1662	directories.
1663
16642015-12-10  TJ Saunders <tj@castaglia.org>
1665
1666	* : Merge pull request #178 from proftpd/contrib-systemd-bug3661 Bug#3661 - Support for systemd's "socket activation" mode.
1667
16682015-12-10  TJ Saunders <tj@castaglia.org>
1669
1670	* modules/mod_auth.c: Provide slightly more informative message
1671	about active data transfers being affected by "RootRevoke on".
1672
16732015-12-09  TJ Saunders <tj@castaglia.org>
1674
1675	* : commit b82c2a02d2822d033f38026c53ee65579efce5b8 Author: TJ
1676	Saunders <tj@castaglia.org> Date:   Wed Dec 9 14:21:26 2015 -0800
1677
16782015-12-09  TJ Saunders <tj@castaglia.org>
1679
1680	* contrib/dist/systemd/README.systemd,
1681	contrib/dist/systemd/proftpd.socket,
1682	contrib/dist/systemd/proftpd@.service: Bug#3661 - Support for
1683	systemd's "socket activation" mode.
1684
16852015-12-09  TJ Saunders <tj@castaglia.org>
1686
1687	* : Merge pull request #177 from proftpd/null-times-bug4136 Attempt to address/mitigate Bug#4136 by checking for null return
1688	valu…
1689
16902015-12-09  TJ Saunders <tj@castaglia.org>
1691
1692	* contrib/mod_sql.c: Removing unused variable/context.
1693
16942015-12-08  TJ Saunders <tj@castaglia.org>
1695
1696	* RELEASE_NOTES: Something more to mention in the release notes
1697	(Bug#4057, that is).
1698
16992015-12-08  TJ Saunders <tj@castaglia.org>
1700
1701	* : Merge pull request #176 from
1702	proftpd/tls-memcache-using-json-bug4057 Bug#4057 - Support using JSON when storing TLS session information
1703	in memcached
1704
17052015-12-08  TJ Saunders <tj@castaglia.org>
1706
1707	* contrib/mod_ban.c: While working on Bug#4057, I encountered some
1708	memory-handling issues with the work for Bug#4056; these are the
1709	fixes.
1710
17112015-12-08  TJ Saunders <tj@castaglia.org>
1712
1713	* .gitignore: Another form of temporary file to ignore, please.
1714
17152015-12-08  TJ Saunders <tj@castaglia.org>
1716
1717	* NEWS, contrib/mod_tls_memcache.c,
1718	doc/contrib/mod_tls_memcache.html, include/memcache.h,
1719	src/memcache.c,
1720	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm: Bug#4057:
1721	Support using JSON when storing TLS session information in
1722	memcached.
1723
17242015-12-08  TJ Saunders <tj@castaglia.org>
1725
1726	* : commit 6e34ab4c8132c3b8b87e60ab116e40a2b0aae3be Author: TJ
1727	Saunders <tj@castaglia.org> Date:   Tue Dec 8 08:20:51 2015 -0800
1728
17292015-12-08  TJ Saunders <tj@castaglia.org>
1730
1731	* src/signals.c: Minor tweaks (build warnings, error checking) for
1732	obtaining stacktraces on Mac OSX.
1733
17342015-12-08  TJ Saunders <tj@castaglia.org>
1735
1736	* : Merge pull request #175 from
1737	proftpd/ban-memcache-using-json-bug4056 Bug#4056: Use JSON when storing ban information in memcached
1738
17392015-12-07  TJ Saunders <tj@castaglia.org>
1740
1741	* contrib/mod_ban.c, include/memcache.h, src/memcache.c,
1742	tests/t/lib/ProFTPD/Tests/Modules/mod_ban/memcache.pm,
1743	utils/ftpwho.c: Finish the regression tests for Bug#4056.  This also
1744	involved adding some necessary cleanup (lessons learned!) in ftpwho.
1745
17462015-12-07  TJ Saunders <tj@castaglia.org>
1747
1748	* contrib/mod_ban.c: Some cached ban rules might never expire; these
1749	can be added using ftpdctl.  Make sure that mod_ban does not purge
1750	the rules when checking for expired cache entries.
1751
17522015-12-07  TJ Saunders <tj@castaglia.org>
1753
1754	* contrib/mod_ban.c, doc/contrib/mod_ban.html, src/memcache.c:
1755	Implement the code for supporting Bug#4056, and update the mod_ban
1756	docs accordingly.
1757
17582015-12-04  TJ Saunders <tj@castaglia.org>
1759
1760	* RELEASE_NOTES: Flesh out the release notes, preparing for a
1761	release.
1762
17632015-12-04  TJ Saunders <tj@castaglia.org>
1764
1765	* tests/api/misc.c: Remove troublesome assertion, for now.
1766
17672015-12-04  TJ Saunders <tj@castaglia.org>
1768
1769	* tests/api/misc.c: Trying to get this persnickety test to pass.
1770	Sheesh.
1771
17722015-12-04  TJ Saunders <tj@castaglia.org>
1773
1774	* tests/api/misc.c: Fix test failures by ensuring that localtime(3)
1775	returns GMT data.
1776
17772015-12-04  TJ Saunders <tj@castaglia.org>
1778
1779	* tests/api/misc.c: Adding test coverage of the check_shutmsg()
1780	support routine.
1781
17822015-12-04  TJ Saunders <tj@castaglia.org>
1783
1784	* utils/ftpshut.c: Stylistic nits in the ftpshut utility; no
1785	functional change.
1786
17872015-12-04  TJ Saunders <tj@castaglia.org>
1788
1789	* tests/api/display.c: Properly test the SEND_NOW and NO_EOM display
1790	flags.
1791
17922015-12-04  TJ Saunders <tj@castaglia.org>
1793
1794	* src/support.c, tests/api/misc.c: More tests of the Support API;
1795	I'm sure more coverage is needed.
1796
17972015-12-04  TJ Saunders <tj@castaglia.org>
1798
1799	* tests/api/display.c: Cover more of the Display API via unit tests.
1800
18012015-12-04  TJ Saunders <tj@castaglia.org>
1802
1803	* include/support.h, src/main.c, src/support.c, tests/api/misc.c:
1804	Adding to the code coverage of the unit tests.
1805
18062015-12-04  TJ Saunders <tj@castaglia.org>
1807
1808	* tests/api/display.c: Tickle more of the code paths in the Display
1809	API in the unit tests.
1810
18112015-12-03  TJ Saunders <tj@castaglia.org>
1812
1813	* tests/api/misc.c: Fix broken test, seen by travis-ci.
1814
18152015-12-03  TJ Saunders <tj@castaglia.org>
1816
1817	* src/support.c, tests/api/misc.c: More unit tests, for more code
1818	coverage.
1819
18202015-12-03  TJ Saunders <tj@castaglia.org>
1821
1822	* src/support.c, tests/api/misc.c: Filling out more unit tests, in
1823	the name of code coverage.
1824
18252015-12-03  TJ Saunders <tj@castaglia.org>
1826
1827	* tests/Makefile.in, tests/api/misc.c, tests/api/tests.c,
1828	tests/api/tests.h: Start adding unit tests for the support API
1829	routines now pull in, to increase test coverage.
1830
18312015-12-03  TJ Saunders <tj@castaglia.org>
1832
1833	* src/support.c: Stylistic nits; no functional change.
1834
18352015-12-03  TJ Saunders <tj@castaglia.org>
1836
1837	* include/str.h, include/support.h, src/str.c, src/support.c,
1838	tests/api/str.c: With the addition of the src/support.c file to the
1839	unit tests, the test coverage has changed.  Thus work to get the
1840	coverage back up to par, which involves some good refactoring.
1841
18422015-12-03  TJ Saunders <tj@castaglia.org>
1843
1844	* src/display.c: Stylistic tweaks; no functional change.
1845
18462015-12-03  TJ Saunders <tj@castaglia.org>
1847
1848	* include/display.h, src/display.c, tests/Makefile.in,
1849	tests/api/display.c, tests/api/stubs.c, tests/api/tests.c,
1850	tests/api/tests.h: Start working on unit tests for the Display API.
1851
18522015-12-03  TJ Saunders <tj@castaglia.org>
1853
1854	* RELEASE_NOTES: Start updating release notes; more to be fleshed
1855	out.
1856
18572015-12-01  TJ Saunders <tj@castaglia.org>
1858
1859	* : Merge pull request #168 from
1860	proftpd/login-timeout-exceeded-log-level Change the log level for various timeouts (TimeoutLogin,
1861	TimeoutSessi…
1862
18632015-11-30  TJ Saunders <tj@castaglia.org>
1864
1865	* : Merge pull request #172 from
1866	proftpd/core-masqueradeaddress-resolved-later-bug4104 Bug#4104 - Handle MasqueradeAddress resolution errors due to startup
18671868
18692015-11-30  TJ Saunders <tj@castaglia.org>
1870
1871	* tests/api/netaddr.c: Make sure to add a unit test for the specific
1872	errno value, when a DNS name cannot be resolved (Bug#4104).
1873
18742015-11-30  TJ Saunders <tj@castaglia.org>
1875
1876	* NEWS, RELEASE_NOTES: Update NEWS, release notes for this feature.
1877
18782015-11-30  TJ Saunders <tj@castaglia.org>
1879
1880	* contrib/mod_dynmasq.c, tests/t/modules/mod_dynmasq.t,
1881	tests/tests.pl: Add regression tests for the mod_dynmasq module,
1882	ensuring that it handles the delayed-resolution DNS names for
1883	MasqueradeAddress properly (Bug#4104).
1884
18852015-11-30  TJ Saunders <tj@castaglia.org>
1886
1887	* src/session.c,
1888	tests/t/lib/ProFTPD/Tests/Config/MasqueradeAddress.pm: Adding
1889	regression test for Bug#4104.
1890
18912015-11-28  TJ Saunders <tj@castaglia.org>
1892
1893	* contrib/mod_dynmasq.c, modules/mod_core.c, src/dirtree.c,
1894	src/display.c, src/main.c, src/netaddr.c, src/session.c: Bug#4104 -
1895	Handle MasqueradeAddress resolution errors due to startup sequences.
1896
18972015-11-28  TJ Saunders <tj@castaglia.org>
1898
1899	* contrib/mod_sftp/kbdint.c: Remove now-unneeded cast.
1900
19012015-11-28  TJ Saunders <tj@castaglia.org>
1902
1903	* NEWS: Update NEWS with fix for Bug#4210.
1904
19052015-11-28  TJ Saunders <tj@castaglia.org>
1906
1907	* : Merge pull request #171 from
1908	proftpd/sftp-unbounded-extpair-bug4210 Bug#4210 - Avoid unbounded SFTP extended attribute key/values.
1909
19102015-11-28  TJ Saunders <tj@castaglia.org>
1911
1912	* contrib/mod_sftp/fxp.c: Bug#4210 - Avoid unbounded SFTP extension
1913	key/values.
1914
19152015-11-28  TJ Saunders <tj@castaglia.org>
1916
1917	* NEWS: Updating NEWS for fix for Bug#4209.
1918
19192015-11-28  TJ Saunders <tj@castaglia.org>
1920
1921	* : Merge pull request #170 from
1922	proftpd/core-zero-size-pool-malloc-bug4209 Bug#4209 - Zero-length memory allocation possible, with undefined
1923	res…
1924
19252015-11-28  TJ Saunders <tj@castaglia.org>
1926
1927	* src/pool.c: Bug#4209 - Zero-length memory allocation possible,
1928	with undefined results.
1929
19302015-11-15  TJ Saunders <tj@castaglia.org>
1931
1932	* : Merge pull request #169 from proftpd/tls-host-command Make the handling of the HOST command by mod_tls be more in line
1933	with…
1934
19352015-11-15  TJ Saunders <tj@castaglia.org>
1936
1937	* contrib/mod_tls.c: Minor trace logging for debugging.
1938
19392015-11-15  TJ Saunders <tj@castaglia.org>
1940
1941	* contrib/mod_sql_mysql.c: Stylistic tweaks; no functional change.
1942
19432015-11-15  TJ Saunders <tj@castaglia.org>
1944
1945	* contrib/mod_sql.c: Minor nit; no functional change.
1946
19472015-11-15  TJ Saunders <tj@castaglia.org>
1948
1949	* src/netio.c: Minor nits; no functional change.
1950
19512015-11-14  TJ Saunders <tj@castaglia.org>
1952
1953	* modules/mod_auth.c: Change the log level for various timeouts
1954	(TimeoutLogin, TimeoutSession) from NOTICE to INFO, given that these
1955	timeouts can be very frequent/common occurrences.
1956
19572015-11-14  TJ Saunders <tj@castaglia.org>
1958
1959	* doc/howto/index.html: Fix link to LogLevels howto.
1960
19612015-11-13  TJ Saunders <tj@castaglia.org>
1962
1963	* src/netio.c: If a stream has been marked as interruptible, then do
1964	not retry e.g. poll() when the system call is interrupted; return
1965	that error to the caller.
1966
19672015-11-12  TJ Saunders <tj@castaglia.org>
1968
1969	* include/bindings.h, modules/mod_core.c, src/bindings.c: During the
1970	implementing of HOST handling in mod_proxy, the integration tests
1971	there stumbled across a minor bug in the handling of HOST commands
1972	which pertain to several different vhosts on the same _address_, but
1973	on different ports.  We were not properly differentiating among
1974	these vhosts when looking for the one which had the requested HOST
1975	(or not).
1976
19772015-11-10  TJ Saunders <tj@castaglia.org>
1978
1979	* : Merge pull request #166 from
1980	proftpd/sftp-publickey-failed-login-logging Add more logging, via the normal auth logging channels, for when
1981	SFTP
1982
19832015-11-10  TJ Saunders <tj@castaglia.org>
1984
1985	* : commit 100e7f7ca1780ce2cab8b489768b76816794999c Author: TJ
1986	Saunders <tj@castaglia.org> Date:   Mon Nov 9 17:51:36 2015 -0800
1987
19882015-11-09  TJ Saunders <tj@castaglia.org>
1989
1990	* src/inet.c: Ignore "Bad file descriptor" errors when toggling
1991	Nagle on sockets.
1992
19932015-11-09  TJ Saunders <tj@castaglia.org>
1994
1995	* : Merge pull request #165 from
1996	proftpd/lang-segfault-postparse-bug4206 Attempt to Bug#4206 by speculatively fixing possible causes.  First,
19971998
19992015-10-28  TJ Saunders <tj@castaglia.org>
2000
2001	* modules/mod_lang.c: Attempt to Bug#4206 by speculatively fixing
2002	possible causes.  First, reset a static string (allocated out of a
2003	pool which is cleared on restart) to its default.  Next, remove some
2004	(useless) #ifdefs which, if mod_lang is built as a DSO/shared
2005	module, could cause problems on module loading IFF the system does
2006	not have the expected header.
2007
20082015-10-27  TJ Saunders <tj@castaglia.org>
2009
2010	* src/parser.c: Fix bug in parser, caused by refactoring.
2011
20122015-10-22  TJ Saunders <tj@castaglia.org>
2013
2014	* contrib/mod_tls.c: Fix compiler warning.
2015
20162015-10-14  TJ Saunders <tj@castaglia.org>
2017
2018	* : Merge pull request #159 from proftpd/sftp-fsetstat-bug4204 Attempt to mitigate/fix Bug#4204 by ensuring that the response lists
2019	are
2020
20212015-10-14  TJ Saunders <tj@castaglia.org>
2022
2023	* contrib/mod_sftp/fxp.c: When writing out a STATUS message, make
2024	sure to use the pool from the SFTP request, rather than the
2025	session's pool, as the latter could possibly be overused; this thus
2026	counts as a memory leak.
2027
20282015-10-13  TJ Saunders <tj@castaglia.org>
2029
2030	* : Merge pull request #163 from bverschueren/obsolete_timer_t_macro Remove HAVE_TIMER_T macro and timer_t detection mechanism
2031
20322015-10-07  TJ Saunders <tj@castaglia.org>
2033
2034	* .travis.yml: Turns out that running the api-tests executable again
2035	doesn't really increase the coverage of the Privs API as I'd
2036	expected.  Oh well.
2037
20382015-10-07  TJ Saunders <tj@castaglia.org>
2039
2040	* .travis.yml: I think that the `api-tests` executable needs to be
2041	run in the tests/ directory, so that the lcov stuff picks up the
2042	files.
2043
20442015-10-07  TJ Saunders <tj@castaglia.org>
2045
2046	* .travis.yml: Run just the privs-related unit tests as root, for
2047	better test code coverage.
2048
20492015-10-07  TJ Saunders <tj@castaglia.org>
2050
2051	* contrib/mod_sftp/fxp.c: Make sure that the errno value from a
2052	failed pr_fsio_write() call is properly propagated/used.
2053
20542015-10-07  TJ Saunders <tj@castaglia.org>
2055
2056	* tests/api/privs.c: Remove unneeded setting of trace logging to
2057	STDERR.
2058
20592015-10-06  TJ Saunders <tj@castaglia.org>
2060
2061	* tests/api/scoreboard.c: Attempt to fix spurious test failures.
2062
20632015-10-06  TJ Saunders <tj@castaglia.org>
2064
2065	* tests/api/scoreboard.c: Refactor the Scoreboard testing code to be
2066	more in line with the rest of the styling.  Added coverage of more
2067	fields when updating scoreboard entries.
2068
20692015-10-05  TJ Saunders <tj@castaglia.org>
2070
2071	* tests/api/scoreboard.c: Cover more of pr_scoreboard_entry_get(),
2072	and note what needs to be done for pr_scoreboard_entry_update().
2073
20742015-10-04  TJ Saunders <tj@castaglia.org>
2075
2076	* include/scoreboard.h, src/scoreboard.c, tests/api/scoreboard.c:
2077	Refactor the other portion of locking code in the Scoreboard API,
2078	that for locking entries, into a common testable function.
2079
20802015-10-04  TJ Saunders <tj@castaglia.org>
2081
2082	* include/scoreboard.h, src/scoreboard.c, tests/api/scoreboard.c:
2083	Refactor some of the scoreboard locking code to avoid code
2084	duplication, and make it possible to test via unit tests.  There's
2085	more such refactoring to do here.
2086
20872015-10-04  TJ Saunders <tj@castaglia.org>
2088
2089	* tests/api/auth.c: Tickle the "authenticated/authorized/checked via
2090	RFC2228" code paths.
2091
20922015-10-04  TJ Saunders <tj@castaglia.org>
2093
2094	* tests/api/auth.c, tests/api/data.c, tests/api/modules.c: Fixed
2095	some typos, tried to cover a few more edge cases.
2096
20972015-10-04  TJ Saunders <tj@castaglia.org>
2098
2099	* src/modules.c, tests/api/data.c, tests/api/modules.c: Testing more
2100	code paths.
2101
21022015-10-04  TJ Saunders <tj@castaglia.org>
2103
2104	* tests/api/data.c, tests/api/stubs.c, tests/api/tests.h: Simulate
2105	receiving control commands during a data transfer, for more test
2106	coverage.
2107
21082015-10-04  TJ Saunders <tj@castaglia.org>
2109
2110	* tests/api/data.c: Add test coverage for reading data via
2111	pr_data_xfer().
2112
21132015-10-04  TJ Saunders <tj@castaglia.org>
2114
2115	* src/data.c, tests/api/configdb.c, tests/api/data.c,
2116	tests/api/netacl.c: Refactor some of the too-large pr_data_xfer()
2117	function, to make it easier to read (and test).  Start working on
2118	unit tests for this function, too.
2119
21202015-10-04  TJ Saunders <tj@castaglia.org>
2121
2122	* tests/api/configdb.c: Much better exercising of the mergedown
2123	functionality.
2124
21252015-10-04  TJ Saunders <tj@castaglia.org>
2126
2127	* tests/api/configdb.c, tests/api/stash.c: Working on exercising
2128	more of the config lookup code.
2129
21302015-10-04  TJ Saunders <tj@castaglia.org>
2131
2132	* src/stash.c, tests/api/encode.c, tests/api/stash.c: Eking out ever
2133	more test coverage, bit by bit.
2134
21352015-10-03  TJ Saunders <tj@castaglia.org>
2136
2137	* src/auth.c, src/encode.c, tests/api/auth.c, tests/api/encode.c:
2138	Increased code coverage for the Auth and Encode APIs.
2139
21402015-10-03  TJ Saunders <tj@castaglia.org>
2141
2142	* src/response.c, tests/api/response.c: The response unit tests
2143	would fail if the TEST_VERBOSE environment variable was set; now
2144	fixed.  Also added some sanity checking for null format strings for
2145	pr_response_add() and pr_response_add_err(), for paranoia.
2146
21472015-10-03  TJ Saunders <tj@castaglia.org>
2148
2149	* : Merge pull request #162 from
2150	proftpd/tls-no-mlock-for-empty-passphrase If there is no passphrase needed for a certificate, then do not
2151	bother
2152
21532015-09-30  TJ Saunders <tj@castaglia.org>
2154
2155	* : Merge pull request #161 from
2156	orthographic-pedant/spell_check/administrator Fixed typographical error, changed adminstrator to administrator in
2157	README.
2158
21592015-09-30  TJ Saunders <tj@castaglia.org>
2160
2161	* README.md: Add a few more badges.
2162
21632015-09-29  TJ Saunders <tj@castaglia.org>
2164
2165	* contrib/mod_sftp/fxp.c: Attempt to mitigate/fix Bug#4204 by
2166	ensuring that the response lists are cleared after each dispatching.
2167
21682015-09-29  TJ Saunders <tj@castaglia.org>
2169
2170	* : Merge pull request #158 from proftpd/exec-max-fd-count Limit the maximum number of fds closed by mod_exec when executing an
21712172
21732015-09-28  TJ Saunders <tj@castaglia.org>
2174
2175	* src/configdb.c, tests/api/configdb.c: Tickling a few more branches
2176	in the Config API.
2177
21782015-09-28  TJ Saunders <tj@castaglia.org>
2179
2180	* src/fsio.c, src/inet.c, tests/api/inet.c: Removing unneeded code
2181	paths.  Covering more of the Inet API with more testing.
2182
21832015-09-28  TJ Saunders <tj@castaglia.org>
2184
2185	* tests/api/fsio.c: Cover more of the pr_fsio_access() code paths.
2186
21872015-09-28  TJ Saunders <tj@castaglia.org>
2188
2189	* src/netaddr.c, tests/api/netaddr.c: Flesh out the remaining
2190	Netaddr API unit tests.
2191
21922015-09-28  TJ Saunders <tj@castaglia.org>
2193
2194	* tests/api/netaddr.c: Cover the pr_netaddr_v6tov4() function in the
2195	tests, too.
2196
21972015-09-28  TJ Saunders <tj@castaglia.org>
2198
2199	* tests/api/inet.c: Try covering more error paths in the Inet API.
2200
22012015-09-28  TJ Saunders <tj@castaglia.org>
2202
2203	* src/fsio.c, tests/api/fsio.c: Trying to get coverage of the FSIO
2204	API higher.
2205
22062015-09-27  TJ Saunders <tj@castaglia.org>
2207
2208	* contrib/mod_exec.c: Limit the maximum number of fds closed by
2209	mod_exec when executing an external program, regardless of the
2210	platform.
2211
22122015-09-27  TJ Saunders <tj@castaglia.org>
2213
2214	* tests/api/fsio.c: Easy addition for covering of the --enable-devel
2215	FSIO API.
2216
22172015-09-27  TJ Saunders <tj@castaglia.org>
2218
2219	* src/configdb.c, tests/api/configdb.c: Covering more of the Config
2220	API.
2221
22222015-09-27  TJ Saunders <tj@castaglia.org>
2223
2224	* src/fsio.c, tests/api/fsio.c: Covering more of the FSIO API.
2225
22262015-09-26  TJ Saunders <tj@castaglia.org>
2227
2228	* src/regexp.c, tests/api/regexp.c: Increase coverage of POSIX regex
2229	handling in the Regexp API.
2230
22312015-09-26  TJ Saunders <tj@castaglia.org>
2232
2233	* tests/api/configdb.c: Cover a little more of the Config API.
2234
22352015-09-26  TJ Saunders <tj@castaglia.org>
2236
2237	* src/auth.c, tests/api/auth.c: Testing the handling of -1 UID/GIDs
2238	turned up a small bug, where the Auth API was not setting errno
2239	appropriately.
2240
22412015-09-26  TJ Saunders <tj@castaglia.org>
2242
2243	* tests/api/fsio.c: Test the cases where multiple FSes are
2244	inserted/removed.
2245
22462015-09-26  TJ Saunders <tj@castaglia.org>
2247
2248	* tests/api/fsio.c: Cover more of the FSIO API, too.
2249
22502015-09-26  TJ Saunders <tj@castaglia.org>
2251
2252	* tests/api/trace.c: Make sure we test the handling of the "DEFAULT"
2253	trace channel, too.
2254
22552015-09-26  TJ Saunders <tj@castaglia.org>
2256
2257	* src/trace.c: If the channel name is null, then it cannot be
2258	removed from the trace table of channels, can it?
2259
22602015-09-26  TJ Saunders <tj@castaglia.org>
2261
2262	* src/trace.c, tests/api/stubs.c, tests/api/trace.c: Tickle a few
2263	more code paths in the Trace API.
2264
22652015-09-26  TJ Saunders <tj@castaglia.org>
2266
2267	* src/log.c: Be more paranoid about handling of possible directories
2268	as log files, including the "/" case.
2269
22702015-09-26  TJ Saunders <tj@castaglia.org>
2271
2272	* tests/api/trace.c: More Trace test coverage.
2273
22742015-09-26  TJ Saunders <tj@castaglia.org>
2275
2276	* tests/api/data.c: Fix unit test broken in travis-ci environment.
2277
22782015-09-26  TJ Saunders <tj@castaglia.org>
2279
2280	* include/data.h, src/data.c, tests/api/data.c: Attempt to write
2281	tests for pr_data_sendfile(), covering more of its code paths.
2282
22832015-09-26  TJ Saunders <tj@castaglia.org>
2284
2285	* src/netio.c, tests/api/event.c, tests/api/netio.c: Finish
2286	implementing the NetIO unit tests.
2287
22882015-09-25  TJ Saunders <tj@castaglia.org>
2289
2290	* tests/api/event.c: One more tweak for the Event API unit test
2291	coverage.
2292
22932015-09-25  TJ Saunders <tj@castaglia.org>
2294
2295	* tests/api/event.c: More coverage of the Event API code paths.
2296
22972015-09-25  TJ Saunders <tj@castaglia.org>
2298
2299	* tests/api/auth.c: Fix unit test failing in travis-ci environment.
2300
23012015-09-25  TJ Saunders <tj@castaglia.org>
2302
2303	* config.h.in, configure, configure.in, include/fsio.h, src/fsio.c,
2304	tests/api/fsio.c: Finish fleshing out the FSIO API unit tests.  This
2305	required adding a new pr_fsio_fsync() function (and its own test),
2306	for flushing data to disk for subsequent reading.
2307
23082015-09-25  TJ Saunders <tj@castaglia.org>
2309
2310	* src/fsio.c, tests/api/fsio.c: More coverage for the FSIO API,
2311	please.
2312
23132015-09-25  TJ Saunders <tj@kiban.io>
2314
2315	* tests/api/fsio.c, tests/api/trace.c: Quell compiler warnings, fix
2316	unit test failing in travis-ci environment.
2317
23182015-09-25  TJ Saunders <tj@kiban.io>
2319
2320	* tests/api/fsio.c: Fix failing unit test.
2321
23222015-09-25  TJ Saunders <tj@kiban.io>
2323
2324	* src/fsio.c, tests/api/fsio.c: Adding coverage for more functions
2325	in the FSIO API; still more to be done here.
2326
23272015-09-24  TJ Saunders <tj@kiban.io>
2328
2329	* tests/api/parser.c: When testing the function for parsing files,
2330	load enough of a module's directive handling to test those paths,
2331	too.
2332
23332015-09-24  Castaglian <tj@kiban.io>
2334
2335	* src/configdb.c, tests/api/configdb.c, tests/api/regexp.c: More
2336	test coverage, served up hot.
2337
23382015-09-24  Castaglian <tj@kiban.io>
2339
2340	* src/parser.c, src/trace.c, tests/api/parser.c, tests/api/trace.c:
2341	Fix some of the Parser API tests, and try to cover more of the Trace
2342	API.
2343
23442015-09-24  Castaglian <tj@kiban.io>
2345
2346	* tests/api/netaddr.c: Use 'www.google.com' as a well-known DNS name
2347	that has multiple IP addresses.
2348
23492015-09-24  Castaglian <tj@kiban.io>
2350
2351	* src/parser.c, tests/api/netaddr.c, tests/api/parser.c: Filling in
2352	more unit tests here and there, tickling more code paths, extending
2353	coverage.
2354
23552015-09-24  Castaglian <tj@kiban.io>
2356
2357	* tests/api/auth.c: Fix tests on travis-ci.
2358
23592015-09-24  Castaglian <tj@kiban.io>
2360
2361	* include/modules.h, src/main.c, src/modules.c, tests/api/modules.c:
2362	Testing more of the Modules API.
2363
23642015-09-24  Castaglian <tj@kiban.io>
2365
2366	* src/auth.c, tests/api/auth.c: More unit testing of the Auth API.
2367	Fixed one bug with the handling of the FL_AUTH_MODULE caching flag
2368	(yay unit tests!).
2369
23702015-09-24  Castaglian <tj@kiban.io>
2371
2372	* src/pool.c, tests/api/parser.c, tests/api/pool.c: Extend test
2373	coverage of the Pool API.
2374
23752015-09-24  Castaglian <tj@kiban.io>
2376
2377	* include/parser.h, modules/mod_auth_unix.c, modules/mod_core.c,
2378	src/main.c, src/parser.c, tests/api/parser.c: Fixing up compiler
2379	warnings.  Fixed the API for parsing a single line of text so that
2380	it is actually _useful_ for callers outside of
2381	pr_parser_parse_file().  Added more unit tests for parsing.
2382
23832015-09-24  Castaglian <tj@kiban.io>
2384
2385	* src/auth.c, tests/api/auth.c: Extend test coverage of the Auth
2386	API.
2387
23882015-09-24  TJ Saunders <tj@castaglia.org>
2389
2390	* tests/api/fsio.c: Properly test the eviction of expired
2391	fs.statcache entries.
2392
23932015-09-24  TJ Saunders <tj@castaglia.org>
2394
2395	* src/fsio.c, tests/api/fsio.c, tests/api/tests.c: And yet more unit
2396	tests for the FSIO API.
2397
23982015-09-23  TJ Saunders <tj@castaglia.org>
2399
2400	* tests/Makefile.in, tests/api/privs.c, tests/api/tests.c,
2401	tests/api/tests.h: Start working on unit tests for the Privs API
2402	directly.
2403
24042015-09-23  TJ Saunders <tj@castaglia.org>
2405
2406	* tests/api/regexp.c: Flesh out more of the Regexp API unit tests.
2407
24082015-09-23  Castaglian <tj@kiban.io>
2409
2410	* tests/api/data.c: The travis-ci environment yields slightly
2411	different (but still OK) errno values.
2412
24132015-09-23  Castaglian <tj@kiban.io>
2414
2415	* include/configdb.h, src/data.c, tests/api/data.c,
2416	tests/api/stubs.c: Add some NULL checks, for e.g. unit tests.  Flesh
2417	out more Data API unit tests.
2418
24192015-09-22  TJ Saunders <tj@kiban.io>
2420
2421	* src/data.c, tests/api/data.c: Start working on unit tests for the
2422	Data API.
2423
24242015-09-22  TJ Saunders <tj@kiban.io>
2425
2426	* README.md, tests/api/fsio.c: Tweak README.  Fix unit test failing
2427	only in travis-ci.
2428
24292015-09-22  TJ Saunders <tj@kiban.io>
2430
2431	* src/fsio.c, tests/api/fsio.c: Fleshing out more FSIO tests; more
2432	to come.
2433
24342015-09-22  TJ Saunders <tj@kiban.io>
2435
2436	* tests/api/str.c: Fix failing test on this Yosemite MacOSX machine,
2437	due to not NUL-terminating the source buffer in a sstrcat test.
2438
24392015-09-22  TJ Saunders <tj@kiban.io>
2440
2441	* src/pool.c: Quell compiler warnings about pointer
2442	arithmetic/casts; first seen on this version of Mac OSX (Yosemite).
2443
24442015-09-21  TJ Saunders <tj@castaglia.org>
2445
2446	* README.md: Minor tweaks to README; no functional changes.
2447
24482015-09-21  TJ Saunders <tj@castaglia.org>
2449
2450	* .travis.yml: Fix typo in travis-ci config file.
2451
24522015-09-21  TJ Saunders <tj@castaglia.org>
2453
2454	* .travis.yml, src/inet.c, tests/api/configdb.c, tests/api/inet.c:
2455	Let's see/hope that these additions get us over the 50% mark for
2456	test coverage.
2457
24582015-09-20  TJ Saunders <tj@castaglia.org>
2459
2460	* src/parser.c, src/scoreboard.c, tests/api/cmd.c,
2461	tests/api/event.c, tests/api/parser.c, tests/api/scoreboard.c,
2462	tests/api/trace.c: Working toward getting at least 50% unit test
2463	coverage.
2464
24652015-09-20  TJ Saunders <tj@castaglia.org>
2466
2467	* src/netio.c, tests/api/netio.c, tests/api/timers.c: More unit
2468	tests, Cooky!
2469
24702015-09-20  TJ Saunders <tj@castaglia.org>
2471
2472	* modules/mod_lang.c, tests/Makefile.in, tests/api/configdb.c,
2473	tests/api/encode.c, tests/api/parser.c, tests/api/tests.c,
2474	tests/api/tests.h: Adding more unit tests to increase the test
2475	coverage.
2476
24772015-09-20  TJ Saunders <tj@castaglia.org>
2478
2479	* src/netio.c, tests/api/netio.c, tests/api/response.c: More work on
2480	the unit tests, trying to expand on the test coverage.  Doing so
2481	found a few small bugs in the NetIO code.  Yay Coveralls!
2482
24832015-09-20  TJ Saunders <tj@castaglia.org>
2484
2485	* README.md: Add a badge for the Coveralls coverage status.
2486
24872015-09-20  TJ Saunders <tj@castaglia.org>
2488
2489	* .travis.yml: Let's see how Coveralls does for us, shall we?
2490
24912015-09-20  TJ Saunders <tj@castaglia.org>
2492
2493	* configure, configure.in: Support a 'coverage' option for the
2494	--enable-devel compile-time option, for enabling test coverage
2495	generation/reporting.
2496
24972015-09-11  TJ Saunders <tj@castaglia.org>
2498
2499	* : Merge pull request #154 from proftpd/ldap-libldap-tracing Enable more tracing of mod_ldap's operations by hooking into the
2500	LDAP…
2501
25022015-08-30  tjsaunders <tj@lyveminds.com>
2503
2504	* doc/license.txt: Update license header years.
2505
25062015-08-30  tjsaunders <tj@lyveminds.com>
2507
2508	* doc/contrib/mod_ldap.html: Update the mod_ldap docs to actually
2509	match the code now, folding in the changes mentioned in README.LDAP.
2510
25112015-08-30  tjsaunders <tj@lyveminds.com>
2512
2513	* contrib/mod_ldap.c: Make this directive handler name match the
2514	directive name, for consistency.
2515
25162015-08-26  tjsaunders <tj@lyveminds.com>
2517
2518	* NEWS: Update NEWS for fix for Bug#4202.
2519
25202015-08-26  TJ Saunders <tj@castaglia.org>
2521
2522	* : Merge pull request #152 from proftpd/facts-mlsd-crlf-bug4202 Bug#4202 - MLSD lines not properly terminated with CRLF.
2523
25242015-08-26  tjsaunders <tj@lyveminds.com>
2525
2526	* : commit 62a4e24dcc37204168896ea35f379a1c0b952ff0 Author:
2527	tjsaunders <tj@lyveminds.com> Date:   Thu Aug 20 13:59:55 2015 -0700
2528
25292015-08-20  tjsaunders <tj@lyveminds.com>
2530
2531	* modules/mod_xfer.c: There are a few conditions under which we
2532	don't really need to log about failing to set the corking socket
2533	option.
2534
25352015-08-18  tjsaunders <tj@lyveminds.com>
2536
2537	* NEWS: Update NEWS with mention of fix for Bug#4201.
2538
25392015-08-18  TJ Saunders <tj@castaglia.org>
2540
2541	* : Merge pull request #150 from
2542	proftpd/sftp-scp-hiddenstores-cleanup-bug4201 Bug#4201 - HiddenStores temporary files not removed when exceeding
2543	qu…
2544
25452015-08-17  tjsaunders <tj@lyveminds.com>
2546
2547	* contrib/mod_dnsbl/configure, contrib/mod_dnsbl/configure.in,
2548	contrib/mod_load/configure, contrib/mod_load/configure.in,
2549	contrib/mod_sftp/configure, contrib/mod_sftp/configure.in,
2550	contrib/mod_snmp/configure, contrib/mod_snmp/configure.in,
2551	contrib/mod_wrap2/configure, contrib/mod_wrap2/configure.in: Reorder
2552	the header/function checks in the module configure scripts, so that
2553	they happen after processing --with-includes and --with-libraries
2554	command-line options.  While this doesn't fix any current issue, it
2555	does set a better example for future modules; this was a problem for
2556	the e.g. mod_proxy configure script.
2557
25582015-08-16  tjsaunders <tj@lyveminds.com>
2559
2560	* .gitattributes: Add manual overrides, to stop mis-representing the
2561	language used for ProFTPD and its modules.
2562
25632015-08-16  tjsaunders <tj@lyveminds.com>
2564
2565	* src/main.c: Add note to future self, about handling DisplayConnect
2566	properly for denied connections.
2567
25682015-08-16  TJ Saunders <tj@castaglia.org>
2569
2570	* : Merge pull request #151 from proftpd/extlog-speedup ExtendedLog speedup by avoiding redundant strlen(3) calls
2571
25722015-08-16  tjsaunders <tj@lyveminds.com>
2573
2574	* lib/sstrncpy.c, modules/mod_log.c,
2575	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Speed up
2576	ExtendedLog writing by removing redundant strlen(3) calls on the
2577	logged string, and instead simply tracking the return values from
2578	snprintf et al.  Note that to do this, the sstrncpy() semantics needed to be
2579	consistent, which means NOT using strcpy(3); we want sstrncpy() to
2580	return the number of bytes actually copied, not what WOULD have been
2581	copied.
2582
25832015-08-16  tjsaunders <tj@lyveminds.com>
2584
2585	* contrib/mod_tls.c, modules/mod_log.c,
2586	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fixed some
2587	regressions with handling of the DELE command's argument, and with
2588	mod_tls tagging the PASS command as a SEC logging class (when it
2589	should not).
2590
25912015-08-16  tjsaunders <tj@lyveminds.com>
2592
2593	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Checking in
2594	regression test for Bug#4199.
2595
25962015-08-15  tjsaunders <tj@lyveminds.com>
2597
2598	* configure, configure.in: Update the -pthread/OpenSSL check, to
2599	catch regressions of Bug#3975 on e.g FreeBSD platforms, where the
2600	`openssl version` command doesn't emit the expected flags.
2601
26022015-08-15  tjsaunders <tj@lyveminds.com>
2603
2604	* : commit 006b1f73db9421ca653c5b545765ee6b6893ff6d Author:
2605	tjsaunders <tj@lyveminds.com> Date:   Sat Aug 15 12:40:35 2015 -0700
2606
26072015-08-15  tjsaunders <tj@lyveminds.com>
2608
2609	* contrib/mod_sftp/scp.c: Make sure that we delete the HiddenStores
2610	file on SCP upload when either write(2) or close(2) fails; we were
2611	handling close(2) failures, but not write(2) failures properly.
2612
26132015-08-15  tjsaunders <tj@lyveminds.com>
2614
2615	* : commit d99edbb036cba1269352e66f6c89b26c502b58dd Author:
2616	tjsaunders <tj@lyveminds.com> Date:   Fri Aug 14 10:47:04 2015 -0700
2617
26182015-08-13  tjsaunders <tj@lyveminds.com>
2619
2620	* contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
2621	contrib/mod_sftp/mod_sftp.c: Fix regression for SSH2 logins,
2622	introduced by the changes for handling the optional 'comments' field
2623	in the initial version exchange.  The initial version (exactly as
2624	sent) need to be used in the session ID/hash; the previous changes
2625	were trimming off the optional comment field, thus causing server
2626	and client to calculate different session IDs.
2627
26282015-08-13  tjsaunders <tj@lyveminds.com>
2629
2630	* contrib/mod_sftp/scp.c: Bug#4201 - HiddenStores temporary files
2631	not removed when exceeding quota using SCP.  Make sure to clean up the HiddenStores temporary file when there was
2632	an error, either when writing OR when closing the HiddenStores file
2633	(as when quota is exceeded).
2634
26352015-08-13  tjsaunders <tj@lyveminds.com>
2636
2637	* contrib/mod_sftp/kex.c: Remove some unnecessary casts; fix a minor
2638	memory leak on error conditions.
2639
26402015-08-12  tjsaunders <tj@lyveminds.com>
2641
2642	* src/main.c, src/signals.c: Clear out the EINTR errno value in a
2643	few more places.
2644
26452015-08-12  tjsaunders <tj@lyveminds.com>
2646
2647	* src/main.c: Make sure to clear out any cached errno, too.
2648
26492015-08-12  tjsaunders <tj@lyveminds.com>
2650
2651	* modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm:
2652	Checkpointing work on investigating a possible regression with
2653	regard to MLSD line formatting, i.e.  missing proper CRLF
2654	terminations.
2655
26562015-08-12  tjsaunders <tj@lyveminds.com>
2657
2658	* src/main.c: Make sure to clear any possibly-cached errno value in
2659	the main select() loop.
2660
26612015-08-10  tjsaunders <tj@lyveminds.com>
2662
2663	* src/timers.c: Style nit; no functional change.
2664
26652015-08-10  tjsaunders <tj@lyveminds.com>
2666
2667	* src/trace.c, tests/api/trace.c: Some tweaks to the Trace API,
2668	trying to reduce redundancy.
2669
26702015-08-10  tjsaunders <tj@lyveminds.com>
2671
2672	* src/parser.c, tests/api/etc/str/utf8-space.txt, tests/api/str.c:
2673	If we fail to parse some configuration directives, check for any
2674	non-ASCII characters in the directive name.  This recently tripped
2675	me up with diagnosing a broken system; now check for, and log, such
2676	things.
2677
26782015-08-10  tjsaunders <tj@lyveminds.com>
2679
2680	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Update integration
2681	test, broken by change for Bug#3990.
2682
26832015-08-10  TJ Saunders <tj@castaglia.org>
2684
2685	* : Merge pull request #149 from proftpd/core-ptr-cast Address some pointer cast alignment issues by defining the
2686	cmd_rec.ar2687
26882015-08-10  tjsaunders <tj@lyveminds.com>
2689
2690	* modules/mod_cap.c: See what happens when you change your mind
2691	about variable names partway through? Sigh.
2692
26932015-08-10  tjsaunders <tj@lyveminds.com>
2694
2695	* modules/mod_core.c: Quell a few more compiler warnings about
2696	pointer casts.
2697
26982015-08-10  tjsaunders <tj@lyveminds.com>
2699
2700	* lib/tpl.c: Remove unused variables.
2701
27022015-08-10  tjsaunders <tj@lyveminds.com>
2703
2704	* contrib/mod_sql_passwd.c, modules/mod_cap.c: Fixing some build
2705	issues/warnings.
2706
27072015-08-10  tjsaunders <tj@lyveminds.com>
2708
2709	* src/main.c: Quell another compiler warning about pointer casts.
2710
27112015-08-10  tjsaunders <tj@lyveminds.com>
2712
2713	* contrib/mod_copy.c, contrib/mod_deflate.c, contrib/mod_exec.c,
2714	contrib/mod_ifsession.c, contrib/mod_ifversion.c,
2715	contrib/mod_ldap.c, contrib/mod_log_forensic.c,
2716	contrib/mod_quotatab.c, contrib/mod_quotatab_sql.c,
2717	contrib/mod_radius.c, contrib/mod_readme.c, contrib/mod_rewrite.c,
2718	contrib/mod_sftp/auth-hostbased.c, contrib/mod_sftp/auth-kbdint.c,
2719	contrib/mod_sftp/auth-password.c,
2720	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
2721	contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
2722	contrib/mod_sftp/scp.c, contrib/mod_sftp_sql.c,
2723	contrib/mod_shaper.c, contrib/mod_site_misc.c,
2724	contrib/mod_snmp/mod_snmp.c, contrib/mod_sql.c, contrib/mod_tls.c,
2725	contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2_sql.c,
2726	include/dirtree.h, include/proftpd.h, lib/json.c,
2727	modules/mod_auth.c, modules/mod_auth_file.c,
2728	modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_ctrls.c,
2729	modules/mod_dso.c, modules/mod_facts.c, modules/mod_log.c,
2730	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
2731	src/cmd.c, src/data.c, src/dirtree.c, src/main.c, src/parser.c,
2732	tests/t/lib/ProFTPD/Tests/Config/Order.pm: Address some pointer cast
2733	alignment issues by defining the cmd_rec.argv member to be "void
2734	**", rather than "char **".  Void pointers are guaranteed to be
2735	large enough to hold pointers to anything, where as char pointers
2736	are not.  And we sometimes stash non-char data in the cmd_rec.argv
2737	area.  This looks like a fair amount of code churn; mostly it's addressing
2738	compiler warnings by providing explicit casts to char * in most
2739	places (e.g. logging) where the variadic function cannot easily tell
2740	the type.
2741
27422015-08-09  tjsaunders <tj@lyveminds.com>
2743
2744	* contrib/mod_sftp/kex.c: For some reason, the ordering in which the
2745	logging of the NEWKEYS command makes a difference.  I suspect it's
2746	the order/amount of memory read out of the pool.  By logging NEWKEYS
2747	after setting the session keys, some rather strange behaviors are
2748	alleviated.
2749
27502015-08-09  tjsaunders <tj@lyveminds.com>
2751
2752	* contrib/mod_sftp/auth.c: Fix possible segfault (due to null
2753	pointer) when the SSH2 authentication method succeeds, but
2754	subsequent login fails.
2755
27562015-08-08  TJ Saunders <tj@castaglia.org>
2757
2758	* tests/api/str.c: Slightly better demonstration of
2759	pr_str_get_word()'s handling of quoted strings.
2760
27612015-08-08  TJ Saunders <tj@castaglia.org>
2762
2763	* : Merge pull request #148 from proftpd/tls-shutdown-buffering When shutting down the TLS session, we need to send a 'close_notify'
27642765
27662015-08-07  tjsaunders <tj@lyveminds.com>
2767
2768	* NEWS: Update NEWS for fix for Bug#4198.
2769
27702015-08-07  TJ Saunders <tj@castaglia.org>
2771
2772	* : Merge pull request #147 from proftpd/facts-cdir-bug4198 Bug#4198 - MLSD/MLST fact type "cdir" is incorrectly used for the
2773	current working directory.
2774
27752015-08-06  tjsaunders <tj@lyveminds.com>
2776
2777	* contrib/mod_tls.c, doc/contrib/mod_tls.html: Provide an
2778	environment variable for the requested SNI, if present.
2779
27802015-08-06  tjsaunders <tj@lyveminds.com>
2781
2782	* contrib/mod_tls.c, doc/contrib/mod_tls.html: Provide an
2783	environment variable for the requested SNI, if present.
2784
27852015-08-06  tjsaunders <tj@lyveminds.com>
2786
2787	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
2788	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Checking in the
2789	accompanying regression tests for Bug#4198.
2790
27912015-08-06  tjsaunders <tj@lyveminds.com>
2792
2793	* modules/mod_facts.c: Bug#4198 - MLSD/MLST fact type "cdir" is
2794	incorrectly used for the current working directory.
2795
27962015-08-05  tjsaunders <tj@lyveminds.com>
2797
2798	* modules/mod_xfer.c: Better handling of errno values when adjusting
2799	process priorities.
2800
28012015-08-05  tjsaunders <tj@lyveminds.com>
2802
2803	* tests/api/rlimit.c: Missed a couple of RLimit test cases needing
2804	the conditional check.
2805
28062015-08-05  tjsaunders <tj@lyveminds.com>
2807
2808	* contrib/mod_rewrite.c, contrib/mod_wrap2_file.c,
2809	contrib/mod_wrap2_sql.c: Quell more compiler warnings about shadowed
2810	global variables.
2811
28122015-08-05  tjsaunders <tj@lyveminds.com>
2813
2814	* tests/api/filter.c: Add some additional assertions to quell
2815	compiler warnings about unused variables (and make the tests
2816	better).
2817
28182015-08-05  tjsaunders <tj@lyveminds.com>
2819
2820	* tests/api/rlimit.c: Fixing up platform-sensitive tests for e.g.
2821	travis-ci builds.
2822
28232015-08-05  tjsaunders <tj@lyveminds.com>
2824
2825	* tests/api/netio.c: Removing unused variable.
2826
28272015-08-05  tjsaunders <tj@lyveminds.com>
2828
2829	* contrib/mod_sql_postgres.c: Quell compiler warning about shadowed
2830	global variable; stylistic nits.  No functional change.
2831
28322015-08-05  tjsaunders <tj@lyveminds.com>
2833
2834	* contrib/mod_deflate.c: Forgot to update mod_deflate for the
2835	changed NetIO API signature change.
2836
28372015-08-05  tjsaunders <tj@lyveminds.com>
2838
2839	* src/scoreboard.c: Quell compiler warning about unreached function
2840	call.
2841
28422015-08-05  tjsaunders <tj@lyveminds.com>
2843
2844	* tests/Makefile.in, tests/api/env.c, tests/api/help.c,
2845	tests/api/rlimit.c, tests/api/tests.c, tests/api/tests.h: Adding API
2846	tests for the RLimit API.  Adding forgotten Help API tests.
2847
28482015-08-05  tjsaunders <tj@lyveminds.com>
2849
2850	* src/help.c: Fix the terminating condition for adding help items;
2851	the previous end-of-loop condition was too fragile, and not
2852	accurate.
2853
28542015-08-05  tjsaunders <tj@lyveminds.com>
2855
2856	* src/help.c, src/response.c, tests/Makefile.in,
2857	tests/api/response.c, tests/api/tests.c, tests/api/tests.h: Added
2858	some tests for the Help API, which sussed out a few very minor
2859	issues.
2860
28612015-08-04  tjsaunders <tj@lyveminds.com>
2862
2863	* contrib/mod_tls.c: Fix a few nits in the PSK handling; no
2864	functional change.
2865
28662015-08-04  tjsaunders <tj@lyveminds.com>
2867
2868	* src/dirtree.c: When checking limits, make sure that we actually
2869	have an authenticated user/ group before checking for
2870	per-user/per-group limits.  With modules such as mod_proxy, this may
2871	not always be true.
2872
28732015-08-03  tjsaunders <tj@lyveminds.com>
2874
2875	* contrib/mod_sftp/mod_sftp.c: Make the ban messages emitted to SSH2
2876	clients a little more descriptive.
2877
28782015-08-03  tjsaunders <tj@lyveminds.com>
2879
2880	* src/log.c: If the DebugLevel directive is used to set the debug
2881	level to anything higher than 0, then automatically assume that the
2882	SyslogLevel is DEBUG, not NOTICE.  This helps in debugging
2883	configurations.
2884
28852015-08-03  tjsaunders <tj@lyveminds.com>
2886
2887	* src/trace.c: Turns out that the trace logging code needs the same
2888	over-long log line handling fixes as the main logging code.
2889
28902015-08-03  tjsaunders <tj@lyveminds.com>
2891
2892	* src/log.c: Better handling of over-long log lines.
2893
28942015-08-03  tjsaunders <tj@lyveminds.com>
2895
2896	* src/log.c: Increase (and fix the handling of) the max log line
2897	length.
2898
28992015-08-03  tjsaunders <tj@lyveminds.com>
2900
2901	* doc/contrib/mod_tls.html: Some minor updates to the mod_tls docs.
2902
29032015-08-02  tjsaunders <tj@lyveminds.com>
2904
2905	* contrib/mod_tls.c: When cleaning up OpenSSL-related code, mod_tls
2906	needs to know that mod_proxy also uses OpenSSL (and thus should skip
2907	cleanup if that module is in use).
2908
29092015-07-31  tjsaunders <tj@lyveminds.com>
2910
2911	* contrib/mod_tls.c: Fix logging of selected ALPN.
2912
29132015-07-30  tjsaunders <tj@lyveminds.com>
2914
2915	* contrib/mod_tls.c, include/netio.h, src/netio.c: Allow modules
2916	registering NetIO objects to customise the registered NetIO owner
2917	name, if they wish.
2918
29192015-07-28  tjsaunders <tj@lyveminds.com>
2920
2921	* contrib/mod_tls.c: Fixed a few nits in the cert-checking routine.
2922
29232015-07-28  tjsaunders <tj@lyveminds.com>
2924
2925	* contrib/mod_tls.c: We retrieved the data connection SSL object too
2926	early.
2927
29282015-07-28  tjsaunders <tj@lyveminds.com>
2929
2930	* contrib/mod_tls.c: Fix some timing-related trace logging.
2931
29322015-07-28  tjsaunders <tj@lyveminds.com>
2933
2934	* doc/contrib/mod_tls.html: Mention, in the TLSSessionCache
2935	description, that mod_tls aggressively prunes its session cache of
2936	expired sessions by flushing the cache on each session exit.
2937
29382015-07-28  tjsaunders <tj@lyveminds.com>
2939
2940	* contrib/mod_tls.c: Handle the edge cases where TLS read/write
2941	returns negative values; we don't want that to artificially affect
2942	the total raw IO values.
2943
29442015-07-28  tjsaunders <tj@lyveminds.com>
2945
2946	* NEWS: Update NEWS with fix for Bug#4097.
2947
29482015-07-28  TJ Saunders <tj@castaglia.org>
2949
2950	* : Merge pull request #45 from
2951	proftpd/sftp-small-rsa-hostkey-rekeying-bug4097 Bug#4097 -  SSH rekey fails when using RSA hostkey smaller than 2048
2952	bits.
2953
29542015-07-27  TJ Saunders <tj@castaglia.org>
2955
2956	* : Merge pull request #145 from proftpd/ascii-oob-read-bug4195 Bug#4195 - Handle empty string inputs into ASCII CRLF translation
2957	rou…
2958
29592015-07-26  tjsaunders <tj@lyveminds.com>
2960
2961	* src/ascii.c: Bug#4195 - Handle empty string inputs into ASCII CRLF
2962	translation routine.
2963
29642015-07-25  TJ Saunders <tj@castaglia.org>
2965
2966	* : Merge pull request #144 from
2967	proftpd/fsio-dircat-oob-read-bug4194 Bug#4194: Add more checks for empty paths in pr_fs_dircat().
2968
29692015-07-25  tjsaunders <tj@lyveminds.com>
2970
2971	* contrib/mod_tls.c: Fix broken build by including the necessary
2972	OpenSSL header.
2973
29742015-07-25  tjsaunders <tj@lyveminds.com>
2975
2976	* src/fsio.c, tests/api/fsio.c: If either of the arguments to
2977	pr_fs_dircat() are empty strings, be consistent and append a "/"
2978	character, just as is done when BOTH arguments are empty strings.
2979
29802015-07-25  tjsaunders <tj@lyveminds.com>
2981
2982	* src/fsio.c, tests/api/fsio.c: Bug#4194: Add more checks for empty
2983	paths in pr_fs_dircat().
2984
29852015-07-25  tjsaunders <tj@lyveminds.com>
2986
2987	* contrib/mod_tls.c: Better handling, when logging OpenSSL
2988	diagnostics, of the protocol record callbacks.
2989
29902015-07-25  TJ Saunders <tj@castaglia.org>
2991
2992	* : Merge pull request #143 from proftpd/tests-oob-read-bug4193 Bug#4193 - Out of bounds read in tests/api/str.c.
2993
29942015-07-25  tjsaunders <tj@lyveminds.com>
2995
2996	* tests/api/ascii.c: Fix previous stupidity.
2997
29982015-07-25  tjsaunders <tj@lyveminds.com>
2999
3000	* tests/api/ascii.c, tests/api/cmd.c: Quell some compiler warnings
3001	in the unit tests, spotted while still trying to figure out why
3002	travis-ci tests are failing (but they pass locally).
3003
30042015-07-25  tjsaunders <tj@lyveminds.com>
3005
3006	* tests/api/ascii.c: Triaging a failing unit test in travis-ci.
3007
30082015-07-25  tjsaunders <tj@lyveminds.com>
3009
3010	* tests/api/str.c: Bug#4193 - Out of bounds read in tests/api/str.c.
3011
30122015-07-25  tjsaunders <tj@lyveminds.com>
3013
3014	* contrib/mod_tls.c: Tweaking/polishing the OpenSSL msg/info
3015	callbacks.
3016
30172015-07-25  tjsaunders <tj@lyveminds.com>
3018
3019	* doc/contrib/mod_ban.html: Remove duplicate/extraneous slash in
3020	example config.
3021
30222015-07-25  tjsaunders <tj@lyveminds.com>
3023
3024	* doc/contrib/mod_ban.html: Minor tweak.
3025
30262015-07-24  tjsaunders <tj@lyveminds.com>
3027
3028	* : commit 4776466b62889dee9a67171c6dbd317822191595 Author:
3029	tjsaunders <tj@lyveminds.com> Date:   Fri Jul 24 13:41:12 2015 -0700
3030
30312015-07-24  tjsaunders <tj@lyveminds.com>
3032
3033	* modules/mod_log.c: Require a non-zero length LogFormat name.
3034
30352015-07-24  tjsaunders <tj@lyveminds.com>
3036
3037	* modules/mod_log.c: Slightly better handling of using the default
3038	LogFormat, without necessarily blocking configs that want to
3039	use/override the "default" nickname themselves.
3040
30412015-07-24  tjsaunders <tj@lyveminds.com>
3042
3043	* modules/mod_log.c: Fix the registration of the "default"
3044	LogFormat.
3045
30462015-07-24  tjsaunders <tj@lyveminds.com>
3047
3048	* doc/howto/TLS.html: Adding TLS FAQ, from forums, about
3049	TLSVerifyDepth.
3050
30512015-07-23  tjsaunders <tj@lyveminds.com>
3052
3053	* modules/mod_core.c: Better string handling, to make localization
3054	easier.
3055
30562015-07-23  tjsaunders <tj@lyveminds.com>
3057
3058	* contrib/mod_tls.c: Fix the handling of OpenSSL's
3059	SSL_SESS_CACHE_OFF value (which is 0x0, and thus not usable for the
3060	bit-checking mod_tls was doing).  Enhance the trace logging around TLS handshaking.
3061
30622015-07-23  tjsaunders <tj@lyveminds.com>
3063
3064	* src/inet.c: Be a little more paranoid in pr_inet_close(), and only
3065	try to destroy a non-NULL pool pointer.  (Although destroy_pool()
3066	does a NULL check, so this is more for clarity than anything else.)
3067
30682015-07-22  tjsaunders <tj@lyveminds.com>
3069
3070	* include/netio.h, src/netio.c: Include the direction/mode of the
3071	stream in the NetIO trace messages.
3072
30732015-07-22  tjsaunders <tj@lyveminds.com>
3074
3075	* modules/mod_core.c: Tweaks to the handling of HOST commands in
3076	relation to FTPS.  Stylistic nits.
3077
30782015-07-22  tjsaunders <tj@lyveminds.com>
3079
3080	* contrib/mod_tls.c, include/cmd.h, src/cmd.c: Add missing
3081	PR_CMD_HOST_ID value, and use it in e.g. mod_tls, to allow the HOST
3082	command before AUTH is used.
3083
30842015-07-22  tjsaunders <tj@lyveminds.com>
3085
3086	* src/netio.c: Add trace logging of which custom (or not) NetIO is
3087	being used for the network operations.
3088
30892015-07-21  tjsaunders <tj@lyveminds.com>
3090
3091	* src/pool.c: Allow unregistering of any/all cleanups by handling a
3092	NULL callback value.
3093
30942015-07-21  tjsaunders <tj@lyveminds.com>
3095
3096	* contrib/mod_tls.c: Quell some compiler warnings, and propagate
3097	errno appropriately in some cases.
3098
30992015-07-20  tjsaunders <tj@lyveminds.com>
3100
3101	* src/response.c: Add some trace logging for when the Response API
3102	is blocked, for debugging.
3103
31042015-07-20  tjsaunders <tj@lyveminds.com>
3105
3106	* include/pool.h, src/pool.c, tests/api/array.c: Create an
3107	array_cat2() function which provides a nice return value;
3108	array_cat() then just becomes a void wrapper around array_cat2().
3109
31102015-07-19  TJ Saunders <tj@castaglia.org>
3111
3112	* src/netaddr.c: If the caller wants to know all of the addresses
3113	resolved via pr_netaddr_get_addr(), then actually walk all of the
3114	struct addrinfo values provided by getaddrinfo(3) and provision the
3115	caller-provided list.
3116
31172015-07-19  TJ Saunders <tj@castaglia.org>
3118
3119	* src/table.c: Stylistic nits; no functional changes.
3120
31212015-07-19  TJ Saunders <tj@castaglia.org>
3122
3123	* doc/contrib/mod_sftp.html: Minor tweaks/updates to the mod_sftp
3124	docs.
3125
31262015-07-18  TJ Saunders <tj@castaglia.org>
3127
3128	* doc/modules/mod_core.html: Typos.
3129
31302015-07-18  TJ Saunders <tj@castaglia.org>
3131
3132	* doc/contrib/mod_snmp.html: Update the mod_snmp docs as to where
3133	the most recent code for mod_snmp can be found.
3134
31352015-07-18  TJ Saunders <tj@castaglia.org>
3136
3137	* include/netaddr.h, src/ftpdctl.c, src/netaddr.c,
3138	tests/api/netaddr.c: Add new Netaddr API functions for clearing
3139	specific cached IP addresses, DNS names, as opposed to entire
3140	caches.
3141
31422015-07-17  tjsaunders <tj@lyveminds.com>
3143
3144	* doc/modules/mod_auth_unix.html: Add mod_auth_unix FAQ about
3145	`passwd -d' and password-less logins.
3146
31472015-07-17  TJ Saunders <tj@castaglia.org>
3148
3149	* contrib/mod_sftp/mod_sftp.c: Style nit; no functional change.
3150
31512015-07-17  tjsaunders <tj@lyveminds.com>
3152
3153	* contrib/mod_sftp/kex.c: Add some trace logging into the function
3154	which determines the DH size to request, for debugging.
3155
31562015-07-17  tjsaunders <tj@lyveminds.com>
3157
3158	* : commit aabf243ce6b52e6817509922d4889dd7e6cd63d4 Author:
3159	tjsaunders <tj@lyveminds.com> Date:   Fri Jul 17 10:36:08 2015 -0700
3160
31612015-07-17  TJ Saunders <tj@castaglia.org>
3162
3163	* : Merge pull request #142 from proftpd/mysql-utf8-bug4191 Bug#4191 - Use "utf8mb4" for MySQL, not just "utf8", if the version
3164	of
3165
31662015-07-16  tjsaunders <tj@lyveminds.com>
3167
3168	* include/log.h, include/options.h, src/xferlog.c: Make the default
3169	mode for the TransferLog be a PR_TUNABLE option.
3170
31712015-07-15  TJ Saunders <tj@castaglia.org>
3172
3173	* contrib/mod_sql_mysql.c: Bug#4191 - Use "utf8mb4" for MySQL, not
3174	just "utf8", if the version of MySQL is new enough, for UTF8
3175	encodings.
3176
31772015-07-11  TJ Saunders <tj@castaglia.org>
3178
3179	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/mod_sftp.c,
3180	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_tls.c: I was going to
3181	provide configuration directives, for mod_tls and mod_sftp, to
3182	configure the path to the OpenSSL .cnf file that should be used.
3183	Due to the initialization timing, though, this is a path to do via
3184	configuration directives.  Instead, I will simply document the use
3185	of the SetEnv directive, and setting the OPENSSL_CONF environment
3186	variable, in conjunction with adding calls to OPENSSL_config(3) in
3187	these respective modules.
3188
31892015-07-09  TJ Saunders <tj@castaglia.org>
3190
3191	* contrib/mod_sftp/crypto.c, contrib/mod_tls.c: Use the OpenSSL
3192	config file; it's probably used by the configured ENGINE.
3193
31942015-07-07  TJ Saunders <tj@castaglia.org>
3195
3196	* configure, configure.in: Adding a few more compiler warnings, when
3197	--enable-devel is used.
3198
31992015-07-07  TJ Saunders <tj@castaglia.org>
3200
3201	* modules/mod_auth_pam.c: Finally clean up compiler warnings which
3202	had been bugging me for quite a while.
3203
32042015-07-07  TJ Saunders <tj@castaglia.org>
3205
3206	* contrib/mod_sftp/fxp.c: Quell some compiler warnings.
3207
32082015-07-07  TJ Saunders <tj@castaglia.org>
3209
3210	* contrib/mod_sftp/kex.c: When computing the size of the DH needed,
3211	we also need to pay attention to the negotiated cipher block sizes,
3212	not just the cipher key lengths.
3213
32142015-07-07  TJ Saunders <tj@castaglia.org>
3215
3216	* contrib/mod_sftp/kex.c: Remove now-unused macro value.
3217
32182015-07-07  TJ Saunders <tj@castaglia.org>
3219
3220	* doc/contrib/mod_sftp_sql.html: Remove now-unused keywords.
3221
32222015-07-07  TJ Saunders <tj@castaglia.org>
3223
3224	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Minor tweaks
3225	when testing out some use cases.
3226
32272015-07-07  TJ Saunders <tj@castaglia.org>
3228
3229	* contrib/mod_sftp/keystore.c: Fix the trace log message when
3230	handling SFTPAuthorizedUserKeys to properly include the store type.
3231
32322015-07-07  TJ Saunders <tj@castaglia.org>
3233
3234	* contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
3235	contrib/mod_sftp/service.c,
3236	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: When constructing the
3237	cmd_recs, do it properly, so that ExtendedLog entries, e.g. for the
3238	%r variable, log the request properly.  The cmd_recs allocated did
3239	not set the correct cmd_rec.argc value.
3240
32412015-07-07  TJ Saunders <tj@castaglia.org>
3242
3243	* contrib/mod_sftp_sql.c: Remove extraneous (and misleading) trace
3244	logging.
3245
32462015-07-02  TJ Saunders <tj@castaglia.org>
3247
3248	* src/dirtree.c: Found a place where we should have been using
3249	"_bind_", not just "_bind".
3250
32512015-07-01  TJ Saunders <tj@castaglia.org>
3252
3253	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: More testsuite help when
3254	writing out subsections of e.g. <IfModule> config sections.
3255
32562015-07-01  TJ Saunders <tj@castaglia.org>
3257
3258	* : Merge pull request #141 from proftpd/core-class-add-note Add a function for attaching notes to a class, e.g. from a config
3259	dir…
3260
32612015-07-01  TJ Saunders <tj@castaglia.org>
3262
3263	* contrib/mod_sftp/kex.c: Always make sure we're using this kex's
3264	pool, not the overall Kex API pool, to prevent memory leaks.
3265
32662015-06-30  tjsaunders <tj@lyveminds.com>
3267
3268	* : commit 98541b4a198b3f49721bd8a7d6d1894e52981623 Author:
3269	tjsaunders <tj@lyveminds.com> Date:   Tue Jun 30 10:06:54 2015 -0700
3270
32712015-06-30  TJ Saunders <tj@castaglia.org>
3272
3273	* contrib/mod_sftp/mod_sftp.c,
3274	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Be more
3275	defensive/picky about the client version string handling from
3276	connecting SSH2 clients.
3277
32782015-06-29  TJ Saunders <tj@castaglia.org>
3279
3280	* contrib/mod_sftp/fxp.c: Impose a limit of 512K on the size of a
3281	single SFTP packet.  For comparison, OpenSSH imposes a 256K limit.
3282
32832015-06-29  TJ Saunders <tj@castaglia.org>
3284
3285	* contrib/mod_sftp/fxp.c: Impose a limit (much higher than ever
3286	expected) on the number of EXTENDED attributes that we'll read from
3287	an SFTP client.
3288
32892015-06-29  TJ Saunders <tj@castaglia.org>
3290
3291	* contrib/mod_sftp/fxp.c: Be more consistent about the handling of
3292	errno values, especially across function calls.
3293
32942015-06-29  tjsaunders <tj@lyveminds.com>
3295
3296	* RELEASE_NOTES: Update release notes to mention SFTP hardlink
3297	extension support.
3298
32992015-06-29  TJ Saunders <tj@castaglia.org>
3300
3301	* : Merge pull request #140 from proftpd/sftp-hardlink-extension Support the SFTP "hardlink@openssh.com" extension.
3302
33032015-06-29  tjsaunders <tj@lyveminds.com>
3304
3305	* RELEASE_NOTES: Update release notes for LINK_COUNT SFTP STAT
3306	support.
3307
33082015-06-29  TJ Saunders <tj@castaglia.org>
3309
3310	* : Merge pull request #139 from proftpd/sftp-hardlink-stat-attr Support the SFTP STAT link-count attribute if clients are using a
3311	new…
3312
33132015-06-26  TJ Saunders <tj@castaglia.org>
3314
3315	* configure, configure.in: More tweaks to the module build summary
3316	display, to properly display shared modules.
3317
33182015-06-26  TJ Saunders <tj@castaglia.org>
3319
3320	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4153.
3321
33222015-06-26  TJ Saunders <tj@castaglia.org>
3323
3324	* : Merge pull request #137 from proftpd/sftp-multi-auth-bug4153 Bug#4153 - Support requiring multiple SSH authentication methods
3325
33262015-06-26  tjsaunders <tj@lyveminds.com>
3327
3328	* : commit 250ec7f47628c1eb0b518b1311b709860c78ba0e Author:
3329	tjsaunders <tj@lyveminds.com> Date:   Fri Jun 26 13:04:34 2015 -0700
3330
33312015-06-26  TJ Saunders <tj@castaglia.org>
3332
3333	* : Merge pull request #138 from
3334	proftpd/tls-protocol-exclusion-bug4189 Bug#4189 - Support protocol exclusion via TLSProtocol directive.
3335
33362015-06-25  tjsaunders <tj@lyveminds.com>
3337
3338	* : commit d77feab0d434db2273bc16074f75106646a17d90 Author:
3339	tjsaunders <tj@lyveminds.com> Date:   Thu Jun 25 15:28:11 2015 -0700
3340
33412015-06-25  tjsaunders <tj@lyveminds.com>
3342
3343	* : commit 4372ae9463913ca03ba24b6c15dd590699a5989d Author:
3344	tjsaunders <tj@lyveminds.com> Date:   Thu Jun 25 15:26:52 2015 -0700
3345
33462015-06-25  tjsaunders <tj@lyveminds.com>
3347
3348	* contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
3349	contrib/mod_sftp/mod_sftp.c: Guard against auth chains which are
3350	unsupportable, i.e. chains that have "password" or "hostbased"
3351	appearing multiple times.
3352
33532015-06-25  tjsaunders <tj@lyveminds.com>
3354
3355	* contrib/mod_sftp/auth-kbdint.c: Just as we require different
3356	publickey authentications, we now require different
3357	keyboard-interactive driver authentications in auth chains.
3358
33592015-06-24  TJ Saunders <tj@castaglia.org>
3360
3361	* contrib/mod_sftp/auth.h: Found another place to use auth "chain"
3362	instead of "list".
3363
33642015-06-24  TJ Saunders <tj@castaglia.org>
3365
3366	* contrib/mod_sftp/auth.c, contrib/mod_sftp/mod_sftp.c: Use "auth
3367	chain" terminology more consistently throughout the code.
3368
33692015-06-24  tjsaunders <tj@lyveminds.com>
3370
3371	* .gitignore: Ignore a few more file extensions.
3372
33732015-06-24  tjsaunders <tj@lyveminds.com>
3374
3375	* doc/contrib/mod_sftp.html: Update mod_sftp SFTPAuthMethods
3376	description for new auth chain syntax.
3377
33782015-06-24  tjsaunders <tj@lyveminds.com>
3379
3380	* contrib/mod_sftp/auth-hostbased.c,
3381	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
3382	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
3383	contrib/mod_sftp/auth.h, contrib/mod_sftp/mod_sftp.c,
3384	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Implemented checking
3385	of the configured auth chains at startup, to catch chains that use a
3386	method (e.g. "hostbased") that cannot be supported (e.g.  no
3387	SFTPAuthorizedHostKeys configured).  Implemented restriction that publickey authentication requests must
3388	use different keys; duplicate keys will be rejected.  This supports
3389	authentication chains such as "publickey+publickey".
3390
33912015-06-24  TJ Saunders <tj@castaglia.org>
3392
3393	* contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
3394	contrib/mod_sftp/mod_sftp.c: Use the term "auth chain" rather than
3395	"auth list", as "chain" is, in my mind, more accurate.
3396
33972015-06-24  TJ Saunders <tj@castaglia.org>
3398
3399	* contrib/mod_sftp/auth.c: Fix the handling of the next
3400	authentication methods in the chain.
3401
34022015-06-23  TJ Saunders <tj@castaglia.org>
3403
3404	* contrib/mod_sftp/auth.c, contrib/mod_sftp/mod_sftp.c: Catch
3405	unknown/unsupported authentication methods properly, and report them
3406	properly, too.
3407
34082015-06-23  TJ Saunders <tj@castaglia.org>
3409
3410	* contrib/mod_sftp/auth.c: Catch other misconfigurations such as
3411	double '+' characters in an SFTPAuthMethods list.
3412
34132015-06-23  TJ Saunders <tj@castaglia.org>
3414
3415	* contrib/mod_sftp/auth.c: Fix the check used for detecting trailing
3416	'+' characters in a SFTPAuthMethods list.
3417
34182015-06-23  TJ Saunders <tj@castaglia.org>
3419
3420	* contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
3421	contrib/mod_sftp/kbdint.h, contrib/mod_sftp/mod_sftp.c,
3422	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Checking in the bulk
3423	of the work needed for Bug#4153.  There is still a fair amount of
3424	testing to be done, but the initial tests are looking good.
3425
34262015-06-08  TJ Saunders <tj@castaglia.org>
3427
3428	* doc/modules/mod_auth.html, modules/mod_auth.c, src/regexp.c,
3429	tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm: Make it
3430	possible to use the AnonRejectPasswords directive to require
3431	email-like anonymous passwords.
3432
34332015-06-08  TJ Saunders <tj@castaglia.org>
3434
3435	* NEWS: Update NEWS for fix for Bug#4139.
3436
34372015-06-08  TJ Saunders <tj@castaglia.org>
3438
3439	* : Merge pull request #134 from
3440	proftpd/auth-allow-empty-password-bug4139 Bug#4139 - Support rejecting empty passwords.
3441
34422015-06-08  TJ Saunders <tj@castaglia.org>
3443
3444	* contrib/mod_ban.c, doc/contrib/mod_ban.html: Document the banning
3445	of hosts using empty passwords.
3446
34472015-06-08  TJ Saunders <tj@castaglia.org>
3448
3449	* RELEASE_NOTES, doc/modules/mod_auth.html, modules/mod_auth.c,
3450	tests/t/lib/ProFTPD/Tests/Logins.pm: Add integration tests and
3451	documentation.
3452
34532015-06-08  TJ Saunders <tj@castaglia.org>
3454
3455	* contrib/mod_ban.c, contrib/mod_sftp/auth-password.c,
3456	modules/mod_auth.c: Bug#4139 - Support rejecting empty passwords.
3457
34582015-06-08  TJ Saunders <tj@castaglia.org>
3459
3460	* NEWS: Updating NEWS for Bug#4151.
3461
34622015-06-08  TJ Saunders <tj@castaglia.org>
3463
3464	* : Merge pull request #132 from
3465	proftpd/data-ascii-conversion-bug4151 Bug#4151 - FTP ASCII mode conversion algorithm is painfully slow.
3466
34672015-06-08  TJ Saunders <tj@castaglia.org>
3468
3469	* Make.rules.in, include/ascii.h, include/data.h, src/ascii.c,
3470	src/data.c, tests/Makefile.in, tests/api/ascii.c, tests/api/data.c,
3471	tests/api/tests.c, tests/api/tests.h,
3472	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm, utils/utils.h: Refactor
3473	the ASCII CRLF handling code into its own API, unentangling it from
3474	the implementation of the data transfers.  This makes it much easier
3475	to unit test.  Added those unit tests, including a regression test for uploading a
3476	file as ASCII.
3477
34782015-06-05  TJ Saunders <tj@castaglia.org>
3479
3480	* : Merge pull request #133 from maytechnet/master Fix small copy/paste leftower
3481
34822015-06-04  TJ Saunders <tj@castaglia.org>
3483
3484	* include/data.h, src/data.c, tests/api/data.c: Make the FTP ASCII
3485	translation function symbols publicly visible, for accessing
3486	directly for unit testing.  Removed misleading comment; history is what git is for.  Moved
3487	potentially expensive pr_signals_handle() outside of the
3488	byte-copying loop; we will handle any potential SIGSEGV signals
3489	after the loop.
3490
34912015-06-04  TJ Saunders <tj@castaglia.org>
3492
3493	* tests/api/data.c: Not yet ready for these tests to be run.
3494
34952015-06-04  TJ Saunders <tj@castaglia.org>
3496
3497	* tests/Makefile.in, tests/api/data.c, tests/api/stubs.c,
3498	tests/api/tests.c, tests/api/tests.h: Start working on unit tests
3499	for the Data API.  This adds the build glue to do so; now to fill in
3500	the testcases.
3501
35022015-06-03  TJ Saunders <tj@castaglia.org>
3503
3504	* src/data.c: Bug#4151 - FTP ASCII mode conversion algorithm is
3505	painfully slow.
3506
35072015-06-03  TJ Saunders <tj@castaglia.org>
3508
3509	* NEWS: Updated NEWS for fix for Bug#4188.
3510
35112015-06-03  TJ Saunders <tj@castaglia.org>
3512
3513	* : Merge pull request #131 from proftpd/geoip-multi-expr-bug4188 Bug#4188 - Support filtering based on country code and regional code
3514	in
3515
35162015-06-03  TJ Saunders <tj@castaglia.org>
3517
3518	* NEWS: Update NEWS for fix for Bug#4167.
3519
35202015-06-03  TJ Saunders <tj@castaglia.org>
3521
3522	* : Merge pull request #98 from proftpd/core-crlf-in-path-bug4167 Bug#4167 - CR/LF characters are not supported in filenames.
3523
35242015-06-03  TJ Saunders <tj@castaglia.org>
3525
3526	* src/main.c: Typo in comment; no functional change.
3527
35282015-06-03  TJ Saunders <tj@castaglia.org>
3529
3530	* : commit 621000469e1f0b11486d2188f50eee87a33bb280 Author: TJ
3531	Saunders <tj@castaglia.org> Date:   Wed Jun 3 22:30:51 2015 -0700
3532
35332015-06-02  TJ Saunders <tj@castaglia.org>
3534
3535	* doc/contrib/mod_geoip.html: Update the mod_geoip documentation
3536	with FAQ describing the use case of Bug#4188.
3537
35382015-06-02  TJ Saunders <tj@castaglia.org>
3539
3540	* contrib/mod_geoip.c: Bug#4188 - Support filtering based on country
3541	code and regional code in mod_geoip.
3542
35432015-05-31  TJ Saunders <tj@castaglia.org>
3544
3545	* contrib/mod_sftp/interop.c: Per this forums post, at least one
3546	SSH2 client identifying itself as J2SSH does not support/handle
3547	rekey requests properly:   https://forums.proftpd.org/smf/index.php/topic,11757.0.html Thus add it to the builtin interop lists as a non-rekeying client.
3548
35492015-05-31  TJ Saunders <tj@castaglia.org>
3550
3551	* NEWS: Updated NEWS for fix of Bug#4187.
3552
35532015-05-31  TJ Saunders <tj@castaglia.org>
3554
3555	* : Merge pull request #129 from proftpd/geoip-table-loading-bug4187 Bug#4187 - mod_geoip does not load all of the GeoIPTables properly.
3556
35572015-05-30  TJ Saunders <tj@castaglia.org>
3558
3559	* contrib/mod_geoip.c: Bug#4187 - mod_geoip does not load all of the
3560	GeoIPTables properly.
3561
35622015-05-28  TJ Saunders <tj@castaglia.org>
3563
3564	* : Merge pull request #128 from proftpd/tls-adaptive-buffering Implement adaptive tuning of the TLS record/buffer size for data
3565	tran…
3566
35672015-05-27  TJ Saunders <tj@castaglia.org>
3568
3569	* doc/modules/mod_dso.html: Adding mod_dso FAQ, from the online
3570	forums.
3571
35722015-05-27  tjsaunders <tj@lyveminds.com>
3573
3574	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Update
3575	files for rc2 status.
3576
35772015-05-27  TJ Saunders <tj@castaglia.org>
3578
3579	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Warming up
3580	for a release of 1.3.6rc1.
3581
35822015-05-27  TJ Saunders <tj@castaglia.org>
3583
3584	* : Merge pull request #80 from proftpd/core-schmod-cifs-bug4134 Bug#4134 - Unable to create folders using FTP on a CIFS mounted
3585	share: "...
3586
35872015-05-25  TJ Saunders <tj@castaglia.org>
3588
3589	* RELEASE_NOTES, contrib/mod_sftp/kex.c,
3590	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in,
3591	doc/contrib/mod_sftp.html: Update mod_sftp to avoid weak DH groups,
3592	per Bug#4184.
3593
35942015-05-22  tjsaunders <tj@lyveminds.com>
3595
3596	* modules/mod_auth.c: Attempt to address Debian Bug#717235:   https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=717235
3597
35982015-05-22  tjsaunders <tj@lyveminds.com>
3599
3600	* configure, configure.in: Fix the build summary, so that it
3601	displays modules, like mod_sftp or mod_snmp, which have their own
3602	module directories.  Also skip the module listing if there are no
3603	static (or no shared) modules to list in the summary.
3604
36052015-05-22  tjsaunders <tj@lyveminds.com>
3606
3607	* RELEASE_NOTES: Mention the new ServerAlias directive in the
3608	release notes, too.
3609
36102015-05-22  tjsaunders <tj@lyveminds.com>
3611
3612	* NEWS, RELEASE_NOTES, doc/modules/mod_core.html: Update NEWS,
3613	release notes for HOST support.  Add docs for the new ServerAlias
3614	directive.
3615
36162015-05-22  TJ Saunders <tj@castaglia.org>
3617
3618	* : Merge pull request #126 from proftpd/core-host-cmd-bug3289 Bug#3289 - Support the HOST command
3619
36202015-05-22  TJ Saunders <tj@castaglia.org>
3621
3622	* doc/howto/TLS.html: Tweaks to the TLS FAQ for FZ.
3623
36242015-05-21  TJ Saunders <tj@castaglia.org>
3625
3626	* doc/howto/TLS.html: Add FAQs about FTPS connection issues with
3627	FileZilla, lftp to the TLS howto.
3628
36292015-05-21  TJ Saunders <tj@castaglia.org>
3630
3631	* : Merge pull request #125 from proftpd/tls-weak-dh-bug4184 Bug#4184 - Remove support for "weak" Diffie-Hellman groups.
3632
36332015-05-12  TJ Saunders <tj@castaglia.org>
3634
3635	* contrib/mod_tls.c: Nit.
3636
36372015-05-12  TJ Saunders <tj@castaglia.org>
3638
3639	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Adding regression test
3640	showing successful login to name-based vhost.
3641
36422015-05-04  TJ Saunders <tj@castaglia.org>
3643
3644	* : commit 8e6f14aa2f6141b632b48e1b063dde688cbeec62 Merge: 3b93982
3645	64f28f1 Author: TJ Saunders <tj@castaglia.org> Date:   Mon May 4
3646	19:34:33 2015 -0700
3647
36482015-05-01  TJ Saunders <tj@castaglia.org>
3649
3650	* : Merge pull request #124 from proftpd/tls-ssl-buffer-sizing Tweak the SSL write buffer/record sizes during TLS handshakes, to
3651	try to
3652
36532015-04-30  TJ Saunders <tj@castaglia.org>
3654
3655	* : Merge pull request #123 from proftpd/tls-npn-alpn Support/use the ALPN/NPN TLS extensions in mod_tls
3656
36572015-04-30  tjsaunders <tj@lyveminds.com>
3658
3659	* config.h.in, configure, configure.in, contrib/mod_tls.c: Add
3660	support for the NPN and ALPN extensions to mod_tls, to support any
3661	FTPS clients which might use these as heuristics for determining
3662	when to use TLS False Start (e.g. Chrome/Firefox).
3663
36642015-04-29  tjsaunders <tj@lyveminds.com>
3665
3666	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Tweaks.
3667
36682015-04-29  tjsaunders <tj@lyveminds.com>
3669
3670	* contrib/mod_tls.c: Stylistic nits, compiler warnings; no
3671	functional change.
3672
36732015-04-29  tjsaunders <tj@lyveminds.com>
3674
3675	* src/bindings.c: Fix null pointer derefence encountered during
3676	regression testing the HOST command.
3677
36782015-04-29  tjsaunders <tj@lyveminds.com>
3679
3680	* doc/howto/Tracing.html, src/modules.c, src/trace.c: Add a 'module'
3681	trace channel, for tracing the Module API.
3682
36832015-04-29  tjsaunders <tj@lyveminds.com>
3684
3685	* contrib/mod_tls.c, modules/mod_core.c: Implement handling of the
3686	TLS SNI extension, so that we can then double-check that (if used)
3687	against the provided HOST command (and vice versa).
3688
36892015-04-29  tjsaunders <tj@lyveminds.com>
3690
3691	* include/bindings.h, src/bindings.c: Fix bad merge.
3692
36932015-04-29  tjsaunders <tj@lyveminds.com>
3694
3695	* : commit 2bde9ba89eb007778a940f1eae60f2fd22102195 Author:
3696	tjsaunders <tj@lyveminds.com> Date:   Wed Apr 29 14:46:09 2015 -0700
3697
36982015-04-29  TJ Saunders <tj@castaglia.org>
3699
3700	* : Merge pull request #122 from proftpd/tls-session-reuse-bug4178 Bug#4178: When accepting a TLS connection for data transfers,
3701	disable th...
3702
37032015-04-28  tjsaunders <tj@lyveminds.com>
3704
3705	* src/data.c: Fix segfault due to null pointer dereference.
3706
37072015-04-28  tjsaunders <tj@lyveminds.com>
3708
3709	* contrib/mod_tls.c: Use the SSL options to work around a Safari
3710	ECDSA bug.
3711
37122015-04-27  TJ Saunders <tj@castaglia.org>
3713
3714	* contrib/mod_tls.c: Enable SSL session cache flushing on session
3715	exit, to keep that cache as groomed as possible.
3716
37172015-04-27  TJ Saunders <tj@castaglia.org>
3718
3719	* .gitignore: Ignore a few more files/paths.
3720
37212015-04-27  TJ Saunders <tj@castaglia.org>
3722
3723	* contrib/mod_tls.c: Style nits; no functional change.
3724
37252015-04-26  tjsaunders <tj@lyveminds.com>
3726
3727	* contrib/mod_tls.c: Refactor the random PSK generation code into a
3728	single helper function, for good style/DRY princicple.
3729
37302015-04-26  tjsaunders <tj@lyveminds.com>
3731
3732	* contrib/mod_tls.c: Fix the handling of the TLSECDHCurve directive.
3733
37342015-04-26  TJ Saunders <tj@castaglia.org>
3735
3736	* : Merge pull request #121 from proftpd/tls-psk-support Bug#4174 - Support for TLS-PSK (pre-shared keys)
3737
37382015-04-26  tjsaunders <tj@lyveminds.com>
3739
3740	* NEWS, RELEASE_NOTES, doc/contrib/mod_tls.html: Adding
3741	documentation for the new TLSPreSharedKey directive.
3742
37432015-04-26  tjsaunders <tj@lyveminds.com>
3744
3745	* contrib/mod_tls.c: Finish implementing TLS-PSK support.
3746
37472015-04-25  tjsaunders <tj@lyveminds.com>
3748
3749	* : commit 569ebe9163e7d5cedcbf54215ced625a77aeab6b Merge: 9f1078f
3750	46c8a0c Author: TJ Saunders <tj@castaglia.org> Date:   Sat Apr 25
3751	19:30:49 2015 -0700
3752
37532015-04-25  tjsaunders <tj@lyveminds.com>
3754
3755	* doc/contrib/mod_tls.html: Improve the TLSECDHCurve docs by
3756	including the openssl command to use, to see the full list of
3757	supported curves.
3758
37592015-04-25  tjsaunders <tj@lyveminds.com>
3760
3761	* contrib/mod_tls.c: Make sure that mod_tls compiles properly when
3762	using OpenSSL-1.0.2 or later.
3763
37642015-04-25  tjsaunders <tj@lyveminds.com>
3765
3766	* contrib/mod_tls.c, doc/contrib/mod_tls.html: Better error
3767	reporting if the configured curve name isn't known.  Add TLSOption
3768	for disabling auto-ECDH negotiation behavior, as a future-proof
3769	safety switch.
3770
37712015-04-25  tjsaunders <tj@lyveminds.com>
3772
3773	* RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: Add a
3774	new TLSECDHCurve directive, for specifying the curve to use for
3775	ECDHE ciphers.
3776
37772015-04-25  tjsaunders <tj@lyveminds.com>
3778
3779	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#3125.
3780
37812015-04-25  TJ Saunders <tj@castaglia.org>
3782
3783	* : Merge pull request #119 from proftpd/facl-macosx-bug3125 Bug#3125 - Support for Mac OS X implementation of POSIX ACLs.
3784
37852015-04-25  TJ Saunders <tj@castaglia.org>
3786
3787	* contrib/mod_tls.c: Only log a trace message about adjusting the DH
3788	parameter length if we indeed to adjust/change the length.
3789
37902015-04-24  TJ Saunders <tj@castaglia.org>
3791
3792	* contrib/mod_tls.c: Properly handle multiple TLSDHParamFiles, if
3793	configured.  Adjust the DH parameter length to be the size of the RSA/DSA private
3794	key, for greater strength, rather than using the given length (which
3795	will only ever be 512 or 1024 bits, even for 2048-bit server
3796	certs/keys).  If OpenSSL-1.0.2 or later are used, automatically negotiate the best
3797	EC, rather than always falling back to the prime256v1 group.
3798
37992015-04-22  TJ Saunders <tj@castaglia.org>
3800
3801	* src/privs.c: Change the logging priority based on errno
3802	consistently.
3803
38042015-04-20  TJ Saunders <tj@castaglia.org>
3805
3806	* : Merge pull request #118 from proftpd/core-stash-remove-symbol Add symbol type-specific remove functions, for use by modules (e.g.
3807	mod_...
3808
38092015-04-19  TJ Saunders <tj@castaglia.org>
3810
3811	* doc/howto/FXP.html, doc/modules/mod_core.html: Update references
3812	in FXP howto to point to local mod_core docs, and add the missing
3813	descriptions to the mod_core docs.
3814
38152015-04-19  TJ Saunders <tj@castaglia.org>
3816
3817	* doc/howto/Directory.html, doc/modules/mod_core.html: Add
3818	description of AllowOverride directive, and fix up the Directory
3819	howto to point to that description.
3820
38212015-04-19  TJ Saunders <tj@castaglia.org>
3822
3823	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Fix
3824	mod_sftp+mod_rewrite tests for Mac OSX.
3825
38262015-04-16  TJ Saunders <tj@castaglia.org>
3827
3828	* doc/howto/LogMessages.html: Fix nits in LogMessages doc.
3829
38302015-04-15  tjsaunders <tj@lyveminds.com>
3831
3832	* README.md: Add links/badges for Travis, Coverity.
3833
38342015-04-15  TJ Saunders <tj@castaglia.org>
3835
3836	* : Merge pull request #116 from rk295/patch-1 Changed the version string to reflect 1.3.6rc1
3837
38382015-04-15  Gildásio Júnior <gildasio97@gmail.com>
3839
3840	* README, README.md: Update and rename README to README.md 1. Use md extention because use markdown sintaxe; 2. Update in some sections with markdown "tags"
3841
38422015-04-14  Robin Kearney <robin@kearney.co.uk>
3843
3844	* contrib/dist/rpm/proftpd.spec: Changed the version string to
3845	reflect 1.3.6rc1
3846
38472015-04-12  TJ Saunders <tj@castaglia.org>
3848
3849	* contrib/mod_sftp/fxp.c: Clear the statcache appropriately for
3850	READLINK requests.  Add a note for my future self to NOT make the
3851	mistake of using a resolved path (again) when making a call to
3852	readlink(2).
3853
38542015-04-12  TJ Saunders <tj@castaglia.org>
3855
3856	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix a few more
3857	tests for running on a Mac OSX.
3858
38592015-04-12  TJ Saunders <tj@castaglia.org>
3860
3861	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
3862	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm,
3863	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
3864	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: More fixing up
3865	of tests.
3866
38672015-04-12  TJ Saunders <tj@castaglia.org>
3868
3869	* tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
3870	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
3871	tests/t/lib/ProFTPD/Tests/Commands/OPTS.pm,
3872	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
3873	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
3874	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm,
3875	tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
3876	tests/t/lib/ProFTPD/Tests/Config/FactsOptions.pm,
3877	tests/t/lib/ProFTPD/Tests/Config/Limit/RMD.pm,
3878	tests/t/lib/ProFTPD/Tests/Config/MaxClients.pm,
3879	tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm,
3880	tests/t/lib/ProFTPD/Tests/Config/Umask.pm,
3881	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fixing up some of
3882	the regression tests to either work on Mac OSX, or to match the
3883	current code.  Still more tests need updating.
3884
38852015-04-11  TJ Saunders <tj@castaglia.org>
3886
3887	* modules/mod_facts.c: Now that the statcaches have been separated
3888	for stat(2) vs lstat(2), this second clearing of the statcaches is
3889	no longer needed.
3890
38912015-04-11  TJ Saunders <tj@castaglia.org>
3892
3893	* src/fsio.c: I found that we need to maintain two different
3894	statcache tables: one for stat(2) data, and one for lstat(2) data.
3895	The data can be different, for the same path, depending on whether
3896	it's a symlink or not.
3897
38982015-04-11  TJ Saunders <tj@castaglia.org>
3899
3900	* modules/mod_facts.c, src/dirtree.c: Running through the regression
3901	tests has picked up a few necessary fixes.  Expect more.
3902
39032015-04-10  TJ Saunders <tj@castaglia.org>
3904
3905	* NEWS: Updated NEWS for Bug#4168.
3906
39072015-04-10  TJ Saunders <tj@castaglia.org>
3908
3909	* : Merge pull request #110 from
3910	proftpd/xfer-hiddenstores-races-bug4168 Bug#4168 - Race condition with HiddenStores and TimeoutIdle timeout.
3911
39122015-04-10  TJ Saunders <tj@castaglia.org>
3913
3914	* : Merge pull request #114 from
3915	proftpd/sftp-realpath-ctrl-byte-bug4170 Bug#4170 - Incorrect handling of control-byte field of
3916	SSH_FXP_REALPATH ...
3917
39182015-04-09  TJ Saunders <tj@castaglia.org>
3919
3920	* doc/howto/Radius.html: Update Radius howto to mention new
3921	attributes supported by mod_radius.
3922
39232015-04-09  TJ Saunders <tj@castaglia.org>
3924
3925	* contrib/ftpasswd, modules/mod_auth_file.c: Bug#4171 - Add checks
3926	to mod_auth_file for crypt(3) failures due to the hash algorithm
3927	used, and make ftpasswd check for times when --des/--md5 will not be
3928	sufficient.
3929
39302015-04-09  tjsaunders <tj@lyveminds.com>
3931
3932	* contrib/mod_sftp/fxp.c: Try to implement more of the SFTP protocol
3933	version 6 semantics for REALPATH's control byte.
3934
39352015-04-09  tjsaunders <tj@lyveminds.com>
3936
3937	* : commit 8c1412153a13f51c63070c2ac67c7a922b1a9831 Author:
3938	tjsaunders <tj@lyveminds.com> Date:   Thu Apr 9 00:18:17 2015 -0700
3939
39402015-04-08  tjsaunders <tj@lyveminds.com>
3941
3942	* contrib/mod_tls.c: Fix copy/pasto, spotted by Coverity.
3943
39442015-04-08  tjsaunders <tj@lyveminds.com>
3945
3946	* contrib/mod_sftp/kex.c: Remove unnecessary NULL check, per
3947	Coverity.
3948
39492015-04-08  tjsaunders <tj@lyveminds.com>
3950
3951	* src/str.c, tests/api/str.c: Make sure that pr_str_is_fnmatch()
3952	properly handles NULL arguments.
3953
39542015-04-08  tjsaunders <tj@lyveminds.com>
3955
3956	* lib/glibc-glob.c: Initialize the 'next' value explicitly, so that
3957	things happen properly in the error handling code.  Found by
3958	Coverity.
3959
39602015-04-08  tjsaunders <tj@lyveminds.com>
3961
3962	* contrib/mod_radius.c: Handle the size where the size of an int may
3963	not be exactly 4 bytes; on some platforms, it might actually be
3964	larger.  So be specific about the number of bytes we copy for the
3965	vendor ID of a VSA.
3966
39672015-04-08  tjsaunders <tj@lyveminds.com>
3968
3969	* modules/mod_site.c, tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm:
3970	Fix some typos in the handling of symbolic mode expressions for SITE
3971	CHMOD commands, and start adding some symbolic SITE CHMOD regression
3972	tests.
3973
39742015-04-08  tjsaunders <tj@lyveminds.com>
3975
3976	* modules/mod_delay.c: When shutting down and preserving the
3977	DelayTable, make the handling a little more resilient, handling
3978	(very unlikely but possible) error cases better, per Coverity.
3979
39802015-04-08  tjsaunders <tj@lyveminds.com>
3981
3982	* contrib/mod_snmp/mod_snmp.c: Remove unnecessary NULL check, per
3983	Coverity.
3984
39852015-04-08  tjsaunders <tj@lyveminds.com>
3986
3987	* modules/mod_core.c: Handle NULL return values from pr_expr_create,
3988	and make Coverity happier.
3989
39902015-04-08  tjsaunders <tj@lyveminds.com>
3991
3992	* src/inet.c: Make the fd checks in pr_inet_openrw() a little less
3993	brittle by checking for any valid-looking fd (i.e. > -1), rather
3994	than just directly comparing against -1.
3995
39962015-04-08  tjsaunders <tj@lyveminds.com>
3997
3998	* contrib/coverity/modeling.c: Tell Coverity to ignore
3999	rand(3)/random(3); we know what we're doing, and do not use it for
4000	cases where cryptographically strong random numbers are needed.  So
4001	please, Coverity, stop marking its use as defects.
4002
40032015-04-08  tjsaunders <tj@lyveminds.com>
4004
4005	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Make sure that we
4006	NUL-terminate the buffer we gave to read(2), for passphrase
4007	collection, before doing anything else with the buffer.
4008
40092015-04-08  tjsaunders <tj@lyveminds.com>
4010
4011	* src/fsio.c: Check for possible NULL value before calling glob(3),
4012	lest it segfault on us.
4013
40142015-04-08  tjsaunders <tj@lyveminds.com>
4015
4016	* src/fsio.c: Remove unnecessary NULL check, per Coverity.
4017
40182015-04-08  TJ Saunders <tj@castaglia.org>
4019
4020	* contrib/mod_sftp/fxp.c: Bug#4170 - Incorrect handling of
4021	control-byte field of SSH_FXP_REALPATH as bitmask rather than
4022	enumeration.
4023
40242015-04-08  tjsaunders <tj@lyveminds.com>
4025
4026	* contrib/mod_sftp/auth.c: Handle possibly (albeit unlikely) NULL
4027	return value.
4028
40292015-04-08  tjsaunders <tj@lyveminds.com>
4030
4031	* contrib/mod_radius.c: Slightly more paranoid parsing of RADIUS
4032	variable formatted strings, as configured in the config file.
4033
40342015-04-08  tjsaunders <tj@lyveminds.com>
4035
4036	* contrib/mod_ifsession.c: The <If...> sections using regexes might
4037	be malformed; the configuration handler needs to handle this error
4038	case properly.
4039
40402015-04-08  tjsaunders <tj@lyveminds.com>
4041
4042	* : commit ac1a6a4dc9d34703dd5a438336cb53c0fed33d10 Author:
4043	tjsaunders <tj@lyveminds.com> Date:   Wed Apr 8 00:25:07 2015 -0700
4044
40452015-04-08  TJ Saunders <tj@castaglia.org>
4046
4047	* : Merge pull request #112 from proftpd/coverity-defects Moew Coverity defects
4048
40492015-04-08  tjsaunders <tj@lyveminds.com>
4050
4051	* contrib/coverity/modeling.c, lib/tpl.c, lib/tpl.h: Tweak the TPL
4052	API a little, so that we can mark it for visibility by Coverity.
4053
40542015-04-07  tjsaunders <tj@lyveminds.com>
4055
4056	* contrib/mod_tls.c: Quell warning about uninitialized variable
4057	being used.
4058
40592015-04-07  tjsaunders <tj@lyveminds.com>
4060
4061	* src/fsio.c: Better NULL checking.  Also clear the statcache in the
4062	case of renames.
4063
40642015-04-07  tjsaunders <tj@lyveminds.com>
4065
4066	* contrib/mod_exec.c, contrib/mod_radius.c, lib/tpl.c,
4067	modules/mod_ls.c, modules/mod_site.c: Fixing up more issues spotted
4068	by Coverity.
4069
40702015-04-07  tjsaunders <tj@lyveminds.com>
4071
4072	* src/fsio.c: Fix dead code spotted by Coverity.
4073
40742015-04-07  tjsaunders <tj@lyveminds.com>
4075
4076	* contrib/mod_snmp/packet.c: Removing some logically dead code
4077	branches spotted by Coverity.
4078
40792015-04-07  TJ Saunders <tj@castaglia.org>
4080
4081	* : Merge pull request #111 from proftpd/coverity-defects Quell some of the warnings/issues spotted by Coverity.
4082
40832015-04-07  tjsaunders <tj@lyveminds.com>
4084
4085	* : commit 6bb2e06513363a256802ebb250ff05a1d9fd3208 Author:
4086	tjsaunders <tj@lyveminds.com> Date:   Tue Apr 7 22:03:04 2015 -0700
4087
40882015-04-07  tjsaunders <tj@lyveminds.com>
4089
4090	* modules/mod_core.c, modules/mod_xfer.c: Use PR_HANDLED, not
4091	HANDLED.
4092
40932015-04-07  tjsaunders <tj@lyveminds.com>
4094
4095	* contrib/mod_copy.c: Use PR_DECLINED, not DECLINED.
4096
40972015-04-07  tjsaunders <tj@lyveminds.com>
4098
4099	* RELEASE_NOTES: Tweaks/edits to release notes.
4100
41012015-04-07  tjsaunders <tj@lyveminds.com>
4102
4103	* RELEASE_NOTES: More fleshing out of the release notes.  We're
4104	getting close to release-ready.
4105
41062015-04-07  tjsaunders <tj@lyveminds.com>
4107
4108	* RELEASE_NOTES: Start fleshing out the release notes, getting ready
4109	for a release.
4110
41112015-04-07  TJ Saunders <tj@castaglia.org>
4112
4113	* modules/mod_xfer.c: Bug#4168 - Race condition with HiddenStores
4114	and TimeoutIdle timeout.  Attempt to reduce/mitigate this race by blocking timers during
4115	critical sections of transfer setup code, and handle some side
4116	effects in the exit handler by using other criteria for determining
4117	when/how to handle e.g. HiddenStores files.
4118
41192015-04-07  tjsaunders <tj@lyveminds.com>
4120
4121	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/umac.c: Fix
4122	building of umac128.{o, lo}, and the resulting symbol collision for
4123	a DSO build of mod_sftp.
4124
41252015-04-07  tjsaunders <tj@lyveminds.com>
4126
4127	* src/inet.c: Fix compilation when the --disable-ipv6 compile-time
4128	option is used.
4129
41302015-04-07  tjsaunders <tj@lyveminds.com>
4131
4132	* NEWS, RELEASE_NOTES: Updating NEWS, release notes for Bug#4169.
4133
41342015-04-07  TJ Saunders <tj@castaglia.org>
4135
4136	* : Merge pull request #109 from
4137	proftpd/copy-unauthenticated-copying Bug#4169 - Unauthenticated copying of files via SITE CPFR/CPTO
4138	allowed by mod_copy
4139
41402015-04-06  tjsaunders <tj@lyveminds.com>
4141
4142	* NEWS, contrib/mod_sftp/fxp.c: Update NEWS with mention of fix for
4143	Bug#4166.
4144
41452015-04-06  TJ Saunders <tj@castaglia.org>
4146
4147	* : Merge pull request #97 from
4148	proftpd/sftp-rekeying-memory-usage-bug4166 Bug#4166 - mod_sftp sessions consume large amounts of memory due to
4149	reke...
4150
41512015-04-05  TJ Saunders <tj@castaglia.org>
4152
4153	* : Merge pull request #108 from proftpd/sftp-umac-128 Support for "umac-128@openssh.com" SSH MAC algorithm
4154
41552015-04-05  TJ Saunders <tj@castaglia.org>
4156
4157	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/crypto.c,
4158	contrib/mod_sftp/mac.c, contrib/mod_sftp/umac.c,
4159	contrib/mod_sftp/umac.h: Add support for the umac-128@openssh.com
4160	SSH MAC.
4161
41622015-04-05  TJ Saunders <tj@castaglia.org>
4163
4164	* contrib/mod_sftp/kbdint.c: Fix memory leak when handling
4165	'keyboard-interactive' SSH authentication.
4166
41672015-04-05  TJ Saunders <tj@castaglia.org>
4168
4169	* contrib/mod_tls_memcache.c: Tone down the logging message emitted
4170	when we try to register a handler and there's no memcache support
4171	enabled in the build.
4172
41732015-04-04  tjsaunders <tj@lyveminds.com>
4174
4175	* NEWS, RELEASE_NOTES: Update NEWS, release notes with mention of
4176	Bug#4059.
4177
41782015-04-04  TJ Saunders <tj@castaglia.org>
4179
4180	* : Merge pull request #107 from
4181	proftpd/radius-addl-attributes-bug4059 Bug#4059 - Implement additional RADIUS attributes
4182
41832015-04-03  tjsaunders <tj@lyveminds.com>
4184
4185	* contrib/mod_radius.c, doc/contrib/mod_radius.html: Bug#4059 -
4186	Implement additional RADIUS attributes.
4187
41882015-04-03  TJ Saunders <tj@castaglia.org>
4189
4190	* contrib/mod_sftp_pam.c: Stylistic nit cleanup in mod_sftp_pam, no
4191	functional changes.
4192
41932015-04-02  TJ Saunders <tj@castaglia.org>
4194
4195	* RELEASE_NOTES: Mention the new FSCachePolicy directive in the
4196	release notes.
4197
41982015-04-02  TJ Saunders <tj@castaglia.org>
4199
4200	* doc/contrib/mod_sftp.html: Fix the spacing in the mod_sftp docs
4201	referring to RFCs.
4202
42032015-04-02  TJ Saunders <tj@castaglia.org>
4204
4205	* : Merge pull request #106 from proftpd/site-misc-resp-code-setting Fix the setting of FTP response codes for the internal commands that
4206
42072015-04-02  TJ Saunders <tj@castaglia.org>
4208
4209	* : Merge pull request #105 from proftpd/site-misc-extlog-resp-code Add regression test for ExtendedLog handling of the response code
4210	for SITE commands
4211
42122015-04-02  TJ Saunders <tj@castaglia.org>
4213
4214	* contrib/mod_sftp/fxp.c: Found a few more places in mod_sftp that
4215	need to clear the statcache for accurate stat/lstat results.
4216
42172015-04-02  TJ Saunders <tj@castaglia.org>
4218
4219	* : commit f88556af8c9395873f75fc43e5f779648b5de0c3 Author: TJ
4220	Saunders <tj@castaglia.org> Date:   Thu Apr 2 11:25:48 2015 -0700
4221
42222015-04-02  TJ Saunders <tj@castaglia.org>
4223
4224	* tests/api/table.c: Add a unit test for executing pr_table_do() on
4225	a table, with a callback that removes items from the table during
4226	the iteration.
4227
42282015-04-02  TJ Saunders <tj@castaglia.org>
4229
4230	* src/fsio.c: Clear the statcache when files are created/modified
4231	via creat(2) and open(2) calls as well.
4232
42332015-04-02  TJ Saunders <tj@castaglia.org>
4234
4235	* src/fsio.c, tests/api/fsio.c: Clear the statcache when a file is
4236	closed or unlinked.  Flesh out the pr_fsio_stat()/pr_fsio_lstat() unit tests to catch
4237	regressions such as the previous statcache issue, where the
4238	statcache was not being populated with the struct stat information.
4239
42402015-04-02  TJ Saunders <tj@castaglia.org>
4241
4242	* contrib/mod_site_misc.c,
4243	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Adding
4244	integration test demonstrating the proper handling of the %s
4245	ExtendedLog variable for SITE commands, e.g. those provided by
4246	mod_site_mis.c
4247
42482015-04-02  TJ Saunders <tj@castaglia.org>
4249
4250	* : Merge pull request #104 from proftpd/core-fscacheoptions Add FSCachePolicy directive, for tuning statcache
4251
42522015-04-01  TJ Saunders <tj@castaglia.org>
4253
4254	* : commit 36ed1cb9901e041e88b0a96e8fb4bd13defea24f Merge: b65700f
4255	9d45a71 Author: TJ Saunders <tj@castaglia.org> Date:   Wed Apr 1
4256	23:35:15 2015 -0700
4257
42582015-04-01  TJ Saunders <tj@castaglia.org>
4259
4260	* src/fsio.c: Set errno to the proper value in the case of
4261	stat(2)/lstat(2) failure.
4262
42632015-04-01  TJ Saunders <tj@castaglia.org>
4264
4265	* contrib/mod_sftp/misc.c: Adding missing format string.
4266
42672015-04-01  TJ Saunders <tj@castaglia.org>
4268
4269	* modules/mod_ls.c: Remove debugging cruft.
4270
42712015-04-01  TJ Saunders <tj@castaglia.org>
4272
4273	* modules/mod_ls.c, src/fsio.c: Add missing memcpy(2) call that was
4274	causing FTP directory listings to fail.
4275
42762015-04-01  TJ Saunders <tj@castaglia.org>
4277
4278	* modules/mod_ls.c, src/dirtree.c, src/fsio.c, src/support.c:
4279	Checking in some changes while I debug why the statcaching is
4280	breaking FTP directory listings.
4281
42822015-04-01  tjsaunders <tj@lyveminds.com>
4283
4284	* modules/mod_core.c: Start working on an FSCacheOptions directive,
4285	for tuning the newly-added statcache.
4286
42872015-04-01  tjsaunders <tj@lyveminds.com>
4288
4289	* contrib/mod_sftp/fxp.c: Properly increment the st_size on SFTP
4290	WRITE, taking into account possible overwrites of existing chunks of
4291	the file.
4292
42932015-04-01  TJ Saunders <tj@castaglia.org>
4294
4295	* : Merge pull request #100 from proftpd/fsio-stat-caching Change the FSIO API's statcache from a single entry to one using
4296	tables.
4297
42982015-04-01  TJ Saunders <tj@castaglia.org>
4299
4300	* : Merge pull request #101 from proftpd/sftp-fstat-on-write-perf Avoid an fstat(2) call per WRITE request, to see if it helps with
4301	perfor...
4302
43032015-04-01  tjsaunders <tj@lyveminds.com>
4304
4305	* src/fsio.c, tests/api/fsio.c: Dealing with test fallout, and
4306	quelling some compiler warnings spotted by travis-ci.
4307
43082015-04-01  tjsaunders <tj@lyveminds.com>
4309
4310	* src/str.c: Remove some unused variables (spotted by travis-ci).
4311
43122015-04-01  tjsaunders <tj@lyveminds.com>
4313
4314	* src/fsio.c: Make sure that pr_fsio_access() doesn't clear the
4315	statcache when it doesn't have to; that policy should be up to the
4316	caller, not to the implementation.
4317
43182015-04-01  tjsaunders <tj@lyveminds.com>
4319
4320	* include/fsio.h, modules/mod_core.c, src/dirtree.c, src/fsio.c,
4321	tests/api/fsio.c: Disable statcaching until the client has
4322	authenticated, at which point we will start caching.
4323
43242015-03-31  tjsaunders <tj@lyveminds.com>
4325
4326	* : commit fc5dda6054a982a858add1fa63addb48fbdbb9f4 Author:
4327	tjsaunders <tj@lyveminds.com> Date:   Tue Mar 31 23:33:53 2015 -0700
4328
43292015-03-31  tjsaunders <tj@lyveminds.com>
4330
4331	* contrib/mod_copy.c, contrib/mod_quotatab.c,
4332	contrib/mod_rewrite.c, contrib/mod_sftp/fxp.c,
4333	contrib/mod_sftp/misc.c, contrib/mod_site_misc.c,
4334	contrib/mod_snmp/mod_snmp.c, contrib/mod_sql.c, include/fsio.h,
4335	include/options.h, modules/mod_auth.c, modules/mod_core.c,
4336	modules/mod_facl.c, modules/mod_facts.c, modules/mod_log.c,
4337	modules/mod_ls.c, modules/mod_xfer.c, src/dirtree.c, src/fsio.c,
4338	src/mkhome.c, src/support.c, src/table.c, tests/api/fsio.c: Change
4339	the FSIO API's statcache from a single entry to one using tables.
4340	This cache now holds up to a configurable size, with expiration, and
4341	allows clearing of single entries (or the entire cache if needed).
4342
43432015-03-31  tjsaunders <tj@lyveminds.com>
4344
4345	* contrib/mod_sftp/fxp.c: Fix bug where we were allocating a cmd_rec
4346	out of the wrong pool when handling REMOVE requests.
4347
43482015-03-31  tjsaunders <tj@lyveminds.com>
4349
4350	* contrib/mod_sftp/fxp.c: Slight logging tweaks; no functional
4351	change.
4352
43532015-03-31  TJ Saunders <tj@castaglia.org>
4354
4355	* NEWS: Update NEWS with mention of Bug#4157.
4356
43572015-03-31  TJ Saunders <tj@castaglia.org>
4358
4359	* : Merge pull request #96 from proftpd/core-tracing-perf-bug4157 Bug#4157 - LIST/NLST of 1000s of files is slow on some platforms.
4360
43612015-03-30  TJ Saunders <tj@castaglia.org>
4362
4363	* src/bindings.c: Remove now-unused variable.
4364
43652015-03-30  TJ Saunders <tj@castaglia.org>
4366
4367	* include/bindings.h, src/bindings.c: Fix up the
4368	ServerAlias/namebind handling which was causing spurious NOTICE
4369	level log messages in 1.3.5.
4370
43712015-03-29  TJ Saunders <tj@castaglia.org>
4372
4373	* contrib/mod_sftp/fxp.c: Make sure to set the curr_pkt pointer to
4374	NULL in the case of an unknown request, too.
4375
43762015-03-29  TJ Saunders <tj@castaglia.org>
4377
4378	* modules/mod_dso.c, src/auth.c, src/inet.c, src/netio.c: Add
4379	missing tags on some pools, fix typos.  Nothing major.
4380
43812015-03-29  TJ Saunders <tj@castaglia.org>
4382
4383	* contrib/mod_sftp/fxp.c: Found a place where we need to clear a
4384	pointer to a packet explicitly. Failing to do so could mean that a
4385	packet is reused, thus leading to leaking memory (as that packet
4386	pool is never actually freed/reused).
4387
43882015-03-28  TJ Saunders <tj@castaglia.org>
4389
4390	* include/support.h, modules/mod_ls.c, src/support.c: Additional
4391	fixes for Bug#4157, trying to remove a redundant lstat(2) call
4392	during directory listings that include symlinks.
4393
43942015-03-28  TJ Saunders <tj@castaglia.org>
4395
4396	* : commit fd68ce118083fea2e1add58ae6e43413aa0b408e Author: TJ
4397	Saunders <tj@castaglia.org> Date:   Sat Mar 28 15:48:31 2015 -0700
4398
43992015-03-28  TJ Saunders <tj@castaglia.org>
4400
4401	* modules/mod_core.c, src/netio.c, src/response.c,
4402	tests/api/netio.c, tests/t/lib/ProFTPD/Tests/Commands/MKD.pm:
4403	Additional changes needed for handling embedded LFs in paths, for
4404	Bug#4167.
4405
44062015-03-28  TJ Saunders <tj@castaglia.org>
4407
4408	* include/netio.h, src/main.c, src/netio.c, src/str.c,
4409	tests/api/netio.c, tests/t/lib/ProFTPD/Tests/Commands/MKD.pm:
4410	Bug#4167 - CR/LF characters are not supported in filenames.
4411
44122015-03-25  tjsaunders <tj@lyveminds.com>
4413
4414	* contrib/mod_sftp/fxp.c: Avoid an fstat(2) call per WRITE request,
4415	to see if it helps with performance writing files on network
4416	filesystems like NFS.
4417
44182015-03-25  tjsaunders <tj@lyveminds.com>
4419
4420	* contrib/mod_tls.c: Slightly better trace messages for SSL
4421	WANT_READ/WANT_WRITE conditions.
4422
44232015-03-21  TJ Saunders <tj@castaglia.org>
4424
4425	* contrib/mod_sftp/mod_sftp.c: Only dump the memory pools if
4426	mod_shaper is NOT present.
4427
44282015-03-21  TJ Saunders <tj@castaglia.org>
4429
4430	* contrib/mod_sftp/kex.c: Additional changes for Bug#4166, to reduce
4431	the memory leaked during an SSH2 rekeying.
4432
44332015-03-21  TJ Saunders <tj@castaglia.org>
4434
4435	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/kex.c,
4436	contrib/mod_sftp/mod_sftp.c, modules/mod_xfer.c: Bug#4166 - mod_sftp
4437	sessions consume large amounts of memory due to rekeying.  In order to debug this, I had to add code to mod_sftp which handles
4438	the SIGUSR2 signal by dumping the memory pools of the process.
4439	This, in turn, required some slight adjustments to a similar
4440	handling of SIGUSR2 that mod_xfer does, but which was only needed if
4441	mod_shaper is present.
4442
44432015-03-20  TJ Saunders <tj@castaglia.org>
4444
4445	* modules/mod_ls.c, src/fsio.c, src/trace.c: Bug#4157 - LIST/NLST of
4446	1000s of files is slow on some platforms.
4447
44482015-03-20  tjsaunders <tj@lyveminds.com>
4449
4450	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4164.
4451
44522015-03-20  TJ Saunders <tj@castaglia.org>
4453
4454	* : Merge pull request #95 from proftpd/sql-uid-size-bug4164 Bug#4164 - mod_sql fails to read UID/GID values larger than 32 bits
4455	from SQL table
4456
44572015-03-16  tjsaunders <tj@lyveminds.com>
4458
4459	* contrib/mod_exec.c, contrib/mod_sftp/fxp.c, contrib/mod_sql.c,
4460	modules/mod_cap.c, modules/mod_facts.c, src/main.c: Updating more
4461	places to use the new functions for stringifying UID/GID values.
4462	Display the max supported UID/GID value in the -V output.
4463
44642015-03-16  tjsaunders <tj@lyveminds.com>
4465
4466	* : commit 005b8a5cccfa75109f738f2ecbb763225d1a76c3 Author: TJ
4467	Saunders <tj@castaglia.org> Date:   Mon Mar 16 14:05:11 2015 -0700
4468
44692015-03-15  tjsaunders <tj@lyveminds.com>
4470
4471	* src/auth.c, src/privs.c: Update more places in the core code to
4472	log UID/GID values properly.
4473
44742015-03-15  tjsaunders <tj@lyveminds.com>
4475
4476	* contrib/mod_sql.c: Fix up a few more places in mod_sql where
4477	proper stringification of UID/GID needs to use the new routines.
4478
44792015-03-15  tjsaunders <tj@lyveminds.com>
4480
4481	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: The bug has
4482	number; it's number is 4164.
4483
44842015-03-15  tjsaunders <tj@lyveminds.com>
4485
4486	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Run all of
4487	the mod_sql_sqlite tests, please.
4488
44892015-03-15  tjsaunders <tj@lyveminds.com>
4490
4491	* src/auth.c, src/str.c, tests/api/str.c: Bug#4164: Start using the
4492	new functions for ID/string conversion in more places; there's still
4493	more here to do.
4494
44952015-03-15  tjsaunders <tj@lyveminds.com>
4496
4497	* : commit 9b215b1530bf4839ddce6505d70d9e79a9c541c5 Author:
4498	tjsaunders <tj@lyveminds.com> Date:   Sun Mar 15 17:27:51 2015 -0700
4499
45002015-03-15  TJ Saunders <tj@castaglia.org>
4501
4502	* configure: Updated configure.
4503
45042015-03-15  TJ Saunders <tj@castaglia.org>
4505
4506	* config.h.in, configure.in: Check for the strtoll(3) function, too.
4507
45082015-03-15  TJ Saunders <tj@castaglia.org>
4509
4510	* configure: Updated configure.
4511
45122015-03-15  TJ Saunders <tj@castaglia.org>
4513
4514	* config.h.in, configure.in: Add autoconf checks for the size of
4515	uid_t/gid_t, as part of handling Bug#4164.
4516
45172015-03-15  tjsaunders <tj@lyveminds.com>
4518
4519	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4163.
4520
45212015-03-15  TJ Saunders <tj@castaglia.org>
4522
4523	* : Merge pull request #94 from
4524	proftpd/tls-no-export-ciphers-bug4163 Bug#4163 - Remove support for EXPORT grade ciphers.
4525
45262015-03-15  tjsaunders <tj@lyveminds.com>
4527
4528	* contrib/mod_sftp/fxp.c: Fix two places with incorrect comparisons
4529	against the utf8ProtocolVersion SFTPOption, per comments in
4530	Bug#4160.
4531
45322015-03-15  tjsaunders <tj@lyveminds.com>
4533
4534	* NEWS: Update NEWS for Bug#4160.
4535
45362015-03-15  TJ Saunders <tj@castaglia.org>
4537
4538	* : Merge pull request #93 from
4539	proftpd/sftp-realpath-nocheck-v6-response-bug4160 Bug#4160 - Malformed response to SSH_FXP_REALPATH with SFTP version
4540	6.
4541
45422015-03-14  tjsaunders <tj@lyveminds.com>
4543
4544	* NEWS: Update NEWS with fix for Bug#4156.
4545
45462015-03-14  TJ Saunders <tj@castaglia.org>
4547
4548	* : Merge pull request #91 from proftpd/core-ls-segfault-bug4156 Bug#4156 - Segfault handling LIST/NLST FTP command on Mac OS X.
4549
45502015-03-03  tjsaunders <tj@lyveminds.com>
4551
4552	* NEWS, RELEASE_NOTES: Updates NEWS, release notes for Bug#4159.
4553
45542015-03-03  TJ Saunders <tj@castaglia.org>
4555
4556	* : Merge pull request #92 from proftpd/xfer-ignore-ascii-bug4159 Bug#4159: Support ability to disable ASCII translation transparently
4557	to ...
4558
45592015-03-01  TJ Saunders <tj@castaglia.org>
4560
4561	* include/fsio.h, lib/sstrncpy.c, src/fsio.c, tests/api/fsio.c,
4562	tests/api/str.c: Bug#4156 - Segfault handling LIST/NLST FTP command
4563	on Mac OS X.
4564
45652015-03-01  TJ Saunders <tj@castaglia.org>
4566
4567	* src/main.c: Include PR_TUNABLE_PATH_MAX in the `proftpd -V'
4568	output.
4569
45702014-12-25  TJ Saunders <tj@castaglia.org>
4571
4572	* NEWS, RELEASE_NOTES: Update NEWS, release notes for JSON output of
4573	ftpwho (Bug#4031).
4574
45752015-02-27  TJ Saunders <tj@castaglia.org>
4576
4577	* lib/pr_fnmatch_loop.c: Backport glibc fix for a memory overread
4578	for certain fnmatch patterns.
4579
45802015-02-19  TJ Saunders <tj@castaglia.org>
4581
4582	* contrib/mod_sftp_sql.c: Fix additional issue related to Bug#4155,
4583	where the buffer overrun could happen for bad key data.  This also
4584	adds a log message for the future, pinpointing the root of the
4585	problem.
4586
45872015-02-19  TJ Saunders <tj@castaglia.org>
4588
4589	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Remove stray
4590	comment character.
4591
45922015-02-17  tjsaunders <tj@lyveminds.com>
4593
4594	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Add a regression test
4595	for the NLST command and how the -a and -1 options will affect the
4596	format of the NLST response.
4597
45982015-02-17  tjsaunders <tj@lyveminds.com>
4599
4600	* modules/mod_ls.c: Stylistic nits; no functional change.
4601
46022015-02-17  TJ Saunders <tj@castaglia.org>
4603
4604	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding mod_exec
4605	regression test demonstrating how to use mod_exec and mod_ifsession.
4606
46072015-02-17  tjsaunders <tj@lyveminds.com>
4608
4609	* NEWS: Update NEWS with fix for Bug#4155.
4610
46112015-02-17  TJ Saunders <tj@castaglia.org>
4612
4613	* : Merge pull request #89 from
4614	proftpd/sftp-sql-overlong-commented-keys-bug4155 Bug#4155 - SSH keys with too-long Comment headers aren't recognized
4615	by mod_sftp_sql
4616
46172015-02-17  TJ Saunders <tj@castaglia.org>
4618
4619	* tests/t/etc/modules/mod_sftp/test_rsa2048_key2,
4620	tests/t/etc/modules/mod_sftp/test_rsa2048_key2.pub,
4621	tests/t/etc/modules/mod_sftp/test_rsa_key_bug4155,
4622	tests/t/etc/modules/mod_sftp/test_rsa_key_bug4155.pub,
4623	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Adding
4624	accompanying regression tests for Bug#4155.
4625
46262015-02-17  TJ Saunders <tj@castaglia.org>
4627
4628	* contrib/mod_sftp_sql.c: Bug#4155 - SSH keys with too-long Comment
4629	headers aren't recognized by mod_sftp_sql.
4630
46312015-02-17  TJ Saunders <tj@castaglia.org>
4632
4633	* : Merge pull request #88 from proftpd/ls-option-parsing Fix random issue with LIST option parsing
4634
46352015-02-17  tjsaunders <tj@lyveminds.com>
4636
4637	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding a regression
4638	test for the "LIST -a" parsing issue raised on GitHub.
4639
46402015-02-04  tjsaunders <tj@lyveminds.com>
4641
4642	* NEWS: Update NEWS for fix for Bug#4152.
4643
46442015-02-04  TJ Saunders <tj@castaglia.org>
4645
4646	* : Merge pull request #87 from
4647	proftpd/core-enotconn-logging-bug4152 Bug#4152 - Reduce logging of non-fatal "unable to open incoming
4648	connection" errors
4649
46502015-02-04  tjsaunders <tj@lyveminds.com>
4651
4652	* src/main.c: Bug#4152 - Reduce logging of non-fatal "unable to open
4653	incoming connection" errors.
4654
46552015-02-03  tjsaunders <tj@lyveminds.com>
4656
4657	* contrib/mod_sql_passwd.c: Correct the pointer check used in an
4658	error case; spotted by Coverity.
4659
46602015-02-03  tjsaunders <tj@lyveminds.com>
4661
4662	* contrib/mod_tls.c: Stylistic nits; no functional change.
4663
46642015-02-03  tjsaunders <tj@lyveminds.com>
4665
4666	* contrib/mod_radius.c: Stylistic cleanup; no functional changes.
4667
46682015-02-03  tjsaunders <tj@lyveminds.com>
4669
4670	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Address some Coverity
4671	issues by ensuring that a buffer, given to OpenSSL, is
4672	NUL-terminated before calling e.g. strlen(3) on the buffer.
4673
46742015-02-03  tjsaunders <tj@lyveminds.com>
4675
4676	* src/data.c: Clear the "have dangling CR" flag on data reset as
4677	well.
4678
46792015-02-03  tjsaunders <tj@lyveminds.com>
4680
4681	* src/data.c: Reset any ASCII transformation state, possibly
4682	leftover from previous transfers, when preparing for a data transfer
4683	(Bug#4150).
4684
46852015-02-03  tjsaunders <tj@lyveminds.com>
4686
4687	* src/data.c: Use the return value from xfrm_ascii_write() as part
4688	of a trace-level log message (Bug#4149).
4689
46902015-02-03  tjsaunders <tj@lyveminds.com>
4691
4692	* src/data.c: Update stale comment (Bug#4148).
4693
46942015-02-03  tjsaunders <tj@lyveminds.com>
4695
4696	* NEWS: Update NEWS for Bug#4145.
4697
46982015-02-03  TJ Saunders <tj@castaglia.org>
4699
4700	* : Merge pull request #86 from
4701	proftpd/authfile-symlink-segfault-bug4145 Bug#4145 - Segfault if AuthUserFile is a relative symlink.
4702
47032014-12-25  TJ Saunders <tj@castaglia.org>
4704
4705	* : Merge pull request #84 from proftpd/utils-ftpwho-json-bug4031  Bug#4031 - Support JSON output format for ftpwho
4706
47072014-12-25  TJ Saunders <tj@castaglia.org>
4708
4709	* utils/ftpwho.1.in: Update the ftpwho man page to mention the new
4710	json option.
4711
47122014-12-25  TJ Saunders <tj@castaglia.org>
4713
4714	* include/tpl.h: Include renamed file.
4715
47162014-12-25  TJ Saunders <tj@castaglia.org>
4717
4718	* configure.in, include/memcache.h, lib/json.c, lib/json.h,
4719	lib/tpl.h, utils/ftpwho.c, utils/utils.h: Bug#4031 - Support JSON
4720	output format for ftpwho.
4721
47222014-12-24  TJ Saunders <tj@castaglia.org>
4723
4724	* NEWS, RELEASE_NOTES: Updating NEWS, release notes for fix for
4725	Bug#4144.
4726
47272014-12-24  TJ Saunders <tj@castaglia.org>
4728
4729	* : Merge pull request #83 from
4730	proftpd/xfer-appe-with-hiddenstores-bug4144 Bug#4144 - Support APPE when HiddenStores are enabled.
4731
47322014-12-22  TJ Saunders <tj@castaglia.org>
4733
4734	* src/fsio.c: Adding missing trace logging of some FSIO operations.
4735	Stylistic cleanup.
4736
47372014-12-22  TJ Saunders <tj@castaglia.org>
4738
4739	* .travis.yml, tests/api/fsio.c: Set the TRAVIS_CI environment
4740	variable when it is being used to e.g. run the API tests.  Then use
4741	this in the fsio_access() tests, to avoid running the tests which
4742	run afoul of the travis-ci environment (and causing unexpected
4743	false-positive test failures).
4744
47452014-12-22  TJ Saunders <tj@castaglia.org>
4746
4747	* tests/api/fsio.c: For the fsio_access() tests, use chmod(2)
4748	directly on the created directory, rather than futzing with the
4749	umask.
4750
47512014-12-22  TJ Saunders <tj@castaglia.org>
4752
4753	* tests/api/fsio.c: Comment out more of the fsio_access() tests, for
4754	now.
4755
47562014-12-22  TJ Saunders <tj@castaglia.org>
4757
4758	* src/scoreboard.c: Quell compiler warning, found by travis-ci.
4759
47602014-12-22  TJ Saunders <tj@castaglia.org>
4761
4762	* tests/api/fsio.c: Comment out some of the just-added tests for
4763	fsio_access(), pending investigation into travis-ci's umask et al.
4764
47652014-12-22  TJ Saunders <tj@castaglia.org>
4766
4767	* tests/api/inet.c: Removing more unused variables; no functional
4768	change.
4769
47702014-12-22  TJ Saunders <tj@castaglia.org>
4771
4772	* tests/api/auth.c: Remove unused variable; no functional change.
4773
47742014-12-22  TJ Saunders <tj@castaglia.org>
4775
4776	* tests/api/fsio.c: Fixup use of variables; no functional change.
4777
47782014-12-22  TJ Saunders <tj@castaglia.org>
4779
4780	* contrib/mod_sftp/kex.c: Quell another compiler warning, found by
4781	travis-ci.
4782
47832014-12-22  TJ Saunders <tj@castaglia.org>
4784
4785	* contrib/mod_site_misc.c: Fix printf(3) format warning found by
4786	travis-ci.
4787
47882014-12-22  TJ Saunders <tj@castaglia.org>
4789
4790	* src/fsio.c, tests/api/fsio.c: Add unit test for the fsio_access()
4791	function, as part of tracking down the culprit for Bug#4141.
4792
47932014-12-22  TJ Saunders <tj@castaglia.org>
4794
4795	* src/dirtree.c: Add trace logging of various conditions under which
4796	we'll hide a file, for debugging/triage.
4797
47982014-12-20  TJ Saunders <tj@castaglia.org>
4799
4800	* contrib/mod_tls_memcache.c: Reduce the severity of the "unable to
4801	register memcache SSL session cache" message, from NOTICE to DEBUG;
4802	it causes more confusion than aid.
4803
48042014-12-17  tjsaunders <tj@lyveminds.com>
4805
4806	* RELEASE_NOTES, contrib/mod_ban.c, doc/contrib/mod_ban.html: Add
4807	support to mod_ban, for banning on "bad protocol" detection.
4808
48092014-12-15  TJ Saunders <tj@castaglia.org>
4810
4811	* NEWS: Update NEWS with fix for Bug#4143.
4812
48132014-12-15  TJ Saunders <tj@castaglia.org>
4814
4815	* : Merge pull request #81 from proftpd/core-reject-http-smtp Bug#4143 - HTTPS/FTPS protocol confusion leads to XSS
4816
48172014-12-15  tjsaunders <tj@lyveminds.com>
4818
4819	* src/cmd.c, src/main.c: Update the comments with the appropriate
4820	bug number.
4821
48222014-12-14  TJ Saunders <tj@castaglia.org>
4823
4824	* include/cmd.h, include/dirtree.h, include/session.h, src/cmd.c,
4825	src/main.c, tests/t/http.t, tests/t/lib/ProFTPD/Tests/HTTP.pm,
4826	tests/t/lib/ProFTPD/Tests/SMTP.pm, tests/t/smtp.t: If we detect HTTP
4827	or SMTP commands, drop the connection.  This prevents proftpd from
4828	being used as a staging server for nefarious attacks on other
4829	protocol servers.
4830
48312014-12-14  TJ Saunders <tj@castaglia.org>
4832
4833	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix regression test
4834	for Bug#4097 to run using current mod_sftp code.
4835
48362014-12-14  TJ Saunders <tj@castaglia.org>
4837
4838	* : commit 1ba73d3d85bb837ae08eb1fd15d81d087385fc60 Author: TJ
4839	Saunders <tj@castaglia.org> Date:   Sun Dec 14 18:57:16 2014 -0800
4840
48412014-12-14  TJ Saunders <tj@castaglia.org>
4842
4843	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fixed quite a few
4844	failing regression tests; many of them were failing (on Mac OSX) due
4845	to tmp filesystem fun.
4846
48472014-12-13  TJ Saunders <tj@castaglia.org>
4848
4849	* doc/contrib/mod_sftp.html: Add another mod_sftp FAQ about warnings
4850	about reading certain config files.
4851
48522014-12-09  TJ Saunders <tj@castaglia.org>
4853
4854	* src/fsio.c: Remove the EPERM exclusion.
4855
48562014-12-09  TJ Saunders <tj@castaglia.org>
4857
4858	* src/fsio.c: Ignore EPERM, in the case where we see ENOENT.
4859
48602014-12-09  TJ Saunders <tj@castaglia.org>
4861
4862	* src/fsio.c: If we encounter an ENOENT from fchmod(2) when securely
4863	changing mode of a temporary directory, as from a network filesystem
4864	such as CIFS, then we should probably ignore any EACCES errors said
4865	filesystem might return as well.
4866
48672014-12-09  TJ Saunders <tj@castaglia.org>
4868
4869	* src/fsio.c: Make sure the fchmod(2) call fails, using ENOENT,
4870	before deciding to fall back to chmod(2).
4871
48722014-12-09  TJ Saunders <tj@castaglia.org>
4873
4874	* modules/mod_site.c: Fix build warnings about missing printf
4875	arguments.
4876
48772014-12-09  TJ Saunders <tj@castaglia.org>
4878
4879	* src/fsio.c: Bug#4134 - Unable to create folders using FTP on a
4880	CIFS mounted share: "No such file or directory".  The underlying cause of this bug is that, on a CIFS mount (perhaps
4881	because of the mount options used), fchmod(2) on the temporary
4882	directory returns ENOENT.  Weird.  So we address this by doing a) a
4883	fallback call to chmod(2) on the path, and b) ignoring ENOENT.
4884
48852014-12-08  TJ Saunders <tj@castaglia.org>
4886
4887	* NEWS: Update NEWS for fix for Bug#4140.
4888
48892014-12-08  TJ Saunders <tj@castaglia.org>
4890
4891	* : Merge pull request #79 from
4892	proftpd/sftp-readlink-symlinks-bug4140 Bug#4140 - SFTP READLINK requests to symlinks to directories fail.
4893
48942014-12-08  TJ Saunders <tj@castaglia.org>
4895
4896	* contrib/mod_sftp/fxp.c,
4897	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4140 - SFTP
4898	READLINK requests to symlinks to directories fail.
4899
49002014-12-07  TJ Saunders <tj@castaglia.org>
4901
4902	* src/auth.c: Log the value for TZ, if it is already present; this
4903	will help with debugging issues such as Bug#4113.
4904
49052014-12-06  TJ Saunders <tj@castaglia.org>
4906
4907	* NEWS, RELEASE_NOTES: Updated NEWS, release notes for Bug#4138
4908	changes.
4909
49102014-12-06  TJ Saunders <tj@castaglia.org>
4911
4912	* : Merge pull request #78 from
4913	proftpd/sql-passwd-salt-encodings-bug4138 Bug#4138 - Support for hex-encoded salts in mod_sql_passwd.
4914
49152014-12-06  TJ Saunders <tj@castaglia.org>
4916
4917	* contrib/mod_sql_passwd.c, doc/contrib/mod_sql_passwd.html,
4918	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#4138 -
4919	Support for hex-encoded salts in mod_sql_passwd.
4920
49212014-12-01  tjsaunders <tj@lyveminds.com>
4922
4923	* NEWS: Update NEWS with fix for Bug#4137.
4924
49252014-12-01  TJ Saunders <tj@castaglia.org>
4926
4927	* : Merge pull request #76 from
4928	proftpd/geoip-denyfilter-precedence-bug4137 Bug#4137 - GeoIPDenyFilter incorrectly takes precedence over
4929	GeoIPAllowF...
4930
49312014-11-30  TJ Saunders <tj@castaglia.org>
4932
4933	* : Merge pull request #77 from proftpd/ctrls-openbsd-portability Issue #75: Add configure-time check for struct sockpeercred (as used
4934	on
4935
49362014-11-29  TJ Saunders <tj@castaglia.org>
4937
4938	* contrib/mod_geoip.c: Bug#4137 - GeoIPDenyFilter incorrectly takes
4939	precedence over GeoIPAllowFilter.
4940
49412014-11-16  TJ Saunders <tj@castaglia.org>
4942
4943	* NEWS: Updated NEWS for fix for Bug#4133.
4944
49452014-11-16  TJ Saunders <tj@castaglia.org>
4946
4947	* : Merge pull request #73 from
4948	proftpd/ldap-users-missing-uid-filter-bug4133 Bug#4133 - LDAPUsers directive does not honor
4949	uid-number-filter-templat...
4950
49512014-11-16  TJ Saunders <tj@castaglia.org>
4952
4953	* contrib/mod_sftp/keys.c: Make sure that
4954	sftp_keys_clear_ecdsa_hostkey() has proper semantics, and will
4955	return ENOENT if ECC is supported, but there are no ECDSA hostkeys
4956	configured.
4957
49582014-11-16  TJ Saunders <tj@castaglia.org>
4959
4960	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Update docs, release
4961	notes for new SFTPHostKey flags.
4962
49632014-11-16  TJ Saunders <tj@castaglia.org>
4964
4965	* : Merge pull request #72 from
4966	proftpd/sftp-disabling-global-hostkeys Modify the SFTPHostKey directive such that it can be used to
4967	unload/clea...
4968
49692014-11-14  tjsaunders <tjsaunders@blackpearlsystems.com>
4970
4971	* src/log.c: Remove misleading comment; no functional change.
4972
49732014-11-13  TJ Saunders <tj@castaglia.org>
4974
4975	* : Merge pull request #71 from proftpd/sftp-wrap2-deny-msg Make sure that mod_sftp properly resolves any %u variables in a
4976	WrapDeny...
4977
49782014-11-11  TJ Saunders <tj@castaglia.org>
4979
4980	* : Merge pull request #70 from proftpd/sftp-allowfilter-redux Following up on a forums post, make sure that if AllowFilter is used
4981	on
4982
49832014-11-10  TJ Saunders <tj@castaglia.org>
4984
4985	* modules/mod_core.c: Update notes of which modules have been
4986	reworked, which need reworking.
4987
49882014-11-10  TJ Saunders <tj@castaglia.org>
4989
4990	* modules/mod_xfer.c: Fix merge errors causing broken build.
4991
49922014-11-10  TJ Saunders <tj@castaglia.org>
4993
4994	* : commit 7c4787492b879207a6052058bf9dd11c8c2f48dd Merge: bdaefba
4995	eef26a0 Author: TJ Saunders <tj@castaglia.org> Date:   Mon Nov 10
4996	10:24:31 2014 -0800
4997
49982014-11-10  TJ Saunders <tj@castaglia.org>
4999
5000	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Add regression
5001	test demonstrating use of the new key fingerprint environment
5002	variables.
5003
50042014-11-10  TJ Saunders <tj@castaglia.org>
5005
5006	* contrib/mod_sftp/auth-publickey.c, doc/contrib/mod_sftp.html:
5007	Populate some environment variables that can be used for
5008	logging/tracking the publickey used for user authentication, via key
5009	fingerprints.
5010
50112014-11-10  TJ Saunders <tj@castaglia.org>
5012
5013	* NEWS, RELEASE_NOTES: Update NEWS, release notes for changes for
5014	Bug#4060.
5015
50162014-11-10  TJ Saunders <tj@castaglia.org>
5017
5018	* : Merge pull request #68 from proftpd/ls-opt-U-bug4060 Bug#4060 fix
5019
50202014-11-10  TJ Saunders <tj@castaglia.org>
5021
5022	* doc/howto/ListOptions.html, modules/mod_ls.c,
5023	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#4060 - Support
5024	unsorted LIST entries (-U) to decrease memory/CPU usage for large
5025	directory listings.
5026
50272014-11-09  TJ Saunders <tj@castaglia.org>
5028
5029	* : Merge pull request #67 from proftpd/xfer-note-file-offset Add support for %{file-offset} ExtendedLog variable, for tracking
5030	resumed uploads/downloads
5031
50322014-11-09  TJ Saunders <tj@castaglia.org>
5033
5034	* : commit 8d0d90490407d67d8da7bd1543a5f4625b5797af Author: TJ
5035	Saunders <tj@castaglia.org> Date:   Sun Nov 9 22:38:25 2014 -0800
5036
50372014-11-09  TJ Saunders <tj@castaglia.org>
5038
5039	* : Merge pull request #66 from
5040	proftpd/lang-require-valid-encoding-bug4125 Bug#4125 - mod_lang should provide way to reject illegally-encoded
5041	filenames.
5042
50432014-11-09  TJ Saunders <tj@castaglia.org>
5044
5045	* modules/mod_lang.c: Copy-pasto.
5046
50472014-11-09  TJ Saunders <tj@castaglia.org>
5048
5049	* include/encode.h, modules/mod_lang.c, src/encode.c, src/fsio.c:
5050	Forgot to actually wire up the handling of the RequireValidEncoding
5051	LangOption to the propagation of decoding errors; without this, all
5052	illegal encodings would be rejected.
5053
50542014-11-09  TJ Saunders <tj@castaglia.org>
5055
5056	* contrib/mod_copy.c, contrib/mod_site_misc.c,
5057	doc/modules/mod_lang.html, include/encode.h, include/fsio.h,
5058	include/session.h, modules/mod_core.c, modules/mod_facts.c,
5059	modules/mod_lang.c, modules/mod_ls.c, modules/mod_site.c,
5060	modules/mod_xfer.c, src/dirtree.c, src/encode.c, src/fsio.c,
5061	tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Bug#4125 - mod_lang
5062	should provide way to reject illegall-encoded filenames.
5063
50642014-11-09  TJ Saunders <tj@castaglia.org>
5065
5066	* NEWS: Update NEWS with mention of changes for Bug#4058.
5067
50682014-11-09  TJ Saunders <tj@castaglia.org>
5069
5070	* : Merge pull request #65 from proftpd/trace-timing-channel-bug4058 Bug#4058 -  Create a 'timing' trace channel, for timing-related data
5071
50722014-11-09  TJ Saunders <tj@castaglia.org>
5073
5074	* contrib/mod_log_forensic.c, contrib/mod_sftp/packet.c,
5075	contrib/mod_tls.c, include/proftpd.h, include/support.h,
5076	modules/mod_auth.c, src/main.c, src/support.c: Add supporting
5077	functions for easier timestamping for a 'timing' channel, and start
5078	implementing some of the more important timings to capture.
5079
50802014-11-09  TJ Saunders <tj@castaglia.org>
5081
5082	* NEWS, contrib/mod_sftp/configure: Update NEWS, regenerate mod_sftp
5083	configure, for fix for Bug#4131.
5084
50852014-11-09  TJ Saunders <tj@castaglia.org>
5086
5087	* : Merge pull request #64 from proftpd/sftp-autoconf-sha2-detection Fix mod_sftp's autoconf script to properly detect OpenSSL support
5088	for SH...
5089
50902014-11-06  TJ Saunders <tj@castaglia.org>
5091
5092	* : Merge pull request #63 from proftpd/sqlpasswd-dual-salt-support Modify mod_sql_passwd so that both global and per-user salts can be
5093	supp...
5094
50952014-11-06  tjsaunders <tjsaunders@blackpearlsystems.com>
5096
5097	* NEWS, RELEASE_NOTES: Update NEWS, release notes for Bug#4130.
5098
50992014-11-06  TJ Saunders <tj@castaglia.org>
5100
5101	* : Merge pull request #62 from
5102	proftpd/site-utime-multi-timestamps-bug4130 Bug#4130 - Support the 3-timestamp form of SITE UTIME.
5103
51042014-11-03  tjsaunders <tjsaunders@blackpearlsystems.com>
5105
5106	* NEWS: Update NEWS for fix for Bug#4129.
5107
51082014-11-03  TJ Saunders <tj@castaglia.org>
5109
5110	* : Merge pull request #61 from
5111	proftpd/sql-negative-cached-ids-bug4129 Bug#4129 - mod_sql caches incorrect UID/GID when name cannot be
5112	retrieve...
5113
51142014-11-02  tjsaunders <tjsaunders@blackpearlsystems.com>
5115
5116	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Add regression test
5117	demonstrating deletion of a directory (empty) whose name contains
5118	spaces.
5119
51202014-10-27  TJ Saunders <tj@castaglia.org>
5121
5122	* NEWS: Update NEWS with fix for Bug#4124.
5123
51242014-10-27  TJ Saunders <tj@castaglia.org>
5125
5126	* : Merge pull request #60 from
5127	proftpd/xfer-deleteabortestores-off-bug4124 Bug#4124 - DeleteAbortedStores defaults to "on" for all transfers,
5128	not j...
5129
51302014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>
5131
5132	* src/scoreboard.c: Make sure we handle possible (albeit unlikey)
5133	lseek(2) errors here, too.
5134
51352014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>
5136
5137	* utils/scoreboard.c: If lseek(2) fails, make sure we handle it
5138	properly.
5139
51402014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>
5141
5142	* lib/tpl.c: Slightly better (paranoid) handling of fatal messages
5143	in TPL.
5144
51452014-10-24  tjsaunders <tjsaunders@blackpearlsystems.com>
5146
5147	* src/stash.c, tests/api/stash.c: Per Coverity, check that our name
5148	comparison is doing what we expect.  Also ensure that the names used
5149	in stash tables are at least one character long; no empty strings.
5150
51512014-10-23  tjsaunders <tjsaunders@blackpearlsystems.com>
5152
5153	* : commit 0ebf3f8a96aeaaa83bc1250fadc337d626a09186 Author:
5154	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Thu Oct 23
5155	08:50:32 2014 -0700
5156
51572014-10-23  TJ Saunders <tj@castaglia.org>
5158
5159	* : Merge pull request #58 from proftpd/tls-protocol-version-bug4116 Bug#4116 - Report exact SSL/TLS protocol version used in client
5160	connecti...
5161
51622014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>
5163
5164	* src/memcache.c: Check for a null pointer again, as was done above.
5165
51662014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>
5167
5168	* lib/tpl.c: Clean up the varargs in this error case.
5169
51702014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>
5171
5172	* lib/tpl.c: Tell compilers (and static code analyzers) that we
5173	explicitly do not care about the return values in this code branch.
5174
51752014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>
5176
5177	* src/main.c: If we still have trouble opening the ScoreboardFile in
5178	inetd mode, after deleting it, then fail to start up.
5179
51802014-10-22  tjsaunders <tjsaunders@blackpearlsystems.com>
5181
5182	* contrib/mod_shaper.c: Check for an improbable error when deleting
5183	the ShaperTable on shutdown, per Coverity's suggestions.
5184
51852014-10-21  tjsaunders <tjsaunders@blackpearlsystems.com>
5186
5187	* contrib/mod_tls.c: More refactoring to the TLS version setting in
5188	mod_tls, to make sure that the intended behavior, a la Bug#4114, is
5189	enforced properly in all cases. This code is much simpler to
5190	maintain now.
5191
51922014-10-21  TJ Saunders <tj@castaglia.org>
5193
5194	* contrib/mod_tls.c: Got the order of the default ciphersuites
5195	wrong, for Bug#4114.
5196
51972014-10-21  tjsaunders <tjsaunders@blackpearlsystems.com>
5198
5199	* modules/mod_xfer.c: Remove some unneeded code, and check that the
5200	configured Max{Retrieve,Store}FileSize is greater than zero.
5201
52022014-10-21  tjsaunders <tjsaunders@blackpearlsystems.com>
5203
5204	* src/scoreboard.c, utils/scoreboard.c: If lseek(2) fails, make sure
5205	to clean up after ourselves before leaving (i.e.  unlocking the
5206	scoreboard, and closing the fd).
5207
52082014-10-19  TJ Saunders <tj@castaglia.org>
5209
5210	* NEWS: Update NEWS for Bug#4035.
5211
52122014-10-19  TJ Saunders <tj@castaglia.org>
5213
5214	* : Merge pull request #53 from
5215	proftpd/xfer-hiddenstores-not-renamed-bug4035 Bug#4035 - HiddenStores file not renamed every time
5216
52172014-10-19  TJ Saunders <tj@castaglia.org>
5218
5219	* : commit e3a87649a7bafa593b68b36fcc0b9eb2d1045eee Author: TJ
5220	Saunders <tj@castaglia.org> Date:   Sun Oct 19 12:13:49 2014 -0700
5221
52222014-10-19  TJ Saunders <tj@castaglia.org>
5223
5224	* : Merge pull request #51 from
5225	proftpd/sftp-too-small-buffer-bug4112 Bug#4112 - Failure to connect using mod_sftp sometimes due to
5226	too-small buffers
5227
52282014-10-19  TJ Saunders <tj@castaglia.org>
5229
5230	* : commit 70c583005687a2cbba6807f9f83a504895eedb47 Author: TJ
5231	Saunders <tj@castaglia.org> Date:   Sun Oct 19 12:08:38 2014 -0700
5232
52332014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5234
5235	* src/log.c: If we fail to open a syslog socket, log the error.
5236
52372014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5238
5239	* src/ctrls.c: Remove redundant variable.
5240
52412014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5242
5243	* modules/mod_core.c: Ignore errors from setting trace levels here,
5244	when restarting.
5245
52462014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5247
5248	* lib/pr-syslog.c, src/log.c: More cases where we are not concerned
5249	with errors; be explicit about it.
5250
52512014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5252
5253	* src/inet.c: Check (or ignore) errors from pr_inet_set_block().
5254
52552014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5256
5257	* contrib/mod_tls.c: Fix a case where, when secure site-to-site
5258	transfers are used, mod_tls would ignore a possible problem when
5259	matching the server cert's CN.
5260
52612014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5262
5263	* lib/tpl.c: The tpl code needed some va_end() calls before
5264	returning early from a variadic function.
5265
52662014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5267
5268	* contrib/mod_sftp/misc.c: Log in other places here when
5269	stat(2)/fstat(2) fail.
5270
52712014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5272
5273	* contrib/mod_sftp/misc.c: Log if stat(2) fails here.
5274
52752014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5276
5277	* src/data.c: We're not really concerned with a fcntl(2) error here.
5278
52792014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5280
5281	* src/ctrls.c: Some controls could elicit large responses.
5282
52832014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5284
5285	* src/ctrls.c: Put a bound on the number of controls response
5286	arguments, too.
5287
52882014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5289
5290	* src/ctrls.c: Put a bound on the max number of controls request
5291	arguments.
5292
52932014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5294
5295	* modules/mod_ctrls.c: Another place where we can check before
5296	calling close() on an fd.
5297
52982014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5299
5300	* modules/mod_ctrls.c: Make sure the fd is a valid fd value before
5301	passing it to close(2).
5302
53032014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5304
5305	* src/scoreboard.c: More handling of lseek(2) errors.
5306
53072014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5308
5309	* utils/scoreboard.c: Handle possible lseek(2) error when scrubbing
5310	scoreboard via ftpscrub.
5311
53122014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5313
5314	* src/netaddr.c: More paranoid error handling, prompted by Coverity.
5315
53162014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5317
5318	* contrib/mod_quotatab_file.c: Handle (rare) cases where lseek(2)
5319	might return an error.
5320
53212014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5322
5323	* modules/mod_core.c: Coverity found another place where possibly
5324	badly formatted Trace settings could trigger a null pointer
5325	dereference.
5326
53272014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5328
5329	* contrib/mod_sftp/keystore.c: Avoid possible null pointer
5330	dereferences (unlikely) when handling badly configured
5331	SFTPAuthorized{Host,User}Keys parameters.
5332
53332014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5334
5335	* modules/mod_core.c: Avoid possible null pointer dereference, per
5336	Coverity.
5337
53382014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5339
5340	* contrib/mod_wrap2/mod_wrap2.c: Paranoidly check for NULL from
5341	strchr(3); this case should've been caught in the directive handler.
5342
53432014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5344
5345	* contrib/mod_sftp/fxp.c: Avoid possible (but unlikely) null pointer
5346	dereference.
5347
53482014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5349
5350	* src/ctrls.c: Watch for short reads when reading in a controls
5351	request.
5352
53532014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5354
5355	* doc/howto/Tracing.html, src/log.c, src/trace.c: Handle the case
5356	where opening a syslog socket might fail.
5357
53582014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5359
5360	* contrib/mod_sftp/fxp.c: Remove unreachable code, found by
5361	Coverity.
5362
53632014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5364
5365	* modules/mod_xfer.c: Remove code which is logically
5366	dead/unreachable, per Coverity.
5367
53682014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5369
5370	* src/memcache.c: A few more missing break statements found by
5371	Coverity.
5372
53732014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5374
5375	* modules/mod_core.c: Handle the EISDIR case first; the following
5376	code would handle it automatically, but we want to handle EISDIR as
5377	a special case.
5378
53792014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5380
5381	* src/event.c: Coverity's analysis correctly identified some
5382	dead/unreachable code.  Clean it up here.
5383
53842014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5385
5386	* modules/mod_xfer.c: Remove redundant check, pointed out by
5387	Coverity.
5388
53892014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5390
5391	* src/scoreboard.c: Remove some code which would never be reached,
5392	pointed out by Coverity.
5393
53942014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5395
5396	* utils/ftpshut.c: Adding missing break statement, and make the code
5397	clearer.
5398
53992014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5400
5401	* src/memcache.c: More missing break statements found by Coverity.
5402
54032014-10-18  tjsaunders <tjsaunders@blackpearlsystems.com>
5404
5405	* modules/mod_memcache.c: Add missing break statements, per
5406	Coverity.
5407
54082014-10-17  TJ Saunders <tj@castaglia.org>
5409
5410	* contrib/mod_tls.c: Refactor the protocol-enabling bits into a
5411	common function, which makes the protocol setting code easier to
5412	read/maintain.
5413
54142014-10-16  tjsaunders <tjsaunders@blackpearlsystems.com>
5415
5416	* NEWS, RELEASE_NOTES, doc/contrib/mod_tls.html: Update mod_tls
5417	docs, NEWS, and release notes for Bug#4114.
5418
54192014-10-16  TJ Saunders <tj@castaglia.org>
5420
5421	* : Merge pull request #56 from proftpd/tls-sslv3-disabled-bug4114 Bug#4114 - mod_tls should not support SSLv3 by default.
5422
54232014-10-16  tjsaunders <tjsaunders@blackpearlsystems.com>
5424
5425	* contrib/mod_tls.c: Bug#4114 - mod_tls should not support SSLv3 by
5426	default.
5427
54282014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>
5429
5430	* src/inet.c: Better error handling (and reporting).
5431
54322014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>
5433
5434	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
5435	regression test demonstrating setting the UID/GID columns for
5436	SQLUserInfo to NULL.
5437
54382014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>
5439
5440	* contrib/mod_sql.c: Always log the default UID/GID, not just when
5441	"SQLAuthenticate groups" is in effect.  Sheesh.
5442
54432014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>
5444
5445	* src/bindings.c, src/inet.c, src/netaddr.c: In handling some
5446	Coverity-found issues, I think we were propagating some errors too
5447	eagerly.  Fix these, along with the trace logging added for tracking
5448	down the cause.
5449
54502014-10-14  TJ Saunders <tj@castaglia.org>
5451
5452	* : Merge pull request #55 from proftpd/coverity-defects Coverity defects
5453
54542014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>
5455
5456	* modules/mod_delay.c: Check for fcntl(2) return values, and log
5457	them (via trace logging).
5458
54592014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>
5460
5461	* contrib/mod_sftp/fxp.c: If there are errors setting a file handle
5462	as blocking, log them via trace logging.
5463
54642014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>
5465
5466	* contrib/mod_tls.c: Log (via trace messages) when putting a socket
5467	into nonblocking/blocking mode results in errors.  Make it clear
5468	that setting other socket options can be ignored if they fail.
5469
54702014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>
5471
5472	* src/stash.c: Minor edge case found by Coverity.
5473
54742014-10-14  tjsaunders <tjsaunders@blackpearlsystems.com>
5475
5476	* contrib/coverity/modeling.c: More Coverity modeling hints.
5477
54782014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5479
5480	* contrib/mod_tls.c: More places where we need to log if there's an
5481	issue stashing a note in a table, especially these SSL notes.
5482
54832014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5484
5485	* contrib/mod_shaper.c: Per Coverity, avoid possible divide-by-zero
5486	situation.
5487
54882014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5489
5490	* contrib/coverity/modeling.c: Model pr_session_disconnect() as a
5491	killpath.
5492
54932014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5494
5495	* contrib/mod_sql_passwd.c: If we have an error reading the salt,
5496	then don't proceed to trying to manipulate the buffer containing
5497	said salt.
5498
54992014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5500
5501	* src/timers.c: Remove redundant null check.
5502
55032014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5504
5505	* contrib/mod_sftp/fxp.c: Fix more places in mod_sftp where checking
5506	xerrno for EOF was unnecessary.
5507
55082014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5509
5510	* contrib/mod_sftp/fxp.c: As it is not possible for xerrno to be EOF
5511	in this case, remove the unneeded tertiary operator/check for that
5512	condition.
5513
55142014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5515
5516	* contrib/mod_snmp/mod_snmp.c: Add missing break statement
5517	(copy-pasto).
5518
55192014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5520
5521	* src/dirtree.c: Add missing break statement.  Oops.
5522
55232014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5524
5525	* contrib/mod_radius.c: Make it clearer what the expected
5526	usage/return value of the RADIUS_IS_VAR macro is.
5527
55282014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5529
5530	* src/str.c: Remove some redundant checks: an int cannot be larger
5531	than INT_MAX, by definition.
5532
55332014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5534
5535	* src/fsio.c: Restructure a function to remove dead code.
5536
55372014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5538
5539	* src/cmd.c: Log if we have a problem caching our "displayable"
5540	string of a command in its notes table.
5541
55422014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5543
5544	* contrib/mod_sftp/display.c, src/display.c: Make sure that
5545	pr_fsio_fstat() succeeds before setting the IO block size hint on
5546	the file handle.
5547
55482014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5549
5550	* contrib/mod_sftp/misc.c: Another place where we weren't checking
5551	pr_fsio_fstat()'s return value.
5552
55532014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5554
5555	* contrib/mod_sftp/fxp.c: Be sure to check the pr_table_add() return
5556	value, per Coverity.
5557
55582014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5559
5560	* modules/mod_xfer.c: Per Coverity's prodding, check the return
5561	value of pr_fsio_stat().
5562
55632014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5564
5565	* contrib/coverity/modeling.c: Model setenv(3) as a TAINTED_DATA
5566	sink.
5567
55682014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5569
5570	* contrib/mod_sftp/fxp.c: Another copy-pasto found by Coverity.
5571
55722014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5573
5574	* contrib/mod_sftp/fxp.c: Copy-pasto, found by Coverity.
5575
55762014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5577
5578	* contrib/mod_sftp/keys.c: Copy-pasto, found by Coverity.
5579
55802014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5581
5582	* contrib/mod_sftp/packet.c: If mod_sftp is interrupted when reading
5583	from a socket, then retry that read(2) call again, rather than just
5584	looping infinitely.
5585
55862014-10-12  tjsaunders <tjsaunders@blackpearlsystems.com>
5587
5588	* contrib/mod_ldap.c: Remove unnecessary tertiary operator.
5589
55902014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5591
5592	* modules/mod_delay.c: Use proper blocks, especially when dealing
5593	with macro expansion, to make clear what is happening (and what is
5594	in scope).
5595
55962014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5597
5598	* contrib/mod_sftp/kex.c: Be consistent with the datatype used for
5599	the hostkey length throughout the KEX API.
5600
56012014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5602
5603	* modules/mod_delay.c: If mod_delay has issues blocking/unblocking
5604	signals, log the reason why via trace logging.
5605
56062014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5607
5608	* contrib/mod_copy.c: Log, via trace logging, if we fail to add a
5609	session note.
5610
56112014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5612
5613	* contrib/mod_copy.c: Log, via trace logging, a should-never-fail
5614	error.
5615
56162014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5617
5618	* lib/pr-syslog.c: If we have a problem sending a message via
5619	syslog, try (at least) to report it via STDERR.
5620
56212014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5622
5623	* src/fsio.c: Prompted by Coverity, log (rather than ignoring)
5624	return values.
5625
56262014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5627
5628	* contrib/mod_sftp/agent.c: Per Coverity, at least log the fcntl(2)
5629	error when trying to set CLOEXEC on an fd opened to talk to an SSH
5630	agent.
5631
56322014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5633
5634	* src/netio.c: Explicitly ignore fcntl(2) return values here.
5635
56362014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5637
5638	* src/inet.c: Per Coverity, make sure that we check for, and handle
5639	errors, when calling getsockopt(2).
5640
56412014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5642
5643	* src/inet.c: At least log, via trace logging, if fcntl(F_SETOWN)
5644	fails.
5645
56462014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5647
5648	* src/bindings.c, src/inet.c: Propagate -- and check for -- more
5649	return values, prompted by Coverity.
5650
56512014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5652
5653	* contrib/mod_sftp/rfc4716.c: Be more paranoid about checking return
5654	values, prompted by Coverity.
5655
56562014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5657
5658	* src/data.c: Explicitly ignore the fcntl(2) return value for data
5659	sockets.
5660
56612014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5662
5663	* src/inet.c: If setting a socket back to blocking mode fails,
5664	propagate that error to the caller, just as we do when setting the
5665	socket to nonblocking mode.  Found by Coverity.
5666
56672014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5668
5669	* src/ctrls.c, src/log.c: Explicitly ignore the fcntl(2) return
5670	value when opening a log fd; there is no existing log fd that we can
5671	use at that point for reporting the error.
5672
56732014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5674
5675	* src/dirtree.c: If we encounter an error in opening a socket, make
5676	sure that we return from that function early, as appropriate (found
5677	by Coverity).
5678
56792014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5680
5681	* utils/ftptop.c: Fix a possible (albeit unlikely) resource leak
5682	identified by Coverity.
5683
56842014-10-11  TJ Saunders <tj@castaglia.org>
5685
5686	* : Merge pull request #54 from proftpd/coverity-defects Coverity defects
5687
56882014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5689
5690	* contrib/mod_sftp/display.c, src/display.c: Fix error spotted by
5691	Coverity, where we might exceed the array of supported units for
5692	Display variables.
5693
56942014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5695
5696	* lib/pr-syslog.c: Avoid possible buffer overrun on exceedingly log
5697	syslog-destined log messages, per Coverity.
5698
56992014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5700
5701	* contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Ensure matching
5702	datatypes, on platforms where uint32_t and size_t are not the same
5703	size; this should address an issue spotted by Coverity.
5704
57052014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5706
5707	* contrib/mod_shaper.c: Initialize variable, per Coverity.
5708
57092014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5710
5711	* contrib/mod_snmp/mod_snmp.c: Initialize variable, per Coverity.
5712
57132014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5714
5715	* contrib/mod_sftp/keys.c: Initialize variable, per Coverity.
5716
57172014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5718
5719	* src/stash.c: Initialize variable value, per Coverity.
5720
57212014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5722
5723	* contrib/mod_sftp_sql.c: Be pedanticly cautious, prompted by
5724	Coverity, in making sure that buffer indices are within the range we
5725	assume.
5726
57272014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5728
5729	* src/main.c: Avoid possible descriptor leak, found by Coverity, by
5730	using the existing pr_fs_get_usable_fd() function, rather than
5731	multiple different approaches.
5732
57332014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5734
5735	* contrib/mod_snmp/mod_snmp.c: Coverity found a "leaked" file
5736	descriptor in mod_snmp; we were not returning the opened socket to
5737	the caller when opening the listening socket.
5738
57392014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5740
5741	* src/netaddr.c: Fix a case, found by Coverity, where we would not
5742	properly free an addrinfo.
5743
57442014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5745
5746	* src/inet.c: Fix error case where a socket opened by init_conn()
5747	was not properly closed on error.  This leak was identified by
5748	Coverity.
5749
57502014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5751
5752	* src/ctrls.c: If there are errors when opening a Controls socket,
5753	make sure that the socket is closed, otherwise we have a descriptor
5754	leak.  This was identified by Coverity.
5755
57562014-10-11  tjsaunders <tjsaunders@blackpearlsystems.com>
5757
5758	* src/env.c: Fix memory leak identified by Coverity: setenv(3)
5759	already makes a copy of its arguments, which means that we do not
5760	need to do it.
5761
57622014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>
5763
5764	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Make sure that when
5765	prompting the user for a passphrase for a certificate, we ensure
5766	that the buffer holding the passphrase is NUL-terminated.
5767
57682014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>
5769
5770	* utils/scoreboard.c: If we fail to obtain a lock on the scoreboard
5771	and return the error, make sure we close the fd on the way out, lest
5772	we leak an fd.
5773
57742014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>
5775
5776	* src/netaddr.c: Fix case where we might reference a buffer that has
5777	fallen out of scope.
5778
57792014-10-10  tjsaunders <tjsaunders@blackpearlsystems.com>
5780
5781	* contrib/mod_radius.c: Fix minor socket descriptor leak found by
5782	Coverity.
5783
57842014-10-09  tjsaunders <tjsaunders@blackpearlsystems.com>
5785
5786	* src/inet.c, tests/Makefile.in, tests/api/inet.c,
5787	tests/api/stubs.c, tests/api/tests.c, tests/api/tests.h: Start
5788	working on unit tests for the Inet API.
5789
57902014-10-09  tjsaunders <tjsaunders@blackpearlsystems.com>
5791
5792	* include/filter.h, src/filter.c, tests/Makefile.in,
5793	tests/api/filter.c, tests/api/tests.c, tests/api/tests.h: Adding
5794	unit tests for the Filter API.
5795
57962014-10-08  tjsaunders <tjsaunders@blackpearlsystems.com>
5797
5798	* doc/howto/BCP.html, doc/modules/mod_auth.html: Minor doc updates,
5799	especially a caution for guarding the /proc filesystem.
5800
58012014-10-07  TJ Saunders <tj@castaglia.org>
5802
5803	* include/options.h: Make the default lingering close timeout be 10
5804	secs, rather than 30 secs; the latter is rather long to wait for
5805	lost/wandering data to make its way to a client.
5806
58072014-10-07  TJ Saunders <tj@castaglia.org>
5808
5809	* NEWS: Update NEWS for Bug#4110.
5810
58112014-10-07  TJ Saunders <tj@castaglia.org>
5812
5813	* : Merge pull request #52 from proftpd/core-solaris-conslog-bug4110 Bug#4110 - proftpd on Solaris should use /dev/conslog instead of
5814	/dev/lo...
5815
58162014-10-05  TJ Saunders <tj@castaglia.org>
5817
5818	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Added more
5819	regression tests, and tweaked code to add more logging, and to
5820	handle additional error cases.  This should help remove edge cases
5821	where HiddenStores are not properly deleted on error.
5822
58232014-10-05  TJ Saunders <tj@castaglia.org>
5824
5825	* include/pr-syslog.h, lib/pr-syslog.c: Bug#4110 - proftpd on
5826	Solaris should use /dev/conslog instead of /dev/log.
5827
58282014-10-05  TJ Saunders <tj@castaglia.org>
5829
5830	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/kex.c,
5831	contrib/mod_sftp/mac.c: Increase buffer sizes where we write out
5832	mpints during the key exchange process, for Bug#4112.
5833
58342014-10-05  TJ Saunders <tj@castaglia.org>
5835
5836	* : commit d2e0461cc51145c71dc1d8a4b48b669a39f5fe1a Author: TJ
5837	Saunders <tj@castaglia.org> Date:   Sun Oct 5 10:04:22 2014 -0700
5838
58392014-10-05  TJ Saunders <tj@castaglia.org>
5840
5841	* doc/contrib/mod_ldap.html: Update mod_ldap docs to mention "ldap"
5842	trace logging channel, courtesy of Bug#4107.
5843
58442014-10-05  TJ Saunders <tj@castaglia.org>
5845
5846	* : Merge pull request #50 from proftpd/ldap-more-tracing-bug4107 Bug#4107 - LDAPLog can fill disk on a busy server.  Start moving
5847	some of...
5848
58492014-09-28  tjsaunders <tjsaunders@blackpearlsystems.com>
5850
5851	* contrib/mod_tls.c: Initial work on PSK support; needs testing.
5852
58532014-09-28  TJ Saunders <tj@castaglia.org>
5854
5855	* contrib/mod_ldap.c: Bug#4107 - LDAPLog can fill disk on a busy
5856	server.  Start moving some of the mod_ldap logging into TraceLog.
5857
58582014-09-28  TJ Saunders <tj@castaglia.org>
5859
5860	* NEWS: Updated NEWS for fix of Bug#4109.
5861
58622014-09-28  TJ Saunders <tj@castaglia.org>
5863
5864	* : Merge pull request #49 from proftpd/inet-ipv6-tclass-bug4109 Bug#4109 - setsockopt() call for IPV6_TCLASS should use
5865	IPPROTO_IPV6.
5866
58672014-09-23  TJ Saunders <tj@castaglia.org>
5868
5869	* NEWS: Update NEWS with fix for Bug#4108.
5870
58712014-09-23  TJ Saunders <tj@castaglia.org>
5872
5873	* : Merge pull request #48 from
5874	proftpd/tls-data-conn-handshake-delay-bug4108 Bug#4108 - SSL handshakes for data connections sometimes stall for
5875	3-30 ...
5876
58772014-09-21  TJ Saunders <tj@castaglia.org>
5878
5879	* : commit cf83753a6564b84f6962f60f2f0b49b4c7a89a97 Author: TJ
5880	Saunders <tj@castaglia.org> Date:   Sun Sep 21 21:51:56 2014 -0700
5881
58822014-09-21  TJ Saunders <tj@castaglia.org>
5883
5884	* .travis.yml: Use --enable-devel when building via travis-ci.
5885
58862014-09-21  TJ Saunders <tj@castaglia.org>
5887
5888	* contrib/mod_deflate.c, modules/mod_memcache.c: Fix build
5889	warnings/breakage.
5890
58912014-09-21  TJ Saunders <tj@castaglia.org>
5892
5893	* : commit d2f5d99fef7a30b3772b48ee4b3a400bf7ef9a65 Author: TJ
5894	Saunders <tj@castaglia.org> Date:   Sun Sep 21 16:53:03 2014 -0700
5895
58962014-09-18  TJ Saunders <tj@castaglia.org>
5897
5898	* doc/modules/mod_facts.html: Slightly better anchor name.
5899
59002014-09-18  TJ Saunders <tj@castaglia.org>
5901
5902	* doc/modules/mod_facts.html: Add FAQ about disabling mod_facts
5903	module entirely.
5904
59052014-09-14  TJ Saunders <tj@castaglia.org>
5906
5907	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Increase cipher
5908	and MAC buffer sizes, as a (somewhat educated) guess as to what
5909	might be causing the issues reported here:   https://forums.proftpd.org/smf/index.php/topic,11611.0.html
5910
59112014-09-10  TJ Saunders <tj@castaglia.org>
5912
5913	* doc/contrib/mod_tls.html: Doc typo.
5914
59152014-09-07  TJ Saunders <tj@castaglia.org>
5916
5917	* NEWS, contrib/mod_sftp/display.c: Make sure the fix for Bug#4094
5918	is applied to mod_sftp's handling of Display variables as well.
5919
59202014-09-07  TJ Saunders <tj@castaglia.org>
5921
5922	* contrib/mod_sftp/keys.c: When loading the hostkey data, stop using
5923	the scratch buffer, and start using the provided pool.  In limited
5924	tests, this appears to help with rekeying.
5925
59262014-09-07  TJ Saunders <tj@castaglia.org>
5927
5928	* doc/modules/mod_rlimit.html: Add a FAQ section to mod_rlimit, for
5929	the RLimitChroot directive.
5930
59312014-09-07  TJ Saunders <tj@castaglia.org>
5932
5933	* modules/mod_core.c, modules/mod_xfer.c: Start moving toward using
5934	'core.module-reset' event handlers, rather than a POST_CMD HOST
5935	handler, for preparing a module for a changed main_server pointer
5936	due to a HOST command.
5937
59382014-09-04  tjsaunders <tjsaunders@blackpearlsystems.com>
5939
5940	* NEWS, RELEASE_NOTES: Update NEWS, RELEASE_NOTES for fix for
5941	Bug#4098.
5942
59432014-09-04  TJ Saunders <tj@castaglia.org>
5944
5945	* : Merge pull request #44 from proftpd/sftp-hostkey-perms-bug4098 Bug#4098 -  mod_sftp unable to use SFTPHostKey due to being group
5946	readable in CentOS 7.
5947
59482014-09-03  TJ Saunders <tj@castaglia.org>
5949
5950	* contrib/mod_sftp/keys.c, tests/t/lib/ProFTPD/TestSuite/Utils.pm,
5951	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add
5952	integration/regression test for Bug#4098, and improve the log
5953	message when insecure permissions on hostkey files are found.
5954
59552014-08-30  TJ Saunders <tj@castaglia.org>
5956
5957	* : commit 3e1a5851a7e2c7bcb711328225ffa9898780f2ec Merge: cd85317
5958	a8cc506 Author: TJ Saunders <tj@castaglia.org> Date:   Fri Aug 29
5959	08:51:04 2014 -0700
5960
59612014-08-29  TJ Saunders <tj@castaglia.org>
5962
5963	* NEWS: Updating NEWS.
5964
59652014-08-29  TJ Saunders <tj@castaglia.org>
5966
5967	* contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: Make
5968	sure that if zlib support is lacking, mod_sftp does not to try
5969	negotiate compression during the key exchange.
5970
59712014-08-29  TJ Saunders <tj@castaglia.org>
5972
5973	* contrib/mod_sftp/Makefile.in: Make sure to add -lz, when needed,
5974	to the building of a DSO mod_sftp.
5975
59762014-08-29  TJ Saunders <tj@castaglia.org>
5977
5978	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/compress.c,
5979	contrib/mod_sftp/configure, contrib/mod_sftp/configure.in: Improve
5980	the detection of zlib support, and handling of the results, for
5981	mod_sftp.
5982
59832014-08-28  TJ Saunders <tj@castaglia.org>
5984
5985	* Make.rules.in, configure, configure.in,
5986	contrib/mod_sftp/Makefile.in, contrib/mod_sftp/compress.c,
5987	contrib/mod_sftp/configure, contrib/mod_sftp/configure.in,
5988	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in,
5989	contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c: Bug#4102 -
5990	Failure to build mod_tls when using static libcrypto due to libdl
5991	linker errors.  In the course of fixing this issue, I also fixed problems with
5992	configure's detection of EC support in OpenSSL, and make it possible
5993	for mod_sftp to build without zlib support.
5994
59952014-08-27  TJ Saunders <tj@castaglia.org>
5996
5997	* contrib/mod_sftp/configure, contrib/mod_sftp/configure.in: Fix
5998	another place where the libdl linker flag may need to come earlier
5999	in the list.
6000
60012014-08-27  TJ Saunders <tj@castaglia.org>
6002
6003	* configure, configure.in: Bug#4102 - Failure to build mod_tls when
6004	using static libcrypto due to libdl linker errors.
6005
60062014-08-27  TJ Saunders <tj@castaglia.org>
6007
6008	* contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c,
6009	contrib/mod_sftp/mod_sftp.h.in: Bug#4098 - mod_sftp unable to use
6010	SFTPHostKey due to being group readable in CentOS 7.
6011
60122014-08-19  TJ Saunders <tj@castaglia.org>
6013
6014	* contrib/mod_sftp/kex.c,
6015	tests/t/etc/modules/mod_sftp/ssh_host_rsa1024_key,
6016	tests/t/etc/modules/mod_sftp/ssh_host_rsa1024_key.pub,
6017	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4097 - SSH rekey
6018	fails when using RSA hostkey smaller than 2048 bits.
6019
60202014-08-16  TJ Saunders <tj@castaglia.org>
6021
6022	* : Merge pull request #41 from proftpd/core-smkdir-only-when-needed Only use the mkdtemp(3) route in pr_fsio_smkdir() if root privs are
6023	need...
6024
60252014-08-14  TJ Saunders <tj@castaglia.org>
6026
6027	* contrib/mod_tls.c, include/bindings.h, modules/mod_core.c,
6028	src/bindings.c, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
6029	tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: More work on handling
6030	the implications of HOST commands in various modules; much more work
6031	to be done here.
6032
60332014-08-14  TJ Saunders <tj@castaglia.org>
6034
6035	* include/ftp.h, modules/mod_core.c,
6036	tests/t/lib/ProFTPD/TestSuite/FTP.pm: Create branch for finishing
6037	work on supporting the HOST command (Bug#3289).
6038
60392014-08-14  TJ Saunders <tj@castaglia.org>
6040
6041	* src/fsio.c: Only use the mkdtemp(3) route in pr_fsio_smkdir() if
6042	root privs are needed for setting the desired ownership, i.e.
6043	UserOwner/GroupOwner are in effect.
6044
60452014-08-13  TJ Saunders <tj@castaglia.org>
6046
6047	* doc/modules/mod_log.html: Update mod_log docs with a FAQ section,
6048	including a FAQ on how to get the ExtendedLog to include the reason
6049	why a session was ended.
6050
60512014-08-13  TJ Saunders <tj@castaglia.org>
6052
6053	* modules/mod_ctrls.c, src/ctrls.c: Stylistic nits; no functional
6054	change.
6055
60562014-08-13  TJ Saunders <tj@castaglia.org>
6057
6058	* configure: Regenerated configure script.
6059
60602014-08-13  TJ Saunders <tj@castaglia.org>
6061
6062	* configure.in: Adding build summary for static and shared modules;
6063	more info will be added in this section.
6064
60652014-08-13  TJ Saunders <tj@castaglia.org>
6066
6067	* : commit e423841e2d07f72d766baff5fddf094db343ff38 Author: TJ
6068	Saunders <tj@castaglia.org> Date:   Wed Aug 13 06:42:53 2014 -0700
6069
60702014-08-13  TJ Saunders <tj@castaglia.org>
6071
6072	* configure.in: Fixed handling of too-many/misplaced colons in
6073	--with-shared argument.
6074
60752014-08-12  TJ Saunders <tj@castaglia.org>
6076
6077	* configure, configure.in, src/fsio.c: Revert previous configure
6078	script change; it broke the build for shared modules.  Need to
6079	reexamine why that feedback was given on GitHub.  Also fix a typo
6080	causing a compiler warning.
6081
60822014-08-12  TJ Saunders <tj@castaglia.org>
6083
6084	* configure: Regenerated configure script.
6085
60862014-08-12  TJ Saunders <tj@castaglia.org>
6087
6088	* configure.in: Review feedback from GitHub.
6089
60902014-08-11  tjsaunders <tjsaunders@blackpearlsystems.com>
6091
6092	* NEWS: Update NEWS for fix for Bug#4094.
6093
60942014-08-11  TJ Saunders <tj@castaglia.org>
6095
6096	* : Merge pull request #38 from
6097	proftpd/core-display-avail-space-bug4094 Bug#4094 - Available space on file system using %f displays wrong
6098	value.
6099
61002014-08-11  tjsaunders <tjsaunders@blackpearlsystems.com>
6101
6102	* NEWS: Update NEWS for changes for Bug#4030.
6103
61042014-08-11  TJ Saunders <tj@castaglia.org>
6105
6106	* : Merge pull request #37 from proftpd/auth-negative-cache-bug4030 Bug#4030 - Cache negative/failed Auth API name/ID lookups.
6107
61082014-08-11  TJ Saunders <tj@castaglia.org>
6109
6110	* include/auth.h, src/auth.c, tests/api/auth.c: Bug#4030 - Cache
6111	negative/failed Auth API name/ID lookups.
6112
61132014-08-10  TJ Saunders <tj@castaglia.org>
6114
6115	* NEWS: Update NEWS with fix for Bug#4020.
6116
61172014-08-10  TJ Saunders <tj@castaglia.org>
6118
6119	* : Merge pull request #36 from proftpd/delay-delayonevent-bug4020 Bug#4020 - Add minimum delay options to mod_delay functionality
6120
61212014-08-10  TJ Saunders <tj@castaglia.org>
6122
6123	* doc/modules/mod_delay.html, modules/mod_delay.c,
6124	tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Bug#4020 - Add
6125	minimum delay options to mod_delay functionality.
6126
61272014-08-09  TJ Saunders <tj@castaglia.org>
6128
6129	* : Merge pull request #35 from proftpd/fsio-getpipebuf-bug4050 Bug#4050 - Use of PIPE_BUF causes build failure on platforms without
6130	it.
6131
61322014-08-09  TJ Saunders <tj@castaglia.org>
6133
6134	* doc/contrib/mod_copy.html, doc/contrib/mod_deflate.html,
6135	doc/contrib/mod_dnsbl.html, doc/contrib/mod_geoip.html,
6136	doc/contrib/mod_ifsession.html, doc/contrib/mod_rewrite.html,
6137	doc/contrib/mod_sftp.html, doc/contrib/mod_snmp.html,
6138	doc/contrib/mod_sql.html, doc/contrib/mod_sql_passwd.html,
6139	doc/contrib/mod_tls.html, doc/contrib/mod_tls_memcache.html,
6140	doc/contrib/mod_tls_shmcache.html, doc/modules/mod_auth_file.html,
6141	doc/modules/mod_auth_pam.html, doc/modules/mod_auth_unix.html,
6142	doc/modules/mod_ctrls.html, doc/modules/mod_delay.html,
6143	doc/modules/mod_dso.html, doc/modules/mod_facl.html,
6144	doc/modules/mod_ident.html, doc/modules/mod_xfer.html,
6145	modules/mod_auth_pam.c,
6146	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm,
6147	tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm: More
6148	documentation followup/cleanup for Bug#4054.
6149
61502014-08-09  TJ Saunders <tj@castaglia.org>
6151
6152	* contrib/mod_sql_passwd.c, contrib/mod_tls_memcache.c,
6153	contrib/mod_tls_shmcache.c, doc/contrib/mod_copy.html,
6154	doc/contrib/mod_deflate.html, doc/contrib/mod_dnsbl.html,
6155	doc/contrib/mod_geoip.html, doc/contrib/mod_ifsession.html,
6156	doc/contrib/mod_rewrite.html, doc/contrib/mod_sftp.html,
6157	doc/contrib/mod_snmp.html, doc/contrib/mod_sql.html,
6158	doc/contrib/mod_sql_passwd.html, doc/contrib/mod_tls.html,
6159	doc/contrib/mod_tls_memcache.html,
6160	doc/contrib/mod_tls_shmcache.html: Bug#4054 - Ensure that module
6161	documentation mentions Trace channel names where applicable.
6162
61632014-08-09  TJ Saunders <tj@castaglia.org>
6164
6165	* : Merge pull request #34 from proftpd/core-serverident-var-version Support %{version} variable for ServerIdent
6166
61672014-08-09  TJ Saunders <tj@castaglia.org>
6168
6169	* : Merge pull request #33 from proftpd/sftp-missing-payload-bug4093 Bug#4093 - Improve mod_sftp handling of missing packet payloads.
6170
61712014-08-09  TJ Saunders <tj@castaglia.org>
6172
6173	* src/session.c, tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm:
6174	Support a %{version} variable in the ServerIdent value.
6175
61762014-08-09  TJ Saunders <tj@castaglia.org>
6177
6178	* modules/mod_ctrls.c: Clarify the mod_ctrls message when chown(2)
6179	fails to include the local socket path.
6180
61812014-08-09  TJ Saunders <tj@castaglia.org>
6182
6183	* modules/mod_log.c: Fix handling of ExtendedLogs which log to
6184	syslog.
6185
61862014-08-08  TJ Saunders <tj@castaglia.org>
6187
6188	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding another
6189	regression test for Bug#4067, proving that an ExtendedLog using just
6190	the READ or WRITE classes properly logs SFTP uploads and downloads,
6191	without needing to explicitly include the SFTP class.
6192
61932014-08-07  tjsaunders <tjsaunders@blackpearlsystems.com>
6194
6195	* RELEASE_NOTES: Minor note, for future fleshing out, about
6196	ExtendedLog functionality changes.
6197
61982014-08-07  tjsaunders <tjsaunders@blackpearlsystems.com>
6199
6200	* src/inet.c: Avoid log spam on FreeBSD 10, which is reported to
6201	indicate that the IPV6_TCLASS socket option is not usable on IPv6
6202	sockets via EINVAL, rather than the more appropriate ENOPROTOOPT.
6203	Sigh.
6204
62052014-07-30  TJ Saunders <tj@castaglia.org>
6206
6207	* contrib/mod_sftp/auth-hostbased.c, contrib/mod_sftp/blacklist.c,
6208	contrib/mod_sftp/keys.c, contrib/mod_sftp/keystore.c,
6209	contrib/mod_sftp/msg.c: Bug#4093 - Improve mod_sftp handling of
6210	missing packet payloads.
6211
62122014-07-28  tjsaunders <tjsaunders@blackpearlsystems.com>
6213
6214	* src/bindings.c: Ignore "unable to accept an incoming connection:
6215	Software caused connection abort" messages, as they are almost
6216	always caused by TCP probes/health checks from e.g. naive load
6217	balancers.
6218
62192014-07-28  tjsaunders <tjsaunders@blackpearlsystems.com>
6220
6221	* NEWS: Updated NEWS for fix of Bug#4091.
6222
62232014-07-28  TJ Saunders <tj@castaglia.org>
6224
6225	* : Merge pull request #32 from
6226	proftpd/core-privs-error-logging-bug4091 Bug#4091 - Log "Operation not permitted" privs errors at NOTICE
6227	rather t...
6228
62292014-07-27  TJ Saunders <tj@castaglia.org>
6230
6231	* src/privs.c: Bug#4091 - Log "Operation not permitted" privs errors
6232	at NOTICE rather than ERROR.
6233
62342014-07-25  tjsaunders <tjsaunders@blackpearlsystems.com>
6235
6236	* NEWS, contrib/mod_wrap2_file.c: Update NEWS for fix of Bug#4090.
6237
62382014-07-25  TJ Saunders <tj@castaglia.org>
6239
6240	* : Merge pull request #31 from proftpd/wrap2-file-ipv6-addr-bug4090 Bug#4090 - mod_wrap2_file does not support IPv6 addresses properly.
6241
62422014-07-25  tjsaunders <tjsaunders@blackpearlsystems.com>
6243
6244	* NEWS: Updated NEWS with fix for Bug#4089.
6245
62462014-07-25  TJ Saunders <tj@castaglia.org>
6247
6248	* : Merge pull request #30 from
6249	proftpd/sftp-auth-multiple-attempts-bug4089 Bug#4089 - mod_sftp does not allow multiple attempts using a given
6250
62512014-07-19  TJ Saunders <tj@castaglia.org>
6252
6253	* NEWS: Update NEWS for fix for Bug#4087.
6254
62552014-07-19  TJ Saunders <tj@castaglia.org>
6256
6257	* : Merge pull request #29 from
6258	proftpd/sftp-maxloginattempts-none-bug4087 Bug#4087 - mod_sftp does not handle "MaxLoginAttempts none"
6259	properly.
6260
62612014-07-17  TJ Saunders <tj@castaglia.org>
6262
6263	* contrib/mod_sftp/mod_sftp.h.in: Keep the mod_sftp version string
6264	format consistently using three digits, and use "1.0.0" instead of
6265	"1.0".
6266
62672014-07-17  TJ Saunders <tj@castaglia.org>
6268
6269	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.h.in: Fix
6270	SFTPLog message if LINK request fails.  Bump mod_sftp version, due
6271	to fixed LINK handling (and other fixes).
6272
62732014-07-16  TJ Saunders <tj@castaglia.org>
6274
6275	* contrib/mod_sftp/auth.c,
6276	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#4087 - mod_sftp
6277	does not handle "MaxLoginAttempts none" properly.
6278
62792014-07-16  TJ Saunders <tj@castaglia.org>
6280
6281	* tests/t/etc/modules/mod_sftp/authorized_rsa_keys2,
6282	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
6283	test of publickey SSH authentication, where the key is stored as the
6284	2nd key in the file.
6285
62862014-07-09  TJ Saunders <tj@castaglia.org>
6287
6288	* contrib/mod_sftp_pam.c,
6289	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_pam.pm: Add louder
6290	logging for when mod_sftp_pam denies a login, along with a
6291	regression test that tickles this behavior.
6292
62932014-07-08  TJ Saunders <tj@castaglia.org>
6294
6295	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
6296	regression test for SQLUserInfo which returns NULL for the uid/gid
6297	columns; this ensures that a) mod_sql doesn't segfault on such
6298	return values, and b) that the SQLDefaultUID/SQLDefaultGID values
6299	are used.
6300
63012014-07-06  TJ Saunders <tj@castaglia.org>
6302
6303	* NEWS: Updated NEWS with fix of Bug#4081.
6304
63052014-07-06  TJ Saunders <tj@castaglia.org>
6306
6307	* : Merge pull request #28 from
6308	proftpd/sftp-symlink-rel-path-bug4081 Bug#4081 - Not possible to create relative symlinks with SFTP.
6309
63102014-07-05  TJ Saunders <tj@castaglia.org>
6311
6312	* contrib/mod_sql.c, modules/mod_log.c: Add support for the
6313	%{file-offset} variable to mod_sql (and the missing %{file-modified}
6314	variable).  Fixed formatting/printing of %{file-offset} for
6315	ExtendedLog.
6316
63172014-07-05  TJ Saunders <tj@castaglia.org>
6318
6319	* NEWS: Updating NEWS for Bug#4084.
6320
63212014-07-05  TJ Saunders <tj@castaglia.org>
6322
6323	* : Merge pull request #27 from
6324	proftpd/ls-nlst-glob-recursion-bug4084 Bug#4084 - "NLST *" returns files from subdirectories.
6325
63262014-07-05  TJ Saunders <tj@castaglia.org>
6327
6328	* modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/NLST.pm:
6329	Bug#4084 - "NLST *" returns files from subdirectories.
6330
63312014-07-05  TJ Saunders <tj@castaglia.org>
6332
6333	* tests/t/config/maxtransfersperhost.t,
6334	tests/t/config/maxtransfersperuser.t,
6335	tests/t/lib/ProFTPD/Tests/Config/MaxTransfersPerHost.pm,
6336	tests/t/lib/ProFTPD/Tests/Config/MaxTransfersPerUser.pm,
6337	tests/tests.pl: Adding regression tests for the MaxTransfersPerHost
6338	and MaxTransfersPerUser directives.
6339
63402014-07-03  TJ Saunders <tj@castaglia.org>
6341
6342	* doc/modules/mod_auth.html, doc/modules/mod_xfer.html: Fill in
6343	missing descriptions for the MaxClients* and MaxTransfers*
6344	directives.
6345
63462014-07-02  tjsaunders <tjsaunders@blackpearlsystems.com>
6347
6348	* NEWS: Updating NEWS for Bug#4083.
6349
63502014-07-02  TJ Saunders <tj@castaglia.org>
6351
6352	* : Merge pull request #26 from
6353	proftpd/sql-defaulthomedir-empty-home-bug4083 Bug#4083 - Using SQLDefaultHomedir with null home results in "No
6354	such user"
6355
63562014-07-02  TJ Saunders <tj@castaglia.org>
6357
6358	* contrib/mod_sql.c,
6359	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#4083 -
6360	Using SQLDefaultHomedir with null home results in "No such user".
6361
63622014-06-26  TJ Saunders <tj@castaglia.org>
6363
6364	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
6365	regression test for particular mod_ifsession config, based on
6366	reports from the forums.
6367
63682014-06-26  TJ Saunders <tj@castaglia.org>
6369
6370	* modules/mod_log.c: Fix bug in the handling of ExtendedLog class
6371	name parsing, introduced as part of the change for Bug#4067.
6372
63732014-06-24  TJ Saunders <tj@castaglia.org>
6374
6375	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
6376	modules/mod_xfer.c: Stash the file-offset note for SCP transfers as
6377	well.  Fix up misleading comments.
6378
63792014-06-24  TJ Saunders <tj@castaglia.org>
6380
6381	* contrib/mod_sftp/fxp.c, include/mod_log.h, modules/mod_log.c,
6382	modules/mod_xfer.c: Add support for a new %{file-offset} LogFormat
6383	variable, to store the file offset at which a file transfer (upload
6384	or download) starts.
6385
63862014-06-24  TJ Saunders <tj@castaglia.org>
6387
6388	* : Merge pull request #25 from proftpd/core-cmd-errno-note Stash an errno value for all commands, for use by e.g. auditing
6389	modules
6390
63912014-06-23  TJ Saunders <tj@castaglia.org>
6392
6393	* : commit 7d818268492254c9ee32f5ef4ab24edc04fe2a7e Author:
6394	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Mon Jun 23
6395	09:34:29 2014 -0700
6396
63972014-06-23  TJ Saunders <tj@castaglia.org>
6398
6399	* : Merge pull request #24 from proftpd/sftp-symlink-order-bug4080 Bug#4080 - mod_sftp does not implement SFTP LINK request properly.
6400
64012014-06-22  TJ Saunders <tj@castaglia.org>
6402
6403	* contrib/mod_sftp/fxp.c, src/fsio.c, tests/api/fsio.c: Bug#4080 -
6404	mod_sftp does not implement SFTP LINK request properly.
6405
64062014-06-20  tjsaunders <tjsaunders@blackpearlsystems.com>
6407
6408	* doc/modules/mod_rlimit.html: Adding clarifying comments about
6409	RLimitChroot.
6410
64112014-06-20  tjsaunders <tjsaunders@blackpearlsystems.com>
6412
6413	* NEWS: Update NEWS for fix for Bug#4079.
6414
64152014-06-20  TJ Saunders <tj@castaglia.org>
6416
6417	* : Merge pull request #23 from proftpd/sftp-space-available-bug4079 Bug#4079 - Invalid response encoding for SFTP space-available
6418	request.
6419
64202014-06-20  TJ Saunders <tj@castaglia.org>
6421
6422	* contrib/mod_sftp/fxp.c: Bug#4079 - Invalid response encoding for
6423	SFTP space-available request.
6424
64252014-06-19  TJ Saunders <tj@castaglia.org>
6426
6427	* modules/mod_xfer.c: Add trace message of when REST offset exceeds
6428	file size, containg the requested offset and the file size in
6429	question.
6430
64312014-06-19  TJ Saunders <tj@castaglia.org>
6432
6433	* modules/mod_xfer.c, src/netio.c,
6434	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Adding regression
6435	tests for the behavior reported in Bug#4035, and tweaking the code
6436	to handle these cases.
6437
64382014-06-19  TJ Saunders <tj@castaglia.org>
6439
6440	* : Merge pull request #21 from
6441	proftpd/exec-execenable-per-directory-bug4076 Bug#4076 - Ability to disable mod_exec on a per-directory basis.
6442
64432014-06-19  TJ Saunders <tj@castaglia.org>
6444
6445	* : commit 37569a94b3156be8f732741774702bb3fe5136be Author:
6446	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Thu Jun 19
6447	18:36:35 2014 -0700
6448
64492014-06-19  TJ Saunders <tj@castaglia.org>
6450
6451	* : Merge pull request #20 from proftpd/shaper-log-sighup-bug4077 Bug#4077 - ShaperLog not closed/reopened on SIGHUP, causing log
6452	rotation
6453
64542014-06-19  TJ Saunders <tj@castaglia.org>
6455
6456	* : commit f214df3fd415cb9ce2cb6fd74bd85caa5b0ecc46 Author: TJ
6457	Saunders <tj@castaglia.org> Date:   Thu Jun 19 07:54:37 2014 -0700
6458
64592014-06-18  TJ Saunders <tj@castaglia.org>
6460
6461	* : Merge pull request #22 from
6462	proftpd/auth-addl-failure-reasons-bug4070 Bug#4070 - Support wider range of authentication failures.
6463
64642014-06-18  TJ Saunders <tj@castaglia.org>
6465
6466	* : commit 5027925f5133e3d911eb7af27672fe45bda2818d Author: TJ
6467	Saunders <tj@castaglia.org> Date:   Wed Jun 18 21:50:26 2014 -0700
6468
64692014-06-18  TJ Saunders <tj@castaglia.org>
6470
6471	* contrib/mod_ldap.c, src/auth.c,
6472	tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: Something shifted
6473	that is causing mod_ldap login troubles; making some tweaks to
6474	hopefully narrow down the issue.
6475
64762014-06-18  TJ Saunders <tj@castaglia.org>
6477
6478	* doc/modules/mod_facts.html: Mention, in the mod_facts docs, how to
6479	build that module as a shared module.
6480
64812014-06-18  tjsaunders <tjsaunders@blackpearlsystems.com>
6482
6483	* src/stash.c: Address more travis-ci compiler warnings.
6484
64852014-06-18  tjsaunders <tjsaunders@blackpearlsystems.com>
6486
6487	* src/pidfile.c: Remember to set errno if opening the PidFile fails.
6488	This fixes a compiler warning detected by travis-ci.
6489
64902014-06-18  tjsaunders <tjsaunders@blackpearlsystems.com>
6491
6492	* NEWS: Update NEWS with mention of Bug#4073.
6493
64942014-06-18  TJ Saunders <tj@castaglia.org>
6495
6496	* : Merge pull request #19 from
6497	proftpd/tls-implicitssl-download-bug4073 Bug#4073 - Polycom VOIP phones unable to use FTPS data transfers.
6498
64992014-06-17  TJ Saunders <tj@castaglia.org>
6500
6501	* include/auth.h, modules/mod_auth.c, modules/mod_auth_pam.c:
6502	Bug#4070 - Support wider range of authentication failures.
6503
65042014-06-17  TJ Saunders <tj@castaglia.org>
6505
6506	* contrib/mod_exec.c, doc/contrib/mod_exec.html,
6507	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#4076 - Ability to
6508	disable mod_exec on a per-directory basis.
6509
65102014-06-17  TJ Saunders <tj@castaglia.org>
6511
6512	* include/cmd.h, src/cmd.c, tests/api/cmd.c: Start working on
6513	stashing the errno value for every command in the cmd->notes table.
6514	This will allow modules (such as audit modules for Bug#3807) access
6515	to that errno value, for tracking/logging.
6516
65172014-06-17  TJ Saunders <tj@castaglia.org>
6518
6519	* contrib/mod_shaper.c: Bug#4077 - ShaperLog not closed/reopened on
6520	SIGHUP, causing log rotation problems.
6521
65222014-06-17  TJ Saunders <tj@castaglia.org>
6523
6524	* contrib/mod_tls.c: Remove unnecessary comment.
6525
65262014-06-17  TJ Saunders <tj@castaglia.org>
6527
6528	* contrib/mod_tls.c, modules/mod_xfer.c: Bug#4073 - Polycom VOIP
6529	phones unable to use FTPS data transfers.
6530
65312014-06-17  TJ Saunders <tj@castaglia.org>
6532
6533	* : Merge pull request #18 from
6534	proftpd/ls-stat-response-codes-bug3990 Fix regression for Bug#3990
6535
65362014-06-17  TJ Saunders <tj@castaglia.org>
6537
6538	* modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Fix
6539	the handling of the response code for STAT commands, fixing a
6540	regression caused by the previous commits for Bug#3990.
6541
65422014-05-30  tjsaunders <tjsaunders@blackpearlsystems.com>
6543
6544	* NEWS: Update NEWS for Bug#4063.
6545
65462014-05-30  TJ Saunders <tj@castaglia.org>
6547
6548	* : Merge pull request #16 from
6549	proftpd/fsio-smkdir-cifs-eacces-bug4063 Bug#4063 -  Unable to create directory on NFS/CIFS partition:
6550	Permission...
6551
65522014-05-30  TJ Saunders <tj@castaglia.org>
6553
6554	* : Merge pull request #17 from
6555	proftpd/ls-nlst-opt-a-wrong-directory-bug4069 Bug#4069 - NLST -a shows / directory instead of the current
6556	directory.
6557
65582014-05-30  tjsaunders <tjsaunders@blackpearlsystems.com>
6559
6560	* modules/mod_ls.c: Bug#4069 - NLST -a shows / directory instead of
6561	the current directory.
6562
65632014-05-29  tjsaunders <tjsaunders@blackpearlsystems.com>
6564
6565	* src/fsio.c: Bug#4063 -  Unable to create directory on NFS/CIFS
6566	partition: Permission denied.
6567
65682014-05-29  TJ Saunders <tj@castaglia.org>
6569
6570	* : Merge pull request #15 from proftpd/auth-anon-maxclients-bug4068 Bug#4068 - MaxClients directive doesn't work for <Anonymous>
6571	sessions.
6572
65732014-05-29  tjsaunders <tjsaunders@blackpearlsystems.com>
6574
6575	* : commit cd89bc454ba0e3655b01a79ca32cc342595bdd46 Author:
6576	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Thu May 29
6577	09:57:31 2014 -0700
6578
65792014-05-29  TJ Saunders <tj@castaglia.org>
6580
6581	* : Merge pull request #14 from proftpd/sftp-extlog-class-bug4067 ExtendedLog classes for SSH, SFTP (Bug#4067)
6582
65832014-05-29  tjsaunders <tjsaunders@blackpearlsystems.com>
6584
6585	* modules/mod_log.c,
6586	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Better
6587	implementation of logging class exclusion, and tested with
6588	regression tests, including the new SSH and SFTP logging classes.
6589
65902014-05-28  tjsaunders <tjsaunders@blackpearlsystems.com>
6591
6592	* NEWS, RELEASE_NOTES, contrib/mod_sftp/auth.c,
6593	contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c,
6594	contrib/mod_sftp/kex.c, contrib/mod_sftp/service.c,
6595	include/modules.h, modules/mod_log.c: Bug#4067 - Create ExtendedLog
6596	class for SFTP requests.
6597
65982014-05-28  tjsaunders <tjsaunders@blackpearlsystems.com>
6599
6600	* doc/modules/mod_core.html: Update ServerIdent description to
6601	mention the supported variables, and add description for the
6602	ServerName directive.
6603
66042014-05-28  tjsaunders <tjsaunders@blackpearlsystems.com>
6605
6606	* NEWS, doc/contrib/mod_sftp.html: Update NEWS, mod_sftp docs for
6607	Bug#4065.
6608
66092014-05-28  TJ Saunders <tj@castaglia.org>
6610
6611	* : Merge pull request #13 from
6612	proftpd/sftp-banner-environ-variable-bug4065 Bug#4065 - mod_sftp should provide the SSH client banner as
6613	environment variable, for logging
6614
66152014-05-27  tjsaunders <tjsaunders@blackpearlsystems.com>
6616
6617	* contrib/mod_sftp/mod_sftp.c: Bug#4065 - mod_sftp should provide
6618	the SSH client banner as environment variable, for logging.
6619
66202014-05-27  tjsaunders <tjsaunders@blackpearlsystems.com>
6621
6622	* doc/contrib/mod_sftp.html: Improved formatting for mod_sftp
6623	environment variables.
6624
66252014-05-27  TJ Saunders <tj@castaglia.org>
6626
6627	* : Merge pull request #12 from
6628	proftpd/scoreboard-entry-locking-bug3823 Attempt to mitigate possible cause for Bug#3823 by replacing use of
6629	F_SE...
6630
66312014-05-27  TJ Saunders <tj@castaglia.org>
6632
6633	* src/scoreboard.c: Attempt to mitigate possible cause for Bug#3823
6634	by replacing use of F_SETLKW when updating scoreboard entries to
6635	F_SETLK, and handling interruptions.  This should reduce any
6636	(potentially long) blocking behaviors.
6637
66382014-05-26  TJ Saunders <tj@castaglia.org>
6639
6640	* : Merge pull request #11 from proftpd/signals-refactoring Refactor the signal-handling code out of src/main.c, and into its
6641	own so...
6642
66432014-05-25  TJ Saunders <tj@castaglia.org>
6644
6645	* include/conf.h: Previous merge forgot to include the new configdb
6646	header.
6647
66482014-05-25  TJ Saunders <tj@castaglia.org>
6649
6650	* : Merge pull request #10 from proftpd/dirtree-refactoring Refactor the src/dirtree.c file into smaller chunks, one for the
6651	pr_conf...
6652
66532014-05-24  TJ Saunders <tj@castaglia.org>
6654
6655	* : Merge pull request #9 from
6656	proftpd/hiddenstores-pid-variable-bug4062 Bug#4062 - Support PID variable in HiddenStores filename.
6657
66582014-05-24  TJ Saunders <tj@castaglia.org>
6659
6660	* include/log.h, src/log.c, src/main.c: Fix slight regression in
6661	logging behavior due to changes for Bug#3983.  If the -d
6662	command-line option is used, then make sure the default syslog level
6663	is DEBUG, so that the requested debug logging appears.
6664
66652014-05-24  TJ Saunders <tj@castaglia.org>
6666
6667	* modules/mod_xfer.c,
6668	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Bug#4062 - Support
6669	PID variable in HiddenStores filename.
6670
66712014-05-24  TJ Saunders <tj@castaglia.org>
6672
6673	* modules/mod_auth_file.c: Sprinkle more signal handling in
6674	potentially long while() loops when handling AuthUserFiles and
6675	AuthGroupFiles.
6676
66772014-05-24  TJ Saunders <tj@castaglia.org>
6678
6679	* modules/mod_auth_file.c: Fix ordering of handlers in
6680	mod_auth_file; no functional change.
6681
66822014-05-24  TJ Saunders <tj@castaglia.org>
6683
6684	* modules/mod_auth_file.c, modules/mod_auth_unix.c: Use better trace
6685	channel names in the provided auth modules.
6686
66872014-05-24  TJ Saunders <tj@castaglia.org>
6688
6689	* modules/mod_auth_file.c: Comment typo fixed.  No functional
6690	change.
6691
66922014-05-24  TJ Saunders <tj@castaglia.org>
6693
6694	* : Merge pull request #8 from
6695	proftpd/snmp-multiple-agent-addrs-bug4061 Bug#4061 - SNMPAgent should support multiple addresses, including
6696	IPv6
6697
66982014-05-23  TJ Saunders <tj@castaglia.org>
6699
6700	* : Merge pull request #7 from proftpd/aix-build-errors Fix AIX build issues, as reported in the forums; see:
6701
67022014-05-21  TJ Saunders <tj@castaglia.org>
6703
6704	* : Merge pull request #6 from proftpd/symtab-hash-comparison When storing symbols in the symbol table hash ("stash"), stop
6705	storing al...
6706
67072014-05-21  TJ Saunders <tj@castaglia.org>
6708
6709	* contrib/mod_ctrls_admin.c, contrib/mod_quotatab_ldap.c,
6710	contrib/mod_quotatab_radius.c, contrib/mod_quotatab_sql.c,
6711	contrib/mod_ratio.c, contrib/mod_sftp_sql.c,
6712	contrib/mod_sql_passwd.c, contrib/mod_wrap2_sql.c,
6713	include/dirtree.h, include/stash.h, src/auth.c, src/cmd.c,
6714	src/main.c, src/modules.c, src/parser.c, src/stash.c,
6715	tests/api/stash.c: When storing symbols in the symbol table hash
6716	("stash"), stop storing all symbol types (CMD, CONF, AUTH, and HOOK)
6717	all in the same table.  Instead, have different tables for each
6718	different type.  This makes it faster when looking up (by name) a
6719	symbol of a given type; less symbol names to grovel through and
6720	compare.  And speaking of symbol comparisons, this change also stores the hash
6721	value (of the symbol name) as part of the symbol data.  Thus when
6722	doing symbol lookups, the hash value is compared FIRST, and only if
6723	that value matches will the more in-depth comparison (by name
6724	length, name content) be done.  The overall effect should be a net gain in speed (less latency when
6725	dispatching e.g. commands, auth lookups, parsing), and a drop in CPU
6726	(due to fewer string comparisons hopefully).
6727
67282014-05-20  TJ Saunders <tj@castaglia.org>
6729
6730	* : Merge pull request #5 from proftpd/parser-pidfile-unit-tests Add unit tests for the Pidfile API, and start working on tests for
6731	the
6732
67332014-05-19  TJ Saunders <tj@castaglia.org>
6734
6735	* : Merge pull request #4 from proftpd/trace-unit-tests Adding unit tests for the Trace API; fixed some minor bugs found
6736	while
6737
67382014-05-18  TJ Saunders <tj@castaglia.org>
6739
6740	* .gitignore: A few more files for git to ignore.
6741
67422014-05-18  TJ Saunders <tj@castaglia.org>
6743
6744	* src/main.c: Stylistic nit; no functional change.
6745
67462014-05-18  TJ Saunders <tj@castaglia.org>
6747
6748	* : Merge pull request #3 from proftpd/clang-warnings Clean up some warnings spotted by travis-ci's clang build.
6749
67502014-05-18  TJ Saunders <tj@castaglia.org>
6751
6752	* : Merge pull request #2 from proftpd/radius-timeout-parsing Update mod_radius to use pr_str_get_duration() for parsing timeout
6753	strin...
6754
67552014-05-18  TJ Saunders <tj@castaglia.org>
6756
6757	* contrib/mod_radius.c: Update mod_radius to use
6758	pr_str_get_duration() for parsing timeout strings for the
6759	RadiusAuthServer and RadiusAcctServer directives.  Fixed stylistic
6760	nits while there.
6761
67622014-05-18  TJ Saunders <tj@castaglia.org>
6763
6764	* Makefile.in: Clean up the .git/ directory, and .gitignore and
6765	.travis.yml files, when preparing a release.
6766
67672014-05-18  TJ Saunders <tj@castaglia.org>
6768
6769	* .cvsignore, contrib/.cvsignore, contrib/mod_dnsbl/.cvsignore,
6770	contrib/mod_load/.cvsignore, contrib/mod_sftp/.cvsignore,
6771	contrib/mod_snmp/.cvsignore, contrib/mod_wrap2/.cvsignore,
6772	include/.cvsignore, lib/.cvsignore, lib/libcap/.cvsignore,
6773	locale/.cvsignore, modules/.cvsignore, src/.cvsignore,
6774	tests/.cvsignore, tests/api/.cvsignore, tests/array.c,
6775	tests/class.c, tests/env.c, tests/event.c, tests/expr.c,
6776	tests/feat.c, tests/modules.c, tests/netacl.c, tests/netaddr.c,
6777	tests/pool.c, tests/regexp.c, tests/scoreboard.c, tests/sets.c,
6778	tests/str.c, tests/stubs.c, tests/table.c, tests/tests.c,
6779	tests/tests.h, tests/timers.c, tests/var.c, tests/version.c,
6780	utils/.cvsignore: Clean up more files from the cvs2git conversion.
6781
67822014-05-18  TJ Saunders <tj@castaglia.org>
6783
6784	* NEWS: Update NEWS.
6785
67862014-05-18  TJ Saunders <tj@castaglia.org>
6787
6788	* : Merge pull request #1 from proftpd/stat-response-code-bug3990 Bug#3990 - Use 213 response code for STAT on a file.  We also use
6789	212 fo...
6790
67912014-05-18  TJ Saunders <tj@castaglia.org>
6792
6793	* contrib/mod_quotatab.c: Style nits; no functional change.
6794
67952014-05-18  TJ Saunders <tj@castaglia.org>
6796
6797	* tests/api/cmd.c: Remove unused variable.
6798
67992014-05-18  TJ Saunders <tj@castaglia.org>
6800
6801	* .travis.yml: Disable the static code analyzers, for now; they can
6802	be re-enabled when needed.  Do another configure/build, this time
6803	with all modules being shared, rather than static.
6804
68052014-05-18  TJ Saunders <tj@castaglia.org>
6806
6807	* .travis.yml: Have cppcheck write to stdout its errors.  Use normal
6808	email notifications (i.e. committer).
6809
68102014-05-18  TJ Saunders <tj@castaglia.org>
6811
6812	* .travis.yml: Skip checking header files, and unit test files, when
6813	performing static code analysis.
6814
68152014-05-18  TJ Saunders <tj@castaglia.org>
6816
6817	* .travis.yml: Still wrestling with cppcheck.  Sigh.
6818
68192014-05-18  TJ Saunders <tj@castaglia.org>
6820
6821	* .travis.yml: Fix the cppcheck arguments.  Enable PCRE support.
6822
68232014-05-18  TJ Saunders <tj@castaglia.org>
6824
6825	* .travis.yml: More tweaks to the static code analysers.
6826
68272014-05-18  TJ Saunders <tj@castaglia.org>
6828
6829	* .travis.yml: Use the direct email address to the -committers list.
6830
68312014-05-18  TJ Saunders <tj@castaglia.org>
6832
6833	* .travis.yml: Keep cppcheck from scanning *every* file; use find to
6834	tell it which file to scan.  Break the `make' and `make check-api'
6835	steps onto separate lines, for legibility.
6836
68372014-05-18  TJ Saunders <tj@castaglia.org>
6838
6839	* .travis.yml: Start commenting the travis-ci config file.  Add some
6840	static code analysis in.
6841
68422014-05-17  TJ Saunders <tj@castaglia.org>
6843
6844	* .travis.yml: Direct email notifications of build success/failures
6845	to the proftp-committers list.
6846
68472014-05-17  TJ Saunders <tj@castaglia.org>
6848
6849	* .travis.yml: Enable memcache support.
6850
68512014-05-17  TJ Saunders <tj@castaglia.org>
6852
6853	* contrib/mod_sql_postgres.c: Fix another build warning spotted by
6854	travis-ci.
6855
68562014-05-17  TJ Saunders <tj@castaglia.org>
6857
6858	* .travis.yml: Make the dependency installations a little easier to
6859	read.  Build the MySQL and Postgres modules.  Install gettext, so
6860	that we can use --enable-nls.
6861
68622014-05-17  TJ Saunders <tj@castaglia.org>
6863
6864	* contrib/mod_snmp/asn1.c, contrib/mod_snmp/notify.c,
6865	contrib/mod_snmp/smi.c, contrib/mod_sql_sqlite.c, src/log.c: Clean
6866	up build warnings spotted by travis-ci.
6867
68682014-05-17  TJ Saunders <tj@castaglia.org>
6869
6870	* .travis.yml: Now install the check library, to enable the API/unit
6871	tests -- and run them.
6872
68732014-05-17  TJ Saunders <tj@castaglia.org>
6874
6875	* .travis.yml: Need the PAM libraries/headers for some modules.
6876
68772014-05-17  TJ Saunders <tj@castaglia.org>
6878
6879	* .travis.yml: Build mod_geoip as well; we'll need its geoip library
6880	dependency as well.
6881
68822014-05-17  TJ Saunders <tj@castaglia.org>
6883
6884	* .travis.yml: Install more dependencies, and build more modules,
6885	via travis-ci.
6886
68872014-05-17  TJ Saunders <tj@castaglia.org>
6888
6889	* .travis.yml: Add a .travis.yml file, to start using travis-ci for
6890	continuous build/integration.  I'm sure we'll get fancier over time.
6891
68922014-05-17  TJ Saunders <tj@castaglia.org>
6893
6894	* src/data.c: Forgot to update copyright dates with last
6895	modification.
6896
68972014-05-17  TJ Saunders <tj@castaglia.org>
6898
6899	* NEWS, src/log.c: Bug#3983 - Change default SyslogLevel to be
6900	NOTICE rather than DEBUG.
6901
69022014-05-17  TJ Saunders <tj@castaglia.org>
6903
6904	* NEWS, src/data.c, src/inet.c,
6905	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Bug#3944 -  Session
6906	closed if active data transfer fails due to "Address already in use"
6907	error.
6908
69092014-05-17  TJ Saunders <tj@castaglia.org>
6910
6911	* src/netaddr.c: Avoid null pointer dereference for interfaces with
6912	no addresses.
6913
69142014-05-17  TJ Saunders <tj@castaglia.org>
6915
6916	* po/Makefile.in: Remove unused po/ directory; it came back with the
6917	cvs2git conversion.
6918
69192014-05-17  TJ Saunders <tj@castaglia.org>
6920
6921	* NEWS: Bug#4055 - "error setting listen fd IPV6_TCLASS: Protocol
6922	not available" log message.
6923
69242014-05-17  TJ Saunders <tj@castaglia.org>
6925
6926	* : commit 3fd34befa71cdc41bc1375b243a18e8837ee76d0 Author:
6927	tjsaunders <tjsaunders@blackpearlsystems.com> Date:   Fri May 16
6928	09:53:25 2014 -0700
6929
69302014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>
6931
6932	* .gitignore: Improving the .gitignore file.
6933
69342014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>
6935
6936	* .gitignore: Adding .gitignore file.
6937
69382014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>
6939
6940	* src/inet.c: Bug#4055: Ignore any ENOPROTOOPT errors when setting
6941	the IPv6 TCLASS (TOS) flags on the socket; they make for noisier
6942	logging without providing any actual value to the user/admin.
6943
69442014-05-16  tjsaunders <tjsaunders@blackpearlsystems.com>
6945
6946	* include/version.h: Bump version to reflect new release cycle.
6947
69482014-05-15  castaglia <castaglia>
6949
6950	* NEWS: Preparing for release.
6951
69522014-05-15  castaglia <castaglia>
6953
6954	* ChangeLog: Updated ChangeLog.
6955
69562014-05-15  castaglia <castaglia>
6957
6958	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing files
6959	for release.
6960
69612014-05-15  castaglia <castaglia>
6962
6963	* locale/files.txt: Updated list of files for localization.
6964
69652014-05-09  castaglia <castaglia>
6966
6967	* RELEASE_NOTES: Fleshing out release notes for upcoming release.
6968
69692014-05-05  castaglia <castaglia>
6970
6971	* contrib/mod_sql_passwd.c: Use sql_log() instead of pr_log_debug(),
6972	so that the logging is consistently done in the module.  There may
6973	still be a few outliers.
6974
69752014-05-04  castaglia <castaglia>
6976
6977	* doc/contrib/mod_sql_passwd.html: Updated SQLPasswordPBKDF2 docs in
6978	light of Bug#4052.
6979
69802014-05-04  castaglia <castaglia>
6981
6982	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Added
6983	regression test for Bug#4052.
6984
69852014-05-04  castaglia <castaglia>
6986
6987	* NEWS, contrib/mod_sql_passwd.c: Bug#4052 - Enhance
6988	SQLPasswordPBKDF2 to support per-user query for settings.
6989
69902014-05-04  castaglia <castaglia>
6991
6992	* doc/contrib/mod_site_misc.html: Emphasize that both acces and mod
6993	times are set by SITE UTIME.
6994
69952014-05-04  castaglia <castaglia>
6996
6997	* NEWS, modules/mod_facl.c: Bug#4044 - mod_facl prevents a normal
6998	SIGHUP reload.
6999
70002014-05-03  castaglia <castaglia>
7001
7002	* NEWS, modules/mod_core.c: Bug#4042 - MIC command between RNFR and
7003	RNTO should not be rejected.
7004
70052014-05-02  castaglia <castaglia>
7006
7007	* NEWS, contrib/mod_exec.c: Bug#4049 - mod_exec should include
7008	supplemental groups when running commands as logged-in user.
7009
70102014-04-30  castaglia <castaglia>
7011
7012	* contrib/mod_ban.c: As a follow-on to the fix for Bug#4048, add
7013	some "headroom" to the SHM segment, to allow for multiple
7014	racing/competing processes incrementing indices.
7015
70162014-04-30  castaglia <castaglia>
7017
7018	* NEWS, contrib/mod_ban.c: Bug#4048 - Race condition in mod_ban can
7019	lead to segfault of all new connections.
7020
70212014-04-28  castaglia <castaglia>
7022
7023	* modules/mod_xfer.c: Slightly better fix for Bug#4046; less chance
7024	of overflowing the off_t datatype on filesystems with lots of free
7025	space.
7026
70272014-04-28  castaglia <castaglia>
7028
7029	* NEWS, modules/mod_xfer.c: Bug#4046 - ALLO command failed because
7030	of bad size check.
7031
70322014-03-26  castaglia <castaglia>
7033
7034	* doc/howto/TLS.html: Typo.
7035
70362014-03-19  castaglia <castaglia>
7037
7038	* contrib/mod_tls.c: Bug#4039 - Fix compile error in mod_tls, when
7039	built using newer OpenSSL versions.  This is a regression caused by
7040	Bug#4029.
7041
70422014-03-13  castaglia <castaglia>
7043
7044	* doc/howto/Chroot.html: Fix broken link, per Bug#4038.
7045
70462014-03-08  castaglia <castaglia>
7047
7048	* tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Adding
7049	some regression tests for the DeleteAbortedStores directive, for
7050	when timeouts kick in and kill the session.
7051
70522014-03-08  castaglia <castaglia>
7053
7054	* modules/mod_xfer.c: If a session dies in the middle of a data
7055	transfer, make sure that the path in the fake cmd_rec is correct.
7056	It was empty, which led to some misleading logging.
7057
70582014-03-08  castaglia <castaglia>
7059
7060	* NEWS, contrib/mod_tls.c: Bug#4024 - TLS 1.1/1.2 configurable, but
7061	not properly implemented.
7062
70632014-03-05  castaglia <castaglia>
7064
7065	* contrib/mod_tls.c: When seeding OpenSSL's PRNG manually, use
7066	gettimeofday(2) instead of time(3).
7067
70682014-03-04  castaglia <castaglia>
7069
7070	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
7071	tests for Bug#4034.
7072
70732014-03-04  castaglia <castaglia>
7074
7075	* NEWS, contrib/mod_sftp/auth.c: Bug#4034 - SSH publickey
7076	authentication fails with "MaxLoginAttempts 1".
7077
70782014-03-03  castaglia <castaglia>
7079
7080	* doc/contrib/mod_sftp.html: Add mod_sftp FAQ about pointing an SSH
7081	client (*not* SFTP or SCP) at mod_sftp, and why that connection
7082	would fail.
7083
70842014-03-02  castaglia <castaglia>
7085
7086	* doc/contrib/mod_sftp.html: Document the AllowInsecureLogin
7087	SFTPOption.
7088
70892014-03-02  castaglia <castaglia>
7090
7091	* contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
7092	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: Add a
7093	new SFTPOption, called 'AllowInsecureLogin'.  This is needed for
7094	sites which wish to use/allow SSH2 logins that use the 'none' cipher
7095	or digest (hopefully just for performance testing).
7096
70972014-03-02  castaglia <castaglia>
7098
7099	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#4032 - Restarting proftpd
7100	with mod_sftp fails due to permissions on SFTPHostKey file.
7101
71022014-03-02  castaglia <castaglia>
7103
7104	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the mod_sftp
7105	regression tests which SHOULD have caught Bug#4033.
7106
71072014-03-02  castaglia <castaglia>
7108
7109	* NEWS, contrib/mod_sftp/cipher.c: Bug#4033 - mod_sftp fails to
7110	create SSH2 session using 'none' cipher.
7111
71122014-03-01  castaglia <castaglia>
7113
7114	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Added
7115	regression test for Bug#3938.
7116
71172014-03-01  castaglia <castaglia>
7118
7119	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3938 - mod_wrap2 uses
7120	reverse DNS regardless "UseReverseDNS off".
7121
71222014-02-28  castaglia <castaglia>
7123
7124	* tests/t/config/passiveports.t,
7125	tests/t/lib/ProFTPD/Tests/Config/PassivePorts.pm, tests/tests.pl:
7126	Added regression tests for the PassivePorts directive in various
7127	configuration contexts, i.e. "server config", <Global>, and
7128	<VirtualHost>.
7129
71302014-02-28  castaglia <castaglia>
7131
7132	* NEWS, contrib/mod_tls.c: Bug#4029 - TLSOptions EnableDiags logs
7133	"unknown version (771)" for TLS 1.1/1.2 connections.
7134
71352014-02-23  castaglia <castaglia>
7136
7137	* contrib/mod_ban.c: Minor name/string change; no functional change.
7138
71392014-02-23  castaglia <castaglia>
7140
7141	* contrib/mod_ban.c, tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
7142	Allow for custom, user-specified event names in the BanOnEvent
7143	directive.  This will make it easier to support rules for events
7144	other than the ones that are specially handled, and ease the need to
7145	add special handling in the future.
7146
71472014-02-23  castaglia <castaglia>
7148
7149	* doc/contrib/mod_ban.html: Added support for RootLogin bans.
7150
71512014-02-23  castaglia <castaglia>
7152
7153	* contrib/mod_ban.c, tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
7154	Make it possible to ban clients which attempt to login as root.
7155
71562014-02-21  castaglia <castaglia>
7157
7158	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
7159	recipe/regression test for Bug#4026.
7160
71612014-02-19  castaglia <castaglia>
7162
7163	* doc/contrib/mod_sftp.html: Add "Cipher Implementations" section to
7164	"Known Client Issues", noting that SBB clients don't handle the
7165	blowfish-ctr cipher.
7166
71672014-02-18  castaglia <castaglia>
7168
7169	* doc/contrib/mod_sftp.html: Fix typo/misnamed cipher in list.
7170
71712014-02-15  castaglia <castaglia>
7172
7173	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
7174	regression test for Bug#4025.
7175
71762014-02-15  castaglia <castaglia>
7177
7178	* NEWS, contrib/mod_ifsession.c: Bug#4025 - <IfClass> sections do
7179	not work for multiple SQLLog directives.
7180
71812014-02-15  castaglia <castaglia>
7182
7183	* contrib/mod_sql.c: If SQLEngine is not configured, then DO emit
7184	the "no SQLAuthTypes configured" log message if necessary.  Previous
7185	commit would not have handled the case where SQLEngine was not
7186	explicitly set.
7187
71882014-02-15  castaglia <castaglia>
7189
7190	* contrib/mod_sql.c: If "SQLEngine log" is configured, then do NOT
7191	log a message saying "error: no SQLAuthTypes configured".  Stylistic
7192	nits addressed while there.
7193
71942014-02-11  castaglia <castaglia>
7195
7196	* NEWS, src/fsio.c: Bug#4022 - "Directory not empty" error when
7197	creating directory is misleading.
7198
71992014-02-11  castaglia <castaglia>
7200
7201	* src/stash.c: Fix minor compiler warning when --enable-devel is
7202	used.
7203
72042014-02-09  castaglia <castaglia>
7205
7206	* modules/mod_delay.c: The regression tests caught a small
7207	regression in mod_delay, where the fix for Bug#3622 was reverted
7208	partly by the fixes for Bug#3970.
7209
72102014-02-09  castaglia <castaglia>
7211
7212	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Another MKD test,
7213	making sure that using a preceding CWD doesn't gum up the works.
7214	Also makes for a nice testbed for pr_fsio_smkdir() issues.
7215
72162014-02-09  castaglia <castaglia>
7217
7218	* src/fsio.c: Add more logging of error conditions in the
7219	pr_fsio_smkdir() function, for better diagnosing some reported MKD
7220	errors.
7221
72222014-02-09  castaglia <castaglia>
7223
7224	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Yet another data
7225	point/reproduction recipe for Bug#4017.
7226
72272014-02-08  castaglia <castaglia>
7228
7229	* tests/t/lib/ProFTPD/Tests/Config/SocketOptions.pm: Add basic test
7230	for SocketOption keepalive.
7231
72322014-02-05  castaglia <castaglia>
7233
7234	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Additional
7235	regression/reproduction recipe for Bug#4017, this time using PCRE
7236	regexes.
7237
72382014-02-03  castaglia <castaglia>
7239
7240	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Regression
7241	test/reproduction recipe for Bug#4017.
7242
72432014-02-01  castaglia <castaglia>
7244
7245	* contrib/mod_tls.c: Update mod_tls to start using the pr_netio_t
7246	notes table for stashing/retrieving its SSL objects, rather than the
7247	strm_data void pointer.  The table is more flexible, and allows for
7248	other code to use the keys as needed.
7249
72502014-01-31  castaglia <castaglia>
7251
7252	* modules/mod_rlimit.c,
7253	tests/t/lib/ProFTPD/Tests/Config/RLimitChroot.pm: Allow for per-user
7254	(via <IfUser>) setting of the RLimitChroot directive.
7255
72562014-01-31  castaglia <castaglia>
7257
7258	* doc/modules/mod_rlimit.html: Add description for new RLimitChroot
7259	directive to mod_rlimit docs.
7260
72612014-01-31  castaglia <castaglia>
7262
7263	* src/fsio.c: Match URLs for "Roaring Beast" reports.
7264
72652014-01-31  castaglia <castaglia>
7266
7267	* tests/t/config/rlimitchroot.t,
7268	tests/t/lib/ProFTPD/Tests/Config/RLimitChroot.pm, tests/tests.pl:
7269	Adding regression tests for the new RLimitChroot directive.
7270
72712014-01-31  castaglia <castaglia>
7272
7273	* NEWS, RELEASE_NOTES, include/fsio.h, modules/mod_rlimit.c,
7274	src/fsio.c: Bug#4018 - Implement checks for sensitive directories
7275	when chrooted.
7276
72772014-01-30  castaglia <castaglia>
7278
7279	* doc/modules/mod_core.html: Add description of SocketBindTight
7280	directive to mod_core docs, and include FAQ about using it.
7281
72822014-01-29  castaglia <castaglia>
7283
7284	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
7285	regression/reproduction recipe for Bug#4017.
7286
72872014-01-29  castaglia <castaglia>
7288
7289	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix broken (only
7290	on MacOSX) test.
7291
72922014-01-29  castaglia <castaglia>
7293
7294	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Minor tweaks
7295	while investigating Bug#3638.
7296
72972014-01-29  castaglia <castaglia>
7298
7299	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updated mod_tls
7300	tests to work around bug in Net-FTPSSL version 0.21's quot()
7301	implementation.
7302
73032014-01-28  castaglia <castaglia>
7304
7305	* include/version.h: Updating version for CVS.
7306
73072014-01-28  castaglia <castaglia>
7308
7309	* ChangeLog: Updated ChangeLog.
7310
73112014-01-28  castaglia <castaglia>
7312
7313	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Prepping
7314	files for RC.
7315
73162014-01-28  castaglia <castaglia>
7317
7318	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
7319	contrib/mod_sftp/umac.c: Allow mod_sftp to be compiled using an old
7320	version of OpenSSL, e.g.  OpenSSL-0.9.6.  Fixes Bug#4016.
7321
73222014-01-28  castaglia <castaglia>
7323
7324	* contrib/mod_tls.c: Enable mod_tls to be built using old OpenSSL
7325	version; tested using OpenSSL-0.9.6h.
7326
73272014-01-27  castaglia <castaglia>
7328
7329	* doc/contrib/mod_quotatab.html: Try to make the Installation notes
7330	for mod_quotatab a little clearer.
7331
73322014-01-27  castaglia <castaglia>
7333
7334	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Quell compiler warning
7335	about redefined variables.
7336
73372014-01-27  castaglia <castaglia>
7338
7339	* tests/t/lib/ProFTPD/Tests/Logins.pm: Quell compiler warning about
7340	overloaded variables.
7341
73422014-01-27  castaglia <castaglia>
7343
7344	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Copy-pasto was blocking
7345	the setting of different values for the (as-yet) little used
7346	test_setup() function.
7347
73482014-01-27  castaglia <castaglia>
7349
7350	* tests/api/str.c: With this tweak (of debatable and investigatable
7351	value), all of the API tests now pass on my old Linux machine.
7352
73532014-01-27  castaglia <castaglia>
7354
7355	* tests/api/netaddr.c: Make the INCL_DEVICE API test a little more
7356	resilient by providing some fallback device names.
7357
73582014-01-27  castaglia <castaglia>
7359
7360	* src/fsio.c, tests/api/cmd.c: The API testsuite found some places
7361	where we were not properly checking for null strings, which might
7362	lead to segfaults.
7363
73642014-01-27  castaglia <castaglia>
7365
7366	* tests/Makefile.in, tests/api/stubs.c: Make sure the API testsuite
7367	compiles properly when --enable-nls is used.
7368
73692014-01-27  castaglia <castaglia>
7370
7371	* contrib/mod_snmp/db.c: Quell compiler warning about unused
7372	variable.
7373
73742014-01-27  castaglia <castaglia>
7375
7376	* RELEASE_NOTES, doc/howto/Radius.html, doc/howto/index.html: Adding
7377	(finally!) RADIUS howto.
7378
73792014-01-26  castaglia <castaglia>
7380
7381	* contrib/mod_ban.c: Typo in comment; no functional change.
7382
73832014-01-25  castaglia <castaglia>
7384
7385	* modules/mod_core.c: Make sure to handle the case where units
7386	aren't specified properly.
7387
73882014-01-25  castaglia <castaglia>
7389
7390	* NEWS, include/options.h, modules/mod_core.c, src/main.c,
7391	tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm: Bug#4014 -
7392	CommandBufferSize should override PR_DEFAULT_CMD_BUFSZ.
7393
73942014-01-24  castaglia <castaglia>
7395
7396	* contrib/mod_tls.c: Bug#4015 - Possible bad/ambiguous expression
7397	found by static code analyzer cppcheck.
7398
73992014-01-22  castaglia <castaglia>
7400
7401	* doc/howto/TLS.html: Updates to the TLS howto, adding some FAQs and
7402	noting that secure FXP transfers are now supported.
7403
74042014-01-22  castaglia <castaglia>
7405
7406	* doc/howto/SQL.html: Add more links from the SQL howto to the
7407	mod_sql docs, and add more substance to the "min ID" question,
7408	pointing out the default UID/GID values.
7409
74102014-01-22  castaglia <castaglia>
7411
7412	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Update
7413	AuthGroupFile world-readable test to match changes to the
7414	permissions checking code.
7415
74162014-01-22  castaglia <castaglia>
7417
7418	* modules/mod_auth_file.c: Alter the permission checks (per
7419	Bug#3892) to allow world-readable AuthGroupFiles; there's no
7420	sensitive information in there.
7421
74222014-01-22  castaglia <castaglia>
7423
7424	* doc/modules/mod_auth_file.html: Improve/expand on the FAQ about
7425	permissions.
7426
74272014-01-21  castaglia <castaglia>
7428
7429	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Adding regression test
7430	for Bug#4010 (which, I think, is actually a client bug).
7431
74322014-01-21  castaglia <castaglia>
7433
7434	* RELEASE_NOTES: Update release notes, getting them ready for a
7435	release.
7436
74372014-01-21  castaglia <castaglia>
7438
7439	* doc/contrib/mod_exec.html: Update the ExecOnEvent description to
7440	match the code.
7441
74422014-01-21  castaglia <castaglia>
7443
7444	* doc/contrib/mod_sql.html: Note when the IgnoreConfigFile SQLOption
7445	first appeared.
7446
74472014-01-21  castaglia <castaglia>
7448
7449	* doc/contrib/mod_ldap.html: Add description for LDAPLog directive
7450	to mod_ldap docs.
7451
74522014-01-20  castaglia <castaglia>
7453
7454	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
7455	test for Bug#4013.
7456
74572014-01-20  castaglia <castaglia>
7458
7459	* NEWS, contrib/mod_sftp/scp.c: Bug#4013 - SCP upload of shorter
7460	file does not completely overwrite existing file of same name.
7461
74622014-01-20  castaglia <castaglia>
7463
7464	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Adding regression
7465	tests for several NLST bugs, including Bug#4011.
7466
74672014-01-20  castaglia <castaglia>
7468
7469	* NEWS, include/fsio.h, modules/mod_ls.c, src/fsio.c,
7470	tests/api/fsio.c: Bug#4011 - NLST ../ shows current directory
7471	contents rather than parent directory.
7472
74732014-01-17  castaglia <castaglia>
7474
7475	* configure: Updated configure.
7476
74772014-01-17  castaglia <castaglia>
7478
7479	* configure.in: Fix default location of datadir to be
7480	'/usr/local/share', not '/usr/locale/share'.
7481
74822014-01-17  castaglia <castaglia>
7483
7484	* contrib/mod_sftp/fxp.c,
7485	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that SFTP
7486	CLOSE requests are logged as either READ or WRITE requests as
7487	appropriate (per the ExtendedLog logging classes), but not both.
7488
74892014-01-13  castaglia <castaglia>
7490
7491	* doc/contrib/mod_sftp.html: Update SFTPClientMatch description for
7492	'sftpUTF8ProtocolVersion', noting the NLS requirement.  Also add FAQ
7493	about this, with regard to accepted protocol versions.
7494
74952014-01-13  castaglia <castaglia>
7496
7497	* contrib/mod_sftp/mod_sftp.c: If the 'sftpUTF8ProtocolVersion'
7498	SFTPClientMatch key is used, AND the proftpd has not been compiled
7499	with --enable-nls, then display a more informative error about this
7500	situation, instead of acting as if 'sftpUTF8ProtocolVersion' is
7501	unknown.
7502
75032014-01-08  castaglia <castaglia>
7504
7505	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Tweaks to the
7506	mod_tls testsuite to make it pass (more) on my Mac; I think it's
7507	related to the version of Net::FTPSSL being used.
7508
75092014-01-06  castaglia <castaglia>
7510
7511	* NEWS, contrib/mod_radius.c: Bug#4006 - RADIUS "service-type"
7512	attribute encoded with wrong length on 64-bit system.
7513
75142014-01-06  castaglia <castaglia>
7515
7516	* tests/Makefile.in, tests/api/netio.c, tests/api/stubs.c,
7517	tests/api/tests.c, tests/api/tests.h: Adding API tests for the NetIO
7518	API, focusing heavily on the pr_netio_telnet_gets() function.
7519
75202014-01-06  castaglia <castaglia>
7521
7522	* include/netio.h, src/netio.c: Make the function for allocating and
7523	attaching a pr_buffer_t to a NetIO stream public.
7524
75252014-01-03  castaglia <castaglia>
7526
7527	* contrib/mod_deflate.c: Refactor the same note name string into a
7528	single #define.
7529
75302014-01-03  castaglia <castaglia>
7531
7532	* contrib/mod_deflate.c: Update the mod_deflate module to use the
7533	new pr_netio_stream_t notes table for stashing the z_stream
7534	pointers, rather than the nstrm_data member.
7535
75362014-01-02  castaglia <castaglia>
7537
7538	* doc/modules/mod_log.html: Fix inaccurate description of %p
7539	LogFormat variable.
7540
75412014-01-02  castaglia <castaglia>
7542
7543	* include/netio.h, src/netio.c: A NetIO stream object now has a
7544	table for stashing any/all kinds of module-specific data.  This
7545	table will eventually replace the void *strm_data member, once all
7546	modules have been updated to use the new table for their stashing.
7547
75482014-01-02  castaglia <castaglia>
7549
7550	* src/netio.c: Use slightly better, more descriptive names for the
7551	default NetIO objects.  Make the code use consistent style, i.e.
7552	switch statements, enclosing parentheses around function pointers,
7553	etc throughout.  No functional change.
7554
75552014-01-01  castaglia <castaglia>
7556
7557	* contrib/mod_tls.c: Fix grammar-o in a comment.
7558
75592014-01-01  castaglia <castaglia>
7560
7561	* src/fsio.c: When reading from a file using pr_fsio_gets(), use the
7562	given iosz hint as is, rather than using the smaller size of given
7563	buffer vs iosz hint.  The iosz hint, if present, will always be more
7564	efficient.  The given buffer can then be filled from the read-in
7565	buffer.
7566
75672013-12-30  castaglia <castaglia>
7568
7569	* src/parser.c: Clean up a few stylistic nits in the parser code; no
7570	functional change.
7571
75722013-12-30  castaglia <castaglia>
7573
7574	* src/fsio.c: Clean up a few stylistic nits in fsio.c; no functional
7575	change.
7576
75772013-12-29  castaglia <castaglia>
7578
7579	* modules/mod_auth.c: Once the "has this client authenticated?"
7580	check -- which occurs per-command -- has succeeded, record that
7581	success value such that we do not do the same lookup for subsequent
7582	commands.  Once a client has authenticated, that state will not
7583	change for the duration of the connection.  At least until REIN is
7584	implemented.
7585
75862013-12-29  castaglia <castaglia>
7587
7588	* tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test for
7589	failed logins due to out-of-sequence commands.
7590
75912013-12-29  castaglia <castaglia>
7592
7593	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Despite Net::FTP's
7594	documentation with regard to FTP firewalls (i.e. proxying), the
7595	implementation leaves much to be desired.  So I worked around the
7596	Net::FTP internals to make it do what I wanted.
7597
75982013-12-27  castaglia <castaglia>
7599
7600	* NEWS, contrib/mod_sftp/scp.c: Bug#4004 - IgnoreSCPUploadPerms
7601	SFTPOption not honored properly for SCP directory upload.
7602
76032013-12-27  castaglia <castaglia>
7604
7605	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
7606	test for Bug#4004.
7607
76082013-12-23  castaglia <castaglia>
7609
7610	* include/netaddr.h, src/netaddr.c, tests/api/netaddr.c: Rename the
7611	ADDRS_ONLY pr_netaddr_get_addr2() flag to EXCL_DNS, to be more
7612	consistent with the naming of similar flags for the option, and to
7613	be more descriptive.
7614
76152013-12-23  castaglia <castaglia>
7616
7617	* include/netaddr.h, src/netaddr.c, tests/api/netaddr.c: Support new
7618	flag for pr_netaddr_get_addr2() which can be used to skip DNS name
7619	resolutions, and only check whether the given string is a resolvable
7620	IP address.  Add missing regression test for pr_netaddr_get_addr2(),
7621	with tests for the INCL_DEVICE and ADDRS_ONLY flags.
7622
76232013-12-20  castaglia <castaglia>
7624
7625	* NEWS, contrib/mod_sftp/dhparams.pem: Bug#4002 - Add 7680-bit DH
7626	parameter to mod_sftp bundled dhparams.pem file.
7627
76282013-12-20  castaglia <castaglia>
7629
7630	* modules/mod_auth_file.c: Try mitigating some of the terror/madness
7631	caused by Bug#3892 preemptively by using root privs when opening the
7632	AuthUserFile/AuthGroupFile for reading.
7633
76342013-12-20  castaglia <castaglia>
7635
7636	* modules/mod_auth_file.c: Slight tweaks to the error messages
7637	logged.
7638
76392013-12-20  castaglia <castaglia>
7640
7641	* modules/mod_auth_file.c: Add more information to error messages
7642	logged by mod_auth_file due to the stricter checks added for
7643	Bug#3892.
7644
76452013-12-19  castaglia <castaglia>
7646
7647	* contrib/mod_wrap2_file.c: Add some helpful logging when
7648	mod_wrap2_file performs resolution on the given table path.
7649
76502013-12-19  castaglia <castaglia>
7651
7652	* doc/contrib/mod_wrap2.html: Fix typos.
7653
76542013-12-19  castaglia <castaglia>
7655
7656	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Bug#4001
7657	- mod_sftp fails key exchange for 8192-bit DH group.
7658
76592013-12-16  castaglia <castaglia>
7660
7661	* contrib/mod_sftp/fxp.c: Fix regressions in the handling of <Limit>
7662	sections applicable to READDIR SFTP requests, caused by the fix for
7663	Bug#3753 and pointed out by Mike Futerko.
7664
76652013-12-15  castaglia <castaglia>
7666
7667	* src/netaddr.c: When caching the remote session address
7668	information, make sure to properly zero out the cache structures
7669	first.
7670
76712013-12-15  castaglia <castaglia>
7672
7673	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Handle the new
7674	test_cleanup function properly, i.e. by going one level deeper into
7675	the call stack when writing out to the tests.log file, for accurate
7676	reporting of the failing testcase in question.
7677
76782013-12-15  castaglia <castaglia>
7679
7680	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Provide a way to tell
7681	test_cleanup() to keep the log files around.
7682
76832013-12-14  castaglia <castaglia>
7684
7685	* contrib/mod_sftp/mod_sftp.c: Fix typo in comment; no functional
7686	change.
7687
76882013-12-12  castaglia <castaglia>
7689
7690	* doc/contrib/mod_geoip.html: Typo.
7691
76922013-12-12  castaglia <castaglia>
7693
7694	* tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm: Checking in
7695	reproduction recipe for Bug#3928, for when I can address that issue
7696	in the future.
7697
76982013-12-12  castaglia <castaglia>
7699
7700	* NEWS, RELEASE_NOTES, contrib/mod_exec.c: Bug#3876 - ExecOnEvent
7701	should be configurable per <VirtualHost>/<Global>.
7702
77032013-12-12  castaglia <castaglia>
7704
7705	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Regression tests for
7706	Bug#3996.
7707
77082013-12-12  castaglia <castaglia>
7709
7710	* NEWS, modules/mod_xfer.c: Bug#3996 - Handling ALLO command can
7711	result in wrong response when chrooted.
7712
77132013-12-12  castaglia <castaglia>
7714
7715	* NEWS, contrib/mod_sftp/keys.c: Bug#3992 - RSA signature issue when
7716	connecting using PuTTY/WinSCP.
7717
77182013-12-10  castaglia <castaglia>
7719
7720	* contrib/ftpasswd: Fix minor issue with Bug#3994 fix, to prevent
7721	multiple --locks on the same user from prepending multiple "lock"
7722	characters; just one is enough.
7723
77242013-12-09  castaglia <castaglia>
7725
7726	* doc/contrib/mod_tls.html: Update mod_tls docs with descriptions
7727	for the new EC cert/key directives.
7728
77292013-12-09  castaglia <castaglia>
7730
7731	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3772 - Support
7732	Elliptic Curve Cryptography (ECC) certs for FTPS connections.
7733
77342013-12-09  castaglia <castaglia>
7735
7736	* contrib/mod_quotatab.c, contrib/mod_snmp/db.c, include/fsio.h,
7737	modules/mod_delay.c, src/fsio.c, src/scoreboard.c, src/wtmp.c:
7738	Refactor some of the common code for getting a usable fd into a new
7739	pr_fs_get_usable_fd2() function, and update some of the sites to use
7740	the new function.
7741
77422013-12-09  castaglia <castaglia>
7743
7744	* NEWS, contrib/mod_quotatab.c, contrib/mod_snmp/db.c,
7745	modules/mod_delay.c, src/scoreboard.c, src/wtmp.c: Bug#3970 -
7746	ProFTPD should not use fd 2 (stderr) for files.
7747
77482013-12-09  castaglia <castaglia>
7749
7750	* modules/mod_core.c: Fix compiler warning about type mismatch.
7751
77522013-12-09  castaglia <castaglia>
7753
7754	* tests/t/etc/modules/mod_tls/NOTES,
7755	tests/t/etc/modules/mod_tls/ec-ca.pem,
7756	tests/t/etc/modules/mod_tls/ec-server-cert.pem: Adding EC certs for
7757	tests.
7758
77592013-12-08  castaglia <castaglia>
7760
7761	* tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm: Add
7762	regression tests for <Anonymous> configs with upload-only
7763	directories.
7764
77652013-12-08  castaglia <castaglia>
7766
7767	* contrib/ftpasswd, doc/contrib/ftpasswd.html: Minor reordering of
7768	new --lock, --unlock options, and updating the docs to reflect the
7769	new options.
7770
77712013-12-08  castaglia <castaglia>
7772
7773	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Adding regression
7774	tests for Bug#3994.
7775
77762013-12-08  castaglia <castaglia>
7777
7778	* NEWS, RELEASE_NOTES, contrib/ftpasswd: Bug#3994 - ftpasswd utility
7779	should support --lock/--unlock options.
7780
77812013-12-08  castaglia <castaglia>
7782
7783	* NEWS, contrib/ftpasswd: Bug#3995 - ftpasswd utility should prevent
7784	concurrent modification of files.
7785
77862013-12-05  castaglia <castaglia>
7787
7788	* doc/contrib/mod_sftp.html: Update mod_sftp docs for the new
7789	IgnoreSCPUploadTimes SFTPOption.
7790
77912013-12-05  castaglia <castaglia>
7792
7793	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
7794	test for Bug#3998 (the new IgnoreSCPUploadTimes SFTPOption).
7795
77962013-12-05  castaglia <castaglia>
7797
7798	* NEWS, RELEASE_NOTES, contrib/mod_sftp/mod_sftp.c,
7799	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/scp.c: Bug#3998 -
7800	Support IgnoreSCPUploadTimes SFTPOption.
7801
78022013-12-05  castaglia <castaglia>
7803
7804	* doc/contrib/mod_sftp.html: List the supported SFTPOptions in
7805	lexicographical order.
7806
78072013-12-05  castaglia <castaglia>
7808
7809	* modules/mod_ctrls.c: Make sure that the mod_ctrls module cannot be
7810	built without using the --enable-ctrls configure option.
7811
78122013-12-04  castaglia <castaglia>
7813
7814	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Adding regression test
7815	for the ALLO command in a chrooted environment.
7816
78172013-12-04  castaglia <castaglia>
7818
7819	* lib/pr_fnmatch_loop.c: Bug#3997 - pr_fnmatch_loop.c compilation
7820	error: "CHAR str[0] : error #2094: the size of an array must be
7821	greater than zero"
7822
78232013-11-24  castaglia <castaglia>
7824
7825	* NEWS, contrib/mod_exec.c, contrib/mod_ldap.c, contrib/mod_tls.c,
7826	include/str.h, modules/mod_auth.c, modules/mod_core.c,
7827	modules/mod_xfer.c, src/str.c, tests/api/str.c: Bug#3965 - Timeout
7828	directives have inconsistent maximum values.
7829
78302013-11-18  castaglia <castaglia>
7831
7832	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
7833	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Create new test_setup()
7834	and test_cleanup() functions, to reduce the amount of boilerplate in
7835	testcases and to reduce the accrued technical debt in the testsuite
7836	codebase by applying the DRY principle.
7837
78382013-11-11  castaglia <castaglia>
7839
7840	* doc/modules/mod_log.html: Added description of new %{basename}
7841	variable to the LogFormat docs.
7842
78432013-11-11  castaglia <castaglia>
7844
7845	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
7846	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added
7847	(simplistic) regression tests for the new LogFormat %{basename}
7848	variable introduced for Bug#3987.
7849
78502013-11-11  castaglia <castaglia>
7851
7852	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, include/mod_log.h,
7853	modules/mod_log.c: Bug#3987 - LogFormat variable for just the
7854	filename.
7855
78562013-11-10  castaglia <castaglia>
7857
7858	* RELEASE_NOTES, doc/howto/LogMessages.html: Check in the
7859	work-to-date on a log message compendium; there are still a few
7860	sections to fill in.
7861
78622013-11-10  castaglia <castaglia>
7863
7864	* src/auth.c: Make the "Preparing to chroot to" log message slightly
7865	less noisy.
7866
78672013-11-10  castaglia <castaglia>
7868
7869	* modules/mod_xfer.c: Shift the HiddenStore DEBUG level messages to
7870	properly use the pr_log_debug() function, and to use a lower DEBUG
7871	level, so they are not as noisy (and are more consistent with other
7872	debug-level logging).
7873
78742013-11-10  castaglia <castaglia>
7875
7876	* modules/mod_auth_file.c: Improve the log message slightly when
7877	mod_auth_file can't open its configured files.
7878
78792013-11-09  castaglia <castaglia>
7880
7881	* src/bindings.c: Found another place with inconsistent log message
7882	formatting; now fixed.
7883
78842013-11-09  castaglia <castaglia>
7885
7886	* src/data.c: Fixed formatting of log message to be more consistent
7887	with the format used elsewhere, i.e. that the strerror(3) string
7888	follows a colon and space.
7889
78902013-11-09  castaglia <castaglia>
7891
7892	* doc/modules/mod_core.html: Include description for the UserOwner
7893	directive in the mod_core docs.
7894
78952013-11-09  castaglia <castaglia>
7896
7897	* contrib/mod_ifsession.c: Log messages about misconfigurations
7898	should be logged at WARNING, not ERR.
7899
79002013-11-05  castaglia <castaglia>
7901
7902	* NEWS, contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c:
7903	Bug#3991 - SSL session caching modules use incorrect OpenSSL cache
7904	mode flags, breaking session caching.
7905
79062013-11-05  castaglia <castaglia>
7907
7908	* doc/contrib/mod_tls_shmcache.html: Updated mod_tls_shmcache docs.
7909
79102013-10-27  castaglia <castaglia>
7911
7912	* doc/howto/TLS.html: TLS FAQ about difference between shm and
7913	memcache for SSL session caching.
7914
79152013-10-15  castaglia <castaglia>
7916
7917	* src/fsio.c: If the underlying filesystem doesn't support chmod(2)
7918	(per Bug#3986), then at least log a DEBUG level message about it.
7919
79202013-10-15  castaglia <castaglia>
7921
7922	* NEWS, src/fsio.c: Bug#3986 - Support filesystems which do not
7923	support chmod(2)/chown(2), e.g.  FAT/ExFAT.
7924
79252013-10-14  castaglia <castaglia>
7926
7927	* NEWS, RELEASE_NOTES: Bug#3982 - Normalize log messages and levels.
7928
79292013-10-13  castaglia <castaglia>
7930
7931	* modules/mod_dso.c, src/log.c: Fix comments to match code.
7932
79332013-10-13  castaglia <castaglia>
7934
7935	* modules/mod_core.c: Tweak a log message to be more in line with
7936	similar log messages elsewhere.
7937
79382013-10-13  castaglia <castaglia>
7939
7940	* contrib/mod_rewrite.c: If a configured RewriteLog is in a
7941	world-writable directory, log it -- but use the same phrasing as
7942	used for other modules in similar situations.
7943
79442013-10-13  castaglia <castaglia>
7945
7946	* src/fsio.c: Found only one instance of a DEBUG level message which
7947	needed a different log level (Bug#3982).
7948
79492013-10-13  castaglia <castaglia>
7950
7951	* src/auth.c: The log message about chrooting is more of a DEBUG
7952	level message, rather than INFO (per Bug#3982).
7953
79542013-10-13  castaglia <castaglia>
7955
7956	* modules/mod_ctrls.c, modules/mod_delay.c, modules/mod_dso.c,
7957	modules/mod_xfer.c: Changing the log levels of messages for some
7958	modules to be more consistent, per Bug#3982.
7959
79602013-10-13  castaglia <castaglia>
7961
7962	* contrib/mod_ban.c, contrib/mod_ctrls_admin.c,
7963	contrib/mod_dynmasq.c, contrib/mod_geoip.c,
7964	contrib/mod_load/mod_load.c, contrib/mod_sftp/fxp.c,
7965	contrib/mod_sftp/scp.c, contrib/mod_shaper.c, contrib/mod_tls.c,
7966	contrib/mod_tls_memcache.c, contrib/mod_tls_shmcache.c,
7967	contrib/mod_wrap.c: Tweak the log levels of various log messages in
7968	contrib modules, bringing the messages in line with a more
7969	consistent logging policy (Bug#3982).
7970
79712013-10-13  castaglia <castaglia>
7972
7973	* contrib/ftpmail: If there are comments after the user/password
7974	values in the ftpmail SMTP AUTH file, trim them off.
7975
79762013-10-13  castaglia <castaglia>
7977
7978	* src/bindings.c, src/dirtree.c, src/lastlog.c, src/log.c,
7979	src/main.c: Combing through NOTICE level log messages in src/ turned
7980	up a few needed tweaks, for Bug#3982.
7981
79822013-10-13  castaglia <castaglia>
7983
7984	* modules/mod_auth.c, modules/mod_auth_pam.c,
7985	modules/mod_auth_unix.c, modules/mod_cap.c, modules/mod_ctrls.c,
7986	modules/mod_dso.c, modules/mod_lang.c, modules/mod_log.c,
7987	modules/mod_memcache.c, modules/mod_xfer.c: Minor tweaks to log
7988	messages and log levels, bringing them in line with the
7989	expected/consistent log levels, per Bug#3982.
7990
79912013-10-13  castaglia <castaglia>
7992
7993	* contrib/mod_dnsbl/mod_dnsbl.c, contrib/mod_geoip.c,
7994	contrib/mod_ldap.c, contrib/mod_log_forensic.c,
7995	contrib/mod_radius.c, contrib/mod_ratio.c, contrib/mod_rewrite.c,
7996	contrib/mod_sftp/auth.c, contrib/mod_sftp/keys.c,
7997	contrib/mod_sftp/mod_sftp.c, contrib/mod_snmp/mod_snmp.c,
7998	contrib/mod_sql.c, contrib/mod_tls.c: Tweaks to log levels of
7999	various messages in the contrib modules, making them be more
8000	consistent, per Bug#3982.
8001
80022013-10-11  castaglia <castaglia>
8003
8004	* src/auth.c: Slightly better log message, hopefully.
8005
80062013-10-11  castaglia <castaglia>
8007
8008	* src/auth.c, tests/t/lib/ProFTPD/TestSuite/Utils.pm,
8009	tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Added regression
8010	tests for Bug#3985, and slightly better logging that MIGHT help
8011	track down issues like this in the future.
8012
80132013-10-09  castaglia <castaglia>
8014
8015	* doc/howto/Logging.html: Fix broken anchor tag.
8016
80172013-10-09  castaglia <castaglia>
8018
8019	* src/timers.c: Use the WARNING level if we can't install our signal
8020	handlers needed for timers, rather than NOTICE.
8021
80222013-10-09  castaglia <castaglia>
8023
8024	* contrib/mod_dynmasq.c: Slightly better language in the log message
8025	when we can't resolve a DNS name.
8026
80272013-10-09  castaglia <castaglia>
8028
8029	* contrib/mod_deflate.c: Use more appropriate log levels for issues
8030	opening a DeflateLog file, and also make sure to preserve errno for
8031	proper error reporting.
8032
80332013-10-09  castaglia <castaglia>
8034
8035	* contrib/mod_ban.c: Most of the NOTICE-level log messages in
8036	mod_ban are actually WARNING-level worthy; make them use WARNING,
8037	then.
8038
80392013-10-09  castaglia <castaglia>
8040
8041	* modules/mod_xfer.c: Found a few more places where errno might be
8042	getting clobbered, and thus leading to inaccurate reporting.
8043
80442013-10-09  castaglia <castaglia>
8045
8046	* modules/mod_delay.c: Preserve errno properly when reporting errors
8047	here.
8048
80492013-10-09  castaglia <castaglia>
8050
8051	* src/main.c: Fix another case where the reported errno value might
8052	not be the correct one.
8053
80542013-10-09  castaglia <castaglia>
8055
8056	* modules/mod_auth.c: Cut down on possibly-spurious log warnings.
8057
80582013-10-09  castaglia <castaglia>
8059
8060	* src/lastlog.c: Another place where we might be losing the real
8061	errno value.
8062
80632013-10-09  castaglia <castaglia>
8064
8065	* src/mkhome.c: Make sure that when an error occurs, we log and
8066	preserve the errno properly.
8067
80682013-10-09  castaglia <castaglia>
8069
8070	* src/wtmp.c: Fix a few more places where we need to be careful to
8071	preserve the errno value.
8072
80732013-10-09  castaglia <castaglia>
8074
8075	* modules/mod_auth_unix.c: More cases where we need to take care to
8076	preserve the errno value properly.
8077
80782013-10-09  castaglia <castaglia>
8079
8080	* modules/mod_core.c: Preserve errno for proper error reporting.
8081
80822013-10-09  castaglia <castaglia>
8083
8084	* modules/mod_facl.c: Make sure we preserve errno appropriately.
8085
80862013-10-09  castaglia <castaglia>
8087
8088	* doc/modules/mod_core.html: One more link which should use the
8089	#Syslog anchor in the Logging doc.
8090
80912013-10-09  castaglia <castaglia>
8092
8093	* contrib/mod_sql_postgres.c: Forgot to update copyright date on
8094	previous checkin.
8095
80962013-10-08  castaglia <castaglia>
8097
8098	* src/child.c: If we update an empty child list, explicitly set the
8099	listlen back to zero.  It should already be this value anyway, we
8100	just want to make sure.
8101
81022013-10-07  castaglia <castaglia>
8103
8104	* contrib/mod_rewrite.c, contrib/mod_sftp/auth.c,
8105	contrib/mod_sftp/mod_sftp.c, contrib/mod_snmp/mod_snmp.c,
8106	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
8107	contrib/mod_sql_sqlite.c, contrib/mod_tls.c, modules/mod_auth.c,
8108	modules/mod_auth_file.c, modules/mod_auth_unix.c,
8109	modules/mod_cap.c, modules/mod_delay.c, modules/mod_facl.c,
8110	modules/mod_log.c, modules/mod_memcache.c, modules/mod_site.c,
8111	modules/mod_xfer.c, src/auth.c, src/bindings.c, src/data.c,
8112	src/dirtree.c, src/display.c, src/fsio.c, src/inet.c, src/main.c,
8113	src/modules.c, src/parser.c, src/pool.c: Shuffle some of the log
8114	levels used for log messages, making ERR message that should be
8115	something else BE something else, leaving ERR messages which should
8116	be ERR alone (Bug#3982).
8117
81182013-10-07  castaglia <castaglia>
8119
8120	* NEWS, RELEASE_NOTES, contrib/mod_ldap.c: Bug#3888 - Add LDAPLog
8121	directive to mod_ldap.
8122
81232013-10-07  castaglia <castaglia>
8124
8125	* contrib/mod_ldap.c: Start making stylistic changes to the mod_ldap
8126	code, bringing it more in line with the coding style used elsewhere
8127	in proftpd.  No functional change.
8128
81292013-10-07  castaglia <castaglia>
8130
8131	* contrib/mod_sftp/auth.c, modules/mod_auth.c: Log "SECURITY
8132	VIOLATION" messages at the NOTICE level (Bug#3982).
8133
81342013-10-07  castaglia <castaglia>
8135
8136	* contrib/mod_exec.c, contrib/mod_sftp/cipher.c,
8137	contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
8138	contrib/mod_sftp/mac.c, contrib/mod_sftp/msg.c,
8139	contrib/mod_sftp_pam.c, contrib/mod_shaper.c,
8140	contrib/mod_snmp/mod_snmp.c, contrib/mod_tls.c, include/log.h,
8141	modules/mod_auth_file.c, modules/mod_ls.c, src/data.c, src/env.c,
8142	src/fsio.c, src/log.c, src/main.c, src/pool.c: On second thought,
8143	remove the whole lookup-of-log-level-by-resource mechanism.  It's
8144	overengineered, and we don't need it right now.
8145
81462013-10-06  castaglia <castaglia>
8147
8148	* contrib/mod_exec.c, contrib/mod_sftp/keys.c,
8149	contrib/mod_snmp/mod_snmp.c, contrib/mod_tls.c, include/log.h,
8150	src/log.c, src/main.c: When fork(2) fails and we need to log a
8151	message, use the new lookup function to determine the log level for
8152	that "process" resource.
8153
81542013-10-06  castaglia <castaglia>
8155
8156	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/crypto.c,
8157	contrib/mod_sftp/keys.c, contrib/mod_sftp/mac.c,
8158	contrib/mod_sftp/msg.c, contrib/mod_sftp_pam.c,
8159	contrib/mod_shaper.c, contrib/mod_tls.c, include/log.h,
8160	modules/mod_auth_file.c, modules/mod_ls.c, src/data.c, src/env.c,
8161	src/fsio.c, src/log.c, src/pool.c: When a resource is exhausted, we
8162	now have a lookup function to determine the proper log level to use
8163	for the ensuing log message.  This lets us coordinate/tweak these
8164	levels in the future as needed, as well as being able to
8165	differentiate/tweak different log levels for the same resource but
8166	different errors (e.g. EMFILE vs ENFILE for fd exhaustion).
8167
81682013-10-06  castaglia <castaglia>
8169
8170	* contrib/mod_snmp/mod_snmp.c: mod_snmp, too, needs to log fork(2)
8171	failures at the ALERT level (Bug#3982).
8172
81732013-10-06  castaglia <castaglia>
8174
8175	* contrib/mod_exec.c, contrib/mod_tls.c, src/main.c: Log other
8176	out-of-resource errors (such as fork(2) and pipe(2) failures) at the
8177	ALERT log level, per Bug#3982.
8178
81792013-10-06  castaglia <castaglia>
8180
8181	* modules/mod_ls.c, src/data.c, src/env.c, src/pool.c: Let's be
8182	consistent about the message logged when we are out of memory, and
8183	use "Out of memory!", rather than a mix of the former as well as
8184	variations on "memory exhausted" (Bug#3982).
8185
81862013-10-06  castaglia <castaglia>
8187
8188	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/keys.c,
8189	contrib/mod_tls.c, modules/mod_ls.c, src/data.c, src/env.c: Found
8190	more places in the code where an out-of-memory condition needed to
8191	be logged at the ALERT level, per Bug#3982.
8192
81932013-10-06  castaglia <castaglia>
8194
8195	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c,
8196	contrib/mod_sftp/msg.c, contrib/mod_sftp_pam.c,
8197	contrib/mod_shaper.c, modules/mod_auth_file.c, src/fsio.c,
8198	src/pool.c: Bug#3982 - Normalize log messages and levels.  We start by logging all out-of-memory conditions at the ALERT level.
8199
82002013-10-06  castaglia <castaglia>
8201
8202	* contrib/mod_snmp/.cvsignore: Updated .cvsignore files for
8203	mod_dnsbl and mod_snmp.
8204
82052013-10-06  castaglia <castaglia>
8206
8207	* doc/howto/LogLevels.html: More typos, layout fixes.
8208
82092013-10-06  castaglia <castaglia>
8210
8211	* doc/howto/LogLevels.html: Typo.
8212
82132013-10-06  castaglia <castaglia>
8214
8215	* doc/howto/index.html: Add the LogLevels doc to the index.
8216
82172013-10-06  castaglia <castaglia>
8218
8219	* doc/howto/LogLevels.html, doc/howto/Logging.html,
8220	doc/modules/mod_core.html: Beef up the logging documentation by
8221	covering the log levels, and the granularity of the DEBUG level
8222	messages.  This is necessary groundwork for the next stop: creating
8223	a log message catalog, per level.
8224
82252013-10-06  castaglia <castaglia>
8226
8227	* doc/howto/Compiling.html: Minor embellishment on what the
8228	install_user/install_group variables are for (and what they are NOT
8229	for).
8230
82312013-10-06  castaglia <castaglia>
8232
8233	* doc/howto/ConfigurationTricks.html: Add recipe for using
8234	environment variable to achieve ServerRoot-like functionality.
8235
82362013-10-06  castaglia <castaglia>
8237
8238	* doc/howto/Filters.html: Add recipe about filtering SITE CHMOD
8239	parameters using DenyFilter to doc.  Fixed links to be relative.
8240
82412013-10-06  castaglia <castaglia>
8242
8243	* tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm: Added regression
8244	test show how to use DenyFilter to prevent a SITE CHMOD command that
8245	uses mode 777.
8246
82472013-10-06  castaglia <castaglia>
8248
8249	* src/dirtree.c: Fixed bug in the handling of
8250	AllowFilter/DenyFilter, where a non-match would result in a false
8251	positive, such that a command might be allowed (when it should not
8252	be), or denied when it should be allowed.
8253
82542013-10-06  castaglia <castaglia>
8255
8256	* src/var.c: Clean up minor stylistic nits in the Variables API; no
8257	real functional change.
8258
82592013-10-05  castaglia <castaglia>
8260
8261	* src/fsio.c: Additional improvements for Bug#3963, reducing the
8262	scope of root privs used when setting created directory permissions.
8263
82642013-10-05  castaglia <castaglia>
8265
8266	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Updated mod_exec
8267	ExecOption useStdin regression test in light of Bug#3981.
8268
82692013-10-05  castaglia <castaglia>
8270
8271	* NEWS, contrib/mod_exec.c: Bug#3981 - Null pointer dereference in
8272	mod_exec with ExecOption useStdin.
8273
82742013-10-05  castaglia <castaglia>
8275
8276	* contrib/mod_sftp/fxp.c: When constructing the string version of
8277	unsupported OPEN flags sent by the SFTP client, make sure we are
8278	checking the correct flags variable.
8279
82802013-10-05  castaglia <castaglia>
8281
8282	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support writing out of
8283	configs that are given as arrayrefs, not just as hashrefs.
8284
82852013-10-05  castaglia <castaglia>
8286
8287	* tests/t/config/setenv.t,
8288	tests/t/lib/ProFTPD/Tests/Config/SetEnv.pm, tests/tests.pl: Adding
8289	regression test for the SetEnv directive.  In this case, the test
8290	also demonstrates how environment variables can be used to
8291	approximate the functionality of Apache's ServerRoot directive.
8292
82932013-10-05  castaglia <castaglia>
8294
8295	* tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm: Add a (currently
8296	failing) mod_ratio regression, found in an Ubuntu bug report.
8297
82982013-10-03  castaglia <castaglia>
8299
8300	* doc/contrib/mod_ratio.html: Start working on mod_ratio docs, if
8301	only to cut down on bug reports about it.
8302
83032013-10-03  castaglia <castaglia>
8304
8305	* doc/contrib/mod_sftp_pam.html: Fix typos and improve the
8306	installation instructions for mod_sftp_pam.
8307
83082013-10-02  castaglia <castaglia>
8309
8310	* modules/mod_dso.c: Update mod_dso to use the pr_strnrstr()
8311	function, which duplicated code already in mod_dso.
8312
83132013-10-02  castaglia <castaglia>
8314
8315	* RELEASE_NOTES: Plan to release RC4, and mention the fixing of the
8316	LDFLAGS for module builds.
8317
83182013-10-02  castaglia <castaglia>
8319
8320	* contrib/mod_dnsbl/configure, contrib/mod_load/configure,
8321	contrib/mod_sftp/configure, contrib/mod_snmp/configure,
8322	contrib/mod_wrap2/configure: Updated contrib module configure
8323	scripts.
8324
83252013-10-02  castaglia <castaglia>
8326
8327	* contrib/mod_dnsbl/Makefile.in, contrib/mod_dnsbl/configure.in,
8328	contrib/mod_load/Makefile.in, contrib/mod_load/configure.in,
8329	contrib/mod_sftp/Makefile.in, contrib/mod_sftp/configure.in,
8330	contrib/mod_snmp/Makefile.in, contrib/mod_snmp/configure.in,
8331	contrib/mod_wrap2/Makefile.in, contrib/mod_wrap2/configure.in:
8332	Properly propagate/use LDFLAGS in the contrib module Makefiles.
8333
83342013-10-02  castaglia <castaglia>
8335
8336	* contrib/mod_sftp/kex.c: Even when SSH2 clients do not send a
8337	"guess" KEX packet, but do correctly guess the preferred kex, we
8338	need to be prepared to handle ECDH key exchanges.
8339
83402013-10-01  castaglia <castaglia>
8341
8342	* modules/mod_auth_unix.c: Fix typo in patch for Bug#3952 that was
8343	resulting in segfault.
8344
83452013-10-01  castaglia <castaglia>
8346
8347	* contrib/mod_exec.c: Remove extraneous semicolon; I've been trying
8348	not to use them after the PRIVS macros.
8349
83502013-09-30  castaglia <castaglia>
8351
8352	* contrib/mod_exec.c, contrib/mod_sql.c, modules/mod_log.c,
8353	modules/mod_xfer.c, src/dirtree.c, tests/api/cmd.c,
8354	tests/api/stubs.c: Deprecate get_full_cmd() in favor of
8355	pr_cmd_get_displayable_str(); both are existing functions, and the
8356	latter is more performant.
8357
83582013-09-30  castaglia <castaglia>
8359
8360	* contrib/mod_sftp/mod_sftp.c: Make sure that ECC key exchange
8361	algorithms can be explicitly configured via the SFTPKeyExchanges
8362	directive, when supported.
8363
83642013-09-29  castaglia <castaglia>
8365
8366	* doc/modules/mod_auth_unix.html: Updated PersistentPasswd docs per
8367	Bug#3952.
8368
83692013-09-29  castaglia <castaglia>
8370
8371	* NEWS, RELEASE_NOTES, include/options.h, modules/mod_auth_file.c,
8372	modules/mod_auth_unix.c, src/main.c: Bug#3952 - Make
8373	PersistentPasswd default to 'off'.
8374
83752013-09-27  castaglia <castaglia>
8376
8377	* src/netaddr.c: Include the address family (IPv4 vs IPv6) to which
8378	we tried (and failed) to resolve the given name, in the
8379	failed-resolution log message.
8380
83812013-09-27  castaglia <castaglia>
8382
8383	* src/bindings.c: Only return an error from
8384	pr_ipbind_get_listening_conn(), if we fail to duplicate an address,
8385	for a reason other than EINVAL.  Turns out that EINVAL is actually
8386	an expected/common reason for the dup to fail.
8387
83882013-09-27  castaglia <castaglia>
8389
8390	* src/bindings.c, src/dirtree.c, src/inet.c, src/netaddr.c: Fix an
8391	interesting bug only encountered if the following config is used:   DefaultAddress <ipv6-addr>   UseIPv6 off That is, the server is configured with an IPv6 address, and then
8392	later, in the config, support for IPv6 is disabled.  Without this
8393	patch, a strange segfault will ensue on startup.  Note that if the order of the directives is reversed, so that
8394	UseIPv6 occurs before the DefaultAddress directive, then startup
8395	fails as one might expect, since the IPv6 address won't be resolved
8396	unless IPv6 support is enabled.
8397
83982013-09-25  castaglia <castaglia>
8399
8400	* contrib/mod_sftp/display.c, src/display.c: Silly compilers
8401	disagree on whether '' is valid syntax for denoting a single
8402	character.  Sigh.
8403
84042013-09-25  castaglia <castaglia>
8405
8406	* contrib/mod_sftp/display.c, src/display.c: When formatting the %f
8407	Display variable, the units index was not being calculated
8408	correctly.
8409
84102013-09-25  castaglia <castaglia>
8411
8412	* src/fsio.c: Minor clarifying comment.
8413
84142013-09-25  castaglia <castaglia>
8415
8416	* NEWS, contrib/mod_sql_odbc.c: Bug#3979 - mod_sql_odbc compiler
8417	warnings on 64-bit systems using unixODBC.
8418
84192013-09-24  castaglia <castaglia>
8420
8421	* include/str.h, src/str.c, tests/api/str.c, tests/api/timers.c: Add
8422	new pr_strnrstr() function, for checking whether a given string ends
8423	with a given suffix.  Comes with accompanying API tests.  Fixed a few racy timer tests while there.
8424
84252013-09-20  castaglia <castaglia>
8426
8427	* contrib/mod_sftp/keys.c, contrib/mod_tls.c: Updated the cached
8428	PID, so that log messages reflected the forked process' PID
8429	properly.
8430
84312013-09-20  castaglia <castaglia>
8432
8433	* contrib/mod_exec.c: Make sure we revoke root privs, even if we
8434	already hae the session.login_uid, when the '~' ExecOnEvent syntax
8435	is used.
8436
84372013-09-20  castaglia <castaglia>
8438
8439	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding regression
8440	test for Bug#3964.
8441
84422013-09-20  castaglia <castaglia>
8443
8444	* NEWS, RELEASE_NOTES, contrib/mod_exec.c: Bug#3964 - Support
8445	running ExecOnEvent actions with logged-in user's permissions.
8446
84472013-09-20  castaglia <castaglia>
8448
8449	* NEWS, contrib/mod_geoip.c: Bug#3976 - ProFTPD terminating (signal
8450	11) crash for GeoLiteCity-20130903 database lookup.
8451
84522013-09-20  castaglia <castaglia>
8453
8454	* NEWS, contrib/mod_geoip.c: Bug#3975 - Error printed to stderr when
8455	loading GeoIP Lite country database using IndexCache flag.
8456
84572013-09-19  castaglia <castaglia>
8458
8459	* include/netio.h, src/netio.c: Include not only the module pointer,
8460	but a stringified version of the module name.  The module pointer of
8461	the owner may not be available for comparison (think shared/DSO
8462	modules), so having the string is a nice complement.
8463
84642013-09-19  castaglia <castaglia>
8465
8466	* contrib/mod_deflate.c, contrib/mod_tls.c, include/conf.h,
8467	include/netio.h, src/netio.c: Add new pr_alloc_netio2() function,
8468	for associate the module * with the netio created.  This allows
8469	modules to see, for a given pr_netio_t, which module registered/owns
8470	that netio.  And, related, add a new pr_get_netio() function, so that modules can
8471	see the currently registered NetIO object for a given stream type.
8472	With the above module * now part of that NetIO, said modules can see
8473	what is registered, and take appropriate action.
8474
84752013-09-18  castaglia <castaglia>
8476
8477	* NEWS, src/fsio.c: Bug#3963 - Improve permission setting when
8478	creating directories.
8479
84802013-09-18  castaglia <castaglia>
8481
8482	* doc/contrib/index.html: Update contrib module index with link to
8483	mod_dnsbl.
8484
84852013-09-18  castaglia <castaglia>
8486
8487	* contrib/mod_dnsbl/configure: Updated configure for mod_dnsbl.
8488
84892013-09-18  castaglia <castaglia>
8490
8491	* contrib/mod_dnsbl/Makefile.in, contrib/mod_dnsbl/configure.in,
8492	contrib/mod_dnsbl/mod_dnsbl.h.in: Tweaking the mod_dnsbl build
8493	system to use the module-libs.txt file, for e.g. building properly
8494	as a static module when libresolv is needed.
8495
84962013-09-18  castaglia <castaglia>
8497
8498	* contrib/mod_dnsbl/.cvsignore: Adding necessary .cvsignore file.
8499
85002013-09-18  castaglia <castaglia>
8501
8502	* contrib/mod_dnsbl/Makefile.in: Update clean target for mod_dnsbl
8503	Makefile.
8504
85052013-09-18  castaglia <castaglia>
8506
8507	* RELEASE_NOTES, doc/contrib/mod_dnsbl.html: Mention addition of
8508	mod_dnsbl to the contrib/ area.
8509
85102013-09-18  castaglia <castaglia>
8511
8512	* contrib/mod_dnsbl/Makefile.in, contrib/mod_dnsbl/config.guess,
8513	contrib/mod_dnsbl/config.sub, contrib/mod_dnsbl/configure,
8514	contrib/mod_dnsbl/configure.in, contrib/mod_dnsbl/install-sh,
8515	contrib/mod_dnsbl/mod_dnsbl.c, contrib/mod_dnsbl/mod_dnsbl.h.in:
8516	Adding the mod_dnsbl module to the proftpd project.
8517
85182013-09-18  castaglia <castaglia>
8519
8520	* contrib/mod_snmp/config.guess, contrib/mod_snmp/config.sub,
8521	contrib/mod_snmp/install-sh: Updating config.guess, config.sub,
8522	install-sh scripts for mod_snmp.
8523
85242013-09-18  castaglia <castaglia>
8525
8526	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add ExtendedLog
8527	test for the %r LogFormat variable, for commands other than PASS.
8528	Fixed broken mod_sftp test.
8529
85302013-09-18  castaglia <castaglia>
8531
8532	* contrib/mod_sftp/fxp.c: Using a slightly different memory pool
8533	here avoids some strange side-effects later.
8534
85352013-09-17  castaglia <castaglia>
8536
8537	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls tests
8538	to expect a 522 response code where mod_tls now generates such
8539	codes, rather than the 550 response codes that had been sent in the
8540	past.
8541
85422013-09-17  castaglia <castaglia>
8543
8544	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
8545	tests for the handling of the SSCN command by mod_tls.
8546
85472013-09-17  castaglia <castaglia>
8548
8549	* contrib/xferstats.holger-preiss: Fix/make -t option work properly.
8550	Fixed handling/counting for -i/-o options.  Added new -e option, to
8551	count number of deleted (mnemonic: "erased") files.
8552
85532013-09-17  castaglia <castaglia>
8554
8555	* RELEASE_NOTES: Mention fix of mod_sftp/mod_sftp_pam memory
8556	allocation (CVE-2013-4359) in release notes.
8557
85582013-09-15  castaglia <castaglia>
8559
8560	* contrib/mod_tls.c: Harden the mod_tls NetIO open callback so that,
8561	if multiple streams are opened, they don't overwrite each other.
8562
85632013-09-15  castaglia <castaglia>
8564
8565	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
8566	tests for Bug#3974, regarding the handling of the PathDenyFilter for
8567	SFTP sessions.
8568
85692013-09-15  castaglia <castaglia>
8570
8571	* NEWS, modules/mod_xfer.c: Bug#3974 - PathDenyFilter directive does
8572	not work as expected for SFTP sessions.
8573
85742013-09-15  castaglia <castaglia>
8575
8576	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Update
8577	regression test to work successfully on Mac OSX (due to how that
8578	platform handles its temporary paths).
8579
85802013-09-15  castaglia <castaglia>
8581
8582	* include/str.h, src/str.c, tests/api/str.c: Add a variant of
8583	get_token, i.e. pr_str_get_token2, which not only returns the next
8584	token, but also returns its length.  This is quite useful for using
8585	get_token for iterating over a single string while tokenizing it in
8586	place.
8587
85882013-09-14  castaglia <castaglia>
8589
8590	* NEWS, contrib/mod_sftp/kbdint.c, contrib/mod_sftp/mod_sftp.h.in,
8591	contrib/mod_sftp_pam.c: Bug#3973 - mod_sftp can be forced to
8592	allocate too much memory for keyboard-interactive authentication.
8593
85942013-09-14  castaglia <castaglia>
8595
8596	* contrib/mod_sftp/keys.c: When comparing EC curve points, use the
8597	curve group and points from the local file as the first parameters;
8598	the first parameter represents the "baseline" in the OpenSSL
8599	comparators to which we want to compare the client-supplied curve
8600	group/point.
8601
86022013-09-13  castaglia <castaglia>
8603
8604	* contrib/mod_sftp_pam.c: Fix gcc-4.8 warning; patch supplied by
8605	Sergei Trofimovich <slyfox@gentoo.org>.
8606
86072013-09-05  castaglia <castaglia>
8608
8609	* NEWS, modules/mod_auth_unix.c: Bug#3972 - Authentication error on
8610	Cygwin due to bad code.
8611
86122013-09-04  castaglia <castaglia>
8613
8614	* doc/contrib/mod_sql.html: Document the new IgnoreConfigFile
8615	SQLOption (Bug#3971).
8616
86172013-09-04  castaglia <castaglia>
8618
8619	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, contrib/mod_sql.h,
8620	contrib/mod_sql_mysql.c: Bug#3971 - Support SQLOption for ignoring
8621	client library config files when needed.
8622
86232013-08-25  castaglia <castaglia>
8624
8625	* tests/t/config/deferwelcome.t,
8626	tests/t/lib/ProFTPD/Tests/Config/DeferWelcome.pm, tests/tests.pl:
8627	Add regression tests for the DeferWelcome directive.
8628
86292013-08-25  castaglia <castaglia>
8630
8631	* src/session.c: Make sure that the %L variable, when used in a
8632	ServerIdent message, properly reflects a configured
8633	MasqueradeAddress, just as the non-customised ServerIdent message
8634	would.
8635
86362013-08-19  castaglia <castaglia>
8637
8638	* doc/howto/Authentication.html: Update Auth howto links.  Added FAQ
8639	about getting passwords logged.
8640
86412013-08-19  castaglia <castaglia>
8642
8643	* doc/modules/mod_auth.html: Adding more mod_auth directives to the
8644	docs.
8645
86462013-08-14  castaglia <castaglia>
8647
8648	* doc/contrib/mod_ban.html, doc/contrib/mod_ctrls_admin.html,
8649	doc/contrib/mod_deflate.html, doc/contrib/mod_dynmasq.html,
8650	doc/contrib/mod_exec.html, doc/contrib/mod_ifsession.html,
8651	doc/contrib/mod_log_forensic.html, doc/contrib/mod_qos.html,
8652	doc/contrib/mod_quotatab_file.html,
8653	doc/contrib/mod_quotatab_ldap.html,
8654	doc/contrib/mod_quotatab_sql.html, doc/contrib/mod_radius.html,
8655	doc/contrib/mod_readme.html, doc/contrib/mod_rewrite.html,
8656	doc/contrib/mod_shaper.html, doc/contrib/mod_site_misc.html,
8657	doc/contrib/mod_unique_id.html: Updating installation instructions
8658	for many modules, noting how to build them as shared/DSO modules,
8659	and using prxs to do so.
8660
86612013-08-14  castaglia <castaglia>
8662
8663	* doc/contrib/mod_ban.html: Typo.
8664
86652013-08-14  castaglia <castaglia>
8666
8667	* contrib/mod_geoip.c: Fix mod_geoip's handling of multiple
8668	GeoIPAllowFilter directives.
8669
86702013-08-14  castaglia <castaglia>
8671
8672	* doc/contrib/mod_ban.html, doc/contrib/mod_deflate.html,
8673	doc/contrib/mod_exec.html, doc/contrib/mod_quotatab.html,
8674	doc/contrib/mod_radius.html, doc/contrib/mod_rewrite.html,
8675	doc/contrib/mod_shaper.html, doc/contrib/mod_wrap2.html: Fix typos.
8676
86772013-08-14  castaglia <castaglia>
8678
8679	* doc/contrib/mod_sql.html: Typo.
8680
86812013-08-12  castaglia <castaglia>
8682
8683	* contrib/mod_geoip.c: Bug#3967 - Typo in TraceLog output: "Allow"
8684	should be "Deny".
8685
86862013-08-09  castaglia <castaglia>
8687
8688	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
8689	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added/updated
8690	logging-related tests for Bug#3966.
8691
86922013-08-09  castaglia <castaglia>
8693
8694	* NEWS, contrib/mod_sql.c, modules/mod_core.c, modules/mod_log.c:
8695	Bug#3966 -  LogFormat %f variable not resolved for some commands.
8696
86972013-08-07  castaglia <castaglia>
8698
8699	* src/inet.c, src/support.c: Preemptive support for FreeBSD 10.
8700
87012013-08-07  castaglia <castaglia>
8702
8703	* modules/mod_log.c: Eliminate a strlen(3) when writing the full
8704	ExtendedLog line.
8705
87062013-08-02  castaglia <castaglia>
8707
8708	* tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm: Add regression tests
8709	for the SIZE command, as applied to symlinks (e.g.  to files and to
8710	directories).
8711
87122013-08-01  castaglia <castaglia>
8713
8714	* doc/contrib/mod_tls.html: Adding documentation for the new
8715	TLSVerifyServer directive.
8716
87172013-08-01  castaglia <castaglia>
8718
8719	* include/mod_log.h, modules/mod_log.c: Moving the various "meta"
8720	values used for LogFormat variables into a mod_log.h header, so that
8721	other modules which use the parsed LogFormat directives can also
8722	know what the "meta" values are.
8723
87242013-08-01  castaglia <castaglia>
8725
8726	* modules/mod_log.c: Make mod_log stash the configured LogFormat
8727	directives in the config tree, so that other modules might also look
8728	up and use the LogFormat data.
8729
87302013-07-31  castaglia <castaglia>
8731
8732	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3955 - Support secure
8733	FXP (site-to-site) transfers using SSCN.
8734
87352013-07-29  castaglia <castaglia>
8736
8737	* doc/modules/mod_facts.html: FAQ about FileZilla, symlinks, and
8738	MLSD for older proftpd versions.
8739
87402013-07-26  castaglia <castaglia>
8741
8742	* doc/contrib/mod_ban.html: Add FAQ about banning root logins.
8743
87442013-07-25  castaglia <castaglia>
8745
8746	* NEWS, src/fsio.c: Bug#3962 - Directory creation fails (chmod(2)
8747	EPERM) when root privs are used in some cases.
8748
87492013-07-22  castaglia <castaglia>
8750
8751	* doc/contrib/mod_sftp.html: Adding mod_sftp FAQ/gotcha, per
8752	Bug#3961.
8753
87542013-07-19  castaglia <castaglia>
8755
8756	* doc/modules/mod_cap.html: Document the support for CAP_FSETID for
8757	the CapabilitiesSet directive, per Bug#3960.
8758
87592013-07-19  castaglia <castaglia>
8760
8761	* NEWS, RELEASE_NOTES, modules/mod_cap.c: Bug#3960 - Support the
8762	CAP_FSETID Linux capability, for preserving directory SGID bit.
8763
87642013-07-18  castaglia <castaglia>
8765
8766	* NEWS, src/fsio.c: Bug#3958 - Directory creation does not honor
8767	single-parameter Umask setting.
8768
87692013-07-18  castaglia <castaglia>
8770
8771	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adding regression tests
8772	which would have caught Bug#3958.
8773
87742013-07-17  castaglia <castaglia>
8775
8776	* contrib/mod_sftp/mod_sftp.c: When using the pr_str_get_nbytes()
8777	function, we need to use off_t, not uint32_t, to hold the result
8778	value.  On some systems (e.g. SPARC), a uint32_t is smaller than an
8779	off_t, so trying to shove an off_t worth of data into memory
8780	allocated for uint32_t will cause problems.
8781
87822013-07-17  castaglia <castaglia>
8783
8784	* NEWS, contrib/mod_sftp/fxp.c: Bug#3959 - mod_sftp does not honor
8785	<Directory>/<Limit> sections when symlinks are involved.  The mod_sftp module was not properly canoncalizing the paths sent by
8786	the client before checking <Directory> restrictions.
8787
87882013-07-17  castaglia <castaglia>
8789
8790	* configure: Updated configure.
8791
87922013-07-17  castaglia <castaglia>
8793
8794	* configure.in: Make the configure script handle common typos such
8795	as leading/trailing colons in the --with-modules/--with-shared
8796	lists, and handling double colons in these lists.
8797
87982013-07-17  castaglia <castaglia>
8799
8800	* contrib/mod_sql.c, modules/mod_log.c,
8801	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Making sure that
8802	ExtendedLog variables such as %d and %f work properly for the MFMT
8803	command, and some other SITE commands (e.g. SITE UTIME).
8804
88052013-07-16  castaglia <castaglia>
8806
8807	* contrib/mod_tls.c: Fix compiler warning about unused variable
8808	(only when --disable-ipv6 configure option is used).
8809
88102013-07-16  castaglia <castaglia>
8811
8812	* src/ftpdctl.c: Fix compiler warning.
8813
88142013-07-16  castaglia <castaglia>
8815
8816	* src/netaddr.c: Fix compiler warning on Solaris.
8817
88182013-07-16  castaglia <castaglia>
8819
8820	* contrib/mod_sftp/fxp.c: Fix compiler warnings about shadowed local
8821	variables.
8822
88232013-07-16  castaglia <castaglia>
8824
8825	* NEWS, include/dirtree.h, modules/mod_log.c, src/auth.c,
8826	src/dirtree.c: Bug#3957 - ProFTPD configuration with thousands of
8827	<Directory>/<Limit> sections leads to slow logins.  With this, the find_config() function now takes flags which can be
8828	used to indicate disinterest in specific config types, so that they
8829	are skipped when doing recursive searches of the in-memory config
8830	tree.
8831
88322013-07-09  castaglia <castaglia>
8833
8834	* doc/howto/ECCN.html, doc/howto/index.html: Adding ECCN howto.
8835
88362013-07-05  castaglia <castaglia>
8837
8838	* contrib/mod_sftp_pam.c, modules/mod_auth_pam.c: Fix possible minor
8839	memory leak with an error happens during PAM message processing.
8840
88412013-07-02  castaglia <castaglia>
8842
8843	* tests/t/config/allowforeignaddress.t,
8844	tests/t/lib/ProFTPD/Tests/Config/AllowForeignAddress.pm,
8845	tests/tests.pl: Adding regression tests for site-to-site transfers
8846	(FXP) and the AllowForeignAddress directive.
8847
88482013-07-02  castaglia <castaglia>
8849
8850	* doc/contrib/mod_ban.html: Improve the mod_ban docs by listing the
8851	type of ban (class/host/user) next to the BanOnEvent rules.
8852
88532013-07-02  castaglia <castaglia>
8854
8855	* doc/howto/Stopping.html: HTML formatting (missed closing tag).
8856
88572013-07-01  castaglia <castaglia>
8858
8859	* src/fsio.c: Quell compiler warning on Solaris.
8860
88612013-07-01  castaglia <castaglia>
8862
8863	* NEWS, contrib/mod_sftp/scp.c: Bug#3954 - scp downloads result in
8864	segfault.
8865
88662013-06-30  castaglia <castaglia>
8867
8868	* contrib/mod_sftp/kex.c: We only need to check whether the client
8869	correctly guessed the key exchange algorithm if the client indicate
8870	that it has sent the first KEX packet (as a guess).  If not, then no
8871	need to write out possibly-confusing log messages.
8872
88732013-06-30  castaglia <castaglia>
8874
8875	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Adding
8876	regression test for mod_wrap2's event + mod_exec, for emulating the
8877	"spawn" feature of tcpwrappers (Bug#3209).
8878
88792013-06-30  castaglia <castaglia>
8880
8881	* src/inet.c: Defensive check.
8882
88832013-06-29  castaglia <castaglia>
8884
8885	* modules/mod_xfer.c: Found a few more places in mod_xfer where the
8886	errno value was being stomped, rather than being preserved properly.
8887
88882013-06-29  castaglia <castaglia>
8889
8890	* src/netio.c: More attempts to properly preserve the errno value,
8891	e.g. during polling.
8892
88932013-06-29  castaglia <castaglia>
8894
8895	* modules/mod_core.c: Correcting a log message.
8896
88972013-06-29  castaglia <castaglia>
8898
8899	* NEWS, contrib/mod_ldap.c: Bug#3951 - Null pointer dereference for
8900	mod_ldap logins when LDAPDefaultAuthScheme not configured.
8901
89022013-06-29  castaglia <castaglia>
8903
8904	* contrib/dist/rpm/proftpd.spec: Updated spec with fixes from the
8905	Fedora maintainer.
8906
89072013-06-24  castaglia <castaglia>
8908
8909	* doc/contrib/mod_ifsession.html: Formatting.
8910
89112013-06-24  castaglia <castaglia>
8912
8913	* doc/contrib/mod_ifsession.html: Update mod_ifsession Usage section
8914	with mention of loading it last, when using it as a shared module.
8915
89162013-06-24  castaglia <castaglia>
8917
8918	* src/str.c: Remove unused variable.
8919
89202013-06-23  castaglia <castaglia>
8921
8922	* NEWS, modules/mod_delay.c: Bug#3858 - mod_delay allows too-large
8923	values, leading to client hang on authentication.
8924
89252013-06-22  castaglia <castaglia>
8926
8927	* src/fsio.c: Refactor pr_fs_dircat() such that its use of sstrcat()
8928	will not scan the same buffer over and over to find end-of-string;
8929	we now advance the destination pointer manually to avoid such a
8930	thing.
8931
89322013-06-22  castaglia <castaglia>
8933
8934	* tests/api/fsio.c: Add a unit test for the pr_fs_dircat() function;
8935	we're going to be refactoring it a bit.
8936
89372013-06-22  castaglia <castaglia>
8938
8939	* lib/sstrncpy.c, tests/api/str.c: Fix the sstrncpy() implementation
8940	to do what is expected both when strlcpy(3) is present, and when it
8941	is not.  Update the API unit tests to match the changed sstrncpy()
8942	return value.
8943
89442013-06-22  castaglia <castaglia>
8945
8946	* include/libsupp.h, lib/pwgrent.c, lib/sstrncpy.c, src/ftpdctl.c:
8947	Change sstrcat() to return an int (denoting length) rather than
8948	pointer.  This will make it easier to concatenate strings without
8949	constantly rescanning for the end-of-string in the destination
8950	buffer.
8951
89522013-06-22  castaglia <castaglia>
8953
8954	* src/str.c: Finding cases where we use sstrcat(), and improving
8955	them by moving the destination pointer along, rather than having
8956	sstrcat() scan for the end-of-string every time using the same
8957	pointer.  This should improvement performance a little.  It would be
8958	easier/nicer if sstrcat() returned the number of bytes copied; maybe
8959	I'll work on that.
8960
89612013-06-22  castaglia <castaglia>
8962
8963	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Make the
8964	ExtendedLog tests pass properly by dealing with MacOSX-isms where
8965	needed.
8966
89672013-06-22  castaglia <castaglia>
8968
8969	* contrib/mod_sftp/fxp.c: More work on FTP response codes for
8970	ExtendedLog for SFTP sessions (part of Bug#3948).
8971
89722013-06-21  castaglia <castaglia>
8973
8974	* RELEASE_NOTES: Add note about LogFormat %s handling change for
8975	SFTP transfers.
8976
89772013-06-21  castaglia <castaglia>
8978
8979	* NEWS, contrib/mod_sftp/fxp.c,
8980	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3948 - Support
8981	FTP response codes in ExtendedLog for SFTP data transfers.
8982
89832013-06-21  castaglia <castaglia>
8984
8985	* NEWS, contrib/mod_sftp/fxp.c,
8986	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3949 -
8987	RNFR/RNTO not logged as expected for SFTP EXTENDED
8988	posix-rename@openssh.com requests.
8989
89902013-06-21  castaglia <castaglia>
8991
8992	* RELEASE_NOTES, doc/modules/mod_log.html: Update docs for LogFormat
8993	%d/%D handling changes.
8994
89952013-06-21  castaglia <castaglia>
8996
8997	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
8998	regression tests for Bug#3950.
8999
90002013-06-21  castaglia <castaglia>
9001
9002	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3950 - LogFormat
9003	%d/%D variables not resolved properly for directory listings.
9004
90052013-06-21  castaglia <castaglia>
9006
9007	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Additional
9008	ExtendedLog regression tests for the %f (and %d) LogFormat variable,
9009	pertaining to directory listings such as MLSD.
9010
90112013-06-20  castaglia <castaglia>
9012
9013	* NEWS, contrib/mod_sftp/fxp.c,
9014	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3947 -
9015	LogFormat %f variable not resolved properly for SFTP renames.
9016
90172013-06-20  castaglia <castaglia>
9018
9019	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3946 - Null
9020	pointer dereference causes segfault when logging %{transfer-status},
9021	%{transfer-failure} LogFormat variables on EXIT.
9022
90232013-06-20  castaglia <castaglia>
9024
9025	* doc/modules/mod_log.html: Minor nit: %{transfer-status} and
9026	%{transfer-failure} only pertain to *data* transfers; they do not
9027	pertain to e.g. RNFR/RNTO.
9028
90292013-06-20  castaglia <castaglia>
9030
9031	* doc/modules/mod_core.html: Add missing description of
9032	MaxConnectionRate directive to the mod_core docs.
9033
90342013-06-17  castaglia <castaglia>
9035
9036	* doc/modules/mod_cap.html: Mention support for "CAP_SETUID" in the
9037	CapabilitiesSet directive docs.
9038
90392013-06-17  castaglia <castaglia>
9040
9041	* NEWS, modules/mod_cap.c: Bug#3945 - Spurious log messages at
9042	session close.
9043
90442013-06-15  castaglia <castaglia>
9045
9046	* contrib/mod_wrap2_file.c,
9047	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Support use of
9048	the %U variable in mod_wrap2_file paths, for storing access rules in
9049	per-user locations that are not necessarily that user's home
9050	directory.
9051
90522013-06-14  castaglia <castaglia>
9053
9054	* contrib/mod_snmp/mod_snmp.c: Fix the forged packet check in
9055	mod_snmp to check both address AND port, rather than just address.  Set the RLIMIT_NPROC resource limit in the agent process, after
9056	we've chrooted and dropped privs, such that the agent process cannot
9057	fork again.
9058
90592013-06-14  castaglia <castaglia>
9060
9061	* include/version.h: Revving version for CVS.
9062
90632013-06-14  castaglia <castaglia>
9064
9065	* ChangeLog: Updated ChangeLog.
9066
90672013-06-14  castaglia <castaglia>
9068
9069	* NEWS: Updating NEWS with today's date for 1.3.5rc3 release.
9070
90712013-06-14  castaglia <castaglia>
9072
9073	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
9074	1.3.5rc3 for release.
9075
90762013-06-14  castaglia <castaglia>
9077
9078	* locale/files.txt: Updated files.txt to include new mod_snmp,
9079	mod_sftp files.
9080
90812013-06-14  castaglia <castaglia>
9082
9083	* RELEASE_NOTES: Fleshed out release notes for 1.3.5rc3.
9084
90852013-06-14  castaglia <castaglia>
9086
9087	* doc/howto/SQL.html: Adding section on using the SQL PrimaryKey
9088	directives to the howto.
9089
90902013-06-14  castaglia <castaglia>
9091
9092	* doc/contrib/mod_sql.html: Add descriptions for the
9093	SQLUserPrimaryKey, SQLGroupPrimaryKey directives added for Bug#3864.
9094
90952013-06-10  castaglia <castaglia>
9096
9097	* doc/contrib/mod_sql_passwd.html: Update SQLPasswordPBKDF2 docs to
9098	mention use of non-SHA1 digests requires OpenSSL-1.0.0c and later.
9099
91002013-06-10  castaglia <castaglia>
9101
9102	* contrib/mod_sql_passwd.c: Allow use of PBKDF2 passwords in
9103	mod_sql_passwd for OpenSSL versions older than 1.0.0c, as long as
9104	the configured PBKDF2 digest algorithm is SHA1.
9105
91062013-06-10  castaglia <castaglia>
9107
9108	* doc/modules/mod_rlimit.html: Removed docs for now-obsolete
9109	RLimitProcesses directive.
9110
91112013-06-10  castaglia <castaglia>
9112
9113	* NEWS, modules/mod_rlimit.c: Bug#3941 - RLimitProcesses causes
9114	problems with setuid/setreuid.  Remove the RLimitProcesses and setrlimit(RLIMIT_NPROC) code; it was
9115	causing more problems (due to setuid(2) tricks) than it solved.
9116
91172013-06-07  castaglia <castaglia>
9118
9119	* RELEASE_NOTES, doc/contrib/mod_sql_passwd.html: Add documentation
9120	for the new PBKDF2 support.
9121
91222013-06-07  castaglia <castaglia>
9123
9124	* NEWS, contrib/mod_sql_passwd.c,
9125	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3943 -
9126	Support for PBKDF2 passwords in mod_sql_passwd.
9127
91282013-06-06  castaglia <castaglia>
9129
9130	* NEWS, contrib/mod_sftp_sql.c: Bug#3942 - mod_sftp_sql should
9131	support multiple keys concatenated together in a single column.
9132
91332013-06-06  castaglia <castaglia>
9134
9135	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Adding
9136	regression test for Bug#3942.
9137
91382013-06-06  castaglia <castaglia>
9139
9140	* doc/contrib/mod_sftp.html: Adding another mod_sftp FAQ.
9141
91422013-06-06  castaglia <castaglia>
9143
9144	* contrib/mod_load/Makefile.in, contrib/mod_sftp/Makefile.in,
9145	contrib/mod_snmp/Makefile.in, contrib/mod_wrap2/Makefile.in:
9146	Updating several contrib module Makefiles to clean up properly after
9147	themselves when doing a 'make clean'.
9148
91492013-06-06  castaglia <castaglia>
9150
9151	* src/rlimit.c: If both current and max are NULL pointers, then
9152	return EINVAL; no need to proceed further.
9153
91542013-06-06  castaglia <castaglia>
9155
9156	* contrib/mod_sftp/rfc4716.c: Comment nit; no functional change.
9157
91582013-06-06  castaglia <castaglia>
9159
9160	* contrib/mod_load/Makefile.in: Try to bring the mod_load Makefile
9161	back up to spec, to properly clean out the .la, .lo files, and libs/
9162	directory.
9163
91642013-06-05  castaglia <castaglia>
9165
9166	* modules/mod_dso.c: Handle a LoadModule module name with ".cpp"
9167	extension, in addition to ".c", for loading e.g. C++ modules.
9168
91692013-06-03  castaglia <castaglia>
9170
9171	* contrib/mod_sftp/umac.c: Bug#3940 - Compiler warnings in mod_sftp.  Fixed -Wstrict-aliasing warnings in umac.c.
9172
91732013-05-31  castaglia <castaglia>
9174
9175	* RELEASE_NOTES: Working on fleshing out release notes; still need
9176	to do more.
9177
91782013-05-28  castaglia <castaglia>
9179
9180	* NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#3939 - Disable
9181	Controls for "ServerType inetd" servers.
9182
91832013-05-23  castaglia <castaglia>
9184
9185	* doc/howto/Limit.html: Add section about using multiple <Limit
9186	LOGIN> sections to the Limit howto.
9187
91882013-05-23  castaglia <castaglia>
9189
9190	* tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm: Adding <Limit
9191	LOGIN> test showing what happens when multiple such sections appear
9192	in the same vhost config (answer: last one wins).
9193
91942013-05-17  castaglia <castaglia>
9195
9196	* doc/howto/SQL.html: Add SQLNamedConnectInfo recipe to SQL howto.
9197
91982013-05-17  castaglia <castaglia>
9199
9200	* doc/modules/mod_ctrls.html: Copy-pasto.
9201
92022013-05-16  castaglia <castaglia>
9203
9204	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding regression test
9205	for LIST for relative symlinks where target path contains
9206	double-slashes (regression caused by fix for Bug#3719).
9207
92082013-05-16  castaglia <castaglia>
9209
9210	* NEWS, RELEASE_NOTES: Mention addition of mod_snmp in release docs.
9211
92122013-05-15  castaglia <castaglia>
9213
9214	* tests/t/etc/modules/mod_snmp/ssh_host_dsa_key,
9215	tests/t/etc/modules/mod_snmp/ssh_host_dsa_key.pub,
9216	tests/t/etc/modules/mod_snmp/ssh_host_rsa_key,
9217	tests/t/etc/modules/mod_snmp/ssh_host_rsa_key.pub,
9218	tests/t/etc/modules/mod_snmp/tls-ca-cert.pem,
9219	tests/t/etc/modules/mod_snmp/tls-server-cert.pem,
9220	tests/t/lib/ProFTPD/Tests/Modules/mod_snmp.pm,
9221	tests/t/lib/ProFTPD/Tests/Modules/mod_snmp/ban.pm,
9222	tests/t/lib/ProFTPD/Tests/Modules/mod_snmp/sftp.pm,
9223	tests/t/lib/ProFTPD/Tests/Modules/mod_snmp/tls.pm,
9224	tests/t/modules/mod_snmp.t, tests/t/modules/mod_snmp/ban.t,
9225	tests/t/modules/mod_snmp/sftp.t, tests/t/modules/mod_snmp/tls.t,
9226	tests/tests.pl: Adding the mod_snmp testsuite.
9227
92282013-05-15  castaglia <castaglia>
9229
9230	* doc/contrib/index.html, doc/contrib/mod_snmp.html: Adding mod_snmp
9231	documentation.
9232
92332013-05-15  castaglia <castaglia>
9234
9235	* contrib/mod_snmp/Makefile.in, contrib/mod_snmp/PROFTPD-MIB.txt,
9236	contrib/mod_snmp/agentx.h, contrib/mod_snmp/asn1.c,
9237	contrib/mod_snmp/asn1.h, contrib/mod_snmp/config.guess,
9238	contrib/mod_snmp/config.sub, contrib/mod_snmp/configure,
9239	contrib/mod_snmp/configure.in,
9240	contrib/mod_snmp/contrib/opennms/proftpd.datacollection-config.xml,
9241	contrib/mod_snmp/contrib/opennms/proftpd.snmp-graph.properties,
9242	contrib/mod_snmp/db.c, contrib/mod_snmp/db.h,
9243	contrib/mod_snmp/install-sh, contrib/mod_snmp/mib.c,
9244	contrib/mod_snmp/mib.h, contrib/mod_snmp/mod_snmp.c,
9245	contrib/mod_snmp/mod_snmp.h.in, contrib/mod_snmp/msg.c,
9246	contrib/mod_snmp/msg.h, contrib/mod_snmp/notify.c,
9247	contrib/mod_snmp/notify.h, contrib/mod_snmp/packet.c,
9248	contrib/mod_snmp/packet.h, contrib/mod_snmp/pdu.c,
9249	contrib/mod_snmp/pdu.h, contrib/mod_snmp/smi.c,
9250	contrib/mod_snmp/smi.h, contrib/mod_snmp/stacktrace.c,
9251	contrib/mod_snmp/stacktrace.h, contrib/mod_snmp/uptime.c,
9252	contrib/mod_snmp/uptime.h: Adding mod_snmp to the contrib modules of
9253	the ProFTPD source distribution.
9254
92552013-05-15  castaglia <castaglia>
9256
9257	* .cvsignore: Ignore any .git/ directories and .gitignore files
9258	which may show up.
9259
92602013-05-14  castaglia <castaglia>
9261
9262	* src/auth.c: When caching the UID based on a name, use the name
9263	that's been retrieved from the source, rather than the lookup key
9264	name.  In the case of e.g.  SQL table lookups, the lookup key might
9265	be different from the returned official name.  We need to use the
9266	official name, since that is what would be used later for name-to-ID
9267	lookups.
9268
92692013-05-12  castaglia <castaglia>
9270
9271	* doc/contrib/mod_wrap2_sql.html: Include indexes (for performance)
9272	in the example schema.
9273
92742013-05-09  castaglia <castaglia>
9275
9276	* doc/howto/Memcache.html: Adding another memcache-related FAQ.
9277
92782013-05-09  castaglia <castaglia>
9279
9280	* doc/howto/Memcache.html, doc/howto/index.html: Adding a howto for
9281	Memcache support in proftpd.
9282
92832013-05-09  castaglia <castaglia>
9284
9285	* doc/howto/Logging.html: Add a wtmp log-related FAQ to the Logging
9286	howto.
9287
92882013-05-09  castaglia <castaglia>
9289
9290	* doc/howto/Logging.html: No need to direct SystemLog to /dev/null
9291	to disable logging; simply setting "SystemLog none" is enough.
9292
92932013-05-09  castaglia <castaglia>
9294
9295	* doc/modules/mod_dso.html: Adding mod_dso FAQ encountered on the
9296	proftp-user mailing list today.
9297
92982013-05-08  castaglia <castaglia>
9299
9300	* NEWS, contrib/mod_ldap.c: Bug#3937 - Segfault when retrieving SSH
9301	public key from LDAP directory.
9302
93032013-05-07  castaglia <castaglia>
9304
9305	* doc/modules/mod_memcache.html: Mention that the MemcacheServers
9306	directive handles Unix domain socket paths as well (per Bug#3931).
9307
93082013-05-07  castaglia <castaglia>
9309
9310	* contrib/mod_ban.c: Typo which broke the BanCache directive's
9311	memcache functionality.
9312
93132013-05-06  castaglia <castaglia>
9314
9315	* NEWS, modules/mod_ctrls.c: Bug#3927 - Default ControlsSocket
9316	created despite custom ControlsSocket path.
9317
93182013-05-06  castaglia <castaglia>
9319
9320	* contrib/mod_sftp/scp.c: Fix comment from bad patching.
9321
93222013-05-06  castaglia <castaglia>
9323
9324	* NEWS, contrib/mod_sftp/scp.c: Bug#3935 - scp download of
9325	nonexistent file results in client hang.
9326
93272013-05-06  castaglia <castaglia>
9328
9329	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
9330	test for Bug#3935, or at least one of its manifestations.  Also
9331	cleaned up some minor styling.
9332
93332013-05-03  castaglia <castaglia>
9334
9335	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#3934 -
9336	HideUser/HideGroup do not work as expected for virtual users.
9337
93382013-05-03  castaglia <castaglia>
9339
9340	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
9341	tests/t/lib/ProFTPD/Tests/Config/HideUser.pm: Adding regression
9342	tests for Bug#3934 (HideUser/HideGroup not working for virtual
9343	users).
9344
93452013-04-30  castaglia <castaglia>
9346
9347	* NEWS, contrib/mod_sql_mysql.c: Bug#3932 - SQLAuthType Backend
9348	returns "password mismatch" for MySQL PASSWORD().
9349
93502013-04-30  castaglia <castaglia>
9351
9352	* NEWS, modules/mod_auth_pam.c: Bug#3929 - pam_session_close()
9353	requires root privs on some platforms.
9354
93552013-04-23  castaglia <castaglia>
9356
9357	* contrib/ftpasswd, contrib/ftpquota: Use env in the shebang line,
9358	rather than assuming the location of perl to use.
9359
93602013-04-23  castaglia <castaglia>
9361
9362	* src/proftpd.8.in: Incorporating doc patch from FreeBSD ports tree.
9363
93642013-04-23  castaglia <castaglia>
9365
9366	* src/wtmp.c: Incorporating patch from FreeBSD ports tree.
9367
93682013-04-23  castaglia <castaglia>
9369
9370	* src/var.c: Removed unnecessary typecast.
9371
93722013-04-23  castaglia <castaglia>
9373
9374	* src/auth.c: Quell compiler warnings on some platforms/compilers
9375	about signature mismatches via typecasting.
9376
93772013-04-16  castaglia <castaglia>
9378
9379	* modules/mod_delay.c, src/inet.c, src/netaddr.c: If getaddrinfo(3)
9380	fails for a new connection, make sure the connection fails quickly,
9381	rather than proceeding further (and getting into a state where it is
9382	never terminated).
9383
93842013-04-16  castaglia <castaglia>
9385
9386	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: SFTP regression
9387	test for HideFiles and symlinks (Bug#3924).
9388
93892013-04-16  castaglia <castaglia>
9390
9391	* src/dirtree.c: Minor tweak to dir_hide_file(), needed for Bug#3924
9392	(and SFTP directory listings, specifically).
9393
93942013-04-16  castaglia <castaglia>
9395
9396	* NEWS, modules/mod_facts.c, modules/mod_ls.c, src/dirtree.c:
9397	Bug#3924 - HideFiles does not filter symlinks.
9398
93992013-04-16  castaglia <castaglia>
9400
9401	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding regression
9402	tests for Bug#3924.
9403
94042013-04-15  castaglia <castaglia>
9405
9406	* contrib/mod_sftp/fxp.h: Missing checkin for Bug#3926; this fixes
9407	the CVS build.
9408
94092013-04-12  castaglia <castaglia>
9410
9411	* doc/contrib/mod_sftp.html: Fix up the SFTPAuthorizedUserKeys
9412	directive description.
9413
94142013-04-11  castaglia <castaglia>
9415
9416	* doc/contrib/mod_sftp.html: Adding FAQ to mod_sftp docs about
9417	localised directory listings, from Bug#3925.
9418
94192013-04-11  castaglia <castaglia>
9420
9421	* NEWS, modules/mod_core.c: Bug#3925 - SFTP directory listings are
9422	sensitive to locale environment variables.
9423
94242013-04-11  castaglia <castaglia>
9425
9426	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Update mod_sftp docs
9427	with mention of support for the fsync extension.
9428
94292013-04-11  castaglia <castaglia>
9430
9431	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c:
9432	Bug#3926 - Support OpenSSH fsync SFTP extension.
9433
94342013-04-10  castaglia <castaglia>
9435
9436	* contrib/mod_sftp/fxp.c: Fix the length of the strings compared for
9437	the OpenSSH extensions in SFTP EXTENDED requests.
9438
94392013-04-05  castaglia <castaglia>
9440
9441	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Collect all
9442	the common code for building the SQLite db into a function.  Add
9443	test showing that just changing the table name for
9444	SQLUserInfo/SQLGroupInfo directives works as expected.
9445
94462013-04-03  castaglia <castaglia>
9447
9448	* modules/mod_rlimit.c: Correct the bug number in the comment.
9449
94502013-04-03  castaglia <castaglia>
9451
9452	* modules/mod_cap.c: Slightly better error message when setreuid(2)
9453	fails.
9454
94552013-04-03  castaglia <castaglia>
9456
9457	* NEWS, modules/mod_rlimit.c: Bug#3923 - mod_cap does not revoke
9458	root privileges properly for SFTP connections.
9459
94602013-04-03  castaglia <castaglia>
9461
9462	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Adding regression
9463	test for Bug#3923.
9464
94652013-03-29  castaglia <castaglia>
9466
9467	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding more
9468	regression tests for <Directory> + <Limit> configs.
9469
94702013-03-29  castaglia <castaglia>
9471
9472	* configure: Updated configure.
9473
94742013-03-29  castaglia <castaglia>
9475
9476	* config.h.in, configure.in, contrib/mod_sql_mysql.c: Improve on the
9477	detection of MySQL's "scrambled password" API (for implementing the
9478	"Backend" SQLAuthType for MySQL servers), based on a patch from
9479	Bernd Lommerzheim.
9480
94812013-03-29  castaglia <castaglia>
9482
9483	* contrib/mod_sftp/auth-kbdint.c: Include explanatory comment about
9484	the errno value and Bug#3921.
9485
94862013-03-28  castaglia <castaglia>
9487
9488	* NEWS, contrib/mod_sftp/auth-kbdint.c: Bug#3921 - Single failed
9489	keyboard-interactive login attempt causes SSH connection to close
9490	prematurely.
9491
94922013-03-28  castaglia <castaglia>
9493
9494	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_pam.pm,
9495	tests/t/modules/mod_sftp_pam.t, tests/tests.pl: Start working on
9496	regression tests for the mod_sftp_pam module, in light of Bug#3921.
9497
94982013-03-28  castaglia <castaglia>
9499
9500	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
9501	test for the umac-64@openssh.com support added for Bug#3920.
9502
95032013-03-28  castaglia <castaglia>
9504
9505	* contrib/mod_sftp/mac.c: Typo.  Sigh.
9506
95072013-03-28  castaglia <castaglia>
9508
9509	* contrib/mod_sftp/mac.c: Properly free up the allocated UMAC
9510	context objects when e.g. unloading mod_sftp (part of Bug#3920).
9511
95122013-03-28  castaglia <castaglia>
9513
9514	* contrib/mod_sftp/mod_sftp.c: Need to include the mac.h header now,
9515	to avoid compiler warnings about unknown functions.
9516
95172013-03-28  castaglia <castaglia>
9518
9519	* contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h: Forgot to commit
9520	these changes for Bug#3920.
9521
95222013-03-28  castaglia <castaglia>
9523
9524	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to reflect
9525	supporting umac-64@openssh.com.
9526
95272013-03-28  castaglia <castaglia>
9528
9529	* NEWS, contrib/mod_sftp/Makefile.in, contrib/mod_sftp/crypto.c,
9530	contrib/mod_sftp/fxp.c, contrib/mod_sftp/mac.c,
9531	contrib/mod_sftp/mac.h, contrib/mod_sftp/mod_sftp.c,
9532	contrib/mod_sftp/umac.c, contrib/mod_sftp/umac.h: Bug#3920 - Support
9533	umac-64@openssh.com digest for mod_sftp.
9534
95352013-03-21  castaglia <castaglia>
9536
9537	* tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm: Adding regression
9538	test showing that proftpd correctly handles group names that contain
9539	backslashes in them.
9540
95412013-03-20  castaglia <castaglia>
9542
9543	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Clean up the
9544	SQLite script once we're done with it.
9545
95462013-03-16  castaglia <castaglia>
9547
9548	* doc/modules/mod_log.html: Bug#3864 added support for (among other
9549	things) a %g LogFormat variable; updated the LogFormat docs
9550	accordingly.
9551
95522013-03-16  castaglia <castaglia>
9553
9554	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
9555	regression tests for the SQL PrimaryKey directives added for
9556	Bug#3864.
9557
95582013-03-16  castaglia <castaglia>
9559
9560	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c:
9561	Bug#3864 - Support SQL query to lookup/use primary key for logged-in
9562	user/group.
9563
95642013-03-15  castaglia <castaglia>
9565
9566	* contrib/mod_sftp/crypto.c: Quell compiler warnings (Bug#3919)
9567	caused by changes in callback signatures between OpenSSL-0.9.x and
9568	OpenSSL-1.0.x.  Since the latter now has ABI compatibility rules, it
9569	will become more widespread, and thus we will change our callbacks
9570	to match the newer signatures.  This will cause compiler warnings
9571	about mismatched signatures for older OpenSSL installations, but
9572	that is the price of keeping up to date.
9573
95742013-03-15  castaglia <castaglia>
9575
9576	* doc/howto/KeepAlives.html: Minor grammar fixes.
9577
95782013-03-14  castaglia <castaglia>
9579
9580	* contrib/mod_sftp/keys.c: Make the SFTPLog a little less spammy by
9581	moving some of the logged messages (e.g. about which paths are used
9582	as host keys) into trace logging.
9583
95842013-03-14  castaglia <castaglia>
9585
9586	* NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
9587	src/regexp.c: Bug#3918 - mod_sftp segfault after SIGHUP when
9588	evaluating client banner.
9589
95902013-03-14  castaglia <castaglia>
9591
9592	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
9593	test for Bug#3918.
9594
95952013-03-13  castaglia <castaglia>
9596
9597	* doc/modules/mod_xfer.html: Updating DeleteAbortedStores doc per
9598	Bug#3917.
9599
96002013-03-13  castaglia <castaglia>
9601
9602	* NEWS, contrib/mod_sftp/fxp.c, modules/mod_xfer.c: Bug#3917 - Make
9603	DeleteAbortedStores on by default when HiddenStores enabled.
9604
96052013-03-13  castaglia <castaglia>
9606
9607	* tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Adding
9608	regression test for Bug#3917.
9609
96102013-03-13  castaglia <castaglia>
9611
9612	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
9613	another regression test for Bug#3915.
9614
96152013-03-12  castaglia <castaglia>
9616
9617	* doc/howto/TLS.html: Include the error message frequently seen on
9618	the client end of things in the FAQ about NoSessionReuseRequired.
9619
96202013-03-12  castaglia <castaglia>
9621
9622	* doc/howto/TLS.html: Add TLS FAQ about data transfers and the
9623	NoSessionReuseRequired TLSOption.
9624
96252013-03-09  castaglia <castaglia>
9626
9627	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
9628	regression test for Bug#3915.
9629
96302013-03-08  castaglia <castaglia>
9631
9632	* NEWS, src/fsio.c: Bug#3914 - 1.3.5rc2 fails to build on Solaris
9633	10.
9634
96352013-03-08  castaglia <castaglia>
9636
9637	* contrib/mod_sftp/msg.c: Quell compiler (and static code analysi)
9638	warnings (Bu#3912).
9639
96402013-03-08  castaglia <castaglia>
9641
9642	* modules/mod_auth_unix.c: Handle potential NULL return value from
9643	getpwnam(3) better.  Stylistic nits.
9644
96452013-03-08  castaglia <castaglia>
9646
9647	* utils/ftptop.c: Replace strcat(3) with snprintf(3).  Not as much
9648	of a concern for overflows given that ftptop is not a setuid
9649	process, but still, it's a good habit to get into.
9650
96512013-03-08  castaglia <castaglia>
9652
9653	* contrib/mod_sftp/packet.c: Don't fire the 'ssh2.netio-write' event
9654	until after we've determined that the socket is writable.  And if
9655	the socket is NOT writable, then clear the iovec array before
9656	returning.
9657
96582013-03-08  castaglia <castaglia>
9659
9660	* contrib/mod_sql_mysql.c: Add comment about known compiler warning
9661	about "implicit function declaration" (Bug#3908).
9662
96632013-03-08  castaglia <castaglia>
9664
9665	* NEWS, modules/mod_auth.c: Bug#3910 - Clang's scan-build warns on
9666	set[u][g]id unchecked return value.
9667
96682013-03-07  castaglia <castaglia>
9669
9670	* configure: Updated configure.
9671
96722013-03-07  castaglia <castaglia>
9673
9674	* configure.in: Enable a few more gcc warning flags, if supported,
9675	when --enable-devel is used.
9676
96772013-03-07  castaglia <castaglia>
9678
9679	* contrib/mod_log_forensic.c: Quell more compiler warnings
9680	(Bug#3908).
9681
96822013-03-07  castaglia <castaglia>
9683
9684	* contrib/mod_sql_mysql.c: Trying to quell compiler warnings
9685	(Bug#3908).
9686
96872013-03-07  castaglia <castaglia>
9688
9689	* contrib/mod_log_forensic.c, src/fsio.c: Quell compiler warnings
9690	(Bug#3908).
9691
96922013-03-06  castaglia <castaglia>
9693
9694	* include/version.h: Bump version for CVS.
9695
96962013-03-06  castaglia <castaglia>
9697
9698	* ChangeLog: Updated ChangeLog.
9699
97002013-03-06  castaglia <castaglia>
9701
9702	* locale/files.txt: Updated list of files for localization.
9703
97042013-03-06  castaglia <castaglia>
9705
9706	* NEWS: Update NEWS with release date.
9707
97082013-03-06  castaglia <castaglia>
9709
9710	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
9711	release of proftpd-1.3.5rc2.
9712
97132013-03-06  castaglia <castaglia>
9714
9715	* contrib/mod_log_forensic.c: Quell compiler warning.
9716
97172013-03-06  castaglia <castaglia>
9718
9719	* RELEASE_NOTES: Updating release notes for proftpd-1.3.5rc2.
9720
97212013-03-06  castaglia <castaglia>
9722
9723	* doc/contrib/mod_tls.html: Adding description of the new
9724	TLSUserName directive to the mod_tls docs.
9725
97262013-03-06  castaglia <castaglia>
9727
9728	* doc/contrib/mod_tls.html: Document that TLSSessionCache can be
9729	configured with a parameter of "off".
9730
97312013-03-06  castaglia <castaglia>
9732
9733	* doc/modules/mod_xfer.html: Mention the optional suffix parameter
9734	in the HiddenStores synopsis.
9735
97362013-03-06  castaglia <castaglia>
9737
9738	* doc/modules/mod_auth_file.html: Adding discussion of the stricter
9739	permission checks now done by mod_auth_file.
9740
97412013-03-06  castaglia <castaglia>
9742
9743	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
9744	test showing conversion from ISO-8859-1 client-side charset to UTF-8
9745	server-side charset.
9746
97472013-03-01  castaglia <castaglia>
9748
9749	* RELEASE_NOTES, doc/contrib/mod_ban.html: Updating docs for new
9750	TLSHandshake BanOnEvent rule.
9751
97522013-03-01  castaglia <castaglia>
9753
9754	* NEWS, RELEASE_NOTES, contrib/mod_ban.c, contrib/mod_tls.c:
9755	Bug#3906 - Support ban rule for clients which perform SSL/TLS
9756	handshakes too frequently.
9757
97582013-03-01  castaglia <castaglia>
9759
9760	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding regression
9761	test for the new BanOnEvent TLSHandshake rule (Bug#3906).
9762
97632013-03-01  castaglia <castaglia>
9764
9765	* contrib/mod_log_forensic.c: Print out mod_unique_id's UNIQUE_ID
9766	value, if present, in the ForensicLogFile.
9767
97682013-02-28  castaglia <castaglia>
9769
9770	* NEWS, contrib/mod_sftp/fxp.c: Bug#3900 - ProFTPD terminating
9771	(signal 11) on some sftp connections.
9772
97732013-02-27  castaglia <castaglia>
9774
9775	* src/mkhome.c: And, for site which really need it, generate
9776	before/after events for when a skeleton directory is configured for
9777	CreateHome.
9778
97792013-02-27  castaglia <castaglia>
9780
9781	* src/mkhome.c: Only fire the 'core.created-home' event IFF the home
9782	directory was actually created (versus already existing).
9783
97842013-02-27  castaglia <castaglia>
9785
9786	* src/fsio.c: Slight performance in statcache check by checking path
9787	lengths first, before calling strncmp(3).
9788
97892013-02-27  castaglia <castaglia>
9790
9791	* RELEASE_NOTES: Adding more release notes to myself, to flesh out
9792	today/tomorrow.
9793
97942013-02-27  castaglia <castaglia>
9795
9796	* contrib/mod_sftp/scp.c: Checking in the proper patch/fix for
9797	Bug#3904.
9798
97992013-02-27  castaglia <castaglia>
9800
9801	* NEWS, contrib/mod_sftp/scp.c: Bug#3904 - scp downloads using glob
9802	pattern sometimes fails.
9803
98042013-02-27  castaglia <castaglia>
9805
9806	* doc/contrib/ftpmail.html: Updated ftpmail docs, per Bug#3709.
9807
98082013-02-27  castaglia <castaglia>
9809
9810	* NEWS, contrib/ftpmail: Bug#3709 - Support download-triggered
9811	emails in the ftpmail script.
9812
98132013-02-27  castaglia <castaglia>
9814
9815	* contrib/mod_log_forensic.c: Rather than using sstrncpy() (which
9816	can examine every byte looking for NUL), use memcpy(3), since we
9817	already know how long the buffer to be copied is.  Hopefully this is
9818	faster, and reduces CPU load on logging-busy servers (e.g. lots of
9819	TraceLog messages being generated/copied by mod_log_forensic).
9820
98212013-02-27  castaglia <castaglia>
9822
9823	* src/mkhome.c: Don't generate the 'core.created-home' event until
9824	after any possible CreateHome skeleton directory has been copied.
9825
98262013-02-26  castaglia <castaglia>
9827
9828	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Typo.
9829
98302013-02-26  castaglia <castaglia>
9831
9832	* doc/contrib/mod_sftp_pam.html: Document the new SFTPPAMOptions
9833	value, per Bug#3905.
9834
98352013-02-26  castaglia <castaglia>
9836
9837	* NEWS, contrib/mod_sftp_pam.c, modules/mod_auth_pam.c: Bug#3905 -
9838	Handle the Linux-specific PAM_RADIO_TYPE message properly.
9839
98402013-02-26  castaglia <castaglia>
9841
9842	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the handling of
9843	exit status values from external commands (e.g. scp).
9844
98452013-02-25  castaglia <castaglia>
9846
9847	* contrib/mod_log_forensic.c: Deal with Bug#3903 in mod_log_forensic
9848	by have a separate pool for each log message object in the ring (and
9849	thus each message string is allocated out of its own pool).
9850
98512013-02-25  castaglia <castaglia>
9852
9853	* contrib/mod_sftp/packet.c: Use a more conservative approach, and
9854	use memmove(3) instead of memcpy(3).
9855
98562013-02-25  castaglia <castaglia>
9857
9858	* src/log.c: Better handling of return value from
9859	pr_log_event_listening().
9860
98612013-02-25  castaglia <castaglia>
9862
9863	* src/trace.c: Avoid calling strlen(3) unnecessarily on TraceLog
9864	messages.
9865
98662013-02-24  jwm <jwm>
9867
9868	* contrib/mod_ldap.c: git 07dd890968: release mod_ldap 2.9.3
9869
98702013-02-24  jwm <jwm>
9871
9872	* contrib/mod_ldap.c: git 577776b579: don't emit the bind DN
9873	password in debug output on successful bind (Bug #3885)
9874
98752013-02-24  jwm <jwm>
9876
9877	* contrib/mod_ldap.c: git b77b43e314: fail when someone's left the
9878	on/off flags when moving to LDAP{Users,Groups}
9879
98802013-02-24  castaglia <castaglia>
9881
9882	* NEWS, include/log.h, src/event.c, src/log.c: Bug#3903 - With
9883	mod_log_forensic enabled, SSH connections fail randomly.
9884
98852013-02-24  castaglia <castaglia>
9886
9887	* modules/mod_auth_file.c,
9888	tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Per Bug#3892,
9889	have mod_auth_file check for symlinks; if the configured Auth file
9890	path is a symlink, make sure that the parent directory of the
9891	symlink is not world-writable, as well as the parent directory of
9892	the target path not being world-writable.
9893
98942013-02-24  castaglia <castaglia>
9895
9896	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Give the server time to
9897	start up, and write out the PidFile, before checking for the
9898	PidFile.
9899
99002013-02-22  castaglia <castaglia>
9901
9902	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding more
9903	different configurations/environments to the regression tests for
9904	Bug#3904.
9905
99062013-02-22  castaglia <castaglia>
9907
9908	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
9909	test using scp(1) to download a glob pattern.
9910
99112013-02-22  castaglia <castaglia>
9912
9913	* src/trace.c: Avoid needless (and wasteful) strlen(3) calls by
9914	tracking the length ourselves.
9915
99162013-02-22  castaglia <castaglia>
9917
9918	* modules/mod_facts.c: Attempt to address Bug#3900 by having the
9919	mod_facts module's handling of a LOG_CMD_ERR MLSD command be ignored
9920	for SFTP connections.
9921
99222013-02-22  castaglia <castaglia>
9923
9924	* src/trace.c: Bug#3902 - mod_log_forensic seems to send trace
9925	channels to trace log even if level is 0.
9926
99272013-02-22  castaglia <castaglia>
9928
9929	* contrib/mod_sftp/fxp.c: Populate the cmd_class member for the fake
9930	cmd_recs generated when aborting unclosed handles in mod_sftp.
9931
99322013-02-22  castaglia <castaglia>
9933
9934	* contrib/mod_sftp/fxp.c: Do not re-allocate a new tmp_pool for the
9935	internal cmd_recs in mod_sftp; a tmp_pool is already allocated by
9936	pr_cmd_alloc().
9937
99382013-02-21  castaglia <castaglia>
9939
9940	* doc/contrib/mod_log_forensic.html: Document the additional
9941	ForensicLogFile metadata headers.
9942
99432013-02-21  castaglia <castaglia>
9944
9945	* contrib/mod_log_forensic.c: Add an "Elapsed:" header to the
9946	metadata, containing the elapsed session time (in millisecs).  Also
9947	fixes up a few other nits (like correctly setting the engine
9948	variable to 'false' when we need to disable the module due to bad
9949	config).
9950
99512013-02-21  castaglia <castaglia>
9952
9953	* doc/modules/mod_rlimit.html: Fleshing out the rest of the
9954	mod_rlimit documentation.
9955
99562013-02-21  castaglia <castaglia>
9957
9958	* doc/modules/index.html, doc/modules/mod_rlimit.html: Adding
9959	documentation for the new mod_rlimit module.
9960
99612013-02-21  castaglia <castaglia>
9962
9963	* modules/mod_rlimit.c: Adding an RLimitProcesses directive, to
9964	disable the NPROC limit if needed.
9965
99662013-02-21  castaglia <castaglia>
9967
9968	* contrib/mod_sftp/fxp.c: I suspect that this is the cause of
9969	Bug#3900.  We were allocating a buffer for the generated handle
9970	which was too short (8 bytes), and then proceeding to write into the
9971	buffer as if it was the larger size that we expected (16 bytes).
9972
99732013-02-21  castaglia <castaglia>
9974
9975	* contrib/mod_log_forensic.c: Fixing the generation of
9976	ForensicLogFile data in the face of unclean closes, e.g. when
9977	dealing with segfaults.
9978
99792013-02-21  castaglia <castaglia>
9980
9981	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Tweak to make use of
9982	AuthUserFiles in the testsuite work as expected.
9983
99842013-02-20  castaglia <castaglia>
9985
9986	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3899 - Support
9987	authentication of users based on SSL/TLS client certificate.
9988
99892013-02-20  castaglia <castaglia>
9990
9991	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
9992	test for Bug#3899 (TLSUserName directive).
9993
99942013-02-20  castaglia <castaglia>
9995
9996	* contrib/mod_ifsession.c: Typo in comment; no functional change.
9997
99982013-02-20  castaglia <castaglia>
9999
10000	* contrib/mod_ifsession.c: More fun with deferred <Directory> path
10001	resolution in mod_ifsession, for Bug#3881.
10002
100032013-02-20  castaglia <castaglia>
10004
10005	* contrib/mod_ifsession.c: More work (and hopefully progress) on
10006	Bug#3881.  Now the complications on the user's site seem to be
10007	related to the use of symlinks.
10008
100092013-02-20  castaglia <castaglia>
10010
10011	* NEWS, src/parser.c: Bug#3896 - Warn when world-writable config
10012	files are used.
10013
100142013-02-20  castaglia <castaglia>
10015
10016	* src/dirtree.c: Re-enable the clearing of the CF_DEFER flag, to
10017	prevent repetitive needless processing of <Directory> paths.
10018
100192013-02-20  castaglia <castaglia>
10020
10021	* src/parser.c: Avoid unnecessary strlen(3) calls when parsing
10022	configuration.
10023
100242013-02-20  castaglia <castaglia>
10025
10026	* src/fsio.c: Stylistic nits; no functional change.
10027
100282013-02-20  castaglia <castaglia>
10029
10030	* contrib/mod_ifsession.c: More tweaks needed for Bug#3881.
10031
100322013-02-19  castaglia <castaglia>
10033
10034	* src/dirtree.c: Do NOT clear the CF_DEFER flag from <Directory>
10035	sections; we may need to re-try resolution later (e.g. for
10036	<Directory> sections added via mod_ifsession).
10037
100382013-02-19  castaglia <castaglia>
10039
10040	* src/dirtree.c: Add some trace logging into the resolution of
10041	deferred-path <Directory> sections.
10042
100432013-02-19  castaglia <castaglia>
10044
10045	* NEWS, contrib/mod_sftp/fxp.c: Bug#3897 - mod_sftp does not handle
10046	a REALPATH request properly for SFTP protocol version 6.
10047
100482013-02-19  castaglia <castaglia>
10049
10050	* contrib/mod_ifsession.c: Check that the configured DisplayLogin
10051	file is not a directory in mod_ifsession, too.
10052
100532013-02-19  castaglia <castaglia>
10054
10055	* tests/api/pool.c: Adding pool API test, commented out for now.
10056	There is an issue with regard to pool size with
10057	larger-than-pool-size allocations out of the pool, it seems.
10058
100592013-02-17  jwm <jwm>
10060
10061	* doc/Configuration.html: whee up-to-date configuration docs for the
10062	first time since 2007
10063
100642013-02-17  jwm <jwm>
10065
10066	* tests/tests.pl: fix syntax error
10067
100682013-02-16  castaglia <castaglia>
10069
10070	* src/dirtree.c: One more tiny tweak; might help Bug#3881.
10071
100722013-02-15  castaglia <castaglia>
10073
10074	* modules/mod_core.c, modules/mod_ident.c, modules/mod_ls.c,
10075	modules/mod_xfer.c: Switch the core modules to start using the new
10076	PR_IS*() character type detection macros.
10077
100782013-02-15  castaglia <castaglia>
10079
10080	* contrib/mod_ctrls_admin.c, contrib/mod_exec.c,
10081	contrib/mod_ifversion.c, contrib/mod_radius.c,
10082	contrib/mod_rewrite.c, contrib/mod_sftp/interop.c,
10083	contrib/mod_sftp/packet.c, contrib/mod_sftp/scp.c,
10084	contrib/mod_sql.c, contrib/mod_tls.c, contrib/mod_wrap2/mod_wrap2.c:
10085	Start using the new PR_IS*() macros to guard the ctype(3) character
10086	detection checks.
10087
100882013-02-15  castaglia <castaglia>
10089
10090	* src/auth.c, src/ctrls.c, src/fsio.c, src/main.c, src/netacl.c,
10091	src/netaddr.c, src/parser.c, src/str.c, src/support.c,
10092	src/xferlog.c, utils/ftpshut.c, utils/misc.c: Start using the new
10093	PR_IS*() macros for character type detection/checking.
10094
100952013-02-15  castaglia <castaglia>
10096
10097	* include/ascii.h, include/conf.h, utils/utils.h: Define PR_IS*
10098	macro wrappers around the ctype(3) checks, so that isascii(3) is
10099	always checked first, before using the other ctype(3) check on the
10100	given character.
10101
101022013-02-15  castaglia <castaglia>
10103
10104	* contrib/mod_ifsession.c: Fix compiler warning (and logged
10105	message).
10106
101072013-02-15  castaglia <castaglia>
10108
10109	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_core.c,
10110	src/dirtree.c: The previous change (additional work for Bug#3881)
10111	changed the signature of the add_config() and add_config_set()
10112	functions.  To avoid possible API breakage, this change creates new
10113	pr_config_add() and pr_config_add_set() functions (which take the
10114	new flags argument), and provides backward-compatible add_config()
10115	and add_config_set() wrappers.
10116
101172013-02-15  castaglia <castaglia>
10118
10119	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_core.c,
10120	src/dirtree.c: Additional work needed for Bug#3881.  Specifically,
10121	when merging <Directory> sections in, mod_ifsession needs to add the
10122	<Directory> config_rec to the *head* of the set, rather than the
10123	*tail*.  When parsing the config file without mod_ifsession,
10124	<Directory> sections are added to the set head (i.e. last
10125	<Directory> parsed appears first in the set).  With this, mod_ifsession's merging in of <Directory> sections now
10126	more closely matches the parser behavior/ordering.
10127
101282013-02-15  castaglia <castaglia>
10129
10130	* src/dirtree.c: Stylistic cleanup.
10131
101322013-02-15  castaglia <castaglia>
10133
10134	* modules/mod_ls.c, src/netaddr.c: Use the isascii(3) test prior to
10135	checking with isalnum(3), to ensure that the isalnum(3) input really
10136	is an ASCII character.
10137
101382013-02-15  castaglia <castaglia>
10139
10140	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Adding
10141	regression test for mod_quotatab_file, using quotatab files created
10142	via ftpquota, and using zero-byte download limits.
10143
101442013-02-14  castaglia <castaglia>
10145
10146	* modules/mod_xfer.c: Removing now-unnecessary trace logging; I
10147	think the fix for Bug#3874 has been verified.
10148
101492013-02-14  castaglia <castaglia>
10150
10151	* modules/mod_xfer.c: More trace logging for investigating Bug#3874.
10152
101532013-02-14  castaglia <castaglia>
10154
10155	* modules/mod_xfer.c: More debug trace logging, trying to determine
10156	why the fix for Bug#3874 isn't working as expected.
10157
101582013-02-14  castaglia <castaglia>
10159
10160	* modules/mod_xfer.c: Log if there's an error adding the
10161	HiddenStores-path-is-on-NFS node.
10162
101632013-02-14  castaglia <castaglia>
10164
10165	* contrib/mod_ban.c, contrib/mod_rewrite.c, contrib/mod_shaper.c,
10166	contrib/mod_tls_shmcache.c, contrib/mod_wrap.c,
10167	contrib/mod_wrap2_file.c: Catch more cases where the expected paths
10168	to files might inadvertently be paths to directories.
10169
101702013-02-14  castaglia <castaglia>
10171
10172	* modules/mod_core.c: Check for a directory when opening a
10173	configured DisplayQuit file.
10174
101752013-02-14  castaglia <castaglia>
10176
10177	* modules/mod_auth.c, modules/mod_delay.c, modules/mod_xfer.c:
10178	Adding more checks for directories in places where we expect to find
10179	files.
10180
101812013-02-14  castaglia <castaglia>
10182
10183	* contrib/mod_sftp/auth.c, contrib/mod_sftp/rfc4716.c: Handle cases
10184	in mod_sftp where the files to be opened might inadvertently be
10185	directories.
10186
101872013-02-14  castaglia <castaglia>
10188
10189	* src/display.c: Make sure that we don't open Display files that are
10190	directories.
10191
101922013-02-14  castaglia <castaglia>
10193
10194	* src/parser.c: Don't forget to close the file handle.
10195
101962013-02-14  castaglia <castaglia>
10197
10198	* modules/mod_auth_file.c: Make sure that the configure
10199	AuthUserFile/AuthGroupFile paths are not directories.
10200
102012013-02-14  castaglia <castaglia>
10202
10203	* src/parser.c: Check whether the given config file is a directory;
10204	if so, error out.
10205
102062013-02-14  castaglia <castaglia>
10207
10208	* modules/mod_auth_file.c: Set the close-on-exec flag for the
10209	AuthUserFile/AuthGroupFile fds.
10210
102112013-02-14  castaglia <castaglia>
10212
10213	* doc/contrib/mod_quotatab_file.html: Mention the fact that <= 0
10214	values for files/bytes limits/tallies are handled as "unlimited" in
10215	the mod_quotatab_file docs.
10216
102172013-02-14  castaglia <castaglia>
10218
10219	* contrib/ftpquota: If users specify zero (or less) values for any
10220	bytes/files value, ftpquota now emits a notice message indicating
10221	that such values mean "unlimited".
10222
102232013-02-14  castaglia <castaglia>
10224
10225	* contrib/ftpquota: Make sure that ftpquota shows "unlimited" for
10226	values set to zero (or lower).
10227
102282013-02-13  castaglia <castaglia>
10229
10230	* NEWS, modules/mod_xfer.c: Bug#3895 - Missing TransferLog entry
10231	under some out-of-space conditions.
10232
102332013-02-13  castaglia <castaglia>
10234
10235	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Regression test
10236	for Bug#3895; requires the mod_enospc module.
10237
102382013-02-12  castaglia <castaglia>
10239
10240	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adding regression test
10241	for MKD, making sure that SGID bits are propagated properly for
10242	newly-created directories (see Bug#3841).
10243
102442013-02-12  castaglia <castaglia>
10245
10246	* src/fsio.c: Additional fix for Bug#3841: make sure the
10247	pr_fsio_smkdir() function correctly propagates the SUID/SGID bits
10248	from the parent directory to the created directory.
10249
102502013-02-12  castaglia <castaglia>
10251
10252	* contrib/mod_sftp/packet.c: When we try to reset the TimeoutIdle
10253	timer, the timers may be in the process of being handled.  Thus we
10254	need to handle the EINTR properly.
10255
102562013-02-12  castaglia <castaglia>
10257
10258	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Add another
10259	TransferLog regression test, based on uploading to /dev/full and
10260	making sure that a TransferLog entry for the aborted upload is
10261	recorded.
10262
102632013-02-08  castaglia <castaglia>
10264
10265	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix one mod_exec
10266	test such that, if the expected file is not present, we properly
10267	capture the exception thrown in the testcase-specific log.
10268
102692013-02-08  castaglia <castaglia>
10270
10271	* contrib/mod_exec.c: Use an int, rather than an unsigned char, for
10272	the ExecEngine value.  It's easier that way, and it's becoming the
10273	convention for all *Engine values.
10274
102752013-02-08  castaglia <castaglia>
10276
10277	* modules/mod_rlimit.c: Make sure that mod_rlimit does not set
10278	RLIMIT_NPROC if the mod_exec module is loaded and enabled for this
10279	<VirtualHost>.
10280
102812013-02-08  castaglia <castaglia>
10282
10283	* configure: Used wrong version of autoconf to generate previous
10284	configure script.
10285
102862013-02-08  castaglia <castaglia>
10287
10288	* configure: Updated configure.
10289
102902013-02-08  castaglia <castaglia>
10291
10292	* RELEASE_NOTES: Mention the appearance of mod_rlimit in the release
10293	notes.
10294
102952013-02-08  castaglia <castaglia>
10296
10297	* configure.in, modules/mod_core.c, modules/mod_rlimit.c,
10298	src/main.c: Refactor the RLimit* code out of mod_core.c, and out of
10299	src/main.c, into its own module: mod_rlimit.  This module will be
10300	compiled in by default, and will try to set sensible resource limits
10301	for new sessions (e.g. RLIMIT_NPROC).
10302
103032013-02-08  castaglia <castaglia>
10304
10305	* src/dirtree.c: Add some trace logging for when we check
10306	AllowFilter/DenyFilter against the arguments for specific commands.
10307
103082013-02-08  castaglia <castaglia>
10309
10310	* tests/t/lib/ProFTPD/Tests/Config/AllowFilter.pm: Explicitly
10311	specify the Order directive, to ensure that the <Limit> sections are
10312	handled as expected.
10313
103142013-02-08  castaglia <castaglia>
10315
10316	* tests/t/lib/ProFTPD/Tests/Config/RLimitOpenFiles.pm: More tests
10317	for minimal RLimitOpenFiles settings.
10318
103192013-02-08  castaglia <castaglia>
10320
10321	* tests/t/lib/ProFTPD/Tests/Config/RLimitCPU.pm: Adding more
10322	RLimitCPU tests, ensuring the configured CPU resource limits are
10323	being enforced.
10324
103252013-02-08  castaglia <castaglia>
10326
10327	* src/trace.c: Faster way to check for an empty string, without
10328	calling strlen(3).
10329
103302013-02-08  castaglia <castaglia>
10331
10332	* modules/mod_core.c, src/trace.c: Better handling of typo'd Trace
10333	directive values (e.g. "directory:", with no level number).
10334
103352013-02-07  castaglia <castaglia>
10336
10337	* contrib/mod_tls.c, include/inet.h, src/inet.c: For control
10338	connections, TCP_NODELAY is enabled by default.  For data
10339	connections, TCP_NODELAY is *disabled* by default (since we want to
10340	optimize for full packets for data transmission).  However,
10341	disabling TCP_NODELAY may hurt TLS handshakes, which are full of
10342	many small packets going back and forth.  With this tweak, then, Nagling is turned off (i.e. TCP_NODELAY is
10343	enabled) for performing a TLS handshake for a data connection, for
10344	the duration of the handshake.
10345
103462013-02-07  castaglia <castaglia>
10347
10348	* include/options.h: Tune the default listen(2) backlog higher.
10349
103502013-02-06  castaglia <castaglia>
10351
10352	* NEWS, utils/ftptop.c: Bug#3894 - ftptop doesn't work with
10353	--enable-nls.
10354
103552013-02-06  castaglia <castaglia>
10356
10357	* tests/t/config/rlimitcpu.t, tests/t/config/rlimitopenfiles.t,
10358	tests/t/lib/ProFTPD/Tests/Config/RLimitCPU.pm,
10359	tests/t/lib/ProFTPD/Tests/Config/RLimitOpenFiles.pm, tests/tests.pl:
10360	Adding regression tests for the RLimitCPU and RLimitOpenFiles
10361	directives.
10362
103632013-02-06  castaglia <castaglia>
10364
10365	* tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm: Update
10366	RLimitMemory tests to use testcase-specific logging.  Added test for
10367	using the 'daemon' setting.
10368
103692013-02-06  castaglia <castaglia>
10370
10371	* include/rlimit.h, modules/mod_core.c, src/main.c, src/rlimit.c:
10372	Next part of the resource limit refactoring: update the code to use
10373	the new pr_rlimit_* functions.
10374
103752013-02-06  castaglia <castaglia>
10376
10377	* include/conf.h: Pull in the new rlimit.h header.
10378
103792013-02-06  castaglia <castaglia>
10380
10381	* include/rlimit.h, src/rlimit.c: Make sure we don't lose
10382	functionality by omitting use of RLIMIT_VMEM (if possible) as a
10383	fallback for memory resource limits.
10384
103852013-02-06  castaglia <castaglia>
10386
10387	* Make.rules.in, include/rlimit.h, src/rlimit.c: Refactoring the
10388	resource limit code into a separate API, so that it can be easily
10389	called/used by other portions of the code (e.g. other modules).
10390
103912013-02-06  castaglia <castaglia>
10392
10393	* contrib/ftpasswd, tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm:
10394	Update the ftpasswd script so that it sets permissions on the
10395	created AuthUserFile/AuthGroupFile such that mod_auth_file, in light
10396	of the more strict checks added for Bug#3892, will still accept the
10397	ftpasswd-generated files.
10398
103992013-02-06  castaglia <castaglia>
10400
10401	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Properly
10402	delete log from successful SQLLogOnEvent test.
10403
104042013-02-06  castaglia <castaglia>
10405
10406	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#3893 - Add
10407	SQLLogOnEvent directive, for performing SQL query on configurable
10408	event.
10409
104102013-02-06  castaglia <castaglia>
10411
10412	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Checking in
10413	test for new SQLLogOnEvent functionality (Bug#3893).
10414
104152013-02-05  castaglia <castaglia>
10416
10417	* doc/modules/mod_auth_file.html: Mention the new strict permission
10418	checks on the AuthUserFile and AuthGroupFile in the mod_auth_file
10419	docs.
10420
104212013-02-05  castaglia <castaglia>
10422
10423	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Adding
10424	regression tests for Bug#3892.
10425
104262013-02-05  castaglia <castaglia>
10427
10428	* NEWS, RELEASE_NOTES, modules/mod_auth_file.c: Bug#3892 -
10429	mod_auth_file should have strict permission checks of configured
10430	files.
10431
104322013-02-04  castaglia <castaglia>
10433
10434	* doc/howto/Logging.html: Add logging FAQ for how to disable all
10435	logging for proftpd.
10436
104372013-02-04  castaglia <castaglia>
10438
10439	* src/ctrls.c: Skip any zero-length control request arguments.
10440
104412013-02-04  castaglia <castaglia>
10442
10443	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: When generating
10444	AuthUserFile and AuthGroupFiles for the unit tests, make sure the
10445	generated files have stricter permissions on them.
10446
104472013-02-04  castaglia <castaglia>
10448
10449	* include/ctrls.h, src/ctrls.c: Avoid non-printable characters in
10450	ftpdctl requests.
10451
104522013-02-04  castaglia <castaglia>
10453
10454	* src/ctrls.c: Add max length limit to control action request
10455	argument.  Fix caching/propagating of errno value.  Fix stylistic
10456	nits.
10457
104582013-02-04  castaglia <castaglia>
10459
10460	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Various tests for
10461	configurations related to Bug#3753.
10462
104632013-02-04  castaglia <castaglia>
10464
10465	* doc/contrib/mod_sftp.html: Updating some of the mapping between
10466	FTP command and SFTP request, with regard to <Limit> sections, per
10467	Bug#3753.
10468
104692013-02-04  castaglia <castaglia>
10470
10471	* NEWS, contrib/mod_sftp/fxp.c: Bug#3753 - Support SFTP request
10472	names in <Limit> sections better.
10473
104742013-02-03  castaglia <castaglia>
10475
10476	* src/dirtree.c: Stylistic nit; no functional change.
10477
104782013-02-03  castaglia <castaglia>
10479
10480	* doc/contrib/mod_sftp.html: Add mention of <Limit WRITE> applying
10481	to WRITE SFTP request (of course).
10482
104832013-02-03  castaglia <castaglia>
10484
10485	* doc/contrib/mod_tls.html: Update mod_tls docs in light of
10486	TLSProtocol changes for Bug#3891.
10487
104882013-02-03  castaglia <castaglia>
10489
10490	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3891 - Allow
10491	TLSProtocol directive in <VirtualHost> and <Global> sections.
10492
104932013-02-03  castaglia <castaglia>
10494
10495	* src/scoreboard.c: Fix up the trace-level log messages related to
10496	scoreboard locking.
10497
104982013-02-02  castaglia <castaglia>
10499
10500	* src/log.c: Fix compiler error (i.e. programmer error).
10501
105022013-02-02  castaglia <castaglia>
10503
10504	* modules/mod_facts.c, modules/mod_ls.c, src/data.c: Additional
10505	tweaks needed for Bug#3819 (and for cleaning out development
10506	logging).
10507
105082013-01-31  castaglia <castaglia>
10509
10510	* RELEASE_NOTES: Document the log format change in the release
10511	notes.
10512
105132013-01-31  castaglia <castaglia>
10514
10515	* src/log.c: Now SystemLog (console and file), and all *Log files
10516	(via pr_log_writefile()) use ISO-8601 timestamp format.
10517
105182013-01-31  castaglia <castaglia>
10519
10520	* include/trace.h, src/trace.c: Switch TraceLog to use ISO-8601
10521	timestamps.  Other logs soon to follow suit.
10522
105232013-01-31  castaglia <castaglia>
10524
10525	* src/dirtree.c: Minor bugfixes when resolving deferred directories:
10526	handle cases where a leading '~' means just that, and clear the
10527	CF_DEFER flag once we're done resolving that directory.
10528
105292013-01-31  castaglia <castaglia>
10530
10531	* doc/modules/mod_log.html: Updating LogFormat docs with
10532	descriptions of new %{iso8601}, %{microsecs}, and %{millisecs}
10533	variables.
10534
105352013-01-31  castaglia <castaglia>
10536
10537	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c:
10538	Bug#3889 - Support millisecond timestamp LogFormat variable.
10539
105402013-01-31  castaglia <castaglia>
10541
10542	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
10543	regression tests for the SQLLog handling of the timestamp-related
10544	LogFormat variables added for Bug#3889.
10545
105462013-01-31  castaglia <castaglia>
10547
10548	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add regression
10549	test for %{microsecs} LogFormat variable, for Bug#3889, too.
10550
105512013-01-31  castaglia <castaglia>
10552
10553	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
10554	regression tests for the LogFormat variables added for Bug#3889.
10555
105562013-01-31  castaglia <castaglia>
10557
10558	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Additional
10559	reproduction recipes for Bug#3881.
10560
105612013-01-30  castaglia <castaglia>
10562
10563	* NEWS, include/data.h, modules/mod_facts.c, modules/mod_ls.c,
10564	src/data.c, src/pool.c: Bug#3819 - Second and subsequent LIST of
10565	directory with many files is very slow.
10566
105672013-01-30  castaglia <castaglia>
10568
10569	* modules/mod_xfer.c: More tweaks on the path to
10570	verification/resolution for Bug#3874.
10571
105722013-01-30  castaglia <castaglia>
10573
10574	* src/fsio.c: Since we are not including <linux/magic.h>, the
10575	NFS_SUPER_MAGIC value was not defined.  So define it manually, for
10576	now.
10577
105782013-01-29  castaglia <castaglia>
10579
10580	* src/fsio.c: Try to be more informative about NFS-related 'fsio'
10581	trace logging.
10582
105832013-01-29  castaglia <castaglia>
10584
10585	* modules/mod_xfer.c: Temporary trace logging to help debug
10586	Bug#3874.
10587
105882013-01-29  castaglia <castaglia>
10589
10590	* src/fsio.c: Slightly better formatting for NFS-related trace
10591	message.
10592
105932013-01-29  castaglia <castaglia>
10594
10595	* modules/mod_xfer.c, src/fsio.c: When checking whether a
10596	HiddenStores path will be on an NFS filesystem, we need to use a
10597	path which *does* exist -- not the path that WILL exist, but does
10598	not exist yet (Bug#3874).
10599
106002013-01-29  castaglia <castaglia>
10601
10602	* contrib/mod_sftp/mac.c: Remove unnecessary (and misleading)
10603	typecasts.
10604
106052013-01-29  castaglia <castaglia>
10606
10607	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/cipher.h,
10608	contrib/mod_sftp/packet.c: Use unsigned char buffers in more places
10609	in the mod_sftp code, especially when reading in the bytes for
10610	incoming packets.  This MAY help alleviate some of those "too long"
10611	packet warnings.
10612
106132013-01-29  castaglia <castaglia>
10614
10615	* contrib/mod_sftp/ssh2.h: For (hopefully) better interoperability,
10616	use the same max packet size as OpenSSH does.
10617
106182013-01-29  castaglia <castaglia>
10619
10620	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add a
10621	mod_lang/UseEncoding test showing conversion from ISO-8859-1
10622	characters to a UTF8 path locally.
10623
106242013-01-29  castaglia <castaglia>
10625
10626	* contrib/mod_sftp/utf8.c, src/fsio.c: Further refinements of the
10627	trace logging of failed encoding/decoding.
10628
106292013-01-29  castaglia <castaglia>
10630
10631	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Remove development
10632	cruft.
10633
106342013-01-29  castaglia <castaglia>
10635
10636	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
10637	test for Bug#3887.
10638
106392013-01-29  castaglia <castaglia>
10640
10641	* NEWS, src/dirtree.c: Bug#3887 - <Limit ALL> erroneously blocks the
10642	PROT command used for FTPS.
10643
106442013-01-29  castaglia <castaglia>
10645
10646	* contrib/mod_sftp/utf8.c, src/fsio.c: If we fail to encode/decode a
10647	string, AND the TraceLog level is set high enough, then log the
10648	bytes of the string in hex, for better analysis.
10649
106502013-01-28  castaglia <castaglia>
10651
10652	* src/memcache.c: Bug#3886 - Calling
10653	pr_memcache_conn_set_namespace() crashes on buffer overflow.
10654
106552013-01-28  castaglia <castaglia>
10656
10657	* contrib/mod_tls_memcache.c: Clean up logging/comments in
10658	mod_tls_shmcache; no functional change.
10659
106602013-01-25  castaglia <castaglia>
10661
10662	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Tweak the
10663	regression test for Bug#3881 to match the reported use case better.
10664
106652013-01-25  castaglia <castaglia>
10666
10667	* src/dirtree.c: When resolving deferred paths, make sure to handle
10668	tilde interpolation as well.
10669
106702013-01-25  castaglia <castaglia>
10671
10672	* contrib/mod_ifsession.c: Make the lookup for the primary group
10673	name NOT be a requirement.  If we find it, great.  Otherwise, look
10674	up the supplemental groups, and move on.
10675
106762013-01-25  castaglia <castaglia>
10677
10678	* contrib/mod_ifsession.c: Fix call to pr_auth_getgroups() to use
10679	user name, not group name, for the lookup.  Sigh.
10680
106812013-01-25  castaglia <castaglia>
10682
10683	* contrib/mod_ifsession.c: Additional tweak related to Bug#3882.
10684	Turns out that some modules (e.g.  mod_ldap) are particular about
10685	the pr_auth_getgroups() call.  In particular, some functions REQUIRE
10686	that array_headers be provided for GIDS and group names, not just
10687	one or the other.
10688
106892013-01-25  castaglia <castaglia>
10690
10691	* contrib/mod_sftp/fxp.c: Add better trace logging of the v5/v6 BITS
10692	attribute.
10693
106942013-01-25  castaglia <castaglia>
10695
10696	* contrib/mod_sftp/display.c, include/fsio.h, src/display.c,
10697	src/fsio.c: Provide a pr_fsio_fgetsize() function which gets the
10698	filesystem size given an fd, rather than a path.  Then use this new
10699	function when handling Display files which are displayed AFTER a
10700	chroot(2) has occurred -- for in those cases, using fstatfs(2) et al
10701	works better than statfs(3).
10702
107032013-01-25  castaglia <castaglia>
10704
10705	* contrib/mod_ifsession.c: More cleanup/polish for Bug#3882,
10706	removing misleading DisplayLogin related log messages.
10707
107082013-01-25  castaglia <castaglia>
10709
10710	* configure: Updated configure.
10711
107122013-01-25  castaglia <castaglia>
10713
10714	* NEWS, configure.in: Bug#3884 - Configure script not detecting
10715	MySQL make_scrambled_password functions.
10716
107172013-01-25  castaglia <castaglia>
10718
10719	* contrib/mod_ifsession.c: Fix logging of mod_ifsession's lookup of
10720	a DisplayLogin file (to differentiate it from the logging done by
10721	mod_auth).
10722
107232013-01-25  castaglia <castaglia>
10724
10725	* src/fsio.c: Typo.
10726
107272013-01-25  castaglia <castaglia>
10728
10729	* contrib/mod_tls.c: If a data transfer command is rejected due to
10730	the lack of SSL/TLS, use the more proper 522 response code, rather
10731	than 550.
10732
107332013-01-25  castaglia <castaglia>
10734
10735	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
10736	regression test for Bug#3881.
10737
107382013-01-25  castaglia <castaglia>
10739
10740	* NEWS, contrib/mod_ifsession.c: Bug#3881 - <Directory> sections
10741	within <IfGroup> sections not applied as expected.
10742
107432013-01-25  castaglia <castaglia>
10744
10745	* tests/t/lib/ProFTPD/Tests/Modules/mod_log_forensic.pm,
10746	tests/t/modules/mod_log_forensic.t, tests/tests.pl: Adding in the
10747	regression tests for the new mod_log_forensic module.
10748
107492013-01-25  castaglia <castaglia>
10750
10751	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_log_forensic.c,
10752	doc/contrib/index.html, doc/contrib/mod_log_forensic.html: Adding
10753	the mod_log_forensic module to the source distribution.
10754
107552013-01-24  castaglia <castaglia>
10756
10757	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
10758	test for a bug where mod_sftp would occasionally lose track of
10759	file/directory handles, due to use of wrong memory pool.
10760
107612013-01-24  castaglia <castaglia>
10762
10763	* NEWS, contrib/mod_ifsession.c: Bug#3882 - DisplayLogin with an
10764	absolute path does not work properly within an <IfGroup> section.
10765
107662013-01-24  castaglia <castaglia>
10767
10768	* contrib/mod_sftp/fxp.c: Fix a bug in mod_sftp where file/directory
10769	handles could become "lost", leading to "Invalid handle" SFTP
10770	responses, due to use of wrong memory pool.
10771
107722013-01-24  castaglia <castaglia>
10773
10774	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
10775	regression test for Bug#3882.
10776
107772013-01-24  castaglia <castaglia>
10778
10779	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Make the
10780	mod_ifsession tests pass properly on MacOSX.
10781
107822013-01-24  castaglia <castaglia>
10783
10784	* src/fsio.c: Add trace logging for the pr_fsio_is_nfs() function,
10785	for easier analysis.
10786
107872013-01-23  castaglia <castaglia>
10788
10789	* contrib/mod_sftp/fxp.c: Use trace logging to log the error when we
10790	fail to find the handle given a name from the client.
10791
107922013-01-22  castaglia <castaglia>
10793
10794	* contrib/mod_sftp/fxp.c: Increase subpool size for SFTP packets to
10795	128 bytes.
10796
107972013-01-22  castaglia <castaglia>
10798
10799	* contrib/mod_sftp/fxp.c: Fleshing out the support for various
10800	v5/v6-specific attributes.
10801
108022013-01-22  castaglia <castaglia>
10803
10804	* contrib/mod_sftp/msg.c: Log the errno value from backtrace(3), if
10805	we fail to get a backtrace from it.
10806
108072013-01-22  castaglia <castaglia>
10808
10809	* src/main.c: Wrong datatype for backtrace(3) return value.
10810
108112013-01-22  castaglia <castaglia>
10812
10813	* src/main.c: Log the errors we get from backtrace(3) and
10814	backtrace_symbols(3), if any.
10815
108162013-01-21  castaglia <castaglia>
10817
10818	* modules/mod_xfer.c: Reduce unnecessary logging of EEXIST cases
10819	when adding command notes.
10820
108212013-01-21  castaglia <castaglia>
10822
10823	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
10824	regression test for Bug#3879.
10825
108262013-01-21  castaglia <castaglia>
10827
10828	* NEWS, contrib/mod_quotatab_sql.c: Bug#3879 - Allow additional
10829	columns in SQLNamedQuery queries used for quota limits and tallies.
10830
108312013-01-21  castaglia <castaglia>
10832
10833	* contrib/mod_sftp/fxp.c: Wrong cmd_rec in fix for Bug#3874.
10834
108352013-01-21  castaglia <castaglia>
10836
10837	* NEWS, contrib/mod_quotatab.c: Bug#3878 - QuotaExcludeFilter not
10838	honored for uploads when 'hard' limits are used.
10839
108402013-01-21  castaglia <castaglia>
10841
10842	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
10843	regression test for Bug#3878.
10844
108452013-01-19  castaglia <castaglia>
10846
10847	* contrib/mod_geoip.c: Bug#3877 - Fix GeoIPPolicy logging by making
10848	it a trace log message.
10849
108502013-01-19  castaglia <castaglia>
10851
10852	* src/parser.c: Fix possible segfault due to null pointer
10853	dereference.
10854
108552013-01-19  castaglia <castaglia>
10856
10857	* configure: Updated configure.
10858
108592013-01-19  castaglia <castaglia>
10860
10861	* NEWS, config.h.in, configure.in, contrib/mod_sftp/fxp.c,
10862	include/fsio.h, modules/mod_xfer.c, src/fsio.c: Bug#3874 - Use of
10863	O_EXCL flag on HiddenStores files might break for NFS filesystems.
10864
108652013-01-18  castaglia <castaglia>
10866
10867	* src/mkhome.c: Rather than generating a single event prior to
10868	actually creating the CreateHome directory, we now generate two
10869	events: 'core.creating-home' for before home creation, and
10870	'core.created-home' for after.
10871
108722013-01-18  castaglia <castaglia>
10873
10874	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
10875	test for Bug#3869 using "TLSSessionCache off".
10876
108772013-01-18  castaglia <castaglia>
10878
10879	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3869 - Use longer SSL
10880	session cache expiration by default.
10881
108822013-01-16  castaglia <castaglia>
10883
10884	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
10885	test for Bug#3873.
10886
108872013-01-16  castaglia <castaglia>
10888
10889	* NEWS, contrib/mod_sftp/fxp.c: Bug#3873 - Provide FTP response code
10890	in ExtendedLog for failed SFTP REMOVE request.
10891
108922013-01-16  castaglia <castaglia>
10893
10894	* doc/modules/mod_xfer.html: Updated HiddenStores docs per changes
10895	for Bug#3872.
10896
108972013-01-16  castaglia <castaglia>
10898
10899	* NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#3872 - Use
10900	HiddenStores directive to customise suffix.
10901
109022013-01-16  castaglia <castaglia>
10903
10904	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Adding unit test
10905	for HiddenStores suffix feature (Bug#3872).  Also used
10906	assert_transfer_ok() function in the tests here.
10907
109082013-01-16  castaglia <castaglia>
10909
10910	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Updated the
10911	HiddenStores tests to use testcase-specific logging.
10912
109132013-01-16  castaglia <castaglia>
10914
10915	* doc/modules/mod_xfer.html: Fleshing out more directive
10916	descriptions in the mod_xfer docs.
10917
109182013-01-15  castaglia <castaglia>
10919
10920	* contrib/mod_tls.c: Remove duplicate setting of SSL session context
10921	ID.
10922
109232013-01-15  castaglia <castaglia>
10924
10925	* contrib/mod_tls.c: Logging nits and tweaks to the SSL session
10926	context ID used.  (Removed some duplicate code that had snuck in,
10927	too.)
10928
109292013-01-15  castaglia <castaglia>
10930
10931	* contrib/mod_tls_shmcache.c: Minor logging nits/cleanup for the
10932	mod_tls_shmcache module.
10933
109342013-01-15  castaglia <castaglia>
10935
10936	* contrib/mod_tls.c: Guard against NULL pointer dereference if the
10937	TLSRenegotiate timer fires when the SSL session on the control
10938	connection is being torn down.
10939
109402013-01-15  castaglia <castaglia>
10941
10942	* contrib/mod_tls.c: Fix incorrect format string.
10943
109442013-01-15  castaglia <castaglia>
10945
10946	* contrib/mod_sftp/fxp.c: Revert the REALPATH request to be in the
10947	INFO logging class, not DIRS; REALPATH can be used on files and
10948	symlinks as well as on directories.  Changed for fix for Bug#3871.
10949
109502013-01-15  castaglia <castaglia>
10951
10952	* NEWS, contrib/mod_sftp/fxp.c: Bug#3871 - REALPATH SFTP request not
10953	properly handled by <Limit DIRS> configuration.
10954
109552013-01-15  castaglia <castaglia>
10956
10957	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding
10958	regression/reproduction test for Bug#3871.
10959
109602013-01-15  castaglia <castaglia>
10961
10962	* modules/mod_core.c: Use the proper C_ macros, rather than
10963	hardcoded strings, in more places.
10964
109652013-01-15  castaglia <castaglia>
10966
10967	* contrib/mod_tls.c: Use a better variable name here.
10968
109692013-01-15  castaglia <castaglia>
10970
10971	* src/fsio.c: Add trace logging of the arguments to the
10972	pr_fsio_smkdir() function, for future debugging/analysis.
10973
109742013-01-15  castaglia <castaglia>
10975
10976	* contrib/mod_tls.c: Make sure that we can properly handle a
10977	SubjAltName iPAddress value that contains an IPv6 address, for
10978	comparing with our address.
10979
109802013-01-15  castaglia <castaglia>
10981
10982	* tests/t/etc/modules/mod_tls/ipv6-ca.pem,
10983	tests/t/etc/modules/mod_tls/ipv6-client-cert2.pem,
10984	tests/t/etc/modules/mod_tls/ipv6-server-cert2.pem,
10985	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression test
10986	for handling of IPv6 iPAddress SubjAltName values in client certs.
10987
109882013-01-14  castaglia <castaglia>
10989
10990	* NEWS, contrib/mod_sftp/dhparams.pem, contrib/mod_tls.c: Bug#3779 -
10991	Generate new DH parameters for mod_tls and mod_sftp.
10992
109932013-01-14  castaglia <castaglia>
10994
10995	* NEWS, modules/mod_core.c: Bug#3870 - Handling of OPTS command can
10996	lead to crash.
10997
109982013-01-14  castaglia <castaglia>
10999
11000	* tests/t/commands/opts.t,
11001	tests/t/lib/ProFTPD/Tests/Commands/OPTS.pm, tests/tests.pl: Add
11002	regression tests for the OPTS command (including test for Bug#3870).
11003
110042013-01-14  castaglia <castaglia>
11005
11006	* src/fsio.c: Remove erroneous errno assignment.
11007
110082013-01-14  castaglia <castaglia>
11009
11010	* contrib/mod_tls.c: Always set the socket to non-blocking before
11011	calling SSL_accept(), even on retries.  This latter condition was
11012	not happening.
11013
110142013-01-14  castaglia <castaglia>
11015
11016	* contrib/mod_tls.c: Fix minor nits in comments; no functional
11017	change.
11018
110192013-01-14  castaglia <castaglia>
11020
11021	* contrib/mod_tls.c: Additional tweak (to avoid null pointer
11022	dereference) for Bug#3868.
11023
110242013-01-14  castaglia <castaglia>
11025
11026	* contrib/mod_tls.c: Typo.
11027
110282013-01-14  castaglia <castaglia>
11029
11030	* src/fsio.c: Make sure that if mkdtemp(3) is not available for any
11031	reason, we do not fail with a linker error.
11032
110332013-01-14  castaglia <castaglia>
11034
11035	* include/fsio.h, src/fsio.c: Rather than having pr_fsio_smkdir()
11036	use mkdtemp(3) if available, now the use of mkdtemp(3) can be
11037	enabled/disabled at runtime.  This is necessary e.g. to have
11038	mod_vroot function as expected.  (Which is OK; the race condition
11039	against which pr_fsio_smkdir() guards mostly pertains to root
11040	privileges, and mod_vroot is for cases where root privs are NOT
11041	wanted.)
11042
110432013-01-13  castaglia <castaglia>
11044
11045	* doc/contrib/mod_tls.html: Improvide the TLSDHParamFile
11046	documentation, in light of Bug#3868.
11047
110482013-01-13  castaglia <castaglia>
11049
11050	* tests/t/etc/modules/mod_tls/dh1024.pem,
11051	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
11052	tests for Bug#3868.
11053
110542013-01-13  castaglia <castaglia>
11055
11056	* NEWS, contrib/mod_tls.c: Bug#3868 - Only first DH param in
11057	TLSDHParamFile is used, regardless of requested keylength.
11058
110592013-01-13  castaglia <castaglia>
11060
11061	* NEWS, contrib/ftpasswd: Bug#3867 - ftpasswd fails with "Permission
11062	denied" when adding subsequent passwd/group entries.
11063
110642013-01-12  castaglia <castaglia>
11065
11066	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Now we have a bug
11067	number assigned.
11068
110692013-01-12  castaglia <castaglia>
11070
11071	* tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Flesh out the first
11072	ftpasswd regression test.
11073
110742013-01-12  castaglia <castaglia>
11075
11076	* tests/t/lib/ProFTPD/Tests/Utils/ftpcount.pm,
11077	tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Make these utils tests
11078	pass again (just needed correct path to the executables).
11079
110802013-01-11  castaglia <castaglia>
11081
11082	* tests/t/contrib/ftpasswd.t,
11083	tests/t/lib/ProFTPD/Tests/Contrib/ftpasswd.pm: Start working on
11084	ftpasswd unit tests.
11085
110862013-01-11  castaglia <castaglia>
11087
11088	* contrib/ftpasswd: Bump the ftpasswd version, given the addition of
11089	support for other password hash types.
11090
110912013-01-11  castaglia <castaglia>
11092
11093	* NEWS, contrib/mod_ban.c: Bug#3866 - Issuing invalid 'ftpdctl ban'
11094	request causes segfault.
11095
110962013-01-11  castaglia <castaglia>
11097
11098	* NEWS, contrib/mod_ban.c: Bug#3865 - BanEngine not set in "server
11099	config" results in "mod_ban not enabled" ftpdctl error.
11100
111012013-01-11  castaglia <castaglia>
11102
11103	* modules/mod_core.c: Stylistic nits; no functional change.
11104
111052013-01-10  castaglia <castaglia>
11106
11107	* tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Adding another
11108	regression test using a config based on issues reported for
11109	Bug#3841, involving <Anonymous> logins and UserOwner.
11110
111112013-01-10  castaglia <castaglia>
11112
11113	* src/fsio.c: Log a warning if we can't rename the directory in
11114	pr_fsio_smkdir(), too.
11115
111162013-01-10  castaglia <castaglia>
11117
11118	* src/fsio.c: Fix another regression caused by Bug#3841: we might
11119	need root privs when setting the permissions on the created
11120	directory, as well as when possibly setting the ownership.
11121
111222013-01-10  castaglia <castaglia>
11123
11124	* src/fsio.c: Fix regression with MKD commands (due to Bug#3841).
11125
111262013-01-10  castaglia <castaglia>
11127
11128	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Added needed regression
11129	test for sending MKD for a chrooted session.
11130
111312013-01-10  castaglia <castaglia>
11132
11133	* contrib/mod_tls.c: Generate an event whenever mod_tls is verifying
11134	a client certificate; the event fired will indicate whether the
11135	verification succeeded or failed.
11136
111372013-01-10  castaglia <castaglia>
11138
11139	* contrib/mod_tls.c: Stylistic nits.  Moved checking for peer cert earlier in the tls_dotlogin_allow()
11140	function; if the client doesn't present a certificate, then don't
11141	try to do any of the other work there, as a minor optimization.  No functional changes.
11142
111432013-01-10  castaglia <castaglia>
11144
11145	* NEWS, contrib/mod_sftp/auth.c: Bug#3863 - mod_sftp does not handle
11146	MaxLoginAttempts properly.  Make sure that we increment the auth_attempts counter whenever the
11147	auth method request does not explicitly succeed.
11148
111492013-01-10  castaglia <castaglia>
11150
11151	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm: Updating
11152	mod_sftp+mod_ban MaxLoginAttempts regression test for Bug#3863.
11153
111542013-01-10  castaglia <castaglia>
11155
11156	* doc/contrib/mod_tls.html: Adding description of
11157	TLSMasqueradeAddress directive to mod_tls docs.
11158
111592013-01-10  castaglia <castaglia>
11160
11161	* doc/modules/mod_core.html: Typo.
11162
111632013-01-09  castaglia <castaglia>
11164
11165	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, modules/mod_core.c:
11166	Bug#3862 - Support for FTPS-specific MasqueradeAddress
11167	functionality.
11168
111692013-01-09  castaglia <castaglia>
11170
11171	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
11172	test for TLSMasqueradeAddress directive; see Bug#3862.
11173
111742013-01-09  castaglia <castaglia>
11175
11176	* tests/t/config/masqueradeaddress.t,
11177	tests/t/lib/ProFTPD/Tests/Config/MasqueradeAddress.pm,
11178	tests/tests.pl: Adding unit tests for the MaqueradeAddress
11179	directive.
11180
111812013-01-09  castaglia <castaglia>
11182
11183	* contrib/mod_ban.c: Provide more information for the
11184	'mod_ban.ban.expired' event.
11185
111862013-01-09  castaglia <castaglia>
11187
11188	* doc/howto/Controls.html: Fix typo.
11189
111902013-01-09  castaglia <castaglia>
11191
11192	* contrib/mod_sftp/fxp.c: Aborting an SFTP directory listing is
11193	always an error.
11194
111952013-01-09  castaglia <castaglia>
11196
11197	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding an
11198	ExtendedLog/LogFormat %f test for SFTP transfers in a chrooted
11199	session.
11200
112012013-01-08  castaglia <castaglia>
11202
11203	* contrib/mod_tls.c: Fix erroneous "renegotiation accepted" TLSLog
11204	messages for data transfers.
11205
112062013-01-08  castaglia <castaglia>
11207
11208	* contrib/mod_sftp/fxp.c: Make sure that we dispatch a MLSD command
11209	for aborted SFTP directory listings.
11210
112112013-01-08  castaglia <castaglia>
11212
11213	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Give the server a
11214	little time to start up, and make this mod_ban test a little more
11215	robust.
11216
112172013-01-08  castaglia <castaglia>
11218
11219	* contrib/mod_ban.c: Generate an event whenever mod_ban disconnects
11220	a client, with a descriptive string about why the client was
11221	disconnected (i.e. including ban type, and reason if known).
11222
112232013-01-08  castaglia <castaglia>
11224
11225	* src/inet.c: Quell compiler warning about unused variable on
11226	platforms which do not support the TCP keepalive macros (e.g. Mac
11227	OSX).
11228
112292013-01-08  castaglia <castaglia>
11230
11231	* doc/howto/Rewrite.html: Another time-related mod_rewrite
11232	config/trick.
11233
112342013-01-08  castaglia <castaglia>
11235
11236	* doc/howto/Rewrite.html: Start adding some time-related mod_rewrite
11237	examples, now that mod_rewrite supports time variables.
11238
112392013-01-07  castaglia <castaglia>
11240
11241	* contrib/mod_ban.c: Have mod_ban generate an event when it removes
11242	a ban due to expiry, for the benefit of logging modules like
11243	mod_snmp.
11244
112452013-01-07  castaglia <castaglia>
11246
11247	* doc/contrib/mod_geoip.html: Added description of the GeoIPPolicy
11248	directive to the mod_geoip docs.
11249
112502013-01-07  castaglia <castaglia>
11251
11252	* NEWS, RELEASE_NOTES, contrib/mod_geoip.c: Bug#3860 - Add a default
11253	deny option for mod_geoip.
11254
112552013-01-07  castaglia <castaglia>
11256
11257	* doc/modules/mod_core.html: Adding descriptions for the Port and
11258	<VirtualHost> directives to the mod_core docs.
11259
112602013-01-07  castaglia <castaglia>
11261
11262	* doc/modules/mod_core.html: Add description for DefaultAddress to
11263	the mod_core docs.
11264
112652013-01-07  castaglia <castaglia>
11266
11267	* doc/contrib/mod_geoip.html: Cut-n-pasto.
11268
112692013-01-07  castaglia <castaglia>
11270
11271	* doc/contrib/mod_geoip.html: Include links to some of the MaxMind
11272	documentation on e.g. country codes and continents.
11273
112742013-01-07  castaglia <castaglia>
11275
11276	* doc/modules/mod_core.html: Add the MasqueradeAddress description
11277	to the mod_core docs.
11278
112792013-01-07  castaglia <castaglia>
11280
11281	* modules/mod_facts.c: Additional fix for Bug#3859.
11282
112832013-01-07  castaglia <castaglia>
11284
11285	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Another regression
11286	test for Bug#3859, this time using "ShowSymlinks off".
11287
112882013-01-07  castaglia <castaglia>
11289
11290	* NEWS, modules/mod_facts.c: Bug#3859 - MLSD fails to show symlinks
11291	when ShowSymlinks is not configured.
11292
112932013-01-07  castaglia <castaglia>
11294
11295	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Adding regression test
11296	for Bug#3859.
11297
112982013-01-07  castaglia <castaglia>
11299
11300	* modules/mod_lang.c, tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm:
11301	If the admin configures a strict UseEncoding, AND that UseEncoding
11302	specifies UTF8 as the client charset, then DO list UTF8 in the FEAT
11303	output.
11304
113052013-01-06  castaglia <castaglia>
11306
11307	* modules/Makefile.in: As part of work on Bug#3725, make sure that
11308	the mod_dso-specific rules are invoked when mod_dso.c is modified,
11309	AND that the more general .c.o rule is NOT used for mod_dso; mod_dso
11310	requires some additional -I flags.
11311
113122013-01-06  castaglia <castaglia>
11313
11314	* modules/mod_lang.c, tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm:
11315	Refinement for Bug#3737: when the UseEncoding "strict" keyword is
11316	used, then UTF8 should not appear in the FEAT listing.
11317
113182013-01-06  castaglia <castaglia>
11319
11320	* contrib/mod_sftp/fxp.c: Map the OPENDIR/CLOSE SFTP requests to the
11321	MLSD FTP command, for better interaction with the configuration (and
11322	with other modules such as mod_snmp).
11323
113242013-01-05  castaglia <castaglia>
11325
11326	* contrib/mod_sftp/fxp.c: Remove spurious/unnecessary event
11327	generation (this particular event is generated elsewhere); bad patch
11328	application?
11329
113302013-01-05  castaglia <castaglia>
11331
11332	* src/pool.c: Bug#3857 - ProFTPD 1.3.5rc1 API test suite fails.
11333
113342013-01-05  castaglia <castaglia>
11335
11336	* src/event.c, src/netaddr.c, tests/api/event.c,
11337	tests/api/netaddr.c, tests/api/scoreboard.c, tests/api/stubs.c:
11338	Bug#3856 - Linking ProFTPD 1.3.5rc1 API test suite fails.  This will teach me to actually run the API tests before releasing.
11339	Sigh.
11340
113412013-01-05  castaglia <castaglia>
11342
11343	* src/dirtree.c: Slightly better approach (avoids having root privs
11344	while writing out a log; that's not needed).
11345
113462013-01-05  castaglia <castaglia>
11347
11348	* src/dirtree.c, src/parser.c: Bug#3855 was a pain to track down
11349	because we don't report any parsing errors encountered for Include'd
11350	files.  Now fixed.
11351
113522013-01-04  castaglia <castaglia>
11353
11354	* doc/howto/Scoreboard.html: One more tool affected by disabling of
11355	scoreboarding.
11356
113572013-01-04  castaglia <castaglia>
11358
11359	* include/version.h: Bumped version for the next RC.
11360
113612013-01-04  castaglia <castaglia>
11362
11363	* ChangeLog: Updated ChangeLog.
11364
113652013-01-04  castaglia <castaglia>
11366
11367	* locale/files.txt: Updates files.txt, for localization efforts.
11368
113692013-01-04  castaglia <castaglia>
11370
11371	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Updating
11372	versions, dates, getting ready to release 1.3.5rc1.
11373
113742013-01-04  castaglia <castaglia>
11375
11376	* NEWS, src/dirtree.c: Bug#3855 - Restarting proftpd may cause
11377	Include files not to be parsed.
11378
113792013-01-04  castaglia <castaglia>
11380
11381	* doc/modules/mod_auth.html: Add CreateHome description to the
11382	mod_auth docs.
11383
113842013-01-04  castaglia <castaglia>
11385
11386	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Minor nits, adding
11387	delays to avoid races to make the test more robust.
11388
113892013-01-04  castaglia <castaglia>
11390
11391	* modules/mod_core.c: Use the PR_USE_HOST guard in more places.
11392	Move the registration of the restart event listener to a more
11393	appropriate/expected location.
11394
113952013-01-04  castaglia <castaglia>
11396
11397	* src/event.c: Handle the case where the first event listener is for
11398	a core callback, in which case where are no existing lists of
11399	listeners.
11400
114012013-01-04  castaglia <castaglia>
11402
11403	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Using
11404	assert_transfer_ok() in more tests.
11405
114062013-01-04  castaglia <castaglia>
11407
11408	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
11409	tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: Using
11410	assert_transfer_ok() in more tests.
11411
114122013-01-04  castaglia <castaglia>
11413
11414	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Using
11415	assert_transfer_ok() in more tests.
11416
114172013-01-04  castaglia <castaglia>
11418
11419	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Start using the
11420	assert_transfer_ok() function in more tests.
11421
114222013-01-03  castaglia <castaglia>
11423
11424	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Make some of the
11425	ExtendedLog tests more robust.
11426
114272013-01-03  castaglia <castaglia>
11428
11429	* modules/mod_core.c: Guard the HOST implementation with #ifdefs, as
11430	it is not yet ready for public use.
11431
114322013-01-03  castaglia <castaglia>
11433
11434	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Fixed failing
11435	test, added new regression test.  Updated tests to use testcase-
11436	specific logging.
11437
114382013-01-03  castaglia <castaglia>
11439
11440	* contrib/mod_sql.c: Don't log an error about having no SQLAuthTypes
11441	configured if SQLAuthenticate has been explicitly configured to be
11442	'off'.
11443
114442013-01-03  castaglia <castaglia>
11445
11446	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm: Update tests
11447	to use testcase-specific logging.  Fix test code issue (bad
11448	expectation).
11449
114502013-01-03  castaglia <castaglia>
11451
11452	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Updated
11453	tests to use testcase-specific logging.
11454
114552013-01-03  castaglia <castaglia>
11456
11457	* contrib/mod_sftp/scp.c: Remove debugging cruft.
11458
114592013-01-03  castaglia <castaglia>
11460
11461	* contrib/mod_sftp/scp.c: Fix regression caught by testsuite.
11462
114632013-01-03  castaglia <castaglia>
11464
11465	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Update mod_sftp
11466	unit tests to weed out some known bad tests (bad due to client
11467	issues), fix up others, etc.
11468
114692013-01-03  castaglia <castaglia>
11470
11471	* contrib/mod_sftp/fxp.c, contrib/mod_sql.c, modules/mod_log.c: Fix
11472	another regression caught by the testsuite, concerning the handling
11473	of the %F LogFormat variable.
11474
114752013-01-03  castaglia <castaglia>
11476
11477	* src/event.c: Fix another regression caught by the testsuite,
11478	caused by the change in ordering of event listener subscription.
11479	This tweak moves all core event listeners to the end of the list, to
11480	be invoked last.
11481
114822013-01-03  castaglia <castaglia>
11483
11484	* contrib/mod_sftp/fxp.c: Fixed regression caused by use of new
11485	pr_fsio_smkdir() function, which expects the given path to be a
11486	canonical path.  Now SFTP mkdir requests work again.
11487
114882013-01-03  castaglia <castaglia>
11489
11490	* src/fsio.c: Stylistic nit (extraneous whitespace); no functional
11491	change.
11492
114932013-01-03  castaglia <castaglia>
11494
11495	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm: Update the
11496	mod_quotatab+mod_copy tests to use testcase-specific logging.  Fixed
11497	"broken" tests to work properly on different platforms.
11498
114992013-01-03  castaglia <castaglia>
11500
11501	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Allow more time
11502	for one of the mod_delay unit tests to run, and mark it as a 'slow'
11503	test.
11504
115052013-01-03  castaglia <castaglia>
11506
11507	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Update
11508	these tests to use testcase-specific logging.  Make them more robust
11509	with data transfers by using the assert_transfer_ok() function.
11510
115112013-01-03  castaglia <castaglia>
11512
11513	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Minor
11514	tweaks help this testcase to pass more often (timing issues related
11515	to closing the data connection, it seems).
11516
115172013-01-03  castaglia <castaglia>
11518
11519	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Update the
11520	mod_wrap2_sql tests to pass.  Added checks for the module load
11521	order; one of the tests is sensitive to this.
11522
115232013-01-03  castaglia <castaglia>
11524
11525	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Expose the utility
11526	function for obtaining the list of compiled-in modules.
11527
115282013-01-03  castaglia <castaglia>
11529
11530	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Fix test code
11531	issues so that all of the mod_wrap2_file tests pass.
11532
115332013-01-03  castaglia <castaglia>
11534
11535	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm: Use
11536	testcase-specific logging.  Avoid verification errors by providing
11537	the CA file to the openssl s_client command.
11538
115392013-01-02  castaglia <castaglia>
11540
11541	* contrib/mod_tls.c: Remove the SSL_COMP_add_compression_method()
11542	ifdef; it won't be used.
11543
115442013-01-02  castaglia <castaglia>
11545
11546	* RELEASE_NOTES: Typo.
11547
115482013-01-02  castaglia <castaglia>
11549
11550	* RELEASE_NOTES, contrib/mod_tls.c: Update the release notes with
11551	the updated TLSCipherSuite defaults, i.e.  no anonymous
11552	Diffie-Hellman key exchanges.  Disable SSL compression.
11553
115542013-01-02  castaglia <castaglia>
11555
11556	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix some
11557	failing mod_sql_sqlite tests by providing the necessary custom
11558	SQLUserInfo queries.
11559
115602013-01-02  castaglia <castaglia>
11561
11562	* contrib/mod_tls.c: Testsuite caught a regression in the handling
11563	of the TLSPKCS12File directive.
11564
115652013-01-02  castaglia <castaglia>
11566
11567	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: If the DateTime
11568	Perl module is not present, then do not try to run some of the
11569	mod_rewrite unit tests which require it.  With this tweak, at least
11570	some of the mod_rewrite unit tests run, rather than having none of
11571	them run because Perl complains that the DateTime module is not
11572	present.
11573
115742013-01-02  castaglia <castaglia>
11575
11576	* src/scoreboard.c: When opening an fd for the ScoreboardFile, make
11577	sure that we do NOT use one of the Big Three fds (i.e. no 0, 1, or
11578	2).
11579
115802013-01-02  castaglia <castaglia>
11581
11582	* src/scoreboard.c: Guard against "Illegal seek" lseek(2) error by
11583	detecting/catching a call to pr_restore_scoreboard() before
11584	pr_rewind_scoreboard() has been called.
11585
115862013-01-02  castaglia <castaglia>
11587
11588	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm: Updating
11589	.ftpaccess file tests to use testcase-specific logging.
11590
115912013-01-02  castaglia <castaglia>
11592
11593	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: More fixes to
11594	the DirFakeGroup tests to make the tests pass properly; these are
11595	issues with the testing code, not the core proftpd code.
11596
115972013-01-02  castaglia <castaglia>
11598
11599	* RELEASE_NOTES: Updated the release notes, preparing for a release.
11600
116012013-01-02  castaglia <castaglia>
11602
11603	* doc/contrib/mod_quotatab.html: Adding description of QuotaDefault
11604	directive to mod_quotatab docs.
11605
116062013-01-02  castaglia <castaglia>
11607
11608	* contrib/mod_tls.c: Fix compiler warning about unused variable.
11609
116102013-01-02  castaglia <castaglia>
11611
11612	* tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Start using
11613	testcase-specific logging for these tests.
11614
116152013-01-02  castaglia <castaglia>
11616
11617	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix some Perl
11618	warnings when running the mod_exec tests.
11619
116202012-12-29  castaglia <castaglia>
11621
11622	* doc/contrib/mod_tls.html: Typo.
11623
116242012-12-29  castaglia <castaglia>
11625
11626	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updated/fixed
11627	tests.
11628
116292012-12-29  castaglia <castaglia>
11630
11631	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Use the
11632	assert_transfer_ok() function in a few more places.
11633
116342012-12-29  castaglia <castaglia>
11635
11636	* tests/t/lib/ProFTPD/Tests/Config/Trace.pm: Updated tests to deal
11637	with Trace logging changes.  Added testcase-specific logging.
11638
116392012-12-29  castaglia <castaglia>
11640
11641	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Update tests to
11642	deal with different platforms' symlink permission defaults.
11643
116442012-12-29  castaglia <castaglia>
11645
11646	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Update tests to
11647	use testcase-specific logging, and the assert_transfer_ok()
11648	function.
11649
116502012-12-29  castaglia <castaglia>
11651
11652	* src/privs.c: Testsuite caught another regression; now fixed.
11653
116542012-12-29  castaglia <castaglia>
11655
11656	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm: Updating test
11657	to use testcase-specific logging.
11658
116592012-12-29  castaglia <castaglia>
11660
11661	* src/fsio.c: When safely creating directories, allow the parent
11662	directory path to be a symlink.
11663
116642012-12-28  castaglia <castaglia>
11665
11666	* tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Fixing up tests.
11667
116682012-12-28  castaglia <castaglia>
11669
11670	* modules/mod_facts.c: Regression for Bug#3715 now fixed.
11671
116722012-12-28  castaglia <castaglia>
11673
11674	* modules/mod_facts.c: Caching/preserving of errno values, some
11675	stylistic nits.
11676
116772012-12-28  castaglia <castaglia>
11678
11679	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: Fix testware
11680	issue on Linux; update tests to use assert_transfer_ok().
11681
116822012-12-28  castaglia <castaglia>
11683
11684	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm: Updating to use
11685	testcase-specific logging.
11686
116872012-12-28  castaglia <castaglia>
11688
11689	* src/dirtree.c: Testsuite caught a regression; now fixed.
11690
116912012-12-28  castaglia <castaglia>
11692
11693	* src/dirtree.c: Stylistic nits; no functional change.
11694
116952012-12-28  castaglia <castaglia>
11696
11697	* doc/howto/Compiling.html: Adding more compiling FAQs.
11698
116992012-12-28  castaglia <castaglia>
11700
11701	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Fill in the testcase
11702	for a password which contains spaces.
11703
117042012-12-28  castaglia <castaglia>
11705
11706	* modules/mod_core.c: Don't advertise support for the HOST command
11707	just yet, as it has not been completely implemented as yet.
11708
117092012-12-28  castaglia <castaglia>
11710
11711	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
11712	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Fix
11713	re-declaration of variables.
11714
117152012-12-28  castaglia <castaglia>
11716
11717	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Fix
11718	re-declaration of variable.
11719
117202012-12-28  castaglia <castaglia>
11721
11722	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Quell compiler
11723	warning about use of uninitialized value.
11724
117252012-12-28  castaglia <castaglia>
11726
11727	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
11728	tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Now that server_restart()
11729	is provided by the Utils class, these tests no longer need to
11730	provide their own implementations.
11731
117322012-12-28  castaglia <castaglia>
11733
11734	* src/cmd.c: Quell compiler warning.
11735
117362012-12-28  castaglia <castaglia>
11737
11738	* modules/mod_core.c: Remove unused variable, quelling compiler
11739	warning.
11740
117412012-12-28  castaglia <castaglia>
11742
11743	* src/throttle.c: Style nits.  Fix one minor edge case, where the
11744	signal mask would not be restored properly if the transfer was
11745	aborted.
11746
117472012-12-28  castaglia <castaglia>
11748
11749	* src/fsio.c: Minor nits; no functional change.
11750
117512012-12-28  castaglia <castaglia>
11752
11753	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
11754	include/fsio.h, modules/mod_core.c, src/fsio.c: Bug#3841 - Possible
11755	symlink race when applying UserOwner to newly created directory.
11756
117572012-12-27  castaglia <castaglia>
11758
11759	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Some additional
11760	regression tests for MKD/XMKD commands.
11761
117622012-12-27  castaglia <castaglia>
11763
11764	* doc/howto/FTP.html: Provide links to the mod_tls docs where
11765	appropriate.
11766
117672012-12-27  castaglia <castaglia>
11768
11769	* contrib/mod_sftp/fxp.c: Remove duplicate event.
11770
117712012-12-27  castaglia <castaglia>
11772
11773	* contrib/mod_sftp/fxp.c: Update mod_sftp to use the
11774	pr_cmd_set_name() function as well.
11775
117762012-12-27  castaglia <castaglia>
11777
11778	* contrib/mod_copy.c, contrib/mod_quotatab.c, modules/mod_core.c:
11779	Start updating modules to use the new pr_cmd_set_name() function.
11780
117812012-12-27  castaglia <castaglia>
11782
11783	* include/cmd.h, src/cmd.c: Introduce new pr_cmd_set_name()
11784	function, for setting the cmd_rec name AND for resetting the cmd_id
11785	properly (so that I don't forget in the future).
11786
117872012-12-27  castaglia <castaglia>
11788
11789	* doc/howto/TLS.html: Add another FileZilla-related mod_tls FAQ.
11790
117912012-12-27  castaglia <castaglia>
11792
11793	* modules/mod_core.c, modules/mod_log.c: Try to provide better error
11794	messages.
11795
117962012-12-27  castaglia <castaglia>
11797
11798	* doc/howto/Logging.html: Adding logging FAQ about FIFOs.
11799
118002012-12-27  castaglia <castaglia>
11801
11802	* doc/howto/FTP.html: Add FAQ to FTP howto, talking about renaming
11803	of directories across mount points.
11804
118052012-12-27  castaglia <castaglia>
11806
11807	* modules/mod_core.c: Updating mod_core to use the new
11808	pr_fsio_lchown() function.
11809
118102012-12-26  castaglia <castaglia>
11811
11812	* modules/mod_log.c: Report the correct error reason if we can't
11813	open an ExtendedLog.
11814
118152012-12-26  castaglia <castaglia>
11816
11817	* contrib/mod_sftp/misc.c, include/fsio.h, modules/mod_xfer.c,
11818	src/fsio.c: Implement part of the fix for Bug#3841 by providing a
11819	pr_fsio_lchown() function.
11820
118212012-12-26  castaglia <castaglia>
11822
11823	* modules/mod_log.c: Fix handling of SIGHUP with regard to
11824	SystemLog.  The problem was that we were re-opening the SystemLog
11825	file itself in the restart event listener; after the restart event
11826	listeners are triggered, init_log() is called which itself closes
11827	the SystemLog.  Oops.
11828
118292012-12-26  castaglia <castaglia>
11830
11831	* doc/modules/mod_cap.html: Adding description of the new
11832	CapabilitiesRootRevoke directive.
11833
118342012-12-24  castaglia <castaglia>
11835
11836	* src/event.c: Fix the handling of event notification subscription.
11837	Specifically, modules that were loaded last would receive the event
11838	notification last.  And if that notification were for the 'core.restart' event, AND the
11839	subscribing module was built as a shared module, this would mean
11840	that that module would NEVER be notified; the mod_dso 'core.restart'
11841	event handler would be notified first, and would unload all shared
11842	modules.  The fix, then, is to have the modules loaded last have their
11843	notifications be delivered first.  This was the intended ordering in
11844	the first place.
11845
118462012-12-21  castaglia <castaglia>
11847
11848	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Adding regression
11849	tests for Bug#3839.
11850
118512012-12-21  castaglia <castaglia>
11852
11853	* configure: Updated configure.
11854
118552012-12-21  castaglia <castaglia>
11856
11857	* NEWS, RELEASE_NOTES, config.h.in, configure.in, modules/mod_cap.c:
11858	Bug#3839 - Enhance mod_cap to support dropping root privs entirely.
11859
118602012-12-21  castaglia <castaglia>
11861
11862	* RELEASE_NOTES, doc/modules/mod_auth.html: Adding description of
11863	new AllowChrootSymlinks directive to mod_auth docs.
11864
118652012-12-20  castaglia <castaglia>
11866
11867	* NEWS, RELEASE_NOTES, modules/mod_auth.c: Bug#3852 - Support
11868	directive for ignoring symlink DefaultRoot directories.
11869
118702012-12-20  castaglia <castaglia>
11871
11872	* tests/t/lib/ProFTPD/Tests/Config/DefaultRoot.pm,
11873	tests/t/lib/ProFTPD/Tests/Logins.pm: Checking in the regression
11874	tests for the new AllowChrootSymlinks directive, part of Bug#3852.
11875
118762012-12-18  castaglia <castaglia>
11877
11878	* NEWS, contrib/mod_sftp/keys.c: Bug#3851 - SFTPPassPhraseProvider
11879	fails due to incorrect pointer.
11880
118812012-12-18  castaglia <castaglia>
11882
11883	* tests/t/etc/modules/mod_sftp/passphrase_host_dsa_key,
11884	tests/t/etc/modules/mod_sftp/passphrase_host_dsa_key.pub,
11885	tests/t/etc/modules/mod_sftp/passphrase_host_rsa_key,
11886	tests/t/etc/modules/mod_sftp/passphrase_host_rsa_key.pub,
11887	tests/t/etc/modules/mod_sftp/sftp-get-passphrase.pl,
11888	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
11889	test for SFTPPassPhraseProvider (Bug#3851).
11890
118912012-12-14  castaglia <castaglia>
11892
11893	* NEWS, RELEASE_NOTES, contrib/ftpasswd, doc/contrib/ftpasswd.html:
11894	Bug#3850 - ftpasswd should support generating SHA-256, SHA-512
11895	hashes where possible.
11896
118972012-12-13  castaglia <castaglia>
11898
11899	* contrib/mod_sftp/auth.c, contrib/mod_sftp/compress.c,
11900	contrib/mod_sftp/fxp.c, contrib/mod_sftp/packet.c,
11901	contrib/mod_sftp/scp.c: Instrument mod_sftp by generating events
11902	under certain conditions, for the benefit of any other modules (e.g.
11903	mod_snmp) who might be interested.
11904
119052012-12-13  castaglia <castaglia>
11906
11907	* doc/howto/TLS.html: Add missing closing font tag.
11908
119092012-12-11  castaglia <castaglia>
11910
11911	* doc/utils/index.html: Typo.
11912
119132012-12-10  castaglia <castaglia>
11914
11915	* contrib/mod_sftp/crypto.c: Fixed typo in comment.
11916
119172012-12-09  castaglia <castaglia>
11918
11919	* contrib/mod_tls.c: Use more stable pools for allocating
11920	environment variables (the main_server pointer can change, e.g. due
11921	to the HOST command).  Generate events when our SSL/TLS handshake fails (both ctrl and data
11922	conns).
11923
119242012-12-09  castaglia <castaglia>
11925
11926	* modules/mod_auth.c: Make sure that if we cannot find the requested
11927	USER name, we still fire the "authentication-code" event, for any
11928	interested listeners (e.g.  mod_snmp).
11929
119302012-12-07  castaglia <castaglia>
11931
11932	* modules/mod_auth_file.c: If an AuthUserFile happens to contain an
11933	empty password field, make sure we handle such a file the same way
11934	on a Mac OSX platform as on a Linux/BSD platform.  The difference is
11935	in how the crypt(3) function handles the case of a salt argument
11936	that is an empty string; the crypt(3) implementations differ in this
11937	particular case, and so the mod_auth_file module does a runtime
11938	check for this.
11939
119402012-12-07  castaglia <castaglia>
11941
11942	* tests/t/config/authuserfile.t,
11943	tests/t/lib/ProFTPD/Tests/Config/AuthUserFile.pm, tests/tests.pl:
11944	Adding AuthUserFile tests now.
11945
119462012-12-07  castaglia <castaglia>
11947
11948	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow for specifying empty
11949	password values for an AuthUserFile.
11950
119512012-12-07  castaglia <castaglia>
11952
11953	* tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm: Updated
11954	AuthGroupFile test to use testcase-specific logging.
11955
119562012-12-06  castaglia <castaglia>
11957
11958	* configure: Updated configure.
11959
119602012-12-06  castaglia <castaglia>
11961
11962	* config.h.in, configure.in, contrib/mod_sql_mysql.c: As part of
11963	Bug#3669, check for the RedHat distribution's changes to MySQL,
11964	since they export the my_make_scrambled_password symbol.
11965
119662012-12-05  castaglia <castaglia>
11967
11968	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add utility
11969	server_restart() function for tests which need to HUP the running
11970	daemon.
11971
119722012-12-05  castaglia <castaglia>
11973
11974	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Start
11975	creating indexes on the columns in the SQLite test cases.  This way,
11976	the tests can provide "best practice" SQL scripts.
11977
119782012-12-05  castaglia <castaglia>
11979
11980	* doc/utils/index.html: Add link to ftpshut docs.  Fix typo.
11981
119822012-12-05  castaglia <castaglia>
11983
11984	* doc/contrib/mod_ban.html: Bad grammar.
11985
119862012-12-04  castaglia <castaglia>
11987
11988	* doc/utils/ftpmail.html: Typo.
11989
119902012-12-04  castaglia <castaglia>
11991
11992	* NEWS, modules/mod_auth.c: Bug#3846 - Avoid scanning ScoreboardFile
11993	needlessly on login if limits are not configured.
11994
119952012-12-04  castaglia <castaglia>
11996
11997	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
11998	test for FTPS login using mod_tls and a DSA server certificate.
11999
120002012-12-04  castaglia <castaglia>
12001
12002	* tests/t/etc/modules/mod_tls/NOTES,
12003	tests/t/etc/modules/mod_tls/dsa-ca.pem,
12004	tests/t/etc/modules/mod_tls/dsa-server-cert.pem: Adding DSA server
12005	cert, for DSA-specific testing.
12006
120072012-12-03  castaglia <castaglia>
12008
12009	* contrib/mod_sql.c: Debug logging of the number of fields/columns
12010	returned by the custom SQLUserInfo, for triage.
12011
120122012-12-03  castaglia <castaglia>
12013
12014	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
12015	testcase showing how SQLite and mod_sql can be used to enforce a
12016	MaxHostsPerUser restriction in a much more efficient manner than
12017	that used by the mod_auth module.
12018
120192012-12-03  castaglia <castaglia>
12020
12021	* src/netio.c: Remove unused variable.
12022
120232012-12-03  castaglia <castaglia>
12024
12025	* NEWS, contrib/mod_sftp/auth.c: Bug#3845 - mod_sftp does not
12026	provide response codes for %s LogFormat variable for AUTH
12027	ExtendedLog.
12028
120292012-12-03  castaglia <castaglia>
12030
12031	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
12032	test for Bug#3845.
12033
120342012-12-02  castaglia <castaglia>
12035
12036	* doc/howto/ServerType.html: Updating ServerType howto to use
12037	relative links.
12038
120392012-12-02  castaglia <castaglia>
12040
12041	* doc/modules/mod_core.html: Adding description of ServerType
12042	directive to mod_core docs.
12043
120442012-12-02  castaglia <castaglia>
12045
12046	* doc/howto/Debugging.html: Updating Debugging howto.
12047
120482012-12-01  castaglia <castaglia>
12049
12050	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding mod_sftp
12051	unit tests for the handling of %f and %r LogFormat variables for
12052	SFTP WRITE requests.
12053
120542012-12-01  castaglia <castaglia>
12055
12056	* contrib/mod_sftp/fxp.c: Add more information to the cmd_rec logged
12057	for a WRITE request, such that the %r LogFormat variable will also
12058	include the file offset and chunk length fields from the WRITE
12059	request.  Make sure to reset the cmd_id member for cmd_recs when changing the
12060	cmd_rec name; otherwise, the cmd_id value will not be reset, and
12061	logging may not Do The Right Thing(tm) with that cmd_rec.  This was
12062	the cause of %f LogFormat variables not being interpolated properly
12063	by mod_log for WRITE requests.
12064
120652012-12-01  castaglia <castaglia>
12066
12067	* contrib/mod_sftp/fxp.c: Fix log message typos/nits.
12068
120692012-11-27  castaglia <castaglia>
12070
12071	* tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm: Added testcase
12072	demonstrating that use of "%u" for the home attribute works as
12073	expected.  Updated testcases to use testcase-specific logging.
12074
120752012-11-27  castaglia <castaglia>
12076
12077	* modules/mod_auth_unix.c: Adding trace logging, for better analysis
12078	of shadow/autoshadow user lookup issues.
12079
120802012-11-21  castaglia <castaglia>
12081
12082	* modules/mod_auth_unix.c: More debug logging for when user entry
12083	retrieval fails.
12084
120852012-11-20  castaglia <castaglia>
12086
12087	* doc/contrib/mod_sql_passwd.html: Fixed markup typo.
12088
120892012-11-19  castaglia <castaglia>
12090
12091	* NEWS, modules/mod_dso.c: Bug#3843 - ProFTPD should not fail when
12092	starting up due to loading same module multiple times.
12093
120942012-11-19  castaglia <castaglia>
12095
12096	* doc/modules/mod_dso.html: Another DSO FAQ, about the "already
12097	loaded" error for special-case modules like mod_ctrls.
12098
120992012-11-19  castaglia <castaglia>
12100
12101	* doc/modules/mod_dso.html: Adding FAQ about already loaded modules
12102	(will be fixed with Bug#3843).
12103
121042012-11-16  castaglia <castaglia>
12105
12106	* modules/mod_auth_unix.c: Log, at debug level 3, when getspnam(3)
12107	and getpwnam(3) fail (and why).
12108
121092012-11-15  castaglia <castaglia>
12110
12111	* contrib/mod_sftp/crypto.c: Adding more substantial description of
12112	the situation which lead to the preprocessor guards for AES-CTR
12113	modes in mod_sftp, for my future self (and others).
12114
121152012-11-15  castaglia <castaglia>
12116
12117	* contrib/mod_quotatab.c: Use session.pool instead of
12118	main_server->pool; the latter can change during the lifetime of a
12119	session, whereas the former does not.
12120
121212012-11-14  castaglia <castaglia>
12122
12123	* contrib/mod_sftp/crypto.c: For the AES-CTR implementation, only
12124	set the NID if we're working with a FIPS-enabled OpenSSL library.
12125
121262012-11-14  castaglia <castaglia>
12127
12128	* NEWS, contrib/mod_sftp/fxp.c: Bug#3842 - Incorrect handling of
12129	REALPATH requests for symlink paths in mod_sftp.
12130
121312012-11-14  castaglia <castaglia>
12132
12133	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Finishing the SFTP
12134	REALPATH tests (per Bug#3842).
12135
121362012-11-14  castaglia <castaglia>
12137
12138	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding tests for
12139	mod_sftp's handling of REALPATH requests on different types of
12140	paths: files, directories, symlinks, chrooted or not, etc.
12141
121422012-11-14  castaglia <castaglia>
12143
12144	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding testing of
12145	HideFiles/IgnoreHidden configuration on MLSD.
12146
121472012-11-13  castaglia <castaglia>
12148
12149	* doc/modules/mod_facts.html: Adding FAQ about dotfiles and MLSD.
12150
121512012-11-13  castaglia <castaglia>
12152
12153	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding PCRE-based
12154	HideFiles test.
12155
121562012-11-12  castaglia <castaglia>
12157
12158	* configure: Updated configure.
12159
121602012-11-12  castaglia <castaglia>
12161
12162	* config.h.in, configure.in: Adding autoconf check for mkdtemp(3),
12163	as part of fix for Bug#3841.
12164
121652012-11-08  castaglia <castaglia>
12166
12167	* tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Updating UserOwner
12168	tests to use testcase-specific logging, and added test for
12169	UserOwner+MKD.
12170
121712012-11-05  castaglia <castaglia>
12172
12173	* doc/modules/mod_auth.html: Add docs for the RewriteHome directive.
12174
121752012-10-29  castaglia <castaglia>
12176
12177	* NEWS, contrib/mod_tls.c: Bug#3837 - mod_tls unable to read
12178	certificate files after SIGHUP.
12179
121802012-10-24  castaglia <castaglia>
12181
12182	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
12183	tests for SFTP uploads which demonstrate that AllowFilter works as
12184	expected in a <Limit> STOR section.
12185
121862012-10-24  castaglia <castaglia>
12187
12188	* tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm: Adding mod_ratio
12189	regression test ensuring that the RatioFile is updated as expected
12190	after session closure.
12191
121922012-10-22  castaglia <castaglia>
12193
12194	* tests/t/config/allowfilter.t,
12195	tests/t/lib/ProFTPD/Tests/Config/AllowFilter.pm, tests/tests.pl:
12196	Adding regression tests for the AllowFilter directive.
12197
121982012-10-14  castaglia <castaglia>
12199
12200	* doc/howto/ConfigurationTricks.html: Add another configuration
12201	trick (using env vars, -D, and <IfDefine>) to the collection.
12202
122032012-10-14  castaglia <castaglia>
12204
12205	* tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm: Now the <IfDefine>
12206	regression test for dealing with environment variables work as I
12207	intended.
12208
122092012-10-14  castaglia <castaglia>
12210
12211	* src/parser.c: In fact, why not use one strlen(3) call instead of
12212	three in the get_config_word() function.
12213
122142012-10-14  castaglia <castaglia>
12215
12216	* src/parser.c: Minor change: use a single strlen(3) call instead of
12217	two.
12218
122192012-10-12  castaglia <castaglia>
12220
12221	* doc/howto/FTP.html: Updating the stale list of supported commands.
12222
122232012-10-12  castaglia <castaglia>
12224
12225	* modules/mod_xfer.c: Stylistic cleanup of nits in the handling of
12226	the MODE command; no functional change.
12227
122282012-10-12  castaglia <castaglia>
12229
12230	* doc/howto/DSO.html: Adding FAQ to DSO doc about adding modules to
12231	proftpd.
12232
122332012-10-11  castaglia <castaglia>
12234
12235	* include/netio.h, src/netio.c: Added a useful variant of
12236	pr_netio_printf(), allowing for a va_list argument to be passed in
12237	(e.g. for use by functions which themselves take variadic
12238	arguments).
12239
122402012-10-10  castaglia <castaglia>
12241
12242	* tests/t/lib/ProFTPD/Tests/Commands/PWD.pm: Adding regression test
12243	for PWD commands using the upload-only directory config described in
12244	the Limit howto.
12245
122462012-10-10  castaglia <castaglia>
12247
12248	* doc/howto/Limit.html: Update upload-only directory example config
12249	to allow PWD.  Some clients get cranky if PWD doesn't work.
12250
122512012-10-10  castaglia <castaglia>
12252
12253	* src/dirtree.c: When discovering the optimal TCP buffer sizes, set
12254	the discovered sizes on our main_server rec as well.
12255
122562012-10-10  castaglia <castaglia>
12257
12258	* doc/modules/mod_lang.html: Update the mod_lang docs with a FAQ
12259	about the "not a supported language" error.
12260
122612012-10-09  castaglia <castaglia>
12262
12263	* locale/es_ES.po: Updated .po file from Bug#3834.
12264
122652012-10-05  castaglia <castaglia>
12266
12267	* doc/modules/mod_lang.html: Mention the new Spanish translation in
12268	the mod_lang docs.
12269
122702012-10-05  castaglia <castaglia>
12271
12272	* RELEASE_NOTES, locale/Makefile.in, locale/es_ES.po: Bug#3834 -
12273	Spanish translation.
12274
122752012-10-04  castaglia <castaglia>
12276
12277	* doc/howto/Logging.html: Add Logging FAQ, inspired by Bug#3832.
12278
122792012-10-04  castaglia <castaglia>
12280
12281	* doc/howto/KeepAlives.html, doc/howto/index.html: Adding new
12282	KeepAlives howto.
12283
122842012-10-03  castaglia <castaglia>
12285
12286	* modules/mod_core.c: Slightly better error reporting for badly
12287	formed keepalive specs.
12288
122892012-10-03  castaglia <castaglia>
12290
12291	* doc/modules/mod_core.html: Adding docs for the new keepalive
12292	SocketOptions parameter.
12293
122942012-10-03  castaglia <castaglia>
12295
12296	* NEWS, RELEASE_NOTES, include/dirtree.h, include/inet.h,
12297	modules/mod_core.c, src/data.c, src/dirtree.c, src/inet.c,
12298	src/parser.c: Bug#3833 - Enable TCP keepalive by default, with
12299	configurable SocketOption.
12300
123012012-10-03  castaglia <castaglia>
12302
12303	* doc/modules/mod_core.html: Add docs for the SocketOptions
12304	directive to the mod_core docs.
12305
123062012-10-02  castaglia <castaglia>
12307
12308	* NEWS, src/data.c: Bug#3831 - Sporadic "451 Insufficient memory or
12309	file locked" failure when downloading.
12310
123112012-10-02  castaglia <castaglia>
12312
12313	* modules/mod_memcache.c: Fix compilation errors in mod_memcache,
12314	when --enable-memcache is used.
12315
123162012-10-02  castaglia <castaglia>
12317
12318	* Makefile.in: Fixed typo in Makefile rules, for Bug#3725.
12319
123202012-10-01  castaglia <castaglia>
12321
12322	* tests/Makefile.in, tests/api/fsio.c, tests/api/stubs.c,
12323	tests/api/tests.c, tests/api/tests.h: Start working on unit tests
12324	for the FSIO API functions: pr_fs_clean_path() is the first victim.
12325
123262012-10-01  castaglia <castaglia>
12327
12328	* modules/mod_ls.c: Even more robust checking for complex possible
12329	symlink targets, as part of hardening against Bug#3719.
12330
123312012-10-01  castaglia <castaglia>
12332
12333	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Another regression
12334	test for Bug#3719, showing a more complex symlink that should be
12335	considered "unsafe".
12336
123372012-10-01  castaglia <castaglia>
12338
12339	* modules/mod_ls.c: An "unsafe" symlink path must be 2 characters or
12340	greater in length.
12341
123422012-10-01  castaglia <castaglia>
12343
12344	* modules/mod_ls.c: Make the check for "unsafe" symlinks in
12345	recursive directory listings a little more robust, for Bug#3719.
12346
123472012-10-01  castaglia <castaglia>
12348
12349	* NEWS, contrib/mod_sftp/scp.c: Bug#3792 - Recursive SCP uploads
12350	using preserve-time (-p) option may not work.
12351
123522012-09-30  castaglia <castaglia>
12353
12354	* modules/mod_ls.c: Fix regression caused by fix for Bug#3719.
12355
123562012-09-30  castaglia <castaglia>
12357
12358	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding additional
12359	regression test for Bug#3719.
12360
123612012-09-29  castaglia <castaglia>
12362
12363	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Updating mod_sftp
12364	regression tests to use testcase-specific logging across the board.
12365
123662012-09-28  castaglia <castaglia>
12367
12368	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
12369	test for recursive SCP uploads which use the preserve time/mode
12370	option, for Bug#3792.
12371
123722012-09-28  castaglia <castaglia>
12373
12374	* contrib/mod_sftp/scp.c: Quell comparing warning about signedness;
12375	it's a harmless cast in this case.
12376
123772012-09-28  castaglia <castaglia>
12378
12379	* configure: Updated configure.
12380
123812012-09-28  castaglia <castaglia>
12382
12383	* configure.in: Some platforms (e.g. Mac OSX) require that the
12384	<sys/socket.h> header be included before including <net/if.h>,
12385	otherwise autoconf complains about seeing <net/if.h> but not being
12386	able to use it.  Hopefully this doesn't break the check for the
12387	<net/if.h> header on other platforms.
12388
123892012-09-28  castaglia <castaglia>
12390
12391	* RELEASE_NOTES: Adding reminder to release notes to mention
12392	SystemLog changes for Bug#3832.
12393
123942012-09-28  castaglia <castaglia>
12395
12396	* NEWS, modules/mod_log.c: Bug#3832 - Support disabling of system
12397	logging on per-connection basis.
12398
123992012-09-28  castaglia <castaglia>
12400
12401	* tests/t/lib/ProFTPD/Tests/Logging/ServerLog.pm,
12402	tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm,
12403	tests/t/logging/serverlog.t, tests/tests.pl: Adding ServerLog tests
12404	for Bug#3832 as well, and updating the SystemLog tests (which were
12405	pointed at the wrong log file).
12406
124072012-09-28  castaglia <castaglia>
12408
12409	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm: Updated tests for
12410	Bug#3832 so that they work properly.
12411
124122012-09-28  castaglia <castaglia>
12413
12414	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm: Adding unit tests
12415	for verifying the change/fix for Bug#3832.
12416
124172012-09-27  castaglia <castaglia>
12418
12419	* doc/howto/Tracing.html: Typo.
12420
124212012-09-26  castaglia <castaglia>
12422
12423	* modules/mod_xfer.c: Fix logging of spurious EEXIST error when
12424	adding a note to the session notes.
12425
124262012-09-25  castaglia <castaglia>
12427
12428	* doc/contrib/mod_sftp.html: Document the network latency impact of
12429	the SFTPTrafficPolicy behavior for CBC ciphers, and include a FAQ on
12430	the issue.
12431
124322012-09-25  castaglia <castaglia>
12433
12434	* doc/howto/Tracing.html: Update the Tracing howto with a section
12435	discussing runtime tuning of the trace levels.
12436
124372012-09-25  castaglia <castaglia>
12438
12439	* doc/howto/TLS.html: Add a section on client auth to the TLS howto.
12440
124412012-09-23  castaglia <castaglia>
12442
12443	* NEWS, modules/mod_core.c: Bug#3829 - RNFR without following RNTO
12444	can lead to NULL pointer dereference.
12445
124462012-09-23  castaglia <castaglia>
12447
12448	* tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Updating regression
12449	test for Bug#3829.
12450
124512012-09-22  castaglia <castaglia>
12452
12453	* NEWS, modules/mod_facts.c: Bug#3830 - MFF/MFMT command segfaults
12454	due to insufficient parameter checks.
12455
124562012-09-22  castaglia <castaglia>
12457
12458	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Update of regression
12459	test for Bug#3830.
12460
124612012-09-22  castaglia <castaglia>
12462
12463	* doc/modules/mod_facts.html: Update link to somers Draft which
12464	defines the MFF and MFMT commands.
12465
124662012-09-21  castaglia <castaglia>
12467
12468	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Checking in regression
12469	test for Bug#3830.
12470
124712012-09-21  castaglia <castaglia>
12472
12473	* tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Checking in regression
12474	test for Bug#3829.
12475
124762012-09-21  castaglia <castaglia>
12477
12478	* NEWS: Typo.
12479
124802012-09-21  castaglia <castaglia>
12481
12482	* NEWS, contrib/mod_deflate.c,
12483	tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Bug#3828 - Certain
12484	sequences of FTP data transfer commands lead to NULL pointer
12485	deferences in mod_deflate.
12486
124872012-09-21  castaglia <castaglia>
12488
12489	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Updated the
12490	mod_deflate tests to use testcase-specific logging.
12491
124922012-09-19  castaglia <castaglia>
12493
12494	* NEWS, contrib/mod_sftp/fxp.c: Bug#3827 - Use non-filesystem based
12495	SFTP handle generator instead of mktemp(3).
12496
124972012-09-19  castaglia <castaglia>
12498
12499	* src/prxs.in: Even if the installed `proftpd' executable supports
12500	DSOs, the prxs script itself may have been generated by a configure
12501	script that did not use the --enable-dso option -- and we need to
12502	error out in that case, rather than trying to build a shared module
12503	without the proper flags.
12504
125052012-09-12  castaglia <castaglia>
12506
12507	* tests/api/netaddr.c: Flesh out tests for the
12508	pr_netaddr_is_v4mappedv6() function.  Added tests for the new
12509	pr_netaddr_is_rfc1918() function (Bug#3825).
12510
125112012-09-12  castaglia <castaglia>
12512
12513	* src/netaddr.c: Fix compilation error if --disable-ipv6 is used.
12514	Set errno appropriately when the pr_netaddr_is_v4mappedv6()
12515	comparison (done by macros) returns false.
12516
125172012-09-12  castaglia <castaglia>
12518
12519	* NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
12520	src/netaddr.c: Bug#3825 - Handle RFC 1918 IP addresses in PORT/EPRT
12521	commands.
12522
125232012-09-11  castaglia <castaglia>
12524
12525	* NEWS, src/data.c: Bug#3824 - Use RFC compliant address/port for
12526	data transfer if FTP client has not sent PORT/PASV/EPRT/EPSV
12527	commands.
12528
125292012-09-07  castaglia <castaglia>
12530
12531	* doc/howto/TLS.html: Try to tell admins how to configure mod_tls if
12532	they want to support clients which send "PROT C".
12533
125342012-09-07  castaglia <castaglia>
12535
12536	* tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Adding
12537	regression test demonstrating that a SITE CHMOD command can be
12538	properly blocked by a <Limit> in a .ftpaccess file.
12539
125402012-09-07  castaglia <castaglia>
12541
12542	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
12543	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Regression
12544	tests for the logging changes made for Bug#3822.
12545
125462012-09-07  castaglia <castaglia>
12547
12548	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3822 - Resolving
12549	%U/%u LogFormat variables inconsistent between mod_log/mod_sql in
12550	certain cases.
12551
125522012-09-07  jwm <jwm>
12553
12554	* contrib/mod_ldap.c: git 3d541bc898: fix symbol copy pasta
12555
125562012-09-07  castaglia <castaglia>
12557
12558	* src/netaddr.c: Portability fix for Bug#3820: FreeBSD (and probably
12559	others) don't define AF_PACKET.  Filter ifaddrs, then, based on
12560	AF_INET/AF_INET6.
12561
125622012-09-06  castaglia <castaglia>
12563
12564	* config.h.in: Forgot to update config.h.in for the new header
12565	checks.
12566
125672012-09-06  castaglia <castaglia>
12568
12569	* NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
12570	src/netaddr.c: Bug#3820 - Support device/interface names in
12571	<VirtualHost>, MasqueradeAddress, and DefaultAddress.
12572
125732012-09-06  castaglia <castaglia>
12574
12575	* NEWS, src/netaddr.c: Bug#3806 - Support reverse DNS resolution for
12576	IPv6 addresses when gethostbyname2(3) is not available.
12577
125782012-09-06  castaglia <castaglia>
12579
12580	* src/auth.c: Pass along the path to which a chroot() will happen,
12581	as part of the 'core.chroot' event.
12582
125832012-09-05  castaglia <castaglia>
12584
12585	* src/proftpd.8.in: Mention the new proftpd.conf(5) man page in the
12586	proftpd(8) man page.
12587
125882012-09-05  castaglia <castaglia>
12589
12590	* configure: Updated configure.
12591
125922012-09-05  castaglia <castaglia>
12593
12594	* Makefile.in, configure.in, src/.cvsignore, src/proftpd.conf.5.in:
12595	Bug#3805 - proftpd.conf could use a short manpage.
12596
125972012-09-05  castaglia <castaglia>
12598
12599	* doc/howto/CreateHome.html: Mention the new NoRootPrivs CreateHome
12600	parameter in the CreateHome howto.
12601
126022012-09-05  castaglia <castaglia>
12603
12604	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Tests for the
12605	CreateHome NoRootPrivs option added for Bug#3813.
12606
126072012-09-05  castaglia <castaglia>
12608
12609	* NEWS, RELEASE_NOTES, include/mkhome.h, modules/mod_auth.c,
12610	src/mkhome.c: Bug#3813 - Ability to use CreateHome to create parent
12611	directories as non-root user, for better interoperability with NFS.
12612
126132012-08-30  castaglia <castaglia>
12614
12615	* configure: Updated configure.
12616
126172012-08-30  castaglia <castaglia>
12618
12619	* configure.in: Starting work on Bug#3820.  To do so, we need to add
12620	autoconf checks for the necessary headers (net/if.h, ifaddrs.h) and
12621	functions (getifaddrs(3)).
12622
126232012-08-27  castaglia <castaglia>
12624
12625	* doc/contrib/mod_sftp.html: Missed a mention of hmac-sha2-256-96
12626	and hmac-sha2-512-96.
12627
126282012-08-27  castaglia <castaglia>
12629
12630	* contrib/mod_sftp/crypto.c, doc/contrib/mod_sftp.html: Remove
12631	support for the hmac-sha2-256-96 and hmac-sha2-512-96 digests, since
12632	they were removed from the spec.
12633
126342012-08-23  castaglia <castaglia>
12635
12636	* src/inet.c: When toggling the blocking/nonblocking status of the
12637	connection, make sure that we set the mode flag properly on the
12638	connection; the blocking-changing functions rely on that mode flag.
12639
126402012-08-23  castaglia <castaglia>
12641
12642	* src/inet.c: Check the return value of pr_inet_set_nonblock(), so
12643	that we can catch errors (e.g. EBADF) earlier.  This might also
12644	prevent seeing EADDRINUSE spuriously.
12645
126462012-08-23  castaglia <castaglia>
12647
12648	* modules/mod_xfer.c, src/netio.c: Trying to avoid a "Insufficient
12649	memory or file locked" transfer aborted message (probably caused by
12650	EAGAIN being returned somewhere).
12651
126522012-08-22  castaglia <castaglia>
12653
12654	* src/trace.c: Avoid possible file descriptor leak in the just-added
12655	pr_trace_use_stderr() function.
12656
126572012-08-22  castaglia <castaglia>
12658
12659	* include/trace.h, src/trace.c: Add some functions to the Trace API
12660	to cause its logging to be written out to stderr.  Useful for
12661	development/debugging utilities.
12662
126632012-08-22  castaglia <castaglia>
12664
12665	* tests/api/netaddr.c: Be prepared for a few other possibilities
12666	when resolving '::1' to DNS names.
12667
126682012-08-22  castaglia <castaglia>
12669
12670	* NEWS, contrib/Makefile.in: Bug#3816 - Installation of ftpasswd
12671	does not honor DESTDIR environment variable.
12672
126732012-08-22  castaglia <castaglia>
12674
12675	* tests/api/netaddr.c: Start working on an API-level unit test for
12676	handling changes related to Bug#3806 (i.e. making sure
12677	pr_netaddr_get_dnsstr() works properly for IPv6 addresses on systems
12678	which don't have gethostbyname2(3)).
12679
126802012-08-20  castaglia <castaglia>
12681
12682	* contrib/mod_sftp/mod_sftp.c: Update mod_sftp to use the same
12683	OpenSSL version checking as is done in mod_tls, i.e. don't log a
12684	header/library version mismatch if the OpenSSL version is 1.0.0 or
12685	newer.
12686
126872012-08-16  castaglia <castaglia>
12688
12689	* contrib/mod_sftp_pam.c: If the PAM conversation in mod_sftp_pam
12690	fails, log it to the SFTPLog rather than to the TraceLog.  (Maybe
12691	this should be logged to the normal debug logging as well?)
12692
126932012-08-15  castaglia <castaglia>
12694
12695	* contrib/mod_sftp_pam.c: Filter out unhelpful error log messages.
12696
126972012-08-15  castaglia <castaglia>
12698
12699	* NEWS, contrib/dist/rpm/proftpd.init.d: Bug#3814 - Support
12700	"configtest" command for contrib init.d script.
12701
127022012-08-10  castaglia <castaglia>
12703
12704	* configure: Updated configure script for Bug#3725.
12705
127062012-08-10  castaglia <castaglia>
12707
12708	* Makefile.in: Substitute the proftpd_cvs_version_main value in the
12709	proftpd.spec (part of Bug#3725).
12710
127112012-08-10  castaglia <castaglia>
12712
12713	* Makefile.in: More work on Bug#3725: separate out the handling of
12714	the .spec file into its own target, for clarity.  This also starts
12715	work on substituting some of the .spec file values for values
12716	obtained during the build.
12717
127182012-08-10  castaglia <castaglia>
12719
12720	* configure.in: Make sure the version-parsing stuff in the configure
12721	script correctly handles the case where there is no RC portion of
12722	the version string.
12723
127242012-08-09  castaglia <castaglia>
12725
12726	* Make.rules.in, Makefile.in, configure.in: Start working on
12727	Bug#3725.  To do this, the configure/Make.rules files need to parse
12728	out the following forms of the version: the full version (i.e.
12729	BUILD_VERSION), the release version (e.g. 1.3.5 for the
12730	stable/production version of this development cycle), and the RC
12731	version (for RCs only).
12732
127332012-08-09  castaglia <castaglia>
12734
12735	* contrib/dist/rpm/proftpd.spec: Merge in changes from Paul Howarth,
12736	packaging up the language files when building an RPM with
12737	--enable-nls, and requiring the gettext tools for building said
12738	language files.
12739
127402012-08-09  castaglia <castaglia>
12741
12742	* contrib/dist/rpm/proftpd.spec: Update the proftpd.spec file to
12743	have mod_wrap2 et al in the main package, rather than in the wrap
12744	subpackage, since they do not need tcpwrappers.
12745
127462012-08-09  castaglia <castaglia>
12747
12748	* tests/t/config/maxclientsperclass.t,
12749	tests/t/config/maxclientsperuser.t,
12750	tests/t/lib/ProFTPD/Tests/Config/MaxClientsPerClass.pm,
12751	tests/t/lib/ProFTPD/Tests/Config/MaxClientsPerUser.pm,
12752	tests/tests.pl: Adding missing regression tests for the
12753	MaxClientsPerClass and MaxClientsPerUser directives.
12754
127552012-08-08  castaglia <castaglia>
12756
12757	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Regression tests
12758	for Bug#3811.
12759
127602012-08-08  castaglia <castaglia>
12761
12762	* NEWS, modules/mod_auth.c: Bug#3811 - ExtendedLog entries not
12763	written if MaxClients limit reached.
12764
127652012-08-07  castaglia <castaglia>
12766
12767	* include/netaddr.h, src/netaddr.c: Add new pr_netaddr_set_port2()
12768	function, which automatically handles conversion of the host byte
12769	order port number to network byte order.  (Should have been done
12770	this way from the start.)
12771
127722012-08-06  castaglia <castaglia>
12773
12774	* src/inet.c: Make sure we always return the socket to blocking
12775	mode, regardless of how we return from pr_inet_connect_nowait().
12776
127772012-08-06  castaglia <castaglia>
12778
12779	* contrib/mod_tls.c: Remove duplicate SSL_CTX_check_private_key()
12780	calls.
12781
127822012-08-06  castaglia <castaglia>
12783
12784	* src/trace.c: Always try to leave a terminating NUL, just in case.
12785
127862012-08-06  castaglia <castaglia>
12787
12788	* src/support.c: Stylistic nit; no functional change.
12789
127902012-08-06  castaglia <castaglia>
12791
12792	* include/dirtree.h, src/dirtree.c, src/parser.c: Add a pr_table_t
12793	to the server_rec, so that modules can associate any data they wish
12794	with a given server_rec, for their (or other modules') use later.
12795
127962012-08-05  castaglia <castaglia>
12797
12798	* src/dirtree.c: Fix possible off-by-one error.  Clean up stylistic
12799	nit.  Avoid unnecessary config_rec lookup if there is no <Class>
12800	defined for a connection.
12801
128022012-08-01  castaglia <castaglia>
12803
12804	* contrib/mod_sql.c, modules/mod_log.c: Fix the logging of the %f
12805	variable for uploads by looking for the correct key in the
12806	cmd->notes table.  Prefer the cmd->notes table over session.xfer for
12807	uploads.
12808
128092012-08-01  castaglia <castaglia>
12810
12811	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: And a few more places
12812	to use assert_transfer_ok().
12813
128142012-08-01  castaglia <castaglia>
12815
12816	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Update tests to use
12817	assert_transfer_ok() in more places.
12818
128192012-08-01  castaglia <castaglia>
12820
12821	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Update the docs showing
12822	that mod_sftp now supports MaxStoreFileSize.
12823
128242012-08-01  castaglia <castaglia>
12825
12826	* contrib/mod_sftp/scp.c: Support MaxStoreFileSize for scp uploads
12827	now.  Populate the various cmd->notes keys, as used by mod_xfer, for
12828	scp transfers.
12829
128302012-08-01  castaglia <castaglia>
12831
12832	* contrib/mod_sftp/fxp.c: Stylistic nit.
12833
128342012-08-01  castaglia <castaglia>
12835
12836	* contrib/mod_sftp/fxp.c: Off-by-one nit.
12837
128382012-08-01  castaglia <castaglia>
12839
12840	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm: Additional
12841	tests for the %{transfer-status}, %{transfer-failure} variables, as
12842	well as ensuring that %f is populated properly in the various
12843	situations.
12844
128452012-08-01  castaglia <castaglia>
12846
12847	* contrib/mod_sftp/fxp.c: Support the MaxStoreFileSize directive for
12848	SFTP uploads.  Start stashing the same notes for file transfers as used by
12849	mod_xfer; this is for the benefit of logging modules such as mod_log
12850	and mod_sql.
12851
128522012-07-31  castaglia <castaglia>
12853
12854	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Updated/fixed
12855	mod_sql logging tests for the %{transfer-status} variable, and added
12856	testing of the %f in those various transfer cases, making sure the
12857	full path is extrapolated properly.
12858
128592012-07-31  castaglia <castaglia>
12860
12861	* locale/Makefile.in: When generating a new .pot file, delete the
12862	old version.
12863
128642012-07-31  castaglia <castaglia>
12865
12866	* doc/modules/mod_facts.html: Grammar fix.
12867
128682012-07-31  castaglia <castaglia>
12869
12870	* doc/modules/mod_facts.html: Markup typo.
12871
128722012-07-30  castaglia <castaglia>
12873
12874	* NEWS, contrib/mod_radius.c: Bug#3809 - Segfaults in mod_radius
12875	when configured with RadiusGroupInfo.
12876
128772012-07-30  castaglia <castaglia>
12878
12879	* contrib/mod_radius.c: Stylistic cleanup; no functional change.
12880
128812012-07-30  castaglia <castaglia>
12882
12883	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Remove duplicate
12884	variable.
12885
128862012-07-30  castaglia <castaglia>
12887
12888	* doc/howto/DSO.html: Minor update to DSO howto.
12889
128902012-07-30  castaglia <castaglia>
12891
12892	* contrib/mod_tls.c: Minor update/improvement to fix for Bug#3808.
12893
128942012-07-30  castaglia <castaglia>
12895
12896	* NEWS, contrib/mod_tls.c: Bug#3808 - Segfault in mod_tls when
12897	mod_tls_shmcache used.
12898
128992012-07-27  castaglia <castaglia>
12900
12901	* NEWS, src/inet.c: Bug#3804 - ioctl(RPROTDIS) code no longer needed
12902	on Solaris 11.
12903
129042012-07-27  castaglia <castaglia>
12905
12906	* RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html: Change
12907	the default TLSCipherSuite from "ALL:!ADH" to
12908	"DEFAULT:!EXPORT:!DES", to be more secure out-of-the-box.  This
12909	disables weaker ciphersuites such as the export-grade ciphers, and
12910	the DES ciphers.
12911
129122012-07-27  castaglia <castaglia>
12913
12914	* doc/contrib/mod_tls.html: Adding documentation for new
12915	TLSServerCipherPreference directive.
12916
129172012-07-27  castaglia <castaglia>
12918
12919	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3801 - mod_tls should
12920	have directive like Apache mod_ssl's SSLHonorCipherOrder.
12921
129222012-07-26  castaglia <castaglia>
12923
12924	* tests/api/response.c: Remove unused variable.
12925
129262012-07-26  castaglia <castaglia>
12927
12928	* contrib/mod_sftp/scp.c: Quell compiler warning about signedness
12929	mismatch.
12930
129312012-07-25  castaglia <castaglia>
12932
12933	* NEWS, contrib/mod_exec.c, contrib/mod_quotatab.c,
12934	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp_pam.c,
12935	contrib/mod_sql.c, contrib/mod_sql_passwd.c, contrib/mod_tls.c,
12936	contrib/mod_wrap2/mod_wrap2.c, modules/mod_facts.c: Bug#3800 -
12937	Multiple *Options directives should be handled properly.
12938
129392012-07-25  castaglia <castaglia>
12940
12941	* contrib/mod_sftp/fxp.c: Quell compiler warning about possibly
12942	uninitialized memory/variable.
12943
129442012-07-25  castaglia <castaglia>
12945
12946	* contrib/mod_quotatab.c: Minor style cleanup.  Better handling of
12947	errno values when creating the QuotaLock file.
12948
129492012-07-25  castaglia <castaglia>
12950
12951	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Regression test for
12952	TLSOptions handling change, per Bug#3800.
12953
129542012-07-25  castaglia <castaglia>
12955
12956	* doc/modules/mod_facts.html: Fix markup.
12957
129582012-07-20  castaglia <castaglia>
12959
12960	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/compress.c,
12961	contrib/mod_sftp/mac.c, contrib/mod_sftp/packet.c: More careful use
12962	of errno value when writing out SSH2 packets.
12963
129642012-07-20  castaglia <castaglia>
12965
12966	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
12967	test showing client-initiated rekeying.
12968
129692012-07-20  castaglia <castaglia>
12970
12971	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
12972	tests for Bug#3798.
12973
129742012-07-20  castaglia <castaglia>
12975
12976	* NEWS, contrib/mod_sftp/scp.c: Bug#3798 - Downloading nonexistent
12977	file via SCP results in timeout rather than error.
12978
129792012-07-13  castaglia <castaglia>
12980
12981	* NEWS, modules/mod_facts.c: Bug#3790 - Logfile timestamps change to
12982	GMT after MFMT command.
12983
129842012-07-12  castaglia <castaglia>
12985
12986	* contrib/mod_sftp/kex.c: Increase the message buffer size for some
12987	KEX messages.  Fix some unintialized variable compiler warnings.
12988
129892012-07-12  castaglia <castaglia>
12990
12991	* configure: Updated configure.
12992
129932012-07-12  castaglia <castaglia>
12994
12995	* NEWS, configure.in: Bug#3795 - ProFTPD needs to use -pthread
12996	linker option if linking against OpenSSL with thread support.
12997
129982012-07-12  castaglia <castaglia>
12999
13000	* configure: Updated configure.
13001
130022012-07-12  castaglia <castaglia>
13003
13004	* configure.in: Fix mistake in previous configure.in patch; we
13005	forgot to restore the LIBS variable in the case where linking with
13006	OpenSSL succeeds without needing to check for an -ldl linkage.
13007
130082012-07-11  castaglia <castaglia>
13009
13010	* configure: Updated configure.
13011
130122012-07-11  castaglia <castaglia>
13013
13014	* configure.in: Fix minor bug in autoconf check for successful
13015	linking with OpenSSL; the LIBS variable still contained a reference
13016	to -lsupp at that check, and the libsupp library hasn't been
13017	compiled at that check.
13018
130192012-07-10  castaglia <castaglia>
13020
13021	* contrib/mod_sftp/auth-password.c,
13022	contrib/mod_sftp/auth-publickey.c: Be sure to set errno properly
13023	when indicating an authentication has failed; the errno value is
13024	used when determining the list of still-acceptable auth methods to
13025	report back to the client.
13026
130272012-06-26  jwm <jwm>
13028
13029	* contrib/mod_ldap.c: git 603e38269a: interpolate %u in the quota
13030	base DN, too
13031
130322012-06-26  jwm <jwm>
13033
13034	* contrib/mod_ldap.c: git 53e5489e64: Fixed swapped DN/attr name in
13035	'no attr for' error messages.
13036
130372012-06-18  castaglia <castaglia>
13038
13039	* NEWS, lib/tpl.c: Bug#3794 - Cygwin build failure in lib/tpl.c due
13040	to wrong include of mman.h.
13041
130422012-06-08  castaglia <castaglia>
13043
13044	* NEWS, contrib/mod_sftp/scp.c: Bug#3791 - Invalid handling of SCP
13045	control messages fragmented over multiple SSH packets.
13046
130472012-06-06  castaglia <castaglia>
13048
13049	* NEWS, src/main.c: Bug#3740 - Overwrite permission denied when
13050	reloading multiple times and multiple <VirtualHost> sections in
13051	proftpd.conf.
13052
130532012-06-06  castaglia <castaglia>
13054
13055	* doc/howto/Timestamps.html: Update the Timestamps howto in light of
13056	information learned from Bug#3790.
13057
130582012-06-01  castaglia <castaglia>
13059
13060	* doc/howto/Limit.html: Try to make it clear that <Limit ALL> does
13061	not automatically cover <Limit LOGIN> as well.
13062
130632012-05-31  castaglia <castaglia>
13064
13065	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Added regression
13066	test for the AllowDotLogin TLSOption, spurred by Bug#3788.
13067
130682012-05-31  castaglia <castaglia>
13069
13070	* doc/modules/mod_core.html: Add description for the AuthOrder
13071	directive to the mod_core docs.
13072
130732012-05-30  castaglia <castaglia>
13074
13075	* src/prxs.in: Update the prxs script to check for a module-specific
13076	configure script; if found, refuse to build the module.  Otherwise,
13077	prxs might successfully compile a module which doesn't work.  This will be the situation until Bug#3308 is fixed.
13078
130792012-05-30  castaglia <castaglia>
13080
13081	* src/prxs.in: Handle the case where prxs might be used like so:   $ prxs -c -i -d contrib/mod_sql_sqlite.c i.e. from the top-level of the source directory.
13082
130832012-05-30  castaglia <castaglia>
13084
13085	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
13086	regression test for logging of a failed transfer where the control
13087	connection goes away first.
13088
130892012-05-30  castaglia <castaglia>
13090
13091	* modules/mod_xfer.c: If the control connection dies while we are in
13092	the middle of a data transfer, dispatch a fake command for the
13093	aborted RETR/STOR, so that logging is done properly for the failed
13094	data transfer command.
13095
130962012-05-30  castaglia <castaglia>
13097
13098	* contrib/mod_sftp/fxp.c: Additional fix to handling of OPEN
13099	attributes per spec, related to Bug#3787.
13100
131012012-05-30  castaglia <castaglia>
13102
13103	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
13104	regression test to work on population of the %{transfer-status} and
13105	%{transfer-failure} logging variables.
13106
131072012-05-30  castaglia <castaglia>
13108
13109	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/sql.pm,
13110	tests/t/modules/mod_sftp/sql.t, tests/tests.pl: Adding regression
13111	tests for the %{transfer-status}, %{transfer-failure} logging
13112	variables for SFTP sessions.
13113
131142012-05-29  castaglia <castaglia>
13115
13116	* contrib/mod_sql.c, modules/mod_log.c: Try a little harder to
13117	populate the %F/%f logging variables for RETR/STOR in the cases
13118	where they might have been aborted.
13119
131202012-05-29  castaglia <castaglia>
13121
13122	* contrib/mod_sftp/fxp.c: Stash enough information in the command
13123	notes for supporting the transfer logging variables properly for
13124	aborted SFTP transfers.
13125
131262012-05-29  castaglia <castaglia>
13127
13128	* contrib/mod_sql.c, modules/mod_log.c: Adding support for the
13129	%{transfer-status} and %{transfer-failure} logging variables when
13130	dealing with SFTP/SCP sessions.
13131
131322012-05-29  castaglia <castaglia>
13133
13134	* contrib/mod_sftp/fxp.c: Make the trace message about read-only
13135	SFTP OPENs less verbose.
13136
131372012-05-29  castaglia <castaglia>
13138
13139	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
13140	test for Bug#3787.
13141
131422012-05-29  castaglia <castaglia>
13143
13144	* NEWS, contrib/mod_sftp/fxp.c: Bug#3787 - Read-only SFTP OPEN
13145	request permissions not properly ignored.
13146
131472012-05-29  castaglia <castaglia>
13148
13149	* contrib/mod_sql.c: Use the proper format string for the data type
13150	being printed.
13151
131522012-05-25  castaglia <castaglia>
13153
13154	* config.guess, config.sub, contrib/mod_load/config.guess,
13155	contrib/mod_load/config.sub, contrib/mod_sftp/config.guess,
13156	contrib/mod_sftp/config.sub, lib/libltdl/config/config.guess,
13157	lib/libltdl/config/config.sub: Updating the config.{guess,sub}
13158	files.
13159
131602012-05-25  castaglia <castaglia>
13161
13162	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Additional regression
13163	tests for Bug#3785.
13164
131652012-05-25  castaglia <castaglia>
13166
13167	* src/fsio.c: Additional fix needed for Bug#3785.
13168
131692012-05-24  castaglia <castaglia>
13170
13171	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm: Update
13172	mod_auth_file tests to use testcase-specific logging.  Added a test
13173	showing that use of syntax such as 'user@domain.com' works properly.
13174
131752012-05-24  castaglia <castaglia>
13176
13177	* contrib/mod_tls.c: If mod_tls sees that the OpenSSL header version
13178	is 1.0.0 or greater, then relax the header/library version
13179	check/warning a little.
13180
131812012-05-24  castaglia <castaglia>
13182
13183	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Regression test for
13184	Bug#3785.
13185
131862012-05-24  castaglia <castaglia>
13187
13188	* NEWS, src/fsio.c: Bug#3785 - Support resolution of tilde (~)
13189	within a chrooted session.  To implement this, in pr_fs_interpolate(), we check to see whether
13190	we are chrooted or not.  If so, instead of interpolating in the
13191	user's home directory, we simply interpolate in the string "/".
13192
131932012-05-23  castaglia <castaglia>
13194
13195	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
13196	tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Add regression test for
13197	a plain ABOR command, with no data transfer involved.
13198
131992012-05-23  castaglia <castaglia>
13200
13201	* contrib/mod_sql.c, modules/mod_log.c: Slightly better handling of
13202	the ABOR command when it comes to determining the value of the
13203	%{transfer-status} log variable.
13204
132052012-05-22  castaglia <castaglia>
13206
13207	* doc/howto/NAT.html: Added another NAT-related FAQ.
13208
132092012-05-22  castaglia <castaglia>
13210
13211	* src/child.c, src/support.c: Stylistic nits.
13212
132132012-05-22  castaglia <castaglia>
13214
13215	* modules/mod_delay.c: Stylistic cleanups.
13216
132172012-05-22  castaglia <castaglia>
13218
13219	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Updated mod_delay
13220	tests in light of changed response code/message for Bug#3736.
13221
132222012-05-22  castaglia <castaglia>
13223
13224	* NEWS, modules/mod_auth.c: Bug#3736 - Trying to re-authenticate an
13225	existing FTP connection causes invalid 503 response.
13226
132272012-05-22  castaglia <castaglia>
13228
13229	* contrib/mod_sftp/kex.c: Typo in comment.
13230
132312012-05-20  castaglia <castaglia>
13232
13233	* src/log.c: Remove a few redundant strlen(3) calls in the "hot"
13234	paths of logging.
13235
132362012-05-18  castaglia <castaglia>
13237
13238	* contrib/mod_tls.c: After loading a private key into an SSL_CTX
13239	object, use the SSL_CTX_check_private_key() function to verify that
13240	it's a good private key.
13241
132422012-05-16  castaglia <castaglia>
13243
13244	* modules/mod_log.c: Reduce the window of time where root privs are
13245	used when dealing with any configured ServerLogs.  Log if we can't
13246	open a ServerLog for some reason.
13247
132482012-05-15  castaglia <castaglia>
13249
13250	* NEWS, src/inet.c: Bug#3780 - AIX gives "error setting listen fd
13251	IP_TOS: Invalid argument".
13252
132532012-05-14  castaglia <castaglia>
13254
13255	* doc/contrib/index.html: Adding entries for mod_deflate, mod_qos to
13256	the contrib module docs.
13257
132582012-05-14  castaglia <castaglia>
13259
13260	* modules/mod_dso.c: Try to make mod_dso's error reporting better
13261	when it comes to loading a module which is not where it is expected
13262	to be.
13263
132642012-05-14  castaglia <castaglia>
13265
13266	* modules/Makefile.in: If proftpd has been linked, and then the
13267	modules/mod_dso.c file has been modified, make sure that `make' will
13268	recompile that modified file (this was not happening as expected for
13269	mod_dso.c, due to its special Makefile rule).
13270
132712012-05-10  castaglia <castaglia>
13272
13273	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
13274	regression test for Bug#3782.
13275
132762012-05-10  castaglia <castaglia>
13277
13278	* NEWS, contrib/mod_sql.c: Bug#3782 - SQLShowInfo does not work
13279	properly for error responses.
13280
132812012-05-10  castaglia <castaglia>
13282
13283	* src/support.c: Stylistic nits; no functional change.
13284
132852012-05-10  castaglia <castaglia>
13286
13287	* src/pool.c: The pool_release_free_block_list() function already
13288	blocks/unblocks alarms.
13289
132902012-05-10  castaglia <castaglia>
13291
13292	* src/pool.c: Fix the pool_release_blocks_on_free_list() function so
13293	that it properly calls free(3) on all malloc'd memory on the
13294	freelist; the previous loop logic was quite wonky.  Made the block_freelist symbol have file scope only; there's
13295	absolutely no reason why it should be visible outside of this file.  Stylistic nits/cleanup.
13296
132972012-05-10  castaglia <castaglia>
13298
13299	* src/parser.c: Stylistic nits.
13300
133012012-05-10  castaglia <castaglia>
13302
13303	* modules/mod_auth_file.c: Add minor trace logging to the
13304	mod_auth_file module.  Stylistic nits, better errno reporting.
13305
133062012-05-09  castaglia <castaglia>
13307
13308	* contrib/mod_sftp/keys.c: If we can't read the configured
13309	SFTPHostKey, provide a more accurate/informative error message about
13310	why.
13311
133122012-05-08  castaglia <castaglia>
13313
13314	* doc/modules/mod_core.html: Updated mod_core docs to include
13315	DisplayChdir, DisplayConnect, and DisplayQuit descriptions.
13316
133172012-05-08  castaglia <castaglia>
13318
13319	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Update the
13320	mod_sql_passwd tests to use testcase-specific logging.  Added
13321	another config/recipe showing the SQLPasswordOptions.
13322
133232012-05-03  castaglia <castaglia>
13324
13325	* doc/howto/DisplayFiles.html: Fix typo, add another FAQ about the
13326	location of the Display file having a bearing on the %F/%f values.
13327
133282012-05-03  castaglia <castaglia>
13329
13330	* src/pool.c: Add the address of the pool being dumped to the
13331	output.
13332
133332012-05-01  castaglia <castaglia>
13334
13335	* contrib/mod_wrap2_sql.c: Try to improve the logging of mod_wrap2
13336	misconfigurations, to make it clearer/easier for admins to diagnose
13337	the problem.
13338
133392012-04-28  castaglia <castaglia>
13340
13341	* contrib/mod_sftp/mod_sftp.c: Fix cut-n-pasto.
13342
133432012-04-27  castaglia <castaglia>
13344
13345	* contrib/mod_tls.c: Make the TLSLog a little quieter; stop spamming
13346	the log with needless information.
13347
133482012-04-27  castaglia <castaglia>
13349
13350	* contrib/mod_tls.c: If we encounter an error reading the
13351	CertificateKeyFile because of a badly formatted file, display a more
13352	informative error.
13353
133542012-04-24  castaglia <castaglia>
13355
13356	* include/stash.h, src/stash.c: Add a pr_stash_dump() function, for
13357	dumping out info about the stash table.  This function is only
13358	implemented when the --enable-devel configure option is used.
13359
133602012-04-24  castaglia <castaglia>
13361
13362	* src/auth.c: More trace logging of some edge cases when dispatching
13363	auth commands.  Some stylistic cleanup.
13364
133652012-04-24  castaglia <castaglia>
13366
13367	* contrib/mod_sftp/keys.c: Fix excess fd usage when loading
13368	passphrase-protected SSH host keys.
13369
133702012-04-24  castaglia <castaglia>
13371
13372	* contrib/mod_tls.c: Turns out these explicit casts aren't needed; I
13373	just had an unclean work area.
13374
133752012-04-24  castaglia <castaglia>
13376
13377	* contrib/mod_tls.c: Quell compiler warnings about mismatched
13378	pointers using an explicit cast.
13379
133802012-04-24  castaglia <castaglia>
13381
13382	* contrib/mod_tls.c: Fix an fd issue in mod_tls.  Not exactly an fd
13383	leak, per se (the number of open fds does not keep increasing), but
13384	definitely an excess number of fds issue.
13385
133862012-04-24  castaglia <castaglia>
13387
13388	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Bug#3774 - Linking
13389	libsupp.a fails (undefined reference to `__alloca').
13390
133912012-04-23  castaglia <castaglia>
13392
13393	* doc/howto/NAT.html: Adding MasqueradeAddress FAQ.
13394
133952012-04-23  castaglia <castaglia>
13396
13397	* doc/modules/mod_auth_file.html, doc/modules/mod_auth_unix.html:
13398	Add FAQs about the crypt(3) first 8 character limitation.
13399
134002012-04-21  castaglia <castaglia>
13401
13402	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Adding test proving
13403	that spaces in passwords are handled properly.
13404
134052012-04-20  castaglia <castaglia>
13406
13407	* contrib/mod_sftp/fxp.c: Increase the amount of metadata allotted
13408	for each directory entry.  Hopefully this will fix some issues for
13409	some directory listings.
13410
134112012-04-19  castaglia <castaglia>
13412
13413	* NEWS, lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Bug#3732 - AIX
13414	build error: undefined symbol: .alloca.
13415
134162012-04-18  castaglia <castaglia>
13417
13418	* configure: Updated configure.
13419
134202012-04-18  castaglia <castaglia>
13421
13422	* configure.in: The --enable-devel flags/libs are typically not
13423	specific to gcc; make sure that they are applied to non-gcc compiler
13424	builds, then.
13425
134262012-04-18  castaglia <castaglia>
13427
13428	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Adding regression
13429	test for the ListOptions maxfiles parameter.
13430
134312012-04-16  castaglia <castaglia>
13432
13433	* src/support.c: Quell compiler warnings.
13434
134352012-04-16  castaglia <castaglia>
13436
13437	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/keys.c: Quell compiler
13438	warnings (Bug#3773).
13439
134402012-04-16  castaglia <castaglia>
13441
13442	* modules/mod_cap.c: Fix compiler issue requiring forward
13443	reference/decclaration.
13444
134452012-04-15  castaglia <castaglia>
13446
13447	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Remove cruft from
13448	these tests.
13449
134502012-04-15  castaglia <castaglia>
13451
13452	* RELEASE_NOTES: Make sure to mention HOST support in the release
13453	notes.
13454
134552012-04-15  castaglia <castaglia>
13456
13457	* contrib/mod_tls.c, include/bindings.h, include/modules.h,
13458	include/proftpd.h, include/session.h, modules/mod_auth.c,
13459	modules/mod_auth_file.c, modules/mod_auth_unix.c,
13460	modules/mod_cap.c, modules/mod_core.c, modules/mod_delay.c,
13461	modules/mod_facts.c, modules/mod_ident.c, modules/mod_log.c,
13462	modules/mod_memcache.c, modules/mod_xfer.c, src/bindings.c,
13463	src/cmd.c, src/dirtree.c, src/main.c, src/modules.c,
13464	src/proctitle.c, src/session.c, src/trace.c,
13465	tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Major work done on
13466	support for the HOST command (Bug#3289), to support name-based
13467	virtual hosting in proftpd.  There is still more work needed to
13468	complete the feature, however.
13469
134702012-04-13  castaglia <castaglia>
13471
13472	* src/fsio.c: Fix possible issue with encoding, due to passing the
13473	terminating NUL into the iconv functions (Bug#3769).
13474
134752012-04-12  castaglia <castaglia>
13476
13477	* tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm: Add regression test
13478	demonstrating a UserAlias which uses the '@' symbol.
13479
134802012-04-08  castaglia <castaglia>
13481
13482	* include/netaddr.h, src/netaddr.c, tests/api/netaddr.c: Add two new
13483	functions: pr_netaddr_is_v4() and pr_netaddr_is_v6().  These
13484	functions can be used to test whether a given name is an IP address
13485	(or a DNS name).
13486
134872012-04-08  castaglia <castaglia>
13488
13489	* include/conf.h, include/netaddr.h, src/netaddr.c,
13490	tests/api/netaddr.c: Back out the addition of the
13491	pr_netaddr_get_addr2() function; I'll be using a different approach
13492	for determining when a user-given string is an IP address or a DNS
13493	name.
13494
134952012-04-07  castaglia <castaglia>
13496
13497	* tests/t/lib/ProFTPD/Tests/Logging/SystemLog.pm,
13498	tests/t/logging/systemlog.t: Adding regression tests for the
13499	SystemLog directive.
13500
135012012-04-06  castaglia <castaglia>
13502
13503	* modules/Makefile.in: Make sure that if a static module fails to
13504	build (e.g. mod_sftp), the entire build is failed.
13505
135062012-04-06  castaglia <castaglia>
13507
13508	* contrib/mod_sftp/agent.c: It appears that Solaris 10 does not like
13509	the use of a variable name 'sun'; it already has that name defined
13510	in some system headers.  Silly.
13511
135122012-04-06  castaglia <castaglia>
13513
13514	* NEWS, src/encode.c: Bug#3769 - Ensure that encoded strings are
13515	NUL-terminated.
13516
135172012-04-05  castaglia <castaglia>
13518
13519	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add regression
13520	tests showing that HideFiles properly hides files from the MLSD and
13521	STAT commands.
13522
135232012-04-05  castaglia <castaglia>
13524
13525	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Updating the
13526	HideFiles regression tests to use testcase-specific logging.
13527
135282012-04-04  castaglia <castaglia>
13529
13530	* contrib/mod_tls.c: When validating OCSP responses, make sure that
13531	we validate the timestamps on the OCSP response as well.
13532
135332012-04-04  castaglia <castaglia>
13534
13535	* tests/t/lib/ProFTPD/Tests/Modules/mod_geoip.pm: Removing mod_geoip
13536	tests; it's not that easy/expedient to have them in the testsuite.
13537
135382012-04-04  castaglia <castaglia>
13539
13540	* contrib/mod_geoip.c: Add support for checking the GeoIP filters in
13541	PASS POST_CMD handler, so that geoip restrictions can be enforced on
13542	a per-user/group basis e.g. via mod_ifsession.
13543
135442012-04-04  castaglia <castaglia>
13545
13546	* modules/mod_xfer.c, src/data.c: Move the cleanup of aborted data
13547	connection stuff to a LOG_CMD handler in mod_xfer, so that other
13548	modules (e.g. mod_sql, mod_log) could log abort-related info first.
13549	Do some stylistic cleanups as well.
13550
135512012-04-04  castaglia <castaglia>
13552
13553	* include/conf.h, include/netaddr.h, src/netaddr.c,
13554	tests/api/netaddr.c: Add a new pr_netaddr_get_addr2() function,
13555	which returns additional information about a retrieved address.
13556	Namely, whether the given lookup name was an IPv4/6 address, or a
13557	DNS name.  This information will be needed for handling HOST
13558	parameters.
13559
135602012-04-04  castaglia <castaglia>
13561
13562	* doc/modules/mod_log.html: Document the new %{transfer-status},
13563	%{transfer-failure} LogFormat variables.
13564
135652012-04-04  castaglia <castaglia>
13566
13567	* modules/mod_log.c: Support the new %{transfer-status},
13568	%{transfer-failure} LogFormat variables.
13569
135702012-04-04  castaglia <castaglia>
13571
13572	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added regression
13573	tests for the %{transfer-status}, %{transfer-failure} LogFormat
13574	variables in ExtendedLogs.
13575
135762012-04-04  castaglia <castaglia>
13577
13578	* RELEASE_NOTES, contrib/mod_sql.c: Support the new
13579	%{transfer-status}, %{transfer-failure} variables in SQLLog
13580	directives.
13581
135822012-04-04  castaglia <castaglia>
13583
13584	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding tests
13585	for using the new %{transfer-status}, %{transfer-failure} variables
13586	in SQLLog directives.
13587
135882012-04-03  castaglia <castaglia>
13589
13590	* tests/t/lib/ProFTPD/Tests/Modules/mod_geoip.pm,
13591	tests/t/modules/mod_geoip.t, tests/tests.pl: Adding necessary files
13592	for writing regression tests for the mod_geoip module.
13593
135942012-04-03  castaglia <castaglia>
13595
13596	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Fix up the
13597	mod_delay tests to use testcase-specific logging.
13598
135992012-04-03  castaglia <castaglia>
13600
13601	* README.modules, doc/contrib/mod_geoip.html: Updating other docs
13602	related to mod_geoip.
13603
136042012-04-03  castaglia <castaglia>
13605
13606	* NEWS, RELEASE_NOTES, contrib/mod_geoip.c,
13607	doc/contrib/mod_geoip.html: Adding mod_geoip to the list of contrib
13608	modules distributed with ProFTPD.
13609
136102012-04-03  castaglia <castaglia>
13611
13612	* NEWS, contrib/mod_exec.c: Bug#3768 - ExecTimeout 0 (zero) not
13613	treated as infinite.
13614
136152012-04-03  castaglia <castaglia>
13616
13617	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
13618	regression test for Bug#3767.
13619
136202012-04-03  castaglia <castaglia>
13621
13622	* NEWS, contrib/mod_rewrite.c: Bug#3767 - mod_rewrite segfault when
13623	handling SITE CHGRP without a parameter.
13624
136252012-03-31  castaglia <castaglia>
13626
13627	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Updating the
13628	mod_sql_sqlite tests to use testcase-specific logging.
13629
136302012-03-31  castaglia <castaglia>
13631
13632	* NEWS, RELEASE_NOTES, contrib/mod_quotatab.c,
13633	contrib/mod_quotatab.h: Bug#3766 - Support a QuotaDefault directive,
13634	for configuring default limits.
13635
136362012-03-31  castaglia <castaglia>
13637
13638	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Adding
13639	regression tests for Bug#3766 functionality (QuotaDefault
13640	directive).
13641
136422012-03-30  castaglia <castaglia>
13643
13644	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Updating
13645	the mod_quotatab_sql regression testcases to use testcase-specific
13646	logging.
13647
136482012-03-30  castaglia <castaglia>
13649
13650	* tests/t/lib/ProFTPD/TestSuite/Child.pm: Since aborted transfers
13651	can result in a 226 response code but different response text, the
13652	assert_transfer_ok() method should allow callers to indicate whether
13653	the transfer was indeed aborted or not, lest the assertion fail
13654	unexpectedly.
13655
136562012-03-30  castaglia <castaglia>
13657
13658	* contrib/mod_sftp/auth.c: Make sure to set the
13659	session.hide_password field to 'TRUE' for SSH2 logins.
13660
136612012-03-30  castaglia <castaglia>
13662
13663	* include/version.h: This should mention a version of "1.3.5rc1",
13664	not "1.3.5".
13665
136662012-03-30  castaglia <castaglia>
13667
13668	* doc/modules/mod_auth_unix.html: Add FAQ about PersistentPasswd and
13669	"caching" of system users.
13670
136712012-03-29  castaglia <castaglia>
13672
13673	* src/data.c: Remove duplicate pr_timer_reset() call, and fix coding
13674	style.
13675
136762012-03-28  castaglia <castaglia>
13677
13678	* tests/tests.pl: Run the HOST regression tests.
13679
136802012-03-28  castaglia <castaglia>
13681
13682	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Start building up the
13683	collection of HOST-related regression tests.
13684
136852012-03-28  castaglia <castaglia>
13686
13687	* modules/mod_core.c: Start working towards supporting the HOST
13688	command (Bug#3289).
13689
136902012-03-28  castaglia <castaglia>
13691
13692	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
13693	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Adding regression tests
13694	for Bug#3754.
13695
136962012-03-28  castaglia <castaglia>
13697
13698	* NEWS, modules/mod_core.c: Bug#3754 - ProFTPD refuses to
13699	delete/rename a symlink pointing outside a writable directory.
13700
137012012-03-27  castaglia <castaglia>
13702
13703	* doc/contrib/mod_rewrite.html: Document the new mod_rewrite
13704	date/time-related variables.
13705
137062012-03-27  castaglia <castaglia>
13707
13708	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
13709	regression tests for Bug#3673 functionality.
13710
137112012-03-27  castaglia <castaglia>
13712
13713	* NEWS, RELEASE_NOTES, contrib/mod_rewrite.c: Bug#3673 - Support
13714	date/timestamp variables in mod_rewrite.
13715
137162012-03-24  castaglia <castaglia>
13717
13718	* doc/howto/Umask.html: Adding more info to the Umask howto.
13719
137202012-03-24  castaglia <castaglia>
13721
13722	* doc/modules/mod_core.html: Adding Umask directive description to
13723	the mod_core doc.
13724
137252012-03-23  castaglia <castaglia>
13726
13727	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Update EXIT
13728	regression test to use the %L/%a LogFormat variables.
13729
137302012-03-23  castaglia <castaglia>
13731
13732	* modules/mod_log.c: Fix null pointer dereference when using the
13733	%L/%a variables in a LogFormat for the EXIT ExtendedLog command
13734	class.
13735
137362012-03-23  castaglia <castaglia>
13737
13738	* NEWS, src/fsio.c: Bug#3626 - Display variable %f off by a factor
13739	of 1024 on 64-bit platforms.
13740
137412012-03-23  castaglia <castaglia>
13742
13743	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
13744	test for Bug#3765.
13745
137462012-03-23  castaglia <castaglia>
13747
13748	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/misc.c,
13749	contrib/mod_sftp/misc.h, contrib/mod_sftp/scp.c: Bug#3765 - mod_sftp
13750	should honor the GroupOwner directive for MKDIR requests.
13751
137522012-03-22  castaglia <castaglia>
13753
13754	* doc/modules/mod_log.html: Try to clarify that the ALL ExtendedLog
13755	command class does not include the EXIT command class.
13756
137572012-03-22  castaglia <castaglia>
13758
13759	* NEWS: Fix wrong bug number in NEWS.
13760
137612012-03-19  castaglia <castaglia>
13762
13763	* doc/modules/mod_log.html: Add link to RFC 959 and mention the
13764	section which defines the FTP response docs.  Add link to CLF, and
13765	explicitly mention that LogFormat's default format produces CLF
13766	entries.
13767
137682012-03-18  castaglia <castaglia>
13769
13770	* doc/howto/Logging.html: Attempting to improve the Logging howto,
13771	in order to better address Bug#3540.
13772
137732012-03-18  castaglia <castaglia>
13774
13775	* doc/modules/mod_core.html: By default, proftpd logs everything (in
13776	terms of SyslogLevel), thus the default SyslogLevel setting is
13777	"debug", not "none".
13778
137792012-03-17  castaglia <castaglia>
13780
13781	* doc/howto/Logging.html: Updating Logging howto to point to local
13782	docs (now that we have them).
13783
137842012-03-17  castaglia <castaglia>
13785
13786	* doc/modules/mod_core.html: For the SyslogFacility default, list
13787	"daemon" (although proftpd also uses "auth" for authentication
13788	messages).
13789
137902012-03-17  castaglia <castaglia>
13791
13792	* doc/modules/mod_core.html: Add description of the DebugLevel
13793	directive to the mod_core documentation.  Add links to the Logging
13794	howto in the descriptions for DebugLevel, SyslogFacility, and
13795	SyslogLevel.
13796
137972012-03-17  castaglia <castaglia>
13798
13799	* doc/modules/mod_core.html: Adding descriptions of the
13800	SyslogFacility and SyslogLevel directives to the mod_core
13801	documentation.
13802
138032012-03-14  castaglia <castaglia>
13804
13805	* NEWS, contrib/mod_sftp/kex.c: Bug#3746 - mod_sftp does not
13806	correctly handle a 'guess' KEX message when the client guesses
13807	correctly.
13808
138092012-03-14  castaglia <castaglia>
13810
13811	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd/FIPS.pm,
13812	tests/t/modules/mod_sql_passwd/fips.t, tests/tests.pl: Adding
13813	regression tests for mod_sql_passwd when it is using an OpenSSL that
13814	is in FIPS mode.
13815
138162012-03-14  castaglia <castaglia>
13817
13818	* src/log.c: Make sure that we get a usable syslog socket fd (read:
13819	not 0, 1, or 2) after a restart.
13820
138212012-03-13  castaglia <castaglia>
13822
13823	* contrib/mod_sql_passwd.c: Now mod_sql_passwd properly checks the
13824	EVP_Digest* return values.  This makes it possible for
13825	mod_sql_passwd to Do The Right Thing(tm) when the digest cannot be
13826	used, e.g. MD5 passwords and OpenSSL that is in FIPS mode.
13827
138282012-03-13  castaglia <castaglia>
13829
13830	* contrib/mod_sftp/kex.c: Add more trace logging of the name lists
13831	that mod_sftp is sending to the client.
13832
138332012-03-13  castaglia <castaglia>
13834
13835	* contrib/mod_sftp/mod_sftp.h.in: There will be enough new features
13836	in mod_sftp in this release to warrant bumping the module version.
13837
138382012-03-13  castaglia <castaglia>
13839
13840	* contrib/mod_sftp/blacklist.c: Fix compiler warning.
13841
138422012-03-13  castaglia <castaglia>
13843
13844	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/FIPS.pm: Adding
13845	regression tests for key-based SSH2 auth when in FIPS mode.
13846
138472012-03-13  castaglia <castaglia>
13848
13849	* contrib/mod_sftp/auth-hostbased.c,
13850	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/blacklist.c,
13851	contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Properly handle
13852	fingerprinting of keys when FIPS mode is enabled.  We used to always
13853	use MD5 fingerprints -- but that does not work for FIPS.  (We also
13854	weren't checking for digest errors when obtaining key fingerprints).
13855	Now, when FIPS mode is enabled, we use SHA1 fingerprints.
13856
138572012-03-13  castaglia <castaglia>
13858
13859	* doc/contrib/mod_sftp.html: Document the list of cipher/digest
13860	algorithms that are no longer advertised by mod_sftp when FIPS mode
13861	is enabled.
13862
138632012-03-13  castaglia <castaglia>
13864
13865	* contrib/mod_sftp/crypto.c: Allow the 3des-ctr cipher in FIPS mode
13866	(Bug#3763).
13867
138682012-03-12  castaglia <castaglia>
13869
13870	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support for a
13871	'feat_openssl_fips' testcase class label.  (Needed this to have the
13872	Bug#3763 regression tests executed but only when mod_sftp was built
13873	against a FIPS-enabled OpenSSL.)
13874
138752012-03-12  castaglia <castaglia>
13876
13877	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/FIPS.pm,
13878	tests/t/modules/mod_sftp/fips.t, tests/tests.pl: Adding regression
13879	tests for Bug#3763.
13880
138812012-03-12  castaglia <castaglia>
13882
13883	* NEWS, RELEASE_NOTES, contrib/mod_sftp/cipher.c,
13884	contrib/mod_sftp/crypto.c, contrib/mod_sftp/mac.c,
13885	contrib/mod_sftp/mod_sftp.c: Bug#3763 - Ensure that mod_sftp
13886	operates properly when OpenSSL FIPS mode is enabled.
13887
138882012-03-12  castaglia <castaglia>
13889
13890	* tests/t/lib/ProFTPD/Tests/Config/Include.pm: Add regression test
13891	for an Include directive which uses a glob pattern that results in
13892	no matches.
13893
138942012-03-12  castaglia <castaglia>
13895
13896	* doc/modules/mod_core.html: Make sure the Include directive docs
13897	mention how a glob pattern with no matches is handled.
13898
138992012-03-12  castaglia <castaglia>
13900
13901	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure the modified/new
13902	server_wait() still sets a default timeout of 10 secs, even if a
13903	hashref of options has been provided by the caller.
13904
139052012-03-11  castaglia <castaglia>
13906
13907	* tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm: Fix these tests so
13908	that they actually stop the daemon processes that they launch.
13909
139102012-03-11  castaglia <castaglia>
13911
13912	* contrib/mod_sftp/packet.c: Include the IP address of the client
13913	who sends us a DISCONNECT SSH message.
13914
139152012-03-11  castaglia <castaglia>
13916
13917	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
13918	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Alter the
13919	server_wait() and server_start() Utils functions so that test cases
13920	can specify environment variables, and -D defines, to be used when
13921	starting proftpd.
13922
139232012-03-11  castaglia <castaglia>
13924
13925	* tests/t/config/ifdefine.t,
13926	tests/t/lib/ProFTPD/Tests/Config/IfDefine.pm, tests/tests.pl: Adding
13927	regression tests for the <IfDefine> directive.
13928
139292012-03-11  castaglia <castaglia>
13930
13931	* NEWS, contrib/mod_sftp/kex.c, contrib/mod_sftp/packet.c,
13932	contrib/mod_sftp/packet.h: Bug#3761 - SSH2 key exchange fails if
13933	client sends certain SSH message before NEWKEYS.
13934
139352012-03-08  castaglia <castaglia>
13936
13937	* contrib/mod_sftp/kex.c: Fix a few places where compilation would
13938	fail with a non-ECC capable OpenSSL version because I was missing
13939	some preprocessor guards.
13940
139412012-03-08  castaglia <castaglia>
13942
13943	* tests/t/commands/site/chgrp.t,
13944	tests/t/lib/ProFTPD/Tests/Commands/SITE/CHGRP.pm, tests/tests.pl:
13945	Adding missing regression tests for the SITE CHGRP command.
13946
139472012-03-07  castaglia <castaglia>
13948
13949	* src/main.c: On some platforms (e.g. Solaris), uname(3) returns a
13950	positive number on success, and on other platforms, uname(3) returns
13951	zero on success.  The only reliable check for success, then, is
13952	whether the return value is less than zero on error -- all other
13953	values indicate success.
13954
139552012-03-07  castaglia <castaglia>
13956
13957	* NEWS, RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new
13958	support for loading host keys from an SSH agent in the docs.
13959
139602012-03-07  castaglia <castaglia>
13961
13962	* contrib/mod_sftp/agent.c, contrib/mod_sftp/keys.c,
13963	contrib/mod_sftp/mod_sftp.c: Put the finishing touches on support
13964	for loading SSH hostkeys from an SSH agent.
13965
139662012-03-06  castaglia <castaglia>
13967
13968	* contrib/mod_sftp/agent.c, contrib/mod_sftp/agent.h,
13969	contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c: More work on
13970	getting mod_sftp ready to read hostkeys from an SSH agent.
13971
139722012-03-06  castaglia <castaglia>
13973
13974	* contrib/mod_sftp/agent.c: Slightly better trace logging messages
13975	by including the Unix domain socket path, e.g. where there are
13976	different SSH agents for different vhosts.
13977
139782012-03-06  castaglia <castaglia>
13979
13980	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/agent.c,
13981	contrib/mod_sftp/agent.h, contrib/mod_sftp/keys.c,
13982	contrib/mod_sftp/keys.h, contrib/mod_sftp/mod_sftp.c: Start working
13983	on support for obtaining hostkeys from an SSH agent, rather than
13984	from files on disk.
13985
139862012-03-04  castaglia <castaglia>
13987
13988	* RELEASE_NOTES: Updating release notes.
13989
139902012-03-04  castaglia <castaglia>
13991
13992	* contrib/mod_sftp/auth-hostbased.c: Forgot to update the hostbased
13993	auth to use the key type enum, and to support ECDSA keys for
13994	hostbased authentication as well.
13995
139962012-03-04  castaglia <castaglia>
13997
13998	* doc/modules/mod_core.html: Fixing markup.
13999
140002012-03-02  castaglia <castaglia>
14001
14002	* RELEASE_NOTES: Call out the ECC support for mod_sftp in the
14003	release notes.
14004
140052012-03-02  castaglia <castaglia>
14006
14007	* contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/kex.c,
14008	contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Support use of
14009	ECDSA public keys for user/host authentication, as part of ECC
14010	support (Bug#3573).
14011
140122012-03-02  castaglia <castaglia>
14013
14014	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
14015	tests to mod_sftp, verifying that user public key authentication
14016	using ECDSA public keys works properly.  Part of Bug#3573.
14017
140182012-03-02  castaglia <castaglia>
14019
14020	* tests/t/etc/modules/mod_sftp/authorized_ecdsa256_keys,
14021	tests/t/etc/modules/mod_sftp/authorized_ecdsa384_keys,
14022	tests/t/etc/modules/mod_sftp/authorized_ecdsa521_keys,
14023	tests/t/etc/modules/mod_sftp/test_ecdsa256_key,
14024	tests/t/etc/modules/mod_sftp/test_ecdsa256_key.pub,
14025	tests/t/etc/modules/mod_sftp/test_ecdsa384_key,
14026	tests/t/etc/modules/mod_sftp/test_ecdsa384_key.pub,
14027	tests/t/etc/modules/mod_sftp/test_ecdsa521_key,
14028	tests/t/etc/modules/mod_sftp/test_ecdsa521_key.pub: Adding ECDSA
14029	public keys, for use in verifying that ECDSA-based public key user
14030	authentication works properly (part of Bug#3573).
14031
140322012-03-01  castaglia <castaglia>
14033
14034	* src/support.c: There's no reason for this memscrub_ctr variable
14035	symbol to be visible outside of this file.
14036
140372012-03-01  castaglia <castaglia>
14038
14039	* NEWS, modules/mod_auth.c: Bug#3758 - ProFTPD crashes when handling
14040	mod_gss authentication due to null pointer.
14041
140422012-03-01  castaglia <castaglia>
14043
14044	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to mention the
14045	new key exchange algorithms supported, as well as ECDSA hostkey
14046	support (Bug#3573).
14047
140482012-03-01  castaglia <castaglia>
14049
14050	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
14051	tests for the ECC support (hostkey algorithms, key exchange
14052	algorithms) in mod_sftp.  Note that these tests rely on an external
14053	sftp(1) program which has ECC support.
14054
140552012-03-01  castaglia <castaglia>
14056
14057	* NEWS, contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
14058	contrib/mod_sftp/keys.h, contrib/mod_sftp/mod_sftp.h.in,
14059	contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h,
14060	contrib/mod_sftp/ssh2.h: Bug#3573 - Support Elliptic Curve
14061	Cryptography (ECC) in SSH.
14062
140632012-03-01  castaglia <castaglia>
14064
14065	* tests/t/etc/modules/mod_sftp/ssh_host_ecdsa256_key,
14066	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa256_key.pub,
14067	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa384_key,
14068	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa384_key.pub,
14069	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa521_key,
14070	tests/t/etc/modules/mod_sftp/ssh_host_ecdsa521_key.pub: Adding SSH
14071	ECDSA host keys for the regression tests for Bug#3573.
14072
140732012-02-28  castaglia <castaglia>
14074
14075	* doc/contrib/mod_ctrls_admin.html: Removed mention of the 'dump'
14076	ftpdctl action; it is no longer supported by the mod_ctrls_admin
14077	module.
14078
140792012-02-28  castaglia <castaglia>
14080
14081	* contrib/mod_ban.c: Better handling of errno values in certain
14082	cases, so that the return values (and log messages) reflect reality.
14083
140842012-02-27  castaglia <castaglia>
14085
14086	* locale/proftpd.pot: Updating POT file; most of the changes are of
14087	source code line number changes, but there are a couple of different
14088	strings.
14089
140902012-02-27  castaglia <castaglia>
14091
14092	* locale/files.txt: Updated list of files containing strings that
14093	might need to be localized.
14094
140952012-02-27  castaglia <castaglia>
14096
14097	* modules/mod_xfer.c, tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm:
14098	Return a 504 response code for unsupported TYPE parameters, rather
14099	than 500.
14100
141012012-02-27  castaglia <castaglia>
14102
14103	* doc/modules/mod_auth.html, doc/modules/mod_core.html,
14104	doc/modules/mod_xfer.html: Document the maximum allowed timeout
14105	value, if any, for the various Timeout directives.
14106
141072012-02-24  castaglia <castaglia>
14108
14109	* doc/modules/mod_lang.html: Updated mod_lang docs, per changes for
14110	Bug#3737.
14111
141122012-02-24  castaglia <castaglia>
14113
14114	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
14115	tests for the mod_lang changes from Bug#3737.
14116
141172012-02-24  castaglia <castaglia>
14118
14119	* NEWS, RELEASE_NOTES, modules/mod_lang.c: Bug#3737 - Allow UTF8
14120	when UseEncoding is used.
14121
141222012-02-24  castaglia <castaglia>
14123
14124	* src/encode.c: Use syslogging, rather than trace logging, in
14125	encode_init(), since encoding is initialized before the config file
14126	is parsed (and thus before the TraceLog is opened).
14127
141282012-02-24  castaglia <castaglia>
14129
14130	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Adding regression
14131	tests for the current mod_lang behavior with regard to UseEncoding
14132	and OPTS UTF8 commands.
14133
141342012-02-24  castaglia <castaglia>
14135
14136	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Updated the
14137	mod_lang tests to use testcase-specific logging.
14138
141392012-02-24  castaglia <castaglia>
14140
14141	* src/netio.c: Preserve the errno value, for the sake of the caller.
14142
141432012-02-24  castaglia <castaglia>
14144
14145	* contrib/mod_sftp/mod_sftp.c, modules/mod_xfer.c: Update mod_sftp
14146	and mod_xfer so that they use the new pr_str_get_nbytes() function
14147	for parsing file sizes, e.g. from directive parameters.
14148
141492012-02-24  castaglia <castaglia>
14150
14151	* include/str.h, src/str.c, tests/api/str.c: Refactor some common
14152	code (duplicated in mod_xfer and in mod_sftp) used to parse a string
14153	of "bytes", including suffix, into a numeric value, into a new
14154	String API pr_str_get_nbytes() function.
14155
141562012-02-24  castaglia <castaglia>
14157
14158	* doc/modules/mod_auth.html: Document the new RootRevoke parameter,
14159	per Bug#3731.
14160
141612012-02-24  castaglia <castaglia>
14162
14163	* NEWS, RELEASE_NOTES, modules/mod_auth.c, modules/mod_core.c,
14164	src/data.c, src/inet.c,
14165	tests/t/lib/ProFTPD/Tests/Config/RootRevoke.pm: Bug#3731 - Support
14166	active data transfers while RootRevoke is in effect.
14167
141682012-02-24  castaglia <castaglia>
14169
14170	* src/table.c: Since we're only reading from /dev/urandom, we don't
14171	really care about any error value from fclose(3).
14172
141732012-02-24  castaglia <castaglia>
14174
14175	* modules/mod_dso.c: Quell valid compiler warning about shadowed
14176	variable.
14177
141782012-02-24  castaglia <castaglia>
14179
14180	* contrib/mod_ban.c: Quell compiler warning about unreachable code
14181	(but only unreachable when memcache support is not enabled).
14182
141832012-02-24  castaglia <castaglia>
14184
14185	* contrib/mod_sftp/rfc4716.c: Quell compiler warning about a line of
14186	code which will never be reached.
14187
141882012-02-24  castaglia <castaglia>
14189
14190	* src/table.c: Fix compiler warning about generating the per-table
14191	random seed, when OpenSSL's RAND API is not available.  Also decided to simply add the per-table seed to the returned hash
14192	value, rather than XOR the seed in.
14193
141942012-02-24  castaglia <castaglia>
14195
14196	* src/ctrls.c: Fixed another place in the Controls API where we
14197	weren't using the proper buffer length.
14198
141992012-02-24  castaglia <castaglia>
14200
14201	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add regression
14202	test for LogFormat/ExtendedLog, to make sure that an ABOR command is
14203	properly logged.
14204
142052012-02-23  castaglia <castaglia>
14206
14207	* tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Adding regression
14208	test for Bug#3756.
14209
142102012-02-23  castaglia <castaglia>
14211
14212	* NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#3756 - mod_ctrls no
14213	longer listens on ControlsSocket after restart.
14214
142152012-02-23  castaglia <castaglia>
14216
14217	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Missing testcase
14218	tag.
14219
142202012-02-23  castaglia <castaglia>
14221
14222	* doc/contrib/mod_sftp.html: Added documentation for the new
14223	IgnoreSFTPSetOwners SFTPOption (Bug#3757).
14224
142252012-02-23  castaglia <castaglia>
14226
14227	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
14228	tests for Bug#3757.
14229
142302012-02-23  castaglia <castaglia>
14231
14232	* NEWS, RELEASE_NOTES, contrib/mod_sftp/fxp.c,
14233	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in:
14234	Bug#3757 - Support SFTPOption for ignoring requests to modify file
14235	ownership.
14236
142372012-02-23  castaglia <castaglia>
14238
14239	* modules/mod_dso.c: Quell compiler warning about losing pointer
14240	qualifier.
14241
142422012-02-22  castaglia <castaglia>
14243
14244	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Add regression test
14245	showing that the PASS command works properly with non-ASCII
14246	characters in the provided password.
14247
142482012-02-22  castaglia <castaglia>
14249
14250	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Adding reproduction
14251	recipe for Bug#3730; this test shows that the reported behavior does
14252	not currently happen.  Still, useful to have the recipe around for
14253	possible regressions.
14254
142552012-02-22  castaglia <castaglia>
14256
14257	* contrib/mod_ban.c: Committing additional fix for Bug#3751, to make
14258	sure that the BanTable fd, after a restart, is not one of
14259	stdin/stdout/stderr.
14260
142612012-02-21  castaglia <castaglia>
14262
14263	* tests/t/config/envvars.t,
14264	tests/t/lib/ProFTPD/Tests/Config/EnvVars.pm, tests/tests.pl: Adding
14265	regression tests for using environment variables in proftpd.conf
14266	config files.
14267
142682012-02-21  castaglia <castaglia>
14269
14270	* doc/utils/index.html: Better description of the prxs docs in the
14271	index.
14272
142732012-02-20  castaglia <castaglia>
14274
14275	* doc/utils/prxs.html: Beginnings of a prxs doc.
14276
142772012-02-20  castaglia <castaglia>
14278
14279	* doc/modules/mod_xfer.html: Adding descriptions for the
14280	TimeoutNoTransfer, TimeoutStalled directives to the bundled docs.
14281
142822012-02-20  castaglia <castaglia>
14283
14284	* doc/modules/mod_core.html: Adding descriptions for the
14285	MaxInstances, TimeoutIdle directives to the bundled docs.
14286
142872012-02-20  castaglia <castaglia>
14288
14289	* doc/modules/mod_auth.html: Adding descriptions for the
14290	TimeoutLogin, TimeoutSession directives to the bundled docs.
14291
142922012-02-19  castaglia <castaglia>
14293
14294	* contrib/mod_sftp/fxp.c: Refactor the code snippet for setting the
14295	'sftp.file-handle' note into a common function, and avoid the code
14296	duplication.
14297
142982012-02-19  castaglia <castaglia>
14299
14300	* modules/mod_auth.c: Removed unused variable which was leading to a
14301	compiler warning noted in Bug#3755.
14302
143032012-02-19  castaglia <castaglia>
14304
14305	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
14306	test for feature added for Bug#3707.
14307
143082012-02-19  castaglia <castaglia>
14309
14310	* NEWS, contrib/mod_sftp/fxp.c: Bug#3707 - Add request/transfer ID
14311	to the logging of the initial and closing commands for SFTP file
14312	transfers.  This adds a "sftp.file-handle" note to the cmd->notes table for SFTP
14313	transfer-related requests.  This note can then be logged in a custom
14314	LogFormat using the new support for notes, e.g.
14315	'%{note:sftp.file-handle}'.  Note that I also fixed the logging of %f LogFormat variables for
14316	SFTP CLOSE requests; the session.xfer struct was being cleared by
14317	the RETR/STOR handles to which the CLOSE request handler dispatched,
14318	and thus when the CLOSE request was dispatched, mod_log had no
14319	session.xfer information to work with.  Now fixed.
14320
143212012-02-19  castaglia <castaglia>
14322
14323	* RELEASE_NOTES, modules/mod_log.c: Add support for a '%{note:...}'
14324	LogFormat variable, for logging "notes" to a custom LogFormat.  This
14325	makes LogFormat have parity with SQLLog, which also handles "notes"
14326	(something I quietly snuck into mod_sql).  It is also going to be
14327	used to satisfy the feature requested in Bug#3707.
14328
143292012-02-18  castaglia <castaglia>
14330
14331	* configure: Updated configure.
14332
143332012-02-18  castaglia <castaglia>
14334
14335	* configure.in: Extend the fix for Bug#3702 (i.e. checking for the
14336	-pthread library link flag) to apply to the handling of Postgres as
14337	well.
14338
143392012-02-18  castaglia <castaglia>
14340
14341	* contrib/mod_sftp_sql.c: Fix up compiler warnings noted in
14342	Bug#3755.
14343
143442012-02-18  castaglia <castaglia>
14345
14346	* contrib/mod_sftp/fxp.c: Fix up a few more places where compiler
14347	warnings (noted in Bug#3755) about unused variables could be
14348	addressed.
14349
143502012-02-18  castaglia <castaglia>
14351
14352	* contrib/mod_sftp/fxp.c: Pay more attention to the file_type field
14353	sent in an OPEN SFTP request from SFTP clients using SFTP protocol
14354	version 4 and later.  Use this field to actually set the st.st_mode
14355	bits for that file type properly.  Note that this also addresses a
14356	compiler warning about an unused variable noted in Bug#3755.
14357
143582012-02-18  castaglia <castaglia>
14359
14360	* contrib/mod_sftp/channel.c: Remove unused variable causing
14361	compiler warning noted in Bug#3755.
14362
143632012-02-18  castaglia <castaglia>
14364
14365	* contrib/mod_sftp/auth-password.c: Log when an SSH2 client gives us
14366	a new password, so that admins will know that that functionality is
14367	not supported by mod_sftp.  This addresses a compiler warning about
14368	an unused variable reported by Bug#3755.
14369
143702012-02-18  castaglia <castaglia>
14371
14372	* contrib/mod_rewrite.c: Remove unused variable causing compiler
14373	warning noted in Bug#3755.
14374
143752012-02-18  castaglia <castaglia>
14376
14377	* contrib/mod_sql_mysql.c: Fix up the coding style and clean up some
14378	compiler warnings noted in Bug#3755.
14379
143802012-02-18  castaglia <castaglia>
14381
14382	* contrib/mod_sql.c: Quell a compiler warning noted in Bug#3755.
14383
143842012-02-18  castaglia <castaglia>
14385
14386	* src/auth.c: Stylistic cleanup, and fix a few compiler warnings
14387	noted in Bug#3755.
14388
143892012-02-18  castaglia <castaglia>
14390
14391	* modules/mod_auth.c: Fix some stylistic nits, and clean up a few
14392	compiler warnings noted in Bug#3755.
14393
143942012-02-17  castaglia <castaglia>
14395
14396	* src/lastlog.c: Use explicit cast to time_t pointer, to avoid
14397	compiler warnings on some platforms.
14398
143992012-02-17  castaglia <castaglia>
14400
14401	* src/pool.c: The previous changes to the Pool API erroneously
14402	removed the memset(3) calls which zeroed out the allocated memory;
14403	these are very important calls.  Oops.
14404
144052012-02-17  castaglia <castaglia>
14406
14407	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Add a reproduction
14408	recipe for Bug#3740.  So far, though, the reported bug hasn't
14409	manifested in my regression test attempts.
14410
144112012-02-17  castaglia <castaglia>
14412
14413	* NEWS, contrib/mod_ban.c: Bug#3751 - mod_ban does not close/reopen
14414	the BanLog/BanTable file descriptors on restart, causing a file
14415	descriptor leak.
14416
144172012-02-17  castaglia <castaglia>
14418
14419	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Added regression
14420	test for Bug#3751 (mod_ban-related fd leak).
14421
144222012-02-16  castaglia <castaglia>
14423
14424	* NEWS, src/bindings.c, src/inet.c: Bug#3752 - proftpd process exit
14425	status is zero for "Failed binding to address, port N: Address
14426	already in use" startup failure.
14427
144282012-02-16  castaglia <castaglia>
14429
14430	* tests/api/response.c: Disable a unit test which was creating an
14431	expected segfault; the test code in question is a reproduction
14432	recipe rather than a regression test, and so should not necessarily
14433	be run all of the time (Bug#3750).
14434
144352012-02-16  castaglia <castaglia>
14436
14437	* include/pool.h, src/pool.c: Clean up some places in the Pool API
14438	which allowed signed ints for sizes/counts of things.  It does not
14439	make sense to allow for negative pool sizes or negative counts, so
14440	prevent it at the API level, rather than having less-than-zero
14441	checks in the code.
14442
144432012-02-16  castaglia <castaglia>
14444
14445	* src/scoreboard.c: Clean up warnings in the Scoreboard API code.
14446
144472012-02-16  castaglia <castaglia>
14448
14449	* src/table.c: Include the <openssl/rand.h> header, if OpenSSL is
14450	enabled, so that we get the proper RAND_* function definitions.
14451
144522012-02-16  castaglia <castaglia>
14453
14454	* contrib/mod_sftp/fxp.c: Missed part of the "unsigned char" merge.
14455
144562012-02-15  castaglia <castaglia>
14457
14458	* contrib/mod_sftp/auth-hostbased.c,
14459	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
14460	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
14461	contrib/mod_sftp/auth.h, contrib/mod_sftp/blacklist.c,
14462	contrib/mod_sftp/blacklist.h, contrib/mod_sftp/channel.c,
14463	contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.c,
14464	contrib/mod_sftp/date.c, contrib/mod_sftp/date.h,
14465	contrib/mod_sftp/disconnect.c, contrib/mod_sftp/fxp.c,
14466	contrib/mod_sftp/fxp.h, contrib/mod_sftp/kbdint.c,
14467	contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
14468	contrib/mod_sftp/keys.h, contrib/mod_sftp/keystore.c,
14469	contrib/mod_sftp/keystore.h, contrib/mod_sftp/mac.c,
14470	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.c,
14471	contrib/mod_sftp/msg.h, contrib/mod_sftp/packet.c,
14472	contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.c,
14473	contrib/mod_sftp/scp.c, contrib/mod_sftp/scp.h,
14474	contrib/mod_sftp/service.c, contrib/mod_sftp/tap.c: Reworked the
14475	mod_sftp handling of buffers of data to use "unsigned char" rather
14476	than just "char".  Raw data has really no signedness, so its
14477	better/cleaner to treat it as unsigned.
14478
144792012-02-15  castaglia <castaglia>
14480
14481	* contrib/mod_sftp/kex.c: Fix minor issue pointed out by valgrind,
14482	where we were not tracking the length properly.
14483
144842012-02-15  castaglia <castaglia>
14485
14486	* NEWS, contrib/mod_sftp/fxp.c: Bug#3743 - Random stalls/segfaults
14487	seen when transferring large files via SFTP.
14488
144892012-02-15  castaglia <castaglia>
14490
14491	* contrib/mod_sftp/fxp.c: Calling fxp_packet_add_cache() with null
14492	args should NOT zero out the static buffer length-tracking variable.
14493
144942012-02-15  castaglia <castaglia>
14495
14496	* tests/api/scoreboard.c, tests/api/stubs.c: Fix unit tests to
14497	compile properly.
14498
144992012-02-15  castaglia <castaglia>
14500
14501	* contrib/mod_sftp/packet.c: Missing return value.
14502
145032012-02-14  castaglia <castaglia>
14504
14505	* NEWS, src/netacl.c: Bug#3749 - Compile of src/netacl.c fails on
14506	Tru64 UNIX (OSF/1) due to conflict with system header.
14507
145082012-02-14  castaglia <castaglia>
14509
14510	* contrib/mod_sftp/packet.c: Comment typo.
14511
145122012-02-10  castaglia <castaglia>
14513
14514	* tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Updating the
14515	TimeoutIdle test cases to use testcase-specific logging.
14516
145172012-02-10  castaglia <castaglia>
14518
14519	* doc/modules/mod_auth.html: Adding description of MaxLoginAttempts
14520	directive to mod_auth docs.
14521
145222012-02-10  castaglia <castaglia>
14523
14524	* NEWS, contrib/mod_tls.c: Bug#3742 - Improper handling of
14525	self-signed certificate in client-sent cert list when
14526	"TLSVerifyClient on" is used.
14527
145282012-02-10  castaglia <castaglia>
14529
14530	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
14531	tests for Bug#3742.
14532
145332012-02-10  castaglia <castaglia>
14534
14535	* tests/t/etc/modules/mod_tls/bug3742-ca.pem,
14536	tests/t/etc/modules/mod_tls/bug3742-client.pem: Adding some
14537	supporting certs used for testing Bug#3742.
14538
145392012-02-10  castaglia <castaglia>
14540
14541	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updating the main
14542	mod_tls tests to use testcase-specific logging.
14543
145442012-02-09  castaglia <castaglia>
14545
14546	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding testcase for
14547	mod_ban's BanOnEvent ClientConnectRate functionality.
14548
145492012-02-09  castaglia <castaglia>
14550
14551	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Making sure that all
14552	of the existing mod_ban testcases pass.
14553
145542012-02-09  castaglia <castaglia>
14555
14556	* modules/mod_auth.c: Minor nit fix: When TimeoutLogin is exceeded,
14557	if the TimeoutLogin is just a single second, then the 421 response
14558	message should say "1 second" rather than "1 seconds".
14559
145602012-02-09  castaglia <castaglia>
14561
14562	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Updating mod_ban
14563	testcases to use testcase-specific logging.
14564
145652012-02-09  castaglia <castaglia>
14566
14567	* src/main.c: We were not properly generating the 'core.preparse'
14568	event on restarts, even though we would properly generate a
14569	'core.postparse' event during a restart.  Add generation of the
14570	'core.preparse' event during restarts, for symmetry with the
14571	sequence of events during startup parsing.
14572
145732012-02-09  castaglia <castaglia>
14574
14575	* src/parser.c: The config parser is supposed to handle most things
14576	in a case-insensitive fashion; it was not doing do for "<global>"
14577	(vs "<Global>").
14578
145792012-02-08  castaglia <castaglia>
14580
14581	* doc/howto/Scoreboard.html, doc/modules/mod_core.html: Update the
14582	documentation (mod_core to add description for ScoreboardFile and
14583	ScoreboardMutex, Scoreboard howto to add anchor for the "what
14584	happens if I disable scoreboarding?" FAQ) in light of Bug#3701.
14585
145862012-02-08  castaglia <castaglia>
14587
14588	* NEWS, RELEASE_NOTES, src/scoreboard.c, tests/api/scoreboard.c:
14589	Bug#3701 - Modify ScoreboardFile directive to support disabling
14590	scoreboarding.
14591
145922012-02-06  castaglia <castaglia>
14593
14594	* doc/modules/mod_ls.html: Updated mod_ls docs.
14595
145962012-02-05  castaglia <castaglia>
14597
14598	* NEWS, modules/mod_core.c: Bug#3745 - Reject PASV command if no
14599	IPv4 address available.
14600
146012012-02-05  castaglia <castaglia>
14602
14603	* modules/mod_core.c: More minor stylistic changes.
14604
146052012-02-05  castaglia <castaglia>
14606
14607	* modules/mod_core.c: More style changes; no functional change.
14608
146092012-02-05  castaglia <castaglia>
14610
14611	* modules/mod_core.c: Clean up of some of the coding style; no
14612	functional change.
14613
146142012-02-05  castaglia <castaglia>
14615
14616	* src/proftpd.8.in: Bug#3748 - Update FILES section in proftpd(8)
14617	man page.  List the /etc/ftpusers file in the FILES section.
14618
146192012-02-03  castaglia <castaglia>
14620
14621	* doc/modules/mod_facts.html: Added docs for FactsOptions directive.
14622
146232012-02-03  castaglia <castaglia>
14624
14625	* NEWS, RELEASE_NOTES, modules/mod_facts.c: Bug#3747 - Support
14626	option for displaying symlinks via MLSD using syntax preferred by
14627	FileZilla.
14628
146292012-02-03  castaglia <castaglia>
14630
14631	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Updating
14632	ShowSymlinks regression tests to work properly on a Mac.
14633
146342012-02-03  castaglia <castaglia>
14635
14636	* tests/t/config/factsoptions.t,
14637	tests/t/lib/ProFTPD/Tests/Config/FactsOptions.pm, tests/tests.pl:
14638	Adding regression tests for the new FactsOptions directive
14639	(Bug#3747).
14640
146412012-02-03  castaglia <castaglia>
14642
14643	* doc/modules/mod_facts.html: Minor update to the MLSD FAQs.
14644
146452012-02-02  castaglia <castaglia>
14646
14647	* doc/howto/ListOptions.html: Update the ListOptions howto to
14648	mention the LISTOnly, NLSTOnly, and NoErrorIfAbsent keywords.
14649
146502012-02-02  castaglia <castaglia>
14651
14652	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Supply regression
14653	tests for the LISTOnly, NLSTOnly keywords for the ListOptions
14654	directive (Bug#3746).
14655
146562012-02-02  castaglia <castaglia>
14657
14658	* RELEASE_NOTES: Update release notes with stubs about the
14659	ListOptions changes.
14660
146612012-02-02  castaglia <castaglia>
14662
14663	* NEWS, modules/mod_ls.c: Bug#3746 - Support applying ListOptions
14664	only to NLST or to LIST commands.  The ListOptions directive now
14665	supports "LISTOnly" and "NLSTOnly" keywords.
14666
146672012-02-01  castaglia <castaglia>
14668
14669	* tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm: Adding regression
14670	tests for the new -1 ListOption added for Bug#3744.
14671
146722012-02-01  castaglia <castaglia>
14673
14674	* NEWS, modules/mod_ls.c: Bug#3744 - Support ls(1) -1 option for
14675	LIST command.
14676
146772012-02-01  castaglia <castaglia>
14678
14679	* tests/t/lib/ProFTPD/TestSuite/Child.pm: There are times when the
14680	unit tests will fail, particularly when dealing with data transfers,
14681	because the test code expects a response of "226 Transfer complete"
14682	when the server has only sent "150 Opening ..." at that point.  Provide a convenience assert_transfer_ok() method for checking for
14683	both scenarios, in order to try to reduce the spurious test failures
14684	due to this race/timing issue.
14685
146862012-01-31  castaglia <castaglia>
14687
14688	* contrib/mod_sftp/fxp.c: Some mod_sftp users are reporting issues
14689	with stalled/segfaulting SFTP uploads; I've narrowed down the cause
14690	to the buffering of channel data that the SFTP code does.  Adding
14691	finer-grained trace logging in this code, to aid further debugging
14692	in this area.
14693
146942012-01-27  castaglia <castaglia>
14695
14696	* tests/api/scoreboard.c: Forgot to update unit tests to match
14697	Scoreboard API change.
14698
146992012-01-27  castaglia <castaglia>
14700
14701	* include/scoreboard.h, modules/mod_auth.c, src/main.c,
14702	src/scoreboard.c: When proftpd starts up in "ServerType standalone"
14703	mode, it should keep an fd on the ScoreboardMutex file open -- but
14704	make sure that that fd is not one of the Big Three
14705	(stdin/stdout/stderr).  This fd should be shared across the child
14706	processes, i.e. for proper synchronization during scoreboard
14707	scrubbing.
14708
147092012-01-26  castaglia <castaglia>
14710
14711	* include/table.h, src/auth.c, src/memcache.c, src/table.c,
14712	tests/api/table.c: Improve the randomization of table key hashing by
14713	moving the mixing of the random seed into the hash value into the
14714	Table API itself, rather than pushing it down into the key-hash
14715	functions.  This makes for a cleaner design, so that custom key
14716	hashing functions don't need to handle the seed (or be afraid of
14717	causing problems if they forgot to use the seed).
14718
147192012-01-25  castaglia <castaglia>
14720
14721	* contrib/mod_sftp/mod_sftp.c, modules/mod_core.c, src/main.c: I
14722	don't know why, but the ServerIdent configuration handler would
14723	parse the Boolean parameter, but store it in the config_rec by using
14724	"!bool", inverting the value.  It make for confusing reading of the
14725	code which handles that config_rec.  Avoid this confusion in the future, and simply store the parsed
14726	Boolean value in the config_rec as is.
14727
147282012-01-25  castaglia <castaglia>
14729
14730	* tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm: Update the
14731	ServerIdent test cases to use the testcase-specific logging.
14732
147332012-01-25  castaglia <castaglia>
14734
14735	* doc/modules/mod_core.html: Add docs for the ServerIdent directive
14736	to the mod_core documentation.
14737
147382012-01-25  castaglia <castaglia>
14739
14740	* doc/contrib/mod_sftp.html: Updating mod_sftp docs with mention of
14741	using ServerIdent.
14742
147432012-01-25  castaglia <castaglia>
14744
14745	* include/privs.h, src/main.c, src/privs.c: If proftpd is started by
14746	a nonroot user, then avoid spamming the logs with "unable to setuid"
14747	ERROR level messages.
14748
147492012-01-25  castaglia <castaglia>
14750
14751	* NEWS, lib/pr-syslog.c: Bug#3699 - ProFTPD crash on start up on Mac
14752	OSX Lion with NLS enabled.
14753
147542012-01-25  castaglia <castaglia>
14755
14756	* configure: Updated configure.
14757
147582012-01-25  castaglia <castaglia>
14759
14760	* NEWS, config.h.in, configure.in: Bug#3718 - ftptop fails to build
14761	on OpenSUSE.
14762
147632012-01-25  castaglia <castaglia>
14764
14765	* RELEASE_NOTES: Update release notes, mentioning mod_sftp and the
14766	ServerIdent directive.
14767
147682012-01-25  castaglia <castaglia>
14769
14770	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding tests for
14771	the ServerIdent directive and mod_sftp, for Bug#3739.
14772
147732012-01-25  castaglia <castaglia>
14774
14775	* NEWS, contrib/mod_sftp/mod_sftp.c,
14776	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/packet.c,
14777	contrib/mod_sftp/packet.h: Bug#3739 - Allow for configurable SSH
14778	version identifiers in mod_sftp.
14779
147802012-01-23  castaglia <castaglia>
14781
14782	* doc/contrib/mod_sql.html: Document that SQL*WhereClauses are
14783	effectively overridden by custom queries; the SQL*WhereClause will
14784	NOT be appended to a custom query.
14785
147862012-01-23  castaglia <castaglia>
14787
14788	* contrib/mod_tls.c: Bug#3738 - Fix the handling of SSL_shutdown()
14789	return value so that shutdown errors are properly logged in TLSLog.
14790
147912012-01-20  castaglia <castaglia>
14792
14793	* contrib/dist/rpm/proftpd.spec: Bug#3735 - RPM spec: proftpd-devel
14794	package should require gcc and libtool.
14795
147962012-01-20  castaglia <castaglia>
14797
14798	* modules/mod_dso.c: Added logging (at debug level 7) of more
14799	information of the module that mod_dso successfully loaded.  In
14800	particular, we log the full path to the file that was loaded, and
14801	its last-modified time.  This should help in situations where
14802	old/stale shared modules are being inadvertently loaded.
14803
148042012-01-17  castaglia <castaglia>
14805
14806	* NEWS, modules/mod_facts.c: Bug#3734 - DirFakeUser/DirFakeGroup off
14807	with name causes SIGSEGV for MLSD/MLST commands.
14808
148092012-01-17  castaglia <castaglia>
14810
14811	* tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Adding regression
14812	tests for Bug#3734.
14813
148142012-01-13  castaglia <castaglia>
14815
14816	* modules/mod_xfer.c, src/inet.c: Add the calls to
14817	pr_inet_set_proto_cork() unconditionally; the conditional use of
14818	TCP_CORK vs TCP_NOPUSH (depending on the platform) is contained
14819	within the pr_inet_set_proto_cork() function.
14820
148212012-01-09  castaglia <castaglia>
14822
14823	* doc/contrib/mod_ban.html: Add mod_ban FAQ about BanOnEvent and
14824	MaxLoginAttempts.
14825
148262012-01-06  castaglia <castaglia>
14827
14828	* lib/pr_fnmatch_loop.c: Fix an issue with compiling with older GCC
14829	versions, which don't like a declaration like "char str[]", and
14830	instead want "char str[0]".
14831
148322012-01-04  castaglia <castaglia>
14833
14834	* Make.rules.in: Move the $INSTALL_STRIP variable out to its own
14835	variable, so that at some point in the future, it can be overridden
14836	via environment variable.
14837
148382012-01-03  castaglia <castaglia>
14839
14840	* src/table.c: Make the default table hash function use the random
14841	hash "seed" via XOR, rather than the simplistic addition (which
14842	wouldn't have added any value at all with regard to mitigating
14843	attempts to drive the table into hashing all values to the same
14844	chain/bucket index).
14845
148462012-01-03  castaglia <castaglia>
14847
14848	* src/auth.c, src/memcache.c: Update the key hash callbacks used
14849	elsewhere in proftpd to take the additional random hash "seed" value
14850	into account.
14851
148522012-01-02  castaglia <castaglia>
14853
14854	* src/table.c: Adding some comments/notes about hashing to
14855	src/table.c, for my future reference.
14856
148572012-01-02  castaglia <castaglia>
14858
14859	* include/table.h, src/table.c, tests/api/table.c: Add a
14860	pr_table_load() function for calculating the load factor of a given
14861	table.  To decrease collision avoidance for default tables, increase the
14862	default number of chains in a table from 32 to 256.  Future testing
14863	using pr_table_load() will be used to better determine a good
14864	default, and perhaps to work towards dynamically adjusting tables
14865	(although such adjustments themselves can be abused by an attacker
14866	to burn CPU cycles).
14867
148682012-01-02  castaglia <castaglia>
14869
14870	* include/table.h, src/table.c, tests/api/table.c: Fix some issues
14871	with ProFTPD'd pr_table_t handling.  First, the default hashing function was fixed so that it actually
14872	used the different values in the given key.  Previously, it only
14873	ever used the first value.  Second, randomize the hash output by generating a random "seed"
14874	value on table creation time.  Any custom key hash callbacks need to
14875	be updated to accept this seed value as one of the hashing inputs.
14876	This will help to mitigate any attacks which seek to force the table
14877	API into the worst-case performance scenario, where all keys are
14878	effectively hashed to the same chain, and thus linear scans are
14879	done, burning CPU time.  Last, add a limit to the maximum number of items that a table can
14880	hold.  This, too, helps to mitigate any attacks/abuses that can be
14881	done on tables.  This maximum limit is 8K by default, and can be
14882	modified by a call to pr_table_ctl.
14883
148842011-12-29  castaglia <castaglia>
14885
14886	* contrib/mod_sftp/auth.c: As per RFC 4252, if the USERAUTH_REQUEST
14887	contains service names which are unknown/unsupported, then return an
14888	error to the client and disconnect it.
14889
148902011-12-29  castaglia <castaglia>
14891
14892	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
14893	case for a second USERAUTH_REQUEST.
14894
148952011-12-29  castaglia <castaglia>
14896
14897	* contrib/mod_sftp/packet.c: Properly ignore an USERAUTH_REQUEST
14898	from a client which has already authenticated.
14899
149002011-12-28  castaglia <castaglia>
14901
14902	* contrib/mod_sftp/auth.c: Add better errno handling during SSH
14903	authentication, so that the logged messages are more accurate.
14904
149052011-12-22  castaglia <castaglia>
14906
14907	* tests/t/config/umask.t,
14908	tests/t/lib/ProFTPD/Tests/Config/Umask.pm, tests/tests.pl: Start
14909	working on regression tests for the Umask directive.
14910
149112011-12-21  castaglia <castaglia>
14912
14913	* modules/mod_dso.c: Minor updates to mod_dso's logging, and better
14914	handling (i.e. caching) of the errno value, for better/more accurate
14915	logging.
14916
149172011-12-21  castaglia <castaglia>
14918
14919	* include/dirtree.h, include/fsio.h, include/inet.h,
14920	include/modules.h, include/netio.h, include/pool.h,
14921	include/proftpd.h, include/sets.h, include/table.h, src/pool.c: More
14922	changes to the headers in order to support C++ modules.  Mostly it
14923	involves not using a typedef'd symbol in the definition of other
14924	structs; the C++ compiler is more stringent about that than the C
14925	compiler.
14926
149272011-12-21  castaglia <castaglia>
14928
14929	* NEWS, src/wtmp.c: Bug#3728 - Build failure in wtmp.c on
14930	Gentoo/FreeBSD on sparc.
14931
149322011-12-21  castaglia <castaglia>
14933
14934	* NEWS: Mention that Bug#3729 was fixed.
14935
149362011-12-20  castaglia <castaglia>
14937
14938	* src/filter.c: Include the filter pattern string in the Filter
14939	trace messages.
14940
149412011-12-20  castaglia <castaglia>
14942
14943	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Add
14944	regression/reproduction recipe for using PathDenyFilter to block
14945	uploads of any dot files.
14946
149472011-12-20  castaglia <castaglia>
14948
14949	* doc/howto/Filters.html: Add PathDenyFilter example for how to
14950	block uploads of any/all dot files.
14951
149522011-12-19  castaglia <castaglia>
14953
14954	* configure: Updated configure.
14955
149562011-12-19  castaglia <castaglia>
14957
14958	* configure.in: In order to support C++ modules (Bug#3079), we need
14959	to add configure-time checks for a C++ compiler.
14960
149612011-12-18  jwm <jwm>
14962
14963	* README.LDAP, contrib/mod_ldap.c: git 9d4234fbd69: prevent segfault
14964	when no user filters are specified
14965
149662011-12-14  castaglia <castaglia>
14967
14968	* doc/modules/mod_lang.html: Add a mod_lang FAQ about the list of
14969	translations currently provided for proftpd.
14970
149712011-12-14  castaglia <castaglia>
14972
14973	* modules/mod_lang.c: If mod_lang complains about the configured
14974	LangDefault, try to make the emitted log message a little clearer
14975	about the reason.
14976
149772011-12-14  castaglia <castaglia>
14978
14979	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Added
14980	regression test for Bug#3727.
14981
149822011-12-14  castaglia <castaglia>
14983
14984	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_wrap2/mod_wrap2.c:
14985	Bug#3727 - mod_wrap2 causes unexpected LogFormat %u expansion for
14986	SFTP connections.
14987
149882011-12-14  castaglia <castaglia>
14989
14990	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Updating
14991	mod_wrap2_file regression tests to use testcase-specific logging.
14992
149932011-12-14  castaglia <castaglia>
14994
14995	* contrib/mod_copy.c: Updating mod_copy to use the renamed
14996	cmd_rec.cmd_class struct member.
14997
149982011-12-13  castaglia <castaglia>
14999
15000	* src/ctrls.c: If we can't bind the test Unix domain socket, then
15001	log it at DEBUG3, rather than at just DEBUG.  This should make
15002	proftpd start up logging a little less needlessly verbose.
15003
150042011-12-13  castaglia <castaglia>
15005
15006	* src/fsio.c: When setting the CLOEXEC flag on fds that are possibly
15007	returned by FSIO handlers, be sure to ignore any "Invalid
15008	descriptor" errors, since many FSIO handlers return fake fds.
15009
150102011-12-13  castaglia <castaglia>
15011
15012	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Update mod_exec
15013	tests to use testcase-specific logging.  Added Linux-specific unit
15014	test for logging the open fds in the exec'd process, for auditing.
15015
150162011-12-13  castaglia <castaglia>
15017
15018	* NEWS, contrib/mod_exec.c: Bug#3726 - mod_exec does not always
15019	capture stdout/stderr output from executed command.
15020
150212011-12-13  castaglia <castaglia>
15022
15023	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Fix broken LIST
15024	regression test which only runs with rootprivs.
15025
150262011-12-12  castaglia <castaglia>
15027
15028	* contrib/mod_exec.c: Stupid typo.
15029
150302011-12-12  castaglia <castaglia>
15031
15032	* contrib/mod_exec.c: The buflen variable MUST be a signed datatype
15033	(e.g. int), rather than unsigned (e.g. size_t), in order to capture
15034	any error values from read(2).
15035
150362011-12-12  castaglia <castaglia>
15037
15038	* contrib/mod_ban.c: Update mod_ban to use session.conn_class struct
15039	member.
15040
150412011-12-12  castaglia <castaglia>
15042
15043	* contrib/mod_exec.c: Updated mod_exec to use session.conn_class
15044	struct member.
15045
150462011-12-12  castaglia <castaglia>
15047
15048	* modules/mod_ctrls.c, src/ctrls.c, src/fsio.c, src/inet.c,
15049	src/log.c, src/main.c: As part of preparing proftpd for a different
15050	SIGHUP/restart implementation (Bug#3553), start setting the
15051	close-on-exec flag on file descriptors opened by the parent/daemon
15052	process.  This is a good habit to get into, anyway.
15053
150542011-12-12  castaglia <castaglia>
15055
15056	* configure: Updated configure.
15057
150582011-12-11  castaglia <castaglia>
15059
15060	* configure.in: Typo.
15061
150622011-12-11  castaglia <castaglia>
15063
15064	* configure: Updated configure.
15065
150662011-12-11  castaglia <castaglia>
15067
15068	* NEWS, configure.in: Bug#3682 - Configure does not detect libiconv
15069	under Gentoo FreeBSD.
15070
150712011-12-11  castaglia <castaglia>
15072
15073	* include/pool.h, include/proftpd.h, src/pool.c: Rename 'struct
15074	pool' to 'struct pool_struc', to a) be more consistent with the rest
15075	of the struct naming conventions used, and b) to avoid causing
15076	problems for C++ compilers.  This is for Bug#3079.
15077
150782011-12-11  castaglia <castaglia>
15079
15080	* RELEASE_NOTES, include/modules.h, src/main.c: Rename the
15081	cmdtable.class struct member to cmdtable.cmd_class, in order to
15082	support C++ modules (Bug#3079).
15083
150842011-12-11  castaglia <castaglia>
15085
15086	* RELEASE_NOTES, contrib/mod_sftp/auth.c,
15087	contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c,
15088	contrib/mod_sftp/kex.c, contrib/mod_sftp/service.c,
15089	contrib/mod_site_misc.c, include/dirtree.h, modules/mod_log.c,
15090	src/main.c: Rename the cmd_rec.class struct member to
15091	cmd_rec.cmd_class, in order to support C++ modules (Bug#3079).
15092
150932011-12-11  castaglia <castaglia>
15094
15095	* RELEASE_NOTES, contrib/mod_ifsession.c, contrib/mod_quotatab.c,
15096	contrib/mod_rewrite.c, contrib/mod_sftp/display.c,
15097	contrib/mod_sql.c, include/proftpd.h, modules/mod_auth.c,
15098	modules/mod_log.c, src/dirtree.c, src/display.c, src/expr.c,
15099	src/main.c, tests/api/expr.c: Rename the session.class struct member
15100	to session.conn_class, as part of supporting C++ modules (Bug#3079).
15101
151022011-12-10  castaglia <castaglia>
15103
15104	* doc/contrib/mod_tls.html: Mention the TLSv1.1 and TLSv1.2 values
15105	for the TLSProtocol directive in the mod_tls docs.
15106
151072011-12-10  castaglia <castaglia>
15108
15109	* configure: Updated configure.
15110
151112011-12-10  castaglia <castaglia>
15112
15113	* config.h.in, configure.in: As part of working toward supporting
15114	ECC in mod_tls, and in mod_sftp (Bug#3573), we need to detect
15115	whether the version of OpenSSL used supports ECC.
15116
151172011-12-10  castaglia <castaglia>
15118
15119	* RELEASE_NOTES, contrib/mod_tls.c: Support TLSv1.1 and TLSv1.2
15120	protocol versions in the TLSProtocol directive, assuming the version
15121	of OpenSSL used is new enough (1.0.1 and later).
15122
151232011-12-10  castaglia <castaglia>
15124
15125	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Add regression
15126	tests for HideGroup and the NLST and MLSD commands.
15127
151282011-12-10  castaglia <castaglia>
15129
15130	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Updating the
15131	HideGroup config regression tests to use testcase-specific logging.
15132
151332011-12-10  castaglia <castaglia>
15134
15135	* doc/modules/mod_core.html: Adding descriptions for HideGroup,
15136	HideNoAccess, and HideUser directives to the mod_core documentation.
15137
151382011-12-10  castaglia <castaglia>
15139
15140	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Adding
15141	regression test for a <Directory> configuration posted in the
15142	forums.
15143
151442011-12-10  castaglia <castaglia>
15145
15146	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Updating
15147	<Directory>/<Limit> regression test cases to use testcase-specific
15148	logging.
15149
151502011-12-10  castaglia <castaglia>
15151
15152	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Added TestSuite function
15153	for obtaining an arrayref of the shared module names (if any) built
15154	for the given proftpd executable.
15155
151562011-12-10  castaglia <castaglia>
15157
15158	* contrib/mod_sftp/fxp.c: Make mod_sftp handle READDIR requests in a
15159	more optimal/intelligent way.  Specifically, rather than using a
15160	hardcoded limit of 30 entries in each response, mod_sftp now looks
15161	at the max packet size and the amount of data used for the current
15162	number of entries, trying to stuff as many entries in a single
15163	response as possible.
15164
151652011-12-10  castaglia <castaglia>
15166
15167	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
15168	test for SFTP READDIR requests for a "wide" directory (e.g. a
15169	directory with many files at the same level).  This test is used for
15170	trying to optimize the number of entries that mod_sftp returns in
15171	response to a READDIR request (i.e. to do better than 30 entries per
15172	response).
15173
151742011-12-10  castaglia <castaglia>
15175
15176	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h: Add a
15177	sftp_channel_get_maxpacketsz(), so that code (e.g. the SFTP code)
15178	can get the maximum packet size.  This can be used e.g. to figure
15179	out the maximum number of entries to write into a READDIR response,
15180	rather than having the naive hardcoded limit of 30 entries per
15181	READDIR response.
15182
151832011-12-10  castaglia <castaglia>
15184
15185	* contrib/mod_sftp/msg.c, contrib/mod_sftp/msg.h: The various
15186	sftp_msg_write_* functions now return the number of bytes written
15187	into the given buffer.  These return values make it easier for
15188	calling code to keep a total of how many bytes have been written
15189	into the buffer, which in turn enables other optimizations/more
15190	intelligent guessing.
15191
151922011-12-09  castaglia <castaglia>
15193
15194	* RELEASE_NOTES: Fill in a little more of the release notes, for
15195	later fleshing out.
15196
151972011-12-09  castaglia <castaglia>
15198
15199	* doc/contrib/mod_ifsession.html: Add documentation for the new
15200	<IfAuthenticated> mod_ifsession config section.
15201
152022011-12-09  castaglia <castaglia>
15203
15204	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Updating test
15205	cases to use testcase-specific logging.  Adding regression test for
15206	Bug#3629.
15207
152082011-12-09  castaglia <castaglia>
15209
15210	* NEWS, contrib/mod_ifsession.c: Bug#3629 - Support
15211	<IfAuthenticated> conditional config section.
15212
152132011-12-09  castaglia <castaglia>
15214
15215	* doc/contrib/mod_sftp.html: Document the new SHA2 SSH2 digests
15216	supported by the SFTPDigests directive.
15217
152182011-12-08  castaglia <castaglia>
15219
15220	* contrib/mod_sftp/configure: Updating mod_sftp configure.
15221
152222011-12-08  castaglia <castaglia>
15223
15224	* NEWS, contrib/mod_sftp/crypto.c: Bug#3686 - Support SHA2 digests
15225	in mod_sftp.
15226
152272011-12-08  castaglia <castaglia>
15228
15229	* contrib/mod_sftp/configure.in: When the mod_sftp configure script
15230	is checking for SHA256/512 support in OpenSSL, it needs to check
15231	whether linking with OpenSSL requires -ldl (for dynmic linking)
15232	and/or -lz (for compression).  Otherwise, the autoconf test programs
15233	will fail because of these linker errors (depending on how OpenSSL
15234	was built), and the script won't properly detect whether SHA256/512
15235	support actually exists.
15236
152372011-12-07  castaglia <castaglia>
15238
15239	* src/inet.c: Remove extraneous space and period.
15240
152412011-12-07  castaglia <castaglia>
15242
15243	* src/inet.c: Make the log message about other processes using the
15244	address/port a little better (i.e. mention the possibility of
15245	inetd/xinetd using that address/port as well).
15246
152472011-12-06  castaglia <castaglia>
15248
15249	* contrib/mod_sftp/auth.c: Make sure that the password data is
15250	properly hidden with a static string for SFTP connections.
15251
152522011-12-06  castaglia <castaglia>
15253
15254	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add some
15255	ExtendedLog tests ensuring that the %r LogFormat variable, for PASS
15256	commands, is properly sanitized -- even for SFTP connections.
15257
152582011-12-06  castaglia <castaglia>
15259
15260	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Updating
15261	ExtendedLog tests to use testcase-specific logging.
15262
152632011-12-06  castaglia <castaglia>
15264
15265	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
15266	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
15267	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Make sure that the
15268	regression tests which purport to use active transfers do actually,
15269	in fact, use the PORT command for active transfers.
15270
152712011-12-06  castaglia <castaglia>
15272
15273	* tests/t/config/rootrevoke.t,
15274	tests/t/lib/ProFTPD/Tests/Config/RootRevoke.pm, tests/tests.pl:
15275	Start adding unit/regression tests for the RootRevoke directive.
15276
152772011-12-06  castaglia <castaglia>
15278
15279	* modules/mod_core.c: Comment typo.
15280
152812011-12-06  castaglia <castaglia>
15282
15283	* src/inet.c: Adding more verbiage to the error message logged when
15284	proftpd fails to start, due to being unable to bind to the listening
15285	address/port.
15286
152872011-12-06  castaglia <castaglia>
15288
15289	* contrib/mod_tls.c, modules/mod_core.c: As per RFC2389, the FEAT
15290	response MUST include any FTP commands and extensions after RFC959.
15291	We were missing EPRT and EPSV, and CCC for FTPS connections, in our
15292	FEAT response.
15293
152942011-12-06  castaglia <castaglia>
15295
15296	* src/bindings.c: Make sure that the errno value is preserved
15297	properly, in order to get all of the proper logging done.
15298
152992011-12-06  castaglia <castaglia>
15300
15301	* doc/modules/mod_core.html: Adding docs for the AllowFilter and
15302	DenyFilter directives to the mod_core docs.
15303
153042011-12-05  castaglia <castaglia>
15305
15306	* NEWS, contrib/mod_quotatab.c: Bug#3724 - Unloading mod_quotatab
15307	causes segfault.
15308
153092011-12-05  castaglia <castaglia>
15310
15311	* modules/mod_delay.c: Quell a few compiler warnings about unsigned
15312	long vs size_t (see on FreeBSD).
15313
153142011-12-04  castaglia <castaglia>
15315
15316	* tests/api/str.c: Added API/unit test for the newly-added
15317	pr_str_replace() function (from Bug#3721).
15318
153192011-12-03  castaglia <castaglia>
15320
15321	* tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm: Added regression
15322	test for the case-insensitive flag for the DenyFilter directive.
15323
153242011-12-03  castaglia <castaglia>
15325
15326	* RELEASE_NOTES, modules/mod_core.c: Support the case-insensitive
15327	filter flags for the AllowFilter and DenyFilter directives, too
15328	(similar to Bug#3592).
15329
153302011-12-03  castaglia <castaglia>
15331
15332	* tests/t/config/denyfilter.t,
15333	tests/t/lib/ProFTPD/Tests/Config/DenyFilter.pm, tests/tests.pl:
15334	Start adding tests for the DenyFilter directive.
15335
153362011-12-03  castaglia <castaglia>
15337
15338	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Updating the
15339	PathDenyFilter tests to use the testcase-specific logging.
15340
153412011-12-03  castaglia <castaglia>
15342
15343	* RELEASE_NOTES, doc/contrib/mod_rewrite.html: Adding documentation
15344	for the new RewriteMaxReplace directive, added for Bug#3721.
15345
153462011-12-03  castaglia <castaglia>
15347
15348	* doc/modules/mod_auth.html: Adding module-specific doc description
15349	for the RootRevoke directive to the mod_auth docs.
15350
153512011-12-03  castaglia <castaglia>
15352
15353	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
15354	regression tests for Bug#3721.
15355
153562011-12-03  castaglia <castaglia>
15357
15358	* contrib/mod_rewrite.c: With the fix for Bug#3721, the mod_rewrite
15359	module now relies on the 1.3.5 codebase (i.e. the new
15360	pr_str_replace() function).
15361
153622011-12-03  castaglia <castaglia>
15363
15364	* NEWS, contrib/mod_rewrite.c, include/str.h, src/str.c: Bug#3721 -
15365	mod_rewrite does not replace characters if there are more than 8
15366	occurrences.
15367
153682011-12-01  castaglia <castaglia>
15369
15370	* RELEASE_NOTES: Minor update to the release notes, getting them
15371	ready for the 1.3.5 release cycle.
15372
153732011-12-01  castaglia <castaglia>
15374
15375	* modules/mod_core.c: Remove the deprecated DisplayGoAway directive
15376	(Bug#3443).
15377
153782011-12-01  castaglia <castaglia>
15379
15380	* NEWS, modules/mod_memcache.c: Bug#3723 - mod_memcache segfault on
15381	server restart.
15382
153832011-11-30  castaglia <castaglia>
15384
15385	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
15386	mod_rewrite regression test showing how to deal with both spaces and
15387	tabs in a filename.
15388
153892011-11-30  castaglia <castaglia>
15390
15391	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Updating the
15392	mod_rewrite testcase coding style to use the new testcase-specific
15393	logging.
15394
153952011-11-23  castaglia <castaglia>
15396
15397	* NEWS, contrib/mod_deflate.c, contrib/mod_exec.c,
15398	contrib/mod_quotatab.c, contrib/mod_radius.c,
15399	contrib/mod_sftp/mod_sftp.c, contrib/mod_sql.c, contrib/mod_tls.c,
15400	contrib/mod_wrap2/mod_wrap2.c, modules/mod_ctrls.c,
15401	modules/mod_memcache.c: Bug#3720 - Various module logfile
15402	permissions are 0600 instead of 0640.
15403
154042011-11-21  castaglia <castaglia>
15405
15406	* doc/howto/Globbing.html: Update the Globbing howto to more
15407	accurately describe how the PR_TUNABLE_GLOBBING_MAX_MATCHES limit
15408	operates (i.e. that it restricts the number of files _checked_ by
15409	glob(3), not the number of _matches_ returned by glob(3)).
15410
154112011-11-21  castaglia <castaglia>
15412
15413	* NEWS, modules/mod_ls.c: Bug#3719 - LIST -R can loop endlessly if
15414	bad directory symlink exists.
15415
154162011-11-21  castaglia <castaglia>
15417
15418	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding regression test
15419	for Bug#3719.
15420
154212011-11-19  castaglia <castaglia>
15422
15423	* contrib/mod_sftp/blacklist.c, contrib/mod_sftp/fxp.c,
15424	contrib/mod_sftp/keys.c, contrib/mod_sftp/scp.c: Fixing up a few
15425	more places where -Wshorten-64-to-32 warned about implicit
15426	conversions.
15427
154282011-11-19  castaglia <castaglia>
15429
15430	* contrib/mod_tls.c: Use an explicit typecase to avoid a compiler
15431	warninga about implicit shortening of a 64-bit datatype to a 32-bit
15432	datatype.
15433
154342011-11-19  castaglia <castaglia>
15435
15436	* modules/mod_delay.c: Fixing up mod_delay warnings about implicit
15437	shortening of 64-bit values to 32-bit values, found by gcc's
15438	-Wshorten-64-to-32 flag.
15439
154402011-11-19  castaglia <castaglia>
15441
15442	* src/proctitle.c: Fix compiler warning about mixing code and
15443	declarations (hard to tell, based on the nasty ifdefs in the
15444	proctitle code).
15445
154462011-11-19  castaglia <castaglia>
15447
15448	* include/support.h, modules/mod_ls.c, src/support.c: Quell a
15449	warning about implicit 64-to-32 bit conversion, turned up by gcc's
15450	-Wshorten-64-to-32 flag, by switching to size_t from int, when
15451	getting the max length of a filename.
15452
154532011-11-19  castaglia <castaglia>
15454
15455	* lib/tpl.c: Fixing some warnings that gcc's -Wshorten-64-to-32 flag
15456	picked up.
15457
154582011-11-18  jwm <jwm>
15459
15460	* README.LDAP: latest mod_ldap README
15461
154622011-11-18  jwm <jwm>
15463
15464	* contrib/mod_ldap.c: this should have been labeled 2.9.1
15465
154662011-11-18  castaglia <castaglia>
15467
15468	* src/str.c: A variable is needed, regardless of whether strlcat(3)
15469	is present or not.
15470
154712011-11-18  castaglia <castaglia>
15472
15473	* configure: Updated configure.
15474
154752011-11-18  castaglia <castaglia>
15476
15477	* config.h.in, configure.in, lib/sstrncpy.c, src/str.c: Use the
15478	strlcat(3) and strlcpy(3) functions, if available.  I'm hoping that
15479	these will have been optimized for the host platform, and perform
15480	better than our homegrown versions.
15481
154822011-11-17  castaglia <castaglia>
15483
15484	* NEWS, contrib/mod_sftp/keys.c, contrib/mod_tls.c,
15485	lib/pr-syslog.c, lib/pwgrent.c, modules/mod_auth_file.c,
15486	modules/mod_ctrls.c, src/ctrls.c, utils/ftptop.c: Bug#3717 - proftpd
15487	fails to run with "Abort trap" error message.  Replace all occurrences of strncpy(3) with our own sstrncpy(), to
15488	avoid any gcc traps/issues about using that function.
15489
154902011-11-17  castaglia <castaglia>
15491
15492	* tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Might as well update
15493	these HOST tests to use testcase-specific logging while I'm changing
15494	things.
15495
154962011-11-17  castaglia <castaglia>
15497
15498	* tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
15499	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
15500	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
15501	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
15502	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Updating the rest of the
15503	FTP command tests to use testcase-specific logging.
15504
155052011-11-17  castaglia <castaglia>
15506
15507	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
15508	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
15509	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
15510	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
15511	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
15512	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
15513	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm: Updating more tests to
15514	use testcase-specific logging.
15515
155162011-11-17  castaglia <castaglia>
15517
15518	* tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
15519	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
15520	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
15521	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
15522	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
15523	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm: Updating more tests to
15524	use the testcase-specific logging.
15525
155262011-11-17  castaglia <castaglia>
15527
15528	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
15529	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
15530	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
15531	tests/t/lib/ProFTPD/Tests/Commands/USER.pm: Updating tests to use
15532	the testcase-specific logging.
15533
155342011-11-17  castaglia <castaglia>
15535
15536	* tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm: Updating EPSV tests to
15537	use testcase-specific logging.
15538
155392011-11-17  castaglia <castaglia>
15540
15541	* tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Update PASV tests to
15542	use the testcase-specific logging.
15543
155442011-11-17  castaglia <castaglia>
15545
15546	* tests/t/lib/ProFTPD/Tests/Logins.pm: Update the login tests to use
15547	the testcase-specific logging.
15548
155492011-11-17  castaglia <castaglia>
15550
15551	* tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Update the SITE
15552	CHMOD test to log its fatal exception in the testcase log.
15553
155542011-11-17  castaglia <castaglia>
15555
15556	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
15557	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
15558	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
15559	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
15560	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
15561	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
15562	tests/t/lib/ProFTPD/Tests/Commands/STAT.pm,
15563	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
15564	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Updating the tests to
15565	log the exception in the testcase log.
15566
155672011-11-17  castaglia <castaglia>
15568
15569	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Finally managed to
15570	reproduce, and fix, the one PORT testcase which kept failing in my
15571	continuous integration server.
15572
155732011-11-17  castaglia <castaglia>
15574
15575	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Update the PORT tests
15576	to pass along the fatal exception for logging.
15577
155782011-11-17  castaglia <castaglia>
15579
15580	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: The test_append_logfile()
15581	function now takes an optional parameter for the exception which
15582	caused the testcase to fail; this exception is then added to the
15583	main log file.
15584
155852011-11-17  castaglia <castaglia>
15586
15587	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Updated STOR tests to
15588	use testcase-specific logging.
15589
155902011-11-17  castaglia <castaglia>
15591
15592	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Updated RETR tests to
15593	use testcase-specific logging.
15594
155952011-11-17  castaglia <castaglia>
15596
15597	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Updated STOU tests to
15598	use testcase-specific logging.
15599
156002011-11-17  castaglia <castaglia>
15601
15602	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Update LIST tests to
15603	use testcase-specific logging.
15604
156052011-11-17  castaglia <castaglia>
15606
15607	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Update APPE tests to
15608	use testcase-specific logging.
15609
156102011-11-17  castaglia <castaglia>
15611
15612	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update NLST tests to
15613	use testcase-specific logging.
15614
156152011-11-17  castaglia <castaglia>
15616
15617	* tests/t/lib/ProFTPD/Tests/Commands/STAT.pm: Update STAT tests to
15618	use testcase-specific logging.
15619
156202011-11-17  castaglia <castaglia>
15621
15622	* tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm: Updating EPRT tests to
15623	use testcase-specific logging.
15624
156252011-11-17  castaglia <castaglia>
15626
15627	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Updated ABOR tests to
15628	use testcase-specific logging.
15629
156302011-11-17  castaglia <castaglia>
15631
15632	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: When appending the
15633	testcase log file to the main 'tests.log' file, use the full path to
15634	the main log file, for better diagnostics when there are problems
15635	writing to that file.
15636
156372011-11-17  castaglia <castaglia>
15638
15639	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Updating MLSD tests to
15640	use testcase-specific logging.
15641
156422011-11-17  castaglia <castaglia>
15643
15644	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Updating MLST tests to
15645	use testcase-specific logging.
15646
156472011-11-17  castaglia <castaglia>
15648
15649	* tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Updated MFMT tests to
15650	use the new testcase-specific logging.
15651
156522011-11-17  castaglia <castaglia>
15653
15654	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm: Updating the MFF tests
15655	to use the testcase-specific logging.
15656
156572011-11-17  castaglia <castaglia>
15658
15659	* tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm: Updating SITE
15660	CHMOD test to use the new testcase-specific logging.
15661
156622011-11-17  castaglia <castaglia>
15663
15664	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: After appending the
15665	testcase-specific log to the main 'tests.log', be sure to unlink the
15666	testcase-specific log file.
15667
156682011-11-17  castaglia <castaglia>
15669
15670	* tests/Makefile.in: Forgot to update the tests/Makefile to use the
15671	renamed tests.pl command-line option.
15672
156732011-11-17  castaglia <castaglia>
15674
15675	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Updating the PORT
15676	testcases to using the new per-testcase logging functions, in an
15677	effort to track down why one of these testcases keeps failing in my
15678	continuous integration build.
15679
156802011-11-17  castaglia <castaglia>
15681
15682	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Adding some functions to
15683	generate per-testcase log file names, and to append the contents of
15684	those logs, when the testcase files, to the main 'tests.log' file.
15685	This should help preserve the log files for failed testcases, even
15686	when the following testcases succeed; currently those subsequent
15687	testcases will delete the 'tests.log'.
15688
156892011-11-16  castaglia <castaglia>
15690
15691	* NEWS, modules/mod_facts.c: Bug#3715 - MLSD/MLST fail when
15692	"DirFakeUser off" or "DirFakeGroup off" used.
15693
156942011-11-16  castaglia <castaglia>
15695
15696	* contrib/mod_load/.cvsignore: More auto-generated files to be
15697	ignored by CVS.
15698
156992011-11-16  castaglia <castaglia>
15700
15701	* tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
15702	tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Adding regression
15703	tests for Bug#3715.
15704
157052011-11-16  castaglia <castaglia>
15706
15707	* modules/mod_ls.c: Clean up the coding style in a couple of places.
15708	Also replace strcmp(3) with strncmp(3) in a couple of places where a
15709	string constant was being used for comparison.
15710
157112011-11-16  castaglia <castaglia>
15712
15713	* tests/tests.pl: Change tests.pl to use --file-pattern instead of
15714	just --pattern, in order to make room for a --test-pattern.  This
15715	--test-pattern (which doesn't exist yet) will be used to provide a
15716	similar regex matching pattern for testcase names (as opposed to
15717	file names).
15718
157192011-11-16  castaglia <castaglia>
15720
15721	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Updating MLST test
15722	cases to hopefully pass better on my Mac OSX machine.
15723
157242011-11-16  castaglia <castaglia>
15725
15726	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Adding a regression
15727	test for Bug#3714.
15728
157292011-11-16  castaglia <castaglia>
15730
15731	* utils/ftpwho.c: Quell cppcheck warning about a memory leak.
15732
157332011-11-16  castaglia <castaglia>
15734
15735	* Makefile.in, tests/Makefile.in: Provide a wider range of 'check'
15736	targets, so that various parts of the testsuite can be run from the
15737	top-level Makefile.  This is useful for the continuous integration
15738	server config I am working on.
15739
157402011-11-16  castaglia <castaglia>
15741
15742	* tests/tests.pl: Adding support for a --pattern comand-line option
15743	to the testsuite script, for specifing a filename pattern.  All
15744	testcase files whose names match the given pattern will be run.
15745	This allows us to run only certain files as needed (e.g. commands,
15746	config, modules, etc).
15747
157482011-11-16  castaglia <castaglia>
15749
15750	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Minor updates to the
15751	NLST unit tests.
15752
157532011-11-16  castaglia <castaglia>
15754
15755	* modules/mod_ls.c: Fix the handling of filenames with non-printable
15756	characters, when the -B list option is provided/used by the client.
15757
157582011-11-16  castaglia <castaglia>
15759
15760	* NEWS, src/cmd.c, src/main.c: Bug#3714 - ftpwho/ftptop are not
15761	showing command arguments (e.g. downloaded file name).
15762
157632011-11-16  castaglia <castaglia>
15764
15765	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Making some of the
15766	PORT tests a little more resilient.
15767
157682011-11-16  castaglia <castaglia>
15769
15770	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Update DELE unit tests
15771	to run better on MacOSX.
15772
157732011-11-16  castaglia <castaglia>
15774
15775	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Updating RMD tests to
15776	hopefully pass better on my MacOSX machine.
15777
157782011-11-16  castaglia <castaglia>
15779
15780	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Updating MKD tests to
15781	hopefully pass better on my MacOSX machine.
15782
157832011-11-16  castaglia <castaglia>
15784
15785	* tests/t/lib/ProFTPD/Tests/Commands/PWD.pm: Fixing the PWD tests so
15786	that they work properly on MacOSX.
15787
157882011-11-15  castaglia <castaglia>
15789
15790	* NEWS, src/log.c: Bug#3646 - Debug logging to stderr should include
15791	timestamps and PID.
15792
157932011-11-15  castaglia <castaglia>
15794
15795	* doc/contrib/mod_quotatab.html: Adding in missing "Context"
15796	descriptions for some of the mod_quotatab directives.
15797
157982011-11-15  castaglia <castaglia>
15799
15800	* contrib/.cvsignore: Ignore the generated Makefile.
15801
158022011-11-15  castaglia <castaglia>
15803
15804	* doc/modules/mod_core.html: Missing <br> tag.
15805
158062011-11-15  castaglia <castaglia>
15807
15808	* doc/modules/mod_core.html: Missing closing </code> tags.
15809
158102011-11-14  castaglia <castaglia>
15811
15812	* src/inet.c: Use the IPV6_TCLASS value for IPv6 connections for
15813	setting the Type-Of-Service (TOS) bits, where available.
15814
158152011-11-14  castaglia <castaglia>
15816
15817	* tests/api/response.c: Fix the Bug#3711 test case to work properly
15818	on Mac OSX 10.5; the test fails due to SIGBUS rather than SIGSEGV in
15819	this case.
15820
158212011-11-11  castaglia <castaglia>
15822
15823	* NEWS, contrib/mod_tls.c: Bug#3713 - mod_tls cannot be compiled
15824	using Openssl 0.9.6.
15825
158262011-11-11  castaglia <castaglia>
15827
15828	* contrib/dist/rpm/proftpd.spec: Updated .spec file.  Have I
15829	mentioned how much I dislike rpmbuild and .spec file
15830	"idiosyncrasies"?
15831
158322011-11-10  castaglia <castaglia>
15833
15834	* NEWS: Bug#3712 - mod_wrap2/mod_load build errors: missing
15835	config.h.  (Patches committed earlier today.)
15836
158372011-11-10  castaglia <castaglia>
15838
15839	* include/version.h: Updated trunk version in CVS.
15840
158412011-11-10  castaglia <castaglia>
15842
15843	* contrib/mod_load/Makefile.in, contrib/mod_wrap2/Makefile.in:
15844	Fixing the Makefiles for mod_load and mod_wrap2; I broke them when
15845	trying to fix the conditional contrib module library issue.
15846
158472011-11-10  castaglia <castaglia>
15848
15849	* contrib/dist/rpm/proftpd.spec: Trying to fix the
15850	release_cand_version macro in the .spec file.
15851
158522011-11-10  castaglia <castaglia>
15853
15854	* contrib/dist/rpm/xinetd: Fixed comment in xinetd config file.
15855
158562011-11-09  castaglia <castaglia>
15857
15858	* ChangeLog: Updated ChangeLog.
15859
158602011-11-09  castaglia <castaglia>
15861
15862	* contrib/dist/rpm/proftpd.spec, include/version.h: Updating for
15863	1.3.4 release.
15864
158652011-11-09  castaglia <castaglia>
15866
15867	* NEWS, RELEASE_NOTES: Updating NEWS, release notes, getting ready
15868	for release.
15869
158702011-11-09  castaglia <castaglia>
15871
15872	* RELEASE_NOTES: Minor formatting consistency fix.
15873
158742011-11-09  castaglia <castaglia>
15875
15876	* RELEASE_NOTES: Updating release notes.
15877
158782011-11-09  castaglia <castaglia>
15879
15880	* NEWS, src/main.c: Bug#3711 - Response pool use-after-free memory
15881	corruption error.
15882
158832011-11-08  castaglia <castaglia>
15884
15885	* tests/api/response.c: Adding more unit tests for the Response API,
15886	including a demonstration of Bug#3711.
15887
158882011-11-08  castaglia <castaglia>
15889
15890	* contrib/dist/rpm/xinetd: Updating the xinetd config file for the
15891	RPM package, as per Bug#3640.
15892
158932011-11-07  castaglia <castaglia>
15894
15895	* RELEASE_NOTES: Updated release notes to mention the RPM/.spec
15896	changes.
15897
158982011-11-07  castaglia <castaglia>
15899
15900	* contrib/dist/rpm/basic-pam.conf, contrib/dist/rpm/proftpd.spec:
15901	More updates for Bug#3640, reworking the proftpd.spec file and
15902	related config files.
15903
159042011-11-07  castaglia <castaglia>
15905
15906	* NEWS, contrib/dist/rpm/proftpd-tmpfs.conf,
15907	contrib/dist/rpm/proftpd.init.d,
15908	contrib/dist/rpm/proftpd.logrotate, contrib/dist/rpm/proftpd.pam,
15909	contrib/dist/rpm/proftpd.service: Bug#3640 - rpmbuild on CentOS5.5
15910	(64bit): "File not found by glob".  This involves a fairly large reworking of the .spec file, and adding
15911	new files expected by the .spec file.
15912
159132011-11-06  castaglia <castaglia>
15914
15915	* contrib/mod_load/configure: Updated mod_load configure.
15916
159172011-11-06  castaglia <castaglia>
15918
15919	* .cvsignore: Ignore the auto-generated module-libs.txt file.
15920
159212011-11-06  castaglia <castaglia>
15922
15923	* contrib/mod_load/Makefile.in, contrib/mod_load/configure.in,
15924	contrib/mod_load/mod_load.c: Updating the mod_load
15925	configure/Makefiles to use the $(MODULE_LIBS_FILE) mechanism.
15926
159272011-11-06  castaglia <castaglia>
15928
15929	* contrib/mod_wrap2/configure: Updated mod_wrap2 configure.
15930
159312011-11-06  castaglia <castaglia>
15932
15933	* contrib/mod_wrap2/Makefile.in, contrib/mod_wrap2/configure.in,
15934	contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in:
15935	Updating the mod_wrap2 build files to use the new
15936	$(MODULE_LIBS_FILE), rather than modifying the generated mod_wrap2.h
15937	file.
15938
159392011-11-06  castaglia <castaglia>
15940
15941	* Make.rules.in, Makefile.in: Modifying the build system/scripts to
15942	support a $(MODULE_LIBS_FILE) file, which will contain a list of
15943	libraries that modules will want to add to the linker list, when
15944	linking the full proftpd executable AND when the modules in question
15945	are being built as static modules.  Shared modules are built as .la
15946	files, which contain their own linkage lists.  Consider the case where a module like mod_load (or mod_wrap2) might
15947	want to conditionally link against a library, depending on whether
15948	the host requires that library or depending on the configure options
15949	given when building proftpd.  The libraries needed by the module
15950	won't be known by the top-level main Makefile -- hence the need for
15951	this new $(MODULE_LIBS_FILE) file.  The top-level Makefile knows to
15952	read from this file for additional libraries; the module configure
15953	scripts/Makefiles can append the libraries they need to the
15954	$(MODULE_LIBS_FILE) file.  I'll be updating the mod_wrap2 configure/Makefile files to use this
15955	mechanism shortly.
15956
159572011-11-05  castaglia <castaglia>
15958
15959	* modules/mod_ls.c: Adding a little more trace logging, and some
15960	--enable-devel=timing instrumenting of the code, trying to track
15961	down a reported CPU spike.
15962
159632011-11-03  castaglia <castaglia>
15964
15965	* config.h.in: Since the AC_FUNC_SETPGRP macro has been removed from
15966	the configure.in file, we should always assume the POSIX setpgrp(2)
15967	signature.
15968
159692011-11-01  castaglia <castaglia>
15970
15971	* RELEASE_NOTES: Updated release notes.
15972
159732011-11-01  castaglia <castaglia>
15974
15975	* configure: Updated configure.
15976
159772011-11-01  castaglia <castaglia>
15978
15979	* configure.in, m4/proftpd.m4: Start tweaking the configure script
15980	to work better in cross-compiling situations.
15981
159822011-10-31  castaglia <castaglia>
15983
15984	* tests/Makefile.in: Make sure to build the response unit tests, and
15985	include them in the api-tests binary.
15986
159872011-10-31  castaglia <castaglia>
15988
15989	* tests/api/response.c, tests/api/stubs.c, tests/api/tests.c,
15990	tests/api/tests.h: Start working on API-level regression tests for
15991	the Response API.
15992
159932011-10-24  castaglia <castaglia>
15994
15995	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Fixing some of the
15996	broken mod_tls regression tests so that they pass properly again.
15997
159982011-10-24  castaglia <castaglia>
15999
16000	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Updating the mod_tls
16001	tests to reflect changes to the Net:FTPSSL-0.19 version of the
16002	dependent Perl module.
16003
160042011-10-24  castaglia <castaglia>
16005
16006	* tests/t/config/listoptions.t,
16007	tests/t/lib/ProFTPD/Tests/Config/ListOptions.pm, tests/tests.pl:
16008	Start working on regression tests for the ListOptions directive,
16009	spurred by some questions about it in the online forums.
16010
160112011-10-18  castaglia <castaglia>
16012
16013	* doc/contrib/mod_sftp.html: Mention that mod_sftp does not honor
16014	the ListOptions directive.
16015
160162011-10-17  castaglia <castaglia>
16017
16018	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
16019	mod_rewrite regression test for rewriting backslashes to slashes.
16020
160212011-10-17  castaglia <castaglia>
16022
16023	* doc/howto/Rewrite.html: Adding new mod_rewrite example, for
16024	converting backslashes to slashes.
16025
160262011-10-13  castaglia <castaglia>
16027
16028	* contrib/mod_sftp/Makefile.in: Remove redundant object file from
16029	`ar' command list; the mod_sftp.o object is already mentioned in the
16030	$(MODULE_OBJS) list of object files.
16031
160322011-10-12  castaglia <castaglia>
16033
16034	* doc/contrib/mod_sftp.html: Updated SFTPOptions documentation to
16035	mention new IgnoreSFTPSetTimes option (Bug#3706).
16036
160372011-10-12  castaglia <castaglia>
16038
16039	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
16040	contrib/mod_sftp/mod_sftp.h.in,
16041	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3706 - Support
16042	SFTPOption for ignoring requests to modify timestamps.
16043
160442011-10-10  castaglia <castaglia>
16045
16046	* NEWS, RELEASE_NOTES: Fuller description in NEWS for Bug#3704, and
16047	mention the new TLSOption in the release notes.
16048
160492011-10-10  castaglia <castaglia>
16050
16051	* doc/contrib/mod_tls.html: Documenting the new NoEmptyFragments
16052	TLSOption.
16053
160542011-10-10  castaglia <castaglia>
16055
16056	* NEWS, contrib/mod_tls.c: Bug#3704 - Enable OpenSSL countermeasure
16057	against SSLv3/TLSv1 BEAST attacks.
16058
160592011-10-06  castaglia <castaglia>
16060
16061	* configure: Updated configure for Bug#3192.
16062
160632011-10-06  castaglia <castaglia>
16064
16065	* NEWS, config.h.in, configure.in, contrib/mod_sql_postgres.c:
16066	Bug#3192 - PQescapeStringConn() needs a better check.
16067
160682011-10-06  castaglia <castaglia>
16069
16070	* configure: Updated configure for Bug#3669.
16071
160722011-10-06  castaglia <castaglia>
16073
16074	* NEWS, config.h.in, configure.in, contrib/mod_sql_mysql.c: Bug#3669
16075	- mod_sql_mysql.so: undefined symbol: make_scrambled_password with
16076	MySQL 5.5 on Fedora.
16077
160782011-10-06  castaglia <castaglia>
16079
16080	* configure: Updated configure for Bug#3702.
16081
160822011-10-06  castaglia <castaglia>
16083
16084	* NEWS, configure.in: Bug#3702 - ProFTPD with mod_sql_mysql dies of
16085	"Alarm clock" on FreeBSD.
16086
160872011-10-04  castaglia <castaglia>
16088
16089	* src/main.c, src/support.c, src/timers.c: Add checking of the
16090	return values for calling signal(2), sigaction(2), and
16091	siginterrupt(2), and logging of any errors.
16092
160932011-10-04  castaglia <castaglia>
16094
16095	* contrib/mod_sql.c,
16096	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Further fix to
16097	Bug#3692: make sure that if the processing of the SQLLog directive
16098	(marked with "IGNORE_ERRORS") needs to open a database connection,
16099	and the database info is bad (e.g. bad database name), this bad
16100	database open is also ignored, rather than causing the session to be
16101	disconnected.
16102
161032011-09-29  castaglia <castaglia>
16104
16105	* contrib/mod_sftp/date.c: Bug#3650 - Update the FSF address.
16106
161072011-09-27  castaglia <castaglia>
16108
16109	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Minor update to
16110	unit test, trying to avoid ugly regex error on Mac OSX (due to its
16111	temporary file naming scheme).
16112
161132011-09-26  castaglia <castaglia>
16114
16115	* include/version.h: Updated version for CVS status.
16116
161172011-09-26  castaglia <castaglia>
16118
16119	* contrib/dist/rpm/proftpd.spec, include/version.h: Update the
16120	versions for RC3.
16121
161222011-09-26  castaglia <castaglia>
16123
16124	* NEWS: Update NEWS with the release date.
16125
161262011-09-26  castaglia <castaglia>
16127
16128	* ChangeLog: Updated ChangeLog.
16129
161302011-09-26  castaglia <castaglia>
16131
16132	* RELEASE_NOTES: Updated release notes.
16133
161342011-09-26  castaglia <castaglia>
16135
16136	* modules/mod_log.c: Slightly better fix for Bug#3696, which doesn't
16137	require the whole command dispatch mechanism for getting the
16138	ExtendedLog entry written.
16139
161402011-09-25  castaglia <castaglia>
16141
16142	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Add unit test
16143	for Bug#3696 (ExtendedLog written in cases of TimeoutStalled) for
16144	SFTP transfers as well.
16145
161462011-09-24  castaglia <castaglia>
16147
16148	* contrib/mod_sftp/scp.c: Modify the handling of SCP downloads to
16149	allow for PRE_CMD handlers to rewrite the file name (e.g. via
16150	mod_rewrite).
16151
161522011-09-24  castaglia <castaglia>
16153
16154	* modules/mod_xfer.c: If ever the RETR PRE_CMD handler in mod_xfer
16155	says "no, I won't download this file because it's not a regular
16156	file", set the errno to EISDIR.  This specific errno value can then
16157	be handled properly, e.g. by the SCP download code.
16158
161592011-09-24  castaglia <castaglia>
16160
16161	* src/main.c: More tricks to preserve the errno value through the
16162	command dispatch mechanism.
16163
161642011-09-24  castaglia <castaglia>
16165
16166	* modules/mod_log.c: Guard against a possibly-null
16167	session.curr_cmd_rec pointer, when handling the
16168	'core.timeout-stalled' event in mod_log.
16169
161702011-09-24  castaglia <castaglia>
16171
16172	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Fixing
16173	broken unit tests.
16174
161752011-09-24  castaglia <castaglia>
16176
16177	* contrib/mod_exec.c: Use strncmp(3) in more places, give the
16178	compiler some hints when we will be ignoring the return values, and
16179	fix the byte count for writes when using the useStdin ExecOption.
16180
161812011-09-24  castaglia <castaglia>
16182
16183	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/exec.pm: Leave a long
16184	explanation to my future self about failures of a particular unit
16185	test, and why it can happen (e.g. due to module load ordering).
16186
161872011-09-24  castaglia <castaglia>
16188
16189	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix broken
16190	mod_sql_sqlite unit tests.
16191
161922011-09-24  castaglia <castaglia>
16193
16194	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Relax some of
16195	the heuristics, allowing some of the unit tests to pass more
16196	regularly.
16197
161982011-09-24  castaglia <castaglia>
16199
16200	* contrib/mod_rewrite.c: Fix a regression in the RewriteHome
16201	feature, where it wasn't working at all.
16202
162032011-09-24  castaglia <castaglia>
16204
16205	* tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Minor style
16206	updates; no functional change.
16207
162082011-09-24  castaglia <castaglia>
16209
16210	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Expect to
16211	handle a "File too large" error response as well in these unit
16212	tests.
16213
162142011-09-24  castaglia <castaglia>
16215
16216	* tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: Fix broken unit
16217	test.
16218
162192011-09-24  castaglia <castaglia>
16220
16221	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Add a different
16222	expected error message, fixing the unit test on a Linux system.
16223
162242011-09-24  castaglia <castaglia>
16225
16226	* tests/t/lib/ProFTPD/Tests/Commands/HELP.pm: Fix the HELP unit test
16227	to work properly, even if mod_tls is in the build.
16228
162292011-09-24  castaglia <castaglia>
16230
16231	* tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm: Update the FEAT unit
16232	test to better handle when other modules, e.g.  mod_site_misc and
16233	mod_copy, are in the build.
16234
162352011-09-24  castaglia <castaglia>
16236
16237	* tests/tests.pl: Don't run the mod_sftp_sql unit tests unless that
16238	module, too, is loaded.
16239
162402011-09-24  castaglia <castaglia>
16241
16242	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: More places to
16243	catch data connection timeouts.
16244
162452011-09-24  castaglia <castaglia>
16246
16247	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm,
16248	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
16249	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
16250	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
16251	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: More places to
16252	catch data connection timeouts.
16253
162542011-09-24  castaglia <castaglia>
16255
16256	* tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
16257	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: More places to
16258	catch data connection timeouts.
16259
162602011-09-24  castaglia <castaglia>
16261
16262	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
16263	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
16264	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
16265	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
16266	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Hardening the testsuite
16267	caused by spurious data connection timeouts; this makes the tests
16268	still fail when it happens, but the output is more intelligible.
16269
162702011-09-23  castaglia <castaglia>
16271
16272	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
16273	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
16274	tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm,
16275	tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
16276	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
16277	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Trying to
16278	fix/quell Perl warnings emitted while running the testsuite.
16279
162802011-09-23  castaglia <castaglia>
16281
16282	* tests/api/scoreboard.c: Fixing pr_scoreboard_scrub() unit test so
16283	that it passes properly.
16284
162852011-09-21  castaglia <castaglia>
16286
16287	* NEWS, modules/mod_core.c,
16288	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Bug#3698 - <Limit WRITE>
16289	does not prevent deletion of a file/directory via renaming.
16290
162912011-09-21  castaglia <castaglia>
16292
16293	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Adding regression test for
16294	Bug#3697.
16295
162962011-09-21  castaglia <castaglia>
16297
16298	* NEWS, src/netio.c: Bug#3697 - Filenames with embedded IAC do not
16299	get processed correctly.
16300
163012011-09-21  castaglia <castaglia>
16302
16303	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Regression test
16304	for Bug#3696.
16305
163062011-09-21  castaglia <castaglia>
16307
16308	* NEWS, include/proftpd.h, modules/mod_log.c, src/main.c: Bug#3696 -
16309	ExtendedLog not getting written on timeouts.
16310
163112011-09-21  castaglia <castaglia>
16312
16313	* NEWS, include/inet.h, modules/mod_core.c, src/bindings.c,
16314	src/inet.c: Bug#3693 - Clients are disconnected if proftpd cannot
16315	listen on port for passive data transfer.
16316
163172011-09-09  castaglia <castaglia>
16318
16319	* contrib/mod_sftp/mac.c: Use the newer HMAC_Init_ex() when
16320	available in the OpenSSL version used (e.g. to make use of any
16321	ENGINEs configured), as well as checking the return values of
16322	HMAC_Init_ex(), HMAC_Update(), and HMAC_Final() (again, when
16323	supported by the OpenSSL version used).
16324
163252011-09-09  castaglia <castaglia>
16326
16327	* doc/contrib/mod_sftp.html: Update mod_sftp doc to mention Axway
16328	clients as having the channel window sizing issues, just like
16329	WS_FTP.
16330
163312011-09-06  castaglia <castaglia>
16332
16333	* NEWS, contrib/mod_sql.c,
16334	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3692 -
16335	SQLLog IGNORE_ERRORS parameter does not work.
16336
163372011-09-06  castaglia <castaglia>
16338
16339	* src/memcache.c: Pedantically fix more compiler warnings.
16340
163412011-09-05  castaglia <castaglia>
16342
16343	* doc/contrib/mod_sql.html: Fix HTML markup.
16344
163452011-09-05  castaglia <castaglia>
16346
16347	* contrib/mod_tls_memcache.c: Address a few compiler warnings.
16348
163492011-09-05  castaglia <castaglia>
16350
16351	* contrib/mod_tls.c: Fix typo causing compiler warninga about
16352	"statement with no effect".
16353
163542011-09-05  castaglia <castaglia>
16355
16356	* src/trace.c: Fix compiler error when compiling with
16357	--disable-trace; the pr_trace_vsmg() function was not implemented in
16358	that case.
16359
163602011-09-02  castaglia <castaglia>
16361
16362	* contrib/README, contrib/mod_quotatab_ldap.ldif,
16363	contrib/mod_quotatab_ldap.schema: Bug#3678 - Include LDAP schema for
16364	mod_quotatab_ldap.
16365
163662011-09-02  castaglia <castaglia>
16367
16368	* doc/contrib/mod_exec.html: Adding mod_exec FAQ.
16369
163702011-08-19  castaglia <castaglia>
16371
16372	* modules/mod_core.c: Reducing the log level used for the log
16373	message about setting the DefaultAddress, so that e.g. heavily
16374	loaded proftpd servers using "ServerType inetd" aren't spamming
16375	syslog with this message.
16376
163772011-08-16  castaglia <castaglia>
16378
16379	* src/trace.c: Quell compiler warning on some systems by using an
16380	explicit typecast.
16381
163822011-08-16  castaglia <castaglia>
16383
16384	* contrib/mod_radius.c: Fix the compilation of mod_radius on
16385	FreeBSD, which was broken by the patch for Bug#3679, which added
16386	support for the NAS-IPv6-Address attribute.  Turns out that the
16387	s6_addr32 macro is not available on all systems (e.g.  FreeBSD);
16388	hopefully the s6_addr macro is more widely supported.
16389
163902011-08-13  castaglia <castaglia>
16391
16392	* modules/mod_core.c: Replace the unnecessary (and unchecked)
16393	malloc(3) calls -- used when handling the CDPath directive -- with
16394	palloc(), which handles out of memory conditions automatically (and
16395	is more consistent with the proftpd coding style).
16396
163972011-08-13  castaglia <castaglia>
16398
16399	* NEWS, src/response.c: Bug#3685 - NULL pointer dereference after an
16400	idle timeout.
16401
164022011-08-12  castaglia <castaglia>
16403
16404	* configure: Updated configure.
16405
164062011-08-12  castaglia <castaglia>
16407
16408	* NEWS, configure.in: Bug#3681 - Non POSIX test constructions in
16409	autoconf script.
16410
164112011-08-08  castaglia <castaglia>
16412
16413	* contrib/mod_tls.c: Reduce the OpenSSL memory usage for SSL
16414	connections (if OpenSSL-1.0.0a or later are used).
16415
164162011-08-05  castaglia <castaglia>
16417
16418	* doc/contrib/mod_sftp.html: Update the SFTPOptions
16419	IgnoreSFTPUploadPerms description to mention directory creation, as
16420	per Bug#3680.
16421
164222011-08-05  castaglia <castaglia>
16423
16424	* NEWS, contrib/mod_sftp/fxp.c,
16425	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3680 - SFTP MKDIR
16426	does not respect the IgnoreSFTPUploadPerms option.
16427
164282011-08-05  castaglia <castaglia>
16429
16430	* contrib/mod_radius.c: Better implementation of the
16431	NAS-IPv6-Address functionality for Bug#3679.
16432
164332011-08-04  castaglia <castaglia>
16434
16435	* doc/contrib/mod_radius.html: Mention that mod_radius might use
16436	NAS-IPv6-Address in the mod_radius docs.
16437
164382011-08-04  castaglia <castaglia>
16439
16440	* NEWS, contrib/mod_radius.c: Bug#3679 - Support NAS-IPv6-Address
16441	RADIUS attribute.
16442
164432011-08-04  castaglia <castaglia>
16444
16445	* NEWS, contrib/mod_sftp/auth-hostbased.c,
16446	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
16447	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
16448	contrib/mod_sftp/auth.h: Bug#3676 - RADIUS-based logins don't work
16449	using mod_sftp.
16450
164512011-08-03  castaglia <castaglia>
16452
16453	* doc/contrib/mod_radius.html: Update the RadiusNASIdentifier docs
16454	to mention that it will use "ssh2" for SFTP/SCP sessions.
16455
164562011-08-03  castaglia <castaglia>
16457
16458	* contrib/mod_radius.c: When setting the NAS-Identifier attribute in
16459	the RADIUS request, be sure to dynamically get the protocol, so that
16460	we use "ftp" for FTP sessions and "ssh2" for SFTP sessions.
16461
164622011-08-02  castaglia <castaglia>
16463
16464	* src/scoreboard.c: Fix compiler warning about shadowed variable.
16465
164662011-08-02  castaglia <castaglia>
16467
16468	* configure: Updated configure.
16469
164702011-08-02  castaglia <castaglia>
16471
16472	* NEWS, configure.in: Bug#3675 - Automatically disable sendfile
16473	support for AIX systems.
16474
164752011-08-02  castaglia <castaglia>
16476
16477	* contrib/mod_sftp/mod_sftp.c: Fix the compilation of mod_sftp.c
16478	(Bug#3677).
16479
164802011-08-02  castaglia <castaglia>
16481
16482	* src/regexp.c: Remove unused variable.
16483
164842011-08-01  castaglia <castaglia>
16485
16486	* src/main.c: Defend against possible null cmd_rec argument in
16487	pr_cmd_dispatch_phase().
16488
164892011-07-31  castaglia <castaglia>
16490
16491	* NEWS, modules/mod_ctrls.c: Bug#3674 - After running "proftpd -t"
16492	command, ftpdctl commands no longer work.
16493
164942011-07-26  castaglia <castaglia>
16495
16496	* modules/mod_core.c: Try to make the error logging better, for the
16497	case where a client requests a rename of a directory across
16498	filesystem mount points.
16499
165002011-07-10  castaglia <castaglia>
16501
16502	* doc/contrib/mod_tls.html: Updated mod_tls
16503	AllowClientRenegotiations TLSOption description to mention
16504	CVE-2011-1437.
16505
165062011-07-10  castaglia <castaglia>
16507
16508	* NEWS, contrib/mod_tls.c: Bug#3671 - TLSOption
16509	AllowClientRenegotiations to be unconditionally required for
16510	client-initiated renegotiations.
16511
165122011-07-10  castaglia <castaglia>
16513
16514	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm: Adding
16515	regression tests for Bug#3670.
16516
165172011-07-10  castaglia <castaglia>
16518
16519	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3670 - WrapDenyMsg not
16520	displayed when using mod_wrap2 + mod_sftp.
16521
165222011-07-09  castaglia <castaglia>
16523
16524	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
16525	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/wrap2.pm,
16526	tests/t/modules/mod_sftp/wrap2.t, tests/tests.pl: Breaking out the
16527	mod_sftp+mod_wrap2 unit tests into their own separate file of test
16528	cases.
16529
165302011-07-09  castaglia <castaglia>
16531
16532	* contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/kex.c: Adding
16533	comments for my future reference, for when I start adding X509
16534	support to mod_sftp.
16535
165362011-07-06  castaglia <castaglia>
16537
16538	* doc/modules/mod_facts.html: Adding MLSD/MLST FAQ from forums.
16539
165402011-07-02  castaglia <castaglia>
16541
16542	* NEWS, src/scoreboard.c: Bug#3668 - File descriptor leak during
16543	scoreboard scrubbing.
16544
165452011-07-01  castaglia <castaglia>
16546
16547	* doc/modules/mod_core.html: Add description of the GroupOwner
16548	directive, updated for Bug#3665, to the mod_core HTML docs.
16549
165502011-07-01  castaglia <castaglia>
16551
16552	* NEWS, src/dirtree.c: Bug#3665 - GID of new files are inherited
16553	from parent directory on FreeBSD.  The GroupOwner directive is enhanced to use "~" as "GID of logged-in
16554	user", to work around the FreeBSD-specific behavior.
16555
165562011-06-30  jwm <jwm>
16557
16558	* NEWS: mention the mod_ldap configuration directive overhaul
16559
165602011-06-21  castaglia <castaglia>
16561
16562	* NEWS, src/scoreboard.c: Bug#3667 - Scoreboard scrubbing can block
16563	daemon process for long periods of time.
16564
165652011-06-17  castaglia <castaglia>
16566
16567	* doc/contrib/mod_sftp.html: Minor updates to the mod_sftp docs for
16568	SFTPCiphers, SFTPDigests, and SFTPOptions.
16569
165702011-06-17  castaglia <castaglia>
16571
16572	* contrib/mod_sftp/kex.c: Add trace logging of the SSH2 session
16573	algorithms.  This duplicates info already logged in the SFTPLog, but
16574	if you're *only* getting a TraceLog, it helps to have the session
16575	algorithms logged there.
16576
165772011-06-17  castaglia <castaglia>
16578
16579	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Added regression test
16580	for "LIST -R", prompted by a forums post saying that ncftp shows an
16581	issue with proftpd-1.3.3e's handling of LIST -R.  Couldn't reproduce
16582	the reported symptoms with this test case, though.
16583
165842011-06-14  castaglia <castaglia>
16585
16586	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Bug#3664 -
16587	mod_sftp does not update process title.
16588
165892011-06-10  castaglia <castaglia>
16590
16591	* contrib/mod_deflate.c: Add finer-grained trace logging of
16592	compressed data transfers.  Modify the read() callback slightly to
16593	be more efficient (one less branch/block to think through when
16594	debugging).
16595
165962011-06-10  castaglia <castaglia>
16597
16598	* src/scoreboard.c: If we can't open the ScoreboardFile during
16599	scrubbing, make sure we log the proper error reason for it.
16600
166012011-06-06  castaglia <castaglia>
16602
16603	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Add HideNoAccess
16604	regression test, trying to reproduce an issue described on
16605	forums.proftpd.org.
16606
166072011-06-05  castaglia <castaglia>
16608
16609	* modules/mod_delay.c: Remove now-unnecessary blank line in 'ftpdctl
16610	delay info' response.
16611
166122011-06-05  castaglia <castaglia>
16613
16614	* modules/mod_delay.c: First, fix the calculation of the row
16615	indices; mod_delay was inadvertently trampling on the values in the
16616	wrong rows, especially for vhosts.  Second, make the output from 'ftpdctl delay info' a little prettier.
16617
166182011-06-05  castaglia <castaglia>
16619
16620	* src/ctrls.c: Cache errno value for better trace messages.  Fix
16621	truncation of Unix domain socket path such that it doesn't trash the
16622	call stack (e.g. on Mac OSX) due to bad assumptions about the
16623	structure/fields of a struct sockaddr_un.
16624
166252011-06-05  castaglia <castaglia>
16626
16627	* NEWS, modules/mod_delay.c: Bug#3663 - TimeoutLogin cannot
16628	interrupt mod_delay as it should.
16629
166302011-06-03  castaglia <castaglia>
16631
16632	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Add mod_deflate
16633	regression test showing read/compress of chunks of upload data.
16634
166352011-06-03  castaglia <castaglia>
16636
16637	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Fix mod_deflate
16638	regression tests broken by the addition of the ScoreboardMutex.
16639
166402011-05-27  castaglia <castaglia>
16641
16642	* doc/modules/mod_core.html: Add docs for the PassivePorts directive
16643	to the bundled HTML mod_core doc.
16644
166452011-05-27  castaglia <castaglia>
16646
16647	* doc/howto/Scoreboard.html: Mention the types of data tracked in
16648	the ScoreboardFile for a data transfer, and link to the utilities
16649	docs.  This should cover Bug#2625.
16650
166512011-05-27  castaglia <castaglia>
16652
16653	* src/fsio.c: More caching/setting of errno properly, and fixing a
16654	minor memory leak.
16655
166562011-05-26  castaglia <castaglia>
16657
16658	* modules/mod_core.c: Properly cache/set the errno value before
16659	returning PR_ERROR.
16660
166612011-05-26  castaglia <castaglia>
16662
16663	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/site_misc.pm,
16664	tests/t/modules/mod_quotatab/site_misc.t, tests/tests.pl: Adding
16665	regression tests for Bug#3660.
16666
166672011-05-26  castaglia <castaglia>
16668
16669	* NEWS, contrib/mod_quotatab.c, contrib/mod_site_misc.c: Bug#3660 -
16670	SITE MKDIR/RMDIR should update quota tallies properly.
16671
166722011-05-26  castaglia <castaglia>
16673
16674	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Update the
16675	mod_quotatab tests to be a little more resilient during full runs of
16676	the testsuite.
16677
166782011-05-26  castaglia <castaglia>
16679
16680	* contrib/mod_quotatab_sql.c: Remove the checking for underflowing
16681	the files used values in mod_quotatab_sql.  The mod_quotatab module
16682	already makes such checks.  Plus, the checks at this layer prevent
16683	the decrementing of the files used value to zero.
16684
166852011-05-26  castaglia <castaglia>
16686
16687	* contrib/mod_sql.c: Fix some strncasecmp(3) cases in mod_sql, and
16688	convert other strcasecmp(3) to strncasecmp(3).
16689
166902011-05-26  castaglia <castaglia>
16691
16692	* contrib/mod_copy.c: Allocate the cmd->arg string out of the
16693	cmd->pool, NOT out of the cmd->tmp_pool, as the latter pool is
16694	cleared after every dispatch phase and the former pool is not.
16695
166962011-05-26  castaglia <castaglia>
16697
16698	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm: Forgot to
16699	check in the regression tests for the recent work on Bug#3641.
16700
167012011-05-25  castaglia <castaglia>
16702
16703	* contrib/mod_copy.c: Make mod_copy interact with mod_quotatab such
16704	that a recursively copied directory will update the quota tallies
16705	properly (Bug#3641).
16706
167072011-05-25  castaglia <castaglia>
16708
16709	* contrib/mod_quotatab.c: Fix up some minor nits in mod_quotatab,
16710	found while working on Bug#3641.
16711
167122011-05-25  castaglia <castaglia>
16713
16714	* modules/mod_xfer.c: Set errno before returning PR_ERROR.
16715
167162011-05-25  castaglia <castaglia>
16717
16718	* contrib/mod_sftp/fxp.c: The copy-file functionality in mod_sftp
16719	needs to interact with e.g.  mod_copy and mod_quotatab properly,
16720	which requires that mod_sftp generate a SITE COPY cmd_rec, not a
16721	COPY cmd_rec.
16722
167232011-05-24  castaglia <castaglia>
16724
16725	* contrib/install-sh: Adding install-sh script for contrib/ area.
16726
167272011-05-24  castaglia <castaglia>
16728
16729	* contrib/mod_sftp/mod_sftp.h.in: The newly added date(1) support in
16730	mod_sftp needs to be explicitly enabled via the Protocols directive,
16731	rather than being enabled by default.  This should preserve the principle of least surprise.  And since
16732	this date(1) support is for testing anyway, there's (currently) no
16733	reason it should be enabled by default.
16734
167352011-05-24  castaglia <castaglia>
16736
16737	* contrib/mod_sftp/Makefile.in, contrib/mod_sftp/auth.c,
16738	contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
16739	contrib/mod_sftp/date.c, contrib/mod_sftp/date.h,
16740	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in: Adding
16741	support for builtin date(1) command, for speed tests related to
16742	authentication (versus file transfers via SFTP/SCP).
16743
167442011-05-24  castaglia <castaglia>
16745
16746	* contrib/mod_sftp/scp.c: Remove redundant setting of the
16747	POSIXLY_CORRECT environment variable.
16748
167492011-05-24  castaglia <castaglia>
16750
16751	* doc/contrib/mod_ctrls_admin.html: Documenting the -n 'ftpdctl
16752	kick' option, added for Bug#3555.
16753
167542011-05-24  castaglia <castaglia>
16755
16756	* NEWS, contrib/mod_ctrls_admin.c: Bug#3555 - Support optional
16757	maximum number of clients to be disconnected via 'ftpdctl kick'.
16758
167592011-05-23  castaglia <castaglia>
16760
16761	* contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c,
16762	include/support.h, src/support.c: Refactor all of the getopt(3)
16763	resetting code into a single pr_getopt_reset() function than then be
16764	used by the interested parties (e.g. mod_ban, mod_sftp, mod_tls).
16765
167662011-05-23  castaglia <castaglia>
16767
16768	* contrib/mod_wrap2/configure: Updated mod_wrap2 configure.
16769
167702011-05-23  castaglia <castaglia>
16771
16772	* configure.in, contrib/mod_wrap2/configure.in: Updating FSF
16773	address, per Bug#3650.
16774
167752011-05-23  castaglia <castaglia>
16776
16777	* contrib/ftpasswd, contrib/ftpmail, contrib/ftpquota, src/prxs.in:
16778	Updated FSF address, per Bug#3650.
16779
167802011-05-23  castaglia <castaglia>
16781
16782	* COPYING, doc/license.txt, src/auth.c, src/bindings.c,
16783	src/child.c, src/class.c, src/cmd.c, src/ctrls.c, src/data.c,
16784	src/dirtree.c, src/display.c, src/encode.c, src/env.c, src/event.c,
16785	src/expr.c, src/feat.c, src/filter.c, src/fsio.c, src/ftpdctl.c,
16786	src/help.c, src/inet.c, src/lastlog.c, src/log.c, src/main.c,
16787	src/memcache.c, src/mkhome.c, src/modules.c, src/netacl.c,
16788	src/netaddr.c, src/netio.c, src/parser.c, src/pidfile.c,
16789	src/pool.c, src/privs.c, src/proctitle.c, src/regexp.c,
16790	src/response.c, src/scoreboard.c, src/session.c, src/sets.c,
16791	src/stash.c, src/str.c, src/support.c, src/table.c, src/throttle.c,
16792	src/timers.c, src/trace.c, src/var.c, src/version.c, src/wtmp.c,
16793	src/xferlog.c: Updating FSF address, per Bug#3650.
16794
167952011-05-23  castaglia <castaglia>
16796
16797	* doc/mod_sample.c, lib/getopt.c, lib/getopt1.c,
16798	lib/glibc-gai_strerror.c, lib/glibc-glob.c, lib/glibc-mkstemp.c,
16799	lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c, lib/pwgrent.c,
16800	lib/sstrncpy.c, lib/strsep.c, lib/vsnprintf.c, modules/mod_auth.c,
16801	modules/mod_auth_file.c, modules/mod_auth_pam.c,
16802	modules/mod_auth_unix.c, modules/mod_cap.c, modules/mod_core.c,
16803	modules/mod_ctrls.c, modules/mod_delay.c, modules/mod_dso.c,
16804	modules/mod_facl.c, modules/mod_facts.c, modules/mod_ident.c,
16805	modules/mod_lang.c, modules/mod_log.c, modules/mod_ls.c,
16806	modules/mod_memcache.c, modules/mod_site.c, modules/mod_xfer.c:
16807	Updated FSF address, per Bug#3650.
16808
168092011-05-23  castaglia <castaglia>
16810
16811	* contrib/mod_ban.c, contrib/mod_copy.c, contrib/mod_ctrls_admin.c,
16812	contrib/mod_deflate.c, contrib/mod_dynmasq.c, contrib/mod_exec.c,
16813	contrib/mod_ifsession.c, contrib/mod_ifversion.c,
16814	contrib/mod_ldap.c, contrib/mod_load/mod_load.c.in,
16815	contrib/mod_qos.c, contrib/mod_quotatab.c,
16816	contrib/mod_quotatab_file.c, contrib/mod_quotatab_ldap.c,
16817	contrib/mod_quotatab_radius.c, contrib/mod_quotatab_sql.c,
16818	contrib/mod_radius.c, contrib/mod_ratio.c, contrib/mod_readme.c,
16819	contrib/mod_rewrite.c, contrib/mod_sftp/auth-hostbased.c,
16820	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
16821	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
16822	contrib/mod_sftp/channel.c, contrib/mod_sftp/cipher.c,
16823	contrib/mod_sftp/compress.c, contrib/mod_sftp/crypto.c,
16824	contrib/mod_sftp/disconnect.c, contrib/mod_sftp/display.c,
16825	contrib/mod_sftp/fxp.c, contrib/mod_sftp/interop.c,
16826	contrib/mod_sftp/kbdint.c, contrib/mod_sftp/kex.c,
16827	contrib/mod_sftp/keys.c, contrib/mod_sftp/keystore.c,
16828	contrib/mod_sftp/mac.c, contrib/mod_sftp/misc.c,
16829	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/msg.c,
16830	contrib/mod_sftp/packet.c, contrib/mod_sftp/rfc4716.c,
16831	contrib/mod_sftp/scp.c, contrib/mod_sftp/service.c,
16832	contrib/mod_sftp/session.c, contrib/mod_sftp/tap.c,
16833	contrib/mod_sftp/utf8.c, contrib/mod_sftp_pam.c,
16834	contrib/mod_sftp_sql.c, contrib/mod_shaper.c,
16835	contrib/mod_site_misc.c, contrib/mod_sql.c,
16836	contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
16837	contrib/mod_sql_passwd.c, contrib/mod_sql_postgres.c,
16838	contrib/mod_sql_sqlite.c, contrib/mod_tls_memcache.c,
16839	contrib/mod_tls_shmcache.c, contrib/mod_unique_id.c,
16840	contrib/mod_wrap.c, contrib/mod_wrap2/mod_wrap2.c,
16841	contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Updating FSF
16842	address, per Bug#3650.
16843
168442011-05-23  castaglia <castaglia>
16845
16846	* contrib/mod_quotatab.h, contrib/mod_sftp/auth.h,
16847	contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.h,
16848	contrib/mod_sftp/compress.h, contrib/mod_sftp/crypto.h,
16849	contrib/mod_sftp/disconnect.h, contrib/mod_sftp/display.h,
16850	contrib/mod_sftp/fxp.h, contrib/mod_sftp/interop.h,
16851	contrib/mod_sftp/kbdint.h, contrib/mod_sftp/kex.h,
16852	contrib/mod_sftp/keys.h, contrib/mod_sftp/keystore.h,
16853	contrib/mod_sftp/mac.h, contrib/mod_sftp/misc.h,
16854	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.h,
16855	contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.h,
16856	contrib/mod_sftp/scp.h, contrib/mod_sftp/service.h,
16857	contrib/mod_sftp/session.h, contrib/mod_sftp/ssh2.h,
16858	contrib/mod_sftp/tap.h, contrib/mod_sftp/utf8.h, contrib/mod_sql.h,
16859	contrib/mod_tls.h, contrib/mod_wrap2/mod_wrap2.h.in, lib/getopt.h,
16860	tests/api/array.c, tests/api/class.c, tests/api/cmd.c,
16861	tests/api/env.c, tests/api/event.c, tests/api/expr.c,
16862	tests/api/feat.c, tests/api/modules.c, tests/api/netacl.c,
16863	tests/api/netaddr.c, tests/api/pool.c, tests/api/regexp.c,
16864	tests/api/scoreboard.c, tests/api/sets.c, tests/api/stash.c,
16865	tests/api/str.c, tests/api/stubs.c, tests/api/table.c,
16866	tests/api/tests.c, tests/api/tests.h, tests/api/timers.c,
16867	tests/api/var.c, tests/api/version.c, utils/ftpcount.c,
16868	utils/ftpscrub.c, utils/ftpshut.c, utils/ftptop.c, utils/ftpwho.c,
16869	utils/misc.c, utils/scoreboard.c: Updating FSF address, per
16870	Bug#3650.
16871
168722011-05-23  castaglia <castaglia>
16873
16874	* include/auth.h, include/bindings.h, include/child.h,
16875	include/class.h, include/cmd.h, include/compat.h, include/conf.h,
16876	include/ctrls.h, include/data.h, include/default_paths.h,
16877	include/dirtree.h, include/display.h, include/encode.h,
16878	include/env.h, include/event.h, include/expr.h, include/feat.h,
16879	include/filter.h, include/fsio.h, include/ftp.h,
16880	include/glibc-glob.h, include/help.h, include/inet.h,
16881	include/libsupp.h, include/log.h, include/memcache.h,
16882	include/mkhome.h, include/mod_ctrls.h, include/modules.h,
16883	include/netacl.h, include/netaddr.h, include/netio.h,
16884	include/options.h, include/parser.h, include/pidfile.h,
16885	include/pool.h, include/pr-syslog.h, include/privs.h,
16886	include/proctitle.h, include/proftpd.h, include/regexp.h,
16887	include/response.h, include/scoreboard.h, include/session.h,
16888	include/sets.h, include/stash.h, include/str.h, include/support.h,
16889	include/table.h, include/throttle.h, include/timers.h,
16890	include/trace.h, include/var.h, include/xferlog.h, utils/utils.h:
16891	Updating the FSF address, per Bug#3650.
16892
168932011-05-23  castaglia <castaglia>
16894
16895	* COPYING: Updating FSF address, per Bug#3650.
16896
168972011-05-20  castaglia <castaglia>
16898
16899	* contrib/mod_tls.c: Don't allow client certs if they point to an
16900	OCSP responder whose response says that the OCSP responder doesn't
16901	know about the client cert.
16902
169032011-05-20  castaglia <castaglia>
16904
16905	* contrib/mod_tls.c: Clarify the certificate revocation callback
16906	code a little, and add some comments on edge cases to handle better.
16907
169082011-05-20  castaglia <castaglia>
16909
16910	* contrib/mod_tls.c: Fixed cases of strncmp(3) to use strncmp(3),
16911	and strcasecmp(3) to be strncasecmp(3), as the 'n' variants are more
16912	efficient (saves on a strlen(3) call internally).  Reworked the OCSP verification code so that it works properly.
16913
169142011-05-20  castaglia <castaglia>
16915
16916	* tests/t/etc/modules/mod_tls/NOTES,
16917	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression
16918	tests for the TLSVerifyOrder directive, for both 'crl' and 'ocsp'
16919	(separately).  Updates NOTES to mention how to generate certs with OCSP attributes,
16920	running OpenSSL's ocsp(1) as responder (and client), issues found,
16921	etc.
16922
169232011-05-20  castaglia <castaglia>
16924
16925	* tests/t/etc/modules/mod_tls/ocsp-ca.pem,
16926	tests/t/etc/modules/mod_tls/ocsp-client.pem,
16927	tests/t/etc/modules/mod_tls/ocsp-https-ca.pem,
16928	tests/t/etc/modules/mod_tls/ocsp-https-client.pem,
16929	tests/t/etc/modules/mod_tls/ocsp-https-server.pem,
16930	tests/t/etc/modules/mod_tls/ocsp-server.pem: Adding certs/files for
16931	OCSP verification tests.
16932
169332011-05-19  castaglia <castaglia>
16934
16935	* NEWS, contrib/mod_tls.c: Bug#3658 - TLSVerifyOrder directive is
16936	broken.
16937
169382011-05-19  castaglia <castaglia>
16939
16940	* doc/howto/Testing.html: Mention the brittleness of the
16941	127.0.0.1/localhost-related tests in the Testing howto, and mention
16942	how they are "expected failures".
16943
169442011-05-18  castaglia <castaglia>
16945
16946	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update the mod_tls
16947	CRL regression test to use the newly-generated/updated CRL test
16948	files.
16949
169502011-05-18  castaglia <castaglia>
16951
16952	* tests/t/etc/modules/mod_tls/NOTES: Updated mod_tls notes with how
16953	to generate CRL regression test certs (I really mean it this time!).
16954
169552011-05-18  castaglia <castaglia>
16956
16957	* tests/t/etc/modules/mod_tls/crl-ca-revoked.pem,
16958	tests/t/etc/modules/mod_tls/crl-ca.pem,
16959	tests/t/etc/modules/mod_tls/crl-client-cert.pem,
16960	tests/t/etc/modules/mod_tls/crl-server-cert.pem: Added new CA,
16961	server/client certs, and CRL PEM files for the CRL revocation
16962	regression test.  Updated the NOTES file with instructions on how to generate the
16963	above files.
16964
169652011-05-18  castaglia <castaglia>
16966
16967	* tests/t/etc/modules/mod_quotatab_file/NOTES: Remove the broken
16968	file tables for the group quota test.  Add notes for how the file
16969	tables were generated, for future reference.
16970
169712011-05-18  castaglia <castaglia>
16972
16973	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Update the
16974	group quota regression test to use the fixed table files.
16975
169762011-05-18  castaglia <castaglia>
16977
16978	* : Fixing the group quota file-based tables for the
16979	mod_quotatab_file regression test.
16980
169812011-05-18  castaglia <castaglia>
16982
16983	* : Adding the limit/tally file tables for the ALL regression test.
16984
169852011-05-18  castaglia <castaglia>
16986
16987	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Adding
16988	regression test involving file-based quota tables and an ALL quota
16989	(from the forums).
16990
169912011-05-18  castaglia <castaglia>
16992
16993	* configure: Updated configure.
16994
169952011-05-18  castaglia <castaglia>
16996
16997	* configure.in: Fix --disable-strip logic.
16998
169992011-05-18  castaglia <castaglia>
17000
17001	* doc/contrib/mod_wrap2.html: Fix typos in the mod_wrap2 docs.
17002
170032011-05-18  castaglia <castaglia>
17004
17005	* contrib/mod_sftp/packet.c: Refactor the ssh2_sftp_packet_read()
17006	function, moving some of the special-case handling of SSH messages
17007	like DEBUG, IGNORE, UNIMPLEMENTED et al into the
17008	ssh2_sftp_packet_handle() function, where all of the other SSH
17009	message types are handled.  Now all of the message types are handled
17010	in the same function, in the same way.
17011
170122011-05-17  castaglia <castaglia>
17013
17014	* NEWS, modules/mod_xfer.c: Bug#3656 - Prefer "File too big" error
17015	message for MaxStoreFilesize.
17016
170172011-05-16  castaglia <castaglia>
17018
17019	* modules/mod_xfer.c: Another typo.
17020
170212011-05-16  castaglia <castaglia>
17022
17023	* modules/mod_xfer.c: Typo.
17024
170252011-05-15  castaglia <castaglia>
17026
17027	* contrib/mod_sftp/packet.c: Leaving notes for myself about the use
17028	of TCP_CORK/TCP_NOPUSH when sending SSH messages.
17029
170302011-05-15  castaglia <castaglia>
17031
17032	* include/inet.h, modules/mod_xfer.c, src/inet.c: Refactor
17033	pr_inet_set_proto_opts(), breaking out the TCP_CORK/TCP_NOPUSH
17034	functionality into a new pr_inet_set_proto_cork() function.  This
17035	was done to test using TCP_CORK/TCP_NOPUSH in mod_sftp.
17036
170372011-05-15  castaglia <castaglia>
17038
17039	* contrib/mod_sftp/packet.c, contrib/mod_sftp/packet.h,
17040	contrib/mod_sftp/tap.c: Refactor mod_sftp's packet functions a
17041	little, removing the circular calling between
17042	sftp_ssh2_packet_write() and sftp_tap_send_packet(). This allows us
17043	to remove the ugly hack in the TAP code.  Also included the number of bytes written out by writev(2), so that
17044	we can get a better idea of the sizes of the messages being written
17045	to the network.  This helps when looking at things like MSS, delayed
17046	ACKs, Nagle, etc.
17047
170482011-05-13  castaglia <castaglia>
17049
17050	* contrib/mod_sftp/mod_sftp.c: Provide better error message for
17051	SFTPClientMatch values configured to be zero.
17052
170532011-05-13  castaglia <castaglia>
17054
17055	* NEWS, src/main.c: Bug#3653 - Segfault with "DefaultServer off" and
17056	no matching server for incoming IP address.
17057
170582011-05-13  castaglia <castaglia>
17059
17060	* configure: Updated configure.
17061
170622011-05-13  castaglia <castaglia>
17063
17064	* configure.in: Renaming --enable-symbols configure option, added
17065	for Bug#3651, to be --disable-strip (which is what OpenSSH uses).
17066
170672011-05-13  castaglia <castaglia>
17068
17069	* doc/contrib/mod_sftp.html: Typo.
17070
170712011-05-13  castaglia <castaglia>
17072
17073	* contrib/mod_sftp/keys.c: Fix typo in comment.
17074
170752011-05-11  castaglia <castaglia>
17076
17077	* doc/howto/TLS.html: Added TLS FAQ/example config for requring FTPS
17078	for remote clients but allowing just FTP for local clients.
17079
170802011-05-11  castaglia <castaglia>
17081
17082	* contrib/mod_wrap.c: Additional fixes for Bug#3652.
17083
170842011-05-11  castaglia <castaglia>
17085
17086	* contrib/mod_sftp/fxp.c: Add proper dispatching through PRE_CMD
17087	phase handlers for the FSETSTAT SFTP request, including the path of
17088	the file being changed (not the filehandle).
17089
170902011-05-09  castaglia <castaglia>
17091
17092	* NEWS, contrib/mod_wrap.c: Bug#3652 - TCPAccessSyslogLevel
17093	directive broken by Bug#3317.
17094
170952011-05-08  castaglia <castaglia>
17096
17097	* configure: Updated configure.
17098
170992011-05-08  castaglia <castaglia>
17100
17101	* configure.in: Adding --enable-symbols configure option, to
17102	generate proftpd code which is not stripped of code symbols at
17103	install time (Bug#3651).
17104
171052011-05-08  castaglia <castaglia>
17106
17107	* contrib/mod_load/Makefile.in, contrib/mod_sftp/Makefile.in,
17108	contrib/mod_wrap2/Makefile.in: Minor cleanups of paths, removing
17109	some double-slash occurrences (pointed out in Bug#3651).
17110
171112011-05-05  castaglia <castaglia>
17112
17113	* modules/mod_facts.c: Update mod_facts to use the new defines for
17114	the MFF and MFMT commands.
17115
171162011-05-05  castaglia <castaglia>
17117
17118	* include/cmd.h, include/ftp.h, src/cmd.c: Include defines ands IDs
17119	for the MFF and MFMT commands.  Add define (not ID yet) for the HOST
17120	command.
17121
171222011-05-05  castaglia <castaglia>
17123
17124	* modules/mod_ls.c: Remove now-unused variable declaration.
17125
171262011-05-04  castaglia <castaglia>
17127
17128	* contrib/mod_sftp/fxp.c: Fix issues with mod_sftp's handling of the
17129	RMDIR and REMOVE requests with regard to PRE_CMD handlers.
17130
171312011-05-03  castaglia <castaglia>
17132
17133	* modules/mod_core.c: If the system defines the SOMAXCONN limit,
17134	then make sure that a configured TCPBacklog value does not exceed
17135	that limit.
17136
171372011-05-02  castaglia <castaglia>
17138
17139	* contrib/mod_quotatab_sql.c, contrib/mod_sql_passwd.c: More
17140	idiomatic check for DECLINED/null results.
17141
171422011-05-01  jwm <jwm>
17143
17144	* Makefile.in: - execute the clean target in tests/, too - remove some Makefiles on distclean that were sneaking their way
17145	  into release tarballs
17146
171472011-05-01  castaglia <castaglia>
17148
17149	* contrib/mod_ban.c, contrib/mod_deflate.c,
17150	contrib/mod_quotatab_sql.c, contrib/mod_rewrite.c,
17151	contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
17152	contrib/mod_sftp/cipher.c, contrib/mod_sftp/kex.c,
17153	contrib/mod_sftp/packet.c, contrib/mod_sftp/rfc4716.c,
17154	contrib/mod_sftp/scp.c, contrib/mod_sftp/utf8.c, contrib/mod_sql.c,
17155	contrib/mod_sql_passwd.c, contrib/mod_tls.c, lib/pr-syslog.c,
17156	modules/mod_auth.c, modules/mod_core.c, modules/mod_facts.c,
17157	modules/mod_ls.c, modules/mod_xfer.c, src/auth.c, src/ctrls.c,
17158	src/encode.c, src/help.c, src/inet.c, src/main.c, src/netaddr.c,
17159	src/scoreboard.c, src/stash.c, src/table.c, utils/ftpcount.c,
17160	utils/ftptop.c, utils/ftpwho.c: Fix up various small issues found by
17161	Apple's clang static source code analysis tool.
17162
171632011-04-30  castaglia <castaglia>
17164
17165	* lib/tpl.c: Fixing nits in libtpl found by Apple's clang static
17166	source code analysis tool.
17167
171682011-04-30  castaglia <castaglia>
17169
17170	* modules/mod_delay.c: Fix nit found by Apple's clang static source
17171	code analysis tool.
17172
171732011-04-30  castaglia <castaglia>
17174
17175	* src/pool.c: Adding comment describing why the logic in
17176	null_alloc() is as intended, for future reference.
17177
171782011-04-30  castaglia <castaglia>
17179
17180	* modules/mod_facts.c: Fix up minor nits pointed out by Apple'c
17181	clang static code analysis tool.
17182
171832011-04-29  castaglia <castaglia>
17184
17185	* modules/mod_auth.c: Paranoidly guard against possible NULL pointer
17186	dereference (found by Klocwork static source code analysis).
17187
171882011-04-29  castaglia <castaglia>
17189
17190	* NEWS, modules/mod_xfer.c: Bug#3649 - MaxStoreFileSize can be
17191	bypassed using REST/APPE.
17192
171932011-04-29  castaglia <castaglia>
17194
17195	* modules/mod_log.c: Code/style clarity.
17196
171972011-04-29  castaglia <castaglia>
17198
17199	* modules/mod_facts.c: Typo.
17200
172012011-04-29  castaglia <castaglia>
17202
17203	* src/fsio.c: Fix issue highlighted by Klocwork's static source code
17204	analysis.
17205
172062011-04-29  castaglia <castaglia>
17207
17208	* modules/mod_ls.c: Fix issue highlighted by Klocwork's static
17209	source code analysis.
17210
172112011-04-28  castaglia <castaglia>
17212
17213	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Adding
17214	regression test for Bug#3649.
17215
172162011-04-26  castaglia <castaglia>
17217
17218	* doc/modules/mod_xfer.html: Filling in the descriptions for
17219	MaxRetrieveFileSize and MaxStoreFileSize in the mod_xfer HTML docs.
17220
172212011-04-22  castaglia <castaglia>
17222
17223	* doc/howto/TLS.html: Adding a TLS FAQ about long-lived FTPS
17224	sessions, the NoSessionReuseRequired TLSOption, and SSL session
17225	caching timeouts (cf. Bug#3580).
17226
172272011-04-22  castaglia <castaglia>
17228
17229	* doc/contrib/mod_tls.html, doc/howto/TLS.html: A few minor
17230	improvements to the mod_tls docs.
17231
172322011-04-22  castaglia <castaglia>
17233
17234	* include/log.h, modules/mod_log.c, src/ftpdctl.c, src/log.c,
17235	src/main.c, src/trace.c, src/xferlog.c: Add a new API for generating
17236	events whenever messages are logged.  These events cover
17237	TransferLog, SystemLog, syslog, TraceLog, and per-module logging.  Listeners for these events can be registered by modules which want
17238	to send the log messages remotely, process/digest/aggregrate them,
17239	etc.  (And yes, I do already have a mod_log_forensic module which
17240	uses these events, which I may decide is worth bundling with
17241	proftpd.)
17242
172432011-04-21  castaglia <castaglia>
17244
17245	* NEWS, src/main.c: Bug#3644 - Disable signal handling for exiting
17246	session processes.
17247
172482011-04-21  castaglia <castaglia>
17249
17250	* doc/howto/Tracing.html: Fix broken URL.
17251
172522011-04-20  castaglia <castaglia>
17253
17254	* contrib/mod_exec.c, doc/contrib/mod_exec.html: Disable the
17255	sendStdout ExecOption completely for SSH2 sessions, if possible.  Update the docs for sendStdout to mention that this option, for SSH2
17256	sessions, is a bad idea.
17257
172582011-04-20  castaglia <castaglia>
17259
17260	* contrib/mod_sftp/mod_sftp.c: Move the setting of the session
17261	protocol to 'SSH2' to be earlier in the cycle, i.e. during
17262	mod_sftp's sess init callback.  This should help clear up the "SSH2
17263	session opened" messages (which are currently logged as "FTP session
17264	opened" but "SSH2 session closed").
17265
172662011-04-20  castaglia <castaglia>
17267
17268	* contrib/mod_exec.c: If we detect that mod_exec's ExecOnConnect
17269	scripts are being used in an SSH2 session, disable the sendStdout
17270	ExecOption -- it will only cause connection problems for those
17271	clients.
17272
172732011-04-20  castaglia <castaglia>
17274
17275	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/exec.pm,
17276	tests/t/modules/mod_sftp/exec.t, tests/tests.pl: Adding unit tests
17277	for mod_exec/mod_sftp interoperability.
17278
172792011-04-19  castaglia <castaglia>
17280
17281	* modules/mod_auth_pam.c: Typo.
17282
172832011-04-19  castaglia <castaglia>
17284
17285	* doc/contrib/mod_sql_odbc.html: Improved the mod_sql_odbc docs a
17286	little.
17287
172882011-04-19  castaglia <castaglia>
17289
17290	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_odbc.pm,
17291	tests/t/modules/mod_sql_odbc.t, tests/tests.pl: Add unit tests for
17292	mod_sql_odbc.
17293
172942011-04-19  castaglia <castaglia>
17295
17296	* contrib/mod_sql_odbc.c: Fix some issues found in mod_sql_odbc
17297	while working on some regression tests for it.
17298
172992011-04-19  castaglia <castaglia>
17300
17301	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Unless explicitly set, use
17302	a TimeoutLinger value of 1 in the testsuite.
17303
173042011-04-15  castaglia <castaglia>
17305
17306	* NEWS, contrib/mod_sql.c,
17307	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3645 -
17308	Ensure that SQLNamedConnectInfos with PERSESSION connection policies
17309	are opened before chroot.
17310
173112011-04-15  castaglia <castaglia>
17312
17313	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
17314	tests for mod_sftp's handling of SYMLINK requests when the
17315	destination already exists, and when the source does not exist.
17316
173172011-04-15  castaglia <castaglia>
17318
17319	* contrib/mod_sftp/auth.c: Use a dynamically allocated string for
17320	the fake PASS cmd_rec dispatched for SSH2 authentication, rather
17321	than a read-only stack string; the latter causes problems when
17322	mod_auth goes to scrub that password buffer.
17323
173242011-04-15  castaglia <castaglia>
17325
17326	* contrib/mod_sftp/fxp.c: Another conversion from strchr(3) to
17327	memchr(3).
17328
173292011-04-14  castaglia <castaglia>
17330
17331	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Tweaks to the
17332	mod_sftp testsuite, making sure that all of the current tests pass.
17333
173342011-04-14  castaglia <castaglia>
17335
17336	* contrib/mod_sftp/channel.c: Add trace logging of when we invoke a
17337	channel's finish handler.
17338
173392011-04-14  castaglia <castaglia>
17340
17341	* include/cmd.h, src/cmd.c, src/main.c: Another minor performance
17342	optimization: use memchr(3) instead of strchr(3) where we can,
17343	especially on hot paths, to save on a strlen(3) call inside of the C
17344	library.
17345
173462011-04-14  castaglia <castaglia>
17347
17348	* contrib/mod_sftp/kex.c: Another performance/optimization tweak:
17349	use memchr(3) instead of strchr(3), and save on a strlen(3) in the C
17350	library.
17351
173522011-04-14  castaglia <castaglia>
17353
17354	* src/scoreboard.c: Watch for, and log, any short writes when
17355	updating a scoreboard entry.
17356
173572011-04-14  castaglia <castaglia>
17358
17359	* contrib/mod_exec.c: Fixed compiler issue in previous change; need
17360	to provide all the proper arguments to a printf() style function.
17361
173622011-04-14  castaglia <castaglia>
17363
17364	* contrib/mod_exec.c: Adding a little more logging of the value
17365	returned from mod_exec's exec_ssystem() function.  This helps
17366	diagnose whether the value returned came from the command that was
17367	executed, and whether a coredump file was created by that command.
17368
173692011-04-14  castaglia <castaglia>
17370
17371	* contrib/mod_rewrite.c: Slightly better logging of mod_rewrite's
17372	file test operators and the path against which they are being
17373	evaluated.
17374
173752011-04-14  castaglia <castaglia>
17376
17377	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
17378	another reproduction recipe for Bug#3643 to the testsuite.
17379
173802011-04-14  castaglia <castaglia>
17381
17382	* doc/modules/mod_core.html: Add docs for the TimeoutLinger
17383	directive.
17384
173852011-04-14  castaglia <castaglia>
17386
17387	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm: Adding
17388	regression test for Bug#3643.
17389
173902011-04-13  castaglia <castaglia>
17391
17392	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Update the
17393	mod_sql/mod_sql_sqlite unit tests so that they run properly if run
17394	with root privs.
17395
173962011-04-13  castaglia <castaglia>
17397
17398	* configure: Updated configure.
17399
174002011-04-13  castaglia <castaglia>
17401
17402	* configure.in: Be more defensive about the --with-X configure
17403	options, and make sure that the provided values (if any) are
17404	suitable for use.
17405
174062011-04-12  castaglia <castaglia>
17407
17408	* NEWS, contrib/mod_sql.c: Bug#3642 - Segfault seen in mod_sql_mysql
17409	if "SQLAuthenticate groupsetfast" used.
17410
174112011-04-12  castaglia <castaglia>
17412
17413	* contrib/mod_sql_mysql.c: Typo.
17414
174152011-04-12  castaglia <castaglia>
17416
17417	* contrib/mod_sql.c, modules/mod_log.c,
17418	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Logging of the
17419	%{uid} and %{gid} variables (added in Bug#3390) was using
17420	session.{uid,gid} rather than the more proper
17421	session.login_{uid,gid} members.  The difference is between the
17422	UID/GID of the authenticated user versus the UID/GID of the
17423	User/Group config directives.
17424
174252011-04-09  castaglia <castaglia>
17426
17427	* NEWS, contrib/mod_copy.c, contrib/mod_quotatab.c: Bug#3641 - SITE
17428	CPFR/CPTO does not update quota tally.
17429
174302011-04-09  castaglia <castaglia>
17431
17432	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab/copy.pm,
17433	tests/t/modules/mod_quotatab/copy.t, tests/tests.pl: Added
17434	regression tests for mod_copy/mod_quotatab, for Bug#3641.
17435
174362011-04-07  castaglia <castaglia>
17437
17438	* modules/mod_auth.c: Scrub the memory holding the password received
17439	from the client when done processing the PASS command.
17440
174412011-04-07  castaglia <castaglia>
17442
17443	* include/proftpd.h, src/main.c: Add a new session.curr_cmd_id,
17444	which holds the command ID for the current command (found in
17445	session.curr_cmd), for faster identification of the command.
17446
174472011-04-06  castaglia <castaglia>
17448
17449	* doc/howto/Chroot.html: Adding more chroot-related FAQs to the
17450	Chroot howto.
17451
174522011-04-06  castaglia <castaglia>
17453
17454	* tests/t/config/defaultroot.t,
17455	tests/t/lib/ProFTPD/Tests/Config/DefaultRoot.pm, tests/tests.pl:
17456	Adding regression tests for various DefaultRoot configurations
17457	involving symlinks.
17458
174592011-04-06  castaglia <castaglia>
17460
17461	* doc/modules/mod_dso.html: Typo.
17462
174632011-04-06  castaglia <castaglia>
17464
17465	* doc/modules/mod_auth.html: Add docs for the UserPassword
17466	directive, including examples.
17467
174682011-04-06  castaglia <castaglia>
17469
17470	* NEWS, src/netio.c: Bug#3639 - Avoid spinning proftpd process if
17471	read(2) returns EAGAIN.
17472
174732011-04-06  castaglia <castaglia>
17474
17475	* RELEASE_NOTES: Forgot to mention the new ProcessTitles directive
17476	in the release notes for 1.3.4rc2.
17477
174782011-04-06  castaglia <castaglia>
17479
17480	* doc/modules/mod_ctrls.html: Fix typos in mod_ctrls docs.
17481
174822011-04-05  castaglia <castaglia>
17483
17484	* doc/howto/Compiling.html, doc/modules/mod_memcache.html: Mention
17485	the minimum libmemcached library version requirement in the
17486	mod_memcache docs, and the minimum pcre library versoin requirement
17487	in the Compiling howto.
17488
174892011-04-05  castaglia <castaglia>
17490
17491	* NEWS, include/regexp.h, src/memcache.c: Bug#3637 - Enforce pcre
17492	and libmemcached version requirements.
17493
174942011-04-04  castaglia <castaglia>
17495
17496	* tests/api/stubs.c: Fix API testsuite compilation when
17497	--enable-pcre configure option is used.
17498
174992011-04-01  castaglia <castaglia>
17500
17501	* include/version.h: Setting version back to CVS status, with
17502	increased version number for next release.
17503
175042011-04-01  castaglia <castaglia>
17505
17506	* ChangeLog: Updated ChangeLog.
17507
175082011-04-01  castaglia <castaglia>
17509
17510	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Getting
17511	ready to release 1.3.4rc2.
17512
175132011-04-01  castaglia <castaglia>
17514
17515	* locale/proftpd.pot: Updated the template of strings to be
17516	translated.
17517
175182011-04-01  castaglia <castaglia>
17519
17520	* modules/mod_core.c: Fix the NLS support for a FEAT string in
17521	mod_core, so that generating the proftpd.pot file doesn't cause
17522	complaints about a string containing the '\r' character.
17523
175242011-04-01  castaglia <castaglia>
17525
17526	* locale/files.txt: Updating list of localisable files.
17527
175282011-03-31  castaglia <castaglia>
17529
17530	* NEWS, contrib/mod_sftp/keys.c,
17531	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3634 - Incorrect
17532	generation of DSA signature for SSH sessions.
17533
175342011-03-30  castaglia <castaglia>
17535
17536	* doc/howto/ConfigurationTricks.html: Add mention of proftpd's
17537	support for simple directory hashing using the %u variable to the
17538	ConfigurationTricks howto.
17539
175402011-03-30  castaglia <castaglia>
17541
17542	* doc/modules/mod_core.html: Adding more references about
17543	kernel-level tuning for TCP backlogs and SYN cookies and such to the
17544	TCPBacklog directive docs.
17545
175462011-03-30  castaglia <castaglia>
17547
17548	* doc/modules/mod_core.html: Add docs for the TCPBacklog directive.
17549
175502011-03-30  castaglia <castaglia>
17551
17552	* src/table.c: Remove an unnecessary (and unused) pointer increment
17553	in the Table API's default hashing.  Make the table dump messages a
17554	little better by including the calculated hash value for each entry
17555	in the message.
17556
175572011-03-30  castaglia <castaglia>
17558
17559	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Config/Trace.pm: The
17560	Trace directive can be set on a per-session basis using the
17561	"session" parameter.  The addition of log level ranges (Bug#3617)
17562	was not handled properly for such per-session Trace settings.
17563
175642011-03-29  castaglia <castaglia>
17565
17566	* tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Add regression
17567	tests demonstrating that "demuxing" based on the username variable
17568	%u still works as advertised.  Still need some negative test cases
17569	for this feature, though.
17570
175712011-03-29  castaglia <castaglia>
17572
17573	* RELEASE_NOTES: Mention a few more addressed issues in the release
17574	notes.
17575
175762011-03-29  castaglia <castaglia>
17577
17578	* RELEASE_NOTES: Finishing up the release notes for 1.3.4rc2.
17579
175802011-03-29  castaglia <castaglia>
17581
17582	* doc/modules/mod_log.html: Mention the new EXIT ExtendedLog
17583	"command class" in the mod_log docs.
17584
175852011-03-29  castaglia <castaglia>
17586
17587	* doc/modules/mod_core.html: Adding docs for the PathAllowFilter and
17588	PathDenyFilter directives.
17589
175902011-03-29  castaglia <castaglia>
17591
17592	* doc/modules/mod_core.html: Add docs for the TransferLog directive.
17593
175942011-03-29  castaglia <castaglia>
17595
17596	* doc/modules/mod_log.html: Minor doc tweaks.
17597
175982011-03-28  castaglia <castaglia>
17599
17600	* doc/howto/Compiling.html: Mention the new --enable-memcache and
17601	--enable-pcre configure options in the Compiling howto.
17602
176032011-03-28  castaglia <castaglia>
17604
17605	* doc/modules/mod_memcache.html: Updating mod_memcache docs a little
17606	more.
17607
176082011-03-28  castaglia <castaglia>
17609
17610	* src/scoreboard.c: If "ScoreboardFile /dev/null" is configured,
17611	don't try to delete the /dev/null device.  Some platforms will
17612	actually let you do this.
17613
176142011-03-26  castaglia <castaglia>
17615
17616	* include/session.h: Include an end-of-session code for snprintf(3)
17617	buffer truncation.  I'll soon be adding code which uses this
17618	end-of-session code.
17619
176202011-03-26  castaglia <castaglia>
17621
17622	* NEWS, contrib/mod_exec.c, contrib/mod_ifsession.c,
17623	contrib/mod_sql.c, include/dirtree.h, modules/mod_cap.c,
17624	modules/mod_core.c: Bug#3610 - Proftpd is eating CPU when reparsing
17625	configuration file on SIGHUP.  The mod_sql module was marking most of its config_recs with the
17626	CF_MERGEDOWN flag -- but it only ever looked up those config_recs
17627	from the server->conf list, and never from the per-directory list.
17628	This meant that those mod_sql config_recs would be merged down
17629	needlessly.  In configurations with many <Directory> sections (e.g.
17630	into the hundreds), the merging process would take hundreds of
17631	seconds, if not longer, during startup/restart.  I've removed those unneeded CF_MERGEDOWN flags.  And in places where
17632	CF_MERGEDOWN_MULTI was used solely to prevent mod_ifsession from
17633	removing a config_rec, I've added a new CF_MULTI flag, for such
17634	needs (without the merging down semantics).
17635
176362011-03-26  castaglia <castaglia>
17637
17638	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Remove commented-out
17639	config.
17640
176412011-03-26  castaglia <castaglia>
17642
17643	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Refining the regression
17644	test for Bug#3610.
17645
176462011-03-26  castaglia <castaglia>
17647
17648	* src/main.c: Add trace logging of the entire time it takes to
17649	handle a SIGHUP/restart.
17650
176512011-03-25  castaglia <castaglia>
17652
17653	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: The regression test for
17654	Bug#3610 requires a proftpd with the mod_sql module.
17655
176562011-03-25  castaglia <castaglia>
17657
17658	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm: Adding reproduction
17659	recipe/regression test for Bug#3610.
17660
176612011-03-25  castaglia <castaglia>
17662
17663	* src/dirtree.c: Provide more legible trace logging of the
17664	config_type value for a config_rec.
17665
176662011-03-25  castaglia <castaglia>
17667
17668	* src/trace.c: Fix compiler warning.
17669
176702011-03-25  castaglia <castaglia>
17671
17672	* doc/contrib/mod_sftp.html, doc/howto/TLS.html: Adding FAQs about
17673	the OpenSSL header/library version mismatch warning to both the
17674	mod_tls and the mod_sftp docs.
17675
176762011-03-25  castaglia <castaglia>
17677
17678	* NEWS, contrib/mod_sql.c, src/main.c,
17679	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3633 -
17680	Using SQLOption noDisconnectOnError can cause ExtendedLog logging to
17681	silently fail.
17682
176832011-03-24  castaglia <castaglia>
17684
17685	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Regression test to
17686	make sure that mod_sftp fails an RMDIR SFTP request if the directory
17687	in question is not empty.
17688
176892011-03-24  castaglia <castaglia>
17690
17691	* doc/modules/mod_core.html: Adding docs for the new TraceOptions
17692	directive.
17693
176942011-03-24  castaglia <castaglia>
17695
17696	* tests/t/config/traceoptions.t,
17697	tests/t/lib/ProFTPD/Tests/Config/TraceOptions.pm, tests/tests.pl:
17698	Adding regression tests for the TraceOptions directive (Bug#3631).
17699
177002011-03-24  castaglia <castaglia>
17701
17702	* NEWS, RELEASE_NOTES, include/trace.h, modules/mod_core.c,
17703	src/trace.c: Bug#3631 - Support TraceOptions directive, for altering
17704	TraceLog format slightly.
17705
177062011-03-24  castaglia <castaglia>
17707
17708	* NEWS, contrib/mod_sql.c: Bug#3632 - mod_sql should log
17709	"unrecoverable database error" at a higher priority.
17710
177112011-03-24  castaglia <castaglia>
17712
17713	* contrib/mod_sftp/mod_sftp.c: Try to make sure that we only send
17714	SSH2 DISCONNECT messages, as when mod_ban rejects a client, only to
17715	SSH2 clients and not to any other (e.g. FTP) clients.
17716
177172011-03-24  castaglia <castaglia>
17718
17719	* contrib/mod_sftp/mod_sftp.c: Now mod_sftp has separate event
17720	listeners for the 'core.exit' event (for session processes) and the
17721	'core.shutdown' event (for daemon shutdown), rather than overloading
17722	the same event listener for both use cases.
17723
177242011-03-24  castaglia <castaglia>
17725
17726	* NEWS, contrib/mod_sftp/mod_sftp.c,
17727	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3630 - SSH
17728	DISCONNECT messages sent by mod_sftp even for FTP connections in
17729	some cases.
17730
177312011-03-24  castaglia <castaglia>
17732
17733	* contrib/mod_rewrite.c: Update mod_rewrite to use pr_cmd_strcmp()
17734	where appropriate.
17735
177362011-03-23  castaglia <castaglia>
17737
17738	* doc/modules/mod_log.html: Document how the ExtendedLog directive
17739	can be used to log the data to syslog rather than to a file.
17740
177412011-03-23  castaglia <castaglia>
17742
17743	* src/inet.c: Merging more fixes from the FreeBSD ports tree, which
17744	were neglected to be reported upstream.  Sigh.
17745
177462011-03-23  castaglia <castaglia>
17747
17748	* NEWS, src/throttle.c: Bug#3628 - Unnecessarily verbose "warning:
17749	unable to throttle bandwidth: Interrupted system call".
17750
177512011-03-22  castaglia <castaglia>
17752
17753	* configure: Updated configure.
17754
177552011-03-22  castaglia <castaglia>
17756
17757	* configure.in: Use the AC_TRY_LINK, and explicitly provide the test
17758	code to compile, for detecting the backtrace(3) and
17759	backtrace_symbols(3) functions, on platforms where the
17760	compiler/library combinations are too stupid to be able to do it
17761	themselves (e.g. Solaris 10 and gcc).
17762
177632011-03-22  castaglia <castaglia>
17764
17765	* NEWS, contrib/mod_sql.c,
17766	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3627 - %w
17767	variable populated with non-absolute path in SQLLog statement.
17768
177692011-03-22  castaglia <castaglia>
17770
17771	* contrib/mod_ban.c, contrib/mod_shaper.c,
17772	contrib/mod_tls_shmcache.c, modules/mod_ctrls.c,
17773	modules/mod_delay.c: Updating more modules to use the
17774	'core.shutdown' event for their shutdown listeners.
17775
177762011-03-22  castaglia <castaglia>
17777
17778	* contrib/mod_tls.c: Update mod_tls so that it uses the new
17779	'core.shutdown' event for its daemon shutdown handling, rather than
17780	the old overloaded 'core.exit' event.
17781
177822011-03-22  castaglia <castaglia>
17783
17784	* tests/t/etc/modules/mod_tls/NOTES,
17785	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding regression test
17786	for the TLSPassPhraseProvider directive.  And updating the notes on
17787	how to generate the passphrase-protected server cert used in the
17788	test.
17789
177902011-03-22  castaglia <castaglia>
17791
17792	* tests/t/etc/modules/mod_tls/server-cert-passwd.pem,
17793	tests/t/etc/modules/mod_tls/tls-get-passphrase.pl: Adding a test
17794	passphrase-protected server cert, and a passphrase-provider script,
17795	for testing the mod_tls TLSPassPhraseProvider directive.
17796
177972011-03-22  castaglia <castaglia>
17798
17799	* contrib/mod_tls.c: Start using trace logging for some of the
17800	mod_tls actions, especially those during server startup.
17801
178022011-03-22  castaglia <castaglia>
17803
17804	* contrib/mod_tls.c: Additional fix for Bug#3624.
17805
178062011-03-22  castaglia <castaglia>
17807
17808	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Adding another
17809	regression test for CreateHome, making sure it parses all of the
17810	multiple options at the same time.
17811
178122011-03-22  castaglia <castaglia>
17813
17814	* contrib/mod_ifsession.c: Changing a few cases of strcmp(3) on
17815	fixed-length strings to use strncmp(3).  Adding debug logging of the
17816	regular expressions that mod_ifsession might be evaluating.
17817
178182011-03-22  castaglia <castaglia>
17819
17820	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Regression
17821	test for Bug#3625.
17822
178232011-03-21  castaglia <castaglia>
17824
17825	* configure: Updated configure.
17826
178272011-03-21  castaglia <castaglia>
17828
17829	* configure.in: Check for headers that platforms often want for
17830	their backtrace(2) functions, before checking for the backtrace(2)
17831	function itself.
17832
178332011-03-21  castaglia <castaglia>
17834
17835	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
17836	test for the %f LogFormat variable and the SFTP REMOVE request.
17837
178382011-03-21  castaglia <castaglia>
17839
17840	* NEWS, src/scoreboard.c: Bug#3623 - Truncated client name saved in
17841	ScoreboardFile.
17842
178432011-03-21  castaglia <castaglia>
17844
17845	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add test
17846	showing how <IfUser> can be used with SQLLog EXIT to only log EXIT
17847	statements for authenticated clients.
17848
178492011-03-21  castaglia <castaglia>
17850
17851	* NEWS, contrib/mod_ifsession.c: Bug#3625 - mod_ifsession rules
17852	using regular expressions do not work.
17853
178542011-03-21  castaglia <castaglia>
17855
17856	* NEWS, contrib/mod_tls.c: Bug#3624 - Plaintext command injection in
17857	FTPS support.
17858
178592011-03-21  castaglia <castaglia>
17860
17861	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm: Adding regression
17862	tests for Bug#3622.
17863
178642011-03-21  castaglia <castaglia>
17865
17866	* NEWS, modules/mod_delay.c: Bug#3622 - mod_delay sometimes logs
17867	"unable to load DelayTable into memory".
17868
178692011-03-21  castaglia <castaglia>
17870
17871	* src/session.c: Don't try to stash session disconnect notes in the
17872	session.notes table if that table does not exit.
17873
178742011-03-21  castaglia <castaglia>
17875
17876	* src/main.c: If the session exits because of a signal, use
17877	pr_session_disconnect() to set this end-of-session code.
17878
178792011-03-21  castaglia <castaglia>
17880
17881	* modules/mod_delay.c: If we fail to load the DelayTable into memory
17882	via mmap(2) AND we locked the DelayTable before this, be sure to
17883	release that lock.
17884
178852011-03-21  castaglia <castaglia>
17886
17887	* utils/scoreboard.c: Adding explicit off_t typecasts in the utility
17888	code for reading the scoreboard.
17889
178902011-03-21  castaglia <castaglia>
17891
17892	* src/scoreboard.c: Add explicit typecasts to off_t for some of the
17893	lseek(2) calls in the scoreboard code, to ensure that compilers on
17894	64-bit machines Do The Right Thing(tm).
17895
178962011-03-21  castaglia <castaglia>
17897
17898	* modules/mod_delay.c: Don't penalize clients by taking the
17899	row-locking time into account as part of the USER/PASS command
17900	times; lock the DelayTable row after getting the duration for those
17901	commands, not before.
17902
179032011-03-21  castaglia <castaglia>
17904
17905	* contrib/mod_quotatab_file.c: Some compilers don't use the correct
17906	argument size (e.g. on 64-bit platforms); add an explicit typecast
17907	to off_t where needed.
17908
179092011-03-21  castaglia <castaglia>
17910
17911	* contrib/mod_quotatab.c: Reset errno after delaying after a failed
17912	lock poll.
17913
179142011-03-21  castaglia <castaglia>
17915
17916	* src/scoreboard.c: Add more trace logging of the scoreboard
17917	scrubbing process.  Fix the releasing of the lock on the
17918	ScoreboardMutex fd after scrubbing such that it uses SETLKW, rather
17919	than SETLK.  Reset errno after the delay due to being unable to
17920	obtain a lock on the ScoreboardMutex.
17921
179222011-03-20  castaglia <castaglia>
17923
17924	* tests/t/lib/ProFTPD/Tests/Modules/mod_delay.pm,
17925	tests/t/modules/mod_delay.t, tests/tests.pl: Start collecting
17926	regression tests for the mod_delay module.
17927
179282011-03-20  castaglia <castaglia>
17929
17930	* modules/mod_delay.c: Make all uses of pr_trace_msg() in mod_delay
17931	use the trace_channel variable; saves a few bytes of space.
17932
179332011-03-20  castaglia <castaglia>
17934
17935	* modules/mod_delay.c: Include the DelayTable fd in the error
17936	messages, and fix a case where the wrong errno value was being used.
17937
179382011-03-20  castaglia <castaglia>
17939
17940	* modules/mod_delay.c: Re-register any 'delay' ftpdctl actions upon
17941	restart.
17942
179432011-03-20  castaglia <castaglia>
17944
17945	* doc/contrib/mod_sql.html: Adding documentation for the new
17946	SQLNamedConnectInfo directive.
17947
179482011-03-20  castaglia <castaglia>
17949
17950	* NEWS, contrib/mod_quotatab.c,
17951	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3621 -
17952	mod_quotatab increments tallies for aborted uploads if
17953	DeleteAbortedStores is on.
17954
179552011-03-20  castaglia <castaglia>
17956
17957	* src/auth.c: Generate a new event, 'core.chroot', just before a
17958	chroot(2) occurs.  Many modules want to know when a chroot is about
17959	to occur.
17960
179612011-03-20  castaglia <castaglia>
17962
17963	* src/cmd.c: Make the Command API a little more bullet-proof by
17964	trying catch some invalid arguments of various sorts.
17965
179662011-03-20  castaglia <castaglia>
17967
17968	* tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm: Add
17969	another unit tests for the DeleteAbortedStores directive, this time
17970	explicitly sending the ABOR command (without the OOB bit on the TCP
17971	connection).
17972
179732011-03-20  castaglia <castaglia>
17974
17975	* tests/Makefile.in, tests/api/cmd.c, tests/api/stubs.c,
17976	tests/api/tests.c, tests/api/tests.h: Adding API tests for the
17977	Command API, including the newly added pr_cmd_get_id(),
17978	pr_cmd_cmp(), and pr_cmd_strcmp() functions.
17979
179802011-03-19  castaglia <castaglia>
17981
17982	* NEWS, modules/mod_xfer.c,
17983	tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm: Bug#3574 - Better
17984	handling of ALLO command.
17985
179862011-03-19  castaglia <castaglia>
17987
17988	* modules/mod_auth_unix.c: Slightly less expensive gathering of
17989	groups by using strncmp() using the length of the user name
17990	calculated only once, rather than once per group member.
17991
179922011-03-19  castaglia <castaglia>
17993
17994	* src/cmd.c: More defensive programming: if the cmd ID of a given
17995	cmd_rec is unknown, try to look it up.  If it is known to be
17996	unknown, just return.
17997
179982011-03-19  castaglia <castaglia>
17999
18000	* contrib/mod_sftp/fxp.c: Update mod_sftp to use pr_cmd_cmp() where
18001	possible.  And fix a segfault when handling RMDIR (appeared on my
18002	Mac OSX box due to different libc implementation).
18003
180042011-03-19  castaglia <castaglia>
18005
18006	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the mod_sftp
18007	testsuite so that it issues proper CHANNEL_CLOSE messages for the
18008	closing of the SFTP channel.
18009
180102011-03-19  castaglia <castaglia>
18011
18012	* contrib/mod_rewrite.c: Update the proftpd version required by
18013	mod_rewrite.
18014
180152011-03-19  castaglia <castaglia>
18016
18017	* contrib/mod_exec.c: Updating mod_exec to use the new pr_cmd_cmp()
18018	API.
18019
180202011-03-19  castaglia <castaglia>
18021
18022	* src/dirtree.c: When dir_check()/dir_check_full() are called, make
18023	sure the given cmd_rec has a cmd_id.  Some modules (e.g. mod_sftp)
18024	may pass in a cmd_rec which hasn't yet had it's cmd_id looked up.
18025
180262011-03-19  castaglia <castaglia>
18027
18028	* src/data.c: Use pr_cmd_cmp() when handling any commands read from
18029	the control channel during a data transfer as well.
18030
180312011-03-19  castaglia <castaglia>
18032
18033	* contrib/mod_rewrite.c: Update mod_rewrite to use pr_cmd_cmp()
18034	where possible.
18035
180362011-03-19  castaglia <castaglia>
18037
18038	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#3262 - Allow SQL
18039	logging to separate database/server.
18040
180412011-03-19  castaglia <castaglia>
18042
18043	* contrib/mod_sql.c, contrib/mod_tls.c, include/cmd.h,
18044	include/dirtree.h, modules/mod_auth.c, modules/mod_log.c,
18045	src/cmd.c, src/dirtree.c, src/main.c: Added new Command API
18046	functions:   pr_cmd_get_id()   pr_cmd_cmp() These functions are used to assign an ID to a cmd_rec, identifying
18047	the FTP command of that cmd_rec.  Code which wants to check which
18048	FTP command a cmd_rec is can then use pr_cmd_cmp() and compare using
18049	a numeric ID, rather than calling strcmp(3) repeatedly on the same
18050	cmd_rec throughout the code.  This is done with an eye toward reducing wasteful/unnecessary
18051	strcmp(3) calls throughout the proftpd code base.
18052
180532011-03-19  castaglia <castaglia>
18054
18055	* src/table.c: Minor improvement: compare the first key character
18056	before calling strncmp(3).
18057
180582011-03-19  castaglia <castaglia>
18059
18060	* src/log.c, src/trace.c: Trying to reduce the number of times that
18061	we call strlen(3) while logging.
18062
180632011-03-19  castaglia <castaglia>
18064
18065	* src/event.c: Fix issue with Bug#3619 fix (hooray for
18066	unit/regression tests, which caught this issue).
18067
180682011-03-19  castaglia <castaglia>
18069
18070	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix broken
18071	ExtendedLog test due to typo.
18072
180732011-03-19  castaglia <castaglia>
18074
18075	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix a few minor
18076	issues in the mod_sftp testsuite.
18077
180782011-03-19  castaglia <castaglia>
18079
18080	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding more
18081	regression tests for various LogFormat variables in various flows.
18082
180832011-03-19  castaglia <castaglia>
18084
18085	* contrib/mod_sftp/channel.h: Quell the following compiler warning
18086	(seen on Mac OSX, gcc-4.0.1):   warning: this decimal constant is unsigned only in ISO C90 when compilign mod_sftp by explicitly marking constants stored in a
18087	uint32_t with a "UL" suffix.
18088
180892011-03-18  castaglia <castaglia>
18090
18091	* modules/mod_ctrls.c, src/ctrls.c: Make the Controls logging
18092	messages less pernicious, removing some and moving others from
18093	NOTICE to just plain DEBUG.
18094
180952011-03-18  castaglia <castaglia>
18096
18097	* src/table.c: Avoid an unnecessary strncmp(3) if the key lengths
18098	aren't the same.
18099
181002011-03-18  castaglia <castaglia>
18101
18102	* src/stash.c: Fix the mess of symbol lookups which I committed last
18103	night.  Much more legible now -- and it works properly, too.
18104
181052011-03-17  castaglia <castaglia>
18106
18107	* contrib/mod_sftp/auth-hostbased.c,
18108	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
18109	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
18110	contrib/mod_sftp/channel.c, contrib/mod_sftp/compress.c,
18111	contrib/mod_sftp/crypto.c, contrib/mod_sftp/fxp.c,
18112	contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
18113	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
18114	contrib/mod_sftp/service.c, contrib/mod_sftp/tap.c: Using strncmp(3)
18115	instead of strcmp(3) when fixed-length strings are used.
18116
181172011-03-17  castaglia <castaglia>
18118
18119	* modules/mod_auth.c: Wrong length argument for strncmp() here.
18120
181212011-03-17  castaglia <castaglia>
18122
18123	* contrib/mod_sftp/auth.c, contrib/mod_sftp/crypto.c,
18124	contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
18125	contrib/mod_sftp/tap.c, contrib/mod_sftp/utf8.c: Converting
18126	strcasecmp(3) on fixed-length strings to strncasecmp(3) in mod_sftp.
18127
181282011-03-17  castaglia <castaglia>
18129
18130	* src/dirtree.c, src/encode.c, src/log.c, src/netacl.c,
18131	src/netaddr.c, src/str.c: Converting from strcasecmp(3) to
18132	strncasecmp(3) where fixed-length strings are being used.
18133
181342011-03-17  castaglia <castaglia>
18135
18136	* modules/mod_auth.c: More strcmp(3) -> strncmp(3) conversions where
18137	fixed-length strings are used.
18138
181392011-03-17  castaglia <castaglia>
18140
18141	* modules/mod_xfer.c: More strcmp(3) -> strncmp(3) conversions where
18142	fixed-length strings are used.
18143
181442011-03-17  castaglia <castaglia>
18145
18146	* modules/mod_core.c: More strcmp() -> strncmp() conversions where
18147	fixed-length strings are used.
18148
181492011-03-17  castaglia <castaglia>
18150
18151	* modules/mod_facts.c, modules/mod_lang.c: Finding more instances of
18152	strcmp(3) on fixed-length strings and changing them to use
18153	strncmp(3).
18154
181552011-03-17  castaglia <castaglia>
18156
18157	* modules/mod_ctrls.c: Starting work on converting modules which use
18158	strcmp(3) on fixed-length strings to using strncmp(3) instead.
18159
181602011-03-17  castaglia <castaglia>
18161
18162	* src/ctrls.c: Missed some spots in ctrls.c where strcmp(3) was
18163	being called on fixed-length strings.
18164
181652011-03-17  castaglia <castaglia>
18166
18167	* src/ctrls.c, src/main.c: Changing more instances of strcmp(3) on
18168	fixed strings to use strncmp(3) instead.
18169
181702011-03-17  castaglia <castaglia>
18171
18172	* src/dirtree.c, src/parser.c: Continuing on my quest to reduce the
18173	number of strcmp(3) usages in the code where possible, especially on
18174	fixed strings.  Using strncmp(3) makes more sense there; saves on an
18175	unnecessary strlen(3) call.
18176
181772011-03-17  castaglia <castaglia>
18178
18179	* src/auth.c, src/dirtree.c, src/encode.c: Here's a few more minor
18180	places where we can use strncmp(3) instead of strcmp(3).
18181
181822011-03-17  castaglia <castaglia>
18183
18184	* src/dirtree.c, src/fsio.c, src/mkhome.c, src/throttle.c: Convert a
18185	few more places from using strcmp(3) to strncmp(3).
18186
181872011-03-17  castaglia <castaglia>
18188
18189	* src/filter.c, src/session.c, src/stash.c, src/xferlog.c: When
18190	replacing strcmp(3) with strncmp(3), be sure to include the
18191	terminating NUL in the length argument for strncmp(3).  Otherwise we
18192	could get spurious matches, e.g. strncmp("food", "foo", 3) == 0 vs
18193	strncmp("food", "foo", 4) == -1.
18194
181952011-03-17  castaglia <castaglia>
18196
18197	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updating the
18198	TransferLog regression tests to log to `tests.log', like most of the
18199	other testcases.
18200
182012011-03-17  castaglia <castaglia>
18202
18203	* src/filter.c: Convert unnecessary strcmp(3) on fixed strings to
18204	strncmp(3).
18205
182062011-03-17  castaglia <castaglia>
18207
18208	* src/stash.c: Eliminate one more strcmp(3) during symbol lookups.
18209
182102011-03-17  castaglia <castaglia>
18211
18212	* src/session.c, src/xferlog.c: Convert a few more places from
18213	strcmp(3) to strncmp(3), since we are comparing against fixed
18214	strings of known lengths.
18215
182162011-03-17  castaglia <castaglia>
18217
18218	* src/table.c: Fix another place where strncmp(3) should be used
18219	rather than strcmp(3); the former function is slightly more
18220	efficient, since the C library doesn't need to call strlen(3) on the
18221	arguments itself.
18222
182232011-03-17  castaglia <castaglia>
18224
18225	* src/stash.c: Make sure we handle the case of zero-length symbol
18226	names properly, too.  Just to be sure.
18227
182282011-03-17  castaglia <castaglia>
18229
18230	* src/stash.c: Since we've just added checking of the first two
18231	characters for the symbol names being compared, there's no need to
18232	check them against by passing in the full symbol names to
18233	strncasecmp(3).  Instead, make sure that we compare only the
18234	remaining bytes in the symbol names, and adjust the looked-up symbol
18235	name length accordingly.
18236
182372011-03-17  castaglia <castaglia>
18238
18239	* src/stash.c: Finally implement something I've been meaning to do
18240	for years: reduce the number of strcasecmp(3) calls during symbol
18241	lookup.  First improvement was to use strncasecmp(3) instead of
18242	strcasecmp(3), and thus to calculate the length of the symbol name
18243	being looked up only once, rather than per-symbol comparison.  Second improvement was to first compare the first two characters of
18244	the symbol being looked up against the current symbol, and only then
18245	call strncasecmp(3) if the first two characters match in a
18246	case-insensitive manner.  We can avoid a lot of unnecessary string
18247	comparisons by just looking at the first two characters.  Time will tell just how much of a performance improvement this is.
18248	But it affects configuration parsing time, command dispatching time,
18249	authentication time, etc etc.  And fewer string comparisons
18250	definitely saves on CPU, even if only by small amounts (compared to
18251	disk or network IO, or encryption).
18252
182532011-03-17  castaglia <castaglia>
18254
18255	* doc/modules/mod_log.html: Add docs for the new %H LogFormat
18256	variable.
18257
182582011-03-17  castaglia <castaglia>
18259
18260	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, modules/mod_log.c,
18261	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
18262	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3620 Need
18263	LogFormat variable for IP address of server handling session.
18264
182652011-03-17  castaglia <castaglia>
18266
18267	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Adding
18268	regression test for Bug#3262 a bit early, but I didn't want this
18269	test code to be lost inadvertently from the development machine.
18270
182712011-03-17  castaglia <castaglia>
18272
18273	* RELEASE_NOTES: More added docs.
18274
182752011-03-17  castaglia <castaglia>
18276
18277	* doc/utils/ftpdctl.html: Add HTML version of the ftpdctl man page.
18278
182792011-03-17  castaglia <castaglia>
18280
18281	* doc/utils/ftpscrub.html, doc/utils/ftptop.html: Adding HTML
18282	versions of the man pages for ftpscrub and ftptop.
18283
182842011-03-17  castaglia <castaglia>
18285
18286	* Makefile.in, utils/ftpasswd.1, utils/ftpquota.1: Adding/installing
18287	man pages for the ftpasswd and ftpquota utilities.
18288
182892011-03-17  castaglia <castaglia>
18290
18291	* utils/ftpmail.1: Typos, formatting fixes.
18292
182932011-03-16  castaglia <castaglia>
18294
18295	* Makefile.in, utils/ftpmail.1: Adding/installing a man page for
18296	ftpmail.  I know that Debian requires man pages for all of the
18297	install programs/utilities.
18298
182992011-03-16  castaglia <castaglia>
18300
18301	* doc/utils/ftpmail.html, doc/utils/index.html: Adding ftpmail docs
18302	in utils/ area.
18303
183042011-03-16  castaglia <castaglia>
18305
18306	* contrib/mod_sftp/disconnect.c, contrib/mod_sftp/packet.c,
18307	contrib/mod_sftp/tap.c: When disconnecting, explicitly set a short
18308	poll timeout of 5 secs, to make sure that we don't wait for the
18309	TimeoutIdle timeout (which might be configured quite high for some
18310	sites) and thus tying up a process which is going away
18311	unnecessarily.
18312
183132011-03-16  castaglia <castaglia>
18314
18315	* src/session.c: Ignore EEXIST errors when stashing the disconnect
18316	details.
18317
183182011-03-16  castaglia <castaglia>
18319
18320	* contrib/mod_sftp/packet.c: Adding more trace logging of SSH2
18321	packet IO.
18322
183232011-03-16  castaglia <castaglia>
18324
18325	* contrib/mod_sql.c: Ignore EEXIST errors about stashing values in
18326	the session.notes table.
18327
183282011-03-16  castaglia <castaglia>
18329
18330	* contrib/Makefile.in: Make sure we set the normal
18331	ownership/permissions on the installed Perl scripts.
18332
183332011-03-16  castaglia <castaglia>
18334
18335	* contrib/Makefile.in: Stop trying to strip symbols from Perl
18336	scripts.
18337
183382011-03-16  castaglia <castaglia>
18339
18340	* doc/contrib/mod_sql.html: Mention mod_sql_passwd in the
18341	SQLAuthTypes docs.
18342
183432011-03-16  castaglia <castaglia>
18344
18345	* doc/howto/SQL.html: Update the SQL howto to mention the
18346	mod_sql_passwd module.
18347
183482011-03-16  castaglia <castaglia>
18349
18350	* doc/howto/Tracing.html, doc/modules/mod_core.html: Adding
18351	directive docs for the Trace, TraceLog directives to the mod_core
18352	docs.  Updating the list of default trace channels in the Tracing
18353	howto.
18354
183552011-03-16  castaglia <castaglia>
18356
18357	* NEWS, RELEASE_NOTES, contrib/mod_ctrls_admin.c, include/trace.h,
18358	modules/mod_core.c, src/trace.c,
18359	tests/t/lib/ProFTPD/Tests/Config/Trace.pm: Bug#3617 - Enhance the
18360	Trace directive to support range of channel log levels.
18361
183622011-03-16  jwm <jwm>
18363
18364	* configure: rebuild from configure.in
18365
183662011-03-16  jwm <jwm>
18367
18368	* configure.in: fix support for libraries lines like '/* $Libraries:
18369	-lcurl$ */' - previously, this would leave the trailing '*/' in LIBS, which
18370	  would expand to all directories in $PWD, breaking the build.  - neuter some cat(1)s while we're in there.
18371
183722011-03-16  castaglia <castaglia>
18373
18374	* configure: Updating configure.
18375
183762011-03-16  castaglia <castaglia>
18377
18378	* NEWS: Fix typo.
18379
183802011-03-15  castaglia <castaglia>
18381
18382	* NEWS, src/scoreboard.c: Bug#3618 - ScoreboardFile locking should
18383	be more resilient.
18384
183852011-03-15  castaglia <castaglia>
18386
18387	* NEWS, src/event.c: Bug#3619 - Exiting sessions don't seem to die
18388	properly.  Make sure that an event, generated by an event listener, does not
18389	get sent back to that same listener.  This should help cut down on
18390	event loops.
18391
183922011-03-15  castaglia <castaglia>
18393
18394	* Makefile.in, NEWS, RELEASE_NOTES, configure.in,
18395	contrib/Makefile.in: Bug#3616 - Install contrib utilities as part of
18396	'make install' target.
18397
183982011-03-15  castaglia <castaglia>
18399
18400	* contrib/mod_sftp/fxp.c: Log the errors when closedir(3) returns an
18401	error.
18402
184032011-03-15  castaglia <castaglia>
18404
18405	* contrib/mod_sftp/fxp.c: Be more consistent about dispatching SFTP
18406	cmd_recs to the POST command handlers, if any are registered.  The
18407	failure to do this properly lead to some logging issues.  (Next, I
18408	need to make sure that mod_sftp properly dispatches to the PRE
18409	command handlers as well.)
18410
184112011-03-15  castaglia <castaglia>
18412
18413	* configure: Updating configure.
18414
184152011-03-15  castaglia <castaglia>
18416
18417	* config.h.in, configure.in, src/main.c: If OpenSSL support is
18418	enabled, check whether OpenSSL has been built with FIPS support, so
18419	that it can be displayed in the `proftpd -V' output.  This is
18420	primarily done so that the testsuite can have FIPS-specific tests.
18421
184222011-03-14  castaglia <castaglia>
18423
18424	* doc/modules/mod_log.html: Updated LogFormat description for %w
18425	variable.
18426
184272011-03-14  castaglia <castaglia>
18428
18429	* contrib/mod_sftp/fxp.c, modules/mod_log.c,
18430	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the logging of
18431	ExtendedLog variables for the RNFR/RNTO commands created internally
18432	for an SFTP rename command.
18433
184342011-03-12  castaglia <castaglia>
18435
18436	* contrib/mod_sql.c: Updating mod_sql to use the new
18437	pr_session_disconnect() function.
18438
184392011-03-12  castaglia <castaglia>
18440
18441	* contrib/mod_rewrite.c: As part of investigating Bug#3611, I
18442	cleaned up some of the mod_rewrite code around FIFOs.
18443
184442011-03-12  castaglia <castaglia>
18445
18446	* tests/t/etc/modules/mod_rewrite/reverse.pl,
18447	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Adding
18448	reproduction test case for Bug#3611.  No bugfix/patch for it yet.
18449
184502011-03-10  castaglia <castaglia>
18451
18452	* doc/modules/mod_auth_pam.html: Add FAQ/example to mod_auth_pam
18453	docs about using AuthOrder to make mod_auth_pam be authoritative.
18454
184552011-03-09  castaglia <castaglia>
18456
18457	* doc/contrib/mod_sql.html: Warn users who supply custom user/group
18458	queries that they also need to supply custom queries for ID-based
18459	lookups.
18460
184612011-03-09  castaglia <castaglia>
18462
18463	* NEWS, src/str.c: Bug#3614 - Malicious module can use sreplace()
18464	function to overflow buffer.
18465
184662011-03-09  castaglia <castaglia>
18467
18468	* tests/api/str.c: Add regression test for sreplace() issue from
18469	Bug#3614.
18470
184712011-03-09  castaglia <castaglia>
18472
18473	* tests/api/regexp.c: Update the Regexp unit tests.
18474
184752011-03-07  castaglia <castaglia>
18476
18477	* configure: Updated configure.
18478
184792011-03-07  castaglia <castaglia>
18480
18481	* config.h.in, configure.in: As part of investigating Bug#3614, I
18482	thought that having build-time checks for the sizes of char * and
18483	void * might be useful additions.
18484
184852011-03-06  castaglia <castaglia>
18486
18487	* src/regexp.c: Quell compiler warnings about unused functions when
18488	PCRE support is not enabled.
18489
184902011-03-05  castaglia <castaglia>
18491
18492	* src/regexp.c: Typo.
18493
184942011-03-05  castaglia <castaglia>
18495
18496	* contrib/mod_ratio.c: Clean up the coding style of mod_ratio.c to
18497	make it easier for me to read.  No functional change.
18498
184992011-03-04  castaglia <castaglia>
18500
18501	* RELEASE_NOTES: Updating the list of new docs.
18502
185032011-03-03  castaglia <castaglia>
18504
18505	* doc/utils/ftpasswd.html, doc/utils/ftpquota.html,
18506	doc/utils/index.html: Updating links.
18507
185082011-03-03  castaglia <castaglia>
18509
18510	* doc/utils/ftpasswd.html, doc/utils/ftpcount.html,
18511	doc/utils/ftpquota.html, doc/utils/ftpshut.html,
18512	doc/utils/ftpwho.html, doc/utils/index.html: Checking in some of the
18513	existing HTML docs for utilities.
18514
185152011-03-03  castaglia <castaglia>
18516
18517	* NEWS, RELEASE_NOTES, contrib/mod_ifsession.c,
18518	contrib/mod_ifversion.c, contrib/mod_quotatab.c,
18519	contrib/mod_rewrite.c, contrib/mod_sftp/interop.c,
18520	contrib/mod_sftp/mod_sftp.c, contrib/mod_site_misc.c,
18521	include/conf.h, include/fsio.h, include/regexp.h,
18522	modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_core.c,
18523	modules/mod_facts.c, modules/mod_site.c, src/dirtree.c,
18524	src/filter.c, src/fsio.c, src/regexp.c: Bug#3609 - Support full PCRE
18525	regular expressions if PCRE support is enabled.
18526
185272011-03-03  castaglia <castaglia>
18528
18529	* tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm: Adding unit
18530	test proving Bug#3609 functionality (and to record somewhere the
18531	example of a case-insensitive PCRE regular expression).
18532
185332011-03-03  castaglia <castaglia>
18534
18535	* NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/APPE.pm:
18536	Bug#3612 - APPE/STOU upload flags erroneously preserved across
18537	upload commands.
18538
185392011-03-02  castaglia <castaglia>
18540
18541	* doc/utils/index.html: Start working on an index for docs for the
18542	various utilities; these docs also need to be written.
18543
185442011-03-01  castaglia <castaglia>
18545
18546	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support writing <Global>
18547	sections in testcase config files.
18548
185492011-03-01  castaglia <castaglia>
18550
18551	* doc/modules/mod_facts.html: Add FAQ about ListOptions and the
18552	MLSD/MLST commands.
18553
185542011-03-01  castaglia <castaglia>
18555
18556	* src/main.c: Minor reordering of which subsystems are intialized
18557	when; logging should be initialized fairly early on, so that other
18558	subsystems can log about initialization errors.
18559
185602011-03-01  castaglia <castaglia>
18561
18562	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Fix the naming and
18563	status of the regression test for Bug#3595.
18564
185652011-02-28  castaglia <castaglia>
18566
18567	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Adding regression
18568	test for Bug#3595.
18569
185702011-02-28  castaglia <castaglia>
18571
18572	* NEWS, modules/mod_cap.c,
18573	tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm: Bug#3576 - Support
18574	setting CapabilitiesSet on per-user basis via mod_ifsession's
18575	<IfUser> and <IfGroup>.
18576
185772011-02-28  castaglia <castaglia>
18578
18579	* configure: Updating the configure script.
18580
185812011-02-28  castaglia <castaglia>
18582
18583	* configure.in: More tweaking of the configure script so that the
18584	proper module load order is imposed between mod_cap and
18585	mod_ifsession, in order to support Bug#3576.
18586
185872011-02-28  castaglia <castaglia>
18588
18589	* contrib/mod_ifsession.c, contrib/mod_load/mod_load.c.in,
18590	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_shaper.c,
18591	contrib/mod_unique_id.c, contrib/mod_wrap2/mod_wrap2.h.in: Updating
18592	the contrib modules so that they require proftpd 1.3.4rc2 (which
18593	provides the new pr_session_disconnect() API) at compile-time.
18594
185952011-02-28  castaglia <castaglia>
18596
18597	* contrib/mod_sftp/disconnect.c, contrib/mod_sftp/interop.c,
18598	contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c,
18599	contrib/mod_sftp/packet.c, contrib/mod_tls.c: Updating more contrib
18600	modules to use pr_session_disconnect().
18601
186022011-02-28  castaglia <castaglia>
18603
18604	* contrib/mod_ban.c, contrib/mod_ifsession.c,
18605	contrib/mod_load/mod_load.c.in, contrib/mod_shaper.c,
18606	contrib/mod_unique_id.c, contrib/mod_wrap2/mod_wrap2.c: Updating
18607	some of the contrib modules to use pr_session_disconnect().
18608
186092011-02-28  castaglia <castaglia>
18610
18611	* modules/mod_cap.c, modules/mod_lang.c: Updating more core modules
18612	to use pr_session_disconnect().
18613
186142011-02-28  castaglia <castaglia>
18615
18616	* src/inet.c, tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm:
18617	Spreading the use of pr_session_disconnect() wider.  Added
18618	regression test for the expansion of %E for SQLNamedQuery
18619	configurations.
18620
186212011-02-28  castaglia <castaglia>
18622
18623	* RELEASE_NOTES, doc/modules/mod_log.html: Mention the new %E
18624	LogFormat variable in the release notes and in the mod_log docs.
18625
186262011-02-28  castaglia <castaglia>
18627
18628	* contrib/mod_sql.c, include/session.h, modules/mod_auth.c,
18629	modules/mod_core.c, modules/mod_log.c, modules/mod_xfer.c,
18630	src/data.c, src/main.c, src/session.c,
18631	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Start using the
18632	new pr_session_disconnect() function, and add support for a new %E
18633	LogFormat variable, which contains the end-of-session (EOS) reason
18634	string.
18635
186362011-02-28  castaglia <castaglia>
18637
18638	* include/proftpd.h, include/session.h, modules/mod_core.c,
18639	src/main.c, src/session.c: Add a new Session API function which can
18640	be used by callers to provide more information about why a client is
18641	being disconnected (e.g. QUIT, EOF, banned, etc).  This information
18642	is useful for modules which want to track all kinds of session data,
18643	to see patterns of traffic.
18644
186452011-02-27  castaglia <castaglia>
18646
18647	* contrib/mod_shaper.c, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
18648	contrib/mod_sql_odbc.c, contrib/mod_sql_postgres.c,
18649	contrib/mod_sql_sqlite.c, contrib/mod_tls.c,
18650	contrib/mod_unique_id.c, contrib/mod_wrap2/mod_wrap2.c: Updating the
18651	rest of the contrib modules to use the pr_session_end() function.
18652
186532011-02-27  castaglia <castaglia>
18654
18655	* contrib/mod_load/mod_load.c.in: Update mod_load to use the
18656	pr_session_end() function.
18657
186582011-02-27  castaglia <castaglia>
18659
18660	* contrib/mod_ban.c, contrib/mod_ifsession.c,
18661	contrib/mod_sftp/disconnect.c, contrib/mod_sftp/interop.c,
18662	contrib/mod_sftp/keys.c, contrib/mod_sftp/mod_sftp.c,
18663	contrib/mod_sftp/packet.c: Updating some of the contrib modules to
18664	use the pr_session_end() function.
18665
186662011-02-27  castaglia <castaglia>
18667
18668	* modules/mod_auth.c, modules/mod_cap.c, modules/mod_core.c,
18669	modules/mod_lang.c: Updating the core modules to use the
18670	pr_session_end() function.
18671
186722011-02-27  castaglia <castaglia>
18673
18674	* RELEASE_NOTES, include/compat.h, include/proftpd.h,
18675	include/session.h, src/data.c, src/inet.c, src/main.c,
18676	src/session.c: Move end_login() and company into the Session API as
18677	pr_session_end().
18678
186792011-02-27  castaglia <castaglia>
18680
18681	* NEWS, contrib/mod_quotatab.c: Bug#3608 - Make mod_quotatab poll
18682	for the QuotaLock file.
18683
186842011-02-27  castaglia <castaglia>
18685
18686	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
18687	regression test for SQLShowInfo for LIST commands, as some sites are
18688	wont to use.
18689
186902011-02-27  castaglia <castaglia>
18691
18692	* include/options.h: Mention the possible use of the
18693	PR_TUNABLE_RCVBUFSZ and PR_TUNABLE_SNDBUFSZ macros in the comments.
18694
186952011-02-27  castaglia <castaglia>
18696
18697	* src/dirtree.c: Minor additional fix to make sure that using the
18698	PR_TUNABLE_RCVBUFSZ macro works properly.
18699
187002011-02-27  castaglia <castaglia>
18701
18702	* doc/contrib/mod_wrap2.html: Make sure to mention/document the IPv6
18703	netmask rule syntax in the mod_wrap2 docs.
18704
187052011-02-27  castaglia <castaglia>
18706
18707	* NEWS, contrib/mod_wrap2/mod_wrap2.c,
18708	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3606 -
18709	mod_wrap2 needs to support netmask rules for IPv6 addresses.
18710
187112011-02-26  castaglia <castaglia>
18712
18713	* src/response.c: Removed unused variable.
18714
187152011-02-26  castaglia <castaglia>
18716
18717	* tests/t/config/socketoptions.t,
18718	tests/t/lib/ProFTPD/Tests/Config/SocketOptions.pm, tests/tests.pl:
18719	Adding regression tests for the SocketOptions directive, per
18720	Bug#3607.
18721
187222011-02-26  castaglia <castaglia>
18723
18724	* NEWS, contrib/mod_sftp/scp.c, include/dirtree.h,
18725	modules/mod_facts.c, modules/mod_ls.c, modules/mod_xfer.c,
18726	src/data.c, src/dirtree.c, src/inet.c, src/main.c, src/netio.c:
18727	Bug#3607 - SocketOptions receive/send buffer size parameters no
18728	longer work.
18729
187302011-02-25  castaglia <castaglia>
18731
18732	* configure: Updated configure script.
18733
187342011-02-25  castaglia <castaglia>
18735
18736	* NEWS, RELEASE_NOTES, config.h.in, configure.in,
18737	contrib/mod_ifsession.c, contrib/mod_ifversion.c,
18738	contrib/mod_quotatab.c, contrib/mod_rewrite.c,
18739	contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
18740	contrib/mod_site_misc.c, include/fsio.h, include/regexp.h,
18741	modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_core.c,
18742	modules/mod_facts.c, modules/mod_site.c, modules/mod_xfer.c,
18743	src/dirtree.c, src/filter.c, src/fsio.c, src/main.c, src/regexp.c,
18744	tests/api/regexp.c: Bug#3595 - Avoid buggy glibc regcomp(3) for
18745	regular expressions.
18746
187472011-02-25  castaglia <castaglia>
18748
18749	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add regression
18750	test showing that mod_wrap2 handles IPv4-mapped IPv6 addresses,
18751	using an IPv4 netmask syntax, properly.
18752
187532011-02-23  castaglia <castaglia>
18754
18755	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add regression
18756	test demonstrating netmask syntax for mod_wrap2.
18757
187582011-02-23  castaglia <castaglia>
18759
18760	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: More tweaking of the
18761	response_msg() function.  If a caller doesn't specify an index,
18762	don't punish them unnecessarily, and try to Do The Right Thing(tm)
18763	if we can.
18764
187652011-02-23  castaglia <castaglia>
18766
18767	* doc/contrib/index.html, doc/contrib/mod_readme.html: Adding HTML
18768	doc for the mod_readme module.
18769
187702011-02-23  castaglia <castaglia>
18771
18772	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Regression test
18773	for matching multiple DisplayReadme files.
18774
187752011-02-23  castaglia <castaglia>
18776
18777	* NEWS, contrib/mod_readme.c,
18778	tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Bug#3605 -
18779	DisplayReadme output should appear after DisplayLogin for the PASS
18780	command.
18781
187822011-02-23  castaglia <castaglia>
18783
18784	* src/response.c: [no log message]
18785
187862011-02-23  castaglia <castaglia>
18787
18788	* contrib/mod_readme.c: More cleaning up of the coding style in
18789	mod_readme; no functional change, other than not communicating
18790	glob(3) errors to clients in response messages.
18791
187922011-02-23  castaglia <castaglia>
18793
18794	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm: Added regression
18795	test for mod_readme's handling of CWD commands.
18796
187972011-02-23  castaglia <castaglia>
18798
18799	* NEWS, modules/mod_facts.c,
18800	tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
18801	tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm,
18802	tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm: Bug#3604 - Support
18803	DirFakeUser, DirFakeGroup and DirFakeMode for MLSD/MLST commands.
18804
188052011-02-22  castaglia <castaglia>
18806
18807	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Updating the
18808	DirFakeMode test to be like the other DirFake* directive tests.
18809
188102011-02-22  castaglia <castaglia>
18811
18812	* tests/t/config/dirfakegroup.t, tests/t/config/dirfakeuser.t,
18813	tests/t/lib/ProFTPD/Tests/Config/DirFakeGroup.pm,
18814	tests/t/lib/ProFTPD/Tests/Config/DirFakeUser.pm, tests/tests.pl:
18815	Start adding regression tests for the DirFakeGroup and DirFakeUser
18816	directives.
18817
188182011-02-22  castaglia <castaglia>
18819
18820	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Fix regression caused by
18821	changing of default index in response_msg() function.
18822
188232011-02-22  castaglia <castaglia>
18824
18825	* tests/t/lib/ProFTPD/Tests/Modules/mod_readme.pm,
18826	tests/t/modules/mod_readme.t, tests/tests.pl: Adding regression
18827	tests for the mod_readme module.
18828
188292011-02-22  castaglia <castaglia>
18830
18831	* contrib/mod_readme.c: Fix some of the coding style in the
18832	mod_readme module; no functional change.
18833
188342011-02-22  castaglia <castaglia>
18835
18836	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: If the testsuite code
18837	requests an indexed response message and there is no message at that
18838	index, return undef rather than defaulting to returning the first
18839	response message.
18840
188412011-02-22  castaglia <castaglia>
18842
18843	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm: Adding
18844	regression test for MaxCommandRate+mod_sftp+mod_ban config.
18845
188462011-02-22  castaglia <castaglia>
18847
18848	* contrib/mod_sftp/mod_sftp.c: Make sure that when mod_ban bans an
18849	SSH2 client, we disconnect the client properly.
18850
188512011-02-22  castaglia <castaglia>
18852
18853	* contrib/mod_ban.c: Fix mod_ban's handling of the
18854	'core.max-command-rate' event.
18855
188562011-02-22  castaglia <castaglia>
18857
18858	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: Clear
18859	up any session-wide memcache connection on end of session.
18860
188612011-02-22  castaglia <castaglia>
18862
18863	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
18864	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/ban.pm,
18865	tests/t/modules/mod_sftp/ban.t, tests/tests.pl: Splitting out the
18866	mod_ban-related mod_sftp tests into their own file.
18867
188682011-02-21  castaglia <castaglia>
18869
18870	* doc/modules/mod_xfer.html: Added docs for TransferRate.
18871
188722011-02-21  castaglia <castaglia>
18873
18874	* doc/modules/mod_xfer.html: Still working on more mod_xfer
18875	documentation.
18876
188772011-02-21  castaglia <castaglia>
18878
18879	* doc/howto/Sendfile.html: More known issues with sendfile(2).
18880
188812011-02-21  castaglia <castaglia>
18882
18883	* tests/t/lib/ProFTPD/Tests/Modules/mod_ratio.pm,
18884	tests/t/modules/mod_ratio.t, tests/tests.pl: Start of unit tests for
18885	mod_ratio; incidentally includes regression test for Bug#3600.
18886
188872011-02-21  castaglia <castaglia>
18888
18889	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Remove
18890	development/debugging cruft.
18891
188922011-02-21  castaglia <castaglia>
18893
18894	* NEWS, contrib/mod_sql.c, include/display.h, modules/mod_auth.c,
18895	modules/mod_core.c, src/display.c, src/main.c,
18896	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3538 -
18897	WrapAllowMsg directive broken due to Bug#3423.  Bug#3600 -
18898	pr_response_send() doesn't send responses queued with
18899	pr_response_add().
18900
189012011-02-21  castaglia <castaglia>
18902
18903	* RELEASE_NOTES, include/response.h, src/response.c: Remove the
18904	pr_response_send_ml() et al functions; they are obsolete, unused,
18905	and should not be being used.
18906
189072011-02-20  castaglia <castaglia>
18908
18909	* src/main.c: Minor style cleanup; no functional change.
18910
189112011-02-20  castaglia <castaglia>
18912
18913	* doc/modules/index.html, doc/modules/mod_site.html: Start on docs
18914	for the mod_site module.
18915
189162011-02-20  castaglia <castaglia>
18917
18918	* doc/modules/mod_log.html: Minor typos.
18919
189202011-02-20  castaglia <castaglia>
18921
18922	* doc/modules/index.html, doc/modules/mod_log.html: Adding mod_log
18923	docs.
18924
189252011-02-20  castaglia <castaglia>
18926
18927	* doc/modules/mod_auth_unix.html: Fixing up the mod_auth_unix docs.
18928
189292011-02-20  castaglia <castaglia>
18930
18931	* doc/modules/mod_auth_file.html: Fixing up the mod_auth_file docs.
18932
189332011-02-20  castaglia <castaglia>
18934
18935	* doc/modules/index.html, doc/modules/mod_auth.html: Start working
18936	on mod_auth-specific documentation.
18937
189382011-02-20  castaglia <castaglia>
18939
18940	* doc/modules/index.html: Add an index page for the core module
18941	docs.
18942
189432011-02-20  castaglia <castaglia>
18944
18945	* doc/modules/mod_memcache.html: Give example of specifying paths to
18946	libmemcached headers/libs in the mod_memcache docs.
18947
189482011-02-20  castaglia <castaglia>
18949
18950	* README.modules: Update the README.modules file.
18951
189522011-02-20  castaglia <castaglia>
18953
18954	* doc/modules/mod_auth_unix.html: Add FAQ about expired passwords,
18955	as per Bug#3582.
18956
189572011-02-20  castaglia <castaglia>
18958
18959	* configure: Update configure script.
18960
189612011-02-20  castaglia <castaglia>
18962
18963	* configure.in: configure script changes to support Bug#3576: if
18964	mod_ifsession appears anywhere in the --with-modules list, it will
18965	automatically appear at the end of the list of static modules.
18966
189672011-02-20  castaglia <castaglia>
18968
18969	* doc/modules/mod_dso.html: Fix the "Compatibility" versions in the
18970	mod_dso doc.
18971
189722011-02-20  castaglia <castaglia>
18973
18974	* RELEASE_NOTES, contrib/mod_ban.c, doc/contrib/mod_ban.html,
18975	tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Adding an
18976	'UnhandledCommand' event to mod_ban's BanOnEvent rules.
18977
189782011-02-20  castaglia <castaglia>
18979
18980	* doc/modules/mod_core.html: Add documentation for the current
18981	Include directive behavior (Bug#3588).
18982
189832011-02-20  castaglia <castaglia>
18984
18985	* NEWS, RELEASE_NOTES, include/modules.h, modules/mod_log.c,
18986	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3559 -
18987	ExtendedLog should support EXIT command, for logging when a session
18988	ends.
18989
189902011-02-20  castaglia <castaglia>
18991
18992	* contrib/mod_ban.c, doc/contrib/mod_ban.html: Update mod_ban's
18993	BanOnEvent to watch for the events triggered when the MaxCommandRate
18994	is exceeded.
18995
189962011-02-20  castaglia <castaglia>
18997
18998	* RELEASE_NOTES, doc/modules/mod_core.html: Documenting the new
18999	MaxCommandRate directive (Bug#3565).
19000
190012011-02-20  castaglia <castaglia>
19002
19003	* NEWS, modules/mod_core.c: Bug#3565 - Support a MaxCommandRate, for
19004	detecting and throttling clients which are sending commands too
19005	quickly.
19006
190072011-02-18  castaglia <castaglia>
19008
19009	* contrib/mod_sftp/fxp.c: Additional fixes for logging of RMDIR in
19010	ExtendedLog, for Bug#3591.
19011
190122011-02-17  castaglia <castaglia>
19013
19014	* contrib/mod_sftp/display.c: Forgot to add back the
19015	format_size_str() function here.
19016
190172011-02-17  castaglia <castaglia>
19018
19019	* NEWS, modules/mod_xfer.c,
19020	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Bug#3598 - HiddenStores
19021	makes the APPE command overwrite files instead of appending them.
19022
190232011-02-17  castaglia <castaglia>
19024
19025	* RELEASE_NOTES: Update release notes.
19026
190272011-02-17  castaglia <castaglia>
19028
19029	* doc/contrib/mod_sftp.html: Document the new IgnoreSFTPSetPerms
19030	SFTPOption.
19031
190322011-02-17  castaglia <castaglia>
19033
19034	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c,
19035	contrib/mod_sftp/mod_sftp.h.in,
19036	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3599 - Support
19037	SFTPOptions parameter for ignoring SFTP SETSTAT/FSETSTAT permission
19038	changes.
19039
190402011-02-16  castaglia <castaglia>
19041
19042	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: The
19043	mod_rewrite-related mod_sftp tests have been moved out to their own
19044	file.
19045
190462011-02-16  castaglia <castaglia>
19047
19048	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp/rewrite.pm,
19049	tests/t/modules/mod_sftp/rewrite.t, tests/tests.pl: Refactoring the
19050	mod_sftp+mod_rewrite tests out to a separate file.
19051
190522011-02-16  castaglia <castaglia>
19053
19054	* contrib/mod_sftp/display.c, src/display.c, src/fsio.c,
19055	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: In investigating
19056	Bug#3596, I found that the %F and %f Display variables had been
19057	completely broken.  Fix this.
19058
190592011-02-16  castaglia <castaglia>
19060
19061	* tests/t/lib/ProFTPD/Tests/Config/Include.pm: Make the Include test
19062	for wildcards better; this now ensures that the lexicographical
19063	sorting of the matched files happens as expected.
19064
190652011-02-16  castaglia <castaglia>
19066
19067	* doc/modules/mod_ls.html: Start working on mod_ls-specific
19068	documentation.
19069
190702011-02-16  castaglia <castaglia>
19071
19072	* tests/t/config/include.t,
19073	tests/t/lib/ProFTPD/Tests/Config/Include.pm, tests/tests.pl: Add
19074	regression tests for the Include directive.
19075
190762011-02-16  castaglia <castaglia>
19077
19078	* doc/contrib/index.html, doc/contrib/mod_tls_memcache.html: Adding
19079	docs for mod_tls_memcache module.
19080
190812011-02-16  castaglia <castaglia>
19082
19083	* NEWS, RELEASE_NOTES, contrib/mod_tls_memcache.c: Adding new
19084	mod_tls_memcache module.
19085
190862011-02-16  castaglia <castaglia>
19087
19088	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls_memcache.pm,
19089	tests/t/modules/mod_tls_memcache.t, tests/tests.pl: Checking in
19090	tests for the new mod_tls_memcache module.
19091
190922011-02-15  castaglia <castaglia>
19093
19094	* contrib/mod_tls_shmcache.c: Fix uninitialized pointer warning from
19095	Bug#3596.
19096
190972011-02-15  castaglia <castaglia>
19098
19099	* contrib/mod_shaper.c: Fix printf(3) typecast warning from
19100	Bug#3596.
19101
191022011-02-15  castaglia <castaglia>
19103
19104	* modules/mod_delay.c: Fix off-by-one compiler warnings from
19105	Bug#3596.
19106
191072011-02-15  castaglia <castaglia>
19108
19109	* NEWS, src/prxs.in: Bug#3593 - Using "$shell $libtool" in prxs does
19110	not work for all shells.
19111
191122011-02-15  castaglia <castaglia>
19113
19114	* contrib/mod_sql.c,
19115	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Change the
19116	notes stashed by mod_sql to be 'primary-group' (was 'sql.group'),
19117	'home' (was 'sql.home') and 'shell' (was 'sql.shell'), to be more
19118	generic.  I'll start enhancing other auth modules to stash these
19119	values as well.
19120
191212011-02-15  castaglia <castaglia>
19122
19123	* contrib/mod_sftp/display.c: Remove unused function.
19124
191252011-02-15  castaglia <castaglia>
19126
19127	* RELEASE_NOTES: Adding release notes for myself, to be fleshed out
19128	more fully later.
19129
191302011-02-15  castaglia <castaglia>
19131
19132	* NEWS, include/filter.h, modules/mod_core.c, src/filter.c,
19133	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
19134	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Bug#3592 -
19135	Support case-insensitivity option for PathAllowFilter/PathDenyFilter
19136	directives.
19137
191382011-02-14  castaglia <castaglia>
19139
19140	* doc/modules/mod_auth_unix.html: Document the magicTokenChroot
19141	AuthUnixOption.
19142
191432011-02-14  castaglia <castaglia>
19144
19145	* modules/mod_auth_unix.c: Add support for a 'magicTokenChroot'
19146	AuthUnixOption.  This is intended to help sites which are migrating
19147	from a wu-ftpd setup (yes, there are some very large sites out there
19148	still running wu-ftpd).
19149
191502011-02-14  castaglia <castaglia>
19151
19152	* contrib/mod_sftp/kex.c, contrib/mod_tls.c: Use the newer
19153	RSA_generate_key_ex() OpenSSL function when OpenSSL 0.9.8 and later
19154	is used.  The older RSA_generate_key() function is deprecated.
19155
191562011-02-14  castaglia <castaglia>
19157
19158	* include/timers.h, src/main.c, src/timers.c, tests/api/timers.c:
19159	Add a new pr_timer_usleep() function, for pausing for a number of
19160	microseconds.  Handy for loops which need to do non-blocking polls
19161	with short delays in between.
19162
191632011-02-13  castaglia <castaglia>
19164
19165	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add mod_sftp unit
19166	tests for Bug#3591.
19167
191682011-02-13  castaglia <castaglia>
19169
19170	* NEWS, contrib/mod_sql.c, modules/mod_log.c: Bug#3591 - %F
19171	LogFormat variable should work for MKD/RMD commands.
19172
191732011-02-13  castaglia <castaglia>
19174
19175	* contrib/mod_sftp/fxp.c: Make sure that we dispatch the
19176	internally-created MKD/RMD cmmands to the LOG_CMD phase handlers
19177	when handling MKDIR/RMDIR SFTP requests.
19178
191792011-02-13  castaglia <castaglia>
19180
19181	* contrib/mod_sql.c,
19182	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add support for
19183	'sql.group', 'sql.home', and 'sql.shell' notes in the session.notes
19184	table, for use in LogFormat/SQLNamedQuery logging.
19185
191862011-02-13  castaglia <castaglia>
19187
19188	* modules/mod_memcache.c: The configured MemcacheServers in the
19189	"server config" context will be available for use by modules who
19190	want memcached servers even before a connection is received (e.g.
19191	ftpdctl/mod_ctrls).
19192
191932011-02-13  castaglia <castaglia>
19194
19195	* src/memcache.c: If pr_memcache_incr() fails because the key is not
19196	found, automatically create the key, using the given increment as
19197	the value.
19198
191992011-02-12  castaglia <castaglia>
19200
19201	* contrib/mod_sftp/channel.h: Rather than relying on datatype
19202	underflow, explicitly define the max channel window size.
19203
192042011-02-12  castaglia <castaglia>
19205
19206	* src/display.c: Bug#3589 - src/display.c doesn't compile on hpux
19207	since 1.3.3d.
19208
192092011-02-12  castaglia <castaglia>
19210
19211	* NEWS, contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
19212	contrib/mod_sftp/packet.h: Bug#3586 - mod_sftp behaves badly when
19213	receiving badly formed SSH messages.
19214
192152011-01-26  castaglia <castaglia>
19216
19217	* src/memcache.c: Make sure that pr_memcache_set_namespace() with a
19218	NULL namespace prefix works as we expect.
19219
192202011-01-26  castaglia <castaglia>
19221
19222	* src/memcache.c: Since we're supporting a shared/common
19223	pr_memcache_t for all modules in a single session, we need a
19224	refcount mechanism, so that one module doesn't inadvertently close
19225	the connection for all the other modules who might be using that
19226	pr_memcache_t.
19227
192282011-01-26  castaglia <castaglia>
19229
19230	* contrib/mod_ban.c: Make sure we don't leak memory in a few
19231	memcache/tpl-related error cases.
19232
192332011-01-26  castaglia <castaglia>
19234
19235	* contrib/mod_sftp/crypto.c, contrib/mod_tls.c: Use OpenSSL's
19236	ERR_remove_thread_state() API when possible, rather than the
19237	deprecated ERR_remove_state() function.
19238
192392011-01-25  castaglia <castaglia>
19240
19241	* doc/contrib/mod_tls.html: Update the mod_tls TLSSessionCache docs
19242	with an example of specifying the cache lifetime for OpenSSL's
19243	internal session caching (cf Bug#3580).
19244
192452011-01-25  castaglia <castaglia>
19246
19247	* NEWS, contrib/mod_tls.c: Bug#3585 - Allow client-requested SSL
19248	session renegotiation when securely supported.
19249
192502011-01-25  castaglia <castaglia>
19251
19252	* include/memcache.h, src/memcache.c: Adding memcache API functions
19253	for incrementing/decrementing a value stored in memcached.
19254
192552011-01-24  castaglia <castaglia>
19256
19257	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls_shmcache.pm,
19258	tests/t/modules/mod_tls_shmcache.t, tests/tests.pl: Finally have a
19259	regression test for mod_tls_shmcache and SSL session caching.
19260
192612011-01-24  castaglia <castaglia>
19262
19263	* contrib/mod_tls_shmcache.c: Update mod_tls_shmcache to use trace
19264	logging in more places.
19265
192662011-01-24  castaglia <castaglia>
19267
19268	* contrib/mod_tls.c: Add logging of when an SSL session is
19269	reused/resumed for a control connection.
19270
192712011-01-23  castaglia <castaglia>
19272
19273	* contrib/mod_sftp/auth.c: The fix for Bug#3482 needs to apply
19274	properly to SSH sessions as well; the WtmpLog default value, in
19275	light of Bug#3482, should be 'off' for the affected platforms.
19276
192772011-01-23  castaglia <castaglia>
19278
19279	* modules/mod_auth.c: The fix for Bug#3482 had a minor nit; we need
19280	to allocate space for an unsigned char, not an int.
19281
192822011-01-23  castaglia <castaglia>
19283
19284	* NEWS, contrib/mod_tls.c,
19285	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3580 -
19286	TLSSessionCache needs to allow configuring OpenSSL's internal
19287	session caching expiration, for long-lived sessions.
19288
192892011-01-23  castaglia <castaglia>
19290
19291	* contrib/mod_ban.c, include/memcache.h, src/memcache.c: Now the
19292	Memcache API supports namespace prefixes for keys, setting on a
19293	per-module basis.  Useful for keeping the keys from various modules
19294	separate, and for dumping the keys/values for just a specific
19295	namespace.
19296
192972011-01-23  castaglia <castaglia>
19298
19299	* include/memcache.h, modules/mod_memcache.c, src/memcache.c:
19300	Checkpoint of more of my work on memcache support.
19301
193022011-01-21  castaglia <castaglia>
19303
19304	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Added regression
19305	tests for ShowSymlinks and MLST, using relative symlinked paths in
19306	chrooted sessions.
19307
193082011-01-21  castaglia <castaglia>
19309
19310	* tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm: Add regression
19311	tests for the STAT output when ShowSymlinks is toggled.
19312
193132011-01-21  castaglia <castaglia>
19314
19315	* src/memcache.c: Use the AUTO_EJECT_HOSTS option, although it
19316	doesn't seem to be working as I expect.
19317
193182011-01-21  castaglia <castaglia>
19319
19320	* src/memcache.c: Add better trace logging of the dead memcached
19321	server when we can detect one.
19322
193232011-01-21  castaglia <castaglia>
19324
19325	* modules/mod_memcache.c: Slightly better logging of the
19326	libmemcached version being used.
19327
193282011-01-21  castaglia <castaglia>
19329
19330	* modules/mod_memcache.c, src/memcache.c: Check the version of the
19331	libmemcached headers versus that the library, to warn against
19332	possible header/lib mismatch.  Fix compiler warnings in src/memcache.c.
19333
193342011-01-21  castaglia <castaglia>
19335
19336	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: Use
19337	randomized replica reads for memcached retrieval by default, and
19338	provide an option to disable this.  Also provide a way to configure
19339	the number of connect failures before a given memcached server is
19340	disabled in the pool.
19341
193422011-01-21  castaglia <castaglia>
19343
19344	* modules/mod_facts.c: Fix issue from Bug#3318 found by the
19345	ShowSymlink regression tests, where the MLST command was still
19346	returning the symlinked target path, rather than the symlink path
19347	itself, even when "ShowSymlinks off" was in effect.
19348
193492011-01-21  castaglia <castaglia>
19350
19351	* tests/t/config/showsymlinks.t,
19352	tests/t/lib/ProFTPD/Tests/Config/ShowSymlinks.pm, tests/tests.pl:
19353	Adding unit tests for the ShowSymlinks directive, and its effects on
19354	the LIST, NLST, MLSD, and MLST commands, using symlinked files and
19355	symlinked directories.  There are still more combinations try to
19356	here, e.g. using absolute symlink paths (versus relative symlink
19357	paths), and the effects of chroot on all of these combinations.
19358
193592011-01-21  castaglia <castaglia>
19360
19361	* doc/contrib/mod_ban.html: Adding stubs for the new BanCache and
19362	BanCacheOptions directives.
19363
193642011-01-21  castaglia <castaglia>
19365
19366	* doc/modules/mod_memcache.html: More stubs for the mod_memcache
19367	documentation.
19368
193692011-01-20  castaglia <castaglia>
19370
19371	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban/memcache.pm,
19372	tests/t/modules/mod_ban/memcache.t, tests/tests.pl: Adding unit
19373	tests that I used for testing out mod_ban when configured to use a
19374	memcached server.
19375
193762011-01-20  castaglia <castaglia>
19377
19378	* contrib/mod_ban.c: And now mod_ban can use memcached for
19379	storing/retrieving any ban rules!
19380
193812011-01-20  castaglia <castaglia>
19382
19383	* src/memcache.c: It helps to iterate through the list of stat key
19384	names, rather than reusing the same hardcoded name over and over.
19385
193862011-01-20  castaglia <castaglia>
19387
19388	* src/memcache.c: Require libmemcached-0.37 or later for memcache
19389	support.  When a new memcache connection is created, get stats from
19390	the pool of memcached servers to which it connected.  This is useful
19391	for logging, and it also ensures that we have connectivity to those
19392	servers, i.e. it is better to know, at connect time, that the
19393	configured servers are actually up, running, accessible, and
19394	responding to our requests.
19395
193962011-01-20  castaglia <castaglia>
19397
19398	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Pedantic style change;
19399	no functional change.
19400
194012011-01-20  castaglia <castaglia>
19402
19403	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm: Updated ftpwho unit
19404	tests to run properly.
19405
194062011-01-19  castaglia <castaglia>
19407
19408	* tests/t/lib/ProFTPD/Tests/Config/HideUser.pm: Fix another of the
19409	HideUser tests which does require rootprivs to be run.
19410
194112011-01-19  castaglia <castaglia>
19412
19413	* tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm: Fix the
19414	HideNoAccess unit test to handle the ScoreboardMutex file.
19415
194162011-01-19  castaglia <castaglia>
19417
19418	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Fix the
19419	DirFakeMode unit tests to handle the ScoreboardMutex file.
19420
194212011-01-19  castaglia <castaglia>
19422
19423	* tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm: Fix to make the
19424	TimeoutLogin tests work on slower machines, and with different
19425	versions of Perl.
19426
194272011-01-19  castaglia <castaglia>
19428
19429	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Quell more Perl warnings.
19430
194312011-01-19  castaglia <castaglia>
19432
19433	* tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Allow for more
19434	idle time, so that the TimeoutIdle tests can pass properly on a
19435	slower test machine.
19436
194372011-01-19  castaglia <castaglia>
19438
19439	* tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm: Only run the
19440	UseFtpUsers tests on a system which has the /etc/ftpusers file.
19441
194422011-01-19  castaglia <castaglia>
19443
19444	* modules/mod_memcache.c: Fix compilation of mod_memcache.
19445
194462011-01-19  castaglia <castaglia>
19447
19448	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Update ABOR unit test
19449	to handle ScoreboardMutex file.
19450
194512011-01-19  castaglia <castaglia>
19452
19453	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Allow more than 2
19454	seconds for the STOU unit tests to run.
19455
194562011-01-19  castaglia <castaglia>
19457
19458	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
19459	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
19460	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update these unit tests
19461	so that they work properly.
19462
194632011-01-19  castaglia <castaglia>
19464
19465	* src/memcache.c: Fix the compilation for src/memcache.c when
19466	--enable-memcache is not used.
19467
194682011-01-19  castaglia <castaglia>
19469
19470	* doc/modules/mod_memcache.html: Add links to the memcached and
19471	libmemcached pages.
19472
194732011-01-19  castaglia <castaglia>
19474
19475	* doc/modules/mod_memcache.html: Start working on documentation for
19476	the mod_memcache module.
19477
194782011-01-19  castaglia <castaglia>
19479
19480	* doc/modules/mod_ctrls.html: Updated mod_ctrls with description of
19481	where to find the latest version.
19482
194832011-01-19  castaglia <castaglia>
19484
19485	* doc/contrib/mod_sftp_pam.html: Updated the mod_sftp_pam docs to
19486	mention the new NoInfoMsgs SFTPPAMOption.
19487
194882011-01-19  castaglia <castaglia>
19489
19490	* NEWS, contrib/mod_sftp_pam.c: Bug#3578 - Ability to suppress
19491	sending messages from PAM to clients.
19492
194932011-01-19  castaglia <castaglia>
19494
19495	* NEWS, contrib/mod_sftp_pam.c: Bug#3579 - mod_sftp_pam may tell
19496	client to disable echoing erroneously.
19497
194982011-01-18  castaglia <castaglia>
19499
19500	* configure: Updated configure.
19501
195022011-01-18  castaglia <castaglia>
19503
19504	* configure.in, include/memcache.h, lib/Makefile.in,
19505	modules/mod_memcache.c, src/memcache.c: Checking in more of my
19506	memcache work from today.
19507
195082011-01-18  castaglia <castaglia>
19509
19510	* include/tpl.h, lib/README.tpl, lib/tpl.c: Adding libtpl-1.5
19511	sources to the proftpd code; these are for use for packing arbitrary
19512	data structures for storage in memcached servers.
19513
195142011-01-18  castaglia <castaglia>
19515
19516	* include/trace.h, src/trace.c: Add a pr_trace_vmsg() function, a
19517	variant of pr_trace_msg() which can accept a va_list.
19518
195192011-01-17  castaglia <castaglia>
19520
19521	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: Fix
19522	the handling of the BLOCKING option.
19523
195242011-01-17  castaglia <castaglia>
19525
19526	* include/memcache.h, modules/mod_memcache.c, src/memcache.c: More
19527	work on memcache support.
19528
195292011-01-17  castaglia <castaglia>
19530
19531	* NEWS, contrib/mod_sftp/scp.c: Bug#3544 - mod_sftp closes channel
19532	too early after scp download.
19533
195342011-01-14  castaglia <castaglia>
19535
19536	* modules/mod_facts.c: Make sure to check the supplemental group IDs
19537	when fixing the behavior in Bug#3577, not just the primary group ID.
19538
195392011-01-14  castaglia <castaglia>
19540
19541	* NEWS, modules/mod_facts.c,
19542	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Bug#3577 - MFMT can fail
19543	due to utimes(2) peculiarities.
19544
195452011-01-13  castaglia <castaglia>
19546
19547	* NEWS, modules/mod_auth_unix.c: Bug#3575 - Process privileges may
19548	not handled properly when --enable-autoshadow is used.
19549
195502011-01-12  castaglia <castaglia>
19551
19552	* modules/mod_site.c: Fix data type warning on Solaris.
19553
195542011-01-12  castaglia <castaglia>
19555
19556	* configure: Updated configure.
19557
195582011-01-12  castaglia <castaglia>
19559
19560	* config.h.in, configure.in, contrib/mod_exec.c, contrib/mod_tls.c,
19561	include/conf.h, modules/mod_core.c, modules/mod_delay.c,
19562	modules/mod_xfer.c, src/child.c, src/data.c, src/ftpdctl.c,
19563	src/log.c, src/main.c, src/netio.c, src/scoreboard.c,
19564	src/support.c, src/throttle.c, src/timers.c, utils/ftptop.c,
19565	utils/scoreboard.c, utils/utils.h: Move the inclusion of <signal.h>
19566	into the main conf.h file.
19567
195682011-01-12  castaglia <castaglia>
19569
19570	* src/main.c: Use better printf(3) style, and always support a
19571	format string, even for fixed input strings.
19572
195732011-01-11  castaglia <castaglia>
19574
19575	* NEWS, contrib/mod_quotatab_sql.c,
19576	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3524 -
19577	mod_quotatab_sql does not properly update the file upload count for
19578	a DELE.
19579
195802011-01-11  castaglia <castaglia>
19581
19582	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
19583	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
19584	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
19585	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
19586	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
19587	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
19588	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
19589	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
19590	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm: Removing more unneeded
19591	chomp() calls.
19592
195932011-01-11  castaglia <castaglia>
19594
19595	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
19596	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
19597	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
19598	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
19599	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
19600	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
19601	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
19602	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
19603	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
19604	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
19605	tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
19606	tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Removing unneeded
19607	chomp() calls.
19608
196092011-01-11  castaglia <castaglia>
19610
19611	* tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm,
19612	tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
19613	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm,
19614	tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
19615	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
19616	tests/t/lib/ProFTPD/Tests/Config/Order.pm,
19617	tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Remove unnecessary
19618	chomp() calls.
19619
196202011-01-11  castaglia <castaglia>
19621
19622	* tests/t/commands/site/chmod.t,
19623	tests/t/lib/ProFTPD/Tests/Commands/SITE/CHMOD.pm, tests/tests.pl:
19624	Start working on regression tests for the various SITE commands.
19625
196262011-01-11  castaglia <castaglia>
19627
19628	* modules/mod_auth_file.c: Fix build of mod_auth_file on systems
19629	which have fgetpwent(3).
19630
196312011-01-11  castaglia <castaglia>
19632
19633	* src/fsio.c: Style nits; no functional change (other than adding
19634	signal handling in a while() loop).
19635
196362011-01-10  castaglia <castaglia>
19637
19638	* contrib/mod_sftp/display.c, include/fsio.h, src/display.c,
19639	src/fsio.c: Add a new function, pr_fs_getsize2(), for retrieving the
19640	available space on a filesystem.  Unlike pr_fs_getsize(), this new
19641	function is a) always present, rather than relying on platform
19642	support for various statfs(2) flavors, and b) is capable of
19643	indicating when an error occurs.
19644
196452011-01-10  castaglia <castaglia>
19646
19647	* doc/howto/ConfigurationTricks.html: Mention TransferPriority in
19648	the ConfigurationTricks howto.
19649
196502011-01-08  castaglia <castaglia>
19651
19652	* src/support.c: Since the location of the statfs(2)/statvfs(2)
19653	calls moved to the src/fsio.c file, these headers are no longer
19654	needed in src/support.c.
19655
196562011-01-08  castaglia <castaglia>
19657
19658	* modules/mod_auth_file.c: Slightly better fix for the ID filtering
19659	bugs I found.  Also fixed up some log messages about filtered IDs so
19660	that they are better suited to handle large ID values.
19661
196622011-01-08  castaglia <castaglia>
19663
19664	* modules/mod_auth_file.c: Fix a couple of bugs when using ID
19665	filtering in the AuthUserFile and AuthGroupFile directives.
19666
196672011-01-08  castaglia <castaglia>
19668
19669	* tests/t/lib/ProFTPD/Tests/Modules/mod_auth_file.pm,
19670	tests/t/modules/mod_auth_file.t, tests/tests.pl: Adding regression
19671	tests for the ID, home, and name filtering that can be done using
19672	AuthUserFile and AuthGroupFile directives.
19673
196742011-01-08  castaglia <castaglia>
19675
19676	* doc/contrib/mod_sql_passwd.html: Updating the mod_sql_passwd docs
19677	with descriptions of the SQLPasswordOptions and SQLPasswordRounds
19678	directives, as well as how to use them in combination to support a
19679	wide variety of constructions.
19680
196812011-01-08  castaglia <castaglia>
19682
19683	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: More
19684	Bug#3500-related unit tests, this time for the HashPassword and
19685	HashSalt SQLPasswordOptions.
19686
196872011-01-08  castaglia <castaglia>
19688
19689	* contrib/mod_sql_passwd.c,
19690	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Additional
19691	refinement from Bug#3500.
19692
196932011-01-07  castaglia <castaglia>
19694
19695	* doc/modules/mod_xfer.html: Start working on a mod_xfer doc.
19696
196972011-01-07  castaglia <castaglia>
19698
19699	* doc/modules/mod_core.html: Typo.
19700
197012011-01-06  castaglia <castaglia>
19702
19703	* NEWS, contrib/mod_sql_passwd.c,
19704	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3500 -
19705	Support for other combinations of hashed values in mod_sql_passwd.
19706
197072011-01-06  castaglia <castaglia>
19708
19709	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
19710	regression test for the SQLGroupWhereClause directive.
19711
197122011-01-05  castaglia <castaglia>
19713
19714	* doc/howto/ConnectionACLs.html: Typo.
19715
197162011-01-05  castaglia <castaglia>
19717
19718	* doc/howto/ConnectionACLs.html: Typo.
19719
197202011-01-05  castaglia <castaglia>
19721
19722	* RELEASE_NOTES: Mention the new doc in the release notes.
19723
197242011-01-05  castaglia <castaglia>
19725
19726	* doc/howto/ConnectionACLs.html, doc/howto/index.html: Adding
19727	ConnectionACL howto.
19728
197292011-01-05  castaglia <castaglia>
19730
19731	* src/parser.c: Make sure that the config parser allows a line to be
19732	up to the full PR_TUNABLE_BUFFER_SIZE in length (usually 1024
19733	bytes), rather than PR_TUNABLE_BUFFER_SIZE-1 bytes.
19734
197352011-01-04  castaglia <castaglia>
19736
19737	* NEWS, contrib/mod_rewrite.c, contrib/mod_sql.c,
19738	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3572 -
19739	Support use of "notes" variables in SQLNamedQuery.  I've also added support to mod_rewrite such that the mod_rewrite
19740	module now stores backrefs in the cmd->notes table, such that they
19741	can be used in a SQLLog SQLNamedQuery.
19742
197432011-01-04  castaglia <castaglia>
19744
19745	* src/table.c: Add a default table printing function for
19746	pr_table_dump(), so that a caller can simply use:   pr_table_dump(NULL, tab); to get the table dumped to the TraceLog under the 'table' channel.
19747
197482011-01-04  castaglia <castaglia>
19749
19750	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
19751	integration test showing that variables such as %L are properly
19752	supported in a SQLUserWhereClause.
19753
197542011-01-03  castaglia <castaglia>
19755
19756	* tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm: Another
19757	RLimitMemory test; I need to add more such cases here.
19758
197592011-01-03  castaglia <castaglia>
19760
19761	* NEWS, modules/mod_core.c: Bug#3571 - RLimitMemory "max" soft/hard
19762	limits don't work.
19763
197642011-01-03  castaglia <castaglia>
19765
19766	* tests/t/config/rlimitmemory.t,
19767	tests/t/lib/ProFTPD/Tests/Config/RLimitMemory.pm, tests/tests.pl:
19768	Adding regression tests for the RLimitMemory directive, per
19769	Bug#3571.
19770
197712010-12-29  castaglia <castaglia>
19772
19773	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix another few
19774	Perl warnings.
19775
197762010-12-29  castaglia <castaglia>
19777
19778	* tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: Silence another
19779	Perl warning.
19780
197812010-12-29  castaglia <castaglia>
19782
19783	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Quell some Perl
19784	compiler warnings.
19785
197862010-12-29  castaglia <castaglia>
19787
19788	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Remove redundant
19789	regression test.
19790
197912010-12-27  castaglia <castaglia>
19792
19793	* tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test for
19794	anonymous logins with mod_delay enabled.
19795
197962010-12-27  castaglia <castaglia>
19797
19798	* tests/Makefile.in: Make sure that 'make clean' works properly for
19799	the API tests.
19800
198012010-12-27  castaglia <castaglia>
19802
19803	* tests/api/timers.c: Typo.
19804
198052010-12-27  castaglia <castaglia>
19806
19807	* tests/api/netacl.c: More places in the API testsuite where we
19808	might need to handle 'localhost.localdomain' as well as just
19809	'localhost'.
19810
198112010-12-27  castaglia <castaglia>
19812
19813	* tests/api/netaddr.c: Try to handle the case where
19814	'localhost.localdomain' is the returned DNS name for 127.0.0.1,
19815	rather than 'localhost'.
19816
198172010-12-26  castaglia <castaglia>
19818
19819	* tests/api/timers.c: Allow some leeway when dealing with
19820	timer-based unit tests.
19821
198222010-12-23  jwm <jwm>
19823
19824	* README.LDAP: bzr r110:   capitalization consistency
19825
198262010-12-23  jwm <jwm>
19827
19828	* RELEASE_NOTES: forgot to add notice of mod_ldap configuration
19829	overhaul to the release notes
19830
198312010-12-23  jwm <jwm>
19832
19833	* README.LDAP: latest README with populated Changes section
19834
198352010-12-23  castaglia <castaglia>
19836
19837	* tests/api/pool.c: Fix pool unit test error.
19838
198392010-12-22  castaglia <castaglia>
19840
19841	* doc/howto/Scoreboard.html: Updating the Scoreboard howto with
19842	descriptions of the types of data recorded in the ScoreboardFile.
19843
198442010-12-21  castaglia <castaglia>
19845
19846	* src/scoreboard.c, tests/api/scoreboard.c, tests/api/stubs.c:
19847	Bug#3568 - Build failure trying to run test suite.  Fixes linker
19848	error due to missing pr_ctrls_unregister() stub, and fixes
19849	scoreboard API tests that were broken due to ScoreboardMutex
19850	introduction (Bug#3208).
19851
198522010-12-21  castaglia <castaglia>
19853
19854	* modules/mod_ident.c: Fix an IdentLookups edge case where we were
19855	not closing the fd or removing the timer properly.
19856
198572010-12-21  castaglia <castaglia>
19858
19859	* modules/mod_ident.c: Typo.
19860
198612010-12-21  castaglia <castaglia>
19862
19863	* src/netio.c: Fix the IO event names for writes to "other" types of
19864	streams.
19865
198662010-12-21  castaglia <castaglia>
19867
19868	* NEWS, modules/mod_ident.c: Bug#3567 - IdentLookups do not work for
19869	IPv6 servers.
19870
198712010-12-21  castaglia <castaglia>
19872
19873	* doc/contrib/mod_tls_shmcache.html: Adding TLSSessionCache FAQ.
19874
198752010-12-21  castaglia <castaglia>
19876
19877	* doc/modules/mod_core.html: Updating mod_core docs with description
19878	of ProcessTitles directive.
19879
198802010-12-21  castaglia <castaglia>
19881
19882	* NEWS, include/proctitle.h, modules/mod_core.c, src/proctitle.c:
19883	Bug#3566 - Ability to turn verbose process titles off.
19884
198852010-12-20  castaglia <castaglia>
19886
19887	* tests/t/config/maxcommandrate.t,
19888	tests/t/lib/ProFTPD/Tests/Config/MaxCommandRate.pm, tests/tests.pl:
19889	Adding unit tests for the functionality in Bug#3565.
19890
198912010-12-18  jwm <jwm>
19892
19893	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: forgot to sync with
19894	TJ's changes to use the base set_up/tear_down methods
19895
198962010-12-18  castaglia <castaglia>
19897
19898	* contrib/mod_sql.c: Bug#3563 - Fix compiler warnings about possibly
19899	uninitialized variables.
19900
199012010-12-18  castaglia <castaglia>
19902
19903	* doc/contrib/mod_sftp.html: Bug#3564 - Remove the SFTPServices
19904	docs, since the directive was reworked to be the Protocols
19905	directive.
19906
199072010-12-18  castaglia <castaglia>
19908
19909	* include/version.h: Updating version.h for the CVS status once
19910	more.
19911
199122010-12-18  castaglia <castaglia>
19913
19914	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Remove the 50MB
19915	file used for mod_deflate regression testing; no need to clutter up
19916	the tarball with it.
19917
199182010-12-18  castaglia <castaglia>
19919
19920	* ChangeLog: Updating ChangeLog.
19921
199222010-12-18  castaglia <castaglia>
19923
19924	* locale/files.txt: Updating the list of files for localization.
19925
199262010-12-18  castaglia <castaglia>
19927
19928	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Getting
19929	ready to release 1.3.4rc1 (finally).
19930
199312010-12-18  castaglia <castaglia>
19932
19933	* modules/mod_xfer.c: Add some portability checks for strtof(3), and
19934	make sure that the UseSendfile directive handler checks the macros.
19935
199362010-12-18  castaglia <castaglia>
19937
19938	* configure: Updating configure script.
19939
199402010-12-18  castaglia <castaglia>
19941
19942	* config.h.in, configure.in: Adding autoconf checks for the
19943	strtod(3) and strtof(3) functions; some platforms (e.g. older
19944	Solaris) may not have them.
19945
199462010-12-17  castaglia <castaglia>
19947
19948	* contrib/mod_qos.c: Make sure that mod_qos can compile properly on
19949	non-Linux systems (e.g. FreeBSD) by adding in some portability
19950	checks.
19951
199522010-12-17  castaglia <castaglia>
19953
19954	* contrib/mod_wrap2/mod_wrap2.h.in: Missed checkin for the fix for
19955	Bug#3558.
19956
199572010-12-17  castaglia <castaglia>
19958
19959	* RELEASE_NOTES: Updating the release notes.
19960
199612010-12-17  castaglia <castaglia>
19962
19963	* src/netio.c: Limit the memory usage for pr_buffer_ts for the IO
19964	events by using a sub-pool for the IO write events, and destroying
19965	the pool after the event has been posted.
19966
199672010-12-17  castaglia <castaglia>
19968
19969	* contrib/mod_sql.c: The mod_sql_sqlite testsuite caught a
19970	regression caused by a typo in the fix for Bug#3536.
19971
199722010-12-17  castaglia <castaglia>
19973
19974	* src/response.c: Wait to clear the cached last response code/msg
19975	values until pr_response_clear().
19976
199772010-12-17  castaglia <castaglia>
19978
19979	* src/response.c: The last commit broke pr_response_flush(); fix it
19980	properly.
19981
199822010-12-17  castaglia <castaglia>
19983
19984	* include/event.h, src/event.c: Provide a function for checking if
19985	there are any registered listeners for a given event.  A module
19986	might want to use this, for example, to see if anyone is listening
19987	for some data which may be expensive to generate.
19988
199892010-12-17  castaglia <castaglia>
19990
19991	* NEWS, contrib/mod_sftp/fxp.c,
19992	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3560 -
19993	ExtendedLog shows incorrect byte size for first file downloaded via
19994	SFTP in some cases.
19995
199962010-12-17  castaglia <castaglia>
19997
19998	* src/response.c: The mod_sftp testsuite caught some issues in the
19999	Response API.
20000
200012010-12-16  castaglia <castaglia>
20002
20003	* contrib/mod_sftp/packet.c: Have mod_sftp generate events when it
20004	does network IO.
20005
200062010-12-16  castaglia <castaglia>
20007
20008	* src/netio.c: Generate an event when pr_netio_gets() is used (e.g.
20009	by mod_ident) to read data from the network which is not necessarily
20010	for the control or data connections.
20011
200122010-12-15  castaglia <castaglia>
20013
20014	* src/data.c, src/netio.c: Flesh out the rest of the IO events, so
20015	that events are generated when data are read from both control and
20016	data connection, and when data are written to either control or data
20017	connections.
20018
200192010-12-15  castaglia <castaglia>
20020
20021	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Adding
20022	regression test for %O variable when sendfile(2) support is in
20023	effect.  Fixing the other broken tests related to Bug#3554.
20024
200252010-12-15  castaglia <castaglia>
20026
20027	* src/data.c: Make sure that bytes sent to the client via
20028	sendfile(2) are properly accounted for in the %O value (Bug#3554).
20029
200302010-12-15  castaglia <castaglia>
20031
20032	* doc/contrib/mod_wrap2.html: Added documentation for the new
20033	CheckAllNames WrapOption.
20034
200352010-12-15  castaglia <castaglia>
20036
20037	* NEWS, contrib/mod_wrap2/mod_wrap2.c, include/netaddr.h,
20038	src/netaddr.c, tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm:
20039	Bug#3558 - Check all DNS names for a client against DNS
20040	names/patterns in access rules.
20041
200422010-12-15  castaglia <castaglia>
20043
20044	* doc/modules/mod_core.html: Start working a mod_core.html doc, just
20045	like we have for the other standard modules.
20046
200472010-12-15  castaglia <castaglia>
20048
20049	* modules/mod_core.c: Make sure that mod_ifsession won't remove all
20050	Protocols config_recs by marking it with the proper
20051	CF_MERGEDOWN_MULTI flag.
20052
200532010-12-15  castaglia <castaglia>
20054
20055	* NEWS, RELEASE_NOTES, contrib/mod_tls.c,
20056	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls to
20057	honor/enforce the "ftps" protocol for the Protocols directive.  Update the NEWS and RELEASE_NOTES about the new Protocols directive.
20058
200592010-12-15  castaglia <castaglia>
20060
20061	* modules/mod_auth.c: Make sure that the disconnecting of a client
20062	because of the Protocols config happens at the right time.
20063
200642010-12-15  castaglia <castaglia>
20065
20066	* modules/mod_auth.c, tests/t/lib/ProFTPD/Tests/Config/Protocols.pm:
20067	Be polite, and send a response when we disconnect the session
20068	because of the Protocols config, even if that response is not very
20069	informative.
20070
200712010-12-15  castaglia <castaglia>
20072
20073	* modules/mod_auth.c: More work on Bug#3556; we don't want to check
20074	for the Protocols config unless the client has been successfully
20075	authenticated.
20076
200772010-12-15  castaglia <castaglia>
20078
20079	* contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
20080	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
20081	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Supporting the new
20082	Protocols directive (Bug#3556) in mod_sftp.
20083
200842010-12-15  castaglia <castaglia>
20085
20086	* modules/mod_auth.c, modules/mod_core.c,
20087	tests/t/config/protocols.t,
20088	tests/t/lib/ProFTPD/Tests/Config/Protocols.pm, tests/tests.pl:
20089	Bug#3556 - Disable protocol support on per-user/group/class basis.
20090
200912010-12-14  castaglia <castaglia>
20092
20093	* doc/contrib/mod_wrap2.html: Add documentation for the new
20094	WrapOptions directive, and the option added for Bug#3508.
20095
200962010-12-14  castaglia <castaglia>
20097
20098	* NEWS, RELEASE_NOTES, contrib/mod_wrap2/mod_wrap2.c,
20099	contrib/mod_wrap2/mod_wrap2.h.in: Bug#3508 - mod_wrap2 should
20100	support checking of WrapTables allow/deny rules at connect time.
20101
201022010-12-14  castaglia <castaglia>
20103
20104	* contrib/mod_wrap2/mod_wrap2.c: Add logging in the WrapLog of the
20105	DNS names/patterns being compared.  Trim a trailing period in the
20106	retrieved client DNS name, if present.
20107
201082010-12-14  castaglia <castaglia>
20109
20110	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new
20111	SFTPServices directive in the docs.
20112
201132010-12-14  castaglia <castaglia>
20114
20115	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
20116	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/mod_sftp.h.in,
20117	contrib/mod_sftp/scp.c,
20118	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3556 - Disable
20119	SFTP/SCP support on per-user/group/class basis.
20120
201212010-12-13  castaglia <castaglia>
20122
20123	* tests/t/config/maxclientsperhost.t,
20124	tests/t/config/maxconnectionsperhost.t,
20125	tests/t/lib/ProFTPD/Tests/Config/MaxClientsPerHost.pm,
20126	tests/t/lib/ProFTPD/Tests/Config/MaxConnectionsPerHost.pm,
20127	tests/tests.pl: Adding unit tests for the MaxClientsPerHost and
20128	MaxConnectionsPerHost directives.
20129
201302010-12-13  castaglia <castaglia>
20131
20132	* contrib/mod_unique_id.c: Make the unique session ID generated by
20133	mod_unique_id available to all modules by stashing the ID in the
20134	session.notes table.
20135
201362010-12-11  castaglia <castaglia>
20137
20138	* NEWS, RELEASE_NOTES, contrib/mod_deflate.c,
20139	contrib/mod_sftp/packet.c, contrib/mod_sql.c, contrib/mod_tls.c,
20140	include/proftpd.h, modules/mod_log.c, src/netio.c,
20141	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
20142	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3554 -
20143	Support Apache-style %I, %O LogFormat variables.
20144
201452010-12-11  castaglia <castaglia>
20146
20147	* contrib/mod_sftp/channel.c: Add comment for myself in the future,
20148	about SSH clients which request SCP transfers using an explicit path
20149	to the scp executable.
20150
201512010-12-11  castaglia <castaglia>
20152
20153	* modules/mod_log.c: Catch an edge case where an ExtendedLog
20154	configured to log ALL commands was not logging some commands.
20155	Specifically, if the module handling the command forgot to provide a
20156	proper command class for that command, then the ExtendedLog wouldn't
20157	log it, even for the ALL command class.
20158
201592010-12-11  castaglia <castaglia>
20160
20161	* contrib/mod_deflate.c: Make sure that the commands handled by
20162	mod_deflate are tagged with the proper command class, so that
20163	ExtendedLog catches/logs them properly.
20164
201652010-12-11  castaglia <castaglia>
20166
20167	* contrib/mod_deflate.c: The cause of Bug#3550 also occurred in the
20168	mod_deflate code; fixing it here.
20169
201702010-12-10  jwm <jwm>
20171
20172	* contrib/mod_ldap.c: bzr r108:   Handle potential NULL return value from crypt(). (Bug #3551)
20173
201742010-12-10  castaglia <castaglia>
20175
20176	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
20177	tests for the handling of various timeouts (TimeoutIdle,
20178	TimeoutLogin, TimeoutNoTransfer, TimeoutStalled) for SFTP sessions.
20179
201802010-12-10  castaglia <castaglia>
20181
20182	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Make SCP
20183	honor/handle the TimeoutNoTransfer and TimeoutStalled timeouts
20184	properly.
20185
201862010-12-10  castaglia <castaglia>
20187
20188	* contrib/mod_sftp/fxp.c: Listing a directory via SFTP should reset
20189	the TimeoutNoTransfer timer, as is done for FTP sessions.
20190
201912010-12-10  castaglia <castaglia>
20192
20193	* modules/mod_xfer.c: The message logged for a TimeoutNoTransfer
20194	should be protocol-specific, and not have "FTP" hardcoded.
20195
201962010-12-10  castaglia <castaglia>
20197
20198	* src/main.c: Generate an event for parsed but
20199	unhandled/unrecognized commands as well.
20200
202012010-12-10  castaglia <castaglia>
20202
20203	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/packet.c: Generate events
20204	when we receive invalid SSH2 packets, and when we receive invalid
20205	SFTP requests.
20206
202072010-12-10  castaglia <castaglia>
20208
20209	* src/main.c: Generate an event whenever an invalid command (i.e. an
20210	unparsable command) is received from the client.
20211
202122010-12-10  castaglia <castaglia>
20213
20214	* tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm: Add tests
20215	which show that TimeoutStalled pertains to all data transfers,
20216	including LIST, NLST, MLSD, RETR, and STOR.
20217
202182010-12-09  castaglia <castaglia>
20219
20220	* contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c:
20221	Updating some macros based on a FreeBSD patch I found online (which
20222	wasn't passed on upstream to us).
20223
202242010-12-09  castaglia <castaglia>
20225
20226	* src/netio.c: Refine the placement/timing of when the event
20227	containing FTP control data is generated.  This tweak allows the
20228	event listeners to possibly modify the data, and to have the changes
20229	actually seen/visible to the calling code.
20230
202312010-12-09  castaglia <castaglia>
20232
20233	* include/netio.h: There's no reason that the number of bytes left
20234	in a pr_buffer_t should be negative; use a size_t data type instead
20235	of int.
20236
202372010-12-09  castaglia <castaglia>
20238
20239	* src/netio.c: Generate an event whenever we read data from the
20240	network for the control connection, passing as event data the buffer
20241	we read in.  This event is generated *before* we start examining
20242	that data as Telnet/string data.  This allows modules to register listeners for this event; the
20243	modules can then examine the data for possibly malicious payloads
20244	and then do something appropriate (e.g. log the data, notify
20245	someone, drop the connection, generate an event for mod_ban, etc
20246	etc).
20247
202482010-12-09  castaglia <castaglia>
20249
20250	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Don't run the
20251	Bug#3536 test by default; it's more for development/debugging than
20252	for regression.
20253
202542010-12-09  castaglia <castaglia>
20255
20256	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add the
20257	reproduction recipe I was using for testing the changes for
20258	Bug#3536.
20259
202602010-12-09  castaglia <castaglia>
20261
20262	* modules/mod_xfer.c: Make a reminder comment to myself to handle
20263	short writes to disk better.
20264
202652010-12-08  castaglia <castaglia>
20266
20267	* NEWS, contrib/mod_sftp/compress.c: Bug#3550 - SFTP compressed
20268	uploads can cause corrupted uploaded files.
20269
202702010-12-08  castaglia <castaglia>
20271
20272	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add another
20273	regression test for Bug#3550, this one using compressed SFTP
20274	downloads.
20275
202762010-12-08  castaglia <castaglia>
20277
20278	* contrib/mod_sftp/fxp.c: Allocate a larger default buffer for
20279	incoming packets, to handle WRITE packets better.
20280
202812010-12-08  castaglia <castaglia>
20282
20283	* tests/t/etc/modules/mod_sftp/bug3550.php,
20284	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
20285	recipe for Bug#3550.
20286
202872010-12-07  castaglia <castaglia>
20288
20289	* contrib/mod_sql.c, modules/mod_auth_unix.c: Restore the explicit
20290	casts inadvertently removed by the fix for Bug#3551; I believe these
20291	were there to quell compiler warnings on some platforms.
20292
202932010-12-07  castaglia <castaglia>
20294
20295	* NEWS, contrib/mod_sql.c, modules/mod_auth_unix.c: Bug#3551 -
20296	SQLAuthType Crypt implementation needs to handle NULL return value
20297	from crypt(3).
20298
202992010-12-04  castaglia <castaglia>
20300
20301	* NEWS, contrib/mod_sftp/fxp.c: Bug#3548 - Null pointer segfault in
20302	mod_sftp when handling aborted connection.
20303
203042010-12-03  castaglia <castaglia>
20305
20306	* contrib/mod_sql_sqlite.c: Fix logging of SQL query executing
20307	error.
20308
203092010-12-03  castaglia <castaglia>
20310
20311	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
20312	contrib/mod_sftp/channel.h, contrib/mod_sftp/display.c,
20313	contrib/mod_sftp/display.h, contrib/mod_sftp/fxp.c,
20314	contrib/mod_sftp/fxp.h, contrib/mod_sftp/mod_sftp.c,
20315	contrib/mod_sftp/ssh2.h: Bug#3515 - Support DisplayLogin
20316	functionality for SFTP connections.
20317
203182010-12-02  castaglia <castaglia>
20319
20320	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding reproduction
20321	recipe for Bug#3544.
20322
203232010-12-01  castaglia <castaglia>
20324
20325	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Adding
20326	regression test for Bug#3547.
20327
203282010-12-01  castaglia <castaglia>
20329
20330	* NEWS, contrib/mod_ifsession.c, modules/mod_core.c: Bug#3547 -
20331	Multiple AllowClass directives not handled properly.
20332
203332010-11-30  castaglia <castaglia>
20334
20335	* contrib/mod_ifsession.c, src/parser.c: Populate the cmd_rec->arg
20336	field for the cmd_recs generated during parsing.  This is useful for
20337	capturing/recording the full original configuration line.  Update mod_ifsession's logging to store and use the cmd->arg field,
20338	to better be able to determine which specific conditional context
20339	was merged in (or not).
20340
203412010-11-30  castaglia <castaglia>
20342
20343	* NEWS, contrib/mod_sql.c: Bug#3536 - mod_sql has insufficient
20344	bounds checking in sql_prepare_where() function.
20345
203462010-11-22  castaglia <castaglia>
20347
20348	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
20349	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Adding unit
20350	tests for mod_wrap2 and the WrapOptions directive from Bug#3508.
20351
203522010-11-22  castaglia <castaglia>
20353
20354	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add ExtendedLog
20355	RETR test for SFTP downloads.
20356
203572010-11-22  castaglia <castaglia>
20358
20359	* src/log.c: Make very sure that our logging buffer isn't exceeded.
20360
203612010-11-19  castaglia <castaglia>
20362
20363	* tests/t/config/commandbuffersize.t,
20364	tests/t/lib/ProFTPD/Tests/Config/CommandBufferSize.pm,
20365	tests/tests.pl: Adding tests for the CommandBufferSize directive.
20366
203672010-11-19  castaglia <castaglia>
20368
20369	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Allow unit tests the
20370	possibility of specifying a command timeout, in addition to the
20371	existing connection timeout, when instantiating a Net::FTP object.
20372	Useful for cases where the server may not actually send a response
20373	(e.g. if we send a too-long command).
20374
203752010-11-16  castaglia <castaglia>
20376
20377	* src/timers.c: Make sure we reset the dynamic_timerno static
20378	variable when (re)initializing the Timers API as well.
20379
203802010-11-16  castaglia <castaglia>
20381
20382	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add some tests for
20383	the SFTPRekey directive; fortunately rekeying seems to be supported
20384	well in libssh2/Net::SSH2.
20385
203862010-11-16  castaglia <castaglia>
20387
20388	* contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c: Fix up some
20389	of the trace logging around rekeying to be a little clearer.  Fixed the handling of rekey-related timers; we were inadvertently
20390	removing the rekey interval timer when we wanted to remove the rekey
20391	timeout timer.
20392
203932010-11-16  castaglia <castaglia>
20394
20395	* contrib/dist/rpm/proftpd.spec: Make sure that mod_facts is listed
20396	in the .spec file.
20397
203982010-11-16  castaglia <castaglia>
20399
20400	* src/scoreboard.c: Don't forget to delete the ScoreboardMutex file
20401	as well.
20402
204032010-11-15  castaglia <castaglia>
20404
20405	* include/scoreboard.h: Additional comments for the scoreboard entry
20406	fields.
20407
204082010-11-14  castaglia <castaglia>
20409
20410	* NEWS: Mention the automatic setting of ScoreboardMutex when
20411	ScoreboardFile is used.
20412
204132010-11-14  castaglia <castaglia>
20414
20415	* src/scoreboard.c: By default, whenever the ScoreboardFile is
20416	manually set via config, the ScoreboardMutex should be automatically
20417	set as well -- this makes helps preserve the principle of least
20418	surprise when upgrading proftpd.
20419
204202010-11-14  castaglia <castaglia>
20421
20422	* tests/t/config/transferrate.t,
20423	tests/t/lib/ProFTPD/Tests/Config/TransferRate.pm, tests/tests.pl:
20424	Adding unit tests for the TransferRate directive.
20425
204262010-11-14  castaglia <castaglia>
20427
20428	* include/scoreboard.h, src/scoreboard.c: Adding trace logging of
20429	the pr_scoreboard_entry_update() function, for tracing when specific
20430	scoreboard entry fields are updated.
20431
204322010-11-13  castaglia <castaglia>
20433
20434	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Adding a few more
20435	FTPS regression tests.
20436
204372010-11-13  castaglia <castaglia>
20438
20439	* tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm: Quell minor perl
20440	compiler warning about redeclared variable.
20441
204422010-11-11  castaglia <castaglia>
20443
20444	* modules/mod_site.c: Add some trace logging for when SITE
20445	CHGRP/CHMOD fail.
20446
204472010-11-11  castaglia <castaglia>
20448
20449	* tests/t/lib/ProFTPD/Tests/Modules/mod_site.pm,
20450	tests/t/modules/mod_site.t, tests/tests.pl: Start working on
20451	regression tests for the mod_site module and its SITE commands.
20452
204532010-11-11  castaglia <castaglia>
20454
20455	* doc/howto/Scoreboard.html: Add mention of the new ScoreboardMutex
20456	directive in the Scoreboard howto.
20457
204582010-11-11  castaglia <castaglia>
20459
20460	* RELEASE_NOTES: Updating release notes.
20461
204622010-11-11  castaglia <castaglia>
20463
20464	* NEWS, include/scoreboard.h, modules/mod_core.c, src/scoreboard.c:
20465	Bug#3208 - Improve ScoreboardFile performance under load.
20466
204672010-11-10  castaglia <castaglia>
20468
20469	* NEWS, src/dirtree.c,
20470	tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Bug#3530 -
20471	Conflicting interactions among HideUser, HideGroup, and HideNoAccess
20472	directives.  Make sure that HideNoAccess does not override the results of the
20473	HideUser or HideGroup checks.
20474
204752010-11-10  castaglia <castaglia>
20476
20477	* NEWS: Mention the new "OldProtocolCompat" SFTPOption in the NEWS
20478	file.
20479
204802010-11-09  castaglia <castaglia>
20481
20482	* doc/howto/Limit.html: Add an example of user-specific login denied
20483	by a specific IP address.
20484
204852010-11-09  castaglia <castaglia>
20486
20487	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add unit test
20488	showing how to use mod_ifsession and <Limit LOGIN> to achieve
20489	per-user, per-IP address specific ACLs.
20490
204912010-11-09  castaglia <castaglia>
20492
20493	* NEWS, contrib/mod_quotatab.c: Bug#3531 - mod_quotatab contains
20494	duplicate EDQUOT errno code.
20495
204962010-11-09  castaglia <castaglia>
20497
20498	* contrib/mod_sql_passwd.c: Refactor mod_sql_passwd a little,
20499	pulling the encoding logic into a separate function.  Hopefully this
20500	will make implementing the feature requested in Bug#3500 easier.
20501
205022010-11-09  castaglia <castaglia>
20503
20504	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Start adding
20505	tests for the mod_sql_passwd functionality requested in Bug#3500.
20506
205072010-11-09  castaglia <castaglia>
20508
20509	* src/netio.c: Stylistic nits; no functional change.
20510
205112010-11-09  castaglia <castaglia>
20512
20513	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Fix the regression test for
20514	Bug#3521.  We need to use Net::Telnet::TELNET_IAC() instead of
20515	$Net::Telnet::TELNET_IAC, since it is a subroutine, not a scalar.
20516
205172010-11-09  castaglia <castaglia>
20518
20519	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Correct the bug number for
20520	this unit/regression test.
20521
205222010-11-08  castaglia <castaglia>
20523
20524	* tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm: Fix broken mod_copy
20525	unit test.
20526
205272010-11-08  castaglia <castaglia>
20528
20529	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add unit test
20530	where mod_sql will retrieve multiple group rows with different names
20531	but the same GID.  This test can be useful later.
20532
205332010-11-08  castaglia <castaglia>
20534
20535	* contrib/mod_sql.c: Stylistic nit; no functional change.
20536
205372010-11-08  castaglia <castaglia>
20538
20539	* contrib/mod_sql.c, include/display.h, src/display.c: Fixing
20540	regression in handling of SQLShowInfo, caused by fix for Bug#3423.
20541
205422010-11-08  castaglia <castaglia>
20543
20544	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
20545	regression test for the fix for Bug#3423 as applied to SQLShowInfo
20546	lines.
20547
205482010-11-07  castaglia <castaglia>
20549
20550	* tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm: Add regression
20551	test/reproduction recipe for Bug#3530.
20552
205532010-11-07  castaglia <castaglia>
20554
20555	* doc/howto/Sendfile.html: Updating the Sendfile howto with
20556	description of the changes for Bug#3310, including how to get
20557	ftptop/ftpwho to show download rates while still taking advantage of
20558	the sendfile(2) optimal data transfer for downloads.
20559
205602010-11-06  castaglia <castaglia>
20561
20562	* NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#3310 - UseSendfile
20563	should be supported in <Directory> and .ftpaccess sections.
20564
205652010-11-06  castaglia <castaglia>
20566
20567	* tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: More unit tests
20568	for the UseSendfile functionality added for Bug#3310.  These tests
20569	are for the percentage syntax.
20570
205712010-11-06  castaglia <castaglia>
20572
20573	* tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm: Adding a bunch of
20574	UseSendfile tests for the functionality being added for Bug#3310.
20575
205762010-11-05  castaglia <castaglia>
20577
20578	* tests/t/config/usesendfile.t,
20579	tests/t/lib/ProFTPD/Tests/Config/UseSendfile.pm, tests/tests.pl:
20580	Adding regression tests for the UseSendfile directive, in
20581	preparation for working on Bug#3310.
20582
205832010-11-05  castaglia <castaglia>
20584
20585	* tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Updating
20586	multiline DisplayConnect regression test for changes due to
20587	Bug#3423.
20588
205892010-11-05  castaglia <castaglia>
20590
20591	* include/display.h: Typo.
20592
205932010-11-05  castaglia <castaglia>
20594
20595	* NEWS, modules/mod_ls.c: Bug#3529 - "LIST /*" now lists more than
20596	the expected directory.
20597
205982010-11-05  castaglia <castaglia>
20599
20600	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding reproduction
20601	recipes/regression tests for Bug#3529.
20602
206032010-11-05  castaglia <castaglia>
20604
20605	* src/dirtree.c: Address an issue seen by Thomas Shinnick where
20606	multiple config_recs for the same config_rec might be created
20607	unnecessarily in merge_down().  Specifically, if a config_rec was
20608	marked with the CF_MERGEDOWN_MULTI flag, merge_down() was not
20609	checking to see if a config_rec with all of the same values already
20610	existed in the destination subset list before merging it in.  These duplicate config_recs could lead to extraneous (or even buggy)
20611	duplicate processing, depending on how those config_recs were looked
20612	up/processed (i.e.  did the consuming code simply look up the first
20613	occurring config_rec, or would it look up and process all
20614	config_recs of that name, including the duplicates?).
20615
206162010-11-05  castaglia <castaglia>
20617
20618	* NEWS, src/dirtree.c: Bug#3526 - CPU usage at 100% when checking
20619	HideFiles pattern.  The build_dyn_config() function was using different names for the
20620	.ftpaccess config_recs it created versus the ones it looked up.
20621	This lead to an explosing in the number of config_recs created,
20622	which in turn lead to huge amounts of memory and CPU being taken up.
20623	Thanks to Thomas Shinnick for diligently tracking down the problem,
20624	and for providing a thoroughly- researched fix.
20625
206262010-11-04  castaglia <castaglia>
20627
20628	* tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Add unit
20629	test for reproducing the slow/CPU-eating behavior indicated in
20630	Bug#3526.
20631
206322010-11-04  castaglia <castaglia>
20633
20634	* src/dirtree.c: Cleanup some stylistic nits found in src/dirtree.c,
20635	found while investigating Bug#3526.  Also add some necessary signal
20636	handling.
20637
206382010-11-04  castaglia <castaglia>
20639
20640	* NEWS, contrib/mod_sql.c, include/response.h, modules/mod_log.c,
20641	src/response.c, tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
20642	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3528 -
20643	ExtendedLog %s variable not expanded properly for successful PASS
20644	commands.
20645
206462010-11-02  castaglia <castaglia>
20647
20648	* NEWS, src/log.c: Bug#3525 - Default syslog logging causes logging
20649	to the wrong syslog facilities.
20650
206512010-11-01  castaglia <castaglia>
20652
20653	* RELEASE_NOTES: Updating release notes.
20654
206552010-11-01  castaglia <castaglia>
20656
20657	* contrib/mod_quotatab.c: Remove the pr_unregister_fs() call when
20658	unloading mod_quotatab.  First, the call was wrong:
20659	pr_unregister_fs() takes a path, not an FSIO name.  Second, the
20660	corresponding pr_register_fs() call happens in the session process;
20661	unloading the module happens in the daemon process.
20662
206632010-10-30  castaglia <castaglia>
20664
20665	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Set the
20666	session.curr_cmd value in mod_sftp, for use by contrib modules.
20667
206682010-10-29  castaglia <castaglia>
20669
20670	* contrib/mod_sftp/packet.c: Add trace logging of unknown disconnect
20671	reason codes.
20672
206732010-10-29  castaglia <castaglia>
20674
20675	* contrib/mod_sftp/packet.c: Make sure we handle unknown disconnect
20676	reason code properly (Bug#3522).
20677
206782010-10-29  castaglia <castaglia>
20679
20680	* NEWS, contrib/mod_sftp/disconnect.c,
20681	contrib/mod_sftp/disconnect.h, contrib/mod_sftp/packet.c: Bug#3522 -
20682	Error when handling SSH DISCONNECT messages with no language tag.
20683
206842010-10-29  castaglia <castaglia>
20685
20686	* tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Add unit tests
20687	showing that mod_site_misc properly honors <Limit> sections on its
20688	SITE commands.
20689
206902010-10-29  castaglia <castaglia>
20691
20692	* tests/t/lib/ProFTPD/Tests/Telnet.pm: Fix the Telnet tests to be
20693	skipped properly, without compilation error, if the Net::Telnet
20694	module isn't installed.
20695
206962010-10-29  castaglia <castaglia>
20697
20698	* tests/t/lib/ProFTPD/Tests/Telnet.pm, tests/t/telnet.t,
20699	tests/tests.pl: Add regression test for the Telnet IAC handling bug
20700	(Bug#3521).
20701
207022010-10-29  castaglia <castaglia>
20703
20704	* NEWS, src/netio.c: Bug#3521 - Telnet IAC processing stack
20705	overflow.
20706
207072010-10-27  castaglia <castaglia>
20708
20709	* NEWS, include/proftpd.h, modules/mod_core.c, src/dirtree.c,
20710	src/display.c, src/response.c: Bug#3520 -  MultilineRFC2228
20711	directive should be supported in <VirtualHost> and <Global>
20712	sections.
20713
207142010-10-27  castaglia <castaglia>
20715
20716	* tests/t/config/multilinerfc2228.t,
20717	tests/t/lib/ProFTPD/Tests/Config/MultilineRFC2228.pm,
20718	tests/tests.pl: Adding unit tests for the MultilineRFC2228
20719	directive.
20720
207212010-10-24  castaglia <castaglia>
20722
20723	* lib/pr_fnmatch_loop.c: Try to avoid more non-gcc compiler
20724	unhappiness.
20725
207262010-10-24  castaglia <castaglia>
20727
20728	* lib/pr_fnmatch.c: Try to make non-gcc compilers happier by
20729	providing a __builtin_expect macro definition for them.
20730
207312010-10-23  castaglia <castaglia>
20732
20733	* include/compat.h: Make sure to have a compatibility macro for the
20734	renamed is_fnmatch() function.
20735
207362010-10-23  castaglia <castaglia>
20737
20738	* tests/api/netacl.c: Updated unit tests for NetACL parsing changes.
20739
207402010-10-23  castaglia <castaglia>
20741
20742	* include/dirtree.h, include/str.h, src/dirtree.c, src/str.c,
20743	tests/api/str.c: Move the is_fnmatch() function into the str.c
20744	source file, and rename it to pr_str_is_fnmatch(), making it part of
20745	the public API.  Added unit tests for its behavior as well.
20746
207472010-10-22  castaglia <castaglia>
20748
20749	* NEWS, contrib/mod_site_misc.c,
20750	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Bug#3519 -
20751	Inappropriate directory traversal allowed by mod_site_misc.
20752
207532010-10-21  castaglia <castaglia>
20754
20755	* doc/contrib/mod_site_misc.html: Update mod_site_misc docs for new
20756	SiteMiscEngine directive.
20757
207582010-10-21  castaglia <castaglia>
20759
20760	* NEWS, contrib/mod_site_misc.c,
20761	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Bug#3518 -
20762	Support SiteMiscEngine directive, for disabling mod_site_misc
20763	functionality via proftpd.conf.
20764
207652010-10-20  castaglia <castaglia>
20766
20767	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Avoid this compiler
20768	warning:   warning: shadowing built-in function 'mempcpy' by prefixing our provided mempcpy(3) name with underscores.  Whee.
20769
207702010-10-20  castaglia <castaglia>
20771
20772	* contrib/mod_quotatab.c: Clear the "have update" flag in a few more
20773	places, just to be sure.
20774
207752010-10-20  castaglia <castaglia>
20776
20777	* contrib/mod_quotatab.c: Make sure the "have update" flag is
20778	cleared properly for DELEs; related to Bug#3517.
20779
207802010-10-20  castaglia <castaglia>
20781
20782	* NEWS, contrib/mod_quotatab.c,
20783	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3517 -
20784	mod_quotatab decrements file tally improperly for failed DELE
20785	commands.
20786
207872010-10-20  castaglia <castaglia>
20788
20789	* doc/contrib/mod_sftp.html: Mention the space-avaiable SFTP
20790	extension in the SFTPExtensions doc.
20791
207922010-10-20  castaglia <castaglia>
20793
20794	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
20795	contrib/mod_sftp/mod_sftp.c: Bug#3516 - Support the
20796	"space-available" SFTP extension.
20797
207982010-10-20  castaglia <castaglia>
20799
20800	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Fix compilation of the
20801	newly-updated fnmatch implementation on non-GNU systems (i.e.
20802	systems which may not have the mempcpy(3) function).
20803
208042010-10-19  castaglia <castaglia>
20805
20806	* tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm: Updated unit test
20807	for Bug#3484.
20808
208092010-10-19  castaglia <castaglia>
20810
20811	* src/modules.c: When unloading a module, try to remove as many
20812	callbacks that the module may have registered as possible.
20813
208142010-10-19  castaglia <castaglia>
20815
20816	* NEWS, src/netacl.c, src/netaddr.c: Bug#3484 - Support range
20817	expressions for IP addresses in Allow/Deny/From rules.
20818
208192010-10-19  castaglia <castaglia>
20820
20821	* RELEASE_NOTES: Mention the upgrade of the bundled fnmatch
20822	implementation in the release notes.
20823
208242010-10-19  castaglia <castaglia>
20825
20826	* include/libsupp.h, lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c:
20827	Updating the bundled fnmatch implementation to that from glibc-2.9.
20828	This is needed to properly support range expressions, a la Bug#3484.
20829	Strange that this hasn't been noticed before.  Hopefully this upgrade doesn't break any existing configs.
20830
208312010-10-18  castaglia <castaglia>
20832
20833	* NEWS: Updating NEWS for Bug#3514.
20834
208352010-10-18  castaglia <castaglia>
20836
20837	* tests/tests.pl: More residue from Bug#3514.
20838
208392010-10-18  castaglia <castaglia>
20840
20841	* tests/t/lib/ProFTPD/TestSuite/Child.pm: Strange that these didn't
20842	get checked in, as part of Bug#3514.
20843
208442010-10-18  castaglia <castaglia>
20845
20846	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Forgot to check this in;
20847	it's part of Bug#3514.
20848
208492010-10-18  castaglia <castaglia>
20850
20851	* tests/t/lib/ProFTPD/Tests/Config/AccessDenyMsg.pm,
20852	tests/t/lib/ProFTPD/Tests/Config/AccessGrantMsg.pm,
20853	tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm,
20854	tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm,
20855	tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm,
20856	tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm,
20857	tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm,
20858	tests/t/lib/ProFTPD/Tests/Config/AuthOrder.pm,
20859	tests/t/lib/ProFTPD/Tests/Config/AuthUsingAlias.pm,
20860	tests/t/lib/ProFTPD/Tests/Config/Classes.pm,
20861	tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm,
20862	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm,
20863	tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
20864	tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm,
20865	tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm,
20866	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
20867	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
20868	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm,
20869	tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm,
20870	tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm,
20871	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
20872	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
20873	tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
20874	tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm,
20875	tests/t/lib/ProFTPD/Tests/Config/HideUser.pm,
20876	tests/t/lib/ProFTPD/Tests/Config/MaxClients.pm,
20877	tests/t/lib/ProFTPD/Tests/Config/MaxInstances.pm,
20878	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
20879	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
20880	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
20881	tests/t/lib/ProFTPD/Tests/Config/Order.pm,
20882	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
20883	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm,
20884	tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
20885	tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm,
20886	tests/t/lib/ProFTPD/Tests/Config/ServerAdmin.pm,
20887	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
20888	tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
20889	tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
20890	tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
20891	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
20892	tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
20893	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
20894	tests/t/lib/ProFTPD/Tests/Config/Trace.pm,
20895	tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm,
20896	tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm,
20897	tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm,
20898	tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm,
20899	tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm: Update tests to
20900	use base set_up() and tear_down() methods.
20901
209022010-10-18  castaglia <castaglia>
20903
20904	* tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm,
20905	tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm,
20906	tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm,
20907	tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm,
20908	tests/t/lib/ProFTPD/Tests/Config/Limit/OPTS.pm,
20909	tests/t/lib/ProFTPD/Tests/Config/Limit/RMD.pm,
20910	tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm,
20911	tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: Updating tests to
20912	use base set_up() and tear_down() methods.
20913
209142010-10-18  castaglia <castaglia>
20915
20916	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
20917	tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm,
20918	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm,
20919	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm,
20920	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
20921	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm,
20922	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Updating tests
20923	to use base set_up() and tear_down() methods.
20924
209252010-10-18  castaglia <castaglia>
20926
20927	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
20928	tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
20929	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
20930	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
20931	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
20932	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
20933	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
20934	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
20935	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
20936	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
20937	tests/t/lib/ProFTPD/Tests/Commands/HOST.pm,
20938	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
20939	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
20940	tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
20941	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm,
20942	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
20943	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
20944	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm,
20945	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
20946	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
20947	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
20948	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
20949	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
20950	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
20951	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
20952	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
20953	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
20954	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
20955	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
20956	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
20957	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm,
20958	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
20959	tests/t/lib/ProFTPD/Tests/Commands/STAT.pm,
20960	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
20961	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm,
20962	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
20963	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
20964	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
20965	tests/t/lib/ProFTPD/Tests/Commands/USER.pm: Updating tests to use
20966	base set_up() and tear_down() methods.
20967
209682010-10-18  castaglia <castaglia>
20969
20970	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
20971	tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
20972	tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm,
20973	tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm,
20974	tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
20975	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
20976	tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm,
20977	tests/t/lib/ProFTPD/Tests/Modules/mod_ifversion.pm,
20978	tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm,
20979	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm,
20980	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
20981	tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm,
20982	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
20983	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm,
20984	tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm,
20985	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm,
20986	tests/t/lib/ProFTPD/Tests/Modules/mod_sql.pm,
20987	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm,
20988	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
20989	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
20990	tests/t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm,
20991	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm,
20992	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
20993	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Updating tests
20994	to use the base set_up() and tear_down() methods.
20995
209962010-10-18  castaglia <castaglia>
20997
20998	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
20999	tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Updating tests to
21000	use base set_up() and tear_down() methods.
21001
210022010-10-18  castaglia <castaglia>
21003
21004	* tests/t/lib/ProFTPD/Tests/Logins.pm: Updating test to use the base
21005	set_up() and tear_down() methods.
21006
210072010-10-18  castaglia <castaglia>
21008
21009	* tests/t/lib/ProFTPD/Tests/Signals/ABRT.pm,
21010	tests/t/lib/ProFTPD/Tests/Signals/HUP.pm,
21011	tests/t/lib/ProFTPD/Tests/Signals/SEGV.pm,
21012	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Updating tests to use the
21013	base set_up() and tear_down() methods.
21014
210152010-10-18  castaglia <castaglia>
21016
21017	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3514 - Test
21018	suite tmpdir improvements.
21019
210202010-10-16  castaglia <castaglia>
21021
21022	* modules/mod_delay.c: Use LONG_MAX as the delay ceiling.
21023
210242010-10-16  castaglia <castaglia>
21025
21026	* contrib/mod_sftp/channel.c: Remove now-unused variable, and avoid
21027	a verbose compiler warning.
21028
210292010-10-16  castaglia <castaglia>
21030
21031	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
21032	an SFTP upload which exceeds a mod_quotatab limit; make sure that
21033	mod_sftp sends the proper error code and message.
21034
210352010-10-16  castaglia <castaglia>
21036
21037	* contrib/mod_quotatab.c: When handling upload errors in
21038	mod_quotatab, try not to delete the bytes of files that were being
21039	appended to.  That is, only account for transfer differences if the
21040	number of transfer bytes is greater than zero, lest we penalize
21041	users inadvertently.
21042
210432010-10-15  castaglia <castaglia>
21044
21045	* contrib/mod_sftp/channel.c: Avoid compiler warning about returning
21046	a pointer (NULL, specifically) from a function which expects to
21047	return an unsigned int.
21048
210492010-10-15  jwm <jwm>
21050
21051	* README.LDAP: update from latest mod_ldap bzr
21052
210532010-10-15  jwm <jwm>
21054
21055	* contrib/mod_ldap.c: mod_ldap bzr r106:   2.9.0 looks ready to go mod_ldap bzr r105:   - check LDAPSearchScope value at config parse time   - support base scope
21056
210572010-10-14  jwm <jwm>
21058
21059	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: round out the parts
21060	of mod_ldap we can test without our own slapd instance
21061
210622010-10-14  castaglia <castaglia>
21063
21064	* contrib/mod_sftp/fxp.c: Handle quota-related errno values in the
21065	OPEN request handler.
21066
210672010-10-14  castaglia <castaglia>
21068
21069	* contrib/mod_quotatab.c: Make sure that the STOR and APPE handlers
21070	set errno appropriately, when the quota are reached.
21071
210722010-10-07  castaglia <castaglia>
21073
21074	* NEWS, modules/mod_cap.c: Bug#3513 - EPERM error logged
21075	unnecessarily for SFTP logins on Linux.
21076
210772010-10-06  castaglia <castaglia>
21078
21079	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit tests for
21080	"TLSOptions dNSNameRequired", and for combining the various cert
21081	checks via "TLSOptions iPAddressRequired dNSNameRequired
21082	CommonNameRequired".
21083
210842010-10-06  castaglia <castaglia>
21085
21086	* doc/contrib/mod_tls.html: Document the newly added (Bug#3512)
21087	CommonNameRequired TLSOption.
21088
210892010-10-06  castaglia <castaglia>
21090
21091	* NEWS, RELEASE_NOTES, contrib/mod_tls.c,
21092	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3512 - Add ability
21093	to check client certificate CommonName (CN) when verifying SSL/TLS
21094	clients.
21095
210962010-10-06  castaglia <castaglia>
21097
21098	* tests/t/etc/modules/mod_tls/NOTES,
21099	tests/t/etc/modules/mod_tls/client-cert-localhost.pem: Add a cert
21100	with a 'localhost' CN and DNS subjAltName value.  Update the notes
21101	with how to create this cert.
21102
211032010-09-29  castaglia <castaglia>
21104
21105	* NEWS, contrib/mod_sql_sqlite.c,
21106	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3511 -
21107	SQLAuthType Backend not properly rejected by mod_sql_sqlite.
21108
211092010-09-28  jwm <jwm>
21110
21111	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm: honor $allow_auth
21112	in ldap_auth() test
21113
211142010-09-28  castaglia <castaglia>
21115
21116	* RELEASE_NOTES: Make sure to mention the new NoErrorIfAbsent
21117	ListOption, from Bug#3506, in the release notes.
21118
211192010-09-28  castaglia <castaglia>
21120
21121	* NEWS, modules/mod_ls.c,
21122	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
21123	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Bug#3506 - Support
21124	ListOption for returning 226 response code when listing nonexistent
21125	file, instead of 450.
21126
211272010-09-24  castaglia <castaglia>
21128
21129	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to note that
21130	all SFTPOptions must appear on the same line.
21131
211322010-09-20  castaglia <castaglia>
21133
21134	* doc/contrib/mod_sql_passwd.html: Doc typos (missing line breaks).
21135
211362010-09-17  castaglia <castaglia>
21137
21138	* doc/contrib/mod_tls.html: Try to make it clear that all TLSOptions
21139	used must appear on the same line in the config file, rather than
21140	being spread out over multiple TLSOptions.
21141
211422010-09-17  castaglia <castaglia>
21143
21144	* contrib/mod_tls.c: Minor tweaks to the log message about the
21145	NoSessionUseRequired TLSOptions parameter.
21146
211472010-09-16  castaglia <castaglia>
21148
21149	* modules/mod_delay.c: Make the maximum selected delay be 1 hour.
21150	It's long, yes -- but still prevents the multiple days/years
21151	selection which one user was seeing.
21152
211532010-09-16  castaglia <castaglia>
21154
21155	* modules/mod_delay.c: Add some guards to mod_delay, to try to curb
21156	overly excessive delays.  First, initialize the delay value records to use values of -1, and
21157	then make sure that such negative values are skipped when building
21158	the list of values from which to select the median.  Check that the selected median is greater than or equal to zero
21159	before using it.  Last, add an absolute limit on the selected delay; currently set to
21160	15 minutes.
21161
211622010-09-15  castaglia <castaglia>
21163
21164	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Add docs for the new
21165	SFTPClientAlive directive.
21166
211672010-09-15  castaglia <castaglia>
21168
21169	* NEWS, contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
21170	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
21171	contrib/mod_sftp/packet.h,
21172	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3505 - Support
21173	for SSH2 client "alive" checks, a la OpenSSH's
21174	ClientAliveCount/Interval.
21175
211762010-09-14  castaglia <castaglia>
21177
21178	* modules/mod_delay.c: Adding yet more trace logging to mod_delay.
21179
211802010-09-14  castaglia <castaglia>
21181
21182	* modules/mod_delay.c: Adding more trace logging to mod_delay.
21183
211842010-09-14  castaglia <castaglia>
21185
21186	* modules/mod_delay.c: Add a little more trace logging to mod_delay,
21187	in order to track down a segfault that I suspect is originating in
21188	there.  Also fix up the trace logging so that errno is not trampled
21189	as often (leads to more accurate log messages).
21190
211912010-09-13  castaglia <castaglia>
21192
21193	* src/mkhome.c: Add support for trace logging of some of the
21194	CreateHome workings.
21195
211962010-09-10  castaglia <castaglia>
21197
21198	* NEWS, contrib/mod_sql.c, modules/mod_log.c,
21199	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
21200	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3390 - Add
21201	extra %-variable to LogFormat directive to log UID/GID of logged
21202	user.
21203
212042010-09-08  castaglia <castaglia>
21205
21206	* contrib/mod_sftp/kex.c: Fixing marking of DH_GEX_INIT command
21207	class to be AUTH.
21208
212092010-09-08  castaglia <castaglia>
21210
21211	* contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c: Fix
21212	the getopt() resetting logic for HPUX11.
21213
212142010-09-07  castaglia <castaglia>
21215
21216	* modules/mod_auth.c: Forgot to allocate space for another pointer
21217	in the CreateHome config_rec.
21218
212192010-09-07  castaglia <castaglia>
21220
21221	* configure: Updated configure.
21222
212232010-09-07  castaglia <castaglia>
21224
21225	* contrib/mod_sftp/msg.c: Only try to log stacktraces in mod_sftp if
21226	we have the backtrace(3) and backtrace_symbols(3) functions
21227	available.
21228
212292010-09-07  castaglia <castaglia>
21230
21231	* config.h.in, configure.in: Add explicitly autoconf checks for the
21232	backtrace(3) and backtrace_symbols(3) functions, to better guard
21233	against situations where autoconf might find the execinfo.h header,
21234	but not the corresponding functions (e.g. on FreeBSD).
21235
212362010-09-07  castaglia <castaglia>
21237
21238	* configure: Updated configure.
21239
212402010-09-07  castaglia <castaglia>
21241
21242	* configure.in: When the --enable-devel=stacktrace option is used,
21243	check for the libexecinfo library.  This library is used on FreeBSD
21244	to provide the backtrace(3) function.
21245
212462010-09-03  castaglia <castaglia>
21247
21248	* doc/howto/CreateHome.html: Updated the CreateHome howto to
21249	describe the new 'homegid' parameter.
21250
212512010-09-03  castaglia <castaglia>
21252
21253	* NEWS, modules/mod_auth.c, src/mkhome.c,
21254	tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm,
21255	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3503 - Support
21256	CreateHome parameter for specifying the group ownership of the home
21257	directory.
21258
212592010-09-02  castaglia <castaglia>
21260
21261	* NEWS, src/parser.c,
21262	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Bug#3502 - Support
21263	environment variables better in the config file.
21264
212652010-09-01  castaglia <castaglia>
21266
21267	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add some regression
21268	tests showing that SFTP uploads/downloads, with compression enabled,
21269	are handled properly.
21270
212712010-09-01  castaglia <castaglia>
21272
21273	* src/data.c: Given the possible confusion that the fixes for
21274	Bug#3135 and Bug#3487 may have, log when the data connection has
21275	disappeared in the debug logging, in addition to the trace logging.
21276
212772010-08-31  jwm <jwm>
21278
21279	* tests/tests.pl: get verbose output from Test::Harness, too
21280
212812010-08-31  jwm <jwm>
21282
21283	* tests/t/lib/ProFTPD/Tests/Modules/mod_ldap.pm,
21284	tests/t/modules/mod_ldap.t: start mod_ldap test suite
21285
212862010-08-31  castaglia <castaglia>
21287
21288	* tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
21289	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
21290	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
21291	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Adding more regression
21292	tests for the commands involved in Bug#3487.
21293
212942010-08-31  castaglia <castaglia>
21295
21296	* include/conf.h: When compiling on AIX, if the _NO_PROTO macro is
21297	defined, make sure we provide a prototype for lseek(2).  We were
21298	doing this already for AIX4; we need to provide this prototype for
21299	AIX5 in such build situations as well.
21300
213012010-08-30  castaglia <castaglia>
21302
21303	* NEWS, src/auth.c: Bug#3501 - <Anonymous> logins with
21304	"AuthAliasOnly on" still handled as anonymous logins.
21305
213062010-08-27  castaglia <castaglia>
21307
21308	* tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm:
21309	Regression/reproduction tests for Bug#3501.
21310
213112010-08-27  castaglia <castaglia>
21312
21313	* tests/t/lib/ProFTPD/Tests/Logins.pm: Missing testcase tag.
21314
213152010-08-26  jwm <jwm>
21316
21317	* contrib/mod_ldap.c: sync with mod_ldap bzr r104:   remove LDAPQuotas in favor of using the LDAPUsers configuration   don't see a point in configuring quota lookups separately, since
21318	  the quota attrs should be on the user entry itself. if ldap quota
21319	  lookups should be disabled, "ldap:" can be removed QuotaLimitTable.    this seems to cut down on duplicate configuration and hopefully
21320	  continues the trend of making mod_ldap easier to configure.
21321
213222010-08-18  jwm <jwm>
21323
21324	* contrib/mod_ldap.c: mod_ldap bzr r103:   fix handling of LDAPGroups directive
21325
213262010-08-17  jwm <jwm>
21327
21328	* contrib/mod_ldap.c: mod_ldap bzr r102:   - overhaul configuration directives, hopefully yielding a more     straightforward, easier way to configure mod_ldap. The on/off
21329	    booleans on these directives have been removed. Now, if the
21330	    directive is present, the corresponding functionality will be
21331	enabled.        LDAPDoAuth, LDAPDoUIDLookups -> LDAPUsers         The third argument to LDAPDoUIDLookups (the UID filter
21332	        template) is now the third argument to LDAPUsers.        LDAPDoGIDLookups -> LDAPGroups       LDAPDoQuotaLookups -> LDAPQuotas   - remove local verification of password hashes with OpenSSL;     'LDAPAuthBinds on' should do exactly the same thing in a more
21333	    secure and standard way.    - remove deprecated LDAPNegativeCache and LDAPUseSSL directives   - add group members to debug output   - comment, log/debug message sync   - minor logic cleanup   - style improvements
21334
213352010-08-14  castaglia <castaglia>
21336
21337	* src/main.c: Generate a 'core.shutdown' event when the daemon is
21338	shutting down.  Currently, a 'core.exit' event is generated when the daemon shuts
21339	down.  However, this event is also used to indicate when a session
21340	is closing; this forces modules to register two different event
21341	handlers for the same event name, depending on the context.  It is
21342	far cleaner (and less bug-prone) to have two distinct events for the
21343	two different types of "end of processing" behavior.  Gradually, the generation of the 'core.exit' event at daemon
21344	shutdown time will be phased out.
21345
213462010-08-14  castaglia <castaglia>
21347
21348	* include/ctrls.h, src/ctrls.c: Make sure that
21349	pr_ctrls_unregister(&module, NULL) unregisters all of the actions
21350	for the given module.  Previously, this would return EINVAL.
21351
213522010-08-13  castaglia <castaglia>
21353
21354	* contrib/mod_sftp/fxp.c, modules/mod_xfer.c: Avoid spurious
21355	warnings like:   error adding 'mod_xfer.file-modified' note: File exists by ensuring that that note is not in the table before adding it.
21356
213572010-08-11  castaglia <castaglia>
21358
21359	* include/timers.h, src/timers.c, tests/api/timers.c: Enhance the
21360	semantics of pr_timer_remove() such that it can be used to remove
21361	all timers registered for a module by providing a timerno argument
21362	that is less than zero.
21363
213642010-08-10  castaglia <castaglia>
21365
21366	* RELEASE_NOTES: Updated release notes.
21367
213682010-08-10  castaglia <castaglia>
21369
21370	* doc/contrib/ftpmail.html: Update the ftpmail doc with mention of
21371	the new --auth command-line option.
21372
213732010-08-10  castaglia <castaglia>
21374
21375	* NEWS, contrib/ftpmail: Bug#3495 - Support SMTP authentication in
21376	the ftpmail Perl script.
21377
213782010-08-10  castaglia <castaglia>
21379
21380	* doc/modules/mod_lang.html: Start on a FAQ section for the mod_lang
21381	docs.
21382
213832010-08-09  castaglia <castaglia>
21384
21385	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Remove development
21386	cruft.
21387
213882010-08-09  castaglia <castaglia>
21389
21390	* NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/RETR.pm:
21391	Bug#3496 - Sessions don't end when the control connection is closed
21392	during a data transfer.
21393
213942010-08-09  castaglia <castaglia>
21395
21396	* contrib/mod_rewrite.c: Fix harmless misspelling.
21397
213982010-08-06  castaglia <castaglia>
21399
21400	* contrib/mod_sftp/packet.c: Explicitly configure the packet
21401	sequence number at which to do SSH2 rekeying, rather than relying on
21402	platform/compiler to Do The Right Thing(tm).
21403
214042010-08-05  castaglia <castaglia>
21405
21406	* NEWS, src/netaddr.c: Bug#3494 - Null pointer dereference for
21407	IPv6-enabled proftpd when no DefaultServer configured.  Fix the pr_netaddr_is_loopback() function to properly handle
21408	IPv4-mapped IPv6 addresses.
21409
214102010-08-04  castaglia <castaglia>
21411
21412	* src/dirtree.c,
21413	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Additional fix,
21414	and regression test, for Bug#3491.
21415
214162010-08-04  castaglia <castaglia>
21417
21418	* tests/t/config/limit/login.t,
21419	tests/t/lib/ProFTPD/Tests/Config/Limit/LOGIN.pm, tests/tests.pl: Add
21420	my regression/unit tests for Bug#3484 to CVS, so that they don't get
21421	lost in the shuffle.
21422
214232010-08-03  jwm <jwm>
21424
21425	* contrib/mod_ldap.c: mod_ldap bzr r101   release 2.8.23
21426
214272010-08-03  castaglia <castaglia>
21428
21429	* tests/t/etc/modules/mod_sftp/authorized_rsa_subj_keys: Forgot
21430	modified RFC4716 formatted key with a Subject header, for the
21431	regression tests for Bug#3493.
21432
214332010-08-03  castaglia <castaglia>
21434
21435	* doc/contrib/mod_sftp.html: Updating SFTPOptions doc to mention new
21436	MatchKeySubject value, added for Bug#3493.
21437
214382010-08-02  castaglia <castaglia>
21439
21440	* NEWS, contrib/mod_sftp/mod_sftp.c,
21441	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/rfc4716.c,
21442	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3493 - mod_sftp
21443	should only expect Subject key header to match if explicitly
21444	configured.
21445
214462010-08-01  castaglia <castaglia>
21447
21448	* NEWS, src/data.c, tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm:
21449	Bug#3492 - NULL pointer dereference during data transfer due to
21450	RNFR/RNTO.
21451
214522010-07-29  castaglia <castaglia>
21453
21454	* NEWS, src/dirtree.c,
21455	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Bug#3491 -
21456	Directory pattern not matching as expected.
21457
214582010-07-27  castaglia <castaglia>
21459
21460	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: More feature
21461	tests for mod_wrap2, based on questions from the online forums.
21462
214632010-07-27  castaglia <castaglia>
21464
21465	* NEWS, modules/mod_auth.c: Bug#3482 - ProFTPD corrupts utmpx log
21466	files on FreeBSD 9.0/HEAD.
21467
214682010-07-23  castaglia <castaglia>
21469
21470	* NEWS: Typo.
21471
214722010-07-21  castaglia <castaglia>
21473
21474	* contrib/mod_sftp/interop.c: Quell compiler warning about possibly
21475	using an uninitialized value.
21476
214772010-07-20  castaglia <castaglia>
21478
21479	* NEWS, modules/mod_ls.c, src/data.c,
21480	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Bug#3487 - Null pointer
21481	dereference with EPRT/EPSV/PASV/PORT command during data transfer.
21482
214832010-07-20  castaglia <castaglia>
21484
21485	* locale/bg_BG.po, locale/en_US.po, locale/fr_FR.po,
21486	locale/it_IT.po, locale/ja_JP.po, locale/ko_KR.po,
21487	locale/proftpd.pot, locale/ru_RU.po, locale/zh_CN.po,
21488	locale/zh_TW.po: Fixing 'data tranfer' -> 'data transfer' typo in
21489	the localized files.
21490
214912010-07-20  castaglia <castaglia>
21492
21493	* NEWS: Typo.
21494
214952010-07-20  castaglia <castaglia>
21496
21497	* src/data.c: Fix typo.
21498
214992010-07-16  castaglia <castaglia>
21500
21501	* NEWS, src/main.c: Bug#3485 - Disabling IPv6 via -4 or --ipv4
21502	command-line options does not work.
21503
215042010-07-15  castaglia <castaglia>
21505
21506	* NEWS, contrib/mod_quotatab.c,
21507	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3483 -
21508	NULL pointer dereference handlig SITE command in mod_quotatab.
21509
215102010-07-15  castaglia <castaglia>
21511
21512	* src/netacl.c: Correct the name used in a trace message: if we're
21513	comparing DNS names, then log the DNS name (rather than the IP
21514	address).
21515
215162010-07-13  castaglia <castaglia>
21517
21518	* doc/contrib/mod_ctrls_admin.html: Document the just-added 'ftpdctl
21519	debug level' feature.
21520
215212010-07-13  castaglia <castaglia>
21522
21523	* contrib/mod_ctrls_admin.c: Make it possible to use 'ftpdctl debug
21524	level' to query the currently set DebugLevel of the running daemon.
21525
215262010-07-08  castaglia <castaglia>
21527
21528	* NEWS, contrib/mod_sftp/fxp.c,
21529	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3481 - Problem
21530	with SFTP directory listings.
21531
215322010-07-05  castaglia <castaglia>
21533
21534	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
21535	tests for mod_sftp's scanner/probe checks.
21536
215372010-07-05  castaglia <castaglia>
21538
21539	* doc/contrib/mod_sftp.html: Document the new OldProtocolCompat
21540	SFTPOption for Bug#3480.
21541
215422010-07-05  castaglia <castaglia>
21543
21544	* NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c,
21545	contrib/mod_sftp/mod_sftp.h.in: Bug#3480 - mod_sftp does not
21546	interoperate with old ssh.com/Tectia clients.
21547
215482010-07-03  castaglia <castaglia>
21549
21550	* include/proftpd.h: Try to avoid possible symbol collisions with
21551	the enclosing scope when using the PR_DEVEL_CLOCK macro by using
21552	less common (but still legible) variable names in the macro.
21553
215542010-07-03  castaglia <castaglia>
21555
21556	* include/proftpd.h: Avoid datatype overflows by using the various
21557	timer macros, particularly timersub().  Tools which want to compare
21558	numbers can do the conversion of secs to usecs themselves.
21559
215602010-07-03  castaglia <castaglia>
21561
21562	* include/proftpd.h, src/main.c, src/scoreboard.c: Start sprinkling
21563	the new PR_DEVEL_CLOCK macro throughout the code.  Right now, I'm
21564	analysing connection times, and what places in the connection
21565	acception code path take the most time.  Partly this stems from
21566	investigations into solutions/approaches for Bug#3208, although the
21567	numbers are leading me to read papers of select(2) performance, and
21568	thinking about using alternative notification mechanisms e.g.
21569	poll(2) or libevent.
21570
215712010-07-03  castaglia <castaglia>
21572
21573	* configure: Updated configure.
21574
215752010-07-03  castaglia <castaglia>
21576
21577	* configure.in, include/proftpd.h: Adding a macro that's useful for
21578	clocking a function call, in microseconds.  I'm using it quite a bit
21579	for load/performance tests.  To use the macro, use
21580	--enable-devel=timing.
21581
215822010-07-03  castaglia <castaglia>
21583
21584	* modules/mod_core.c, src/main.c: Fix the errno reported for
21585	setrlimit(2) errors.  Transparently handle better the case where
21586	RLimitOpenFiles is used with only a single numeric parameter.
21587
215882010-07-03  castaglia <castaglia>
21589
21590	* doc/contrib/mod_exec.html: Mention the newly added %A variable in
21591	the mod_exec docs.
21592
215932010-07-03  castaglia <castaglia>
21594
21595	* NEWS, contrib/mod_exec.c,
21596	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#3479 - Support
21597	anonymous username variable in mod_exec.
21598
215992010-06-30  castaglia <castaglia>
21600
21601	* tests/t/config/authorder.t,
21602	tests/t/lib/ProFTPD/Tests/Config/AuthOrder.pm, tests/tests.pl: Add
21603	some regression tests for the AuthOrder directive.
21604
216052010-06-30  castaglia <castaglia>
21606
21607	* src/auth.c: Set the module pointer for authoritative responses;
21608	previously this would only be set for non-authoritative responses.
21609	Add trace logging of when the response from an auth module is
21610	treated as authoritative, for faster debugging.
21611
216122010-06-30  castaglia <castaglia>
21613
21614	* modules/mod_core.c: Stylistic nits; no functional change.
21615
216162010-06-29  castaglia <castaglia>
21617
21618	* tests/t/etc/modules/mod_tls/ca-cert.pem,
21619	tests/t/etc/modules/mod_tls/client-cert.pem,
21620	tests/t/etc/modules/mod_tls/server-cert.pem: Adding new SSL certs
21621	for the mod_tls regression tests; these certs should be good for 10
21622	years.
21623
216242010-06-29  castaglia <castaglia>
21625
21626	* tests/t/etc/modules/mod_tls/NOTES: Reminder notes to myself for
21627	generating the CRL and PKCS12 files.
21628
216292010-06-29  castaglia <castaglia>
21630
21631	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update the mod_tls
21632	regression tests to deal with changes in a newer Net::FTPSSL module.
21633
216342010-06-29  castaglia <castaglia>
21635
21636	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifversion.pm,
21637	tests/t/modules/mod_ifversion.t, tests/tests.pl: Adding regression
21638	tests for mod_ifversion.
21639
216402010-06-29  castaglia <castaglia>
21641
21642	* NEWS, RELEASE_NOTES, doc/contrib/index.html: Mention the new
21643	mod_ifversion module.
21644
216452010-06-29  castaglia <castaglia>
21646
21647	* contrib/mod_ifversion.c, doc/contrib/mod_ifversion.html: Adding
21648	mod_ifversion to the contrib/ modules area.
21649
216502010-06-28  castaglia <castaglia>
21651
21652	* RELEASE_NOTES: Minor formatting tweaks.
21653
216542010-06-28  castaglia <castaglia>
21655
21656	* RELEASE_NOTES: Start fleshing out the RELEASE_NOTES and preparing
21657	for a release.
21658
216592010-06-28  jwm <jwm>
21660
21661	* contrib/mod_ldap.c: revert r1.83 in favor of mod_ldap bzr r98 we shouldn't let user lookup failure prevent us from looking up any
21662	supplemental groups. this is primarily so mod_ldap can be used to
21663	look up group membership even when the user wasn't authenticated
21664	with mod_ldap.  this feels like a corner use-case, but i don't see a compelling
21665	reason we shouldn't support it since the change to prevent the
21666	segfault in this case is straightforward.
21667
216682010-06-28  jwm <jwm>
21669
21670	* contrib/mod_ldap.c: revert r1.82 in favor of mod_ldap bzr r97   decline requests for ssh pubkeys if we're not configured to do
21671	  auth.    since pubkeys are always looked up on user entries under the auth
21672	  base dn, i don't see a reason to allow a NULL filter template,
21673	either.
21674
216752010-06-25  castaglia <castaglia>
21676
21677	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
21678	tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Adding regression
21679	tests showing that logging to a full filesystem doesn't cause undue
21680	problems for proftpd's handling of a session.
21681
216822010-06-25  castaglia <castaglia>
21683
21684	* tests/Makefile.in: Make sure that we actually run the API
21685	testsuite after compiling it.  Just compiling it, and not running
21686	it, is not so useful.
21687
216882010-06-25  castaglia <castaglia>
21689
21690	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Accidentally
21691	overloaded a function name.  Oops.
21692
216932010-06-24  castaglia <castaglia>
21694
21695	* contrib/mod_sftp_sql.c: Make the log messages a little clearer
21696	when mod_sftp_sql can't base64-decode the key data.  Also, try
21697	handling the retrieved key data as being in the RFC4716 format
21698	first, then fallback to trying it as raw key data.  It is far more
21699	likely that the data will be in the RFC4716 format.
21700
217012010-06-24  castaglia <castaglia>
21702
21703	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Add regression
21704	test which shows that even RFC4716 keys with headers that use the
21705	line continuation character are handled properly by mod_sftp_sql.
21706
217072010-06-23  castaglia <castaglia>
21708
21709	* tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm: Remove
21710	yet more debugging cruft.
21711
217122010-06-23  castaglia <castaglia>
21713
21714	* tests/t/config/anonrejectpasswords.t,
21715	tests/t/lib/ProFTPD/Tests/Config/AnonRejectPasswords.pm,
21716	tests/tests.pl: Add regression test for the AnonRejectPasswords
21717	directive.
21718
217192010-06-23  castaglia <castaglia>
21720
21721	* tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm: Remove
21722	debugging cruft.
21723
217242010-06-23  castaglia <castaglia>
21725
21726	* tests/t/config/anonrequirepassword.t,
21727	tests/t/lib/ProFTPD/Tests/Config/AnonRequirePassword.pm,
21728	tests/tests.pl: Add regression tests for the AnonRequirePassword
21729	directive.
21730
217312010-06-23  castaglia <castaglia>
21732
21733	* NEWS, contrib/mod_sql_sqlite.c: Bug#3474 - Using SQLite database
21734	and SQLLog directive can lead to problems under load.  To handle contention/synchronization among multiple processes
21735	attempting to update the same table, we need to handle SQLITE_BUSY
21736	for BEGIN, query, COMMIT statements separately.  And to make sure
21737	that even SELECTs are enclosed with explicit BEGIN/COMMIT calls.
21738
217392010-06-23  castaglia <castaglia>
21740
21741	* doc/modules/mod_auth_unix.html: Start on a doc just for
21742	mod_auth_unix; we needed a place to document the AuthUnixOptions
21743	values.
21744
217452010-06-22  castaglia <castaglia>
21746
21747	* configure: Updated configure.
21748
217492010-06-22  castaglia <castaglia>
21750
21751	* modules/mod_auth_unix.c: Forgot to update copyright dates on the
21752	modified file.
21753
217542010-06-22  castaglia <castaglia>
21755
21756	* NEWS, modules/mod_auth_unix.c: Bug#3475 - Add new 'noGetgrouplist'
21757	AuthUnixOption to work around buggy libc code.
21758
217592010-06-22  castaglia <castaglia>
21760
21761	* configure.in: Back out the added --disable-getgrouplist configure
21762	option; Bug#3475 is going to be addressed a different way, with a
21763	runtime configuration directive.
21764
217652010-06-22  castaglia <castaglia>
21766
21767	* src/auth.c: Make sure that if pr_auth_cache_set() is used to
21768	enable/disable auth caching, the configured setting is actually
21769	honored.  Previously this function only enabled/disabled caching
21770	_before_ any cache tables had been allocated.
21771
217722010-06-22  castaglia <castaglia>
21773
21774	* NEWS, modules/mod_ls.c: Bug#3476 - LIST/NLST of path starting with
21775	"-" fails.
21776
217772010-06-22  castaglia <castaglia>
21778
21779	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
21780	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Adding reproduction
21781	recipes/regression tests for Bug#3476.
21782
217832010-06-22  castaglia <castaglia>
21784
21785	* doc/contrib/mod_sftp.html: Add FAQ about "line too long"
21786	authorized key errors.
21787
217882010-06-22  castaglia <castaglia>
21789
21790	* contrib/mod_wrap2_sql.c: Additional fixes for Bug#3471.
21791
217922010-06-22  castaglia <castaglia>
21793
21794	* configure: Updated configure.
21795
217962010-06-22  castaglia <castaglia>
21797
21798	* configure.in: Add a --disable-getgrouplist configure option, to
21799	disable use of the getgrouplist(3) function, hopefully working
21800	around Bug#3475.
21801
218022010-06-21  castaglia <castaglia>
21803
21804	* src/main.c: If the RLimitCPU directive (or other CPU resource
21805	limit) causes the kernel to send SIGXCPU to us, and proftpd has been
21806	compiled with --enable-devel=stacktrace, then log the stacktrace of
21807	what the CPU-exceeding process was doing at the time of the signal.
21808	This can help to track down badly behaving loops in the code.
21809
218102010-06-21  castaglia <castaglia>
21811
21812	* doc/contrib/mod_sftp.html: Add SFTP FAQ about using Tectia/ssh.com
21813	host keys with mod_sftp.
21814
218152010-06-21  castaglia <castaglia>
21816
21817	* doc/contrib/mod_sftp.html: Make it clearer in the mod_sftp docs
21818	that the modules does not support shell access.
21819
218202010-06-21  castaglia <castaglia>
21821
21822	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm: Add
21823	reproduction recipe for Bug#3398 to the suite.  The recipe passes
21824	using the current code, but it's good to have the recipe here for
21825	regressions.
21826
218272010-06-21  castaglia <castaglia>
21828
21829	* tests/t/etc/modules/mod_sftp/authorized_rsa16384_keys,
21830	tests/t/etc/modules/mod_sftp/test_rsa16384_key,
21831	tests/t/etc/modules/mod_sftp/test_rsa16384_key.pub,
21832	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add SFTP publickey
21833	authentication test using 16384-bit RSA key.
21834
218352010-06-20  castaglia <castaglia>
21836
21837	* contrib/mod_sql_sqlite.c: Fix the "busy loop" mod_sql_sqlite
21838	logging; we were logging the wrong variable for the error message.
21839	Oops.
21840
218412010-06-20  castaglia <castaglia>
21842
21843	* contrib/mod_sql_sqlite.c: Add logging of when mod_sql_sqlite
21844	retries a query due to SQLITE_BUSY.  Hopefully this will help shed
21845	light on why some users are seeing nested transaction errors.
21846
218472010-06-20  castaglia <castaglia>
21848
21849	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Add
21850	regression test for Bug#3283.
21851
218522010-06-20  castaglia <castaglia>
21853
21854	* NEWS, contrib/mod_sql.c, modules/mod_log.c,
21855	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
21856	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3395 -
21857	Provide LogFormat variable %d for non-directory commands.
21858
218592010-06-19  castaglia <castaglia>
21860
21861	* doc/howto/ListOptions.html: Include the new options (-c, -u) from
21862	Bug#3396 in the ListOptions howto.
21863
218642010-06-19  castaglia <castaglia>
21865
21866	* NEWS, modules/mod_ls.c,
21867	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#3396 - Support -c
21868	and -u LIST options.
21869
218702010-06-19  castaglia <castaglia>
21871
21872	* contrib/mod_ldap.c: Make the pr_ldap_search() function have file
21873	scope, just like the other pr_ldap_*() functions.  This quells a
21874	compiler warning seen when the --enable-devel configure option is
21875	used.
21876
218772010-06-19  castaglia <castaglia>
21878
21879	* NEWS, contrib/mod_ldap.c: Bug#3424 - Bad LDAP lookup can cause
21880	mod_ldap segfault under some conditions.  Handle a NULL result from pr_ldap_getpwnam() in the
21881	handle_ldap_getgroups() function.
21882
218832010-06-19  castaglia <castaglia>
21884
21885	* contrib/mod_ldap.c: Quell compiler warning about an uninitialized
21886	pointer.
21887
218882010-06-19  castaglia <castaglia>
21889
21890	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Add
21891	regression test (and correct configuration) for Bug#3166.
21892
218932010-06-19  castaglia <castaglia>
21894
21895	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
21896	hostbased SSH2 authentication.
21897
218982010-06-17  castaglia <castaglia>
21899
21900	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add mod_sftp
21901	regression tests for Bug#3472.
21902
219032010-06-17  castaglia <castaglia>
21904
21905	* tests/t/etc/modules/mod_sftp/authorized_dsa2048_keys,
21906	tests/t/etc/modules/mod_sftp/authorized_dsa4096_keys,
21907	tests/t/etc/modules/mod_sftp/authorized_dsa8192_keys,
21908	tests/t/etc/modules/mod_sftp/authorized_rsa4096_keys,
21909	tests/t/etc/modules/mod_sftp/authorized_rsa8192_keys,
21910	tests/t/etc/modules/mod_sftp/test_dsa2048_key,
21911	tests/t/etc/modules/mod_sftp/test_dsa2048_key.pub,
21912	tests/t/etc/modules/mod_sftp/test_dsa4096_key,
21913	tests/t/etc/modules/mod_sftp/test_dsa4096_key.pub,
21914	tests/t/etc/modules/mod_sftp/test_dsa8192_key,
21915	tests/t/etc/modules/mod_sftp/test_dsa8192_key.pub,
21916	tests/t/etc/modules/mod_sftp/test_rsa4096_key,
21917	tests/t/etc/modules/mod_sftp/test_rsa4096_key.pub,
21918	tests/t/etc/modules/mod_sftp/test_rsa8192_key,
21919	tests/t/etc/modules/mod_sftp/test_rsa8192_key.pub: Adding more RSA
21920	and DSA keys of increasing sizes, for the mod_sftp regression tests.
21921
219222010-06-17  castaglia <castaglia>
21923
21924	* NEWS, contrib/mod_sftp/auth-publickey.c: Bug#3472 - mod_sftp
21925	publickey authentication fails for large keys.
21926
219272010-06-17  castaglia <castaglia>
21928
21929	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3471 - Null values in
21930	allow/deny rules causes mod_wrap2 to segfault.
21931
219322010-06-15  castaglia <castaglia>
21933
21934	* NEWS, contrib/mod_ifsession.c: Bug#3467 - mod_ifsession does not
21935	merge <Directory> blocks properly.
21936
219372010-06-15  castaglia <castaglia>
21938
21939	* NEWS, src/support.c,
21940	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3469 -
21941	ExtendedLog's %f variable not properly expanded for DELE if path
21942	begins with tilde ('~').
21943
219442010-06-15  castaglia <castaglia>
21945
21946	* contrib/mod_sftp/rfc4716.c: Use pr_fs_interpolate() rather than
21947	dir_interpolate(); the former is more verbose about its results, and
21948	the latter is too easy to misuse (i.e. too easy to not check for a
21949	NULL return value).
21950
219512010-06-15  castaglia <castaglia>
21952
21953	* NEWS, contrib/mod_sftp/fxp.c,
21954	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3470 - Deferred
21955	resolution <Directory> paths not handled properly by mod_sftp.
21956
219572010-06-14  castaglia <castaglia>
21958
21959	* NEWS, contrib/mod_tls.c: Bug#3465 - SIGSEGV at LIST after CCC.
21960
219612010-06-14  castaglia <castaglia>
21962
21963	* src/main.c: Do not call table_handle_signal(FALSE) when handling
21964	SIGSEGV/SIGBUS in a stacktrace-enabled build; doing so will prevent
21965	proftpd from properly logging the stacktrace.
21966
219672010-06-14  castaglia <castaglia>
21968
21969	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: More
21970	regression tests for Bug#3467.
21971
219722010-06-12  castaglia <castaglia>
21973
21974	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add regression
21975	test for Bug#3467.
21976
219772010-06-12  castaglia <castaglia>
21978
21979	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
21980	for Bug#3465.
21981
219822010-06-11  castaglia <castaglia>
21983
21984	* NEWS, contrib/mod_ifsession.c: Bug#3466 - mod_ifsession does not
21985	check for properly closed <IfUser> contexts.
21986
219872010-06-11  castaglia <castaglia>
21988
21989	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm: Add an
21990	<IfGroup> test.
21991
219922010-05-27  castaglia <castaglia>
21993
21994	* NEWS, contrib/ftpasswd: Bug#3463 - ftpasswd script's
21995	--delete-group option does not work.
21996
219972010-05-27  castaglia <castaglia>
21998
21999	* NEWS, contrib/ftpasswd: Bug#3462 - ftpasswd script's --delete-user
22000	option does not work.
22001
220022010-05-25  castaglia <castaglia>
22003
22004	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Update mod_sftp
22005	.ftpaccess unit test to check for regressions of Bug#3460.
22006
220072010-05-25  castaglia <castaglia>
22008
22009	* NEWS, contrib/mod_sftp/fxp.c: Bug#3460 - REALPATH SFTP request can
22010	cause improperly cached directory configuration.
22011
220122010-05-25  castaglia <castaglia>
22013
22014	* contrib/mod_sftp/fxp.c: I'm not sure why the path stashed for an
22015	OPENDIR request was being deliberately set to the empty string;
22016	remove it.  If it's an issue, it'll come up again.
22017
220182010-05-25  castaglia <castaglia>
22019
22020	* tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm: Add more
22021	DefaultChdir tests.
22022
220232010-05-25  castaglia <castaglia>
22024
22025	* tests/t/config/defaultchdir.t,
22026	tests/t/lib/ProFTPD/Tests/Config/DefaultChdir.pm, tests/tests.pl:
22027	Start on regression tests for the DefaultChdir config directive.
22028
220292010-05-25  castaglia <castaglia>
22030
22031	* NEWS, src/auth.c: Bug#3431 - Ensure that timezone info files are
22032	opened prior to chroot.
22033
220342010-05-25  castaglia <castaglia>
22035
22036	* contrib/mod_tls.c: Switch from using tls_log() to pr_log_debug()
22037	in the tls_init_ctx() function; the TLSLog file hasn't been opened
22038	when that function is called, which means that the log messages are
22039	effectively being lost.
22040
220412010-05-24  castaglia <castaglia>
22042
22043	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test
22044	involving .ftpaccess files for mod_sftp; I'm trying to reproduce an
22045	issue that a mod_sftp user is having with this test, but not having
22046	much luck at the moment.  Still, it's a useful test to have in the
22047	repertoire.
22048
220492010-05-24  castaglia <castaglia>
22050
22051	* contrib/mod_sftp/msg.c: In order to help track down cases where
22052	the allocated buffer sizes are not large enough to handle some of
22053	the messages that mod_sftp will handle, add logging of stack traces
22054	(assuming the platform has the execinfo.h header and the
22055	--enable-devel configure option has been used, to prevent stripping
22056	of the symbols from the installed executable).
22057
220582010-05-24  castaglia <castaglia>
22059
22060	* NEWS, contrib/mod_radius.c: Bug#3459 - mod_radius segfaults during
22061	incorrect login due to stale data.
22062
220632010-05-24  castaglia <castaglia>
22064
22065	* contrib/mod_radius.c: Quell compiler warnings about unused
22066	strtoul(3) return values.
22067
220682010-05-20  castaglia <castaglia>
22069
22070	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Add unit test
22071	for SQL lookups of SSH2 keys using a query that uses the %u
22072	variable.
22073
220742010-05-20  castaglia <castaglia>
22075
22076	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a couple more
22077	SQL-related configuration tests to the mod_sftp suite.
22078
220792010-05-18  castaglia <castaglia>
22080
22081	* NEWS, contrib/mod_sftp/crypto.c: Bug#3458 - mod_sftp incorrectly
22082	performs OpenSSL cleanup.
22083
220842010-05-18  castaglia <castaglia>
22085
22086	* tests/t/config/maxclients.t,
22087	tests/t/lib/ProFTPD/Tests/Config/MaxClients.pm, tests/tests.pl:
22088	Start adding regression/feature tests for the MaxClients directive.
22089
220902010-05-06  castaglia <castaglia>
22091
22092	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
22093	tests for uploading/downloading empty dirs via SCP.
22094
220952010-05-06  castaglia <castaglia>
22096
22097	* NEWS, contrib/mod_sftp/scp.c,
22098	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3456 - Problem
22099	attempting to recursively download a directory via SCP.
22100
221012010-05-06  castaglia <castaglia>
22102
22103	* contrib/mod_sftp/channel.c: Minor nit about the proper plurality
22104	in a trace message.
22105
221062010-05-05  castaglia <castaglia>
22107
22108	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
22109	modules/mod_log.c, modules/mod_xfer.c,
22110	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
22111	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3457 - Support
22112	LogFormat variable for indicating whether a file is being modified.
22113
221142010-05-05  castaglia <castaglia>
22115
22116	* include/support.h, src/support.c: Missed some spots in the
22117	exists() functions where the path string should also be constified.
22118
221192010-05-05  castaglia <castaglia>
22120
22121	* include/support.h, src/support.c: Constify the arguments the
22122	*exists() functions.
22123
221242010-05-04  castaglia <castaglia>
22125
22126	* NEWS, locale/Makefile.in: Bug#3454 - msgfmt(1) options used for
22127	generating NLS files are not compatible with Solaris' msgfmt.
22128
221292010-05-02  castaglia <castaglia>
22130
22131	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
22132	mod_sftp honors AllowStoreRestart and <Limit APPE> configurations
22133	properly, when the O_APPEND flag is used in an OPEN request.
22134
221352010-05-02  castaglia <castaglia>
22136
22137	* modules/mod_xfer.c: Log, at debug level 8, if an APPE command is
22138	blocked because of a <Limit> configuration.
22139
221402010-05-01  castaglia <castaglia>
22141
22142	* contrib/mod_sftp/fxp.c: Make a note about better reporting of
22143	incomplete uploads, where possible.
22144
221452010-04-29  castaglia <castaglia>
22146
22147	* contrib/mod_sftp/fxp.c: Undo the 'vendor-id' extension-related
22148	changes I made earlier today; it was correct already.  I confused
22149	myself as to how the 'vendor-id' extension works.  This time, I'm
22150	leaving comments to my future self about why it's correct the way it
22151	is.
22152
221532010-04-29  castaglia <castaglia>
22154
22155	* contrib/mod_sftp/fxp.c: Minor cleanup of trace logging regarding
22156	the 'vendor-id' extension.  Guard against a client sending a
22157	'vendor-id' EXTENDED request, even if we didn't advertise support
22158	for that extension.
22159
221602010-04-29  castaglia <castaglia>
22161
22162	* NEWS, contrib/mod_sftp/fxp.c: Bug#3452 - mod_sftp does not
22163	advertise its supported SFTP extensions for protocol version 5.  I read through the WinSCP source code to find out how it parsed the
22164	badly-defined extensions field of the "supported" extension, in the
22165	protocol version 5 draft.  The "supported2" extension, for protocol
22166	version 6, is at least nice enough to have a separate field of the
22167	extensions count, where the older "supported" does not.  Whee.
22168
221692010-04-28  castaglia <castaglia>
22170
22171	* NEWS, contrib/mod_sftp/fxp.c: Bug#3451 - WinSCP can't upload files
22172	using protocol version 5 with mod_sftp.
22173
221742010-04-28  castaglia <castaglia>
22175
22176	* src/main.c: Stylistic changes; no functional changes.
22177
221782010-04-28  castaglia <castaglia>
22179
22180	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
22181	tests for the various O_* flags that can be sent using SFTP protocol
22182	version 3 in OPEN requests.  Caught one bug a priori.
22183
221842010-04-28  castaglia <castaglia>
22185
22186	* NEWS, contrib/mod_sftp/fxp.c: Bug#3450 - mod_sftp does not
22187	properly handle the O_APPEND flag in a SFTP OPEN request.
22188
221892010-04-27  castaglia <castaglia>
22190
22191	* contrib/mod_sftp/fxp.c: Add trace logging, at trace level 15 and
22192	higher, of the OPEN flags as strings.  Hopefully this can be used to
22193	figure out why WinSCP, when requesting SFTP protocol version 5,
22194	doesn't like how mod_sftp handles an OPEN request.
22195
221962010-04-27  castaglia <castaglia>
22197
22198	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
22199	for Bug#3425.
22200
222012010-04-27  castaglia <castaglia>
22202
22203	* contrib/mod_sftp/fxp.c: Correct a comment.
22204
222052010-04-27  castaglia <castaglia>
22206
22207	* NEWS, contrib/mod_sftp/fxp.c,
22208	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3449 - mod_sftp
22209	does not properly handle the O_TRUNC flag in a SFTP OPEN request.
22210
222112010-04-27  castaglia <castaglia>
22212
22213	* NEWS: Bug#3448 - Ensure that STAT/LSTAT/FSTAT SFTP requests do not
22214	use cached/stale data.
22215
222162010-04-27  castaglia <castaglia>
22217
22218	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Remove debugging
22219	cruft.
22220
222212010-04-27  castaglia <castaglia>
22222
22223	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
22224	for Bug#3447.  I wasn't able to actually reproduce the issue with
22225	this unit test, but having the code around is useful.
22226
222272010-04-26  castaglia <castaglia>
22228
22229	* NEWS, contrib/mod_sftp/scp.c: Bug#3447 - mod_sftp can become
22230	confused during large recursive SCP uploads.
22231
222322010-04-25  castaglia <castaglia>
22233
22234	* contrib/mod_shaper.c: Add trace logging, using the "lock" trace
22235	channel, of mod_shaper's locking of its ShaperTable.
22236
222372010-04-25  castaglia <castaglia>
22238
22239	* contrib/mod_sftp/scp.c: Leave a note to myself to investigate
22240	whether <Limit MKD> should apply to recursive directory uploads via
22241	SCP.  Probably yes.
22242
222432010-04-25  castaglia <castaglia>
22244
22245	* contrib/mod_sftp/scp.c: Remove unused strlen(3) call.
22246
222472010-04-24  castaglia <castaglia>
22248
22249	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Add unit test for
22250	CreateHome's skel parameter.
22251
222522010-04-23  castaglia <castaglia>
22253
22254	* src/dirtree.c: Use updated patch for Bug#3446.
22255
222562010-04-23  castaglia <castaglia>
22257
22258	* NEWS, src/dirtree.c: Bug#3446 - .ftpaccess ignored in some cases.  The build_dyn_config() function, if given a non-directory path, was
22259	not properly determining the .ftpaccess file to check for, using
22260	that path.
22261
222622010-04-23  castaglia <castaglia>
22263
22264	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm: Add
22265	regression tests for Bug#3446.  The fix for this bug has not yet
22266	been committed to CVS, so these tests should fail...but I wanted to
22267	add them, so that I could work on more flows that use the same
22268	configuration as these tests from home.
22269
222702010-04-22  castaglia <castaglia>
22271
22272	* doc/howto/Limit.html: Add an example of blocking renames.
22273
222742010-04-21  castaglia <castaglia>
22275
22276	* doc/contrib/mod_sftp.html: Typo.
22277
222782010-04-21  castaglia <castaglia>
22279
22280	* doc/contrib/mod_sftp.html: Add a "Known Client Issues" section to
22281	the mod_sftp docs.
22282
222832010-04-20  castaglia <castaglia>
22284
22285	* contrib/mod_sftp/mod_sftp.c: Fix bug in the fix for Bug#3444 that
22286	was committed yesterday.
22287
222882010-04-20  castaglia <castaglia>
22289
22290	* NEWS, modules/mod_core.c: Bug#3443 - Deprecate the DisplayGoAway
22291	directive.
22292
222932010-04-20  castaglia <castaglia>
22294
22295	* NEWS: Make sure the NEWS file tracks the correct bug title for
22296	Bug#3445.
22297
222982010-04-20  castaglia <castaglia>
22299
22300	* doc/contrib/mod_sftp.html: While I'll keep the
22301	'pessimisticNewkeys' SFTPClientMatch parameter supported in the
22302	code, I think I'll leave it out of the docs.  I really don't expect
22303	there to be many SSH clients that need this config option; at some
22304	point, I should be able to remove support for it from mod_sftp.
22305
223062010-04-20  castaglia <castaglia>
22307
22308	* contrib/mod_sftp/kex.c: Update the copyright date for this file.
22309
223102010-04-20  castaglia <castaglia>
22311
22312	* NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
22313	contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c: Bug#3445 -
22314	Support SFTPClientMatch option to enable pessimistic NEWKEYS
22315	behavior.  This changes the default behavior, such that mod_sftp always sends
22316	its NEWKEYS message to the client before reading the client's
22317	NEWKEYS message; this matches the OpenSSH behavior (and is what many
22318	clients want).  The SFTPClientMatch option added previously for this
22319	bug was changed to 'pessimisticNewkeys', to be used if there are any
22320	clients which expect the old mod_sftp behavior.
22321
223222010-04-20  castaglia <castaglia>
22323
22324	* contrib/mod_sftp/fxp.c: Make sure the statcache is cleared when
22325	handling STAT/FSTAT/LSTAT requests.
22326
223272010-04-19  castaglia <castaglia>
22328
22329	* NEWS, contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
22330	contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c,
22331	doc/contrib/mod_sftp.html: Bug#3445 - Need SFTPClientMatch option to
22332	enable optimistic NEWKEYS behavior.
22333
223342010-04-19  castaglia <castaglia>
22335
22336	* contrib/mod_sftp/mod_sftp.h.in: Update copyright date in the
22337	header, since we've modified the file this year.
22338
223392010-04-19  castaglia <castaglia>
22340
22341	* NEWS, contrib/mod_sftp/mod_sftp.c,
22342	contrib/mod_sftp/mod_sftp.h.in, doc/contrib/mod_sftp.html: Bug#3444
22343	- Support SFTPOptions parameter to disable optimistic KEXINIT
22344	behavior.
22345
223462010-04-19  castaglia <castaglia>
22347
22348	* doc/howto/Logging.html: Add Logging FAQ about logging xferlog data
22349	to syslog.
22350
223512010-04-18  castaglia <castaglia>
22352
22353	* contrib/mod_sftp/utf8.c, src/encode.c: More notes to myself
22354	regarding possible encoding failures and their causes.
22355
223562010-04-17  castaglia <castaglia>
22357
22358	* tests/t/config/serveradmin.t,
22359	tests/t/lib/ProFTPD/Tests/Config/ServerAdmin.pm, tests/tests.pl: Add
22360	regression tests for the ServerAdmin directive.
22361
223622010-04-17  castaglia <castaglia>
22363
22364	* doc/howto/DisplayFiles.html: As pointed out in Bug#3443, the
22365	DisplayGoAway directive hasn't worked for quite some time.  So
22366	remove it from the DisplayFiles howto.
22367
223682010-04-17  castaglia <castaglia>
22369
22370	* modules/mod_core.c,
22371	tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm: When handling a
22372	"DisplayChdir <path> true" configuration, a time_t was being stored
22373	in the memory space for a void pointer.  This is not a safe
22374	operation.  Instead, allocate proper space for the time_t value and
22375	use it.  Add a regression test for this DisplayChdir configuration, providing
22376	that the time_t storage change still works properly.
22377
223782010-04-17  castaglia <castaglia>
22379
22380	* tests/t/config/displaychdir.t,
22381	tests/t/lib/ProFTPD/Tests/Config/DisplayChdir.pm,
22382	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm, tests/tests.pl:
22383	Added regression tests for DisplayChdir, and updated DisplayLogin
22384	tests, both as part of Bug#3423.
22385
223862010-04-17  castaglia <castaglia>
22387
22388	* modules/mod_core.c, src/display.c: Additional fixes for Bug#3423,
22389	handling single line DisplayLogin and DisplayChdir files, and
22390	multiline DisplayChdir files.
22391
223922010-04-17  castaglia <castaglia>
22393
22394	* NEWS, contrib/mod_quotatab.c,
22395	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3440 -
22396	ScanOnLogin QuotaOption not honored properly if tally record has to
22397	be created.
22398
223992010-04-16  castaglia <castaglia>
22400
22401	* contrib/mod_radius.c, contrib/mod_rewrite.c,
22402	contrib/mod_sftp/scp.c, contrib/mod_sql.c, modules/mod_log.c,
22403	modules/mod_ls.c, src/dirtree.c, src/display.c, src/event.c,
22404	src/throttle.c: Sprinkle more calls to pr_signals_handle() in
22405	potentially long-running loops.
22406
224072010-04-16  castaglia <castaglia>
22408
22409	* modules/mod_ls.c: Coding style nits; no functional change.
22410
224112010-04-16  castaglia <castaglia>
22412
22413	* doc/howto/Logging.html: Mention the configure option for Bug#3436
22414	in the Logging howto's section on FIFOs.
22415
224162010-04-14  castaglia <castaglia>
22417
22418	* NEWS, modules/mod_core.c, src/dirtree.c,
22419	tests/t/config/limit/opts.t,
22420	tests/t/lib/ProFTPD/Tests/Config/Limit/OPTS.pm, tests/tests.pl:
22421	Bug#3438 - <Limit> configuration cannot be applied to OPTS command.
22422
224232010-04-14  castaglia <castaglia>
22424
22425	* NEWS, src/encode.c: Bug#3439 - Encoding fails if an NLS-enabled
22426	proftpd starts in a UTF8 locale.
22427
224282010-04-14  castaglia <castaglia>
22429
22430	* src/main.c: Stylistic nit.
22431
224322010-04-14  castaglia <castaglia>
22433
22434	* contrib/mod_tls.c: Make sure that the SSL/TLS renegotiation timer
22435	gets a dynamic timer ID.  This isn't causing any problems, per se,
22436	but having a timer ID of zero when it is not intended can lead to
22437	confusion and/or issues later.
22438
224392010-04-14  castaglia <castaglia>
22440
22441	* contrib/mod_sftp/scp.c: Silly typos in comment; no functional
22442	change.
22443
224442010-04-13  castaglia <castaglia>
22445
22446	* NEWS, contrib/mod_tls.c,
22447	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3437 -
22448	UseImplicitSSL TLSOption causes PBSZ/PROT commands to fail.
22449
224502010-04-13  castaglia <castaglia>
22451
22452	* configure: Updated configure for Bug#3436.
22453
224542010-04-13  castaglia <castaglia>
22455
22456	* NEWS, config.h.in, configure.in, src/log.c: Bug#3436 - Support
22457	build-time option to disable use of nonblocking open of log files.
22458
224592010-04-13  castaglia <castaglia>
22460
22461	* contrib/mod_sftp/utf8.c, src/encode.c: Remove unused variables,
22462	and quell compiler warnings about "incompatible pointer types" on
22463	FreeBSD.
22464
224652010-04-13  castaglia <castaglia>
22466
22467	* contrib/mod_sftp/utf8.c, src/encode.c: Notes to myself to
22468	double-check (and then rely on) the loop condition for the iconv(3)
22469	loop.
22470
224712010-04-13  castaglia <castaglia>
22472
22473	* contrib/mod_sftp/utf8.c, src/encode.c: Additional part of fix for
22474	Bug#3435.
22475
224762010-04-12  castaglia <castaglia>
22477
22478	* NEWS, contrib/mod_sftp/utf8.c, src/encode.c: Bug#3435 -
22479	Encoding/decoding conversion can cause CPU spike.
22480
224812010-04-12  castaglia <castaglia>
22482
22483	* contrib/mod_sftp/utf8.c, src/encode.c: Make sure we reset any
22484	state contained in iconv_t before calling iconv(3).
22485
224862010-04-12  castaglia <castaglia>
22487
22488	* contrib/mod_sftp/display.c: An SFTPDisplayBanner file can only be
22489	displayed at the start of session, prior to the transfer of any
22490	data.  So there's no need to support Display variables such as %o,
22491	%K, etc; their values will always be zero.
22492
224932010-04-12  castaglia <castaglia>
22494
22495	* src/trace.c: Prevent a recurrence of Bug#3434 by treating a trace
22496	message level of zero as an invalid parameter.
22497
224982010-04-12  castaglia <castaglia>
22499
22500	* src/fsio.c: Include the number of bytes being read/written in the
22501	trace messages for the read()/write() callbacks.
22502
225032010-04-12  castaglia <castaglia>
22504
22505	* NEWS, contrib/mod_sftp/Makefile.in, contrib/mod_sftp/auth.c,
22506	contrib/mod_sftp/display.c, contrib/mod_sftp/display.h: Bug#3433 -
22507	SFTPDisplayBanner does not handle variables in configured file.  This isn't the best implementation, since the Display code from the
22508	core proftpd engine is basically copied here.  It would be better if
22509	the core code and this code shared the same code path for looking up
22510	and interpolating variables; that's work for later.
22511
225122010-04-12  castaglia <castaglia>
22513
22514	* NEWS, modules/mod_xfer.c, src/fsio.c: Bug#3434 - TraceLog contains
22515	messages even with "Trace DEFAULT:0" configured.
22516
225172010-04-12  castaglia <castaglia>
22518
22519	* NEWS, contrib/mod_exec.c,
22520	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Bug#3432 -
22521	ExecBeforeCommand does not interpolate the %F/%f variables properly.
22522
225232010-04-12  castaglia <castaglia>
22524
22525	* NEWS, contrib/mod_sftp/scp.c: Bug#3427 - mod_sftp does not handle
22526	recursive SCP uploads properly.
22527
225282010-04-12  castaglia <castaglia>
22529
22530	* doc/contrib/mod_sftp.html: Add mod_sftp FAQ about
22531	UserOwner/GroupOwner, and the need to use the RootRevoke directive.
22532
225332010-04-12  castaglia <castaglia>
22534
22535	* NEWS, contrib/mod_sftp/Makefile.in, contrib/mod_sftp/auth.c,
22536	contrib/mod_sftp/fxp.c, contrib/mod_sftp/misc.c,
22537	contrib/mod_sftp/misc.h, contrib/mod_sftp/scp.c,
22538	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3429 - mod_sftp
22539	should honor the UserOwner and GroupOwner directives.
22540
225412010-04-11  castaglia <castaglia>
22542
22543	* modules/mod_xfer.c: Minor style nits in stor_chown(); no
22544	functional changes.
22545
225462010-04-11  castaglia <castaglia>
22547
22548	* doc/howto/Tracing.html: Add a FAQ/example to the Tracing howto
22549	describing how to use Trace in mod_ifsession sections.
22550
225512010-04-11  castaglia <castaglia>
22552
22553	* NEWS, modules/mod_core.c, tests/t/config/trace.t,
22554	tests/t/lib/ProFTPD/Tests/Config/Trace.pm, tests/tests.pl: Bug#3428
22555	- Honor the Trace directive in mod_ifsession sections.  Unit/regression tests for this feature have also been added to the
22556	testsuite.
22557
225582010-04-09  castaglia <castaglia>
22559
22560	* NEWS, contrib/mod_sftp/scp.c: Bug#3425 - Improperly constructed
22561	destination paths for SCP uploads.
22562
225632010-04-09  castaglia <castaglia>
22564
22565	* NEWS, contrib/mod_sftp/auth.c: Bug#3426 - mod_sftp does not log to
22566	TransferLog by default.
22567
225682010-04-09  castaglia <castaglia>
22569
22570	* contrib/mod_sftp/scp.c: Cache errno in a few more places, so that
22571	the proper error is reported.
22572
225732010-04-09  castaglia <castaglia>
22574
22575	* src/main.c: Automatically log stacktraces for a SIGBUS signal,
22576	just as we do for a SIGSEGV signal, if --enable-devel=stacktrace has
22577	been used to configure proftpd.
22578
225792010-04-08  castaglia <castaglia>
22580
22581	* src/mkhome.c: Stylistic cleanup/changes; no functional changes.
22582
225832010-04-08  castaglia <castaglia>
22584
22585	* doc/howto/CreateHome.html: Typo.
22586
225872010-04-07  castaglia <castaglia>
22588
22589	* modules/mod_core.c: With the fix for Bug#3423, the adding a
22590	trailing blank line to the DisplayQuit message is no longer
22591	necessary.
22592
225932010-04-07  castaglia <castaglia>
22594
22595	* tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm: Update the
22596	DisplayLogin regression test to match the current behavior, as per
22597	changes for Bug#3423.
22598
225992010-04-07  castaglia <castaglia>
22600
22601	* NEWS, include/display.h, modules/mod_auth.c, modules/mod_core.c,
22602	modules/mod_xfer.c, src/display.c, src/main.c: Bug#3423 - Last line
22603	of multiline DisplayLogin file improperly handled.
22604
226052010-04-07  castaglia <castaglia>
22606
22607	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
22608	tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
22609	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
22610	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
22611	tests/t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm: And update the
22612	last few places in the testsuite where we should be using a timeout
22613	of 30 secs when reading from a data connection.
22614
226152010-04-07  castaglia <castaglia>
22616
22617	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
22618	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm,
22619	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm,
22620	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
22621	tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm: Use a timeout of
22622	30 secs when reading from data connections, to avoid spurious
22623	testsuite errors.
22624
226252010-04-07  castaglia <castaglia>
22626
22627	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm,
22628	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
22629	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm,
22630	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
22631	tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
22632	tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm,
22633	tests/t/lib/ProFTPD/Tests/Config/HideUser.pm,
22634	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
22635	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
22636	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
22637	tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm: Use a timeout of 30
22638	secs when reading from a data connection; this avoids spurious
22639	testsuite errors.
22640
226412010-04-07  castaglia <castaglia>
22642
22643	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
22644	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
22645	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
22646	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
22647	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
22648	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: When reading from a data
22649	connection, use a timeout of 30 secs; this helps prevent/avoid
22650	spurious testsuite errors.
22651
226522010-04-07  castaglia <castaglia>
22653
22654	* src/main.c: Add trace logging of when the response chains are
22655	flushed during the command dispatch cycle.
22656
226572010-04-05  castaglia <castaglia>
22658
22659	* utils/ftpcount.c: Fix a pedantic memory leak spotted by cppcheck.
22660	Also fixes the code style in a few places.
22661
226622010-04-05  castaglia <castaglia>
22663
22664	* contrib/mod_sftp/mac.c: Scrub the key memory area before freeing
22665	it.
22666
226672010-04-05  castaglia <castaglia>
22668
22669	* contrib/mod_sftp/mac.c: Running cppcheck found a memory leak where
22670	we aren't freeing up malloc()'d memory on MAC errors.
22671
226722010-04-05  castaglia <castaglia>
22673
22674	* contrib/mod_sftp_pam.c: Add note about whether mod_sftp_pam should
22675	pay closer attention to the list of modules configured via AuthOrder
22676	or not.
22677
226782010-04-04  castaglia <castaglia>
22679
22680	* contrib/mod_sftp/mod_sftp.h.in: Add more explanation about the
22681	assumptions involved in registering an 'exec' channel handler.
22682
226832010-04-04  castaglia <castaglia>
22684
22685	* contrib/mod_sftp/channel.c: Add more trace logging around the
22686	searching and invoking of registered 'exec' channel handlers.
22687
226882010-04-03  castaglia <castaglia>
22689
22690	* src/main.c: Make sure that premature SIGALRMs don't kill us; we
22691	want to ignore SIGALRM unless we've registered a timer.
22692
226932010-04-02  castaglia <castaglia>
22694
22695	* doc/contrib/mod_sftp_pam.html: Update the mod_sftp_pam doc to
22696	mention that mod_sftp_pam is enabled by default, not disabled.
22697
226982010-04-02  castaglia <castaglia>
22699
22700	* modules/mod_lang.c: Log the reason why the LANG command is denied
22701	after a client has authenticated.
22702
227032010-04-01  castaglia <castaglia>
22704
22705	* NEWS, contrib/mod_tls.c: Bug#3419 - SSL_shutdown() errors with
22706	openssl-0.9.8m.
22707
227082010-03-31  castaglia <castaglia>
22709
22710	* doc/contrib/mod_sftp.html: Update the mod_sftp doc, removing
22711	DirFakeUser/DirFakeGroup from the list of unsupported features.
22712
227132010-03-31  castaglia <castaglia>
22714
22715	* NEWS, contrib/mod_sftp/fxp.c: Bug#3413 - Support DirFakeUser,
22716	DirFakeGroup for SFTP connections.
22717
227182010-03-31  castaglia <castaglia>
22719
22720	* NEWS, contrib/mod_sftp/auth.c,
22721	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3421 -
22722	RewriteHome does not work properly for SFTP connections.  The mod_sftp authentication code was inadvertently calling
22723	pr_auth_get_home() twice, albeit indirectly, which would lead to
22724	incorrectly (or more accurately, "unexpectedly") rewritten home
22725	directories when the RewriteHome feature is used.
22726
227272010-03-31  castaglia <castaglia>
22728
22729	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add regression test
22730	for Bug#3420.
22731
227322010-03-30  castaglia <castaglia>
22733
22734	* modules/mod_log.c: The third argument to pr_table_get() is a
22735	pointer (i.e. NULL), not a boolean.  In this particular case, since
22736	we were passing FALSE (i.e. zero, which is effectively the same as
22737	null), we're OK.  But pedantic compilers might complain about this.
22738
227392010-03-30  castaglia <castaglia>
22740
22741	* NEWS, src/table.c: Bug#3418 - %U sometimes showing up as "(none)"
22742	in ExtendedLog.  When removing an entry from the linked list "chain" in a table, the
22743	table code was improperly setting the head of the chain to the
22744	removed entry's next pointer (e->next) when it shouldn't have been.
22745	In this case, the removed entry was the last of two entries in the
22746	list; its removal was causing the head of the chain to be set to
22747	null.
22748
227492010-03-30  castaglia <castaglia>
22750
22751	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm: Removing
22752	extraneous mod_deflate test file; updating tests for new location as
22753	part of normal testsuite.
22754
227552010-03-25  castaglia <castaglia>
22756
22757	* NEWS, utils/ftpcount.c, utils/ftpscrub.c, utils/ftptop.c,
22758	utils/ftpwho.c, utils/misc.c, utils/utils.h: Bug#3417 - Unsafe use
22759	of pointer when scanning config for ScoreboardFile.
22760
227612010-03-22  castaglia <castaglia>
22762
22763	* src/scoreboard.c: Make sure we don't leak an fd when scrubbing the
22764	scoreboard and we fail to lock the entire scoreboard.
22765
227662010-03-19  castaglia <castaglia>
22767
22768	* include/memcache.h, modules/mod_memcache.c, src/memcache.c:
22769	Configure libmemcached to cache DNS lookups, and to always use the
22770	binary protocol (unless explicitly configured not to).  Make it
22771	possible to configure replication, and disable the use of the binary
22772	protocol.
22773
227742010-03-19  castaglia <castaglia>
22775
22776	* doc/howto/DisplayFiles.html: Add a FAQ about Display files whose
22777	names contain spaces.
22778
227792010-03-19  castaglia <castaglia>
22780
22781	* src/memcache.c: Make sure that memcache support compiles with
22782	older versions of libmemcached.  Specifically, that it will build
22783	using libmemcached-0.31, which is the version provided by Debian
22784	packages.
22785
227862010-03-18  castaglia <castaglia>
22787
22788	* NEWS, contrib/mod_dynmasq.c: Bug#3411 - Support ftpdctl action to
22789	manually request a mod_dynmasq refresh.
22790
227912010-03-17  castaglia <castaglia>
22792
22793	* NEWS, modules/mod_facts.c,
22794	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Bug#3318 - MLSD should
22795	indicate symlinks if ShowSymlinks is enabled.
22796
227972010-03-15  castaglia <castaglia>
22798
22799	* doc/contrib/mod_sftp.html: Another mod_sftp FAQ.
22800
228012010-03-14  castaglia <castaglia>
22802
22803	* src/wtmp.c: Forgot to update the copyright date on this file.
22804
228052010-03-14  castaglia <castaglia>
22806
22807	* NEWS, src/wtmp.c: Bug#3409 - Build failure on newer FreeBSD due to
22808	utmp/utmpx system changes.
22809
228102010-03-14  castaglia <castaglia>
22811
22812	* modules/mod_memcache.c: Use cmd_rec->pool, not cmd_rec->tmp_pool,
22813	in a configuration handler.  The tmp_pool member isn't populated
22814	during parsing.
22815
228162010-03-14  castaglia <castaglia>
22817
22818	* modules/mod_memcache.c: Instead of parsing the MemcacheServers
22819	string for every session, do it only during parsing.  The downside
22820	to this is that we now need to be sure to free up the memory
22821	allocated with the structures by libmemcached upon every restart,
22822	lest we get a restart-bound memory leak.
22823
228242010-03-14  castaglia <castaglia>
22825
22826	* include/memcache.h: Fix some pesky compiler warnings about
22827	shadowed 'pool' declarations.
22828
228292010-03-13  castaglia <castaglia>
22830
22831	* contrib/mod_tls.c: If SSL_shutdown() returns WANT_READ/WANT_WRITE,
22832	don't handle it as a fatal error.  It's new behavior in
22833	OpenSSL-0.9.8m, but won't cause problems when older OpenSSL versions
22834	are used if we catch and handle these errors as benign.
22835
228362010-03-12  castaglia <castaglia>
22837
22838	* NEWS, modules/mod_core.c: Bug#3412 - Include files not included
22839	after restart due to permissions.
22840
228412010-03-12  castaglia <castaglia>
22842
22843	* configure: Updated configure.
22844
228452010-03-12  castaglia <castaglia>
22846
22847	* Make.rules.in, config.h.in, configure.in, include/conf.h,
22848	include/memcache.h, modules/mod_memcache.c, src/main.c,
22849	src/memcache.c: Initial work on memcache support.  Since this is
22850	experiement/new code, you must explicitly request it via the
22851	--enable-memcache configure option.
22852
228532010-03-11  castaglia <castaglia>
22854
22855	* contrib/mod_deflate.c: Missing break statements.
22856
228572010-03-10  castaglia <castaglia>
22858
22859	* contrib/mod_copy.c: Updated mod_copy to reflect the
22860	xferlog_write() changes.
22861
228622010-03-10  castaglia <castaglia>
22863
22864	* tests/t/lib/ProFTPD/Tests/Modules/mod_copy.pm,
22865	tests/t/modules/mod_copy.t, tests/tests.pl: Added unit/regression
22866	tests for mod_copy.
22867
228682010-03-10  castaglia <castaglia>
22869
22870	* NEWS, RELEASE_NOTES, contrib/mod_copy.c,
22871	doc/contrib/mod_copy.html: Added mod_copy to the contrib modules
22872	area.
22873
228742010-03-10  castaglia <castaglia>
22875
22876	* modules/mod_core.c, src/data.c: Fix some of the fallout from
22877	Bug#2196: data transfers were failing when the server socket was
22878	IPv6 and we converted the client from an IPv4-mapped IPv6 address to
22879	a plain IPv4 address -- this caused discrepancies in the families of
22880	the sockets opened for data transfers.
22881
228822010-03-10  castaglia <castaglia>
22883
22884	* include/netaddr.h, src/inet.c, src/netaddr.c: The
22885	pr_netaddr_v4tov6() function was named incorrectly: it should be
22886	pr_netaddr_v6tov4().  And now it is.
22887
228882010-03-10  castaglia <castaglia>
22889
22890	* NEWS, contrib/mod_radius.c: Bug#3371 - Group limits in <LIMIT
22891	LOGIN> blocks won't work with RADIUS-supplied groups.
22892
228932010-03-10  castaglia <castaglia>
22894
22895	* NEWS, contrib/mod_radius.c: Bug#3373 - RadiusGroupInfo should not
22896	require that both names and IDs be VSAs.
22897
228982010-03-10  castaglia <castaglia>
22899
22900	* doc/contrib/mod_ban.html: Update mod_ban docs to include mention
22901	of new -s command-line option for ban/permit ftpdctl actions.
22902
229032010-03-10  castaglia <castaglia>
22904
22905	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c,
22906	include/xferlog.h, modules/mod_core.c, modules/mod_xfer.c,
22907	src/xferlog.c: Change the xferlog_write() function so that it takes
22908	an additional argument: the "special action flags" string to write
22909	into the TransferLog entry.  This will make it possible to set 'C'
22910	and/or 'T' where appropriate (e.g. when mod_deflate and/or mod_tar
22911	are in effect).  Updated the relevant callers as needed.
22912
229132010-03-10  castaglia <castaglia>
22914
22915	* tests/t/lib/ProFTPD/Tests/Modules/mod_deflate.pm,
22916	tests/t/modules/mod_deflate.t, tests/tests.pl: Adding
22917	unit/regression tests for mod_deflate.
22918
229192010-03-10  castaglia <castaglia>
22920
22921	* NEWS, RELEASE_NOTES, contrib/mod_deflate.c,
22922	doc/contrib/mod_deflate.html: Adding mod_deflate to the contrib
22923	module area.
22924
229252010-03-10  castaglia <castaglia>
22926
22927	* contrib/mod_sql.c: There's no reason for the caches used by
22928	mod_sql to be visible outside of that file.
22929
229302010-03-10  castaglia <castaglia>
22931
22932	* NEWS, contrib/mod_tls.c: Bug#3374 - TLSVerifyClient and TLSOptions
22933	NoCertRequest are incompatible.
22934
229352010-03-10  castaglia <castaglia>
22936
22937	* modules/mod_core.c, src/data.c: Make sure that the setting of
22938	socket options on a passive data connection socket occur before the
22939	call to listen(2), not after.
22940
229412010-03-10  castaglia <castaglia>
22942
22943	* src/inet.c: Removed development/debug logging.
22944
229452010-03-09  castaglia <castaglia>
22946
22947	* configure: Updated configure.
22948
229492010-03-09  castaglia <castaglia>
22950
22951	* configure.in: Bug33410: Fix build regression caused by changes for
22952	Bug#2768.  Specifically, the $libdir autoconf variable was
22953	inadvertently reused for the mysql_config checking; this variable is
22954	later used for determining the installation location of the
22955	proftpd.pc file.
22956
229572010-03-09  castaglia <castaglia>
22958
22959	* contrib/mod_ctrls_admin.c, contrib/mod_qos.c, include/bindings.h,
22960	include/compat.h, include/dirtree.h, include/inet.h,
22961	modules/mod_core.c, modules/mod_ident.c, src/bindings.c,
22962	src/data.c, src/dirtree.c, src/inet.c, src/main.c: Removed the
22963	unused server_list argument from pr_inet_create_conn() and friends.
22964	This also obseleted the backward-compatibilty macros for these
22965	functions.  Made the get_listening_conn() function in src/bindings.c public, so
22966	that the mod_ctrls_admin module could properly use it when
22967	enabling/disabling vhosts.  Added generation of events whenever proftpd opens sockets; the
22968	socket fd and its associated pr_netaddr_t and server_rec are
22969	provided as event data.  With this, the mod_qos module is now
22970	properly able to set QoS options on a socket _before_ any listen(2)
22971	or connect(2) call on that socket, i.e. before any TCP handshakes
22972	occur on that socket.  This should hopefully make the setting of QoS
22973	values (cf Bug#3353) work properly.
22974
229752010-03-09  castaglia <castaglia>
22976
22977	* src/inet.c: Use the proper socket option level consistently when
22978	setting the TCP_NODELAY option.
22979
229802010-03-08  castaglia <castaglia>
22981
22982	* configure: Updated configure.
22983
229842010-03-08  castaglia <castaglia>
22985
22986	* NEWS, config.h.in, configure.in, include/conf.h: Bug#3408 - Use
22987	<termios.h> instead of <sys/termios.h> where possible.
22988
229892010-03-08  castaglia <castaglia>
22990
22991	* configure: Updated configure.
22992
229932010-03-08  castaglia <castaglia>
22994
22995	* NEWS, configure.in: Bug#2768 - Provide
22996	--with-mysql-config/--with-postgres-config build options.
22997
229982010-03-08  castaglia <castaglia>
22999
23000	* NEWS, modules/mod_ls.c,
23001	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Bug#3407 - Use glob
23002	characters as literal characters if no glob match found for
23003	LIST/NLST.
23004
230052010-03-08  castaglia <castaglia>
23006
23007	* NEWS, include/netaddr.h, src/inet.c, src/netaddr.c: Bug#2196 -
23008	Handle IPv4-mapped IPv6 addresses as IPv4 addresses.
23009
230102010-03-06  castaglia <castaglia>
23011
23012	* src/fsio.c: Minor tweak needed so that FSIO modules work properly
23013	(i.e. have their callbacks used properly) on CWD commands with paths
23014	which do not contain a '/' character.
23015
230162010-03-06  castaglia <castaglia>
23017
23018	* src/stash.c: Remove some development/testing cruft.
23019
230202010-03-06  castaglia <castaglia>
23021
23022	* tests/Makefile.in, tests/api/modules.c, tests/api/stash.c,
23023	tests/api/tests.c, tests/api/tests.h: Updated API tests to reflect
23024	changed location of stash code.
23025
230262010-03-06  castaglia <castaglia>
23027
23028	* Make.rules.in, include/conf.h, include/modules.h,
23029	include/stash.h, src/modules.c, src/stash.c: Separate out the symbol
23030	table lookup code from the modules.c file and place it in its own
23031	stash.c file.  This will make it easier to tweak the symbol table
23032	lookups without unnecessary code churn in the module-handling code.
23033
230342010-03-06  castaglia <castaglia>
23035
23036	* src/modules.c: Removed unused/dead callback typedef.
23037
230382010-03-05  castaglia <castaglia>
23039
23040	* NEWS, contrib/mod_ban.c: Bug#3393 - Specify the <VirtualHost> when
23041	using 'ban' or 'permit' ftpdctl actions.
23042
230432010-03-05  castaglia <castaglia>
23044
23045	* src/parser.c: The default "server config" server_rec gets SID 1 in
23046	init_config(); this means that the SIDs assigned to vhosts in the
23047	parser need to start after 1, not after 0.  This was causing the
23048	"server config" and the first <VirtualHost> server_recs to both have
23049	a SID of 1.
23050
230512010-03-04  castaglia <castaglia>
23052
23053	* NEWS, contrib/mod_ban.c: Bug#3392 - Display <VirtualHost>
23054	information in 'ban info' ftpdctl action response.
23055
230562010-03-04  castaglia <castaglia>
23057
23058	* contrib/mod_sftp/channel.c: Add a little more trace logging to the
23059	handling of SSH2 channel data.
23060
230612010-03-04  castaglia <castaglia>
23062
23063	* contrib/mod_sftp/msg.c: Initialize these variables pedantically.
23064
230652010-03-04  castaglia <castaglia>
23066
23067	* contrib/mod_sftp/msg.c: Log data lengths as unsigned longs for
23068	size_t, not unsigned ints.
23069
230702010-03-04  castaglia <castaglia>
23071
23072	* doc/contrib/mod_qos.html: Adding documentation for mod_qos
23073	(Bug#3353).
23074
230752010-03-04  castaglia <castaglia>
23076
23077	* README.modules, RELEASE_NOTES: Update docs with mention of
23078	mod_qos.
23079
230802010-03-04  castaglia <castaglia>
23081
23082	* NEWS, contrib/mod_qos.c, include/dirtree.h, include/inet.h,
23083	src/data.c, src/dirtree.c, src/inet.c, src/main.c: Bug#3353 -
23084	Support setting IPTOS/DSCP markings on data and control streams.
23085
230862010-03-04  castaglia <castaglia>
23087
23088	* tests/api/scoreboard.c, tests/api/str.c: Update failing scoreboard
23089	API test.  Add new sreplace API test.
23090
230912010-03-04  castaglia <castaglia>
23092
23093	* src/str.c: Make sure that sreplace() never returns a pointer to a
23094	buffer on the stack.  This would rarely have happened anyway, but
23095	not it's not possible.  This involved setting a maximum limit (8K)
23096	on the size of the buffer that sreplace() would return.   Anything
23097	that needs a larger buffer than that can handle its own
23098	replacement/interpolation.
23099
231002010-03-04  castaglia <castaglia>
23101
23102	* include/netaddr.h, src/netaddr.c: Fix the pr_netaddr_get_addrno()
23103	function (infrequently used) to return an explicit uint32_t, and fix
23104	up the error return values.  Not that the one caller (in mod_radius)
23105	actually checks for these.
23106
231072010-03-04  castaglia <castaglia>
23108
23109	* src/dirtree.c: Avoid compiler warning about uninitialized
23110	variable.
23111
231122010-03-04  castaglia <castaglia>
23113
23114	* modules/mod_core.c: Avoid compiler warning about unitialized
23115	variable.
23116
231172010-03-04  castaglia <castaglia>
23118
23119	* src/throttle.c: Remove an unused variable.
23120
231212010-03-03  castaglia <castaglia>
23122
23123	* contrib/mod_quotatab_file.c, contrib/mod_sftp/rfc4716.c,
23124	contrib/mod_shaper.c, modules/mod_delay.c, src/scoreboard.c,
23125	utils/scoreboard.c: Check the lseek(2) return value in more places.
23126
231272010-03-03  castaglia <castaglia>
23128
23129	* include/options.h: 4K for an environ variable value might be a bit
23130	excessive; let's use 2K.
23131
231322010-03-03  castaglia <castaglia>
23133
23134	* include/options.h, src/env.c, src/proctitle.c: Set a limit on the
23135	maximum length of environment variable values.
23136
231372010-03-03  castaglia <castaglia>
23138
23139	* NEWS, src/fsio.c, tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm:
23140	Bug#3354 - Renaming a file across mount points to a full disk does
23141	not fail as expected.
23142
231432010-03-03  castaglia <castaglia>
23144
23145	* NEWS, src/log.c: Bug#3404 - SyslogLevel not applied to SystemLog.
23146
231472010-03-03  castaglia <castaglia>
23148
23149	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3405 - Multiple
23150	SFTPAuthorizedUserKeys stores causes segfault on 64-bit platforms.
23151
231522010-03-03  castaglia <castaglia>
23153
23154	* contrib/mod_sftp/rfc4716.c: Fix the handling of errno such that
23155	the proper error is logged when we fail to open a file-based
23156	authorized keys file.
23157
231582010-03-02  castaglia <castaglia>
23159
23160	* doc/contrib/mod_sftp_sql.html: Update the mod_sftp_sql doc to
23161	mention where to find the latest version.
23162
231632010-03-02  castaglia <castaglia>
23164
23165	* NEWS, contrib/mod_ban.c: Bug#3339 - Support ban rule for clients
23166	which login too frequently.
23167
231682010-03-02  castaglia <castaglia>
23169
23170	* NEWS, locale/Makefile.in, locale/ja_JP.po: Bug#3400 - Add Japanese
23171	translation.
23172
231732010-03-02  castaglia <castaglia>
23174
23175	* NEWS, modules/mod_facts.c: Bug#3403 - File upload followed by MLSD
23176	leads to wrong file size entries in TransferLog.
23177
231782010-03-02  castaglia <castaglia>
23179
23180	* NEWS, contrib/mod_tls.c: Bug#3402 - mod_tls does not compile with
23181	pre-0.9.7 OpenSSL due to Bug#3349.
23182
231832010-03-02  castaglia <castaglia>
23184
23185	* NEWS, contrib/mod_sftp/crypto.c: Bug#3401 - mod_sftp does not
23186	compile with pre-0.9.7 OpenSSL.
23187
231882010-02-28  jwm <jwm>
23189
23190	* contrib/mod_ldap.c: revno: 96 message:   emit quota parsing debugging output before parsing, since strsep()   modifies the passed string
23191	------------------------------------------------------------ revno:
23192	94 message:   - ssh pubkey support was broken, since nothing was setting     ldap_ssh_pubkey_{basedn,filter}. use ldap_auth_{basedn,filter}
23193	    instead, since it seems reasonable to keep pubkeys on the
23194	    account that's authenticating.    - add support for multiple pubkeys for a user   - always initialize cached_ssh_pubkeys in
23195	    pr_ldap_ssh_pubkey_lookup(), since we're only called if we don't
23196	    have any pubkeys cached or need ot explicitly fetch pubkeys for a
23197	different user
23198
231992010-02-25  castaglia <castaglia>
23200
23201	* contrib/mod_tls.c, modules/mod_auth.c, modules/mod_core.c,
23202	modules/mod_facts.c, modules/mod_ls.c, modules/mod_site.c,
23203	modules/mod_xfer.c: Mark HELP strings for translation/localisation.
23204
232052010-02-25  castaglia <castaglia>
23206
23207	* tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm: Remove development
23208	cruft.
23209
232102010-02-25  castaglia <castaglia>
23211
23212	* doc/howto/Versioning.html: Fix typo, update example.
23213
232142010-02-24  castaglia <castaglia>
23215
23216	* NEWS, modules/mod_facts.c,
23217	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Bug#3302 - MLST response
23218	should include full path name.
23219
232202010-02-24  castaglia <castaglia>
23221
23222	* contrib/mod_site_misc.c, modules/mod_facts.c: Forgot to update the
23223	copyright years on the files that I modified.  It's a bit pedantic,
23224	but it's a habit I try to keep.
23225
232262010-02-24  castaglia <castaglia>
23227
23228	* NEWS, contrib/mod_tls.c: Bug#3365 - First certificate in
23229	TLSCertificateChainFile is skipped.
23230
232312010-02-24  castaglia <castaglia>
23232
23233	* NEWS, contrib/mod_site_misc.c, modules/mod_facts.c,
23234	tests/t/config/limit/mfmt.t,
23235	tests/t/lib/ProFTPD/Tests/Config/Limit/MFMT.pm, tests/tests.pl:
23236	Bug#3399 - <Limit> statement does not restore access to MFMT
23237	commands.
23238
232392010-02-24  castaglia <castaglia>
23240
23241	* doc/contrib/index.html: Updated index of contrib module docs.
23242
232432010-02-24  castaglia <castaglia>
23244
23245	* include/version.h: Updated for CVS.
23246
232472010-02-24  castaglia <castaglia>
23248
23249	* ChangeLog: Updated ChangeLog.
23250
232512010-02-24  castaglia <castaglia>
23252
23253	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
23254	include/version.h: Preparing for release of 1.3.3-stable.
23255
232562010-02-24  castaglia <castaglia>
23257
23258	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Quell Perl
23259	interpreter warnings about redeclared variables.
23260
232612010-02-24  castaglia <castaglia>
23262
23263	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Quell some Perl
23264	interpreter warnings about redeclared variables.
23265
232662010-02-24  castaglia <castaglia>
23267
23268	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Quell Perl
23269	interpreter warning about "useless use of private variable in void
23270	context".
23271
232722010-02-23  castaglia <castaglia>
23273
23274	* NEWS, modules/mod_core.c, src/dirtree.c,
23275	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Bug#3397 - HideFiles
23276	none does not work properly on a per-user basis.
23277
232782010-02-23  castaglia <castaglia>
23279
23280	* modules/mod_ls.c: Make sure that the pluralization of "paths"
23281	matches the count displayed in the log message.
23282
232832010-02-22  castaglia <castaglia>
23284
23285	* NEWS, contrib/mod_ban.c: Bug#3389 - Cannot create mod_ban
23286	whitelists using <Class> and <IfClass> sections.
23287
232882010-02-22  castaglia <castaglia>
23289
23290	* src/bindings.c: If "SocketBindTight on" is in effect, then the fix
23291	for Bug#3306 would cause problems for non-IPv6-enabled builds.  The
23292	fix for Bug#3306 was not making a proper deep copy of the
23293	pr_netaddr_t object for its linked list; the shallow copy (just a
23294	pointer) would later point to memory whose contents had changed.
23295	This lead to a getnameinfo(3) failure (EAI_FAMILY, specifically),
23296	the attempt to create a new listening socket, and a collision with
23297	an existing socket.  The solution to this is simple: make a deep copy.
23298
232992010-02-21  castaglia <castaglia>
23300
23301	* contrib/mod_sftp/rfc4716.c: Support use of FIFOs as
23302	SFTPAuthorized{Host,User}Keys files.
23303
233042010-02-21  castaglia <castaglia>
23305
23306	* src/inet.c: Log if getsockname(2) returns an error.
23307
233082010-02-21  castaglia <castaglia>
23309
23310	* src/dirtree.c: Handle an edge case/regression from Bug#3337.
23311
233122010-02-19  castaglia <castaglia>
23313
23314	* contrib/mod_tls.c: Slightly better logging of SSL session reuse
23315	for data connections.
23316
233172010-02-19  castaglia <castaglia>
23318
23319	* contrib/mod_sftp/mod_sftp.c: Fix another compiler warning (this
23320	one specific to the pedantically stupid idiosyncrasis of gcc-4.4) in
23321	mod_sftp, per Bug#3394.
23322
233232010-02-19  castaglia <castaglia>
23324
23325	* contrib/mod_sftp/fxp.c: Fix some of the compiler warnings
23326	mentioned in Bug#3394.
23327
233282010-02-17  castaglia <castaglia>
23329
23330	* contrib/mod_sftp/mod_sftp.c: Rather than log (and ignore) any
23331	badly formatted version exchange strings from clients, log the
23332	client-sent string and then disconnect the client.  This is what
23333	OpenSSH does, and it's a more draconian and more efficient way of
23334	dealing with such ill-behaved clients.
23335
233362010-02-17  castaglia <castaglia>
23337
23338	* doc/howto/Limit.html: Add blocking of STAT to "blind directory"
23339	example, per Bug#3391.
23340
233412010-02-15  castaglia <castaglia>
23342
23343	* doc/howto/SQL.html: Add SQL FAQ about encrypting the connections
23344	between mod_sql and the backend database server.
23345
233462010-02-15  castaglia <castaglia>
23347
23348	* contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/packet.c,
23349	contrib/mod_sftp/packet.h,
23350	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
23351	mod_sftp can handle clients which don't send properly formatted
23352	protocol version strings, as well as clients which do not send the
23353	proper protocol version string within a configured TimeoutLogin
23354	period.
23355
233562010-02-15  castaglia <castaglia>
23357
23358	* configure: Updated configure.
23359
233602010-02-15  castaglia <castaglia>
23361
23362	* configure.in: The various library directories need to be included
23363	in the `proftpd -V' output as well.
23364
233652010-02-15  castaglia <castaglia>
23366
23367	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add
23368	regression test for using %S in SQLNamedQuery statements in
23369	combination with a SQLLog ERR_* configuration.
23370
233712010-02-14  castaglia <castaglia>
23372
23373	* src/table.c, tests/api/table.c: When using a pr_table_t allocated
23374	with the USE_CACHE flag (none are, currently), the
23375	pr_table_get()/pr_table_kget() functions would incorrectly return
23376	the previously looked up entry, every time, instead of iterating
23377	properly to the next entry in the linked list.
23378
233792010-02-14  castaglia <castaglia>
23380
23381	* src/modules.c: Comment corrections.
23382
233832010-02-13  castaglia <castaglia>
23384
23385	* include/version.h: Updated version for CVS.
23386
233872010-02-13  castaglia <castaglia>
23388
23389	* ChangeLog: Updated ChangeLog.
23390
233912010-02-13  castaglia <castaglia>
23392
23393	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Updates
23394	for the 1.3.3rc4 release.
23395
233962010-02-13  castaglia <castaglia>
23397
23398	* RELEASE_NOTES: Preparing release notes for another RC.
23399
234002010-02-11  castaglia <castaglia>
23401
23402	* tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm: Add unit test
23403	for an <Anonymous> login which uses a <Limit LOGIN> rule based on a
23404	DSN name (hint: "UseReverseDNS on" is required for the rule to work
23405	as expected).
23406
234072010-02-11  castaglia <castaglia>
23408
23409	* src/dirtree.c: Minor code style cleanup, no functional change.
23410
234112010-02-11  castaglia <castaglia>
23412
23413	* src/netacl.c: More trace logging of comparison of netacls.
23414
234152010-02-11  castaglia <castaglia>
23416
23417	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression
23418	tests for uploading and downloading zero-length files via SFTP and
23419	SCP.
23420
234212010-02-10  castaglia <castaglia>
23422
23423	* contrib/mod_sftp/keys.c: Fix an issue in mod_sftp where, similar
23424	to in mod_tls, a file descriptor on a key file can be opened during
23425	SIGHUP where the fd is 0, 1, or 2.  This causes problems because the
23426	prompt-related fd fiddling changes these fds to deal with input from
23427	the admin.  The fix, as in mod_tls, is to use
23428	pr_fsio_get_usable_fd() to get an fd value that isn't one of the big
23429	three for that key file.
23430
234312010-02-10  castaglia <castaglia>
23432
23433	* modules/mod_xfer.c: If "UseSendfile off" appears in the config but
23434	some other condition prevents the use of sendfile(), it's a little
23435	odd to see some other "declining use of sendfile" message in the
23436	logs.
23437
234382010-02-10  castaglia <castaglia>
23439
23440	* include/trace.h, modules/mod_core.c, src/trace.c: Make the default
23441	trace channel name of "DEFAULT" a macro, to keep it in sync in the
23442	various files which use that string.
23443
234442010-02-10  castaglia <castaglia>
23445
23446	* modules/mod_core.c: The mod_core module had not been updated to
23447	use the "DEFAULT" trace keyword rather than the "ALL" keyword.  This
23448	keyword should be made into a public macro.
23449
234502010-02-10  castaglia <castaglia>
23451
23452	* doc/howto/Compiling.html: Slightly better/fuller example.
23453
234542010-02-10  castaglia <castaglia>
23455
23456	* configure: Updated configure.
23457
234582010-02-10  castaglia <castaglia>
23459
23460	* configure.in: Expand the list of modules which cannot be built as
23461	shared modules; allow some of the core modules to be built as shared
23462	modules (e.g. mod_delay, mod_auth_file, mod_ident, mod_auth_pam,
23463	etc).
23464
234652010-02-10  castaglia <castaglia>
23466
23467	* modules/mod_delay.c: Quell compiler warning about unreachable
23468	code.  Prepare mod_delay for acting properly when compiled as a DSO
23469	module.
23470
234712010-02-10  castaglia <castaglia>
23472
23473	* modules/mod_facl.c: Remove duplicate registration of module unload
23474	listener in mod_facl.
23475
234762010-02-10  castaglia <castaglia>
23477
23478	* doc/howto/Compiling.html: Add FAQ about the "source file
23479	'./modules/d_auth_pam.c' cannot be found" configure error that is
23480	sometimes reported.
23481
234822010-02-10  castaglia <castaglia>
23483
23484	* contrib/mod_sftp/interop.c, contrib/mod_sftp/interop.h,
23485	contrib/mod_sftp/keystore.c, contrib/mod_sftp/keystore.h,
23486	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/rfc4716.c,
23487	contrib/mod_sftp/rfc4716.h: Make sure that mod_sftp unregisters
23488	callbacks on module unload properly, as well as freeing up any
23489	allocated regular expressions on module unload.
23490
234912010-02-10  castaglia <castaglia>
23492
23493	* contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in,
23494	contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Provide a
23495	wrap2_unregister() API, so that wrap2 submodules can unregister
23496	their backends on e.g. module unload.  Update the wrap2 submodules
23497	to use this new API.
23498
234992010-02-10  castaglia <castaglia>
23500
23501	* contrib/mod_tls.c: Quell some compiler warnings about unreachable
23502	code.
23503
235042010-02-10  castaglia <castaglia>
23505
23506	* contrib/mod_sql.c: Unregister the registered authtype handlers
23507	upon module unload.
23508
235092010-02-10  castaglia <castaglia>
23510
23511	* contrib/mod_quotatab.c: Set the prev pointer properly when
23512	registering a quotatab backend.
23513
235142010-02-10  castaglia <castaglia>
23515
23516	* contrib/mod_rewrite.c: When mod_rewrite is a DSO module and is
23517	being unloaded (as during a restart), free any allocated regexes and
23518	prevent a memory leak.
23519
235202010-02-10  castaglia <castaglia>
23521
23522	* src/bindings.c: When getting a listening connection, handle cases
23523	where an IP address string can't be returned for some reason.
23524
235252010-02-10  castaglia <castaglia>
23526
23527	* NEWS, contrib/mod_ban.c, contrib/mod_dynmasq.c,
23528	contrib/mod_shaper.c: Bug#3387 - SIGHUP will eventually cause
23529	certain modules (as DSO modules) to segfault.  Register timers in the daemon process via a 'core.postparse'
23530	listener rather than a 'core.startup' listenver, and remove the
23531	registered timers in a 'core.restart' listener.  Otherwise, the
23532	previous registered timer can point to invalid memory if the
23533	registering module is a DSO module; SIGHUPs cause DSO modules to be
23534	unloaded/reloaded.
23535
235362010-02-09  castaglia <castaglia>
23537
23538	* src/timers.c: Paranoid checking for NULL parameters for a trace
23539	message in the Timers API.
23540
235412010-02-09  castaglia <castaglia>
23542
23543	* include/bindings.h, src/bindings.c: Pass the port number to use as
23544	an argument to pr_ipbind_create(), rather than assuming that the
23545	port in the given server_rec should be used.  There are cases where
23546	this may not be true (e.g. in mod_autohost's uses).
23547
235482010-02-08  castaglia <castaglia>
23549
23550	* contrib/mod_sftp/fxp.c: Handle another case where we weren't
23551	checking for a NULL result from calling dir_canonical_vpath() when
23552	handling REALPATH requests.
23553
235542010-02-08  castaglia <castaglia>
23555
23556	* contrib/mod_sftp/fxp.c: If there are troubles in resolving the
23557	paths given in a SYMLINK request (e.g. because of ENAMETOOLONG),
23558	handle the error gracefully rather than segfaulting.
23559
235602010-02-08  castaglia <castaglia>
23561
23562	* src/fsio.c: More defensive programming: check for cases where
23563	lookup_fs_file() returns NULL, and Do The Right Thing(tm).
23564
235652010-02-08  castaglia <castaglia>
23566
23567	* src/fsio.c: Check for cases where we fail to lookup the FSIO
23568	object for a path because of an error like ENAMETOOLONG.  Without
23569	this, segfaults because of null pointer dereferences would occur.
23570
235712010-02-08  castaglia <castaglia>
23572
23573	* contrib/mod_sftp/fxp.c: Handle the case where dir_canonical_path()
23574	returns NULL (e.g. for ENAMETOOLONG) in the REMOVE handler in order
23575	to prevent null pointer dereference segfault.
23576
235772010-02-08  castaglia <castaglia>
23578
23579	* contrib/mod_sftp/fxp.c: Handle cases where dir_canonical_vpath()
23580	might return NULL (such as when the input name is too long); without
23581	this, a segfault due to null pointer dereference ensues.
23582
235832010-02-08  castaglia <castaglia>
23584
23585	* src/trace.c: Prevent long trace log lines from trampling each
23586	other by truncating and adding a terminating newline properly.
23587
235882010-02-08  castaglia <castaglia>
23589
23590	* contrib/mod_sftp/packet.c: Make sure we don't try to read in more
23591	data than can fit in our packet buffer.
23592
235932010-02-07  castaglia <castaglia>
23594
23595	* configure: Updated configure.
23596
235972010-02-07  castaglia <castaglia>
23598
23599	* configure.in: Make sure that compiler optimizations are disabled
23600	when --enable-devel is used.
23601
236022010-02-07  castaglia <castaglia>
23603
23604	* include/support.h, src/support.c: Add a pr_strtime2() function,
23605	which allows callers the choice of whether the returned timestamp
23606	string is in GMT or in local time; the existing pr_strtime()
23607	function is hardcoded to always use local time.
23608
236092010-02-06  castaglia <castaglia>
23610
23611	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure that
23612	config_write() can handle Anonymous sections which contain nested
23613	Directory or Limit sections.
23614
236152010-02-05  castaglia <castaglia>
23616
23617	* src/event.c: Include the memory address of the event callback
23618	being invoked in the trace message about event handling.
23619
236202010-02-04  castaglia <castaglia>
23621
23622	* doc/contrib/mod_sftp_sql.html: Update the schema examples for
23623	storing SSH keys; include indices in the example schema.
23624
236252010-02-04  castaglia <castaglia>
23626
23627	* src/pool.c: Make the name of the oom pool walking function be
23628	'oom_printf', just to be very clear.
23629
236302010-02-04  castaglia <castaglia>
23631
23632	* include/pool.h, src/main.c, src/pool.c: Checking in some handy
23633	code I used yesterday to track down a memory leak in mod_sftp.  If proftpd is compiled using --enable-devel, AND if it is started
23634	using the -n/--nodaemon command-line option, then if an
23635	out-of-memory condition is encountered, proftpd will try to dump the
23636	memory pool statistics to stderr.  This is what showed me where all
23637	of the memory was being used in the mod_sftp case.
23638
236392010-02-04  castaglia <castaglia>
23640
23641	* contrib/mod_sftp/channel.c: Undo the previous change regarding the
23642	calling of destroy_channel() and the setting of the recvd_close
23643	flag.  Turns out that the previous arrangement was the way it was
23644	for a good reason.  Left myself a comment to this effect, so that I'm not tempted to
23645	make the same mistake again in the future.
23646
236472010-02-04  castaglia <castaglia>
23648
23649	* contrib/mod_sftp/scp.c: Only handle aborted SCP transfers if there
23650	is actually a non-zero count of open file handles when the session
23651	is closed.
23652
236532010-02-04  castaglia <castaglia>
23654
23655	* contrib/mod_sftp/channel.c: No need to call destroy_channel()
23656	twice.  Also be sure to set the recvd_close flag *before* calling
23657	send_channel_done(), so that the channel will be properly closed
23658	when destroy_channel() is called on it.
23659
236602010-02-04  castaglia <castaglia>
23661
23662	* contrib/mod_sftp/channel.c: Guard against sending CHANNEL_EOF
23663	and/or CHANNEL_CLOSE twice.  Some clients rightfully treat this as a
23664	protocol error.  I noticed this when testing scp downloads using
23665	OpenSSH, and saw "protocol error: close rcvd twice".
23666
236672010-02-04  castaglia <castaglia>
23668
23669	* NEWS, contrib/mod_sftp/scp.c: Bug#3386 - Downloading via SCP can
23670	stall due to rekeying.
23671
236722010-02-04  castaglia <castaglia>
23673
23674	* contrib/mod_sftp/scp.c: Typo.
23675
236762010-02-04  castaglia <castaglia>
23677
23678	* contrib/mod_sftp/scp.c: Add some minor logging of the progress
23679	being made on the sending of data for a file via SCP.  Fix some cases where even though a file may have been downloaded
23680	successfully, the SCP may still have been handled as a failure by
23681	mod_sftp because of bad logic.
23682
236832010-02-04  castaglia <castaglia>
23684
23685	* NEWS, contrib/mod_sftp/channel.c: Bug#3385 - Memory leak during
23686	SCP download.
23687
236882010-02-04  castaglia <castaglia>
23689
23690	* contrib/mod_sftp/scp.c: When we've sent the last chunk of data
23691	when downloading via SCP, don't require the client to send one more
23692	SSH message.  Not sure why that was there.  Also, when writing SCP
23693	download data, spin on a zero window size *after* the channel data
23694	has been written, not before.  With these two changes, downloading via SCP a largish (700 MB) file
23695	finally worked, without hanging the scp(1) OpenSSH client.
23696
236972010-02-03  castaglia <castaglia>
23698
23699	* contrib/mod_sftp/tap.c: Make "SFTPTrafficPolicy none" work; it was
23700	hanging if that setting had been explicitly configured in the
23701	proftpd.conf.  Also make "SFTPTrafficPolicy none" override the automatic use of the
23702	'rogaway' policy.  This makes it possible to test transfers of data
23703	without having the IGNORE messages bloat the data transferred.
23704
237052010-02-03  castaglia <castaglia>
23706
23707	* src/child.c: If sending a signal to the child/session process
23708	fails, log the reason via trace logging.
23709
237102010-02-03  castaglia <castaglia>
23711
23712	* contrib/mod_sftp/channel.c: When freeing an unclosed channel, log
23713	the number of pending bytes that that channel might have.
23714
237152010-02-03  castaglia <castaglia>
23716
23717	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: We don't want
23718	a bare '.' character in these regexes, just the '.' regex pattern
23719	meaning "match any character".
23720
237212010-02-03  castaglia <castaglia>
23722
23723	* contrib/mod_sftp/fxp.c: Quell compiler warnings about unused
23724	return values.
23725
237262010-02-03  castaglia <castaglia>
23727
23728	* tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Add unit tests
23729	where PathDenyFilter is used to prevent names with a single leading
23730	(or trailing) space character (or both).
23731
237322010-02-03  castaglia <castaglia>
23733
23734	* contrib/mod_sftp/keys.c: Quell compiler warnings about unreachable
23735	code; no functional change.
23736
237372010-02-02  jwm <jwm>
23738
23739	* contrib/mod_ldap.c: revno: 93 message:   add ssh public key support (for mod_sftp_ldap) from TJ Saunders   <tj@castaglia.org>
23740
237412010-02-02  jwm <jwm>
23742
23743	* contrib/mod_ldap.c: v2.8.22 * Disable the LDAPUseSSL directive, instead logging a warning so
23744	  existing configurations do not cause ProFTPD startup failure.
23745	  Previous versions enabled TLS when this directive was enabled. This
23746	  behavior was incorrect, since the intended behavior was to enable
23747	  LDAPS/LDAP over SSL. To use LDAPS, specify the ldaps:// protocol in
23748	the LDAPServerURL URL(s).    If you wish to continue using TLS, you must modify your
23749	  configuration to specify the ldap:// scheme in the LDAPServerURL
23750	  URL and add the directive 'LDAPUseTLS on' to your configuration.  * Add support for quota profiles. If a user entry doesn't have an
23751	  ftpQuota attribute, search for the DN contained in the user's
23752	  ftpQuotaProfileDN attribute (if present) and use the ftpQuota
23753	  attribute present on that DN.  (Bug #2617) * Fix segfaults in debug logging on platforms whose printf() does
23754	  not gracefully handle NULL string pointers. (Bug #3346) * Escape LDAP filter metacharacters in inserted values when
23755	  interpolating filter templates.  * Emit a debug warning when an LDAP URL is specified without an
23756	  explicit search scope.  * Bug 2922 locks authentication for an account to the same module
23757	  that fetched the original account information. Remove the kludge
23758	  wherein "*" is passed to pr_auth_check() if we're doing auth binds
23759	  to prevent other modules from processing authentication. This has
23760	  the convenient side effect of making the UserPassword directive work
23761	  with LDAP-sourced accounts. Bump the required ProFTPD version to
23762	1.3.1rc3.  * Emit correct LDAP timeout in debug message, accounting for the
23763	  default if none was specified. Reported by Nikos Voutsinas
23764	<nvoutsin@noc.uoa.gr>.  ------------------------------------------------------------ revno:
23765	92 message:   nuke unused variable
23766	------------------------------------------------------------ revno:
23767	91 message:   release 2.8.22
23768	------------------------------------------------------------ revno:
23769	90 message:   * Add support for quota profiles. If a user entry doesn't have an
23770	    ftpQuota attribute, search for the DN contained in the user's
23771	    ftpQuotaProfileDN attribute (if present) and use the ftpQuota
23772	    attribute present on that DN.  (Bug #2617)
23773	------------------------------------------------------------ revno:
23774	89 message:   * Fix segfaults in debug logging on platforms whose printf() does
23775	    not gracefully handle NULL string pointers. (Bug #3346)
23776	------------------------------------------------------------ revno:
23777	88 message:   cast ldap_querytimeout_tp.tv_sec to quell a compiler warning
23778	------------------------------------------------------------ revno:
23779	87 message:   * Emit correct LDAP timeout in debug message, accounting for the
23780	    default if none was specified. Reported by Nikos Voutsinas
23781	<nvoutsin@noc.uoa.gr>.
23782	------------------------------------------------------------ revno:
23783	86 message:   thanks to Bug 2922 (Auth API allows one auth module to
23784	  authenticate user data provided by a different auth module), we
23785	  don't need to worry about passing a locked crypted password ("*") to
23786	  pr_auth_check(), since our authz handler will only be called if we
23787	supplied the original user information.    as a result, if the UserPassword directive is in effect, we need
23788	  to avoid doing auth binds and fall through to verifying the
23789	  crypted password ourselves instead of declining the authz request
23790	  and letting mod_auth_unix handle it.    bump the required proftpd version to 1.3.1rc3, since #2922 was
23791	  resolved in that version. this seems reasonable, since nobody
23792	  ought to be running 1.2.10rc2 any more and 1.3.1rc3 has been
23793	available for almost 2.5y now.
23794	------------------------------------------------------------ revno:
23795	85 message:   add intermediary #ifdefs instead of littering the code with ldap
23796	  api version- and openldap-specific preprocessor directives
23797	------------------------------------------------------------ revno:
23798	84 message:   use a common pr_ldap_search() to avoid duplicate code in
23799	  *_lookup()
23800	------------------------------------------------------------ revno:
23801	82 message:   - cached_quota should be declared static   - return PR_HANDLED() in stub LDAPUseSSL config directive handler
23802	------------------------------------------------------------ revno:
23803	81 message:   emit a debug warning if the search scope is 'base'. ldap urls
23804	  default to this scope, and specifying:     LDAPServer ldap://127.0.0.1/   has bitten me several times when I forget that the search scope is
23805	  'base', not 'sub'.
23806	------------------------------------------------------------ revno:
23807	80 message:   re-add a stub for LDAPUseSSL that only logs a notice that it's
23808	  been removed, so older configurations don't fail to start.    [followon to r75]
23809	------------------------------------------------------------ revno:
23810	79 message:   quell a discarded-const compiler warning
23811	------------------------------------------------------------ revno:
23812	76 message:   only allow ldaps:// url schemes if we have ldap_initialize()
23813	------------------------------------------------------------ revno:
23814	75 message:   remove the LDAPUseSSL directive, as it wasn't having the intended
23815	  effect (enable LDAP over SSL, aka LDAPS). LDAP_OPT_X_TLS_HARD is
23816	  for having the connection fail hard on TLS errors. afaict, the only
23817	  way to specify LDAPS connections is by passing a URL with the
23818	  ldaps:// scheme to ldap_initialize().
23819	------------------------------------------------------------ revno:
23820	74 message:   better debug message when no entries are found for a search
23821	------------------------------------------------------------ revno:
23822	73 message:   dunno what i was thinking with the last round of filter
23823	  interpolation changes, but it was completely wrong. use proftpd's
23824	  sreplace() instead of doing the string manipulation ourselves, and
23825	  check pr_ldap_interpolate_filter()'s return value for NULL.
23826	------------------------------------------------------------ revno:
23827	  72 escape filter characters mentioned in RFC 2254
23828
238292010-02-01  castaglia <castaglia>
23830
23831	* doc/contrib/mod_sql.html: In the SQLShowInfo description, mention
23832	which section in RFC959 defines the list of acceptable response
23833	codes for each FTP command.
23834
238352010-02-01  castaglia <castaglia>
23836
23837	* RELEASE_NOTES: Update the release notes; it's almost time for
23838	release.
23839
238402010-02-01  castaglia <castaglia>
23841
23842	* doc/contrib/mod_sql_passwd.html: Updating mod_sql_passwd docs with
23843	description of new SQLPasswordUserSalt directive.
23844
238452010-02-01  castaglia <castaglia>
23846
23847	* NEWS, contrib/mod_sql_passwd.c,
23848	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3380 -
23849	Support user-specific salts in encoded passwords.
23850
238512010-02-01  castaglia <castaglia>
23852
23853	* NEWS, contrib/mod_radius.c: Bug#3381 - RADIUS authentication
23854	broken on 64-bit platforms.
23855
238562010-01-31  castaglia <castaglia>
23857
23858	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
23859	downloading an empty file over FTPS, to go with the just-added test
23860	for uploading an empty file over FTPS.
23861
238622010-01-31  castaglia <castaglia>
23863
23864	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
23865	uploading an empty file via FTPS.  Saw a bug report for an FTPS
23866	client for such an issue; the reporter wasn't sure whether it was a
23867	client or a server issue.  This test shows that it isn't an issue
23868	with mod_tls.
23869
238702010-01-31  castaglia <castaglia>
23871
23872	* contrib/mod_sftp/crypto.c, contrib/mod_tls.c: Be paranoid and
23873	meticulous, and clean up the state of the OpenSSL RNG when we're the
23874	daemon process and we're shutting down.
23875
238762010-01-29  castaglia <castaglia>
23877
23878	* NEWS, modules/mod_log.c,
23879	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#3383 -
23880	ExtendedLog variables for protocol and version not handled properly.
23881
238822010-01-29  castaglia <castaglia>
23883
23884	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a function for getting
23885	the version of the current proftpd (using `proftpd -V').
23886
238872010-01-26  castaglia <castaglia>
23888
23889	* src/support.c: Add a counter for signal blocking/unblocking, to
23890	handle nested calls.  Also added trace logging for signal
23891	blocking/unblocking.
23892
238932010-01-26  castaglia <castaglia>
23894
23895	* src/timers.c: Use proper pluralization in the timer trace
23896	messages.
23897
238982010-01-26  castaglia <castaglia>
23899
23900	* contrib/mod_sql.c: Remove a lot of code duplication in mod_sql's
23901	handling of SQLLog directives by refactoring all of that code into a
23902	single new process_sqllog() function.
23903
239042010-01-26  castaglia <castaglia>
23905
23906	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add unit test
23907	for a "SQLLog EXIT" configuration.
23908
239092010-01-23  castaglia <castaglia>
23910
23911	* configure: Update configure.
23912
239132010-01-23  castaglia <castaglia>
23914
23915	* configure.in, src/main.c: Define a PR_DEVEL_PROFILE macro if the
23916	--enable-devel=profile configure option is used.  This macro is
23917	needed to tell proftpd whether it should use _exit(2) or exit(2)
23918	when exiting a session process.  The gmon.out profile data file is
23919	only written when exit(2) is used; proftpd by default wants to use
23920	_exit(2).
23921
239222010-01-23  castaglia <castaglia>
23923
23924	* contrib/mod_wrap2/mod_wrap2.c: Make sure that mod_wrap2 honors
23925	suffix patterns, as per hosts_access(5), in the table entries as
23926	well.
23927
239282010-01-23  castaglia <castaglia>
23929
23930	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Adding more
23931	regression tests for mod_wrap2/mod_wrap2_file.
23932
239332010-01-23  castaglia <castaglia>
23934
23935	* contrib/mod_wrap2/mod_wrap2.c: Fix bug where mod_wrap2 would
23936	attempt to resolve a table entry like "127.0." as a DNS name.
23937	According to the hosts_access(5) man page, an entry which ends in a
23938	'.' should be treated as an IP address prefix, and matched as such.
23939
239402010-01-23  castaglia <castaglia>
23941
23942	* src/netaddr.c: When resolving names to addresses via
23943	getaddrinfo(3), give getaddrinfo() the hint that we're only
23944	interested in TCP, not UDP.
23945
239462010-01-22  castaglia <castaglia>
23947
23948	* src/netaddr.c: Make sure that the errno value is preserved in
23949	failure cases in pr_netaddr_get_addr().
23950
239512010-01-21  castaglia <castaglia>
23952
23953	* doc/howto/Upgrade.html: Update the Upgrade howto to use -d10
23954	rather than -d9; more information is better when testing a version
23955	for upgrading.
23956
239572010-01-20  castaglia <castaglia>
23958
23959	* contrib/mod_ban.c: Removed some unnecessary logging.
23960
239612010-01-19  castaglia <castaglia>
23962
23963	* NEWS, contrib/mod_wrap2/mod_wrap2.c,
23964	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3377 -
23965	mod_wrap2 attempts to resolve 'ALL' keyword as an IP address.
23966
239672010-01-19  castaglia <castaglia>
23968
23969	* NEWS, contrib/mod_tls.c: Bug#3375 - Minor SIGHUP-based memory leak
23970	in mod_tls.
23971
239722010-01-19  castaglia <castaglia>
23973
23974	* doc/contrib/mod_sftp_sql.html: The mod_sftp_sql module should now
23975	be much easier to use; getting your SSH keys into the SQL tables no
23976	longer requires the Perl script for extracting just the base64 key
23977	data (although the module still supports that, too).
23978
239792010-01-19  castaglia <castaglia>
23980
23981	* NEWS, contrib/mod_sftp_sql.c,
23982	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm: Bug#3376 - Handle
23983	the full RFC4716 formatted keys in SQL values.
23984
239852010-01-19  castaglia <castaglia>
23986
23987	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp_sql.pm,
23988	tests/t/modules/mod_sftp_sql.t, tests/tests.pl: Add unit tests for
23989	mod_sftp_sql.
23990
239912010-01-17  castaglia <castaglia>
23992
23993	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Fix the
23994	mod_wrap2_sql unit tests so that the SQLNamedQuery directives are
23995	resolved as expected.  Also increase the default TimeoutIdle, to
23996	handle running the testsuite on a machine which may take a little
23997	longer to resolve DNS names.
23998
239992010-01-17  castaglia <castaglia>
24000
24001	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
24002	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Adding unit
24003	tests for the mod_wrap2 modules which show that both the file- and
24004	sql-based modules can handle multiple rows, each with multiple
24005	entries, and with entries that are separated by commas, commas and
24006	whitespace, or just whitespace.
24007
240082010-01-15  castaglia <castaglia>
24009
24010	* contrib/mod_radius.c: Update the copyright dates in mod_radius.c,
24011	since the code has changed.
24012
240132010-01-15  castaglia <castaglia>
24014
24015	* NEWS, contrib/mod_radius.c: Bug#3372 - ProFTPD crashes when
24016	retrying a failed login with mod_radius being used.
24017
240182010-01-11  castaglia <castaglia>
24019
24020	* doc/contrib/mod_sftp_sql.html: Use HTML entity encoding for angle
24021	brackets; more browsers like this.
24022
240232010-01-11  castaglia <castaglia>
24024
24025	* src/scoreboard.c: Minor optimization to the fix for Bug#3370: when
24026	scrubbing the ScoreboardFile, call getpgrp() to get the current
24027	process group only once, rather than potentially once per entry.
24028	The current process group does not change during the lifetime of the
24029	scrub.
24030
240312010-01-10  castaglia <castaglia>
24032
24033	* src/scoreboard.c: Whitespace/coding style change, no functional
24034	change.  Update the copyright date.
24035
240362010-01-10  castaglia <castaglia>
24037
24038	* src/scoreboard.c: Use a variable name of 'curr_pgrp', as it is
24039	more accurate; we are checking that the process group of the
24040	scoreboard entry matches our own process group, not the process
24041	group of the daemon.  While these should all be the same process
24042	group, the value returned by getpgrp(2) is not the parent process
24043	group, but the current process group.  All part of Bug#3370.
24044
240452010-01-10  castaglia <castaglia>
24046
24047	* configure: Updated configure.
24048
240492010-01-10  castaglia <castaglia>
24050
24051	* NEWS, config.h.in, configure.in, contrib/mod_ban.c,
24052	contrib/mod_ctrls_admin.c, include/scoreboard.h, src/scoreboard.c:
24053	Bug#3370 - Lack of PID protection in ScoreboardFile.
24054
240552010-01-08  castaglia <castaglia>
24056
24057	* contrib/mod_ban.c: Changed my mind; having the SID reported in the
24058	BanLog isn't helpful without knowing which SID maps to which vhost
24059	-- and that's more information than can easily fit in a small BanLog
24060	log message.
24061
240622010-01-08  castaglia <castaglia>
24063
24064	* modules/mod_delay.c: Fix a small bug in mod_delay where the
24065	POST_CMD_ERR handler for the PASS command was closing the
24066	DelayTable.  This meant that any future USER/PASS commands sent by
24067	the client (say, if the password was entered wrong) would not be
24068	tracked in the DelayTable.  The same handler is used for both the
24069	POST_CMD and POST_CMD_ERR phases of the PASS command; the handler
24070	simply needed to close the DelayTable only for the POST_CMD phase.
24071
240722010-01-08  castaglia <castaglia>
24073
24074	* contrib/mod_ban.c: Report the server ID for a ban entry in the
24075	BanLog; it helps differentiate what would otherwise look like
24076	duplicates.
24077
240782010-01-07  castaglia <castaglia>
24079
24080	* contrib/mod_tls.c: When reading in key files, make sure that the
24081	fd used is not one of the big three (stdin, stdout, stderr).  Under
24082	some conditions, the fopen(3) call that was used would return an fd
24083	of 2, which would then be overwritten by the fd games played by
24084	set_prompt_fds().  OpenSSL, though, used the FILE * returned by
24085	fopen(), which still had the old fd -- and the loading of the key
24086	would fail "mysteriously", giving an error like "unable to read
24087	passphrase: (unknown)".
24088
240892010-01-07  castaglia <castaglia>
24090
24091	* src/dirtree.c: Fix a rather subtle and nasty bug in proftpd's
24092	config directive lookup code.  The short version of the bug is that
24093	find_config() could possibly return the wrong config_rec.  The cause
24094	is related to Bug#2535, and the assigning and lookup of the config
24095	IDs.  When looking up an ID, the string used was not dup'd from the
24096	input, which means that the lookup key could change unexpectedly.  The rest of this change simply alters the coding style to make
24097	future debugging in that section of code easier.
24098
240992010-01-06  castaglia <castaglia>
24100
24101	* doc/contrib/mod_ctrls_admin.html: Add example of using new
24102	'ftpdctl restart count' functionality.
24103
241042010-01-06  castaglia <castaglia>
24105
24106	* contrib/mod_ctrls_admin.c: Use 'ftpdctl restart count' now to ask
24107	the server, via ftpdctl, how many times it has been restarted (via
24108	SIGHUP) since the server was started.
24109
241102010-01-06  castaglia <castaglia>
24111
24112	* contrib/mod_sql.c: Clean up the coding style around handling
24113	SQLLog and SQLShowInfo directives; hopefully no functional changes.
24114	Also explicitly initialized some pointers which are used for pointer
24115	arithmetic, just to be safe.
24116
241172010-01-06  castaglia <castaglia>
24118
24119	* doc/contrib/mod_sftp.html: Add SFTP FAQ about <Limit SITE_CHMOD>
24120	and SFTP uploads.
24121
241222010-01-05  castaglia <castaglia>
24123
24124	* NEWS, modules/mod_auth.c,
24125	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm: Bug#3362 -
24126	Regression in handling of MaxLoginAttempts in 1.3.3rc1.
24127
241282010-01-04  castaglia <castaglia>
24129
24130	* contrib/mod_wrap2/mod_wrap2.c: Fix broken checks added yesterday.
24131	Also quell compiler warnings about unreachable code.
24132
241332010-01-04  castaglia <castaglia>
24134
24135	* doc/howto/Authentication.html: Updated Authentication howto,
24136	removing mention of deprecated AuthPAMAuthoritative directive and
24137	updating URLs to point to the www.proftpd.org docs.
24138
241392010-01-03  castaglia <castaglia>
24140
24141	* contrib/mod_wrap2/mod_wrap2.c: Cleanup of some of the coding style
24142	in mod_wrap2 to be more legible.
24143
241442010-01-03  castaglia <castaglia>
24145
24146	* contrib/mod_wrap2_file.c,
24147	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm: Fix bug in
24148	mod_wrap2_file where the module was not correctly parsing the
24149	"options" portion of a table.  This was leading to allowing of
24150	connections which should have been denied.
24151
241522009-12-28  castaglia <castaglia>
24153
24154	* doc/contrib/mod_tls.html: Add cert chain caveat that using the
24155	NoCertRequest means that mod_tls won't bother to use the cert chain
24156	file.
24157
241582009-12-28  castaglia <castaglia>
24159
24160	* doc/howto/TLS.html: Fix typos.
24161
241622009-12-23  castaglia <castaglia>
24163
24164	* doc/contrib/mod_wrap.html: The libnsl library isn't needed for
24165	mod_wrap on Mac OSX, either.
24166
241672009-12-20  castaglia <castaglia>
24168
24169	* src/fsio.c: Rather than testing for CYGWIN to use the O_BINARY
24170	flag, just test for the O_BINARY flag directly.
24171
241722009-12-18  castaglia <castaglia>
24173
24174	* contrib/mod_tls_shmcache.c: Fix compiler warning.  Rename the 'core.exit' event listener to be more accurate (it's a
24175	shutdown listener in some cases, not a session-exit listener).
24176
241772009-12-18  castaglia <castaglia>
24178
24179	* NEWS, contrib/mod_tls_shmcache.c: Bug#3359 - mod_tls_shmcache
24180	segfaults during syntax check.
24181
241822009-12-15  castaglia <castaglia>
24183
24184	* Makefile.in, NEWS: Bug#3356 - Build timestamp using date(1) can
24185	fail depending on environment.
24186
241872009-12-15  castaglia <castaglia>
24188
24189	* NEWS, contrib/mod_sftp/fxp.c: Bug#3357 - mod_sftp fails to compile
24190	on AIX.
24191
241922009-12-15  castaglia <castaglia>
24193
24194	* NEWS, contrib/mod_tls.c: Bug#3358 - mod_tls doesn't compile with
24195	pre-0.9.7 openssl.
24196
241972009-12-15  castaglia <castaglia>
24198
24199	* modules/mod_xfer.c: Typo.
24200
242012009-12-15  castaglia <castaglia>
24202
24203	* contrib/mod_shaper.c,
24204	tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm: Fix a problem in
24205	mod_shaper, noted in this forums post:   http://forums.proftpd.org/smf/index.php/topic,1628.0.html where the queue used by mod_shaper could become "clogged", full of
24206	old stale messages.  The fix, as noted as well, is to clear the
24207	queue of any messages for the destination process before sending a
24208	new message to that process.  Added a regression test to reproduce the behavior; it required a
24209	manual change to the mod_shaper code in order to fill up the queue
24210	in the time of the test.  Good enough for now.
24211
242122009-12-15  castaglia <castaglia>
24213
24214	* contrib/mod_shaper.c: Fix compiler warnings about unreachable
24215	code, and rename an event listener to be more appropriately named.
24216
242172009-12-14  castaglia <castaglia>
24218
24219	* doc/contrib/mod_wrap.html: Adding more examples of paranoid
24220	libwrap log messages.
24221
242222009-12-14  castaglia <castaglia>
24223
24224	* doc/howto/TLS.html: Another SSL/TLS FAQ.
24225
242262009-12-14  castaglia <castaglia>
24227
24228	* contrib/mod_tls.c: Log a warning if mod_tls has been configured
24229	with no server certs (via TLSRSACertificateFile,
24230	TLSDSACertificateFile, or TLSPKCS12File) for a given session.
24231	Without a server cert, mod_tls cannot support SSL/TLS sessions.
24232
242332009-12-14  castaglia <castaglia>
24234
24235	* contrib/mod_tls.c: Clear up compiler warnings about unreachable
24236	code in mod_tls.  No functional change.
24237
242382009-12-14  castaglia <castaglia>
24239
24240	* doc/howto/Stopping.html: Fixing up the Stopping howto, and adding
24241	an example Mac OSX launchd plist config.
24242
242432009-12-13  castaglia <castaglia>
24244
24245	* utils/ftptop.c: Quell compiler warnings about unreachable code.
24246
242472009-12-12  castaglia <castaglia>
24248
24249	* contrib/mod_sftp/auth.c,
24250	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Subtle tweaks to
24251	mod_sftp's handling and enforcement of the MaxLoginAttempts
24252	directive; it should now work more as users would expect.  Added a unit test to catch regressions on this, as well as a unit
24253	test showing the mod_sftp's handling of MaxLoginAttempts, in
24254	combination with a mod_ban rule for MaxLoginAttempts, works
24255	properly.
24256
242572009-12-11  castaglia <castaglia>
24258
24259	* src/table.c: Clean up some "code will never be executed" warnings.
24260
242612009-12-11  castaglia <castaglia>
24262
24263	* NEWS, contrib/mod_ban.c,
24264	tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Bug#3355 - mod_ban
24265	should support BanEngine in <VirtualHost> config sections.
24266
242672009-12-11  castaglia <castaglia>
24268
24269	* doc/howto/Versioning.html, doc/howto/index.html: Finally got
24270	around to writing up the version naming conventions that are
24271	currently used for ProFTPD releases.
24272
242732009-12-11  castaglia <castaglia>
24274
24275	* contrib/mod_tls.c: Be a little more verbose in the error messages
24276	logged for SSL_accept() failures.
24277
242782009-12-11  castaglia <castaglia>
24279
24280	* doc/modules/mod_lang.html: Typo.
24281
242822009-12-10  castaglia <castaglia>
24283
24284	* include/version.h: Update the CVS version.
24285
242862009-12-10  castaglia <castaglia>
24287
24288	* doc/contrib/mod_sql.html: Typo.
24289
242902009-12-10  castaglia <castaglia>
24291
24292	* ChangeLog: Update the ChangeLog.
24293
242942009-12-10  castaglia <castaglia>
24295
24296	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
24297	to release 1.3.3rc3 today.
24298
242992009-12-10  castaglia <castaglia>
24300
24301	* NEWS, contrib/mod_sftp/auth.c,
24302	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3352 - mod_sftp
24303	does not reject/close connections that have been rejected by
24304	mod_wrap.
24305
243062009-12-10  castaglia <castaglia>
24307
24308	* contrib/mod_wrap.c: Specify the module version data in the module
24309	structure for mod_wrap.
24310
243112009-12-10  castaglia <castaglia>
24312
24313	* NEWS, modules/mod_auth.c: Bug#3351 - Nonchrooted logins on HPUX do
24314	not get proper UID/GID.
24315
243162009-12-10  castaglia <castaglia>
24317
24318	* NEWS, modules/mod_auth_file.c, tests/t/config/authgroupfile.t,
24319	tests/t/lib/ProFTPD/Tests/Config/AuthGroupFile.pm, tests/tests.pl:
24320	Bug#3347 - mod_auth_file handles 'getgroups' request incorrectly.
24321
243222009-12-10  castaglia <castaglia>
24323
24324	* src/support.c: Updated fix for Bug#3350.
24325
243262009-12-10  castaglia <castaglia>
24327
24328	* NEWS, src/support.c: Bug#3350 - Segfault caused by scrubbing
24329	zero-length portion of memory.
24330
243312009-12-09  castaglia <castaglia>
24332
24333	* src/expr.c: Fix the logic for iterating over the session.groups
24334	list, and handling NULL names, in the pr_expr_eval_group_or()
24335	function as well.
24336
243372009-12-09  castaglia <castaglia>
24338
24339	* src/expr.c, tests/api/expr.c: Fix segfault uncovered by Michael,
24340	where the pr_expr_eval_group_and() function would not handling NULL
24341	names in the session.groups list.  This also makes the code which
24342	iterates over the session.groups list look much saner.
24343
243442009-12-09  castaglia <castaglia>
24345
24346	* NEWS, contrib/mod_tls.c: Bug#3349 - SSL_SESSION_cmp not available
24347	in OpenSSL 1.0.0 betas.
24348
243492009-12-09  castaglia <castaglia>
24350
24351	* contrib/mod_tls.c: Found another place where we want to do the "is
24352	this a renegotiation" check only for control connections, not for
24353	data connections.  Also quell a compiler warning using a typecast; OpenSSL-1.0.0-betaN
24354	uses more const'd types than previously.
24355
243562009-12-09  castaglia <castaglia>
24357
24358	* contrib/mod_tls.c: Make sure that mod_tls can be compiled using
24359	OpenSSL-1.0.0-betaN; the UNSAFE_LEGACY_RENEGOTIATONS flag was
24360	changed after OpenSSL-0.9.8l.
24361
243622009-12-09  castaglia <castaglia>
24363
24364	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test using
24365	a combined mod_sftp+mod_wrap2 configuration, for use in preventing
24366	regressions in the interactions between these modules.
24367
243682009-12-08  castaglia <castaglia>
24369
24370	* doc/contrib/mod_ban.html: Add a FAQ about creating whitelists for
24371	mod_ban.
24372
243732009-12-07  castaglia <castaglia>
24374
24375	* modules/mod_xfer.c: Additional change necessary for fixing
24376	Bug#3345.  Use of trace logging (or not) affects the errno value,
24377	and we need to make sure that the original errno value is preserved.
24378
243792009-12-07  castaglia <castaglia>
24380
24381	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
24382	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
24383	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
24384	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
24385	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
24386	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
24387	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
24388	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
24389	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
24390	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
24391	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
24392	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
24393	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
24394	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm,
24395	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
24396	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm,
24397	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
24398	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
24399	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
24400	tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
24401	tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
24402	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm: Updating more
24403	testsuite tests to use the consistent `tests.log' log file.
24404
244052009-12-07  castaglia <castaglia>
24406
24407	* tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm,
24408	tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm,
24409	tests/t/lib/ProFTPD/Tests/Config/MaxInstances.pm,
24410	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
24411	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
24412	tests/t/lib/ProFTPD/Tests/Config/Order.pm,
24413	tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
24414	tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
24415	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
24416	tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
24417	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
24418	tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm,
24419	tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm,
24420	tests/t/lib/ProFTPD/Tests/Signals/ABRT.pm,
24421	tests/t/lib/ProFTPD/Tests/Signals/HUP.pm,
24422	tests/t/lib/ProFTPD/Tests/Signals/SEGV.pm,
24423	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Updating more of the
24424	testsuite tests to use `tests.log' as their output logging file, for
24425	consistency.
24426
244272009-12-07  castaglia <castaglia>
24428
24429	* RELEASE_NOTES: Work on preparing the release notes for 1.3.3rc3.
24430
244312009-12-07  castaglia <castaglia>
24432
24433	* contrib/dist/rpm/proftpd.spec: Correct the %description sections
24434	in proftpd.spec.
24435
244362009-12-06  castaglia <castaglia>
24437
24438	* src/auth.c: When resolving '~' paths, the lookup is done via
24439	getpwnam(), not by using getpwuid().  Thus there is little gain (and
24440	there is a cost in terms of performance, since getpwuid() is used
24441	when listing directories) in calling pr_auth_get_home() from
24442	pr_auth_getpwuid().
24443
244442009-12-06  castaglia <castaglia>
24445
24446	* NEWS, modules/mod_auth.c, src/auth.c,
24447	tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm: Bug#3348 -
24448	Rewriting of home directories via RewriteHome does not work for
24449	chrooted sessions.
24450
244512009-12-05  castaglia <castaglia>
24452
24453	* doc/contrib/mod_sql_passwd.html: Updated the mod_sql_passwd doc to
24454	mention support of SHA256 and SHA512 passwords.
24455
244562009-12-05  castaglia <castaglia>
24457
24458	* NEWS, RELEASE_NOTES, contrib/mod_sql_passwd.c,
24459	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Bug#3344 -
24460	Support SHA256, SHA512 passwords in databases.
24461
244622009-12-03  castaglia <castaglia>
24463
24464	* utils/scoreboard.c: Fix an "unreachable code" compiler warning,
24465	and clean up the code stylistically.
24466
244672009-12-03  castaglia <castaglia>
24468
24469	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit tests
24470	showing that even when using SSL/TLS, resuming downloads of >2GB/4GB
24471	files via REST works properly.
24472
244732009-12-03  castaglia <castaglia>
24474
24475	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Add a test for
24476	resuming downloads of >4GB files as well.
24477
244782009-12-03  castaglia <castaglia>
24479
24480	* tests/t/lib/ProFTPD/Tests/Commands/REST.pm: Add unit test for
24481	FileZilla's REST behavior over 2GB.  Modify all tests to output to the 'tests.log' file.
24482
244832009-12-02  castaglia <castaglia>
24484
24485	* modules/mod_xfer.c: Typos.
24486
244872009-12-02  castaglia <castaglia>
24488
24489	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Fix broken
24490	mod_ban+mod_ifsession test.
24491
244922009-12-02  castaglia <castaglia>
24493
24494	* src/display.c: The displaying of multiline Display files was
24495	leaving off the last line in the file; now fixed.
24496
244972009-12-02  castaglia <castaglia>
24498
24499	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Fix the DELE unit
24500	tests to handle different strerror(3) strings.
24501
245022009-12-01  castaglia <castaglia>
24503
24504	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Fix broken RMD test.
24505	Rename the output log file to the 'tests.log' that is being used
24506	elsewhere in the testsuite.
24507
245082009-12-01  castaglia <castaglia>
24509
24510	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
24511	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
24512	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Make the
24513	TestSuite::FTP client default to using passive data transfers, not
24514	active data transfers.  Fix up some warnings in the testsuite.
24515
245162009-11-30  castaglia <castaglia>
24517
24518	* contrib/mod_sftp/channel.c, doc/contrib/mod_sftp.html: Handle
24519	multiple SFTPAcceptEnv directives if configured.  Add docs for the SFTPAcceptEnv directive.
24520
245212009-11-26  castaglia <castaglia>
24522
24523	* contrib/mod_sftp/fxp.c: Include EINVAL in the list of errno values
24524	we expect to see from PRE_CMD handlers.
24525
245262009-11-26  castaglia <castaglia>
24527
24528	* modules/mod_xfer.c: Make sure that the PRE_CMD handlers for RETR,
24529	APPE, and STOR set appropriate errno values.  Remove some code that would never be executed.
24530
245312009-11-26  castaglia <castaglia>
24532
24533	* NEWS, contrib/mod_sftp/fxp.c,
24534	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3345 - mod_sftp
24535	returns EACCES rather than ENOENT for an OPEN request for a
24536	nonexistent file.
24537
245382009-11-24  castaglia <castaglia>
24539
24540	* contrib/mod_sftp/channel.c, contrib/mod_sftp/mod_sftp.c,
24541	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added SFTPAcceptEnv
24542	directive, for configuring which environment variables can be set by
24543	the client.
24544
245452009-11-23  castaglia <castaglia>
24546
24547	* src/dirtree.c: Added note for myself for the future, about why
24548	<Directory> patterns aren't matching as I had assumed they would.
24549
245502009-11-22  castaglia <castaglia>
24551
24552	* contrib/mod_sftp/compress.c: Rejigger the zlib inflate() code so
24553	that it doesn't use a switch statement inside of a while loop; the
24554	'break' statement is used in both, and it can be confusing from
24555	which block you are trying to escape.  This also fixes a warning about unreachable code, and adds a
24556	preemptive guard against trying to call memcpy(2) with a zero
24557	length.
24558
245592009-11-22  castaglia <castaglia>
24560
24561	* contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c,
24562	contrib/mod_sftp/packet.c: Close the SFTPLog descriptor at session
24563	exit.  Initialize some buffers (keeps Valgrind from whining about
24564	them).
24565
245662009-11-22  castaglia <castaglia>
24567
24568	* modules/mod_auth.c: Close the scoreboard descriptor at session
24569	exit.
24570
245712009-11-22  castaglia <castaglia>
24572
24573	* contrib/mod_sftp/kex.c: Forgot the return statement.
24574
245752009-11-22  castaglia <castaglia>
24576
24577	* contrib/mod_sftp/kex.c, contrib/mod_sftp/kex.h,
24578	contrib/mod_sftp/mod_sftp.c: Fix another file descriptor leak in
24579	mod_sftp: the SFTPDHParamsFile is opened for the session (and has to
24580	remain open for the duration of the session, in order to be
24581	available for rekeying), but is not closed.  Now it is closed at
24582	session exit.
24583
245842009-11-22  castaglia <castaglia>
24585
24586	* modules/mod_delay.c: While running mod_sftp through Valgrind, I
24587	found that mod_delay leaks an fd: it never closes the fd to the
24588	DelayTable, even after the table has been unloaded from memory.  Fix
24589	this.
24590
245912009-11-21  castaglia <castaglia>
24592
24593	* contrib/mod_tls.c, tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
24594	Fix up some issues found in mod_tls when running its test cases.  First, as per Bug#3325, make the TLSRequired/AllowPerUser check a
24595	little smarter, so that the published AllowPerUser example in the
24596	TLS howto works properly, but the check still retains its validity.  When checking for client-initiated renegotiations, make sure we
24597	don't punish the client for *new* sessions for *data* connections.  Make sure that "TLSRequired auth" is enforced properly if the client
24598	is NOT using SSL/TLS.  Include MLSD in the list of commands which can trigger data
24599	transfers, and thus fall under the "TLSRequired data" checks.
24600
246012009-11-20  jwm <jwm>
24602
24603	* contrib/mod_ldap.c: release 2.8.21, with backports from bzr trunk: CHANGES: * Implement an internal failover mechanism instead of relying on the
24604	  LDAP SDK's built-in failover (if any). Fixes failover regression
24605	  introduced in v2.8.19 when ldap_initialize() was first used.  * Multiple LDAP URL arguments may now be passed to LDAPServer:   LDAPServer ldap://127.0.0.1/??sub ldap://172.16.0.1/??sub * When setting whether to dereference LDAP aliases after connecting
24606	  to the LDAP server, treat failure as a hard failure and refuse to
24607	  continue with that LDAP server. Previously, failure when specifying
24608	  whether to dereference aliases would be logged but the connection to
24609	  that server would continue.  bzr r71:   - only log that we've successfully unbound if we've successfully
24610	  unbound - pr_ldap_connect() should always unbind on failure   - treat dereference option set failure in pr_ldap_connect() as a   - connection     failure; don't warn and keep plowing on bzr r77, r78:   Bug 3301 -  LDAP server failover does not work when
24611	  ldap_initialize() is available   fix LDAP server failover by implementing our own failover
24612	  mechanism instead of relying on the LDAP SDK's.    ldap server failover (space-separated list of hostnames in the
24613	  argument to LDAPServer) has been broken since 2.8.19 when
24614	  ldap_init() was replaced with ldap_initialize(), if available. as of
24615	  that commit, a LDAP URL is constructed if simple hostname(s) are
24616	passed to LDAPServer, so:     'LDAPServer "127.0.0.1 172.16.0.5"   was passed to ldap_initailize() as:     ldap://127.0.0.1 172.16.0.5/   Unfortunately, ldap_url_parse() treats this as a valid URL, but   ldap_intiailize() will not fail over to subsequent LDAP servers   should the first be unreachable.    ldap_initialize() *will* take a whitespace-separated list of LDAP
24617	  URLs and will fail over successfully, just not when
24618	  whitespace-separated hostname are passed to a *single* url (even if
24619	  the whitespace in the hostname portion of the URL is urlencoded as
24620	%20).    forget all of this SDK-based failover and implement our own
24621	  failover support, since afaict Sun's ancient LDAP SDK doesn't
24622	  implement failover and it's nice to be able to control it ourselves.    for that matter, we *need* to control it ourselves since we need
24623	  to use the search scope indicated by the URL at hand. chances are,
24624	  the search scope will be the same for all URLs passed to LDAPServer,
24625	  but to be completely correct, we should use the scope corresponding
24626	  to the current URL and ldap_initialize() provides no way to tell
24627	  what URL it wound up connecting to.
24628
246292009-11-20  castaglia <castaglia>
24630
24631	* modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/LIST.pm:
24632	Revisit the fix put in place for Bug#2367.  First, add the test case
24633	to the LIST testsuite, for regressions.  Then look at a different
24634	fix, a simpler one: remove the GLOB_PERIOD flag from the flags used
24635	when globbing.  This causes the test case to pass.  This is done in order to make possible another case: list a
24636	directory whose name legitimately contains a glob character ('[' in
24637	the case of one of the users in the online forums).  The previous
24638	fix for Bug#2367 prevented the proper listing of such a directory.
24639	The newer, simpler fix handles this legitimate directory name
24640	properly, while still preserving behavior which matches that of the
24641	shell.
24642
246432009-11-20  castaglia <castaglia>
24644
24645	* modules/mod_ls.c: Fix up some of the code style in mod_ls.  Add handling of signals in the while() loops which iterate over
24646	globbed paths.  Removed the '{' character from the glob character checks; it is not
24647	a glob(3) character.
24648
246492009-11-19  castaglia <castaglia>
24650
24651	* doc/contrib/mod_sftp.html: Try to make the requirement of using
24652	ssh-keygen to convert public keys to RFC4716 format clearer.
24653
246542009-11-19  castaglia <castaglia>
24655
24656	* NEWS, src/bindings.c: Bug#3306 - ECONNREFUSED while handling
24657	SIGHUP.
24658
246592009-11-19  castaglia <castaglia>
24660
24661	* lib/libltdl/.cvsignore: More auto-generated files to ignore.
24662
246632009-11-19  castaglia <castaglia>
24664
24665	* configure: Updated configure.
24666
246672009-11-19  castaglia <castaglia>
24668
24669	* configure.in: Handle empty CONFIG_SHELL values.
24670
246712009-11-19  castaglia <castaglia>
24672
24673	* configure: Updated configure.
24674
246752009-11-19  castaglia <castaglia>
24676
24677	* configure.in: Although it looks like LTDL_INIT(convenience) and
24678	LTDL_CONVENIENCE are the same, they are not.  So we need to use
24679	both.
24680
246812009-11-19  castaglia <castaglia>
24682
24683	* Makefile.in: Comment out the target that might cause the machine
24684	to re-run autoconf.
24685
246862009-11-19  castaglia <castaglia>
24687
24688	* configure: Updated configure.
24689
246902009-11-19  castaglia <castaglia>
24691
24692	* configure.in: More libtool-2.2.4 tweaking fun.
24693
246942009-11-19  castaglia <castaglia>
24695
24696	* configure: Updated configure.
24697
246982009-11-19  castaglia <castaglia>
24699
24700	* lib/libltdl/m4/ltdl.m4: In order to avoid the very, very annoying
24701	error of:   configure: error: conditional "INSTALL_LTDL" was never defined.    Usually this means that the macro was only invoked conditionally.  I am manually removing the whole m4 support of _LT_ENABLE_INSTALL in
24702	the bundled libltdl.  ProFTPD is never going to make/provide an
24703	installable libltdl library.
24704
247052009-11-18  castaglia <castaglia>
24706
24707	* configure: Updated configure.
24708
247092009-11-18  castaglia <castaglia>
24710
24711	* Make.rules.in, configure.in: More libtool-2.2.4 tweaks, with help
24712	from Bob Friesenhahn.
24713
247142009-11-18  castaglia <castaglia>
24715
24716	* aclocal.m4: Re-create our aclocal.m4 using the aclocal tool.
24717
247182009-11-18  castaglia <castaglia>
24719
24720	* configure: Updated configure.
24721
247222009-11-18  castaglia <castaglia>
24723
24724	* configure.in, modules/Makefile.in: Export the LTDLINCL variable
24725	from the configure script, so that we are no longer hardcoding the
24726	path to the directory containing the ltdl.h header.
24727
247282009-11-18  castaglia <castaglia>
24729
24730	* Makefile.in, configure.in: More wrestling with libtool-2.2.4.  I
24731	am *really* not liking this 2.2.x release series.
24732
247332009-11-18  castaglia <castaglia>
24734
24735	* contrib/mod_sftp/fxp.c: Quelling compiler warnings.
24736
247372009-11-18  castaglia <castaglia>
24738
24739	* NEWS, modules/mod_core.c: Bug#3342 - FEAT response contains LF
24740	without preceding CR.
24741
247422009-11-18  castaglia <castaglia>
24743
24744	* tests/t/config/limit/rmd.t,
24745	tests/t/lib/ProFTPD/Tests/Config/Limit/RMD.pm, tests/tests.pl: Add
24746	regression test demonstrating how to make an undeletable directory
24747	using the <Limit> + Filter approach.
24748
247492009-11-18  castaglia <castaglia>
24750
24751	* doc/contrib/mod_sftp.html: Update mod_sftp doc so that it's
24752	hopefully less confusing.
24753
247542009-11-17  castaglia <castaglia>
24755
24756	* NEWS, contrib/mod_wrap2/mod_wrap2.c,
24757	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3341 -
24758	mod_wrap2 segfaults when a valid user retries the USER command.
24759
247602009-11-17  castaglia <castaglia>
24761
24762	* NEWS: Bug#3331 - Update bundled libtool to 2.2.4.
24763
247642009-11-17  castaglia <castaglia>
24765
24766	* configure: Updated configure.
24767
247682009-11-17  castaglia <castaglia>
24769
24770	* Makefile.in, configure.in, modules/Makefile.in: More tweaks to the
24771	build files to make sure that mod_dso builds properly with the new
24772	version of libltdl/libtool.
24773
247742009-11-17  castaglia <castaglia>
24775
24776	* lib/libltdl/.cvsignore: One more libtool file to ignore.
24777
247782009-11-17  castaglia <castaglia>
24779
24780	* lib/libltdl/.cvsignore: More files to ignore with this new version
24781	of libtool.
24782
247832009-11-17  castaglia <castaglia>
24784
24785	* lib/libltdl/ltdl.c: Backport the patch for the bugs found in
24786	libtool-2.2.6 to this 2.2.4 version.
24787
247882009-11-17  castaglia <castaglia>
24789
24790	* lib/libltdl/Makefile.in, lib/libltdl/argz.c: Bug#3331 - Update
24791	bundled libtool to 2.2.4.
24792
247932009-11-17  castaglia <castaglia>
24794
24795	* configure: Updated configure.
24796
247972009-11-17  castaglia <castaglia>
24798
24799	* aclocal.m4, configure.in, lib/libltdl/Makefile.am,
24800	lib/libltdl/Makefile.in, lib/libltdl/README,
24801	lib/libltdl/aclocal.m4, lib/libltdl/argz_.h,
24802	lib/libltdl/config-h.in, lib/libltdl/config/compile,
24803	lib/libltdl/config/config.guess, lib/libltdl/config/config.sub,
24804	lib/libltdl/config/depcomp, lib/libltdl/config/install-sh,
24805	lib/libltdl/config/ltmain.sh, lib/libltdl/config/missing,
24806	lib/libltdl/configure, lib/libltdl/configure.ac,
24807	lib/libltdl/libltdl/lt__alloc.h, lib/libltdl/libltdl/lt__dirent.h,
24808	lib/libltdl/libltdl/lt__glibc.h, lib/libltdl/libltdl/lt__private.h,
24809	lib/libltdl/libltdl/lt__strl.h, lib/libltdl/libltdl/lt_dlloader.h,
24810	lib/libltdl/libltdl/lt_error.h, lib/libltdl/libltdl/lt_system.h,
24811	lib/libltdl/libltdl/slist.h, lib/libltdl/loaders/dld_link.c,
24812	lib/libltdl/loaders/dlopen.c, lib/libltdl/loaders/dyld.c,
24813	lib/libltdl/loaders/load_add_on.c,
24814	lib/libltdl/loaders/loadlibrary.c, lib/libltdl/loaders/preopen.c,
24815	lib/libltdl/loaders/shl_load.c, lib/libltdl/lt__alloc.c,
24816	lib/libltdl/lt__dirent.c, lib/libltdl/lt__strl.c,
24817	lib/libltdl/lt_dlloader.c, lib/libltdl/lt_error.c,
24818	lib/libltdl/ltdl.c, lib/libltdl/ltdl.h, lib/libltdl/m4/argz.m4,
24819	lib/libltdl/m4/libtool.m4, lib/libltdl/m4/ltdl.m4,
24820	lib/libltdl/m4/ltoptions.m4, lib/libltdl/m4/ltsugar.m4,
24821	lib/libltdl/m4/ltversion.m4, lib/libltdl/m4/lt~obsolete.m4,
24822	lib/libltdl/slist.c, ltmain.sh, modules/mod_dso.c: Bug#3331 - Update
24823	bundled libtool to 2.2.4.
24824
248252009-11-17  castaglia <castaglia>
24826
24827	* config.guess, config.sub: Updating the config.guess and config.sub
24828	helper scripts.
24829
248302009-11-17  castaglia <castaglia>
24831
24832	* install-sh: Updated the install-sh script.
24833
248342009-11-17  castaglia <castaglia>
24835
24836	* doc/howto/Timestamps.html: Mention MFMT in the Timestamps howto.
24837
248382009-11-17  castaglia <castaglia>
24839
24840	* doc/contrib/mod_sftp.html: Add the SFTP Extensions Draft to the
24841	list.
24842
248432009-11-16  castaglia <castaglia>
24844
24845	* contrib/mod_sftp/channel.c: Locking down more environment
24846	variables from SSH2 client tweaking.
24847
248482009-11-16  castaglia <castaglia>
24849
24850	* contrib/mod_sftp/channel.c: Add more barred environment variables
24851	to the list.
24852
248532009-11-16  castaglia <castaglia>
24854
24855	* contrib/mod_sftp/channel.c: Don't allow SSH2 clients to change the
24856	TZ environment variable, either.
24857
248582009-11-16  castaglia <castaglia>
24859
24860	* contrib/mod_sftp/channel.c: Add a few more environment variables
24861	that SSH2 clients are barred from sending/overriding in their
24862	session.
24863
248642009-11-16  castaglia <castaglia>
24865
24866	* contrib/mod_sftp/fxp.c: Adding some notes for my future self.
24867
248682009-11-16  castaglia <castaglia>
24869
24870	* contrib/mod_sftp/fxp.c: Make sure to advertise that the client can
24871	use the 'vendor-id' extension in the supported2 extension to the
24872	VERSION response.
24873
248742009-11-16  castaglia <castaglia>
24875
24876	* src/dirtree.c: Simpler fix for Bug#3337.
24877
248782009-11-15  castaglia <castaglia>
24879
24880	* contrib/mod_sftp/fxp.c: If the client sends the 'check-file'
24881	extension, do not disconnect the session if the requested checksum
24882	algorithm is not supported; simply send the failure STATUS message
24883	back.
24884
248852009-11-15  castaglia <castaglia>
24886
24887	* contrib/mod_sftp/scp.c: Include the sticky bit when
24888	sending/receiving files/directories.
24889
248902009-11-15  castaglia <castaglia>
24891
24892	* NEWS, src/dirtree.c,
24893	tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Bug#3337 -
24894	<Directory> sections with a trailing directory name of one character
24895	have <Limit> problems.  This is a regression caused by Bug#3146.
24896
248972009-11-14  castaglia <castaglia>
24898
24899	* contrib/mod_sftp/fxp.c: Check for READ/WRITE <Limit> sections
24900	pertaining to files being read/written for the 'check-file' and
24901	'copy-file' SFTP extensions.
24902
249032009-11-14  castaglia <castaglia>
24904
24905	* contrib/mod_sftp/fxp.c: Slightly nicer way of dealing with using
24906	O_NONBLOCK for open(3) when handling OPEN requests.  This way, we
24907	don't have to clear the O_NONBLOCK flag later.
24908
249092009-11-14  castaglia <castaglia>
24910
24911	* configure: Updated configure script.
24912
249132009-11-14  castaglia <castaglia>
24914
24915	* configure.in: Add use of the -Wunreachable-code compiler flag,
24916	where supported, when --enable-devel is used.  Make the use of the AC_DEFINE macro more consistent by providing the
24917	optional message in more places.
24918
249192009-11-14  castaglia <castaglia>
24920
24921	* m4/proftpd.m4: Try to make the use of the AC_DEFINE macro more
24922	consistent with other occurrences by supplying a message.
24923
249242009-11-14  castaglia <castaglia>
24925
24926	* contrib/mod_sftp/fxp.c: Fix regression where SFTP downloads were
24927	not being logged via TransferLog; caused by the addition of the
24928	O_NONBLOCK to the fh_flags per Bug#3314.  Reported by Bernd
24929	Lommerzheim.
24930
249312009-11-14  castaglia <castaglia>
24932
24933	* modules/mod_core.c: Add trace logging of the pr_netacl_t objects
24934	created via other config directives.
24935
249362009-11-14  castaglia <castaglia>
24937
24938	* m4/proftpd.m4: Separate out the proftpd-specific autoconf macros
24939	from aclocal.m4 into this file.  Makes it easier to recreate a new
24940	aclocal.m4 file, containing macros from many different sources.
24941
249422009-11-13  castaglia <castaglia>
24943
24944	* doc/contrib/mod_sql.html: Fix typo in mod_sql docs.  Add description of the interaction between the
24945	useNormalizedGroupSchema SQLOption and custom SQLGroupInfo queries.
24946
249472009-11-13  castaglia <castaglia>
24948
24949	* contrib/mod_sql_mysql.c: Typo.
24950
249512009-11-13  castaglia <castaglia>
24952
24953	* NEWS, contrib/mod_sql_mysql.c: Bug#3333 - mod_sql_mysql should
24954	support calling stored procedures better.
24955
249562009-11-13  castaglia <castaglia>
24957
24958	* NEWS, contrib/mod_wrap.c,
24959	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm: Bug#3332 - Segfault
24960	in mod_wrap when TCPAccessFiles do not exist and client sends USER
24961	for account which does not exist.
24962
249632009-11-13  castaglia <castaglia>
24964
24965	* contrib/mod_sftp/fxp.c: Use defined constants rather than "magic"
24966	numbers.  Log any client-sent vendor information in the SFTPLog,
24967	rather than the TraceLog.
24968
249692009-11-13  castaglia <castaglia>
24970
24971	* contrib/mod_sftp/fxp.c: Make sure that we only send defined flag
24972	values in the statvfs@openssh.com extension response.
24973
249742009-11-13  castaglia <castaglia>
24975
24976	* NEWS, RELEASE_NOTES, contrib/mod_sftp/fxp.c,
24977	contrib/mod_sftp/fxp.h, contrib/mod_sftp/mod_sftp.c,
24978	doc/contrib/mod_sftp.html: Bug#3329 - Support the "vendor-id" SFTP
24979	extension.
24980
249812009-11-12  castaglia <castaglia>
24982
24983	* doc/contrib/mod_ban.html: Adding a mod_ban FAQ, cleaning up a
24984	minor nit.
24985
249862009-11-11  castaglia <castaglia>
24987
24988	* doc/contrib/mod_sql.html: Make a note in the description of the
24989	Crypt SQLAuthType that crypt(3) only uses the first 8 characters of
24990	a password; this can have some surprising (depressing?) consequences
24991	for the unwary.
24992
249932009-11-10  castaglia <castaglia>
24994
24995	* tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm: Add more
24996	tests for the fix for Bug#3077.
24997
249982009-11-10  castaglia <castaglia>
24999
25000	* NEWS, modules/mod_core.c: Bug#3307 - Transparently handle the
25001	X-variant commands when checking <Limit> permissions.  The fix for
25002	this issue has been reimplemented to be more transparent; some
25003	existing configurations were broken by the previous implementation.
25004
250052009-11-10  castaglia <castaglia>
25006
25007	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: For
25008	completeness, add a mod_quotatab unit test for RETR and the
25009	files_out limit.
25010
250112009-11-10  castaglia <castaglia>
25012
25013	* contrib/mod_site_misc.c,
25014	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Make sure that
25015	SITE SYMLINK fails if the source path does not exist on the
25016	filesystem.  I thought that the symlink(2) system call would handle
25017	this for us, but apparently not (at least it doesn't on Mac OSX
25018	10.4, and thus potentially other platforms).
25019
250202009-11-10  castaglia <castaglia>
25021
25022	* contrib/mod_quotatab.c: Add comment for my future self about why
25023	the have_quota_update flag is cleared before writing to the tally
25024	table, instead of after.
25025
250262009-11-10  castaglia <castaglia>
25027
25028	* NEWS, contrib/mod_quotatab.c: Bug#3328 - Failed database
25029	transaction can cause mod_quotatab to loop endlessly.
25030
250312009-11-10  castaglia <castaglia>
25032
25033	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add
25034	mod_quotatab test for RETR byte limits.
25035
250362009-11-09  castaglia <castaglia>
25037
25038	* src/main.c: Make sure that the LC_NUMERIC locale category is
25039	always "C", regardless of what's in the environment when proftpd
25040	starts.
25041
250422009-11-09  castaglia <castaglia>
25043
25044	* contrib/mod_sftp/fxp.c: Fix some compiler warnings about
25045	signedness mismatches, and avoid an explicit cast, by redefining the
25046	buffer to use char, not unsigned char.
25047
250482009-11-09  castaglia <castaglia>
25049
25050	* contrib/mod_quotatab.c: Before a copy, apply any
25051	QuotaExcludeFilter to the source path; the destination may not
25052	exist.  After a copy, apply any QuotaExcludeFilter to the
25053	destination path.  It's a little odd, but I think it makes sense
25054	this way.
25055
250562009-11-09  castaglia <castaglia>
25057
25058	* contrib/mod_quotatab.c, contrib/mod_sftp/fxp.c: Give mod_quotatab
25059	the ability to track (and enforce) quota changes due to the copying
25060	of files now possible via mod_sftp's copy-file SFTP extension.  For
25061	testing this, I had to use a SITE COPY implementation.
25062
250632009-11-09  castaglia <castaglia>
25064
25065	* contrib/mod_site_misc.c,
25066	tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Advertise the
25067	supported SITE commands provided by mod_site_misc in the FEAT
25068	response.
25069
250702009-11-09  castaglia <castaglia>
25071
25072	* contrib/mod_quotatab.c: In the pre-APPE handler, make sure to
25073	exclude files which match any configured QuotaExcludeFilter before
25074	checking the quota limits/tallies; if a file is excluded by the
25075	filter, it shouldn't run afoul of those limits/tallies.
25076
250772009-11-09  castaglia <castaglia>
25078
25079	* contrib/mod_quotatab.c: Add checking of the path against a
25080	QuotaExcludeFilter in a few more places.  Add the setting of
25081	HAVE_WRITE_UPDATE in the pre-APPE handler, just as is done in the
25082	pre-STOR handler.
25083
250842009-11-09  castaglia <castaglia>
25085
25086	* contrib/mod_tls.c: Remove the daemon-exit listener for the
25087	'core.exit' event in the session process; when the session process
25088	exits, it shouldn't send a 'core.exit' event to the daemon-exit
25089	listener.
25090
250912009-11-09  castaglia <castaglia>
25092
25093	* RELEASE_NOTES, doc/contrib/mod_sftp.html: Mention the new SFTP
25094	extensions, and the SFTPExtensions directive, in the release notes.  Update the mod_sftp doc to cover the SFTPExtensions directive.
25095
250962009-11-09  castaglia <castaglia>
25097
25098	* modules/mod_core.c: Fix minor issue where DELE on a symlink would
25099	cause the wrong size to be logged (the size of the target file, not
25100	the symlink, would be logged).
25101
251022009-11-09  castaglia <castaglia>
25103
25104	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Add unit test for
25105	DELEs on symlinks.
25106
251072009-11-08  castaglia <castaglia>
25108
25109	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
25110	contrib/mod_sftp/mod_sftp.c: With the addition of various SFTP
25111	extensions to mod_sftp, it's a good idea to have a mechanism for
25112	disabling support for individual extensions as desired.  This will
25113	also come in handy later, for extensions which might be useful, but
25114	which need to be selectively enabled.  Thus this patch introduces a new SFTPExtensions directive.
25115
251162009-11-08  castaglia <castaglia>
25117
25118	* doc/contrib/mod_sftp.html: Update the list of SFTP extensions
25119	supported by mod_sftp.
25120
251212009-11-08  castaglia <castaglia>
25122
25123	* NEWS, contrib/mod_sftp/fxp.c: Bug#3320 - Support the "copy-file"
25124	SFTP extension.
25125
251262009-11-08  castaglia <castaglia>
25127
25128	* contrib/mod_sftp/fxp.c: Use a better errno value (EACCES) and
25129	remove redundant logging when Path{Allow,Deny}Filter settings apply
25130	to paths sent by the SFTP client.
25131
251322009-11-08  castaglia <castaglia>
25133
25134	* src/fsio.c: Fix some issues found in pr_fs_copy_file():   - return an error if closing the destination file returned an
25135	  error - use nonblocking opens, in case the source/destination paths are
25136	FIFOs Also some stylistic changes.
25137
251382009-11-08  castaglia <castaglia>
25139
25140	* NEWS, contrib/mod_sftp/fxp.c: Bug#3321 - Support the
25141	"check-file-name" and "check-file-handle" SFTP extensions.
25142
251432009-11-08  castaglia <castaglia>
25144
25145	* contrib/mod_sftp/configure: Updated mod_sftp's configure script.
25146
251472009-11-08  castaglia <castaglia>
25148
25149	* contrib/mod_sftp/configure.in, contrib/mod_sftp/mod_sftp.h.in: Add
25150	checks for support for SHA256 and SHA512 in OpenSSL to mod_sftp's
25151	configure script.
25152
251532009-11-07  castaglia <castaglia>
25154
25155	* contrib/mod_sftp/fxp.c: Skip adding version 1 to the 'versions'
25156	list; it's not allowed by Section 4.6 of the SFTP Draft.
25157
251582009-11-07  castaglia <castaglia>
25159
25160	* contrib/mod_sftp/fxp.c: Minor refinement to the version-select
25161	SFTP extension implementation.
25162
251632009-11-07  castaglia <castaglia>
25164
25165	* NEWS, contrib/mod_sftp/fxp.c: Bug#3322 - Support the
25166	"version-select" SFTP extension.
25167
251682009-11-07  castaglia <castaglia>
25169
25170	* NEWS, contrib/mod_tls_shmcache.c: Bug#3326 - Shared memory segment
25171	used for session cache should be protected via mlock(2).
25172
251732009-11-07  castaglia <castaglia>
25174
25175	* NEWS, contrib/mod_tls_shmcache.c: Bug#3327 - Clear external SSL
25176	session caches on server restart/shutdown.
25177
251782009-11-07  castaglia <castaglia>
25179
25180	* contrib/mod_sftp/fxp.c: Ignore any size attribute that the SFTP
25181	client may send in an OPEN request; attempting to honor the
25182	suggested size by truncating the file during the OPEN can cause
25183	problems.  Size attributes sent in SETSTAT/FSETSTAT requests are
25184	still honored.
25185
251862009-11-07  castaglia <castaglia>
25187
25188	* RELEASE_NOTES: Typo.
25189
251902009-11-07  castaglia <castaglia>
25191
25192	* doc/contrib/mod_tls.html: Mention that server-initiated SSL
25193	session renegotiations are still honored when possible.
25194
251952009-11-07  castaglia <castaglia>
25196
25197	* configure: Updated configure for Bug#3311.  Also added automatic
25198	detection of build requests for mod_sql_passwd, so that the
25199	USE_OPENSSL flag can be automatically set when that module is
25200	requested, just as is done for mod_tls and mod_sftp.
25201
252022009-11-07  castaglia <castaglia>
25203
25204	* NEWS, configure.in: Bug#3311 - configure script should
25205	automatically detect when -ldl is needed by OpenSSL.
25206
252072009-11-07  castaglia <castaglia>
25208
25209	* contrib/mod_tls.c: Add the changes from Bug#3324 to deal with
25210	server-initiated session renegotiations when using OpenSSL 0.9.8l or
25211	later.
25212
252132009-11-07  castaglia <castaglia>
25214
25215	* contrib/mod_tls.c: Handle signals in the diagnostic callback.
25216
252172009-11-07  castaglia <castaglia>
25218
25219	* contrib/mod_tls.c: More work towards Bug#3324 - allow
25220	server-initiated session renegotiations whilst rejecting
25221	client-initiated session renegotiations.
25222
252232009-11-07  castaglia <castaglia>
25224
25225	* doc/contrib/mod_tls.html: Document the new
25226	AllowClientRenegotiations TLSOption.
25227
252282009-11-07  castaglia <castaglia>
25229
25230	* RELEASE_NOTES: Update the release notes.
25231
252322009-11-07  castaglia <castaglia>
25233
25234	* NEWS, contrib/mod_tls.c: Bug#3324 - Vulnerability in SSL/TLS
25235	protocol during renegotiation (CVE-2009-3555).
25236
252372009-11-07  castaglia <castaglia>
25238
25239	* doc/howto/TLS.html: Add a TLS FAQ, inspired by Bug#3247 (and its
25240	ensuing duplicates).
25241
252422009-11-06  castaglia <castaglia>
25243
25244	* contrib/mod_tls.c, doc/howto/TLS.html: Remove the "TLSRenegotiate
25245	off" synonym; I had simply confused myself with the bad example
25246	config I'd written in the TLS howto (now fixed as well).
25247
252482009-11-06  castaglia <castaglia>
25249
25250	* contrib/mod_tls.c: Allow "TLSRenegotiate off" as a synonym for
25251	"TLSRenegotiate none".
25252
252532009-11-06  castaglia <castaglia>
25254
25255	* contrib/mod_tls.c: Include in the end-of-session
25256	EnableDiags-enabled stats the number of times a session was removed
25257	from the cache because the cache size was exceeded.
25258
252592009-11-06  castaglia <castaglia>
25260
25261	* contrib/mod_tls.c: Ignore EAGAIN errors when the EnableDiags
25262	TLSOption is used; they just clutter up the TLSLog.
25263
252642009-11-06  castaglia <castaglia>
25265
25266	* contrib/mod_tls.c: Remove spurious ""SSL_shutdown error:
25267	ZERO_RETURN" logging; it is not actually an error to encounter an
25268	SSL_ERROR_ZERO_RETURN value when shutting down the SSL/TLS session.
25269
252702009-11-06  castaglia <castaglia>
25271
25272	* contrib/mod_sftp/fxp.c: Add empty stubs of functions which will
25273	add the "standard" SFTP extensions to mod_sftp's VERSION response to
25274	SFTP clients.
25275
252762009-11-06  castaglia <castaglia>
25277
25278	* contrib/mod_tls.c: Minor reordering of the logged SSL/TLS
25279	end-of-connection stats; this way the cache-related stats appear
25280	together.
25281
252822009-11-05  castaglia <castaglia>
25283
25284	* modules/mod_ls.c: Make sure that we can handle symlinks whose
25285	target paths are long (e.g.  longer than 1K).
25286
252872009-11-05  castaglia <castaglia>
25288
25289	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/keys.c,
25290	contrib/mod_sftp/scp.c, contrib/mod_sql_passwd.c, include/fsio.h,
25291	modules/mod_auth.c, modules/mod_log.c, src/fsio.c, src/log.c,
25292	src/xferlog.c: Switch to using nonblocking open(2) calls in many
25293	places, especially when handling log files.  This is to deal with
25294	the case where the log files configured are actually FIFOs; if the
25295	other end of the FIFO is not running, then a blocking open(2) would
25296	block indefinitely.  For example, configuring a FIFO for
25297	TransferLog, and not having the FIFO reader running, would hang the
25298	client session.  Now by using nonblocking open(2), we can detect
25299	such cases and handle them.  The opened fds are returned to blocking
25300	mode, assuming a successful open.
25301
253022009-11-05  castaglia <castaglia>
25303
25304	* contrib/mod_sftp/auth.h, contrib/mod_sftp/keystore.c,
25305	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp_pam.c: Clean up a
25306	few warts and warnings.
25307
253082009-11-05  castaglia <castaglia>
25309
25310	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adding unit test for
25311	LIST output of a symlink when ShowSymlinks is enabled.
25312
253132009-11-05  castaglia <castaglia>
25314
25315	* modules/mod_core.c, src/class.c, src/netacl.c: Add more trace
25316	logging about how <Class> rules are parsed and compared.  Fix some
25317	rule parsing cases which were not being handled properly.
25318
253192009-11-05  castaglia <castaglia>
25320
25321	* tests/t/config/classes.t,
25322	tests/t/lib/ProFTPD/Tests/Config/Classes.pm, tests/tests.pl: Adding
25323	unit tests for various <Class> configurations and rules.
25324
253252009-11-04  castaglia <castaglia>
25326
25327	* tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm: Add regression
25328	test for using UserPassword in an <Anonymous> section to create an
25329	effectively virtual user account.
25330
253312009-11-04  castaglia <castaglia>
25332
25333	* RELEASE_NOTES, doc/modules/mod_cap.html, modules/mod_cap.c:
25334	Support adding the CAP_FOWNER capability.
25335
253362009-11-04  castaglia <castaglia>
25337
25338	* RELEASE_NOTES: Mention support for the OpenSSH extensions in the
25339	release notes.
25340
253412009-11-04  castaglia <castaglia>
25342
25343	* contrib/mod_sftp/fxp.c, doc/contrib/mod_sftp.html: Added support
25344	for the posix-rename@openssh.com OpenSSH SFTP extension.
25345
253462009-11-04  castaglia <castaglia>
25347
25348	* contrib/mod_sftp/fxp.c: When handling RENAME SFTP requests, make
25349	sure to update the scoreboard with the name of "RENAME", not
25350	"REALPATH".  Sheesh.
25351
253522009-11-04  castaglia <castaglia>
25353
25354	* doc/howto/Chroot.html: Add an example of constructing symlinks
25355	using relative paths; these types of symlinks stand a better chance
25356	of working properly within chrooted sessions.
25357
253582009-11-04  castaglia <castaglia>
25359
25360	* NEWS, contrib/mod_wrap.c, include/log.h, src/log.c: Bug#3317 -
25361	mod_wrap/libwrap should honor SyslogFacility setting.
25362
253632009-11-04  castaglia <castaglia>
25364
25365	* doc/contrib/mod_sftp.html: Update the mod_sftp doc to mention that
25366	the most up-to-date version is distributed with the ProFTPD source
25367	code.  Mention the support for OpenSSH's "statvfs@openssh.com" and
25368	"fstatvfs@openssh.com" SFTP extensions.
25369
253702009-11-04  castaglia <castaglia>
25371
25372	* doc/contrib/mod_sftp.html: Document the use of the SSH_CONNECTION
25373	environment variable.
25374
253752009-11-04  castaglia <castaglia>
25376
25377	* contrib/mod_sftp/mod_sftp.c: Set the SSH_CONNECTION environment
25378	variable, using the same format as OpenSSH.
25379
253802009-11-04  castaglia <castaglia>
25381
25382	* contrib/mod_sftp/auth.c: Make sure that callers can't use the new
25383	sftp_auth_send_banner() function to send USERAUTH_BANNER messages to
25384	the client after it has authenticated; this is not allowed by
25385	RFC4252.
25386
253872009-11-04  castaglia <castaglia>
25388
25389	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/auth.h,
25390	contrib/mod_sftp_pam.c: Bug#3316 - Messages from PAM modules are
25391	ignored when authenticating SSH clients via 'keyboard-interactive'.
25392
253932009-11-03  castaglia <castaglia>
25394
25395	* doc/contrib/mod_sftp.html: Mention the %u variable in the
25396	SFTPAuthorizedUserKeys directive description.
25397
253982009-11-03  castaglia <castaglia>
25399
25400	* NEWS, contrib/mod_sftp/keystore.c,
25401	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3315 - Support
25402	the %u variable in SFTPAuthorizedUserKeys paths.
25403
254042009-11-03  castaglia <castaglia>
25405
25406	* configure: Updated configure.
25407
254082009-11-03  castaglia <castaglia>
25409
25410	* configure.in: Add some more gcc warning flags to the list when
25411	--enable-devel is used, specifically -Wformat-security,
25412	-Wstack-protector, and -fstack-protector-all.
25413
254142009-11-03  castaglia <castaglia>
25415
25416	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h: Added support for
25417	the statvfs@openss.com and fstatvfs@openssh.com OpenSSH SFTP
25418	extensions.
25419
254202009-11-03  castaglia <castaglia>
25421
25422	* NEWS: Pedantic correction: lseek(2), not lseek(3).
25423
254242009-11-03  castaglia <castaglia>
25425
25426	* NEWS, contrib/mod_sftp/scp.c, modules/mod_xfer.c: Bug#3314 -
25427	Downloading from FIFOs via SFTP/SCP fails.
25428
254292009-11-03  castaglia <castaglia>
25430
25431	* NEWS, contrib/mod_sftp/fxp.c: Bug#3313 - Uploading via SFTP to
25432	FIFOs fails due to illegal lseek(3), truncate(2) calls.
25433
254342009-11-03  castaglia <castaglia>
25435
25436	* NEWS, contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Bug#3312 -
25437	Uploading via SFTP/SCP to FIFO whose reader is closed causes session
25438	to hang.
25439
254402009-11-03  castaglia <castaglia>
25441
25442	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: On some platforms,
25443	ENXIO has a string representation of "Device not configured".
25444
254452009-11-03  castaglia <castaglia>
25446
25447	* contrib/mod_sftp/packet.c: Adding reminder notes/comments for my
25448	future self.
25449
254502009-11-03  castaglia <castaglia>
25451
25452	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Remove duplicate
25453	unit test entry from the list.
25454
254552009-11-03  castaglia <castaglia>
25456
25457	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
25458	proving that setting a mode which contains S{G,U}ID bits is properly
25459	supported via SFTP.
25460
254612009-11-03  castaglia <castaglia>
25462
25463	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding unit tests
25464	for Bug#3314.  These tests rely on having a FIFO-writing program
25465	open at /tmp/test.fifo, and thus do not run automatically as part of
25466	the testsuite.
25467
254682009-11-03  castaglia <castaglia>
25469
25470	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding unit tests
25471	for Bug#3313.  These particular tests are a little odd in that they
25472	will have to be run manually; they require a FIFO-reading process to
25473	be running at /tmp/test.fifo (and I didn't feel like wrestling with
25474	Perl in order to fork off more processes in these tests).
25475
254762009-11-03  castaglia <castaglia>
25477
25478	* contrib/mod_sftp/fxp.c: Fix a segfault where a reason string was
25479	not being returned for an errno value which we were not
25480	expecting/handling.
25481
254822009-11-03  castaglia <castaglia>
25483
25484	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Adding regression
25485	tests for Bug#3312.  Note that I still need to run these tests on
25486	other platforms (Solaris, FreeBSD, Mac OSX), as I suspect that the
25487	errno value returned from a failed open(2) of a FIFO will vary quite
25488	a bit across the platforms.
25489
254902009-11-03  castaglia <castaglia>
25491
25492	* modules/mod_xfer.c: Allow uploading to /dev/full on Linux; this is
25493	useful for testing how clients handle out-of-disk situations/errors.
25494
254952009-11-03  castaglia <castaglia>
25496
25497	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
25498	uploading to /dev/full (Linux only), to simulate an out-of-disk
25499	situation.  (Turns out that Net::SSH2 does not propagate the
25500	WRITE/CLOSE error to the calling code; I need to file a bug with the
25501	module maintainer about this.)
25502
255032009-11-03  castaglia <castaglia>
25504
25505	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add support for os_* tags
25506	to tests, so that certain tests can be targeted for specific
25507	OS/platforms (as determined by Perl's $^O variable).
25508
255092009-10-30  castaglia <castaglia>
25510
25511	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm: Adding unit tests
25512	for more of mod_wrap's directives.
25513
255142009-10-30  castaglia <castaglia>
25515
25516	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap.pm,
25517	tests/t/modules/mod_wrap.t, tests/tests.pl: Start of unit tests for
25518	the mod_wrap module.
25519
255202009-10-30  castaglia <castaglia>
25521
25522	* locale/fr_FR.po: Bug#3309 - Fix whitespace in MLST response when
25523	using the fr_FR locale.
25524
255252009-10-29  castaglia <castaglia>
25526
25527	* RELEASE_NOTES, locale/Makefile.in, locale/zh_TW.po: Wei-Lun Chao
25528	contributed a Taiwan translation for proftpd.
25529
255302009-10-29  castaglia <castaglia>
25531
25532	* contrib/mod_sftp/cipher.c: Quell compiler warnings about
25533	mismatched data types.
25534
255352009-10-28  castaglia <castaglia>
25536
25537	* src/auth.c: Fixing another part of Bug#3307.
25538
255392009-10-28  castaglia <castaglia>
25540
25541	* tests/t/lib/ProFTPD/Tests/Logins.pm: Adding more regression tests
25542	(and improving existing tests) for Bug#3307.
25543
255442009-10-27  castaglia <castaglia>
25545
25546	* NEWS, src/auth.c, tests/t/lib/ProFTPD/Tests/Logins.pm: Bug#3307 -
25547	All FTP logins treated as anonymous logins.
25548
255492009-10-26  castaglia <castaglia>
25550
25551	* contrib/mod_sql.c, modules/mod_log.c: Increasing the size of a
25552	couple more buffers in order to avoid inadvertently truncating file
25553	names.
25554
255552009-10-26  castaglia <castaglia>
25556
25557	* modules/mod_log.c: Add some additional room for other ExtendedLog
25558	data.
25559
255602009-10-26  castaglia <castaglia>
25561
25562	* modules/mod_log.c, src/log.c, src/main.c: Make the buffers used
25563	for logging and for reading client data depend on
25564	PR_TUNABLE_PATH_MAX, which in turn depends on MAXPATHLEN (if defined
25565	by the OS).  This makes sure that the buffers are at least large
25566	enough to deal with the longest path supported by the OS (e.g. 4K on
25567	a Linux 2.6 kernel).
25568
255692009-10-26  castaglia <castaglia>
25570
25571	* doc/howto/Nonroot.html, doc/howto/index.html: Add the nonroot
25572	howto to the collection.
25573
255742009-10-23  castaglia <castaglia>
25575
25576	* NEWS, lib/pr-syslog.c: Bug#3305 - Emulate Solaris 10 syslog
25577	"header" on Solaris 10 servers.
25578
255792009-10-23  castaglia <castaglia>
25580
25581	* src/main.c: Initialize the xerrno variable, to quell a compiler
25582	warning.
25583
255842009-10-22  castaglia <castaglia>
25585
25586	* src/inet.c: Pedantic comment typo correction.
25587
255882009-10-21  castaglia <castaglia>
25589
25590	* tests/t/config/hidenoaccess.t,
25591	tests/t/lib/ProFTPD/Tests/Config/HideNoAccess.pm, tests/tests.pl:
25592	Add unit test for the HideNoAccess directive.
25593
255942009-10-21  castaglia <castaglia>
25595
25596	* doc/howto/Scoreboard.html: Add scoreboard FAQ about "bad version
25597	(too old)" errors.
25598
255992009-10-21  castaglia <castaglia>
25600
25601	* doc/contrib/mod_sftp.html: Added mod_sftp FAQ about ListOptions.
25602
256032009-10-21  castaglia <castaglia>
25604
25605	* contrib/mod_tls.c: Cleanly shutdown the SSL/TLS session (if there
25606	is one) for TimeoutLogin as well.
25607
256082009-10-21  castaglia <castaglia>
25609
25610	* src/main.c: Stash the errno value if select(), in the main loop,
25611	returns -1; this makes for better errno logging/reporting.  Also
25612	avoid trying to accept(2) a connection if the select() return value
25613	is -1.
25614
256152009-10-21  castaglia <castaglia>
25616
25617	* NEWS, contrib/mod_tls.c: Bug#3303 - FileZilla reports "Server did
25618	not properly shut down TLS connection" after TimeoutIdle triggered..
25619
256202009-10-20  castaglia <castaglia>
25621
25622	* doc/contrib/mod_tls.html: Markup error.
25623
256242009-10-20  castaglia <castaglia>
25625
25626	* include/version.h: Bumped version to what will become 1.3.3rc3.
25627
256282009-10-20  castaglia <castaglia>
25629
25630	* contrib/dist/rpm/proftpd.spec, include/version.h: Getting versions
25631	ready for 1.3.3rc2 release.
25632
256332009-10-20  castaglia <castaglia>
25634
25635	* NEWS: Mention the release date for 1.3.3rc2.
25636
256372009-10-20  castaglia <castaglia>
25638
25639	* RELEASE_NOTES: Typos, corrections.
25640
256412009-10-20  castaglia <castaglia>
25642
25643	* ChangeLog: Updated the ChangeLog.
25644
256452009-10-20  castaglia <castaglia>
25646
25647	* RELEASE_NOTES: Adding more to the release notes, getting them
25648	ready for the release of RC2.
25649
256502009-10-20  castaglia <castaglia>
25651
25652	* contrib/mod_sql_postgres.c: Minor tweaks to the Postgres
25653	NLS/encoding code.
25654
256552009-10-20  castaglia <castaglia>
25656
25657	* RELEASE_NOTES: Point out a potential hazard with the delayed-open
25658	database connection policy and logging-only database configs.
25659
256602009-10-19  castaglia <castaglia>
25661
25662	* contrib/mod_sql_postgres.c: The get_postgres_encoding() function
25663	is specific to mod_sql_postgres; no need to have its symbol be
25664	exported/visible outside of this file.
25665
256662009-10-19  castaglia <castaglia>
25667
25668	* contrib/mod_sql_postgres.c: Quell minor compiler warning about the
25669	get_postgres_encoding() function when --enable-nls is used by
25670	providing a function prototype.
25671
256722009-10-19  castaglia <castaglia>
25673
25674	* doc/howto/NAT.html: Fixed URL to IP Masquerade howto doc.
25675
256762009-10-14  castaglia <castaglia>
25677
25678	* modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm:
25679	Make sure that mod_facts uses 'cdir' or 'pdir' as the type in a MLSD
25680	response, rather than just 'dir', where appropriate.
25681
256822009-10-14  castaglia <castaglia>
25683
25684	* modules/mod_auth_unix.c: Helps if we provide the data type for
25685	variables.
25686
256872009-10-14  castaglia <castaglia>
25688
25689	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Add a test for when a
25690	session is chrooted, and fix the regexes used throughout these
25691	tests.
25692
256932009-10-14  castaglia <castaglia>
25694
25695	* modules/mod_facts.c: Do a little resolution on the given MLSD
25696	path, trying to find a fuller, better path.  (This is particularly
25697	important for mod_vroot to function properly.)
25698
256992009-10-14  castaglia <castaglia>
25700
25701	* tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm: Fixing quietly broken
25702	MLSD unit tests; they were using the wrong regex.
25703
257042009-10-13  castaglia <castaglia>
25705
25706	* modules/mod_core.c, modules/mod_xfer.c: Found a few more cases
25707	where errno could be trampled by pr_trace_msg(), and thus requires
25708	brief caching.
25709
257102009-10-12  jwm <jwm>
25711
25712	* contrib/mod_ldap.c: mod_ldap bzr r70:   2.8.20 release
25713
257142009-10-12  jwm <jwm>
25715
25716	* contrib/mod_ldap.c: mod_ldap bzr r68:   ldap_server and ldap_port should be defined in the !(openldap   LDAP_VENDOR_VERSION >= 192) case mod_ldap bzr r67:   bump version date mod_ldap bzr r66:   fix reversed logic when keeping server/port settings for   non-ldap_initialize() SDKs.  mod_ldap bzr r65:   looks like ldap_{initialize,unbind_ext_s} are openldap-specific.
25717	  spleunk in the openldap cvs repo and only use these functions when
25718	  building against openldap and the vendor version is at least that in
25719	  which each of these functions was introduced.  mod_ldap bzr r64:   id tag doesn't make much sense with bazaar, but we'll keep it
25720	  there for when mod_ldap is committed to proftpd cvs
25721
257222009-10-12  castaglia <castaglia>
25723
25724	* modules/mod_lang.c: When a locale is set, make sure to set it for
25725	the LC_COLLATE, LC_CTYPE, and LC_MONETARY categories as well.
25726
257272009-10-07  castaglia <castaglia>
25728
25729	* NEWS, modules/mod_auth_unix.c: Bug#3300 - Support disabling use of
25730	S_RLOGIN when calling AIX loginrestrictions().
25731
257322009-10-07  castaglia <castaglia>
25733
25734	* doc/contrib/mod_sftp.html: Add a little more description of the
25735	sftpUTF8ProtocolVersion config setting.
25736
257372009-10-06  castaglia <castaglia>
25738
25739	* doc/howto/ServerType.html: Add a FAQ about another cause of
25740	slow/timed out logins.
25741
257422009-10-05  castaglia <castaglia>
25743
25744	* contrib/mod_sql.c: Add more info to the mod_sql logs when handling
25745	(and looking up) named queries.
25746
257472009-10-05  castaglia <castaglia>
25748
25749	* contrib/mod_sql.c: When processing named queries, log the named
25750	query being processed.
25751
257522009-10-05  castaglia <castaglia>
25753
25754	* contrib/mod_rewrite.c, contrib/mod_shaper.c: Quell compiler
25755	warnings.
25756
257572009-10-05  castaglia <castaglia>
25758
25759	* modules/mod_lang.c: Prevent segfault on second SIGHUP because the
25760	lang_aliases table was allocated out of a pool which no longer
25761	exists.  The fix is simple: when the memory pool is cleared, make
25762	sure to reset the lang_aliases pointer as well.
25763
257642009-10-05  castaglia <castaglia>
25765
25766	* modules/mod_core.c: Just to be defensive, make sure that the
25767	EISDIR errno value exists before using it.
25768
257692009-10-05  castaglia <castaglia>
25770
25771	* modules/mod_core.c, tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: If
25772	a client tries to use DELE to remove a directory, return a better
25773	error message than "Opermation not permitted", i.e. use EISDIR.
25774
257752009-10-05  castaglia <castaglia>
25776
25777	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm: Uncomment
25778	line to delete log file.
25779
257802009-10-05  castaglia <castaglia>
25781
25782	* src/main.c: Fix the settings displayed so that we show either
25783	ncurses or ncursesw, but not both (related to Bug#3213).
25784
257852009-10-05  castaglia <castaglia>
25786
25787	* contrib/mod_sql.c,
25788	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: If the %T
25789	variable is used in a SQLLog query, AND the command in question uses
25790	session.xfer.p BUT does not involve a data transfer (e.g. RNFR),
25791	then a bad time value would be used.  Fix this.
25792
257932009-10-05  castaglia <castaglia>
25794
25795	* modules/mod_facts.c: The recent change to using pr_response_add()
25796	for the MLST response lines means that we no longer need to
25797	explicitly add a leading space; that is handled automatically in the
25798	Response API.
25799
258002009-10-04  castaglia <castaglia>
25801
25802	* NEWS, src/scoreboard.c, utils/ftptop.c: Bug#3214 - ftpwho/ftptop
25803	truncate UTF8 strings due to byte, versus character, lengths.
25804
258052009-10-04  castaglia <castaglia>
25806
25807	* configure: Updated configure (for Bug#3213).
25808
258092009-10-04  castaglia <castaglia>
25810
25811	* NEWS, config.h.in, configure.in, src/main.c: Bug#3213 - Use
25812	locale-sensitive libncursesw library for ftptop where available.
25813
258142009-10-04  castaglia <castaglia>
25815
25816	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit test for
25817	the iPAddressRequired TLSOption.
25818
258192009-10-04  castaglia <castaglia>
25820
25821	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test
25822	demonstrating that when an FTPS client offers a cert, and the
25823	StdEnvVars TLSOption is used, the expected TLS_CLIENT_ environment
25824	variables are populated.
25825
258262009-10-04  castaglia <castaglia>
25827
25828	* modules/mod_log.c: When parsing any potential log class names in
25829	an ExtendedLog directive, parse the names at parse time, rather than
25830	at connection time.  This way if there are unknown names configured,
25831	we can flag it as a configuration error, rather than (relatively)
25832	silently logging and ignoring the misconfiguration.
25833
258342009-10-03  castaglia <castaglia>
25835
25836	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test for
25837	the StdEnvVars TLSOption.
25838
258392009-10-03  castaglia <castaglia>
25840
25841	* modules/mod_log.c: Fix a minor bug where mod_log would skip a
25842	character if the LogFormat looked like a variable, but was in fact
25843	not one.  (I tried using "%{env:FOO}" instead of "%{FOO}e", and
25844	noticed that a character was being skipped in the handling of that
25845	"%{env:FOO}".)
25846
258472009-10-03  castaglia <castaglia>
25848
25849	* modules/mod_log.c: Found a potential NULL pointer dereference when
25850	handling the ExtendedLog directive; added some signal handling and
25851	clarified the code while I was there.
25852
258532009-10-03  castaglia <castaglia>
25854
25855	* contrib/mod_sql_passwd.c: Quell compiler warnings, too.
25856
258572009-10-03  castaglia <castaglia>
25858
25859	* contrib/mod_sql_passwd.c: Typo.
25860
258612009-10-02  castaglia <castaglia>
25862
25863	* NEWS, contrib/mod_ban.c, modules/mod_auth.c, src/main.c,
25864	src/scoreboard.c, tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm:
25865	Bug#3281 - TimeoutLogin not handled properly by mod_ban.
25866
258672009-10-02  castaglia <castaglia>
25868
25869	* RELEASE_NOTES, doc/contrib/mod_sql.html: Update docs to reflect
25870	Bug#3290.
25871
258722009-10-02  castaglia <castaglia>
25873
25874	* NEWS, contrib/mod_sql.c, contrib/mod_sql.h,
25875	contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
25876	contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c: Bug#3290 -
25877	Change default mod_sql connection policy to open database connection
25878	on first use.
25879
258802009-10-01  castaglia <castaglia>
25881
25882	* doc/contrib/mod_ban.html: Forgot to mention MaxLoginAttempts as
25883	one of the events handled by BanOnEvent.
25884
258852009-10-01  castaglia <castaglia>
25886
25887	* doc/contrib/mod_quotatab.html: Clarify the string to which a
25888	configured QuotaExcludeFilter is applied.
25889
258902009-10-01  castaglia <castaglia>
25891
25892	* NEWS, contrib/mod_quotatab.c,
25893	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3298 -
25894	QuotaExcludeFilter directive ignored by mod_quotatab.
25895
258962009-10-01  castaglia <castaglia>
25897
25898	* doc/contrib/mod_quotatab.html: Typo.
25899
259002009-10-01  castaglia <castaglia>
25901
25902	* contrib/mod_sql_passwd.c, doc/contrib/mod_sql_passwd.html,
25903	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: While thinking
25904	about the salt last night, I decided that using "prepend" vs
25905	"append" as the config parameter names are a little clearer than
25906	"prefix" vs "suffix".  Time and users will tell how wise/clueless
25907	this was.
25908
259092009-10-01  castaglia <castaglia>
25910
25911	* locale/files.txt: Remove a few duplicates (caused by symlinks and
25912	a working copy) from the list.
25913
259142009-10-01  castaglia <castaglia>
25915
25916	* locale/Makefile.in, locale/files.txt: Updated locale/files.txt.
25917
259182009-10-01  castaglia <castaglia>
25919
25920	* contrib/mod_rewrite.c: Quell compiler warning.
25921
259222009-09-30  castaglia <castaglia>
25923
25924	* doc/contrib/mod_sql_passwd.html: Provide an example config using a
25925	salt file in the Usage section.
25926
259272009-09-30  castaglia <castaglia>
25928
25929	* contrib/mod_sql_passwd.c: Fix bad grammar in a comment.
25930
259312009-09-30  castaglia <castaglia>
25932
25933	* contrib/mod_sql_passwd.c, doc/contrib/mod_sql_passwd.html,
25934	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Make the use of
25935	a salt configurable in terms of whether the salt is used as a prefix
25936	or a suffix of the data to be hashed.
25937
259382009-09-30  castaglia <castaglia>
25939
25940	* doc/contrib/mod_sql_passwd.html: Document the SQLPasswordSaltFile
25941	directive.
25942
259432009-09-30  castaglia <castaglia>
25944
25945	* contrib/mod_sql_passwd.c,
25946	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm: Add a
25947	SQLPasswordSaltFile directive to the new mod_sql_passwd module; it
25948	is used to configure salts for the hashed passwords that
25949	mod_sql_passwd handles.  Doc update coming next.
25950
259512009-09-30  castaglia <castaglia>
25952
25953	* contrib/mod_tls.c: Make sure that mod_tls does not cleanup OpenSSL
25954	if mod_sql_passwd is in use.
25955
259562009-09-29  castaglia <castaglia>
25957
25958	* NEWS, contrib/mod_quotatab.c,
25959	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3296 -
25960	mod_quotatab should reject an upload via APPE if the quota is
25961	already exceeded.
25962
259632009-09-29  castaglia <castaglia>
25964
25965	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Update regression test
25966	function names to match the names listed.
25967
259682009-09-29  castaglia <castaglia>
25969
25970	* NEWS, src/fsio.c: Bug#3297 - Symlinks to directories which end in
25971	trailing slashes may not be handled properly.
25972
259732009-09-29  castaglia <castaglia>
25974
25975	* tests/t/lib/ProFTPD/Tests/Commands/CWD.pm: Regression tests for
25976	Bug#3297.
25977
259782009-09-29  castaglia <castaglia>
25979
25980	* doc/howto/Timestamps.html: Attempt to highlight that unexpected
25981	timestamps in directory listings are affected by the TimesGMT
25982	directive, not by chrooted processes.
25983
259842009-09-28  castaglia <castaglia>
25985
25986	* NEWS, modules/mod_ls.c: Bug#3295 - proftpd segfaults when STAT is
25987	used with ListOptions "-1".
25988
259892009-09-28  castaglia <castaglia>
25990
25991	* tests/t/commands/stat.t,
25992	tests/t/lib/ProFTPD/Tests/Commands/STAT.pm, tests/tests.pl: Adding
25993	unit tests for the STAT command.
25994
259952009-09-28  castaglia <castaglia>
25996
25997	* modules/mod_auth.c: If we have trouble resolving the chroot path,
25998	make sure we log the reason why.
25999
260002009-09-28  castaglia <castaglia>
26001
26002	* contrib/mod_sftp/scp.c: Some SCP clients will quote the paths they
26003	send in their scp command, on the assumption that the handling
26004	server will use a shell for the scp command, and that shell will Do
26005	The Right Thing(tm) with regard to quoting.  This is not the case
26006	for mod_sftp, so we have to try to detect and remove such quotations
26007	ourselves.
26008
260092009-09-28  castaglia <castaglia>
26010
26011	* contrib/mod_sftp/fxp.c: When handling an OPEN SFTP request,
26012	mod_sftp was not getting the "best" path for the requested path.
26013	This meant that mod_sftp was using the relative path provided by the
26014	client as-is -- and the FSIO API assumes that the requested paths
26015	will be absolute paths.  (This change is needed for mod_md5 to work
26016	properly when SFTP is used.)
26017
260182009-09-28  castaglia <castaglia>
26019
26020	* contrib/mod_sftp/crypto.c: Update the 3des-ctr implementation to
26021	use OpenSSL's DES_encrypt3() function, which does the
26022	encrypt-decrypt-encrypt cycle in a single function.
26023
260242009-09-26  castaglia <castaglia>
26025
26026	* contrib/mod_sftp/crypto.c: Make the 3des-ctr cipher work properly
26027	on big-endian machines.  Turns out that OpenSSL's DES_encrypt1()
26028	function (which seems to be the one necessary to use in order to be
26029	interoperable with PuTTy's 3des-ctr cipher implementation) expects
26030	to operate on *little-endian data*.  On a little-endian machine,
26031	this happens automatically.  But on big-endian machines, we need to
26032	swap the bytes of the data -- and the usual ntohl() functions don't
26033	work on big-endian machines (they're no-ops).  So I had to use my
26034	own byte-swapping function, and add a test for the machine
26035	endian-ness.
26036
260372009-09-25  castaglia <castaglia>
26038
26039	* doc/contrib/mod_sftp.html: Mention the 3des-ctr cipher in the
26040	SFTPCiphers doc.
26041
260422009-09-25  castaglia <castaglia>
26043
26044	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/mod_sftp.h.in: Add
26045	support for the 3des-ctr cipher; tested using PuTTy-0.60.
26046
260472009-09-23  castaglia <castaglia>
26048
26049	* tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Add unit test for the
26050	MLST command using an example of Greek letters, from one of the
26051	online forums threads.
26052
260532009-09-23  castaglia <castaglia>
26054
26055	* RELEASE_NOTES: Mention custom HiddenStores prefixes in the release
26056	notes.
26057
260582009-09-23  castaglia <castaglia>
26059
26060	* NEWS, modules/mod_xfer.c,
26061	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Bug#3294 - Support
26062	configurable HiddenStores prefixes.
26063
260642009-09-22  castaglia <castaglia>
26065
26066	* contrib/mod_sftp/crypto.c: Fixed the Blowfish CTR code to handle
26067	endianness issues; now I can use the "blowfish-ctr" cipher using
26068	PuTTy-0.60 on my Intel machine.
26069
260702009-09-21  castaglia <castaglia>
26071
26072	* src/inet.c: Pre-emptively update the code for Mac OSX 10.6
26073	machines.
26074
260752009-09-21  castaglia <castaglia>
26076
26077	* modules/mod_facts.c: Use pr_response_add() instead of
26078	pr_response_send_raw(), and let the Response API handle the
26079	multi-line formatting of the response, rather than having to do it
26080	ourselves in mod_facts.
26081
260822009-09-21  castaglia <castaglia>
26083
26084	* src/main.c: In the `proftpd -V' output, use two different strings
26085	to differentiate between the cases where uname(2) is not available
26086	on the platform, and where uname(2) returns an error for some reason
26087	(e.g. EPERM on virtualized servers).
26088
260892009-09-18  castaglia <castaglia>
26090
26091	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Cut-n-pasto.
26092
260932009-09-17  castaglia <castaglia>
26094
26095	* tests/t/config/limit/anonymous.t,
26096	tests/t/lib/ProFTPD/Tests/Config/Limit/Anonymous.pm, tests/tests.pl:
26097	Add some unit tests for an <Anonymous> configuration using <Limit
26098	WRITE>; a forums post suggested that the limit might not be being
26099	applied as expected.
26100
261012009-09-17  castaglia <castaglia>
26102
26103	* doc/howto/Chroot.html: Add FAQ about using multiple DefaultRoot
26104	directives at the same time.
26105
261062009-09-17  castaglia <castaglia>
26107
26108	* contrib/mod_sftp/crypto.c: Disable the blowfish-ctr cipher for
26109	now.  It appeared to work properly last night on my PPC Mac OSX 10.4
26110	box, but this morning on my Ubuntu 9.04 Intel machine, it doesn't.
26111	I suspect endian-ness issues.
26112
261132009-09-17  castaglia <castaglia>
26114
26115	* contrib/mod_sftp/mod_sftp.h.in: Forgot to include the blowfish
26116	header.
26117
261182009-09-17  castaglia <castaglia>
26119
26120	* doc/contrib/mod_sftp.html: Make sure that blowfish-ctr is listed
26121	in the docs.
26122
261232009-09-17  castaglia <castaglia>
26124
26125	* contrib/mod_sftp/crypto.c: Add support for the blowfish-ctr cipher
26126	from RFC4344.
26127
261282009-09-17  castaglia <castaglia>
26129
26130	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add support for issuing the
26131	HOST command in the testsuite client.
26132
261332009-09-16  castaglia <castaglia>
26134
26135	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/keys.c,
26136	contrib/mod_sftp/mac.c: Clean up some minor compiler warnings.
26137
261382009-09-16  castaglia <castaglia>
26139
26140	* contrib/mod_sftp/cipher.c: Some ciphers do not have IVs (e.g.
26141	RC4); make sure to handle this case properly.  (Without this, I was
26142	seeing strange memory corruption/errors.)
26143
261442009-09-16  castaglia <castaglia>
26145
26146	* NEWS, contrib/mod_sftp/cipher.c, contrib/mod_sftp/crypto.c,
26147	contrib/mod_sftp/crypto.h, contrib/mod_sftp/mod_sftp.c: Bug#3293 -
26148	SFTPCipher arcfour256 does not work properly.
26149
261502009-09-16  castaglia <castaglia>
26151
26152	* src/privs.c: Make the "SETUP PRIVS" log message be at DEBUG9, like
26153	the other debug log messages generated when manipulating privs.
26154
261552009-09-16  castaglia <castaglia>
26156
26157	* NEWS, contrib/mod_sftp/crypto.c: Fix bug in mod_sftp's handling of
26158	AES CTR ciphers when an OpenSSL version between 0.9.7a and 0.9.7d is
26159	used; those versions of OpenSSL had buggy handling of the IV for the
26160	AES CTR (i.e. the IV was not handled in a big-endian fashion).
26161
261622009-09-16  castaglia <castaglia>
26163
26164	* contrib/mod_sftp/crypto.c: Pedantic comment typo correction.
26165
261662009-09-16  castaglia <castaglia>
26167
26168	* configure: Updated configure.
26169
261702009-09-16  castaglia <castaglia>
26171
26172	* Make.rules.in, configure.in, contrib/mod_sftp/Makefile.in: Create
26173	an ADDL_CPPFLAGS variable in Make.rules, specifically so that
26174	contrib modules' Makefiles (for those contrib modules which have
26175	their own Makefile) can use any CPPFLAGS that may have been
26176	specified via environment variable.  Without this new variable, a
26177	contrib module Makefile would end up having duplicated/redundant
26178	CPPFLAGS values, or wouldn't have those CPPFLAGS propagated properly
26179	for the contrib module code.
26180
261812009-09-16  castaglia <castaglia>
26182
26183	* contrib/mod_sftp/cipher.c, contrib/mod_sftp/mac.c: Minor
26184	adjustment to the debug logging of packet dumps, so that they are
26185	easier to pick out of the SFTPLog file.
26186
261872009-09-15  castaglia <castaglia>
26188
26189	* modules/mod_core.c, src/dirtree.c, src/modules.c: Various
26190	stylistic cleanups generated while pursuing strange segfault.
26191
261922009-09-15  castaglia <castaglia>
26193
26194	* src/auth.c: The previous change to populate the pool and tmp_pool
26195	fields for the cmd_rec that's dispatched to Auth callbacks had
26196	subtle and bad side effects.  Instead of using the given pool as
26197	that pool, create a subpool.
26198
261992009-09-15  castaglia <castaglia>
26200
26201	* src/auth.c: Make sure that cmd->pool and cmd->tmp_pool are not
26202	NULL for the cmd_rec that is dispatched for the Auth callbacks.
26203
262042009-09-15  castaglia <castaglia>
26205
26206	* tests/t/commands/host.t,
26207	tests/t/lib/ProFTPD/Tests/Commands/HOST.pm: Start working on unit
26208	tests for the HOST command, as part of Bug#3289.
26209
262102009-09-14  castaglia <castaglia>
26211
26212	* src/session.c: When marking a session as idle, make sure that
26213	session.user is non-NULL; if not, using "(authenticating)".
26214
262152009-09-14  castaglia <castaglia>
26216
26217	* src/dirtree.c, tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm:
26218	Set the errno appropriately for implicit denies.
26219
262202009-09-14  castaglia <castaglia>
26221
26222	* doc/howto/Filters.html: Add example config for using AllowFilter
26223	to only allow specific filename extensions in a directory.
26224
262252009-09-14  castaglia <castaglia>
26226
26227	* tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm: Fix the broken
26228	AllowFilter unit test.  To make this particular config work, the
26229	Order directive is needed.
26230
262312009-09-12  castaglia <castaglia>
26232
26233	* modules/mod_dso.c: Add more trace logging to help debug failed
26234	loading of DSO modules where the module symbol does not match the
26235	expected symbol name.
26236
262372009-09-09  castaglia <castaglia>
26238
26239	* tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm: Add a unit test
26240	for the AllowFilter functionality that is <Limit>-section specific.
26241	This unit test tests the STOR command, and a <Limit> section within
26242	a <Directory> section -- and the test fails.  So I still need to fix
26243	this before releasing 1.3.3rc2.
26244
262452009-09-09  castaglia <castaglia>
26246
26247	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Looks like newer
26248	libssh2 versions have addressed some issues, though not all.
26249
262502009-09-09  castaglia <castaglia>
26251
26252	* doc/contrib/mod_sql_passwd.html: Be sure to list the additional
26253	SQLAuthTypes provided by mod_sql_passwd.
26254
262552009-09-09  castaglia <castaglia>
26256
26257	* RELEASE_NOTES, doc/contrib/mod_sql_passwd.html: Adding
26258	documentation for mod_sql_passwd.
26259
262602009-09-09  castaglia <castaglia>
26261
26262	* doc/contrib/mod_sql.html: Adding the required notice for using
26263	OpenSSL.
26264
262652009-09-09  castaglia <castaglia>
26266
26267	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_passwd.pm,
26268	tests/t/modules/mod_sql_passwd.t, tests/tests.pl: Added unit tests
26269	for the mod_sql_passwd module.
26270
262712009-09-09  castaglia <castaglia>
26272
26273	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, contrib/mod_sql.h,
26274	contrib/mod_sql_passwd.c: Bug#2368 -  Allow contrib modules to
26275	extend mod_sql's SQLAuthTypes.  This also includes a new
26276	mod_sql_passwd contrib module which can handle hex- and
26277	base64-encoded MD5 and SHA1 passwords, without the leading
26278	"{digest}" prefix required by the mod_sql OpenSSL SQLAuthType.
26279
262802009-09-08  castaglia <castaglia>
26281
26282	* contrib/mod_sftp/auth.c: Add trace logging of the list of SSH2
26283	authentication methods that are offered to the client.
26284
262852009-09-08  castaglia <castaglia>
26286
26287	* contrib/mod_sftp_pam.c: Remove the mod_auth_pam module from the
26288	auth-only module list before we add mod_sftp_pam to that list, to
26289	ensure that mod_sftp_pam is the module that is used.
26290
262912009-09-08  castaglia <castaglia>
26292
26293	* modules/mod_auth.c: Clear the auth-only module list after
26294	authentication has succeeded.
26295
262962009-09-08  castaglia <castaglia>
26297
26298	* include/auth.h, src/auth.c: Add functions for removing a module
26299	from the auth-only module list, and for clearing the entire
26300	auth-only module list.
26301
263022009-09-08  castaglia <castaglia>
26303
26304	* src/bindings.c: The fix for Bug#2680 checks for DefaultServer too
26305	early; we want to check for any INADDR_ANY vhosts first, before
26306	resorting to using the DefaultServer (if configured).
26307
263082009-09-08  castaglia <castaglia>
26309
26310	* contrib/mod_sftp/utf8.c: Simply mod_sftp's UTF8 handling code,
26311	bringing it in sync with the recent changes to the core Encode API.
26312	Specifically, do NOT call setlocale(), as it is already done
26313	elsewhere.  Also, use the new pr_encode_get_local_charset() instead
26314	of duplicating code from the Encode API.
26315
263162009-09-08  castaglia <castaglia>
26317
26318	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add unit tests to
26319	ensure than the use of ".UTF-8" aliases work properly for the
26320	LangDefault directive (and thus, by extension, for the LANG
26321	command).
26322
263232009-09-08  castaglia <castaglia>
26324
26325	* modules/mod_lang.c: Skip the "." and ".." directory entries when
26326	scanning the LangPath directory.
26327
263282009-09-07  castaglia <castaglia>
26329
26330	* NEWS: Forgot to update the NEWS file.
26331
263322009-09-07  castaglia <castaglia>
26333
26334	* src/inet.c: Don't re-declare a variable that's already in scope.  Be paranoid, and only avoid ENOPROTOOPT errors if that errno is
26335	actually defined on the system.
26336
263372009-09-07  castaglia <castaglia>
26338
26339	* src/inet.c: Needed to revert the fix for Bug#3237, as it was
26340	causing a regression on FreeBSD.  Instead, I opted to ignore the
26341	ENOPROTOOPT error, which was the original cause of the reporting of
26342	Bug#3237.
26343
263442009-09-07  castaglia <castaglia>
26345
26346	* contrib/mod_quotatab.c: Quell a few compiler printf warnings by
26347	using explicit typecasts.
26348
263492009-09-07  castaglia <castaglia>
26350
26351	* include/encode.h, modules/mod_lang.c, src/encode.c, src/main.c:
26352	Bug#3229 - LangDefault does not accept any setting on FreeBSD.  There were multiple issues involved in this one.  First, mod_lang
26353	needed to handle setlocale(3) where the translated files shipped
26354	with proftpd (which do not have ".UTF-8" in their names) did not
26355	match the languages accepted by setlocale() on the platform (e.g.
26356	where setlocale() expected names which *did* end in ".UTF-8"); this
26357	is handled by populating a table of language aliases.  Second, the initial setlocale(LC_ALL, "") call, to pick up/honor the
26358	various environment variables as one would expect from a Unix
26359	program, was happening in quite a few places in mod_lang.  Not good.
26360	So this was moved into the main() function, as part of the initial
26361	startup.  And yes, it does check that the setlocale() function call
26362	succeeds, and warns about badly configured environment variables if
26363	not.  Last, we had to always set the LANG environment variable, in order
26364	to ensure that gettext used the translated files of the language to
26365	which we had switched.  While the old code would work on Linux (and
26366	on Solaris...I think), it would NOT work on FreeBSD (and possibly
26367	other BSD-related platforms).  It was a long arduous slog to finding
26368	that using LANG was required.  Ugh.
26369
263702009-09-07  castaglia <castaglia>
26371
26372	* contrib/mod_sql_mysql.c: In the midst of investigating/fixing
26373	Bug#3229, I found out why MySQL never seemed to use anything other
26374	than 'latin1' as its character set name.  Mostly it was due to bugs
26375	in the proftpd Encode API, but it was also partly caused by an API
26376	impedance mismatch in mod_sql_mysql.  This change fixes that (and
26377	yes, I've tested it using a UTF-8 language setting, and saw that
26378	MySQL reported using a 'utf8' character set).
26379
263802009-09-05  castaglia <castaglia>
26381
26382	* src/encode.c: Need to set the LC_NUMERIC locale back to "C" after
26383	calling setlocale() using LC_ALL.
26384
263852009-09-05  castaglia <castaglia>
26386
26387	* src/encode.c: Make sure we do an explicit setlocale() call before
26388	calling nl_langinfo().  This needs to happen in the parent/daemon
26389	process (i.e. when encode_init() is first called), since the child
26390	processes will inherit the pointers in memory to the retrieved
26391	nl_langinfo string.
26392
263932009-09-04  castaglia <castaglia>
26394
26395	* doc/howto/ConfigFile.html: Specifically mention that proftpd
26396	switches to the UID/GID of the logged-in user.
26397
263982009-09-04  castaglia <castaglia>
26399
26400	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add unit test
26401	proving that the FEAT output does not include UTF8 if the LangEngine
26402	directive is set to 'off'.
26403
264042009-09-04  castaglia <castaglia>
26405
26406	* src/encode.c: Fix segfault found by the mod_lang unit tests.
26407
264082009-09-04  castaglia <castaglia>
26409
26410	* RELEASE_NOTES: Update release notes with note about scoreboard
26411	format change; need to expand on this at release time, of course.
26412
264132009-09-04  castaglia <castaglia>
26414
26415	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/mod_sftp.c,
26416	contrib/mod_sftp/scp.c, include/scoreboard.h, modules/mod_auth.c,
26417	src/scoreboard.c, src/session.c, utils/ftptop.1.in, utils/ftptop.c,
26418	utils/ftpwho.c, utils/utils.h: Bug#2013 - Track RFC2228 sessions in
26419	scoreboard.  The scoreboard entry format now has a 'protocol' field,
26420	for tracking 'ftp' and 'ftps'.  Bug#3286 - Client command field in scoreboard entry too short for
26421	SSH2/SFTP commands.  These changes are combined in one change, in order to rev the
26422	scoreboard format version only once for these format changes.
26423
264242009-09-02  castaglia <castaglia>
26425
26426	* contrib/mod_sftp/scp.c: When handling SCP uploads/downloads, be
26427	sure to update the scorboard entry appropriately.  Since SCP doesn't
26428	have "commands" or "requests" (unlike FTP and SFTP), the scoreboard
26429	entry is updated with the quasi-commands "SCP_RETR" and "SCP_STOR".
26430
264312009-09-02  castaglia <castaglia>
26432
26433	* contrib/mod_sftp/packet.c: Fix the logic for determining the
26434	random length of data to read, after a packet has been determined to
26435	be malformed.
26436
264372009-09-02  castaglia <castaglia>
26438
26439	* contrib/mod_sftp/auth.c, contrib/mod_sftp/packet.c,
26440	include/proftpd.h, include/session.h, modules/mod_auth.c,
26441	src/data.c, src/main.c, src/session.c: Move the session_set_idle()
26442	into the session.c file, and make it a pr_ function.  This also
26443	updates mod_sftp to automatically mark the session as "idle"
26444	whenever it is waiting to read the next SSH2 message.
26445
264462009-09-01  castaglia <castaglia>
26447
26448	* NEWS, modules/mod_xfer.c: Bug#3287 - MaxTransfersPerHost,
26449	MaxTransfersPerUser directives not supported properly.
26450
264512009-09-01  castaglia <castaglia>
26452
26453	* doc/contrib/mod_sftp.html: Add SFTP FAQ about CBC cipher mode
26454	attacks.
26455
264562009-09-01  castaglia <castaglia>
26457
26458	* contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/packet.c,
26459	contrib/mod_sftp/ssh2.h: Implement the recommended countermeasure
26460	for mitigating the SSH2 plaintext recovery attack against CBC mode
26461	ciphers described in CPNI-957037:   http://www.cpni.gov.uk/Docs/Vulnerability_Advisory_SSH.txt This also fixes a redeclaration of the SFTP_MAX_PACKET_LEN macro (it
26462	was being defined in both mod_sftp.h and ssh2.h).
26463
264642009-08-31  castaglia <castaglia>
26465
26466	* doc/howto/Controls.html: Updating URLs and such in Controls howto.
26467
264682009-08-31  castaglia <castaglia>
26469
26470	* contrib/mod_sftp/packet.c: Handle ESHUTDOWN, and add a comment
26471	about why we disconnect the client for these errors, rather than
26472	sending a DISCONNECT message first.
26473
264742009-08-31  castaglia <castaglia>
26475
26476	* contrib/mod_sftp/packet.c: Handle a few more types of errors that
26477	we might encounter while reading from a socket.
26478
264792009-08-30  castaglia <castaglia>
26480
26481	* src/session.c: Getting ready to support the "publickey" SSH2
26482	subsystem (RFC4819).
26483
264842009-08-28  castaglia <castaglia>
26485
26486	* NEWS, RELEASE_NOTES, src/dirtree.c: Bug#3279 - .ftpaccess
26487	configurations not merged properly with existing configuration.
26488
264892009-08-28  castaglia <castaglia>
26490
26491	* contrib/mod_sftp/mod_sftp.c: Be a little clearer in the
26492	TOO_MANY_CONNECTIONS disconnect message (but do NOT necessarily
26493	specify exactly whether it is too many connections for the user, or
26494	the host...we don't want to leak too much information).
26495
264962009-08-28  castaglia <castaglia>
26497
26498	* contrib/mod_sftp/disconnect.c, contrib/mod_sftp/disconnect.h,
26499	contrib/mod_sftp/mod_sftp.c, modules/mod_auth.c: Make sure that
26500	mod_sftp registers event listeners for the various MaxClients and
26501	MaxConnections directive.  That way, just before mod_auth breaks the
26502	TCP connection, mod_sftp can send an SSH2 message to the client
26503	about the reason for the disconnection.
26504
265052009-08-28  castaglia <castaglia>
26506
26507	* doc/contrib/mod_sftp.html: Typos, updating wording about channel
26508	window sizes (I now know why SSH2 has its own built-in flow control
26509	mechanisms, in addition to TCP's flow control).
26510
265112009-08-27  castaglia <castaglia>
26512
26513	* NEWS, src/inet.c: Bug#3284 - Slower transfers of multiple small
26514	file transfers after upgrade from 1.3.0a to 1.3.2a.
26515
265162009-08-26  castaglia <castaglia>
26517
26518	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h: Make sure
26519	that we do NOT increase the window size above the max possible
26520	window size of 2^32-1 bytes, as per RFC4254 Section 5.2.
26521
265222009-08-26  castaglia <castaglia>
26523
26524	* contrib/mod_sftp/packet.c, contrib/mod_sftp/tap.c,
26525	contrib/mod_sftp/tap.h: Make sure that if a TAP packet is sent, it
26526	appears in the same TCP packet as the following "real" packet when
26527	possible.  I.e. make sure that the data for both the TAP packet and
26528	the real packet appear in the same writev(2) call, rather than
26529	having separate writev(2) calls (which ends up being separate TCP
26530	packets, which negates the whole purpose of trying to mitigate TCP
26531	traffic analysis via TAP packets).
26532
265332009-08-25  castaglia <castaglia>
26534
26535	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Add unit test showing
26536	that using STOR to upload a file whose name contains multiple
26537	consecutive periods does indeed work as expected.  A user in the
26538	online forums is having an issue with this scenario; I suspect it is
26539	due to something in the proftpd.conf.
26540
265412009-08-25  castaglia <castaglia>
26542
26543	* contrib/mod_sftp/kex.c, contrib/mod_sftp/tap.c,
26544	contrib/mod_sftp/tap.h: Rename the 'cbc-mode' TAP policy to
26545	'rogaway', to be more clear (and interesting).
26546
265472009-08-25  castaglia <castaglia>
26548
26549	* contrib/mod_sftp/kex.c, contrib/mod_sftp/mod_sftp.c,
26550	contrib/mod_sftp/tap.c, contrib/mod_sftp/tap.h: Protect against the
26551	Rogaway CBC mode attack (see RFC4251, Section 9.3.1) by sending
26552	IGNORE messages before every outgoing message if a CBC mode cipher
26553	is chosen for server-to-client messages.
26554
265552009-08-25  castaglia <castaglia>
26556
26557	* contrib/mod_sftp/scp.c: Adding comment/note to myself for future
26558	tweaking.
26559
265602009-08-24  castaglia <castaglia>
26561
26562	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
26563	contrib/mod_sftp/scp.c: Fix a rather egregious bug in the SCP
26564	download code.  We were reading the entire file being downloaded
26565	into memory, and sending (or buffering) the data for it BEFORE
26566	returning back to handling any messages which may have been sent by
26567	the client while we were reading.  If the file is larger than the
26568	default/initial window size, then we end up buffering.  We only
26569	drain that buffered data once the file had been read in its
26570	entirety, and we go back and handle any WINDOW_ADJUST messages,
26571	which then open the window again and we can drain our data.  Now imagine if that file is large, say, >4GB.  The client sends its
26572	WINDOW_ADJUST messages, but mod_sftp never gets around to listening
26573	to them for quite a while.  Not good.  The fix, then, is to have the
26574	SCP download code check the window size periodically.  If the window
26575	closes, then handle enough messages from the client until the window
26576	opens again.
26577
265782009-08-23  castaglia <castaglia>
26579
26580	* src/pidfile.c: In the mod_sftp unit test for handling SIGTERM, I
26581	noticed that one of the configured SFTPHostKey files kept
26582	disappearing (as in, being deleted) once the server was shut down.
26583	Another mod_sftp user has reported seeing the same symptoms, only
26584	intermittently.  I was finally able to track down the cause.  Turns that the PidFile handling code was not being very careful
26585	about making sure that the static pidfile_path pointer kept pointing
26586	to the same memory.  The pointer used for looking up the PidFile
26587	directive was the same pointer; and if the lookup failed/changed,
26588	the pointer could change.  And, say, point at some other file.
26589	Then, when the server shut down and deleted its PidFile, well, that
26590	other file might be deleted.  Not desirable behavior.
26591
265922009-08-22  castaglia <castaglia>
26593
26594	* contrib/mod_sftp/channel.c: When mod_sftp is calculating the
26595	amount of data it can send in CHANNEL_DATA messages, it was taking
26596	the 9 bytes of header data (packet type, channel ID, payload len)
26597	into account when it should not.  For very large data transfers, it
26598	means that mod_sftp's idea of the open channel window size could get
26599	out of sync with the client.  And if the client didn't send a
26600	WINDOW_ADJUST message in time, it could lead to deadlock.  Let's
26601	hope this fixes that deadlock situation.
26602
266032009-08-19  castaglia <castaglia>
26604
26605	* contrib/mod_sftp/auth.c: The mod_sftp module was looking up any
26606	DefaultChdir config directive, but was not honoring it properly.
26607
266082009-08-19  castaglia <castaglia>
26609
26610	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
26611	DefaultChdir config in mod_sftp.
26612
266132009-08-19  castaglia <castaglia>
26614
26615	* NEWS, contrib/mod_sql.c,
26616	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3282 - With
26617	"SQLNegativeCache on", mod_sql will look up wrong cached user value
26618	for subsequent USER commands.
26619
266202009-08-15  castaglia <castaglia>
26621
26622	* tests/t/config/ftpaccess/merging.t,
26623	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm,
26624	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Merging.pm,
26625	tests/tests.pl: Adding unit tests derived from investigations into
26626	Bug#3279.
26627
266282009-08-15  castaglia <castaglia>
26629
26630	* src/dirtree.c: Sigh; fix the spacing in these HideFiles log
26631	messages again.
26632
266332009-08-15  castaglia <castaglia>
26634
26635	* modules/mod_ls.c: The tweaks to mod_ls' option parsing code for
26636	Bug#3268 were not quite sufficient; they would cause erroneous
26637	errors (e.g. on PPC machines) in some cases.
26638
266392009-08-14  castaglia <castaglia>
26640
26641	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add another unit
26642	test related to Bug#3276, this one demonstrating that "HideFiles
26643	none" works as expected.
26644
266452009-08-14  castaglia <castaglia>
26646
26647	* src/dirtree.c: Fix the spacing of the log messages about negated
26648	(or not) HideFiles directives.
26649
266502009-08-13  castaglia <castaglia>
26651
26652	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add another unit
26653	test for Bug#3276, this one using DefaultRoot and a LIST command
26654	which doesn't specify the target directory (i.e. list the current
26655	directory).
26656
266572009-08-13  castaglia <castaglia>
26658
26659	* NEWS, contrib/mod_radius.c, modules/mod_xfer.c, src/data.c:
26660	Bug#3278 - Aborted data transfers not reflected in RADIUS
26661	accounting.
26662
266632009-08-13  castaglia <castaglia>
26664
26665	* tests/t/lib/ProFTPD/Tests/Modules/mod_radius.pm,
26666	tests/t/modules/mod_radius.t: Add unit tests for mod_radius.  I
26667	won't add these to the default testsuite (i.e. when mod_radius is
26668	enabled in the built proftpd), since they currently require that
26669	you're running a RADIUS server (e.g. FreeRADIUS).  But these help
26670	for when I need to work on mod_radius.
26671
266722009-08-13  castaglia <castaglia>
26673
26674	* contrib/mod_radius.c: Fix compiler warnings about signedness
26675	mismatches.
26676
266772009-08-12  castaglia <castaglia>
26678
26679	* modules/mod_core.c, src/dirtree.c: Add some additional debug
26680	logging of handling of HideFiles directive, and include the negation
26681	flag in the logging.  (Switched to using 'negated' rather than
26682	'inverted'; the former is more applicable, I think.)
26683
266842009-08-12  castaglia <castaglia>
26685
26686	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add HideFiles test
26687	using negation; used this test when investigating a HideFiles issue
26688	reported on forums.proftpd.org which is quite similar to Bug#3276.
26689
266902009-08-12  castaglia <castaglia>
26691
26692	* doc/contrib/mod_sftp.html: Remove mention of the GB/MB suffixes
26693	for channelPacketSize; this size cannot exceed the protocol maximum
26694	of 35000 bytes.
26695
266962009-08-11  castaglia <castaglia>
26697
26698	* doc/howto/Authentication.html: Orthographic correction.
26699
267002009-08-10  castaglia <castaglia>
26701
26702	* NEWS: Had the bug number wrong; should be Bug#3252, not Bug#3272.
26703
267042009-08-10  castaglia <castaglia>
26705
26706	* NEWS, src/fsio.c: Bug#3272 - %F/%f Display variables can report
26707	wrong size on 64-bit systems.
26708
267092009-08-06  castaglia <castaglia>
26710
26711	* contrib/mod_sftp/rfc4716.c: Quibble, quibble.
26712
267132009-08-06  castaglia <castaglia>
26714
26715	* contrib/mod_sftp/rfc4716.c: Thinko.
26716
267172009-08-06  castaglia <castaglia>
26718
26719	* contrib/mod_tls.c: Add a function to get a printable version of a
26720	suspicious dNSName value; related to Bug#3275.
26721
267222009-08-06  castaglia <castaglia>
26723
26724	* NEWS, contrib/mod_tls.c,
26725	tests/t/etc/modules/mod_tls/ca-nul-subjaltname.pem,
26726	tests/t/etc/modules/mod_tls/cert-nul-subjaltname.pem,
26727	tests/t/etc/modules/mod_tls/key-nul-subjaltname.pem,
26728	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3275 - Improper
26729	SSL/TLS certificate subjectAltName verification.
26730
267312009-08-05  castaglia <castaglia>
26732
26733	* src/encode.c: When comparing the local and remote charsets, in
26734	some cases we don't need to check for null pointers (already checked
26735	earlier in the function in those cases), and in other cases we *do*
26736	need to check for null pointers.
26737
267382009-08-05  castaglia <castaglia>
26739
26740	* src/encode.c: [no log message]
26741
267422009-08-05  castaglia <castaglia>
26743
26744	* modules/mod_lang.c: Try to make for better, more informative error
26745	messages if we fail to set the locale.
26746
267472009-08-05  castaglia <castaglia>
26748
26749	* src/data.c: We handle signals in pr_data_xfer() when writiing; we
26750	should do the same when reading.
26751
267522009-08-05  castaglia <castaglia>
26753
26754	* modules/mod_lang.c: Declaring the curr_locale variable in the
26755	right scope helps to make the code actually compile properly.
26756
267572009-08-05  castaglia <castaglia>
26758
26759	* modules/mod_lang.c: When scanning the LangPath directory, we don't
26760	need to save/restore the current locale on each file found in the
26761	directory.  Just do the save/restore once for the entire scan loop.
26762
267632009-08-04  castaglia <castaglia>
26764
26765	* doc/contrib/mod_sql.html: Document the new "noReconnect" SQLOption
26766	added as part of Bug#3270.
26767
267682009-08-04  castaglia <castaglia>
26769
26770	* NEWS, contrib/mod_sql.c, contrib/mod_sql.h,
26771	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#3270 - Lost
26772	connections to databases not correctly handled.
26773
267742009-08-04  castaglia <castaglia>
26775
26776	* NEWS, contrib/mod_sftp/utf8.c, src/encode.c: Bug#3272 - Avoid
26777	encoding if to/from charsets are the same.
26778
267792009-08-04  castaglia <castaglia>
26780
26781	* NEWS, src/support.c: Bug#3274 - Timestamp formatting in
26782	TransferLog needs padded day-of-month.
26783
267842009-08-02  castaglia <castaglia>
26785
26786	* contrib/mod_sql_postgres.c: Log the Postgres client version to the
26787	SQLLogFile, and log it at the same time as we log the server
26788	version.  This will make finding/reporting these versions easier.
26789
267902009-08-02  castaglia <castaglia>
26791
26792	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Report on the
26793	database client and server versions, when known.
26794
267952009-07-30  castaglia <castaglia>
26796
26797	* contrib/mod_sftp/fxp.c: Fix compilation error on AIX5.
26798
267992009-07-29  castaglia <castaglia>
26800
26801	* NEWS, modules/mod_ls.c, src/fsio.c,
26802	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Bug#3254 - NLST/LIST and
26803	symbolic link problem.
26804
268052009-07-29  castaglia <castaglia>
26806
26807	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Add unit test for LIST
26808	command for Bug#3254.
26809
268102009-07-28  castaglia <castaglia>
26811
26812	* contrib/mod_sftp/fxp.c: Some errno values are defined to be the
26813	same on AIX, which is causing mod_sftp not to compile properly:   http://forums.proftpd.org/smf/index.php/topic,3971.0.html Hopefully this change works around the issue and still preserves the
26814	desired functionality.
26815
268162009-07-27  castaglia <castaglia>
26817
26818	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix unit test which
26819	broke due to changes in mod_sftp's SCP support for the %F variable.
26820	(The test code was broken, not the source code.)
26821
268222009-07-27  castaglia <castaglia>
26823
26824	* contrib/mod_sftp/channel.c: Missed one change from the weekend's
26825	mod_sftp hacking.
26826
268272009-07-27  castaglia <castaglia>
26828
26829	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
26830	contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
26831	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/scp.c,
26832	contrib/mod_sftp/scp.h: Added an API by which a module, outside of
26833	mod_sftp, can register handlers for an 'exec' command.  This allows
26834	other modules to use SSH2 as the transport, and to implement
26835	whatever logic they wish outside of mod_sftp.  (There is an issue of
26836	code load order and link-time symbol resolution; for now, I'm
26837	punting on this issue.)
26838
268392009-07-26  castaglia <castaglia>
26840
26841	* contrib/mod_sftp/channel.c: It's possible for an SSH2 client to
26842	open a channel, and then send an 'exec' request which mod_sftp does
26843	not support.  We send a failure message in such cases, but the
26844	channel remains open.  So if the client ignores our error message
26845	and then sends channel data to the exec'd command, well...the
26846	process might wander off into the weeds.  Not desirable behavior.
26847	To catch this case, we simply need to make sure that a channel data
26848	handler has been registered.  If not, reject the packet.
26849
268502009-07-24  castaglia <castaglia>
26851
26852	* contrib/mod_sql.c: To help find out why configurations may not
26853	work as expected, log when we search for a SQLNamedQuery and don't
26854	find it.  I just saw a config which had mismatched names between the
26855	configured SQLNamedQuery, and the name used in a SQLShowInfo
26856	parameter.
26857
268582009-07-23  castaglia <castaglia>
26859
26860	* modules/mod_delay.c: Add a long explanatory comment about the
26861	DELAY_NPROTO value.  Also, the value of 4 was too high; we currently
26862	only support three protocols in the DelayTable: ftp, ftps, and ssh2.
26863	No need to allocate empty rows in the table.
26864
268652009-07-23  castaglia <castaglia>
26866
26867	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Fix the
26868	broken test for Bug#3164 by adding a slight delay, to give our
26869	out-of-band update to the SQLite database time to be applied.
26870
268712009-07-23  castaglia <castaglia>
26872
26873	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add unit
26874	test for handling of DELE in mod_quotatab.
26875
268762009-07-23  castaglia <castaglia>
26877
26878	* doc/howto/Quotas.html: Add another quota FAQ.
26879
268802009-07-23  castaglia <castaglia>
26881
26882	* contrib/mod_rewrite.c,
26883	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Clean up dead code
26884	in mod_rewrite.c.  Check for bad/unknown RewriteCondition flags, and
26885	handle them as a configuration error.  Add unit test for the "[NC]" RewriteCondition flags.
26886
268872009-07-23  castaglia <castaglia>
26888
26889	* NEWS, contrib/mod_rewrite.c,
26890	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3269 -
26891	RewriteCondition OR/ornext flag does not work.
26892
268932009-07-23  castaglia <castaglia>
26894
26895	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Add a unit test
26896	showing that mod_rewrite's handling of RewriteConditions's OR flag
26897	is broken.
26898
268992009-07-22  castaglia <castaglia>
26900
26901	* src/display.c: Fix a regression in the 1.3.3rc1 code, where a
26902	DisplayConnect file would be sent to the client -- and then an extra
26903	line with a 220 response code would be sent.  This, in addition to
26904	the 220 line with the normal banner.  The extra 220 response line
26905	was confusing some clients (and rightly so).
26906
269072009-07-22  castaglia <castaglia>
26908
26909	* modules/mod_delay.c: Add paranoid check that an array pointer is
26910	non-null before we use it.
26911
269122009-07-21  castaglia <castaglia>
26913
26914	* contrib/mod_sql.c: Add handling of signals in the loops which
26915	process the various info directives (e.g. SQLShowInfo, SQLLog, etc).
26916	Also use check_response() more throughout the code; this function
26917	checks for unrecoverable backend errors and -- depending on the
26918	config -- will disconnect the session if such an error occurs.
26919
269202009-07-21  castaglia <castaglia>
26921
26922	* contrib/mod_sql.c: Make sure that mod_sql logs the corresponding
26923	"leaving func" message in some cases; it wasn't doing so.
26924
269252009-07-21  castaglia <castaglia>
26926
26927	* contrib/mod_sftp/scp.c: Update the session.xfer.path field, when
26928	handling uploads via SCP, when we have received enough information
26929	from the client to know the full path.
26930
269312009-07-21  castaglia <castaglia>
26932
26933	* contrib/dist/rpm/proftpd.spec: If mod_sftp is built using the RPM
26934	.spec file, then we need to take into account some of the config
26935	files that mod_sftp includes (e.g. blacklist.dat and dhparams.pem).
26936
269372009-07-21  castaglia <castaglia>
26938
26939	* contrib/mod_sftp/mod_sftp.h.in: Bump the mod_sftp version in CVS,
26940	to differentiate it from the version of mod_sftp available on
26941	castaglia.org.  The CVS version is vastly improved.
26942
269432009-07-21  castaglia <castaglia>
26944
26945	* contrib/dist/rpm/proftpd.spec: Attempt to add support for mod_sftp
26946	to the .spec file.
26947
269482009-07-21  castaglia <castaglia>
26949
26950	* NEWS, RELEASE_NOTES, modules/mod_log.c,
26951	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Bug#1908 -
26952	ExtendedLog to work properly in <Anonymous> context.
26953
269542009-07-21  castaglia <castaglia>
26955
26956	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a unit test for
26957	the %f/%F LogFormat variables when used for an SCP upload; I'm
26958	trying to reproduce a reported issue when using these variables and
26959	uploading via SCP, but to no avail as yet.
26960
269612009-07-21  castaglia <castaglia>
26962
26963	* NEWS, modules/mod_ls.c,
26964	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
26965	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Bug#3268 - Files whose
26966	names start with whitespace are not listed properly.
26967
269682009-07-21  castaglia <castaglia>
26969
26970	* contrib/mod_sftp/fxp.c: More explanatory comments, for my future
26971	reference.
26972
269732009-07-21  castaglia <castaglia>
26974
26975	* contrib/mod_sftp/fxp.c: Add comment describing the implementation
26976	of the RENAME handler, and how it is technically nonconformant in
26977	particular cases.
26978
269792009-07-21  castaglia <castaglia>
26980
26981	* contrib/mod_sftp/fxp.c: Still trying to properly map the V5 OPEN
26982	flags/bitmasks to open(2) flags.
26983
269842009-07-20  castaglia <castaglia>
26985
26986	* contrib/mod_sftp/fxp.c, doc/contrib/mod_sftp.html: The STAT,
26987	FSTAT, and LSTAT SFTP requests are no longer limited when using
26988	<Limit READ>.  Instead, each of these requests can be limited by
26989	using the request name directly.
26990
269912009-07-20  castaglia <castaglia>
26992
26993	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add a unit test
26994	using the %s LogFormat variable for write requests in an SFTP
26995	session; this complements the existing %s LogFormat variable test
26996	for SFTP read requests.
26997
269982009-07-20  castaglia <castaglia>
26999
27000	* contrib/mod_sftp/fxp.c: Clear the response lists before
27001	dispatching the STOR cmd_rec when handling aborted upload file
27002	handles in an SFTP session.
27003
270042009-07-20  castaglia <castaglia>
27005
27006	* contrib/mod_sftp/fxp.c: If the SFTP client left a directory handle
27007	open, then we need to handle it as a *directory*, not as a file, in
27008	the aborted-handles code.  Otherwise, segfaults will happen.
27009
270102009-07-20  castaglia <castaglia>
27011
27012	* doc/contrib/mod_sftp.html: Removed duplicated text.
27013
270142009-07-20  castaglia <castaglia>
27015
27016	* contrib/mod_sftp/keys.c: Update the handling of the
27017	SFTPPassPhraseProvider config with tweaks found from working on
27018	mod_exec.
27019
270202009-07-20  castaglia <castaglia>
27021
27022	* tests/tests.pl: Add support for a --verbose command-line option to
27023	the tests.pl testsuite driver.  Using --verbose will set the
27024	TEST_VERBOSE environment variable.  This is particularly useful when
27025	running the testsuite (or individual test files) as root using sudo;
27026	sudo (depending on the version) prevents environment variables from
27027	being communicated to the executed program.
27028
270292009-07-20  castaglia <castaglia>
27030
27031	* NEWS, src/auth.c: Bug#2070 - AuthAliasOnly off in <Global> section
27032	kills anonymous logins.
27033
270342009-07-20  castaglia <castaglia>
27035
27036	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Fix up minor issues
27037	in the test code found by the Perl interpreter in strict mode.
27038
270392009-07-20  castaglia <castaglia>
27040
27041	* tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm,
27042	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Fix variable
27043	redeclarations, and soothe the savage Perl interpreter beast.
27044
270452009-07-19  castaglia <castaglia>
27046
27047	* tests/t/config/authaliasonly.t,
27048	tests/t/lib/ProFTPD/Tests/Config/AuthAliasOnly.pm, tests/tests.pl:
27049	Add unit tests for the AuthAliasOnly directive, including a test
27050	which reproduces Bug#2070.
27051
270522009-07-19  castaglia <castaglia>
27053
27054	* tests/t/config/authusingalias.t,
27055	tests/t/lib/ProFTPD/Tests/Config/AuthUsingAlias.pm, tests/tests.pl:
27056	Add unit tests for the AuthUsingAlias directive.
27057
270582009-07-19  castaglia <castaglia>
27059
27060	* tests/t/lib/ProFTPD/Tests/Utils/ftpwho.pm,
27061	tests/t/utils/ftpwho.t, tests/tests.pl: Start adding unit tests for
27062	the ftpwho utility.
27063
270642009-07-19  castaglia <castaglia>
27065
27066	* tests/t/lib/ProFTPD/Tests/Utils/ftpcount.pm,
27067	tests/t/utils/ftpcount.t, tests/tests.pl: Start of unit tests for
27068	the ftpcount utility.
27069
270702009-07-19  castaglia <castaglia>
27071
27072	* contrib/mod_exec.c: When executing the command and the 'useStdin'
27073	ExecOption has been used, we should at least provide the first
27074	command-line argument, which, by convention, is the name of the file
27075	being executed.
27076
270772009-07-19  castaglia <castaglia>
27078
27079	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test for
27080	the ExecOnRestart directive.
27081
270822009-07-19  castaglia <castaglia>
27083
27084	* contrib/mod_exec.c: Add handling of signals to some while() loops.
27085
270862009-07-18  castaglia <castaglia>
27087
27088	* contrib/mod_exec.c, tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm:
27089	Added unit tests for the various ExecOptions values.  Along the way,
27090	I found (and fixed) several bugs in mod_exec.  Three cheers for
27091	testing!
27092
270932009-07-18  castaglia <castaglia>
27094
27095	* doc/contrib/mod_exec.html: Fix typos, update mod_exec doc to point
27096	to local copy of Logging howto.
27097
270982009-07-18  castaglia <castaglia>
27099
27100	* tests/t/config/useglobbing.t,
27101	tests/t/lib/ProFTPD/Tests/Config/UseGlobbing.pm, tests/tests.pl: Add
27102	unit test for the UseGlobbing directive.
27103
271042009-07-18  castaglia <castaglia>
27105
27106	* tests/t/config/userpassword.t,
27107	tests/t/lib/ProFTPD/Tests/Config/UserPassword.pm, tests/tests.pl:
27108	Add unit test for the UserPassword directive.
27109
271102009-07-18  castaglia <castaglia>
27111
27112	* doc/howto/TLS.html: Update the TLS howto FAQ regarding implicit
27113	FTPS to reflect the addition of implicit FTPS support (in Bug#3266).
27114
271152009-07-18  castaglia <castaglia>
27116
27117	* NEWS, contrib/mod_tls.c, doc/contrib/mod_tls.html,
27118	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3266 - Support
27119	"implicit" FTPS.
27120
271212009-07-17  castaglia <castaglia>
27122
27123	* modules/mod_dso.c: If mod_dso can't load a module because the
27124	module doesn't exist in the expected ModulePath, it emits a warn.
27125	Log that at the INFO level, rather than at a DEBUG level.
27126
271272009-07-17  castaglia <castaglia>
27128
27129	* modules/mod_ctrls.c: If ControlsEngine is set to 'off', then we
27130	should not try to listen on the ControlsSocket.
27131
271322009-07-17  castaglia <castaglia>
27133
27134	* modules/mod_dso.c: Improve on the errors reported by mod_dso when
27135	a module can't be loaded.  The cause of the infamous "error loading
27136	...: Permission denied" error is actually most likely to be a
27137	ModulePath that is an empty directory, but you would have no way of
27138	knowing/guessing that from the emitted error.
27139
271402009-07-16  castaglia <castaglia>
27141
27142	* configure: Forgot to check in the updated configure script.
27143
271442009-07-16  castaglia <castaglia>
27145
27146	* doc/howto/Umask.html: Add a FAQ to the Umask howto explaining why
27147	proftpd does not allow uploading of files with execute permissions.
27148
271492009-07-16  castaglia <castaglia>
27150
27151	* tests/t/lib/ProFTPD/Tests/Modules/mod_shaper.pm,
27152	tests/t/modules/mod_shaper.t, tests/tests.pl: Start adding
27153	unit/regression tests for the mod_shaper module.
27154
271552009-07-16  castaglia <castaglia>
27156
27157	* tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm: Add unit test for
27158	CreateHome's 'dirmode' parameter.
27159
271602009-07-15  castaglia <castaglia>
27161
27162	* config.h.in, configure.in, src/main.c: Add an autoconf check for
27163	the uname() function, in case the platform does not actually provide
27164	one.  (Handy for older and/or more esoteric platforms).
27165
271662009-07-15  castaglia <castaglia>
27167
27168	* contrib/mod_sftp/fxp.c: Use the SFTP session's pool, rather than
27169	the Response API pool, for adding our status codes.
27170
271712009-07-15  castaglia <castaglia>
27172
27173	* src/main.c: Use uname(2) to get more platform details (OS and
27174	version, machine/CPU type) for the -V settings.  Easier than asking
27175	people about the platform they're running proftpd on; just ask for
27176	the -V output.
27177
271782009-07-15  castaglia <castaglia>
27179
27180	* contrib/mod_sftp/fxp.c: Simplify the obtaining of proper open(2)
27181	flags when handling version 5 (and higher) SFTP OPEN requests.
27182
271832009-07-15  castaglia <castaglia>
27184
27185	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test
27186	demonstrating, via mod_exec, a use of the new %{bytes_xfer}
27187	variable.
27188
271892009-07-15  castaglia <castaglia>
27190
27191	* modules/mod_core.c: Add support for a %{bytes_xfer} variable.
27192	Similar to the existing %{total_bytes_xfer} variable, only this new
27193	variable only shows the number of bytes in the recent data transfer
27194	(if any), rather than the cumulated count of bytes transferred
27195	during the lifetime of the session.
27196
271972009-07-14  castaglia <castaglia>
27198
27199	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
27200	the %s LogFormat variable in ExtendedLogs for SFTP requests.
27201
272022009-07-14  castaglia <castaglia>
27203
27204	* contrib/mod_sftp/fxp.c: Dispatch to the correct POST_CMD/LOG_CMD
27205	(or POST_CMD_ERR/LOG_CMD_ERR) handlers.  Specifically, do NOT
27206	dispatch EOF errors (when reading) to _ERR handlers; the way that
27207	SFTP reads work, this is normal.
27208
272092009-07-14  castaglia <castaglia>
27210
27211	* contrib/mod_exec.c: Handle signals/interruptions in the
27212	potentially long/time-consuming loop as we close any open file
27213	descriptors before exec'ing the configured command.
27214
272152009-07-14  castaglia <castaglia>
27216
27217	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add a quote() method to the
27218	TestSuite::FTP class, for quoting raw/arbitrary commands to send to
27219	the server.
27220
272212009-07-09  castaglia <castaglia>
27222
27223	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit tests for
27224	ExecOnError.
27225
272262009-07-09  castaglia <castaglia>
27227
27228	* contrib/mod_exec.c: Guard against having getrlimit(2) return an
27229	obscenely high number of maximum open file descriptions (e.g.
27230	RLIMIT_INFINITY); this was causing mod_exec to not work as expected
27231	on Mac OSX 10.4.
27232
272332009-07-09  castaglia <castaglia>
27234
27235	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Add unit test for
27236	ExecOnExit.
27237
272382009-07-09  castaglia <castaglia>
27239
27240	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm: Adding more
27241	mod_exec unit tests, including one for the "%{...}" variable
27242	support.
27243
272442009-07-09  castaglia <castaglia>
27245
27246	* contrib/mod_exec.c: Add support for the Variables API-style
27247	"%{...}" variables to mod_exec's variable interpolation.  For
27248	example, you could now do:   ExecOnExit /bin/bash -c "echo %{total_bytes_out} >>
27249	  bytes-downloaded.txt" and it would work properly.
27250
272512009-07-09  castaglia <castaglia>
27252
27253	* contrib/mod_exec.c: Fix off-by-one error which caused mod_exec to
27254	log all but the last parameter when calling exec.
27255
272562009-07-09  castaglia <castaglia>
27257
27258	* tests/t/lib/ProFTPD/Tests/Modules/mod_exec.pm,
27259	tests/t/modules/mod_exec.t, tests/tests.pl: Start working on unit
27260	tests for the mod_exec module.
27261
272622009-07-08  castaglia <castaglia>
27263
27264	* lib/sstrncpy.c: Catch a possible null pointer exception in
27265	sstrncpy(), if the src pointer provided by the caller is null.
27266
272672009-07-08  castaglia <castaglia>
27268
27269	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow the Port that
27270	appears in the testsuite proftpd.conf files to be settable directly
27271	by the unit test.
27272
272732009-07-08  castaglia <castaglia>
27274
27275	* contrib/mod_sftp/fxp.c: Oops.  We only want to set the O_RDONLY
27276	flag, not to obliterate any other bits/flags set to only have
27277	O_RDONLY.
27278
272792009-07-08  castaglia <castaglia>
27280
27281	* contrib/mod_sftp/fxp.c: Attempt to work around bugs in SFTP
27282	clients using protocol version 5 or higher whose OPEN requests do
27283	not include the proper bits set for indicating whether O_RDONLY,
27284	O_RDWR, or O_WRONLY should be used.  The workaround is to attempt to
27285	infer which of the O_ flags to use from the other bits the client
27286	might have provided.
27287
272882009-07-06  castaglia <castaglia>
27289
27290	* NEWS, modules/mod_auth.c: Bug#2758 - ProFTPD doesn't always pay
27291	attention to AccessDenyMsg.
27292
272932009-07-06  castaglia <castaglia>
27294
27295	* tests/t/config/accessdenymsg.t,
27296	tests/t/lib/ProFTPD/Tests/Config/AccessDenyMsg.pm, tests/tests.pl:
27297	Add unit tests for the AccessDenyMsg config directive.
27298
272992009-07-06  castaglia <castaglia>
27300
27301	* tests/t/config/accessgrantmsg.t,
27302	tests/t/lib/ProFTPD/Tests/Config/AccessGrantMsg.pm, tests/tests.pl:
27303	Add unit tests for the AccessGrantMsg config directive.
27304
273052009-07-06  castaglia <castaglia>
27306
27307	* tests/t/config/useralias.t,
27308	tests/t/lib/ProFTPD/Tests/Config/UserAlias.pm, tests/tests.pl: Add
27309	unit tests for the UserAlias config directive.
27310
273112009-07-05  castaglia <castaglia>
27312
27313	* contrib/mod_sftp/fxp.c: Handle the NAMED_ATTRS read and write
27314	flags in a SFTP open request, protocol version 5 or later.  Also be
27315	sure to handle the case where the client may send desired access
27316	flags which seem to be read-only, but also send open flags which
27317	indicate append.
27318
273192009-07-05  castaglia <castaglia>
27320
27321	* contrib/mod_sftp/fxp.c: Make sure to dispatch {POST,LOG}_CMD_ERR
27322	commands for aborted SFTP files, so that modules like mod_exec's
27323	ExecOnError can work properly.
27324
273252009-07-05  castaglia <castaglia>
27326
27327	* contrib/mod_sftp/scp.c,
27328	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: The mod_sftp module
27329	was not honoring a configuration like:   <Limit WRITE>     DenyAll   </Limit>   <Directory ~/*/*>     <Limit STOR>       AllowAll     </Limit>   </Directory> the same way between SFTP and SCP uploads.  SFTP uploads were
27330	allowed properly, but SCP uploads were not.  Turned out to be a
27331	problem with the path that was being used in the dir_check() calls
27332	in the SCP code; the full path was not being used as it should.  Also fixed a problem where an SCP client might send duplicate
27333	filename info (once in the channel request, once in the fileinfo
27334	control message).
27335
273362009-07-04  castaglia <castaglia>
27337
27338	* src/main.c: Install our signal handlers earlier in the startup
27339	process.  The driving force behind this change is to get our SIGSEGV
27340	handler installed prior to parsing the config file; this way if a
27341	segfault occurs AND --enable-devel=stacktrace has been used, we can
27342	get the stack trace for a parsing segfault.  By the time the signal handlers were being installed (i.e. after
27343	parsing) this would not have been possible.
27344
273452009-07-04  castaglia <castaglia>
27346
27347	* doc/howto/Filters.html: When compiling POSIX regular expressions
27348	using patterns which include character classes like 'blank' et al,
27349	you DO need to use two square brackets, not just one.
27350
273512009-07-04  castaglia <castaglia>
27352
27353	* NEWS, contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
27354	contrib/mod_sftp/fxp.c, contrib/mod_sftp/kex.c,
27355	contrib/mod_sftp/service.c,
27356	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Bug#3265 - SFTP
27357	requests are logged to ExtendedLog without regard to classes.  The cmd_rec.class field needed to be set on the SSH2 and SFTP
27358	cmd_recs used.
27359
273602009-07-03  castaglia <castaglia>
27361
27362	* NEWS, contrib/mod_sftp/mod_sftp.c: Bug#3263 - Supplying optional
27363	SFTPRekey timeout parameter causes segmentation fault.
27364
273652009-07-01  castaglia <castaglia>
27366
27367	* doc/contrib/mod_sql.html: Mention that --enable-openssl can be
27368	used to enable the OpenSSL SQLAuthType.
27369
273702009-07-01  castaglia <castaglia>
27371
27372	* include/version.h: Update the version.h file for the next RC
27373	release.
27374
273752009-07-01  castaglia <castaglia>
27376
27377	* ChangeLog: Updated ChangeLog.
27378
273792009-07-01  castaglia <castaglia>
27380
27381	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
27382	include/version.h: Updating the files for the release of 1.3.3rc1.
27383
273842009-07-01  castaglia <castaglia>
27385
27386	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update mod_tls unit
27387	tests to reflect behavior of newer Net::FTPSSL Perl module.
27388
273892009-07-01  castaglia <castaglia>
27390
27391	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Quell Perl
27392	interpreter warnings about redeclared variables.
27393
273942009-07-01  castaglia <castaglia>
27395
27396	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: More
27397	handling of spelling differences across systems.
27398
273992009-07-01  castaglia <castaglia>
27400
27401	* tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm: Cleanup of these
27402	older tests.
27403
274042009-07-01  castaglia <castaglia>
27405
27406	* tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Account for
27407	spelling differences among different systems.
27408
274092009-07-01  castaglia <castaglia>
27410
27411	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Fix the use of regexes
27412	in the unit tests; I was comparing the two operands in the wrong
27413	order.
27414
274152009-07-01  castaglia <castaglia>
27416
27417	* modules/mod_auth.c,
27418	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm: Setting
27419	"MaxLoginAttempts 1" would cause even the first login to fail, which
27420	is not the desired behavior.  (The auth_tries variable was
27421	incremented using a prefix operator, rather than postfix operator.) The code was also not properly honoring the seldom-used
27422	"MaxLoginAttempts none".  Adjust MaxLoginAttempts unit tests accordingly.
27423
274242009-07-01  castaglia <castaglia>
27425
27426	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Modify ABOR tests to
27427	handle different response codes/messages depending on the particular
27428	timing of the handling of the ABOR by proftpd.
27429
274302009-07-01  castaglia <castaglia>
27431
27432	* modules/mod_xfer.c: Fix possible segfault (picked up by a unit
27433	test) when a data transfer is aborted.
27434
274352009-06-30  castaglia <castaglia>
27436
27437	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Typo.
27438
274392009-06-30  castaglia <castaglia>
27440
27441	* tests/t/lib/ProFTPD/Tests/Commands/HELP.pm: Update the HELP unit
27442	test to work properly in the case where mod_tls is present.
27443
274442009-06-30  castaglia <castaglia>
27445
27446	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Typo.
27447
274482009-06-30  castaglia <castaglia>
27449
27450	* src/help.c: Actually make the code do what the comment (correctly)
27451	says it does.
27452
274532009-06-30  castaglia <castaglia>
27454
27455	* RELEASE_NOTES: Mention the support for TimeoutLogin for the
27456	BanOnEvent directive.
27457
274582009-06-30  castaglia <castaglia>
27459
27460	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Correct the
27461	unit test which defines custom SQLGroupInfo queries; the group
27462	lookup by member query was incorrect.
27463
274642009-06-30  castaglia <castaglia>
27465
27466	* RELEASE_NOTES, doc/contrib/mod_sql.html: Working on documentation
27467	for new/changed features for the upcoming 1.3.3rc1 release.
27468
274692009-06-30  castaglia <castaglia>
27470
27471	* NEWS, modules/mod_auth.c, modules/mod_core.c, src/dirtree.c:
27472	Bug#3243 - Broken support for AllowOverride per user/group/class
27473	conditionals.
27474
274752009-06-30  castaglia <castaglia>
27476
27477	* modules/mod_cap.c: Use pr_module_exists() consistently; it more
27478	accurately describes the check that is being made.
27479
274802009-06-30  castaglia <castaglia>
27481
27482	* NEWS, doc/modules/mod_cap.html, modules/mod_cap.c: Bug#3257 -
27483	CAP_AUDIT_WRITE capability needed for some PAM modules.
27484
274852009-06-30  castaglia <castaglia>
27486
27487	* contrib/mod_sql_odbc.c: Fix some compiler warnings about shadowed
27488	variables in mod_sql_odbc.
27489
274902009-06-30  castaglia <castaglia>
27491
27492	* contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
27493	contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c: Bug#3259 -
27494	Adding second database connection causes segfault.  The array_header
27495	containing the conn_entry_t objects was allocated using the
27496	incorrect data size.
27497
274982009-06-30  castaglia <castaglia>
27499
27500	* tests/t/config/limit/subdirs.t,
27501	tests/t/lib/ProFTPD/Tests/Config/Limit/SubDirectories.pm,
27502	tests/tests.pl: Add unit test demonstrating how Bug#3077 can cause
27503	some unexpected <Limit> configurations, due to need to handle the
27504	X-variant commands.
27505
275062009-06-30  castaglia <castaglia>
27507
27508	* contrib/mod_tls.c: Fix a bug in mod_tls' parsing of the
27509	TLSRenegotiate directive, as per:   https://bugzilla.redhat.com/show_bug.cgi?id=476847 No one was nice enough to report that bug in the ProFTPD Bugzilla,
27510	though.
27511
275122009-06-29  castaglia <castaglia>
27513
27514	* contrib/mod_sql.c, contrib/mod_sql_postgres.c: Bug#3251 -
27515	mod_sql_postgres should be more verbose when failing the "Backend"
27516	SQLAuthType check.
27517
275182009-06-29  castaglia <castaglia>
27519
27520	* contrib/mod_sql_mysql.c: Stylistic nits; no functional change.
27521
275222009-06-29  castaglia <castaglia>
27523
27524	* NEWS, modules/mod_xfer.c: Bug#3258 - Log cluttered with "using
27525	sendfile capability" messages.
27526
275272009-06-29  castaglia <castaglia>
27528
27529	* doc/contrib/mod_sql_sqlite.html: Mention that SQLite-3.6.5 or
27530	later is required for mod_sql_sqlite to properly support SQLLog
27531	directives for chrooted processes.
27532
275332009-06-29  castaglia <castaglia>
27534
27535	* contrib/mod_sql_sqlite.c,
27536	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix
27537	mod_sql_sqlite to work properly, with regard to SQLLog updates, in a
27538	chrooted process.  Note that this only works for SQLite-3.6.5 and
27539	later.  Also add slightly more information if the database file for
27540	mod_sql_sqlite cannot be opened, or when the SQLLog query fails
27541	because the file cannot be opened.  Add an accompanying unit test for the chrooted behavior of
27542	mod_sql_sqlite.
27543
275442009-06-25  castaglia <castaglia>
27545
27546	* doc/howto/SQL.html: Replace the URLs to castaglia.org with URLs to
27547	proftpd.org.
27548
275492009-06-24  castaglia <castaglia>
27550
27551	* src/main.c: If --enable-devel=stacktrace is used, then an
27552	asynchronous handler for SIGSEGV is installed.  That handler doesn't
27553	go through pr_signals_handle(), so we need to make sure that the
27554	table code knows that it's still in a signal-handling state for this
27555	SIGSEGV handler.
27556
275572009-06-23  castaglia <castaglia>
27558
27559	* RELEASE_NOTES: Update the release notes; I still need to flesh out
27560	the descriptions more before doing the 1.3.3rc1 release.
27561
275622009-06-22  castaglia <castaglia>
27563
27564	* NEWS, src/main.c: Bug#3256 - "SO_OOBINLINE" error occuring again.
27565	This is a regression of Bug#2332, caused by code movement in 1.3.2.
27566
275672009-06-22  castaglia <castaglia>
27568
27569	* src/fsio.c: The bug in pr_fsio_futimes(), where we were not
27570	calling the proper futimes() handler, occurred in pr_fsio_faccess()
27571	as well; it would result in another segfault, if the registered FS
27572	did not provide a faccess() handler.
27573
275742009-06-22  castaglia <castaglia>
27575
27576	* contrib/mod_sftp/fxp.c: If no DeleteAbortedStores appears in the
27577	proftpd.conf, then the callback which closes any open filehandles
27578	could segfault, trying to deference a null pointer.  Check for this,
27579	and handle it appropriately.
27580
275812009-06-22  castaglia <castaglia>
27582
27583	* src/fsio.c: If pr_fsio_utimes() or pr_fsio_futimes() succeeds,
27584	clear the statcache; the file metadata is now stale, and needs to be
27585	refreshed.  In pr_fsio_futimes(), we were calling the wrong futimes() handler.
27586	Use the right one, i.e. the one found by the while() loop.
27587
275882009-06-22  castaglia <castaglia>
27589
27590	* src/fsio.c: Include utimes(2), futimes(3) in the debug output for
27591	a registered FS object.
27592
275932009-06-22  castaglia <castaglia>
27594
27595	* doc/howto/Limit.html: Mention that the parsing rules for AllowUser
27596	pertain to DenyUser as well.
27597
275982009-06-21  castaglia <castaglia>
27599
27600	* NEWS, contrib/mod_tls.c,
27601	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3247 -
27602	"TLSRequired auth" and "TLSOptions AllowPerUser" are incompatible.
27603
276042009-06-21  castaglia <castaglia>
27605
27606	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Turns out that using the
27607	exit code from the `proftpd' binary for determining
27608	successful/failure of server startup is not that reliably, sadly.
27609	So now the PidFile is used for sending a signal to the server; if
27610	that succeeds, then the server has started successfully.
27611
276122009-06-21  castaglia <castaglia>
27613
27614	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: If the server fails to
27615	start, throw an exception, rather than letting the caller assume
27616	that the server started successfully.
27617
276182009-06-21  castaglia <castaglia>
27619
27620	* tests/t/config/ftpaccess/empty.t,
27621	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/Empty.pm, tests/tests.pl:
27622	Add unit test for an empty .ftpaccess file, for
27623	investigating/regressing Bug#3240.
27624
276252009-06-21  castaglia <castaglia>
27626
27627	* NEWS, contrib/mod_sql.c,
27628	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3253 -
27629	Support for %S variable in SQL queries.
27630
276312009-06-20  castaglia <castaglia>
27632
27633	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow unit tests to
27634	specify the User, Group names to use in the generated config file,
27635	if needs be.
27636
276372009-06-20  castaglia <castaglia>
27638
27639	* src/fsio.c: Check for an ENOSYS errno when using futimes(2), in
27640	case the platform provides a stub which does not actually do
27641	anything.  Fallback to using utimes(2) if this happens.
27642
276432009-06-20  castaglia <castaglia>
27644
27645	* contrib/mod_sftp/mod_sftp.c: When mod_sftp handles a restart, it
27646	needs to clear any passphrases held in memory.
27647
276482009-06-20  castaglia <castaglia>
27649
27650	* contrib/mod_sql.c: Adjust the ordering of the custom SQLNamedQuery
27651	optional queries which can be used for customizing SQLUserInfo.  In
27652	particular, we need to add the ability to specify the query to look
27653	up a user given a UID; this is useful for modules like mod_quotatab,
27654	which may need to find the owner user/group for a file based on that
27655	file's owner UID/GID.
27656
276572009-06-20  castaglia <castaglia>
27658
27659	* contrib/mod_sftp/fxp.c: Fix format warning about data type
27660	mismatches; this warning only occurs on 64-bit machines.  An
27661	explicit cast to the supported off_t type (or its nearest
27662	equivalent) is all that's needed here.
27663
276642009-06-20  castaglia <castaglia>
27665
27666	* tests/t/lib/ProFTPD/Tests/Modules/mod_cap.pm,
27667	tests/t/modules/mod_cap.t, tests/tests.pl: Start on unit tests for
27668	the mod_cap module.
27669
276702009-06-19  castaglia <castaglia>
27671
27672	* tests/t/config/allowoverwrite.t,
27673	tests/t/lib/ProFTPD/Tests/Config/AllowOverwrite.pm, tests/tests.pl:
27674	Add unit tests for the AllowOverwrite directive.
27675
276762009-06-19  castaglia <castaglia>
27677
27678	* contrib/mod_sftp/fxp.c: When setting attributes on a file, make
27679	sure that we check the client-sent attribute flags in the same way
27680	as when we parse those attribute values (i.e. be sure to be protocol
27681	version-specific when necessary).  Otherwise we might do the wrong
27682	thing if the client sends a badly flagged request.
27683
276842009-06-10  castaglia <castaglia>
27685
27686	* configure: Updated configure.
27687
276882009-06-10  castaglia <castaglia>
27689
27690	* configure.in: Trying to compile proftpd using "--enable-nls
27691	--with-shared=mod_lang", in order to build mod_lang as a shared
27692	module, was causing the configure script to complain of duplicate
27693	build requests.  Fix this.
27694
276952009-06-10  castaglia <castaglia>
27696
27697	* NEWS, contrib/mod_ban.c, doc/contrib/mod_ban.html: Bug#3249 -
27698	mod_ban support for TimeoutLogin.
27699
277002009-06-09  castaglia <castaglia>
27701
27702	* modules/mod_core.c: If the SITE CHGRP/CHMOD commands are denied by
27703	<Limit> sections, set errno to EACCES, so that hopefully the user's
27704	client can receive a more helpful error response code.
27705
277062009-06-09  castaglia <castaglia>
27707
27708	* modules/mod_core.c: Add debug logging when the SITE CHMOD/CHGRP
27709	commands are denied because of <Limit> sections in the
27710	configuration.
27711
277122009-06-03  castaglia <castaglia>
27713
27714	* contrib/mod_sftp/auth.c: Make sure that any configured
27715	SFTPDisplayBanner is only sent once to the connecting client.
27716
277172009-06-03  castaglia <castaglia>
27718
27719	* contrib/mod_sftp/keys.c: Add a missing PRIVS_RELINQUISH call.
27720	Adjust spacing in that same area, so that the formatting is
27721	consistent.
27722
277232009-05-28  castaglia <castaglia>
27724
27725	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add test case to
27726	make sure that RootLogin works properly in mod_sftp.
27727
277282009-05-27  castaglia <castaglia>
27729
27730	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Fix typo in
27731	mod_rewrite PORT rewriting config.
27732
277332009-05-27  castaglia <castaglia>
27734
27735	* doc/howto/Rewrite.html: Fix typo/omission in Rewrite howto.
27736
277372009-05-27  castaglia <castaglia>
27738
27739	* contrib/mod_sftp/auth.c: Properly honor RootLogin (and its
27740	absence) in mod_sftp.  This includes generating the
27741	'mod_auth.root-login' event, just as mod_auth does.
27742
277432009-05-27  castaglia <castaglia>
27744
27745	* contrib/dist/rpm/proftpd.logrotate: Bug#3245 - proftpd.logrotate
27746	assumes location of `kill' command.  Simply rely on PATH to find the
27747	appropriate location.
27748
277492009-05-22  castaglia <castaglia>
27750
27751	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Add test showing that
27752	a file with leading whitespace in its name can be downloaded.
27753
277542009-05-22  castaglia <castaglia>
27755
27756	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Yet more
27757	redundant variables removed.
27758
277592009-05-22  castaglia <castaglia>
27760
27761	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: More redundant
27762	variables removed.
27763
277642009-05-22  castaglia <castaglia>
27765
27766	* tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm: Remove another
27767	redundant variable declaration.
27768
277692009-05-22  castaglia <castaglia>
27770
27771	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: Remove redundant
27772	variable declaration.
27773
277742009-05-20  castaglia <castaglia>
27775
27776	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Add unit test
27777	demonstrating that upload a file whose name begins with whitespace
27778	is possible.  Update all tests to use 'tests.log' as the logfile name.
27779
277802009-05-19  castaglia <castaglia>
27781
27782	* tests/t/lib/ProFTPD/Tests/Modules/mod_ifsession.pm,
27783	tests/t/modules/mod_ifsession.t: Start working on unit tests for
27784	mod_ifsession's functionality.  This first test is inspired/used for
27785	verifying Bug#3243.
27786
277872009-05-19  castaglia <castaglia>
27788
27789	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow tests to request to
27790	NOT have default configs used.  This is handy when dealing with
27791	mod_ifsession tests, for example.
27792
277932009-05-19  castaglia <castaglia>
27794
27795	* contrib/dist/rpm/proftpd.spec: Had a request to use the %{dist}
27796	variable in the RPM Release tag as well.  Makes no never mind to me.
27797
277982009-05-18  castaglia <castaglia>
27799
27800	* Make.rules.in, Makefile.in, utils/ftpcount.1.in,
27801	utils/ftpscrub.8.in, utils/ftptop.1.in, utils/ftpwho.1.in: Fix
27802	Bug#3242, which is a follow-up to Bug#2613.  Modify the utility man
27803	pages to reflect the changed path to the default scoreboard file,
27804	and remove the now-redundant $(rundir) Make variable.
27805
278062009-05-18  castaglia <castaglia>
27807
27808	* contrib/dist/rpm/proftpd.spec: Martin Edlman contributed RPM .spec
27809	patch to handle empty static_modules variable when the mod_facl
27810	module is not requested.
27811
278122009-05-15  castaglia <castaglia>
27813
27814	* tests/t/lib/ProFTPD/Tests/Logins.pm: Add regression test showing
27815	that multiple attempts to send USER (i.e. after the first attempt
27816	fails) will succeed as expected.
27817
278182009-05-15  castaglia <castaglia>
27819
27820	* contrib/mod_sftp/scp.c: I have no clue how this code was
27821	compiling/working for my tests earlier today, but it certainly needs
27822	to be fixed.  Weird.
27823
278242009-05-14  castaglia <castaglia>
27825
27826	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Fix the
27827	DeleteAbortedStores support.  I did have it such that only
27828	HiddenStores files would be deleted if DeleteAbortedStores was
27829	enabled.  Then, for aborted sessions, deleted _all_ open
27830	filehandles.  Which is not correct either (we don't want to delete
27831	files that were being downloaded, for example).  This changes the
27832	DeleteAbortedStores so that we only delete aborted _uploaded_ files.
27833	Hopefully.
27834
278352009-05-14  castaglia <castaglia>
27836
27837	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: [no log message]
27838
278392009-05-14  castaglia <castaglia>
27840
27841	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit test for
27842	HiddenStores directive using SCP.  The test is not as thorough as I
27843	would like; the Net::SSH2 SCP interface is not as flexible.  Still,
27844	it does the trick.
27845
278462009-05-14  castaglia <castaglia>
27847
27848	* contrib/mod_sftp/scp.c: This adds support for HiddenStores,
27849	DeleteAbortedStores, and 'incomplete' TransferLog entries to SCP.
27850
278512009-05-14  castaglia <castaglia>
27852
27853	* contrib/mod_sftp/fxp.c: Cut-n-paste error.
27854
278552009-05-14  castaglia <castaglia>
27856
27857	* contrib/mod_sftp/fxp.c: Add a trace message for renaming of a
27858	HiddenStores file.
27859
278602009-05-14  castaglia <castaglia>
27861
27862	* doc/contrib/mod_sftp.html: HiddenStores is now supported by
27863	mod_sftp.
27864
278652009-05-14  castaglia <castaglia>
27866
27867	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added unit tests
27868	for 'incomplete' TransferLog entries via SFTP.
27869
278702009-05-14  castaglia <castaglia>
27871
27872	* contrib/mod_sftp/fxp.c: Write 'incomplete' TransferLog entries for
27873	downloads/uploads that have been aborted (i.e. not closed by the
27874	client before the channel was closed/session ended).  Also fixes a bug introduced yesterday with the DeleteAbortedStores
27875	support, where a config which did not have DeleteAbortedStores would
27876	segfault (or the process would wander off into the memory weeds,
27877	depending on your arch).
27878
278792009-05-13  castaglia <castaglia>
27880
27881	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added regression
27882	tests for HiddenStores and DeleteAbortedStores via SFTP uploads.
27883
278842009-05-13  castaglia <castaglia>
27885
27886	* contrib/mod_sftp/channel.c, contrib/mod_sftp/channel.h,
27887	contrib/mod_sftp/fxp.c, contrib/mod_sftp/mod_sftp.c: Added support
27888	for the HiddenStores and DeleteAbortedStores directives for SFTP.
27889
278902009-05-13  castaglia <castaglia>
27891
27892	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add tests for
27893	TransferLog entries generated from downloading/uploading via SCP.
27894
278952009-05-13  castaglia <castaglia>
27896
27897	* contrib/mod_sftp/fxp.c: Make sure that the TransferLog entry for a
27898	file deleted via SFTP in a chrooted session is still the absolute
27899	path of the file, regardless of the chroot.
27900
279012009-05-13  castaglia <castaglia>
27902
27903	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add test for the
27904	TransferLog entry generated when deleting a file via SFTP in a
27905	chrooted session.
27906
279072009-05-13  castaglia <castaglia>
27908
27909	* tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm: Add regression
27910	test for the 14-digit version of the SITE UTIME command.
27911
279122009-05-11  castaglia <castaglia>
27913
27914	* RELEASE_NOTES: Warn of the change to the values in the
27915	service-name field of the TransferLog.
27916
279172009-05-11  castaglia <castaglia>
27918
27919	* tests/api/scoreboard.c: If the API testsuite is run with root
27920	privs, then one of the scoreboard tests will fail with a different
27921	errno value; check for this, and handle it as appropriate.
27922
279232009-05-11  castaglia <castaglia>
27924
27925	* tests/Makefile.in: Make sure the privs.o code is linked into the
27926	API tests.
27927
279282009-05-11  castaglia <castaglia>
27929
27930	* tests/Makefile.in: Separate the API and the running tests into two
27931	separate make targets.
27932
279332009-05-11  castaglia <castaglia>
27934
27935	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add regression test
27936	for the TransferLog delete file entries for SFTP.
27937
279382009-05-11  castaglia <castaglia>
27939
27940	* contrib/mod_sftp/fxp.c: Make sure that deleting a file via SFTP
27941	generates the proper TransferLog entry.
27942
279432009-05-09  castaglia <castaglia>
27944
27945	* contrib/mod_sftp/scp.c: Wolfgang Breyha correctly pointed out that
27946	these path-trimming loops should have a "pathlen > 1" check, not
27947	"pathlen > 0".  This was causing problems when trying to use scp to
27948	upload to '/'; eventually a segfault would ensue.
27949
279502009-05-08  castaglia <castaglia>
27951
27952	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added unit test for
27953	the TransferLog generated by downloading a file via sftp.
27954
279552009-05-08  castaglia <castaglia>
27956
27957	* contrib/mod_sftp/auth.c, src/xferlog.c: Support TransferLogs in
27958	mod_sftp.  This required a tweak to the TransferLog code so that it
27959	wrote the proper service name (e.g. "ftp", "sftp", etc); it had been
27960	hardcoded to "ftp".
27961
279622009-05-06  castaglia <castaglia>
27963
27964	* contrib/mod_sftp/packet.c,
27965	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
27966	mod_sftp sends a disconnect message when it does not handle the
27967	client request.  For example, if a client requests an SSH2 channel
27968	before it has authenticated, mod_sftp considers it an "unsupported
27969	protocol sequence".  But it was not sending the disconnect message
27970	to the client when this happened; this has been fixed. Added a unit
27971	test to prevent regressions.
27972
279732009-05-04  castaglia <castaglia>
27974
27975	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Add regression test
27976	demonstrating that downloading a file from a directory whose name
27977	contains a space works as expected.
27978
279792009-05-03  castaglia <castaglia>
27980
27981	* contrib/mod_sftp/scp.c: Fix the handling of recursive uploads of
27982	directories via SCP; it was completely broken.
27983
279842009-05-03  castaglia <castaglia>
27985
27986	* contrib/mod_sftp/auth.c: Be sure to dispatch the USER cmd_rec to
27987	the POST_CMD/LOG_CMD handlers *before* calling the PASS PRE_CMD
27988	handler.  Otherwise, mod_delay might see longer delays for both USER
27989	and PASS commands when handling SSH2 connections when it isn't
27990	necessary.
27991
279922009-05-02  castaglia <castaglia>
27993
27994	* contrib/mod_sftp/mod_sftp.c: If we receive an EOF while reading
27995	the banner, don't try to use strerror(), as it will result in a
27996	misleading log message.
27997
279982009-05-02  castaglia <castaglia>
27999
28000	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added unit
28001	tests for the 'OpenSSL' SQLAuthType.
28002
280032009-05-01  castaglia <castaglia>
28004
28005	* doc/howto/ListOptions.html: Mention the new -B ListOption.
28006
280072009-05-01  castaglia <castaglia>
28008
28009	* modules/mod_ls.c, tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
28010	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Modify the fix for
28011	Bug#3032 even more.  Instead of replacing non-printable characters
28012	with '?' in the non-NLS case, add support for a -B ListOption
28013	(defaults to off).  Some users noted that the previous fix broke
28014	things for them, as they _assumed_ that proftpd would not alter a
28015	UTF8 path (even for the non-NLS case).  By supporting a -B
28016	ListOption, sites which do want to see the non-printable characters
28017	can request that behavior.  The -B ListOption is not supported if
28018	NLS support is enabled.
28019
280202009-04-30  castaglia <castaglia>
28021
28022	* src/main.c: Add trace logging for when the 'requires_auth' check
28023	fails.
28024
280252009-04-30  castaglia <castaglia>
28026
28027	* modules/mod_cap.c, src/main.c: Make mod_cap's POST_CMD PASS
28028	handler be like every other modules, and NOT require that the client
28029	be authenticated.  That particular check is handled earlier in the
28030	session lifecycle.
28031
280322009-04-30  castaglia <castaglia>
28033
28034	* tests/t/lib/ProFTPD/Tests/Commands/PORT.pm: A proftpd user in the
28035	forums mentioned encountering the "Cannot assign requested address"
28036	error when attempting active data transfers.  Add a unit test which
28037	demonstrates how this error can occur (usually because of badly
28038	behaved FTP clients which do not cleanly close the data connection
28039	once done with it).
28040
280412009-04-30  castaglia <castaglia>
28042
28043	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: If we need to explicitly
28044	specify the PORT argument, then make sure that we open an
28045	appropriate listening socket based on that argument; Net::FTP does
28046	not do this for us.  Sigh.
28047
280482009-04-29  castaglia <castaglia>
28049
28050	* contrib/mod_tls.c: OpenSSL-0.9.8j enables TLS extensions by
28051	default.  This includes, among other things, SSL/TLS tickets.
28052	However, some older clients do not interoperate well with TLS
28053	extensions like this enabled.  So to preserve the principle of least
28054	surprise, disable the use of SSL/TLS tickets.
28055
280562009-04-29  castaglia <castaglia>
28057
28058	* contrib/mod_sftp/mod_sftp.c,
28059	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: After a restart,
28060	mod_sftp needs to re-allocate and re-compile the regexes for known
28061	client versions with bugs; the compiled regex memory pool is cleared
28062	during a restart.  Failure to do this can result in a segfault after
28063	the restart.  Add an accompanying unit test.
28064
280652009-04-29  castaglia <castaglia>
28066
28067	* modules/mod_ls.c: Quell compiler warnings about unused variables
28068	when --enable-nls is used.
28069
280702009-04-28  castaglia <castaglia>
28071
28072	* doc/contrib/mod_exec.html: Include the %w variable in the
28073	mentioned list of supported variables.
28074
280752009-04-28  castaglia <castaglia>
28076
28077	* doc/contrib/mod_exec.html, doc/contrib/mod_shaper.html: Update the
28078	mod_exec and mod_shaper docs.
28079
280802009-04-28  castaglia <castaglia>
28081
28082	* contrib/mod_exec.c: The mod_exec module was not registering for
28083	the proper event name for handling the unloading of the module.
28084
280852009-04-28  castaglia <castaglia>
28086
28087	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_exec.c,
28088	doc/contrib/mod_exec.html: Added mod_exec to contrib modules.
28089
280902009-04-28  castaglia <castaglia>
28091
28092	* doc/howto/TLS.html: Add TLS FAQ about whether FTPS protects both
28093	control and data connections (it does).
28094
280952009-04-28  castaglia <castaglia>
28096
28097	* doc/contrib/mod_sftp.html: Added SFTP FAQ about having an
28098	SFTP-only proftpd.
28099
281002009-04-28  castaglia <castaglia>
28101
28102	* tests/tests.pl: Run the DisplayQuit tests as part of the
28103	testsuite.
28104
281052009-04-28  castaglia <castaglia>
28106
28107	* tests/t/lib/ProFTPD/Tests/Config/DisplayQuit.pm: Adding tests for
28108	the DisplayQuit directive.
28109
281102009-04-27  castaglia <castaglia>
28111
28112	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_shaper.c,
28113	doc/contrib/mod_shaper.html: Add mod_shaper to the contrib/ modules.
28114
281152009-04-25  castaglia <castaglia>
28116
28117	* contrib/mod_rewrite.c: Fix rewrite_log() so that it uses
28118	pr_log_vwritefile().  Make rewrite_openlog() handle the WRITABLE_DIR
28119	and SYMLINK return values from pr_log_openfile().
28120
281212009-04-25  castaglia <castaglia>
28122
28123	* modules/mod_xfer.c, src/display.c, tests/t/config/displayquit.t,
28124	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
28125	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
28126	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm: Fix handling of
28127	multiline Display files.  Update the handling of DisplayFileTransfer
28128	files such that they replace the 226 response message, rather than
28129	prepending to it.
28130
281312009-04-24  castaglia <castaglia>
28132
28133	* modules/mod_core.c: Fix another unsafe use of sizeof() on a
28134	pointer.
28135
281362009-04-24  castaglia <castaglia>
28137
28138	* src/dirtree.c: Fix unsafe sizeof(); it was being used on a
28139	pointer, not on a static buffer.
28140
281412009-04-24  castaglia <castaglia>
28142
28143	* contrib/mod_sftp/fxp.c: Increase the allocated buffer size for a
28144	READDIR response, and try to be smarter about the buffer size.
28145
281462009-04-24  castaglia <castaglia>
28147
28148	* modules/mod_cap.c: Refine the criteria for using
28149	CAP_SETUID/CAP_SETGID.  In addition to checking for the mod_sftp and
28150	mod_exec modules, make sure that those modules are enabled via their
28151	respective Engine directives.  This is to handle cases where the
28152	modules might be present in the executable but not enabled via
28153	config.
28154
281552009-04-24  castaglia <castaglia>
28156
28157	* contrib/mod_sftp/utf8.c: If UTF8 encoding/decoding of a string
28158	fails, log the error and return the original string (instead of
28159	returning NULL).
28160
281612009-04-24  castaglia <castaglia>
28162
28163	* contrib/mod_sftp/auth.c: No need to acquire root privs explicitly
28164	before dropping them.
28165
281662009-04-24  castaglia <castaglia>
28167
28168	* modules/mod_cap.c: On Linux, the mod_cap module will interfere
28169	with modules/code that wishes to drop root privs completely, e.g.
28170	mod_exec (when executing scripts), mod_sftp (after authenticating),
28171	or when the RootRevoke directive is used.  The problem is that the
28172	CAP_SETUID and CAP_SETGID capabilties, needed for dropping root
28173	privs, are not enabled by mod_cap.  This change adds the CAP_SETUID and CAP_SETGID capabilities if
28174	mod_exec or mod_sftp is present, or if "RootRevoke on" is found in
28175	the config.  Minor stylistic cleanup is also part of this change.
28176
281772009-04-24  castaglia <castaglia>
28178
28179	* modules/mod_ls.c: When generating directory listings, set the
28180	ASCII flag after the data connection has been successfully opened
28181	consistently.  Some places were setting the flag before the data
28182	connection open, some after.
28183
281842009-04-24  castaglia <castaglia>
28185
28186	* configure: Updated configure.
28187
281882009-04-24  castaglia <castaglia>
28189
28190	* configure.in: Automatically set the PR_USE_OPENSSL define if
28191	mod_sftp is requested, just as we do when mod_tls is requested.
28192
281932009-04-23  castaglia <castaglia>
28194
28195	* contrib/mod_ctrls_admin.c: Quell a compiler warning about a
28196	declared but not used variable.
28197
281982009-04-23  castaglia <castaglia>
28199
28200	* contrib/mod_quotatab.c: The mod_quotatab module really should
28201	report when it fails to open the configured QuotaLog for any reason.
28202
282032009-04-23  castaglia <castaglia>
28204
28205	* contrib/mod_sftp/fxp.c: Fix minor case in the handling of the
28206	'sftpUTF8ProtocolVersion' SFTPClientMatch attribute where the path
28207	description for a READDIR request may need to be encoded, depending
28208	on the chosen SFTP UTF8 protocol version.
28209
282102009-04-23  castaglia <castaglia>
28211
28212	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
28213	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update the unit tests
28214	for Bug#3032 to only run if NLS support is not enabled.
28215
282162009-04-23  castaglia <castaglia>
28217
28218	* modules/mod_ls.c: Forgot to add the NLS conditional to the
28219	handling of NLST as well.
28220
282212009-04-23  castaglia <castaglia>
28222
28223	* modules/mod_ls.c: Modify the fix for Bug#3032 so that it is only
28224	used of NLS support is not being used; the encoding can cause
28225	problems for the isprint(3) function.
28226
282272009-04-23  castaglia <castaglia>
28228
28229	* NEWS, src/inet.c: Bug#3237 - "error setting IPV6_V6ONLY: Protocol
28230	not available" message filling up log file.  The change was to not try to set the IPV6_V6ONLY socket option on an
28231	IPv4-mapped IPv6 address.
28232
282332009-04-21  castaglia <castaglia>
28234
28235	* contrib/mod_sftp/fxp.c: Quell more compiler warnings about
28236	possbily using variables before they have been initialized.
28237
282382009-04-21  castaglia <castaglia>
28239
28240	* contrib/mod_quotatab.c: Make sure that the trace message is based
28241	on the actual lock type, not on the type as passed in by the caller.
28242
282432009-04-21  castaglia <castaglia>
28244
28245	* contrib/mod_quotatab.c: Actually use the lock type given by the
28246	caller.  Ouch.
28247
282482009-04-21  castaglia <castaglia>
28249
28250	* contrib/mod_sftp/kex.c: Handle "SFTPCompression off" properly.
28251
282522009-04-21  castaglia <castaglia>
28253
28254	* contrib/mod_quotatab.c: More changes to the QuotaLock lock
28255	operation handling, trying to avoid spinning in a loop too tightly.
28256
282572009-04-21  castaglia <castaglia>
28258
28259	* contrib/mod_sftp/fxp.c: Make sure that the variables are
28260	initialised, when handling REALPATH requests, before a permissions
28261	check.
28262
282632009-04-21  castaglia <castaglia>
28264
28265	* contrib/mod_quotatab.c: Retry the lock operation on the QuotaLock
28266	for EAGAIN as well.
28267
282682009-04-21  castaglia <castaglia>
28269
28270	* tests/t/config/displayfiletransfer.t,
28271	tests/t/lib/ProFTPD/Tests/Config/DisplayFileTransfer.pm,
28272	tests/tests.pl: Add unit tests for the DisplayFileTransfer
28273	directive.
28274
282752009-04-20  castaglia <castaglia>
28276
28277	* src/dirtree.c: Make sure that we ONLY use the
28278	PR_TUNABLE_XFER_BUFFER_SIZE (which IS set in include/options.h) in
28279	the case where we cannot determine the best sizes automatically from
28280	the kernel.
28281
282822009-04-20  castaglia <castaglia>
28283
28284	* doc/contrib/mod_sftp.html: Document the sftpUTF8ProtocolVersion
28285	SFTPClientMatch attribute.
28286
282872009-04-20  castaglia <castaglia>
28288
28289	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
28290	contrib/mod_sftp/interop.c, contrib/mod_sftp/mod_sftp.c: Added
28291	support for a 'sftpUTF8ProtcolVersion' SFTPClientMatch attribute.
28292	This attribute can be used to switch the SFTP protocol version at
28293	which mod_sftp uses UTF8 encoding; the normal protocol version at
28294	which this happens is 4 (and above).  Some clients may need the UTF8
28295	encoding when using protocol version 3, however.
28296
282972009-04-17  castaglia <castaglia>
28298
28299	* doc/contrib/mod_sftp.html: Clarify when the various SSH2
28300	authentication methods are offered.  Fix a typo.
28301
283022009-04-17  castaglia <castaglia>
28303
28304	* contrib/mod_sftp/channel.c: Update the trace log message about the
28305	size of the CHANNEL_DATA sent to use just the payload size, not the
28306	packet size.
28307
283082009-04-17  castaglia <castaglia>
28309
28310	* contrib/mod_sftp/channel.c: Fix the calculation of the remote
28311	channel window size by NOT including the length of the "header"
28312	fields (9 bytes) in the amount to decrement for the remote window
28313	size.  This was causing mod_sftp to see the remote window "close"
28314	prematurely (depending on the amount of data transferred and the
28315	initial client window size).
28316
283172009-04-15  castaglia <castaglia>
28318
28319	* doc/howto/Filters.html: Add the example PathAllowFilter that only
28320	allows printable characters.
28321
283222009-04-15  castaglia <castaglia>
28323
28324	* doc/howto/Filters.html,
28325	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Update the doc,
28326	and unit test, to reflect the proper pattern to use.
28327
283282009-04-15  castaglia <castaglia>
28329
28330	* doc/howto/Filters.html: Give an example of using PathDenyFilter to
28331	prevent filenames which contain non-printable characters.
28332
283332009-04-15  castaglia <castaglia>
28334
28335	* NEWS, modules/mod_ls.c,
28336	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
28337	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
28338	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm,
28339	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
28340	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Bug#3032 - CR
28341	character allowed in filename but not shown.
28342
283432009-04-14  castaglia <castaglia>
28344
28345	* doc/howto/Tracing.html, src/trace.c: Remove the 'privs' channel
28346	from the default channels; it is not as productive to see the privs
28347	messages as the other channels in the default group.
28348
283492009-04-14  castaglia <castaglia>
28350
28351	* modules/mod_delay.c: Make sure a pointer is initialized to NULL,
28352	so that if a matching protocol row is not found, a segfault will
28353	occur.  (It's better than reading off into some random stack memory
28354	address.)
28355
283562009-04-14  castaglia <castaglia>
28357
28358	* NEWS, modules/mod_delay.c: Bug#3230 - Differentiate among protocol
28359	connections in DelayTable.
28360
283612009-04-14  castaglia <castaglia>
28362
28363	* doc/contrib/mod_sftp.html: Update the list of config directives
28364	that are not supported by mod_sftp.
28365
283662009-04-14  castaglia <castaglia>
28367
28368	* contrib/mod_sftp/fxp.c,
28369	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add SFTP unit tests
28370	to ensure that mod_sftp honors the AllowOverwrite, HideFiles, and
28371	Path*Filter directives.  Note that similar tests are needed for the
28372	SCP code paths as well.
28373
283742009-04-13  castaglia <castaglia>
28375
28376	* configure: Updated configure.
28377
283782009-04-13  castaglia <castaglia>
28379
28380	* configure.in: Add a check for --with-modules=mod_dso, and warn the
28381	admin to use --enable-dso instead.
28382
283832009-04-10  castaglia <castaglia>
28384
28385	* configure: Updated configure.
28386
283872009-04-10  castaglia <castaglia>
28388
28389	* configure.in: Typo.
28390
283912009-04-09  castaglia <castaglia>
28392
28393	* modules/mod_facts.c: Use cmd->arg, rather than concatenating
28394	cmd->argv[] ourselves, in order to deal with paths with spaces.
28395	This is a better approach, given that NLS encoding of paths might
28396	cause the concatenation we were doing to do the wrong thing.
28397
283982009-04-09  castaglia <castaglia>
28399
28400	* modules/mod_facts.c: Clean up some of the logging when opendir(3)
28401	fails when handling MLSD.
28402
284032009-04-09  castaglia <castaglia>
28404
28405	* src/timers.c: Add trace logging when timers are reset.
28406
284072009-04-09  castaglia <castaglia>
28408
28409	* contrib/mod_sftp/fxp.c,
28410	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: mod_sftp now honors
28411	DirFakeMode.
28412
284132009-04-09  castaglia <castaglia>
28414
28415	* tests/t/config/dirfakemode.t,
28416	tests/t/lib/ProFTPD/Tests/Config/DirFakeMode.pm, tests/tests.pl: Add
28417	unit test for the DirFakeMode directive.
28418
284192009-04-09  castaglia <castaglia>
28420
28421	* contrib/mod_sftp/fxp.c, contrib/mod_sftp/scp.c: Set the
28422	session.xfer.direction variable when using SFTP or SCP.
28423
284242009-04-08  castaglia <castaglia>
28425
28426	* contrib/mod_sftp/fxp.c,
28427	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make mod_sftp honor
28428	HideNoAccess (and other <Directory> config directives).
28429
284302009-04-08  castaglia <castaglia>
28431
28432	* contrib/mod_sftp/scp.c,
28433	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add the checking for
28434	valid paths, handling of open() failures, PRE_CMD errors, etc when
28435	uploading via SCP into the recv_finfo() function.  The problem was
28436	that those checks were happening *after* recv_finfo() had sent the
28437	"OK" message back to the SCP client; the client would then commence
28438	uploading.  Any errors of these sorts need to send a "NOT OK"
28439	message to the SCP client before the upload occurs.
28440
284412009-04-08  castaglia <castaglia>
28442
28443	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
28444	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Fix more unit
28445	tests to run properly as root.
28446
284472009-04-07  castaglia <castaglia>
28448
28449	* contrib/mod_tls.c: Typo/bug.
28450
284512009-04-07  castaglia <castaglia>
28452
28453	* src/ftpdctl.c: Include the privs.h header so as to avoid compiler
28454	warnings about the pr_privs* functions not being previously
28455	declared.
28456
284572009-04-07  castaglia <castaglia>
28458
28459	* contrib/mod_ctrls_admin.c: Use the proper number of arguments for
28460	pr_ctrls_log(), and avoid pedantic compiler warnings/errors.
28461
284622009-04-07  castaglia <castaglia>
28463
28464	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Another set of
28465	tests to clean up so that they run properly when root.
28466
284672009-04-07  castaglia <castaglia>
28468
28469	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
28470	tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: More cleanup of unit
28471	tests that don't work properly when run as root.
28472
284732009-04-07  castaglia <castaglia>
28474
28475	* modules/mod_core.c: Fix bug introduced by the patch for Bug#2067.
28476	Style cleanup there, too.
28477
284782009-04-06  castaglia <castaglia>
28479
28480	* tests/t/lib/ProFTPD/Tests/Config/Order.pm,
28481	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
28482	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm,
28483	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
28484	tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm: Fixup more test
28485	cases so run properly when run as root.
28486
284872009-04-06  castaglia <castaglia>
28488
28489	* src/privs.c: The testsuite found that the privs.c code was
28490	blocking signals, and then not unblocking them in certain cases.
28491	This is a Bad Thing.  Fix the bug.
28492
284932009-04-06  castaglia <castaglia>
28494
28495	* contrib/mod_sftp/channel.c: Make sure that the max data payload we
28496	can send is larger than the header length.  Otherwise, we would have
28497	bombed out due to bad logic on my part.
28498
284992009-04-06  castaglia <castaglia>
28500
28501	* doc/howto/Tracing.html, src/trace.c: Add the "privs" logging
28502	channel to the default list of channels.
28503
285042009-04-06  castaglia <castaglia>
28505
28506	* Make.rules.in, include/privs.h, modules/mod_ctrls.c,
28507	modules/mod_delay.c, modules/mod_log.c, src/ftpdctl.c, src/privs.c:
28508	Do what should have been done long ago, and move the PRIVS macros
28509	into functions, and into their own .c file.  The main driving reason for this is that the PRIVS macros need to be
28510	nestable, to avoid recurrences of bugs like Bug#2242.  The privs.c
28511	file adds nestable PRIVS invocations, and so far everything looks
28512	like it's still working properly.
28513
285142009-04-06  castaglia <castaglia>
28515
28516	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
28517	tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Fix a few more tests
28518	which fail when run with root privs.
28519
285202009-04-06  castaglia <castaglia>
28521
28522	* tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
28523	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Add some unit tests for
28524	the MFF and MFMT commands, proving that using relative paths in the
28525	commands in a chrooted session work as expected.
28526
285272009-04-06  castaglia <castaglia>
28528
28529	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
28530	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
28531	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
28532	tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
28533	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm,
28534	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm,
28535	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
28536	tests/t/lib/ProFTPD/Tests/Logins.pm: Fix some of the unit tests
28537	which fail when run with root privs.  Update some that simply needed
28538	to be updated to match the current code.  Quell Perl warnings about
28539	redeclared variables in some cases.
28540
285412009-04-05  castaglia <castaglia>
28542
28543	* contrib/mod_sftp/auth.c: Update mod_sftp to use session.notes for
28544	the original user name sent by the client, just as the mod_auth
28545	module does.
28546
285472009-04-05  castaglia <castaglia>
28548
28549	* RELEASE_NOTES, contrib/mod_ban.c, contrib/mod_radius.c,
28550	contrib/mod_rewrite.c, contrib/mod_sql.c, contrib/mod_wrap.c,
28551	contrib/mod_wrap2/mod_wrap2.c, modules/mod_auth.c,
28552	modules/mod_log.c, src/display.c, src/main.c,
28553	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Finish Bug#2715,
28554	and have the original USER value stashed in, and retrieved from, the
28555	session.notes table.  Make note of this change in the release notes
28556	as well, as it could impact module developers.
28557
285582009-04-05  castaglia <castaglia>
28559
28560	* NEWS, RELEASE_NOTES, contrib/mod_rewrite.c, contrib/mod_sql.c,
28561	modules/mod_core.c, modules/mod_log.c,
28562	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
28563	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
28564	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3029 -
28565	Support a RewriteCondition variable for renames.  Add a %w variable for the source path of a rename (mnemonic:
28566	"whence" the rename came); this variable is only valid for the RNTO
28567	command.  Support for the %w variable is also in LogFormat and the
28568	SQLLog directives; the mod_exec module will support it as well.
28569
285702009-04-04  castaglia <castaglia>
28571
28572	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added a
28573	mod_quotatab_sql unit test for Bug#3086.  The generated log file
28574	shows that the use of QuotaLock does indeed protect the calls to
28575	quotatab_lookup() and quotatab_create().  In fact, this use of
28576	QuotaLock perfectly exercises the fixed quotatab locking in terms of
28577	lock nesting, as the quotatab_create() function itself uses
28578	write-locks (and, in the case of mod_quotatab_sql, uses the same fd
28579	for locking).
28580
285812009-04-04  castaglia <castaglia>
28582
28583	* NEWS, contrib/mod_quotatab.c, contrib/mod_quotatab.h,
28584	contrib/mod_quotatab_sql.c: Bug#3086 - mod_quotatab write locking is
28585	ineffective.
28586
285872009-04-03  castaglia <castaglia>
28588
28589	* contrib/mod_ban.c, contrib/mod_sftp/scp.c, contrib/mod_tls.c: If
28590	we are calling getopt(3) again in a proftpd process (i.e. after the
28591	initial call to getopt(3) when the daemon starts up), then we need
28592	make sure that the POSIXLY_CORRECT environment variable is set.  A segfault in mod_sftp was occurring because of getopt(3)
28593	rearranging the array of strings; on a 64-bit machine whose pointer
28594	sizes are different than what is expected, strange things happen.
28595	Setting POSIXLY_CORRECT tells getopt(3) not to rearrange the array
28596	of strings.
28597
285982009-04-03  castaglia <castaglia>
28599
28600	* doc/howto/Compiling.html: Mention the --with-lastlog configure
28601	option, and use an unordered list for the main/popular configure
28602	options.
28603
286042009-04-03  castaglia <castaglia>
28605
28606	* contrib/mod_sftp/mod_sftp.c: Stupid Solaris prints "Not owner",
28607	instead of "Operation not permitted", for the EPERM errno.  Grr.  So
28608	instead of using EPERM, switch to using EACCES.
28609
286102009-04-03  castaglia <castaglia>
28611
28612	* contrib/mod_sftp/scp.c: Catch a few places in the SCP upload code
28613	where confirmation errors were not being properly written back to
28614	the client at the right times.
28615
286162009-04-03  castaglia <castaglia>
28617
28618	* modules/mod_auth_unix.c: Fix compilation errors when
28619	HAVE_LOGINRESTRICTIONS (AIX platform, mostly) is defined.
28620
286212009-04-01  castaglia <castaglia>
28622
28623	* NEWS, src/dirtree.c: Bug#3233 - Dynamic config causes many copies
28624	of static configs to be merged.
28625
286262009-04-01  castaglia <castaglia>
28627
28628	* contrib/mod_tls.c: Actually match the code to the comment, and
28629	return the connection to blocking mode if it had been so prior to
28630	the SSL_accept() call.
28631
286322009-04-01  castaglia <castaglia>
28633
28634	* NEWS, contrib/mod_tls.c: Bug#3234 - SSL connections can cause 100%
28635	CPU usage.  In a nonblocking loop around SSL_accept(), make sure we delay a bit
28636	(using select()) before retrying the SSL_accept() call.  Without the
28637	delay, the loop spins too quickly, consuming CPU.
28638
286392009-03-31  castaglia <castaglia>
28640
28641	* contrib/mod_sftp/scp.c: Make the SCP uploading code use
28642	dir_canonical_vpath(), just as the SFTP code does (specifically the
28643	REALPATH SFTP request handler), to be consistent.  (And, hopefully, to fix some reported segfaults seen when uploading
28644	via SCP.)
28645
286462009-03-31  castaglia <castaglia>
28647
28648	* Make.rules.in: Fix a link ordering problem on Mac OSX; if the GNU
28649	gettext library is used (e.g. using --enable-nls), then libc is
28650	linked before libsupp.  This causes a problem for proftpd, since
28651	libsupp contains, among other things, our own particular glob(3)
28652	implementation.  If we use our glibc-glob.h header, but use the
28653	system glob(3) implementation, strange things happen.  So make sure
28654	that our libraries are linked before the other libraries.  Hopefully this does not cause other strange library/link
28655	order-related issues.
28656
286572009-03-31  castaglia <castaglia>
28658
28659	* modules/mod_lang.c: Missed a dir_check() call which needs to pass
28660	the cmd_rec pointer, not just the command name.
28661
286622009-03-30  castaglia <castaglia>
28663
28664	* src/log.c: Add some sane errno values if pr_log_openfile() fails
28665	in some cases.
28666
286672009-03-30  castaglia <castaglia>
28668
28669	* NEWS, include/fsio.h, modules/mod_ctrls.c, src/fsio.c,
28670	src/ftpdctl.c, src/log.c, src/trace.c: Bug#3225 - Opening of files
28671	during restart can inappropriately use stdin/stdout/stderr
28672	descriptors, leading to bad behavior.  This patch adds a new pr_fsio_get_usable_fd() function, for
28673	obtaining an fd (via dup(2)) which is NOT stdin/stdout/stderr.  It
28674	is to be used by functions which can be called in the daemon process
28675	during startup/restart to ensure that the obtained descriptor will
28676	not cause other issues (i.e.  with other code which assumes the use
28677	of stdin/stdout/stderr).  I suspect that this has been the
28678	underlying cause of several inexplicable crashes/ log messages
28679	during restarts.
28680
286812009-03-30  castaglia <castaglia>
28682
28683	* doc/howto/Rewrite.html: Another good mod_rewrite example.
28684
286852009-03-29  castaglia <castaglia>
28686
28687	* NEWS, contrib/mod_wrap.c, contrib/mod_wrap2/mod_wrap2.c: Bug#3209
28688	- mod_wrap2 should support the 'spawn' feature (or equivalent) of
28689	tcpwrappers.  Add event generation to the mod_wrap and mod_wrap2 modules when a
28690	connection is refused.  The mod_exec module can register listeners
28691	for this event, and execute a command (e.g.
28692	blockhosts/denyhosts/fail2ban) in response.
28693
286942009-03-29  castaglia <castaglia>
28695
28696	* doc/contrib/mod_wrap.html: Add mod_wrap FAQ about Bugs #2629,
28697	#2787, #3209.
28698
286992009-03-28  castaglia <castaglia>
28700
28701	* NEWS, RELEASE_NOTES, contrib/mod_tls.c,
28702	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#2178 - Extend
28703	TLSRequired for <Directory> and .ftpaccess contexts.
28704
287052009-03-27  castaglia <castaglia>
28706
28707	* contrib/mod_sftp/scp.c: More futzing with the path resolution for
28708	SCP uploading.
28709
287102009-03-27  castaglia <castaglia>
28711
28712	* NEWS, RELEASE_NOTES, contrib/mod_sql.c,
28713	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3043 -
28714	SQLGroupInfo should allow custom queries.
28715
287162009-03-27  castaglia <castaglia>
28717
28718	* configure: Updated configure.
28719
287202009-03-27  castaglia <castaglia>
28721
28722	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#3231
28723	- Use getgrset(3) on AIX to emulate getgrouplist(3).
28724
287252009-03-26  castaglia <castaglia>
28726
28727	* NEWS, modules/mod_ls.c, src/dirtree.c,
28728	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Bug#3226 - HideFiles
28729	directive not working properly in <Anonymous> sections.
28730
287312009-03-26  castaglia <castaglia>
28732
28733	* doc/contrib/mod_sftp.html: Typo.
28734
287352009-03-26  castaglia <castaglia>
28736
28737	* RELEASE_NOTES: Another note about use of the %{protocol} variable.
28738
287392009-03-26  castaglia <castaglia>
28740
28741	* contrib/mod_sftp/scp.c: Fix SCP uploading to handle an OpenSSH scp
28742	client invocations like:   scp <file> <addr>:   scp <file> <addr>:.  These were being blocked on the STOR PRE_CMD handler because
28743	mod_xfer only saw '.' as the file being uploaded, and would complain
28744	about "not a regular file".
28745
287462009-03-25  castaglia <castaglia>
28747
28748	* doc/howto/SQL.html: Mention that the discussion about
28749	userset/usersetfast holds true for groupset/groupsetfast as well.
28750
287512009-03-25  castaglia <castaglia>
28752
28753	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Update the mod_tls
28754	unit tests to reflect changes in the recently released
28755	Net::FTPSSL-0.08.  Still can't reuse the SSL session from the
28756	control connection on a data connection, though.  (It's a limitation
28757	in the fact that Net::FTPSSL uses Net::SSLeay::Handle for the data
28758	connections, and Net::SSLeay::Handle does not have a way to pass in
28759	a SSL_CTX to use.  Sigh.)
28760
287612009-03-25  castaglia <castaglia>
28762
28763	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix the test
28764	case for Bug#3149 slightly, to avoid any DNS issues.
28765
287662009-03-25  castaglia <castaglia>
28767
28768	* src/bindings.c: Modify the fix for Bug#2680 slightly, to avoid
28769	breaking configurations which rely on the current behavior regarding
28770	"DefaultServer on".  Now, if there is a vhost with "DefaultServer
28771	on", that will be used in favor of a vhost listening on the wildcard
28772	address.
28773
287742009-03-25  castaglia <castaglia>
28775
28776	* doc/howto/SQL.html: Add a SQL FAQ about the 'userset' and
28777	'usersetfast' SQLAuthenticate options.
28778
287792009-03-25  castaglia <castaglia>
28780
28781	* RELEASE_NOTES, doc/contrib/mod_sql.html: Update the SQLUserInfo
28782	docs to mention the fix for Bug#2434.  Mention this in the release
28783	notes as well.
28784
287852009-03-25  castaglia <castaglia>
28786
28787	* NEWS, contrib/mod_sql.c,
28788	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#2434 -
28789	Buggy interaction between custom SQLUserInfo and 'userset'
28790	SQLAuthenticate parameter.  Fixing this required supporting a couple of other SQLNamedQuery
28791	names, optional, to handle the 'userset' and 'usersetfast' cases.
28792
287932009-03-24  castaglia <castaglia>
28794
28795	* RELEASE_NOTES: Don't forget to mention the new %{protocol}
28796	variable in the release notes.
28797
287982009-03-24  castaglia <castaglia>
28799
28800	* NEWS, contrib/mod_quotatab.c, contrib/mod_ratio.c,
28801	contrib/mod_sftp/auth.c, contrib/mod_sftp/fxp.c,
28802	contrib/mod_sftp/scp.c, contrib/mod_site_misc.c, contrib/mod_tls.c,
28803	include/dirtree.h, modules/mod_auth.c, modules/mod_core.c,
28804	modules/mod_facts.c, modules/mod_ls.c, modules/mod_xfer.c,
28805	src/dirtree.c, tests/t/config/limit/filters.t,
28806	tests/t/lib/ProFTPD/Tests/Config/Limit/Filters.pm, tests/tests.pl:
28807	Bug#2067 - Allow/Deny Filters should be supported in the <Limit>
28808	context.
28809
288102009-03-23  castaglia <castaglia>
28811
28812	* NEWS, contrib/mod_quotatab.c, contrib/mod_quotatab.h,
28813	contrib/mod_quotatab_file.c, contrib/mod_quotatab_ldap.c,
28814	contrib/mod_quotatab_radius.c, contrib/mod_quotatab_sql.c,
28815	tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Bug#3161 -
28816	Updating tallies for deleted files should occur based on file
28817	ownership.  Fixing this bug required changing the mod_quotatab API such that the
28818	limit and tally objects into which data is read/written (from the
28819	backend modules) are part of the API calls, rather than using
28820	globals.  That's why there's so much code churn for this particular
28821	fix.  But it's a Good Thing; these changes make fixing other types
28822	of quota bugs much easier now.
28823
288242009-03-23  castaglia <castaglia>
28825
28826	* doc/contrib/mod_rewrite.html: Update the mod_rewrite docs to
28827	mention the Bug#3028 fix.
28828
288292009-03-23  castaglia <castaglia>
28830
28831	* NEWS, contrib/mod_rewrite.c,
28832	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3028 - Unable
28833	to escape special characters in RewriteRule substitution string.
28834
288352009-03-23  castaglia <castaglia>
28836
28837	* modules/mod_ls.c: When handling the LIST output, the outputfiles()
28838	function used to do 4 sorts, linearly scanning the list of files
28839	built up using addfile().  Ostensibly this list is used for sorting
28840	1) a la -t or -S, and 2) for supporting -C.  These 4 sorts are
28841	needed only for -C, which is not used that often.  Thus it is now
28842	conditional.  In the future, the entire use of the struct filename structure (and
28843	the allocations out of the fpool pool which need to be freed after
28844	all of the sorting) can be avoided for every case _except_ when -C,
28845	-S, or -t is used.  This too can add some performance gains to the
28846	perceived LIST response time.
28847
288482009-03-23  castaglia <castaglia>
28849
28850	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Add a unit test for
28851	Bug#2821 for the LIST command as well.  It is/can be useful for
28852	diagnosing/tuning the performance of the time needed to free all of
28853	the struct filename structures allocated for LIST entries (needed
28854	for the potential -C sorting).  Further gains can be done by *only
28855	allocating* these structures if the -C option is used.  Add a unit test using LIST -C, also for such tests.
28856
288572009-03-22  castaglia <castaglia>
28858
28859	* tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: More work
28860	on the <Directory>-related performance tests.
28861
288622009-03-22  castaglia <castaglia>
28863
28864	* src/cmd.c, src/main.c: Fix the code in
28865	pr_cmd_get_displayable_str() to be a little easier to follow in my
28866	head.  (Also easier to debug.) If we are going to be truncating an incoming FTP command because of
28867	the CommandBufferSize, log about this.  Silent truncations are
28868	annoying to track down.
28869
288702009-03-22  castaglia <castaglia>
28871
28872	* modules/mod_core.c: There is no reason to mark absolute paths in
28873	<Directory> sections for deferred resolution; it only adds to the
28874	login time (due to the running time of the resolve_deferred_dirs()
28875	function) needlessly.
28876
288772009-03-22  castaglia <castaglia>
28878
28879	* src/main.c: Quell compiler warning.
28880
288812009-03-22  castaglia <castaglia>
28882
28883	* doc/howto/Globbing.html: Updating the Globbing howto to mention
28884	the tunable name changes/additions.
28885
288862009-03-22  castaglia <castaglia>
28887
28888	* include/options.h, lib/glibc-glob.c, src/main.c: Add new
28889	PR_TUNABLE_GLOBBING_MAX_MATCHES tunable, as part of Bug#2821.
28890
288912009-03-22  castaglia <castaglia>
28892
28893	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
28894	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm, tests/tests.pl: Add a
28895	test case used for tracking down part of Bug#2821.  It's a slow
28896	test, so make sure that it is not run as part of the default
28897	testsuite.
28898
288992009-03-22  castaglia <castaglia>
28900
28901	* modules/mod_ls.c: Set the GLOB_NOSORT flag, by default, for NLST
28902	globs.  This can help to speed up the glob(3) call by not requiring
28903	that the results be sorted.  This can be changed via NLST options
28904	(and the ListOptions directive).  Add some debug logging on the number of matched paths found by
28905	glob(3), to aid in debugging cases where glibc's glob limits are
28906	encountered, e.g. Bug#2821.
28907
289082009-03-21  castaglia <castaglia>
28909
28910	* modules/mod_ls.c: Improve NLST performance by NOT telling
28911	sendline() to flush _after each NLST line added_.  That defeats the
28912	whole purpose of having a buffer for sending lines in batches.
28913
289142009-03-21  castaglia <castaglia>
28915
28916	* src/pool.c: Optimize for the most common case; this is frequently
28917	called function.
28918
289192009-03-20  castaglia <castaglia>
28920
28921	* contrib/mod_sftp/scp.c,
28922	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that scp
28923	uploading a file into a nonexistent subdir a) fails, and b) does NOT cause a disconnect.
28924
289252009-03-20  castaglia <castaglia>
28926
28927	* contrib/mod_sftp/disconnect.c, contrib/mod_sftp/disconnect.h:
28928	Clean up the disconnect trace log message a little when the __FUNC__
28929	(or equivalent) macro is not supported by the compiler.
28930
289312009-03-20  castaglia <castaglia>
28932
28933	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
28934	src/main.c: Bug#3221 - Command line defines (-D/--define) are lost
28935	on SIGHUP.
28936
289372009-03-20  castaglia <castaglia>
28938
28939	* doc/howto/ASCII.html: Add a FAQ about why the ASCII mode
28940	restriction was placed on the SIZE command.
28941
289422009-03-20  castaglia <castaglia>
28943
28944	* modules/mod_core.c: Make sure that any stat cache is cleared when
28945	answering a SIZE command.
28946
289472009-03-19  castaglia <castaglia>
28948
28949	* contrib/mod_sftp/configure: Updated mod_sftp's configure.
28950
289512009-03-19  castaglia <castaglia>
28952
28953	* contrib/mod_sftp/configure.in, contrib/mod_sftp/crypto.c,
28954	contrib/mod_sftp/mod_sftp.h.in: Add an autoconf check for the
28955	EVP_aes_{192,256}_cbc() symbols in OpenSSL.  Solaris 10 shipped a
28956	crippled OpenSSL for a while, where AES support for bit lengths
28957	greater than 128 were removed.
28958
289592009-03-19  castaglia <castaglia>
28960
28961	* contrib/mod_sftp/auth-hostbased.c,
28962	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
28963	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
28964	contrib/mod_sftp/auth.h: Rewriting the user name in SSH2
28965	authentication is a little bit trickier, since we need to track both
28966	the original user name sent by the client (for signature
28967	verification and such) as well as the (possibly rewritten) user
28968	name, for authentication/authorization.
28969
289702009-03-19  castaglia <castaglia>
28971
28972	* contrib/mod_sftp/auth.c,
28973	tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Make sure that
28974	mod_rewrite can be used to rewrite the user names given during SSH2
28975	authentication as well.
28976
289772009-03-19  castaglia <castaglia>
28978
28979	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit tests for
28980	the SCP+mod_rewrite cases.
28981
289822009-03-19  castaglia <castaglia>
28983
28984	* contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c,
28985	contrib/mod_sftp/scp.c: Make sure that mod_rewrite can be applied to
28986	SCP commands as well.
28987
289882009-03-19  castaglia <castaglia>
28989
28990	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Unit tests
28991	validating the use of mod_rewrite to rewrite SFTP requests.
28992
289932009-03-19  castaglia <castaglia>
28994
28995	* contrib/mod_rewrite.c: Add a comment about why there's a test for
28996	a SYMLINK command in mod_rewrite.
28997
289982009-03-19  castaglia <castaglia>
28999
29000	* contrib/mod_rewrite.c, contrib/mod_sftp/fxp.c: The handling of
29001	SFTP requests now honors PRE_CMD handlers such as mod_rewrite; this
29002	means you can use mod_rewrite on SFTP requests, just like you would
29003	on FTP commands.
29004
290052009-03-19  castaglia <castaglia>
29006
29007	* doc/howto/Compiling.html: Match the example configure options to
29008	their surrounding text.
29009
290102009-03-18  castaglia <castaglia>
29011
29012	* doc/contrib/mod_rewrite.html: Updated mod_rewrite docs to cover
29013	the %{ENV:var} syntax.
29014
290152009-03-18  castaglia <castaglia>
29016
29017	* NEWS, RELEASE_NOTES, contrib/mod_rewrite.c,
29018	tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Bug#3219 - Support
29019	environment variable substitutions in mod_rewrite rules.
29020
290212009-03-18  castaglia <castaglia>
29022
29023	* tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Add unit test
29024	for globbing <Directory> with Umask, trying unsuccessfully to
29025	reproduce an issue reported on the users mailing list.
29026
290272009-03-18  castaglia <castaglia>
29028
29029	* NEWS, contrib/mod_ban.c: Bug#3187 - Inconsistent mod_ban logging
29030	and display when using "BanEngine off" in an <IfClass>
29031	configuration.
29032
290332009-03-18  castaglia <castaglia>
29034
29035	* contrib/mod_sftp/rfc4716.c: Add a reminder comment for admins,
29036	should there be trouble parsing an AuthorizedKeys file, to make sure
29037	that the file is in the correct format.
29038
290392009-03-18  castaglia <castaglia>
29040
29041	* src/bindings.c: Enhance the patch for Bug#2680 even further, to
29042	properly handle connections to an IPv6 socket, and still looking for
29043	vhosts configured for the IPv4 wildcard address before finally
29044	falling back to DefaultServer.
29045
290462009-03-18  castaglia <castaglia>
29047
29048	* doc/howto/Limit.html: Should include the EPRT and EPSV commands in
29049	the example for specifying only one kind of data transfer (active or
29050	passive).
29051
290522009-03-17  castaglia <castaglia>
29053
29054	* doc/howto/Limit.html: Update the Limit docs to mention MLSD and
29055	MLST.
29056
290572009-03-17  castaglia <castaglia>
29058
29059	* contrib/mod_sftp/fxp.c: The reading of ATTRS for SFTP protocol
29060	versions greater than 3 was using the old file attribute flag
29061	values.
29062
290632009-03-17  castaglia <castaglia>
29064
29065	* src/dirtree.c: Fix another possible cause of Bug#3184: rewind to
29066	the start of the /etc/protocols file via a call to setprotoent(3),
29067	if available.
29068
290692009-03-17  castaglia <castaglia>
29070
29071	* NEWS, RELEASE_NOTES, src/bindings.c: Bug#2680 - Add support for
29072	<VirtualHost 0.0.0.0>.
29073
290742009-03-16  castaglia <castaglia>
29075
29076	* contrib/mod_sql.c, modules/mod_log.c: Make sure that %V gets
29077	resolved to the DNS name of the IP address to which the client
29078	connected.  This can differ from what is expected, e.g. when
29079	DefaultServer marks a vhost (which is for a different IP address)
29080	that handles the connection.
29081
290822009-03-16  castaglia <castaglia>
29083
29084	* modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm:
29085	The MLSD command, as per RFC, does not support glob characters.
29086	However, this does not mean that we should error out on an MLSD
29087	command which does contain glob characters; there could be a valid
29088	directory with such characters in the path.
29089
290902009-03-14  castaglia <castaglia>
29091
29092	* contrib/mod_sftp/rfc4716.c: When parsing RFC4716 formatted keys,
29093	make sure the input buffer is large enough to handle the longest
29094	allowable line: 72 bytes + CRLF + NUL = 75 bytes.  And if the line
29095	is "too long", log that length.
29096
290972009-03-13  castaglia <castaglia>
29098
29099	* doc/howto/Quotas.html: Another common cause of quota tallies not
29100	being updated.
29101
291022009-03-13  castaglia <castaglia>
29103
29104	* src/inet.c: Jesús Alastruey pointed out there was an off-by-one
29105	bug in the handling of the PassivePorts port selection code.  The
29106	highest port number was not being properly shuffled.
29107
291082009-03-12  castaglia <castaglia>
29109
29110	* configure: Updated configure.
29111
291122009-03-12  castaglia <castaglia>
29113
29114	* configure.in: Guard against empty --with-FOO arguments; these lead
29115	to strange build failures such as:   configure: error: source file './modules/d_ident.c' cannot be
29116	  found -- aborting
29117
291182009-03-12  castaglia <castaglia>
29119
29120	* contrib/dist/rpm/proftpd.spec: Return the %preun RPM build state
29121	to its previous implementation; no need to futz with it for
29122	Bug#2613.
29123
291242009-03-12  castaglia <castaglia>
29125
29126	* contrib/dist/rpm/proftpd.spec: Updating the proftpd.spec to match
29127	Bug#2613.
29128
291292009-03-12  castaglia <castaglia>
29130
29131	* configure: Updated configure.
29132
291332009-03-12  castaglia <castaglia>
29134
29135	* NEWS, RELEASE_NOTES, configure.in: Bug#2613 - Configure script
29136	should not append '/proftpd' to the --localstatedir.
29137
291382009-03-12  castaglia <castaglia>
29139
29140	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add unit tests for
29141	the SSL session reuse requirement for data transfers, and that using
29142	the NoSessionReuseRequired TLSOption does in fact relax this
29143	requirement properly.
29144
291452009-03-12  castaglia <castaglia>
29146
29147	* modules/mod_xfer.c: If pr_data_sendfile() fails because of
29148	EOVERFLOW, fall back to transmitting the data normally.  Less
29149	distracting for admins this way.
29150
291512009-03-12  castaglia <castaglia>
29152
29153	* contrib/mod_tls.c: Fix stale pointer segfault caused when an FTPS
29154	client fails to reuse the SSL session from the control connection
29155	for a data transfer, and the SSL session has to be shut down.
29156
291572009-03-11  castaglia <castaglia>
29158
29159	* contrib/mod_tls.c: Stylistic cleanups in tls_verify_crl().
29160
291612009-03-11  castaglia <castaglia>
29162
29163	* tests/t/etc/modules/mod_tls/ca-crl.pem,
29164	tests/t/etc/modules/mod_tls/client-cert.pem,
29165	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add a unit test for
29166	TLSCARevocationFile.  Note that this currently requires a hacked
29167	version of Net::FTPSSL; I am contributing the patch to the upstream
29168	author.  (The patch is necessary to configure the client cert that a
29169	Net::FTPSSL client will present when talking to an FTPS server.)
29170
291712009-03-11  castaglia <castaglia>
29172
29173	* doc/howto/Compiling.html: Note the additional behavior when
29174	--enable-devel=coredump is used (and emphasis why this is a Bad Idea
29175	unless you really know what you're doing).
29176
291772009-03-11  castaglia <castaglia>
29178
29179	* doc/contrib/mod_wrap2_sql.html: Fix the mod_wrap2_sql
29180	documentation, thanks to Szymon Juraszczyk.
29181
291822009-03-11  castaglia <castaglia>
29183
29184	* contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c,
29185	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
29186	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Further
29187	improvements to the fix for Bug#3048 and Bug#3215 from Szymon
29188	Juraszczyk.
29189
291902009-03-10  castaglia <castaglia>
29191
29192	* NEWS, contrib/mod_wrap2_sql.c,
29193	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Bug#3215 -
29194	mod_wrap2_sql should support comma-delimited lists of clients.
29195
291962009-03-10  castaglia <castaglia>
29197
29198	* contrib/mod_ban.c, contrib/mod_ctrls_admin.c, contrib/mod_tls.c,
29199	include/compat.h, include/ctrls.h, include/mod_ctrls.h,
29200	modules/mod_ctrls.c, modules/mod_delay.c, modules/mod_dso.c,
29201	src/ctrls.c, src/ftpdctl.c: Bug#3211 - Compile error when using
29202	--enable-ctrls --with-shared=mod_ctrls.
29203
292042009-03-10  castaglia <castaglia>
29205
29206	* RELEASE_NOTES, doc/contrib/mod_tls_shmcache.html: Added docs for
29207	mod_tls_shmcache.html.
29208
292092009-03-10  castaglia <castaglia>
29210
29211	* contrib/mod_tls_shmcache.c: Forgot to include the $Libraries$ hint
29212	for mod_tls_shmcache.c.  Useful for when it is compiled as a shared
29213	modulel via prxs.
29214
292152009-03-10  castaglia <castaglia>
29216
29217	* doc/contrib/mod_tls.html: Typo.
29218
292192009-03-10  castaglia <castaglia>
29220
29221	* RELEASE_NOTES, doc/contrib/mod_tls.html: Add docs for the
29222	NoSessionReuseRequired TLSOption added in Bug#3210.
29223
292242009-03-10  castaglia <castaglia>
29225
29226	* contrib/mod_tls.c: Typo.
29227
292282009-03-10  castaglia <castaglia>
29229
29230	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#3210 - Data transfers
29231	protected by SSL/TLS should reuse the control connection SSL
29232	session.
29233
292342009-03-10  castaglia <castaglia>
29235
29236	* RELEASE_NOTES: Mention the new directives and module.  Fuller
29237	descriptions will be added later.
29238
292392009-03-10  castaglia <castaglia>
29240
29241	* doc/contrib/mod_tls.html: Update the mod_tls docs to include
29242	TLSControlsACLs, TLSSessionCache, and the new mod_tls ftpdctl
29243	actions.
29244
292452009-03-10  castaglia <castaglia>
29246
29247	* contrib/mod_tls.c: Include the name of the external session cache
29248	in the 'clear' and 'remove' action outputs.
29249
292502009-03-10  castaglia <castaglia>
29251
29252	* contrib/mod_tls_shmcache.c: Add some identifying information about
29253	the module itself in the status output.
29254
292552009-03-10  castaglia <castaglia>
29256
29257	* contrib/mod_tls.c: Make the default external SSL session cache
29258	timeout 30 minutes.  FTPS sessions are longer than HTTPS requests,
29259	hence why our default session timeout is longer than OpenSSL's
29260	default (which is 5 minutes).
29261
292622009-03-10  castaglia <castaglia>
29263
29264	* contrib/mod_tls_shmcache.c: Add new contrib module,
29265	mod_tls_shmcache, which provides a shared-memory (SysV IPC shared
29266	memory) implementation for SSL session caching among multiple
29267	processes.  Need at least one implementation of an external SSL
29268	session cache for Bug#3207.
29269
292702009-03-10  castaglia <castaglia>
29271
29272	* NEWS, contrib/mod_tls.c, contrib/mod_tls.h: Bug#3207 - Support for
29273	SSL/TLS session caching across processes/machines.
29274
292752009-03-10  castaglia <castaglia>
29276
29277	* contrib/mod_tls.c: Once we know the vhost handling the connection,
29278	use that vhost pointer as the "session ID context" for SSL/TLS
29279	sessions.  This ensures that SSL sessions to different vhosts (which
29280	may have different SSL security policies configured) end up in
29281	different groups (i.e. no chance of session ID collision between
29282	sessions to two different vhosts).
29283
292842009-03-10  castaglia <castaglia>
29285
29286	* doc/howto/Limit.html: Add another example <Limit> config, for a
29287	read-only account.
29288
292892009-03-09  castaglia <castaglia>
29290
29291	* contrib/mod_ban.c: Pedantic ANSI C compilers might complain about
29292	the trailing comma.
29293
292942009-03-09  castaglia <castaglia>
29295
29296	* contrib/mod_tls.c: If TLSCACertificatePath is configured, properly
29297	skip the "." and ".." directories.  The code was there, but it was
29298	not doing this properly (it was trying to read "." and ".." as
29299	filenames in that directory, and thus littering the TLSLog with
29300	ugly, unnecessary messages).
29301
293022009-03-09  castaglia <castaglia>
29303
29304	* doc/howto/Limit.html: Example <Limit> config of making a directory
29305	undeletable, but allowing its subdirectories to be deletable.
29306
293072009-03-09  castaglia <castaglia>
29308
29309	* src/proftpd.8.in, utils/ftpcount.1.in, utils/ftpscrub.8.in,
29310	utils/ftptop.1.in, utils/ftpwho.1.in: Bug#3212 - Duplicate '/run/'
29311	in manpages.
29312
293132009-03-09  castaglia <castaglia>
29314
29315	* contrib/mod_tls.c: Typo.
29316
293172009-03-09  castaglia <castaglia>
29318
29319	* contrib/mod_tls.c: If the EnableDiags TLSOption is enabled, log
29320	some SSL session stats when the session ends.
29321
293222009-03-08  castaglia <castaglia>
29323
29324	* contrib/mod_ban.c: Typo.
29325
293262009-03-07  castaglia <castaglia>
29327
29328	* contrib/mod_sftp/kbdint.c: Need to return -1, not zero, if we fail
29329	to unregister a 'keyboard-interactive' driver for some reason.
29330
293312009-03-07  castaglia <castaglia>
29332
29333	* contrib/mod_sftp_pam.c: Add the same macro for const-ness (or not)
29334	for the pam_conv function prototype as done in mod_auth_pam to
29335	mod_sftp_pam.
29336
293372009-03-07  castaglia <castaglia>
29338
29339	* contrib/dist/rpm/proftpd.spec: Bug#2652 - Installing standard RPM
29340	fails when /home mounted from NFS filesystem on root_squashed host.
29341	Add support for `rpmbuild --define 'nohome 1' ...' in the provided
29342	proftpd.spec.
29343
293442009-03-07  castaglia <castaglia>
29345
29346	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec: Bug#2985 -
29347	Newest .spec file requires relatively current version of RPM.
29348
293492009-03-06  castaglia <castaglia>
29350
29351	* contrib/mod_tls.c: If we get to the point that we need to generate
29352	our own random seed data for OpenSSL's PRNG, then allocate some
29353	uninitialized memory off the heap and use that for the seed.  This
29354	complements the existing use of uninitialized stack data as part of
29355	the generated seed.
29356
293572009-03-05  castaglia <castaglia>
29358
29359	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Added a unit test
29360	for the case where mod_sftp and mod_vroot are used, and the SFTP
29361	client sends an OPENDIR request to a path which happens to be a
29362	symlink to a path which lies outside of the vroot area.  What a
29363	mess.
29364
293652009-03-05  castaglia <castaglia>
29366
29367	* doc/contrib/mod_sftp.html: The mod_sftp modules DOES support
29368	UseLastlog now.
29369
293702009-03-05  castaglia <castaglia>
29371
29372	* contrib/mod_sftp/fxp.c: When handling an OPENDIR request, resolve
29373	the given path to the best local path before calling
29374	pr_fsio_opendir().  In most cases, this is not important.  But when
29375	using mod_vroot and the path being opened is a symlink to another
29376	directory, it IS important.  Also log to the "fileperms" log channel if pr_fsio_readlink() fails
29377	when handling a READLINK request.
29378
293792009-03-05  castaglia <castaglia>
29380
29381	* src/dirtree.c: Minor stylistic cleanups.
29382
293832009-03-05  castaglia <castaglia>
29384
29385	* contrib/mod_sftp/auth.c, modules/mod_auth.c: Update mod_sftp to
29386	use the new pr_auth_get_home() function (for honoring any
29387	RewriteHome configuration).  Change the timing of the call to pr_auth_get_home() in mod_auth, so
29388	that it happens *before* any substitution of variables (e.g. '%u')
29389	in the home dir.  This allows the rewritten home directory to
29390	contain variables like '%u'.
29391
293922009-03-05  castaglia <castaglia>
29393
29394	* RELEASE_NOTES: Updated release notes with info about RewriteHome.
29395
293962009-03-05  castaglia <castaglia>
29397
29398	* tests/t/config/rewritehome.t,
29399	tests/t/lib/ProFTPD/Tests/Config/RewriteHome.pm, tests/tests.pl:
29400	Added unit test for the new RewriteHome configuration directive.
29401
294022009-03-05  castaglia <castaglia>
29403
29404	* NEWS, contrib/mod_rewrite.c, include/auth.h, modules/mod_auth.c,
29405	src/auth.c: Bug#3167 - Support rewriting of home directories.
29406
294072009-03-05  castaglia <castaglia>
29408
29409	* modules/mod_core.c: Tell the admin to allocate a larger
29410	PassivePorts range, when we encounter the case where a port in the
29411	defined PassivePorts range cannot be used because all PassivePorts
29412	ports are in use.
29413
294142009-03-05  castaglia <castaglia>
29415
29416	* contrib/mod_rewrite.c, contrib/mod_sftp/rfc4716.c,
29417	contrib/mod_wrap2_file.c, include/fsio.h, modules/mod_facts.c,
29418	modules/mod_ls.c, src/display.c, src/fsio.c, src/netio.c,
29419	src/parser.c: Replace the use of static buffers of size
29420	PR_TUNABLE_BUFFER_SIZE in many placese with dynamically allocated
29421	buffers of more optimal sizes.  See Bug#3206 for more details.
29422
294232009-03-05  castaglia <castaglia>
29424
29425	* modules/mod_auth_pam.c: Make extra sure that our PAM_CONST macro
29426	doesn't collide with any system macro of the same name by calling it
29427	PR_PAM_CONST.
29428
294292009-03-05  castaglia <castaglia>
29430
29431	* modules/mod_auth_pam.c: I finally got tired of seeing this
29432	compiler warning:   mod_auth_pam.c:88: warning: function declaration isn't a prototype because mod_auth_pam used K&R style (for some reason) in one place.
29433	So fix it up to be ANSI style, and deal with the platform-specific
29434	const-ness of one of the arguments.
29435
294362009-03-05  castaglia <castaglia>
29437
29438	* contrib/mod_sftp/fxp.c: Clients using later SFTP protocol versions
29439	can include attribute flags in the stat (STAT, FSTAT, LSTAT)
29440	requests to indicate the specific attributes in which the client is
29441	interested.  Even though mod_sftp does not honor these hints, it now
29442	logs the text version of those flags; previously it was simply
29443	logging the raw value.  As a bitmask, this logged number was not
29444	especially enlightening.  Also added logging of the textified flags which are unsupported, in
29445	the case of an OPEN request which is rejected because of unsupported
29446	flags in the request.
29447
294482009-03-04  castaglia <castaglia>
29449
29450	* src/dirtree.c: Corrected stale/misleading comment.
29451
294522009-03-04  castaglia <castaglia>
29453
29454	* modules/mod_auth_unix.c, src/auth.c: Fix the implementation of
29455	pr_auth_authorize().  Now, mod_auth_unix (the only known 'authorize'
29456	handler at present) will explicitly return ERROR to the 'authorize'
29457	call if the user is not authorized.  This way, an 'authorize'
29458	dispatch which gets a result of HANDLED or DECLINED treats the user
29459	as "authorized".  The DECLINED case means that a user can be
29460	authenticated via e.g. mod_sql (which does NOT provide an
29461	'authorize' handler), and be successfully authorized as well.
29462
294632009-03-04  castaglia <castaglia>
29464
29465	* contrib/mod_sftp/interop.c: Include the SSH2 client version info
29466	in the TraceLog.
29467
294682009-03-04  castaglia <castaglia>
29469
29470	* contrib/mod_sftp/keys.c: Add trace logging for channel "ssh2",
29471	level 17, of reasons why key mismatches occur.
29472
294732009-03-04  castaglia <castaglia>
29474
29475	* contrib/mod_sftp_sql.c: Be a little more clear when logging why a
29476	key comparison failed (i.e.  differentiate between "comparison
29477	failure" and "key mismatch").
29478
294792009-03-04  castaglia <castaglia>
29480
29481	* contrib/mod_sftp/crypto.c, contrib/mod_sftp/kex.c,
29482	contrib/mod_sftp/mac.c: Make mod_sftp compile properly when dealing
29483	with older versions of OpenSSL (e.g. OpenSSL versions older than
29484	0.9.7).
29485
294862009-03-04  castaglia <castaglia>
29487
29488	* NEWS, src/prxs.in: Bug#3204 - Better support for installation and
29489	libs in prxs.
29490
294912009-03-04  castaglia <castaglia>
29492
29493	* contrib/mod_sftp/channel.c, contrib/mod_sftp/fxp.c: Include more
29494	info in the dispatched cmd_recs, e.g. channel IDs.
29495
294962009-03-04  castaglia <castaglia>
29497
29498	* doc/howto/ServerType.html: Add a real xinetd config example to the
29499	ServerType howto, rather than having the broken UserGuide link.
29500
295012009-03-04  castaglia <castaglia>
29502
29503	* contrib/mod_sql.c, modules/mod_auth.c, modules/mod_log.c: More
29504	work towards Bug#2715.  This moves the storage of the anonymous
29505	password to the session.notes table, and out of the config tree.
29506
295072009-03-04  castaglia <castaglia>
29508
29509	* doc/modules/mod_delay.html: Add some mod_delay FAQs.
29510
295112009-03-03  castaglia <castaglia>
29512
29513	* NEWS, contrib/mod_sql.c: Bug#3203 - Missing SQL backend modules
29514	can lead to null pointer segfault in mod_sql.
29515
295162009-03-03  castaglia <castaglia>
29517
29518	* src/Makefile.in, utils/Makefile.in: Turns out that deleting files
29519	(via 'make clean) generated at configure time, rather than at
29520	compile time, is a bad idea.  You can do several 'make clean && make
29521	install' invocations with one configure invocation; the install step
29522	complains about missing files (i.e. the generated ones) after
29523	they've been deleted unnecessarily.
29524
295252009-03-03  castaglia <castaglia>
29526
29527	* contrib/mod_wrap2/mod_wrap2.c: String formatting fixed, as per
29528	Bug#3197.
29529
295302009-03-03  castaglia <castaglia>
29531
29532	* contrib/mod_quotatab_file.c: Remove the log messages about EOF;
29533	they proved to be too annoying and not as helpful as one would like.
29534
295352009-03-03  castaglia <castaglia>
29536
29537	* NEWS, contrib/mod_quotatab.c: Bug#3196 - mod_quotatab does not
29538	honor last group in supplemental group list.
29539
295402009-03-03  castaglia <castaglia>
29541
29542	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_file.pm,
29543	tests/t/modules/mod_quotatab_file.t, tests/tests.pl: Add a unit test
29544	for mod_quotatab_file.
29545
295462009-03-02  castaglia <castaglia>
29547
29548	* modules/mod_facts.c, tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
29549	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Make sure that the MLST
29550	and MLSD command handlers can handle paths with spaces in them.
29551	This is essentially the same bug as Bug#3142; the fix for that bug
29552	was not properly extended to the MLST and MLSD commands.
29553
295542009-03-02  castaglia <castaglia>
29555
29556	* include/support.h: Remove the declaration of the now-obsolete
29557	set_protocol_name() function.
29558
295592009-03-02  castaglia <castaglia>
29560
29561	* RELEASE_NOTES: Mention the Korean translation.
29562
295632009-03-02  castaglia <castaglia>
29564
29565	* locale/Makefile.in, locale/ko_KR.po: Bug#3194 - Add Korean
29566	translation.
29567
295682009-02-27  castaglia <castaglia>
29569
29570	* contrib/mod_sftp/kex.c: Copy the client-sent language lists out of
29571	the kex pool, not out of the packet pool.
29572
295732009-02-27  castaglia <castaglia>
29574
29575	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Add unit tests for
29576	the one-hostkey-only mod_sftp configurations.
29577
295782009-02-27  castaglia <castaglia>
29579
29580	* doc/contrib/mod_sftp.html: Update the mod_sftp docs to mention
29581	that only one SFTPHostKey is now required.
29582
295832009-02-27  castaglia <castaglia>
29584
29585	* contrib/mod_sftp/kex.c, contrib/mod_sftp/keys.c,
29586	contrib/mod_sftp/keys.h, contrib/mod_sftp/mod_sftp.c: Fix bug when
29587	handling language lists; I forgot to initialize the server's
29588	language list, even if it is to the empty string.  Also make mod_sftp more lenient with regard to host keys.  It will
29589	now function if only one host key, be it RSA or DSA, is configured.
29590
295912009-02-26  castaglia <castaglia>
29592
29593	* contrib/mod_sftp/kex.c: Start implementing support for negotiated
29594	languages in the key exchange.  For now, actually read (and log) the
29595	list of languages sent by the client.
29596
295972009-02-26  castaglia <castaglia>
29598
29599	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm: Fix the permissions
29600	on the test hostkey files so that mod_sftp won't complain about
29601	them.
29602
296032009-02-26  castaglia <castaglia>
29604
29605	* locale/fr_FR.po: Updated French translation from the translator.
29606
296072009-02-26  castaglia <castaglia>
29608
29609	* contrib/mod_sftp/channel.c: When sending WINDOW_ADJUST messages to
29610	the client, mod_sftp needs to use the (possibly) SFTPClientMatch
29611	adjusted window size, not the default window size.
29612
296132009-02-26  castaglia <castaglia>
29614
29615	* modules/mod_facts.c: The response to MLST was sending the info,
29616	and terminating the line with an extra LF, e.g. "dataLFCRLF", rather
29617	than just a normal CRLF.
29618
296192009-02-22  castaglia <castaglia>
29620
29621	* contrib/mod_sftp/fxp.c: Update mod_sftp so that it too uses the
29622	new pr_filter_allow_path() function.
29623
296242009-02-22  castaglia <castaglia>
29625
29626	* contrib/mod_sftp/utf8.c: Fix the compilation of mod_sftp when
29627	--enable-nls is NOT used.
29628
296292009-02-22  castaglia <castaglia>
29630
29631	* modules/mod_core.c, modules/mod_xfer.c,
29632	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
29633	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm: Updated mod_core
29634	so that it uses pr_filter_allow_path(), rather than looking up and
29635	comparing against the PathAllowFilter/PathDenyFilter directives
29636	directly.  Provide accompanying tests to show that no functionality
29637	has been broken in this refactoring.
29638
296392009-02-22  castaglia <castaglia>
29640
29641	* Make.rules.in, include/conf.h, include/filter.h,
29642	modules/mod_xfer.c, src/filter.c: Consolidate the checking of a path
29643	against the PathAllowFilter and PathDenyFilter directives into a
29644	common pr_filter_allow_path() function, rather than having the
29645	checking of those directives repeatedly done throughout the code.  Right now, only the STOR handler in mod_xfer has been updated to use
29646	this new pr_filter_allow_path() function; more updates for the rest
29647	of the core code will be coming.
29648
296492009-02-22  castaglia <castaglia>
29650
29651	* utils/.cvsignore: Ignore the generated ftpscrub.8 man page in CVS
29652	commands.
29653
296542009-02-22  castaglia <castaglia>
29655
29656	* src/log.c: Implement pr_log_writefile() so that it calls
29657	pr_log_vwritefile(), just like the other module logging functions
29658	do.
29659
296602009-02-22  castaglia <castaglia>
29661
29662	* tests/t/config/pathallowfilter.t,
29663	tests/t/config/pathdenyfilter.t,
29664	tests/t/lib/ProFTPD/Tests/Config/PathAllowFilter.pm,
29665	tests/t/lib/ProFTPD/Tests/Config/PathDenyFilter.pm, tests/tests.pl:
29666	Added unit tests for the PathAllowFilter and PathDenyFilter
29667	directives.  Will be adding more tests for this directives,
29668	involving other FTP commands, soon.
29669
296702009-02-21  castaglia <castaglia>
29671
29672	* contrib/mod_quotatab.c, contrib/mod_quotatab.h,
29673	contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_tls.c,
29674	contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in,
29675	include/log.h, include/mod_ctrls.h, modules/mod_ctrls.c, src/log.c:
29676	The changes to the logging functions made earlier today pointed out
29677	to me the fact that many of the contrib modules -- and even
29678	mod_ctrls -- had functionally duplicative logging functions as the
29679	core pr_log_writefile() function.  And why have duplicated code when
29680	it isn't necessary? To address this, a new pr_log_vwritefile() function has been added.
29681	This function, rather than be a varargs-style function like
29682	pr_log_writefile(), takes a va_list parameter.  This makes it
29683	suitable for calling by the contrib modules' own logging functions,
29684	which themselves are varargs-style functions.  While I was at it, I made sure that these logging functions are
29685	checked via gcc's __attribute__ pragma (where it wasn't already
29686	being done), and cleaned up the resulting compiler warnings.
29687
296882009-02-21  castaglia <castaglia>
29689
29690	* contrib/mod_sql.c: Fix a stylistic nit in sql_addgroup.  The cnt
29691	variable had an unnecessarily large scope, and the gr_mem array of
29692	strings should be terminated with a NULL, not a '\0' (NUL
29693	character).
29694
296952009-02-21  castaglia <castaglia>
29696
29697	* .cvsignore: Add the new ftpscrub utility to the cvs ignore list.
29698
296992009-02-21  castaglia <castaglia>
29700
29701	* contrib/mod_tls.c: Be a little paranoid, and keep
29702	X509_NAME_oneline() from using the entire buffer; reserve one
29703	character for NUL.
29704
297052009-02-20  castaglia <castaglia>
29706
29707	* contrib/mod_quotatab.c, contrib/mod_radius.c, contrib/mod_sql.c,
29708	contrib/mod_tls.c, contrib/mod_wrap2/mod_wrap2.c,
29709	modules/mod_ctrls.c, src/log.c: Fix the logging functions to handle
29710	long log messages properly.
29711
297122009-02-20  castaglia <castaglia>
29713
29714	* NEWS, modules/mod_facts.c,
29715	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm,
29716	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm: Bug#3190 - MLSD/MLST do
29717	not honor <Limit> configurations.
29718
297192009-02-19  castaglia <castaglia>
29720
29721	* utils/ftpscrub.c: Forgot to move the ftpscrub.c source from from
29722	src/ to utils/, along with the its man pages and build rules.
29723
297242009-02-19  castaglia <castaglia>
29725
29726	* contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/utf8.c,
29727	contrib/mod_sftp/utf8.h: Make mod_sftp honor the UseEncoding
29728	directive iff it has been used in the two-argument form.  In this
29729	particular case, the client encoding is dictated by the IETF Draft
29730	for SFTP to be UTF8, but the admin can now use UseEncoding to set
29731	the local charset that mod_sftp should use.
29732
297332009-02-18  castaglia <castaglia>
29734
29735	* RELEASE_NOTES, doc/howto/Scoreboard.html: Mention the
29736	ScoreboardScrub directive in the release notes, and update the
29737	Scoreboard howto to mention this new directive.
29738
297392009-02-18  castaglia <castaglia>
29740
29741	* configure: Updated configure.
29742
297432009-02-18  castaglia <castaglia>
29744
29745	* src/Makefile.in, utils/Makefile.in, utils/ftpscrub.8.in: Put the
29746	ftpscrub.8.in man page template in the wrong directory; should have
29747	been in utils/, not in src/.
29748
297492009-02-18  castaglia <castaglia>
29750
29751	* Make.rules.in, Makefile.in, NEWS, configure.in,
29752	modules/mod_core.c, src/Makefile.in, src/ftpscrub.c,
29753	utils/Makefile.in, utils/scoreboard.c, utils/utils.h: Bug#3129 -
29754	Support configurable scoreboard scrubbing.
29755
297562009-02-18  castaglia <castaglia>
29757
29758	* contrib/mod_sql_postgres.c: Minor OCD reordering.
29759
297602009-02-18  castaglia <castaglia>
29761
29762	* contrib/mod_sftp/disconnect.h: Helps if the comment matches the
29763	code.
29764
297652009-02-18  castaglia <castaglia>
29766
29767	* contrib/mod_sftp/disconnect.h: Handle the lack of __FUNCTION__ (a
29768	gcc extension) better.  Try to use __func__ if present (Sun
29769	compilers use this), and have a fallback of "(unknown)" for other
29770	cases.
29771
297722009-02-18  castaglia <castaglia>
29773
29774	* src/wtmp.c: Finally get rid of these compiler warnings:   wtmp.c:38: warning: unused variable `ut'   wtmp.c:39: warning: unused variable `fd' on Solaris systems.
29775
297762009-02-18  castaglia <castaglia>
29777
29778	* NEWS, contrib/mod_sql_postgres.c: Bug#3176 - Postgres chokes on
29779	standard charset names.
29780
297812009-02-17  castaglia <castaglia>
29782
29783	* Makefile.in, NEWS: Bug#3189 - Linker errors occur when using "make
29784	-j" parallel builds.
29785
297862009-02-17  castaglia <castaglia>
29787
29788	* lib/libltdl/Makefile.in: Forgot to re-apply the libltdl
29789	modifications to disable the actions that try to use autoheader and
29790	automake.  These aren't installed on every system, and we don't
29791	really use them.
29792
297932009-02-17  castaglia <castaglia>
29794
29795	* RELEASE_NOTES, doc/contrib/mod_tls.html: Update the docs for the
29796	new PKCS#12 file support in mod_tls.
29797
297982009-02-17  castaglia <castaglia>
29799
29800	* NEWS, contrib/mod_tls.c,
29801	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Bug#3111 - Support
29802	SSL/TLS server certificates stored in PKCS#12 files.
29803
298042009-02-17  castaglia <castaglia>
29805
29806	* NEWS, configure: Bug#3154 - Update bundled libtool version.  The
29807	bundled libltdl version has been updated to libtool-1.5.26.
29808
298092009-02-17  castaglia <castaglia>
29810
29811	* aclocal.m4, ltmain.sh: More towards Bug#3154.
29812
298132009-02-17  castaglia <castaglia>
29814
29815	* lib/libltdl/configure: Update configure, so that make doesn't
29816	think it needs to regenerate the configure file.  (The configure
29817	file needs a newer timestamp than the configure.ac file, otherwise
29818	the Makefile will try to make a new configure.)
29819
298202009-02-17  castaglia <castaglia>
29821
29822	* lib/libltdl/COPYING.LIB, lib/libltdl/Makefile.am,
29823	lib/libltdl/Makefile.in, lib/libltdl/acinclude.m4,
29824	lib/libltdl/aclocal.m4, lib/libltdl/config.guess,
29825	lib/libltdl/config.sub, lib/libltdl/configure,
29826	lib/libltdl/configure.ac, lib/libltdl/install-sh,
29827	lib/libltdl/ltdl.c, lib/libltdl/ltdl.h, lib/libltdl/ltmain.sh,
29828	lib/libltdl/missing: Bug#3154 - Update bundled libtool version.
29829
298302009-02-17  castaglia <castaglia>
29831
29832	* src/Makefile.in: Clean up the other generated files from the src
29833	directory (i.e. the man pages).
29834
298352009-02-17  castaglia <castaglia>
29836
29837	* src/Makefile.in: Clean up the generated prxs script.
29838
298392009-02-17  castaglia <castaglia>
29840
29841	* doc/contrib/mod_sftp.html: Add hrefs to the individual SFTP FAQs.  Added FAQ about using mod_sftp as an OpenSSH subsystem.
29842
298432009-02-16  castaglia <castaglia>
29844
29845	* src/prxs.in: Give the prxs tool a --help option.
29846
298472009-02-16  castaglia <castaglia>
29848
29849	* NEWS, src/prxs.in: Bug#3188 - prxs broken due to typo.
29850
298512009-02-16  castaglia <castaglia>
29852
29853	* contrib/mod_load/.cvsignore, contrib/mod_sftp/.cvsignore,
29854	contrib/mod_wrap2/.cvsignore: Ignore libtool object files (*.lo) in
29855	CVS commands.
29856
298572009-02-16  castaglia <castaglia>
29858
29859	* contrib/mod_sftp/auth.c, contrib/mod_sftp/channel.c,
29860	contrib/mod_sftp/fxp.c, contrib/mod_sftp/kex.c,
29861	contrib/mod_sftp/packet.c, contrib/mod_sftp/scp.c,
29862	contrib/mod_sftp/service.c, include/cmd.h, src/main.c: Work towards
29863	supporting the %S/%s LogFormat variables for SFTP responses.  Doing
29864	so required changing the pr_cmd_dispatch_phase() function so that it
29865	takes a flag argument, rather than just a Boolean, and updating all
29866	of the callers (most of which are in mod_sftp).
29867
298682009-02-16  castaglia <castaglia>
29869
29870	* include/support.h: Forgot to remove the old make_arg_str()
29871	declaration.
29872
298732009-02-16  castaglia <castaglia>
29874
29875	* contrib/mod_sftp/fxp.c: Support use of the TEXT mode flag in SFTP
29876	OPEN requests from clients using SFTP protocol version 4 and later.
29877	Since we send the 'newline' extension telling the client that the
29878	"canonical" newline sequence is a simple LF, supporting TEXT mode
29879	for files is the same as non-TEXT mode for Unix.  However, against the recommendations of the SFTP Draft, mod_sftp
29880	will NOT support a "text-seek" request; the computational cost of
29881	supporting such a thing is not worth it.
29882
298832009-02-15  castaglia <castaglia>
29884
29885	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm: Add regression tests
29886	for the BanEngine behavior added in Bug#3186.
29887
298882009-02-15  castaglia <castaglia>
29889
29890	* NEWS, contrib/mod_ban.c: Bug#3186 - Support use of <IfClass>
29891	directive with mod_ban.
29892
298932009-02-15  castaglia <castaglia>
29894
29895	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3185 - mod_wrap2 does not
29896	honour partial DNS name in access files.
29897
298982009-02-15  castaglia <castaglia>
29899
29900	* Make.rules.in, contrib/mod_rewrite.c, include/cmd.h,
29901	include/conf.h, include/dirtree.h, include/inet.h,
29902	include/modules.h, src/cmd.c, src/dirtree.c, src/main.c,
29903	src/support.c: Try consolidating some of the pr_cmd_* functions into
29904	their own file (and give them their own header).  Replaced make_arg_str() with pr_cmd_get_displayable_str(), which
29905	caches the resulting string of decoded arguments (to avoid needless
29906	re-decoding on every command dispatch).
29907
299082009-02-14  castaglia <castaglia>
29909
29910	* contrib/mod_sftp/auth-hostbased.c,
29911	contrib/mod_sftp/auth-publickey.c, include/auth.h,
29912	modules/mod_auth_unix.c, src/auth.c: Add a new pr_auth_authorize()
29913	API, for checking that a user is authorized to login.  This is
29914	different from pr_auth_authenticate(), which authenticates the user
29915	using the given password.  The authorization checks do not need a
29916	password.  This function is particularly needed by mod_sftp, which can
29917	authenticate a client via non-password means (e.g. hostbased,
29918	keyboard-interactive, and publickey authentication); the
29919	authorization of the logging-in user still needs to occur in those
29920	cases.
29921
299222009-02-14  castaglia <castaglia>
29923
29924	* contrib/mod_quotatab.c, contrib/mod_radius.c,
29925	contrib/mod_sftp/mod_sftp.c, contrib/mod_sql.c, contrib/mod_tls.c,
29926	contrib/mod_wrap2/mod_wrap2.c: When unloading modules which can have
29927	their own logs, make sure that those log descriptors are closed.
29928
299292009-02-14  castaglia <castaglia>
29930
29931	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
29932	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm: Add separate
29933	mod_wrap2 deny table tests for IP addresses and DNS names.
29934
299352009-02-14  castaglia <castaglia>
29936
29937	* src/session.c: Use a plain unadorned "ssh" as the TTY name in case
29938	of SSH sessions.
29939
299402009-02-14  castaglia <castaglia>
29941
29942	* Make.rules.in, contrib/mod_sftp/auth.c, include/log.h, src/log.c,
29943	src/wtmp.c: Separate out log_wtmp() into its own source file.  Update mod_sftp to honor WtmpLog and UseLastlog.
29944
299452009-02-14  castaglia <castaglia>
29946
29947	* contrib/mod_sql.c: Constify one of the functions, and deal with
29948	the consequences.
29949
299502009-02-14  castaglia <castaglia>
29951
29952	* Make.rules.in, contrib/mod_sftp/fxp.c,
29953	contrib/mod_sftp/mod_sftp.c, contrib/mod_sftp/scp.c,
29954	contrib/mod_sql.c, contrib/mod_tls.c, include/conf.h,
29955	include/log.h, include/session.h, modules/mod_auth.c,
29956	modules/mod_log.c, src/log.c, src/main.c, src/session.c,
29957	tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added new Session
29958	API.  The data for the session are stashed in the session.notes
29959	table, but these accessors can perform some intelligent
29960	transformation on the stashed value.  Bug#3183 proved that the construction of the pseudo-ttyname, used in
29961	WtmpLog and PAM authentication, should be consolidated, and this has
29962	been done.  Also used the Session API to implement a %{protocol} LogFormat (and
29963	SQLNamedQuery) variable.  This will resolve to "ftp", "ftps",
29964	"ssh2", "sftp", or "scp" as appropriate.  A unit test for
29965	regressions of this feature is included.
29966
299672009-02-13  castaglia <castaglia>
29968
29969	* contrib/mod_sftp_pam.c, contrib/mod_sftp_sql.c: Update the
29970	copyright dates for these modules.
29971
299722009-02-13  castaglia <castaglia>
29973
29974	* contrib/mod_sftp/auth-hostbased.c,
29975	contrib/mod_sftp/auth-kbdint.c, contrib/mod_sftp/auth-password.c,
29976	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
29977	contrib/mod_sftp/auth.h, contrib/mod_sftp/blacklist.c,
29978	contrib/mod_sftp/blacklist.h, contrib/mod_sftp/channel.c,
29979	contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.c,
29980	contrib/mod_sftp/cipher.h, contrib/mod_sftp/compress.c,
29981	contrib/mod_sftp/compress.h, contrib/mod_sftp/crypto.c,
29982	contrib/mod_sftp/crypto.h, contrib/mod_sftp/disconnect.c,
29983	contrib/mod_sftp/disconnect.h, contrib/mod_sftp/fxp.c,
29984	contrib/mod_sftp/fxp.h, contrib/mod_sftp/interop.c,
29985	contrib/mod_sftp/interop.h, contrib/mod_sftp/kbdint.c,
29986	contrib/mod_sftp/kbdint.h, contrib/mod_sftp/kex.c,
29987	contrib/mod_sftp/kex.h, contrib/mod_sftp/keys.c,
29988	contrib/mod_sftp/keys.h, contrib/mod_sftp/keystore.c,
29989	contrib/mod_sftp/keystore.h, contrib/mod_sftp/mac.c,
29990	contrib/mod_sftp/mac.h, contrib/mod_sftp/mod_sftp.c,
29991	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.c,
29992	contrib/mod_sftp/msg.h, contrib/mod_sftp/packet.c,
29993	contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.c,
29994	contrib/mod_sftp/rfc4716.h, contrib/mod_sftp/scp.c,
29995	contrib/mod_sftp/scp.h, contrib/mod_sftp/service.c,
29996	contrib/mod_sftp/service.h, contrib/mod_sftp/session.c,
29997	contrib/mod_sftp/session.h, contrib/mod_sftp/ssh2.h,
29998	contrib/mod_sftp/tap.c, contrib/mod_sftp/tap.h,
29999	contrib/mod_sftp/utf8.c, contrib/mod_sftp/utf8.h: Add the Id keyword
30000	to the source files.
30001
300022009-02-13  castaglia <castaglia>
30003
30004	* src/netaddr.c: Quell a compiler warning about const-ness.
30005
300062009-02-13  castaglia <castaglia>
30007
30008	* contrib/mod_sftp/keys.c, contrib/mod_sftp/keys.h: Forgot the
30009	keys.[ch] files for mod_sftp.
30010
300112009-02-13  castaglia <castaglia>
30012
30013	* tests/t/lib/ProFTPD/Tests/Modules/mod_sftp.pm,
30014	tests/t/modules/mod_sftp.t, tests/tests.pl: Adding the mod_sftp
30015	testsuite.
30016
300172009-02-13  castaglia <castaglia>
30018
30019	* tests/t/etc/modules/mod_sftp/authorized_dsa_keys,
30020	tests/t/etc/modules/mod_sftp/authorized_rsa_keys,
30021	tests/t/etc/modules/mod_sftp/ssh_host_dsa_key,
30022	tests/t/etc/modules/mod_sftp/ssh_host_dsa_key.pub,
30023	tests/t/etc/modules/mod_sftp/ssh_host_rsa_key,
30024	tests/t/etc/modules/mod_sftp/ssh_host_rsa_key.pub,
30025	tests/t/etc/modules/mod_sftp/test_dsa_key,
30026	tests/t/etc/modules/mod_sftp/test_dsa_key.pub,
30027	tests/t/etc/modules/mod_sftp/test_rsa_key,
30028	tests/t/etc/modules/mod_sftp/test_rsa_key.pub: Adding some of the
30029	files used by the mod_sftp unit tests.
30030
300312009-02-13  castaglia <castaglia>
30032
30033	* contrib/mod_sftp/mod_sftp.c: Make sure that, when unloaded,
30034	mod_sftp unregisters all event handlers, and scrubs any keys from
30035	memory.
30036
300372009-02-13  castaglia <castaglia>
30038
30039	* NEWS, README.modules, RELEASE_NOTES: Add mention of the added
30040	mod_sftp et al modules.
30041
300422009-02-13  castaglia <castaglia>
30043
30044	* contrib/mod_sftp_pam.c, contrib/mod_sftp_sql.c,
30045	doc/contrib/mod_sftp.html, doc/contrib/mod_sftp_pam.html,
30046	doc/contrib/mod_sftp_sql.html: Adding mod_sftp_pam, mod_sftp_sql to
30047	the contrib modules.  Adding docs for mod_sftp, mod_sftp_pam, and mod_sftp_sql.
30048
300492009-02-13  castaglia <castaglia>
30050
30051	* contrib/mod_sftp/.cvsignore, contrib/mod_sftp/Makefile.in,
30052	contrib/mod_sftp/auth-hostbased.c, contrib/mod_sftp/auth-kbdint.c,
30053	contrib/mod_sftp/auth-password.c,
30054	contrib/mod_sftp/auth-publickey.c, contrib/mod_sftp/auth.c,
30055	contrib/mod_sftp/auth.h, contrib/mod_sftp/blacklist.c,
30056	contrib/mod_sftp/blacklist.h, contrib/mod_sftp/channel.c,
30057	contrib/mod_sftp/channel.h, contrib/mod_sftp/cipher.c,
30058	contrib/mod_sftp/cipher.h, contrib/mod_sftp/compress.c,
30059	contrib/mod_sftp/compress.h, contrib/mod_sftp/config.guess,
30060	contrib/mod_sftp/config.sub, contrib/mod_sftp/configure,
30061	contrib/mod_sftp/configure.in, contrib/mod_sftp/crypto.c,
30062	contrib/mod_sftp/crypto.h, contrib/mod_sftp/dhparams.pem,
30063	contrib/mod_sftp/disconnect.c, contrib/mod_sftp/disconnect.h,
30064	contrib/mod_sftp/fxp.c, contrib/mod_sftp/fxp.h,
30065	contrib/mod_sftp/install-sh, contrib/mod_sftp/interop.c,
30066	contrib/mod_sftp/interop.h, contrib/mod_sftp/kbdint.c,
30067	contrib/mod_sftp/kbdint.h, contrib/mod_sftp/kex.c,
30068	contrib/mod_sftp/kex.h, contrib/mod_sftp/keystore.c,
30069	contrib/mod_sftp/keystore.h, contrib/mod_sftp/mac.c,
30070	contrib/mod_sftp/mac.h, contrib/mod_sftp/mod_sftp.c,
30071	contrib/mod_sftp/mod_sftp.h.in, contrib/mod_sftp/msg.c,
30072	contrib/mod_sftp/msg.h, contrib/mod_sftp/packet.c,
30073	contrib/mod_sftp/packet.h, contrib/mod_sftp/rfc4716.c,
30074	contrib/mod_sftp/rfc4716.h, contrib/mod_sftp/scp.c,
30075	contrib/mod_sftp/scp.h, contrib/mod_sftp/service.c,
30076	contrib/mod_sftp/service.h, contrib/mod_sftp/session.c,
30077	contrib/mod_sftp/session.h, contrib/mod_sftp/ssh2.h,
30078	contrib/mod_sftp/tap.c, contrib/mod_sftp/tap.h,
30079	contrib/mod_sftp/utf8.c, contrib/mod_sftp/utf8.h: Adding mod_sftp to
30080	the contrib modules.
30081
300822009-02-13  castaglia <castaglia>
30083
30084	* contrib/mod_tls.c: Move the installation of the control channel
30085	NetIO handler from the startup event handler to the postparse event
30086	handler, and make the NetIO handler installer be smarter.  We only
30087	want to install a NetIO handler for the control channel if we have
30088	not already done so.  We want to do this at postparse time, so that
30089	if mod_tls is a DSO module and is unloaded (as during a restart),
30090	then the NetIO handler will be installed again properly.
30091	Previously, the NetIO handler was only installed on startup.  If
30092	mod_tls is a DSO module, and proftpd is restarted, then the unload
30093	event handler in mod_tls unregisters the control channel NetIO
30094	handler, and that handler is never reinstalled.  A segfault later
30095	occurs because of a null pointer dereference.
30096
300972009-02-13  castaglia <castaglia>
30098
30099	* NEWS, src/dirtree.c: Bug#3184 - When started in a chroot, proftpd
30100	fails to set transfer buffer size.
30101
301022009-02-12  castaglia <castaglia>
30103
30104	* doc/howto/DNS.html: Mention the new -S command-line option in the
30105	DNS howto's FAQ section.
30106
301072009-02-12  castaglia <castaglia>
30108
30109	* NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
30110	src/main.c, src/netaddr.c, src/proftpd.8.in: Bug#2608 - DNS should
30111	not be used for "server config" address discovery.
30112
301132009-02-12  castaglia <castaglia>
30114
30115	* contrib/mod_quotatab_file.c: Handle possible interruptions of
30116	readv(2) and writev(2) in mod_quotatab_file.
30117
301182009-02-12  castaglia <castaglia>
30119
30120	* contrib/mod_ctrls_admin.c, include/compat.h, include/inet.h,
30121	modules/mod_core.c, modules/mod_ident.c, src/bindings.c,
30122	src/data.c, src/dirtree.c, src/inet.c, src/main.c, src/netaddr.c:
30123	Renamed the Inet "connection" functions to "conn"; no need to have
30124	function names that are that verbose.  Updated the attendant
30125	callers, and added compatibility macros in compat.h.  Removed older compatibility macros for the log functions from
30126	compat.h.  Added handling of the case where fixup_servers() can return -1 after
30127	a restart.  One user was somehow encountering a case where proftpd
30128	could resolve the hostname on startup, but failed to resolve the
30129	hostname after a restart.  This lead to a segfault because the
30130	main_server pointer, after this failure, pointed to old/stale
30131	memory.
30132
301332009-02-12  castaglia <castaglia>
30134
30135	* .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
30136	contrib/mod_wrap2/.cvsignore: Minor refinement of the .libs
30137	exclusion.
30138
301392009-02-12  castaglia <castaglia>
30140
30141	* .cvsignore, contrib/.cvsignore, contrib/mod_load/.cvsignore,
30142	contrib/mod_wrap2/.cvsignore: Ignore .la files and the .libs/
30143	directory.
30144
301452009-02-12  castaglia <castaglia>
30146
30147	* NEWS, modules/mod_auth.c, src/main.c: Bug#3183 - Incorrect logging
30148	to wtmp.
30149
301502009-02-12  castaglia <castaglia>
30151
30152	* tests/t/config/hidegroup.t, tests/t/config/hideuser.t,
30153	tests/t/lib/ProFTPD/Tests/Config/HideGroup.pm,
30154	tests/t/lib/ProFTPD/Tests/Config/HideUser.pm, tests/tests.pl: Adding
30155	testcases for the HideUser and HideGroup directives.
30156
301572009-02-12  castaglia <castaglia>
30158
30159	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#2720 -
30160	HideUser/HideGroup should be more flexible.
30161
301622009-02-12  castaglia <castaglia>
30163
30164	* NEWS, src/ctrls.c, src/event.c: Bug#3179 - Restarted proftpd using
30165	mod_shaper will segfault.
30166
301672009-02-12  castaglia <castaglia>
30168
30169	* src/auth.c: The first id2name lookup was always returning the
30170	numeric ID, even if the lookup succeed.  Fix this so that the
30171	looked-up name is properly returned even for the first lookup.
30172
301732009-02-11  castaglia <castaglia>
30174
30175	* contrib/mod_ban.c: Avoid unsightly error messages like this when
30176	shutting down a proftpd using mod_ban:   mod_ban/0.5.3: error removing shmid -1: No such file or directory by actually checking that the shmid is greater than -1 before
30177	attempting to remove it.
30178
301792009-02-11  castaglia <castaglia>
30180
30181	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add a
30182	testcase for the SQLLog directive and the handling of the %{time}
30183	variable.
30184
301852009-02-11  castaglia <castaglia>
30186
30187	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3178 - mod_wrap2 does not
30188	handle IPv4-mapped IPv6 addresses.
30189
301902009-02-11  castaglia <castaglia>
30191
30192	* modules/mod_auth.c, src/display.c,
30193	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Work towards
30194	Bug#2715.  With this change, the config tree is no longer used for
30195	storing client count and class client count using the
30196	"CURRENT-CLIENTS" and "CURRENT-CLIENTS-CLASS" config_rec names.
30197	These values are now stored (and retrieved) using the session.notes
30198	table.
30199
302002009-02-11  castaglia <castaglia>
30201
30202	* NEWS, src/main.c, tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm:
30203	Bug#2728 - Support for variables in ServerIdent directive.
30204
302052009-02-10  castaglia <castaglia>
30206
30207	* RELEASE_NOTES, sample-configurations/PFTEST.conf.in,
30208	sample-configurations/complex-virtual.conf: Update the release notes
30209	to mention that the IdentLookups directive is handled by the
30210	mod_ident module, and thus should be appropriately guarded in the
30211	proftpd.conf using <IfModule>.  Update the distributed sample configs to use <IfModule> guards
30212	around IdentLookups.
30213
302142009-02-10  castaglia <castaglia>
30215
30216	* contrib/mod_tls.c: If we can't set the certificate-related
30217	environment variables, log the reason why.
30218
302192009-02-10  castaglia <castaglia>
30220
30221	* NEWS, contrib/mod_rewrite.c: Bug#3170 - RewriteMap unescape URL
30222	encoding broken by RewriteCondition backreference handling.
30223
302242009-02-10  castaglia <castaglia>
30225
30226	* src/main.c: Fix a few cases where the signal-presence bit was not
30227	cleared in pr_signals_handle(), prior to calling some other
30228	function.  Failure to do so can lead to endless loops, for that
30229	called function can itself call pr_signals_handle(), which sees the
30230	signal-presence bit, which then calls the function, etc.  Such a
30231	loop results in a segfault, when the stack has been exhausted.
30232
302332009-02-09  castaglia <castaglia>
30234
30235	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Add regression
30236	test for Bug#3156.
30237
302382009-02-09  castaglia <castaglia>
30239
30240	* NEWS, modules/mod_xfer.c: Bug#3156 - Allow resumed downloads when
30241	HiddenStore is in effect.
30242
302432009-02-09  castaglia <castaglia>
30244
30245	* modules/mod_auth.c: In the scoreboard entry for a session, record
30246	the IP address/port to which the client connected.  In some cases,
30247	this can be different from the IP address/port on which the server
30248	config, which handles the connection, is listening.  In the
30249	DefaultServer case, for example.
30250
302512009-02-09  castaglia <castaglia>
30252
30253	* RELEASE_NOTES, locale/Makefile.in, locale/bg_BG.po: Added
30254	Bulgarian translation, courtesy of Georgi D. Sotirov.
30255
302562009-02-09  castaglia <castaglia>
30257
30258	* contrib/mod_sql_postgres.c: Fix compile error.
30259
302602009-02-05  castaglia <castaglia>
30261
30262	* locale/en_US.po: Updated English translation.
30263
302642009-02-05  castaglia <castaglia>
30265
30266	* doc/modules/mod_cap.html: Another mod_cap-related FAQ.
30267
302682009-02-05  castaglia <castaglia>
30269
30270	* modules/mod_core.c: Remove vestigal IdentLookups handling left by
30271	mistake in mod_core.
30272
302732009-02-05  castaglia <castaglia>
30274
30275	* NEWS, RELEASE_NOTES, modules/mod_ident.c: Bug#3155 - Change the
30276	IdentLookups default to 'off'.
30277
302782009-02-05  castaglia <castaglia>
30279
30280	* NEWS, contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html:
30281	Bug#3128 - mod_sql_sqlite should use transactions for INSERT/UPDATE
30282	statements.
30283
302842009-02-05  castaglia <castaglia>
30285
30286	* NEWS, modules/mod_facts.c: Bug#3133 - mod_facts should advertise
30287	TVFS support in the FEAT response.
30288
302892009-02-05  castaglia <castaglia>
30290
30291	* NEWS, contrib/mod_sql_postgres.c: Bug#3123 - Use
30292	PQescapeStringConn() rather than PQescapeString().
30293
302942009-02-05  castaglia <castaglia>
30295
30296	* NEWS, RELEASE_NOTES, modules/mod_auth.c, src/auth.c: Bug#2894 -
30297	Deprecate the AnonymousGroup directive.
30298
302992009-02-05  castaglia <castaglia>
30300
30301	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_odbc.c,
30302	contrib/mod_sql_postgres.c, contrib/mod_sql_sqlite.c: Bug#1801 -
30303	Faulty SQLConnectInfo PERCALL policy - connections not closed after
30304	each call.
30305
303062009-02-05  castaglia <castaglia>
30307
30308	* locale/Makefile.in, locale/proftpd.pot: Updated the `find' command
30309	used to create the files.txt input for creating a new .pot.  Updated
30310	the current proftpd.pot.
30311
303122009-02-05  castaglia <castaglia>
30313
30314	* locale/Makefile.in, locale/fr_FR.po: Added French translation.
30315
303162009-02-05  castaglia <castaglia>
30317
30318	* include/version.h: On to the 1.3.3 release cycle!
30319
303202009-02-05  castaglia <castaglia>
30321
30322	* ChangeLog: Updating ChangeLog for 1.3.2.
30323
303242009-02-05  castaglia <castaglia>
30325
30326	* contrib/dist/rpm/proftpd.spec, include/version.h: Updating
30327	versions for the 1.3.2 release.
30328
303292009-02-05  castaglia <castaglia>
30330
30331	* RELEASE_NOTES: Updating release notes.
30332
303332009-02-05  castaglia <castaglia>
30334
30335	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c:
30336	Bug#3173 - Encoding-dependent SQL injection vulnerability.
30337
303382009-02-03  castaglia <castaglia>
30339
30340	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm: Added testcase
30341	for Bug#3171.
30342
303432009-02-03  castaglia <castaglia>
30344
30345	* NEWS, modules/mod_log.c: Bug#3171 - ExtendedLog should log full
30346	SITE command using %m.
30347
303482009-02-02  castaglia <castaglia>
30349
30350	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Added testcase
30351	for Bug#3170.
30352
303532009-02-02  castaglia <castaglia>
30354
30355	* doc/howto/Rewrite.html: Give examples for handling non-ASCII
30356	characters in RewriteRule expressions.
30357
303582009-02-02  castaglia <castaglia>
30359
30360	* doc/contrib/mod_rewrite.html: Clarify exactly what type of
30361	encoding is unescaped by mod_rewrite's unescape RewriteMap.
30362
303632009-02-02  castaglia <castaglia>
30364
30365	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: Added testcase
30366	for Bug#3169.
30367
303682009-02-02  castaglia <castaglia>
30369
30370	* NEWS, contrib/mod_rewrite.c: Bug#3169 - Multiple RewriteRules for
30371	the same RewriteCondition not processed properly.
30372
303732009-01-30  castaglia <castaglia>
30374
30375	* contrib/mod_sql.c: Used the wrong pool when retrieving environment
30376	variables; when handling %{env} tags in a SQLUserWhereClause, this
30377	would cause the environment variable to not be retrieved properly.
30378
303792009-01-30  castaglia <castaglia>
30380
30381	* tests/api/pool.c: Fix a test that was failing due to a thinko.
30382
303832009-01-29  castaglia <castaglia>
30384
30385	* include/options.h: The changes for Bug#2874 erroneously removed
30386	the PR_TUNABLE_XFER_BUFFER_SIZE macro.  The transfer buffer sizes
30387	are now determined at runtime, but we still need a fallback (and
30388	some contrib modules still use this macro).
30389
303902009-01-28  castaglia <castaglia>
30391
30392	* modules/mod_auth.c: Missed a few places in need of translation.
30393
303942009-01-28  castaglia <castaglia>
30395
30396	* src/encode.c: If the conversion handles are invalid for some
30397	reason, don't cause segfaults by returning null; just return a dup
30398	of the input string, and log the error.
30399
304002009-01-27  castaglia <castaglia>
30401
30402	* src/scoreboard.c: Missed a spot.
30403
304042009-01-27  castaglia <castaglia>
30405
30406	* src/scoreboard.c: Cache the errno value when using pr_trace_msg(),
30407	since that function can change the errno value.
30408
304092009-01-26  castaglia <castaglia>
30410
30411	* modules/mod_lang.c: When "UseEncoding off" is configured, *really*
30412	disable encoding.
30413
304142009-01-26  castaglia <castaglia>
30415
30416	* doc/howto/TLS.html: Finally got around to adding more substance to
30417	the "TLS Debugging" section, including examples using openssl
30418	s_client and ssldump.  Very useful tools.  Added a FAQ about TLSCertificateChainFile, mostly for my own
30419	reference; it's a bit confusing as to when such a thing is useful.
30420
304212009-01-26  castaglia <castaglia>
30422
30423	* contrib/mod_tls.c: Fix two minor issues in mod_tls: 1. The TLSCACertificateFile can contain multiple certificates to use
30424	   when verifying client certs.  However, when requesting the client's
30425	   cert and sending the list of acceptable client CAs, mod_tls was only
30426	   using the *first* cert contained in the TLSCACertificateFile, rather
30427	   than using *all* certs which might be in this file.  (Usually there
30428	   is only one cert anyway, so this is not a huge problem.) 2. The list of acceptable client CAs, sent to the client when
30429	   requesting the client's cert, is built up from TLSCACertificateFile
30430	   and all of the certs in TLSCACertificatePath.  However, for some
30431	   strange reason, if a TLSCertificateChainFile was configured, mod_tls
30432	   was NOT sending the certs in TLSCACertificatePath.  (I suspect it
30433	   was a misunderstanding on my part about the role that the
30434	   certificate chain file plays in SSL/TLS; now I understand it.)
30435
304362009-01-25  jwm <jwm>
30437
30438	* contrib/mod_ldap.c: mod_ldap bzr r62: * Retrieve all LDAP attributes when calling pr_ldap_user_lookup()
30439	  since it will need various attributes (to perform home directory
30440	  generation, for one). Thanks to Nikos Voutsinas
30441	  <nvoutsin@noc.uoa.gr>.
30442	http://forums.proftpd.org/smf/index.php/topic,3562.0.html
30443
304442009-01-23  castaglia <castaglia>
30445
30446	* include/version.h: Back to a CVS version.
30447
304482009-01-23  castaglia <castaglia>
30449
30450	* ChangeLog: Updating ChangeLog for 1.3.2rc4.
30451
304522009-01-23  castaglia <castaglia>
30453
30454	* NEWS, RELEASE_NOTES: Updating NEWS, release notes for 1.3.2rc4.
30455
304562009-01-23  castaglia <castaglia>
30457
30458	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
30459	1.3.2rc4.
30460
304612009-01-23  castaglia <castaglia>
30462
30463	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Fixup some tests
30464	which were failing because the default config changed the value of
30465	AllowOverride.
30466
304672009-01-22  castaglia <castaglia>
30468
30469	* doc/contrib/mod_sql.html: Add some links for easier
30470	cross-referencing.
30471
304722009-01-22  castaglia <castaglia>
30473
30474	* src/support.c: Make pr_gmtime() behave like pr_localtime() with
30475	regard to the use of the given memory pool.  Increase the buffer size used in pr_strtime(), just to be certain
30476	that we have enough room.
30477
304782009-01-17  castaglia <castaglia>
30479
30480	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add a test
30481	case for reproducing Bug#3164.  I think, however, that it is not
30482	really a bug -- as long as the admin configures mod_quotatab_sql
30483	properly.  Hmm.
30484
304852009-01-16  castaglia <castaglia>
30486
30487	* RELEASE_NOTES: Mention the Compiling howto.
30488
304892009-01-16  castaglia <castaglia>
30490
30491	* doc/howto/Compiling.html, doc/howto/index.html: Finally finished a
30492	howto on compiling proftpd.
30493
304942009-01-16  castaglia <castaglia>
30495
30496	* INSTALL: Typos.
30497
304982009-01-14  castaglia <castaglia>
30499
30500	* doc/contrib/mod_tls.html: Typo.
30501
305022009-01-14  castaglia <castaglia>
30503
30504	* src/main.c: Use "microsecs", as it is less confusing to admins.
30505
305062009-01-13  castaglia <castaglia>
30507
30508	* src/main.c: Copy the signo of a terminating signal a little
30509	earlierin the handler.
30510
305112009-01-12  castaglia <castaglia>
30512
30513	* doc/howto/Vhost.html: Add another vhost FAQ.
30514
305152009-01-12  castaglia <castaglia>
30516
30517	* src/fsio.c: Add trace logging of any statvfs()/statfs() errors.
30518
305192009-01-09  castaglia <castaglia>
30520
30521	* src/main.c: Log segfaults in the TraceLog using the 'signal'
30522	channel.
30523
305242009-01-08  castaglia <castaglia>
30525
30526	* src/dirtree.c: Don't forget to append the "*" glob character after
30527	the path when that path is just "/".  This was an edge case we
30528	weren't handling.
30529
305302009-01-08  castaglia <castaglia>
30531
30532	* contrib/mod_sql.c: Typo.
30533
305342009-01-08  castaglia <castaglia>
30535
30536	* tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm: Add testcase
30537	showing that AuthOrder does not affect mod_ctrl's ability to
30538	honor/use system user names in controls ACLs.
30539
305402009-01-07  castaglia <castaglia>
30541
30542	* src/auth.c: Rather than showing "(?)" whenever the uid2name or
30543	gid2name lookup for an ID fails, show the stringified numeric ID
30544	value instead.  This makes proftpd behave more like ls(1) et al.
30545
305462009-01-06  castaglia <castaglia>
30547
30548	* src/auth.c: Typo.
30549
305502009-01-06  castaglia <castaglia>
30551
30552	* contrib/mod_tls.c, tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm:
30553	Do not allow FTPS clients to send AUTH after they have already sent
30554	AUTH.  If clients wish to change the SSL/TLS session parameters,
30555	they need to either use the session renegotiation facilities within
30556	SSL/TLS, or disconnect and start a new session.  This is an
30557	allowable server behavior according to RFC2228.
30558
305592009-01-06  castaglia <castaglia>
30560
30561	* doc/howto/Vhost.html: I realized that the Vhost howto didn't
30562	mention the "already in use" warning message, and should.
30563
305642009-01-05  castaglia <castaglia>
30565
30566	* contrib/mod_ldap.c, contrib/mod_sql.c: Initialize the buffer that
30567	will be used to store the base64-encoded hash value, so that the
30568	ensuing strcmp(3) will work as expected (just making sure of this).
30569
305702009-01-04  castaglia <castaglia>
30571
30572	* contrib/mod_ldap.c, contrib/mod_sql.c: The RATS code analysis tool
30573	correctly pointed out that the output buffer for OpenSSL's
30574	EVP_EncodeBlock() function needs to account for base64-encoding
30575	expansion.  Specifically, the output buffer should be 4/3 the size
30576	of the input buffer.  I played it safe, and made the output buffers
30577	twice the size of the input buffers.
30578
305792009-01-04  castaglia <castaglia>
30580
30581	* contrib/mod_quotatab.c, contrib/mod_sql.c, contrib/mod_tls.c,
30582	modules/mod_delay.c, modules/mod_xfer.c, src/ctrls.c,
30583	src/proctitle.c: I ran proftpd through David Wheeler's flawfinder(1)
30584	script.  Based on that, I replaced the occurrences of sprintf(3)
30585	with snprintf(3), strcpy(3) with sstrncpy(), and strcat(3) with
30586	sstrcat().
30587
305882009-01-02  castaglia <castaglia>
30589
30590	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm: While
30591	investigating Bug#3160, I wrote a mod_rewrite unit test which turned
30592	out to be the regression test for Bug#3027 (as Bug#3160 turned out
30593	to be a duplicate of Bug#3027).  As such, that test should be added
30594	to the collection.
30595
305962009-01-02  castaglia <castaglia>
30597
30598	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Added two MKD tests,
30599	one for directories with spaces in the name, and one for a
30600	UTF8-encoded directory name.
30601
306022008-12-31  castaglia <castaglia>
30603
30604	* contrib/mod_tls.c: Remove unnecessary character.
30605
306062008-12-31  castaglia <castaglia>
30607
30608	* NEWS, contrib/mod_rewrite.c: Bug#3159 - mod_rewrite build fails
30609	due to missing mode argument in open(2) call.
30610
306112008-12-31  castaglia <castaglia>
30612
30613	* modules/mod_xfer.c: Prevent a segfault due to aborted downloads in
30614	some cases by checking for a non-null session.d value before
30615	attempting to use it.  Aborting a download can cause that session.d
30616	value to become null in the middle of the download call stack.
30617
306182008-12-30  castaglia <castaglia>
30619
30620	* doc/howto/NAT.html: Update NAT howto with ipf example.
30621
306222008-12-30  castaglia <castaglia>
30623
30624	* contrib/mod_ctrls_admin.c: Since the mem_printf() function is only
30625	called when --enable-devel is used, guard the mem_printf()
30626	definition with the same macros (and avoid compiler warnings about
30627	the unused function).
30628
306292008-12-24  castaglia <castaglia>
30630
30631	* modules/mod_lang.c, src/encode.c: When mod_lang uses the
30632	environment variables in a setlocale(3) call, it needs to reset the
30633	Encode API to use the possibly-changed encoding.
30634
306352008-12-23  castaglia <castaglia>
30636
30637	* contrib/mod_tls.c: ERR_get_error() returns a long, not an int.
30638	Update tls_fatal_error() to take a long error code as a result.
30639	Also filter out ENOSYS errors on SSL_shutdown(); there's not much we
30640	can do about them anyway.
30641
306422008-12-23  castaglia <castaglia>
30643
30644	* tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm: Add test verifying
30645	that mod_lang picks up and handles the LANG environment variable
30646	properly.
30647
306482008-12-23  castaglia <castaglia>
30649
30650	* modules/mod_lang.c: The ANSI C standard says that every process
30651	starts out in the C locale, regardless of LANG and other environment
30652	variables.  To switch the process to using the locales specified by
30653	those environment variables, you need an explicit:   setlocale(LC_ALL, ""); call.  Make sure that mod_lang does this, prior to any other
30654	setlocale(3) calls.  Also, when using setlocale(3) to query for a
30655	locale, make a copy of the returned string, instead of just stashing
30656	the pointer.  The library may return a pointer whose value changes
30657	later, i.e. by subsequent setlocale(3) calls.
30658
306592008-12-23  castaglia <castaglia>
30660
30661	* contrib/mod_tls.c: Actually mod_sftp_sql can't be used without
30662	mod_sftp, so having it on the list of OpenSSL-using modules is not
30663	really useful.
30664
306652008-12-23  castaglia <castaglia>
30666
30667	* contrib/mod_tls.c: Add mod_sftp_sql to the list of OpenSSL-using
30668	modules.  Also log the OpenSSL error stack to the logs for a
30669	shutdown issue; it can help shed more light on a particular issue
30670	one user is seeing.
30671
306722008-12-22  castaglia <castaglia>
30673
30674	* contrib/mod_tls.c: Explicit cast to quell compiler warnings about
30675	signedness differences.
30676
306772008-12-21  castaglia <castaglia>
30678
30679	* src/encode.c: Try to reduce confusion when we didn't detect
30680	iconv() (no HAVE_ICONV), but we did detect <iconv.h>.
30681
306822008-12-21  castaglia <castaglia>
30683
30684	* doc/howto/Quotas.html: Add FAQ about how mod_quotatab handles file
30685	overwrites/appends.
30686
306872008-12-21  castaglia <castaglia>
30688
30689	* src/auth.c: The key comparators for the UID/GID cache tables need
30690	to return zero if the keys match, not 1.  Oops.
30691
306922008-12-21  castaglia <castaglia>
30693
30694	* src/auth.c: Fixed the caching of UIDs and GIDs in tables in the
30695	Auth API; the keys were not being copied before stashing in the
30696	respective tables, which meant that the key comparisons were being
30697	done on stale pointers, and thus the cached values were never found.
30698	Also fixed the key comparators to be even more efficient (i.e. no
30699	need to use memcmp(3) for comparing values like uid_t, gid_t).
30700
307012008-12-21  castaglia <castaglia>
30702
30703	* src/table.c: Fix some edge cases that could lead to segfaults.
30704
307052008-12-18  castaglia <castaglia>
30706
30707	* src/dirtree.c: Make sure that the cmd_rec returned by
30708	pr_cmd_alloc() has an instantiated cmd->notes table.
30709
307102008-12-18  castaglia <castaglia>
30711
30712	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Fix typos.
30713
307142008-12-17  castaglia <castaglia>
30715
30716	* src/encode.c: Workaround buggy nl_langinfo(3) implementations
30717	which return "646" as a way of indicating "US-ASCII".  The former is
30718	not acceptable to iconv_open(3), but the latter is.  Go figure.
30719
307202008-12-17  castaglia <castaglia>
30721
30722	* contrib/mod_quotatab.c: It's not necessarily safe to use equality
30723	comparisons with floats; better to use less-than/greater-than
30724	instead.
30725
307262008-12-17  castaglia <castaglia>
30727
30728	* doc/howto/TLS.html: Add a FAQ about the OpenSSL header/library
30729	version mismatch warning.
30730
307312008-12-17  castaglia <castaglia>
30732
30733	* NEWS, modules/mod_facl.c: Bug#3150 - mod_facl erroneously assumes
30734	no permissions, rather than all permissions, in some cases.
30735
307362008-12-17  castaglia <castaglia>
30737
30738	* src/encode.c: Guard the set_supports_telnet_iac() function in
30739	HAVE_ICONV macros, as that is the only time when the function is
30740	called.  On systems which have the iconv.h header but NOT the iconv
30741	function() (though I think this is an autoconf issue), the compiler
30742	will warn about this function being declared but not used.
30743
307442008-12-17  castaglia <castaglia>
30745
30746	* doc/contrib/mod_wrap2_file.html: Clean up the example
30747	mod_wrap2_file configs a little.
30748
307492008-12-16  castaglia <castaglia>
30750
30751	* locale/Makefile.in: Use -f instead of -e when checking for .po/.mo
30752	files.  It's more exact and, better, it works properly in Solaris'
30753	sh(1).  (I'm still not sure why -e did not work as expected in
30754	Solaris' sh(1), though.)
30755
307562008-12-16  castaglia <castaglia>
30757
30758	* src/log.c, src/trace.c: Quell some compiler warnings on Solaris by
30759	using explicit casts, and by explicitly encompassing the tertiary
30760	expressions for those casts.
30761
307622008-12-16  castaglia <castaglia>
30763
30764	* src/dirtree.c: Forgot to handle the case, in build_dyn_config(),
30765	where the path was just "/".
30766
307672008-12-16  castaglia <castaglia>
30768
30769	* src/dirtree.c: A better fix for build_dyn_config()'s sending of
30770	empty strings to dir_match_path(); the previous solution could
30771	easily lead to segfaults.
30772
307732008-12-16  castaglia <castaglia>
30774
30775	* tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm: Add unit test for the
30776	handling of decimal point (i.e. unsupported precision) in an MFMT
30777	command.
30778
307792008-12-16  castaglia <castaglia>
30780
30781	* modules/mod_facts.c: Make sure that we restore the original
30782	timestamp argument of an MFMT command if we have changed it.  This
30783	is necessary for any POST_CMD/LOG_CMD handlers which may want to log
30784	the full argument sent by the client.
30785
307862008-12-14  castaglia <castaglia>
30787
30788	* doc/howto/Tracing.html: Mention the trick of disabling some of the
30789	default trace channels.
30790
307912008-12-14  castaglia <castaglia>
30792
30793	* modules/mod_facts.c: Fix the response strings in some cases such
30794	that the original input parameter is reflected in the response
30795	message.  Make sure that if we change the value of a character in a
30796	string (say from ';' to '\0'), we change it back before returning.
30797
307982008-12-14  castaglia <castaglia>
30799
30800	* doc/howto/Sendfile.html: Correct the grammar.
30801
308022008-12-13  castaglia <castaglia>
30803
30804	* tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Add another
30805	test, one for a creating deep directory layout (with corresponding
30806	<Directory> sections).  Like the wide layout, this test fails,
30807	timing out during the login process.  But I wanted to get this
30808	checked in, for future research.
30809
308102008-12-13  castaglia <castaglia>
30811
30812	* src/auth.c: Make a note for my future self, when researching slow
30813	logins with configs with many <Directory> sections, where the
30814	slowness occurs (and why).
30815
308162008-12-13  castaglia <castaglia>
30817
30818	* src/dirtree.c: Add handling of signals in a potentially
30819	long-running while loop (especially if recursion is requested).
30820
308212008-12-13  castaglia <castaglia>
30822
30823	* NEWS, contrib/mod_sql.c,
30824	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#3149 - Bad
30825	handling of %p, %V, and %v variables in mod_sql.
30826
308272008-12-12  castaglia <castaglia>
30828
30829	* doc/contrib/mod_sql.html: Fix the text for better legibility.
30830
308312008-12-12  castaglia <castaglia>
30832
30833	* doc/contrib/mod_sql.html: Mention that the
30834	SQL{Group,User}WhereClause directives support the same variables as
30835	SQLNamedQuery.
30836
308372008-12-12  castaglia <castaglia>
30838
30839	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Added test
30840	for the SQLUserWhereClause directive.
30841
308422008-12-12  castaglia <castaglia>
30843
30844	* contrib/mod_tls.c: The SSL_library_init() function registers SSL
30845	algorithms, but we might want to deal with other algorithms (as when
30846	dealing with PKCS#12 files).  Thus we need to
30847	OpenSSL_add_all_algorithms() to get the remaining algorithms
30848	registered.
30849
308502008-12-12  castaglia <castaglia>
30851
30852	* tests/t/config/directory/lookups.t,
30853	tests/t/lib/ProFTPD/Tests/Config/Directory/Lookups.pm: Renamed the
30854	<Directory> lookups test code to Directory::Lookups.
30855
308562008-12-12  castaglia <castaglia>
30857
30858	* tests/t/config/directory.t,
30859	tests/t/lib/ProFTPD/Tests/Config/Directory.pm: Starting a collection
30860	of cases that I'll be using for testing proftpd's <Directory> lookup
30861	code, particularly in the case of many (i.e. hundreds) of
30862	<Directory> sections and wide and/or deep directory layouts.  (I
30863	suspect there's quite a bit of lookup speed performance to be gained
30864	in this part of the code.)
30865
308662008-12-11  castaglia <castaglia>
30867
30868	* src/dirtree.c: Add more commentary to build_dyn_config(), and add
30869	a paranoia check, in case we should be dealing with a path with
30870	absolutely no path separators.
30871
308722008-12-11  castaglia <castaglia>
30873
30874	* src/dirtree.c: When build_dyn_config() is walking up the
30875	components of the given path (assuming the recurse flag is 'true'),
30876	it has a problem when it gets to "/".  Specifically, it will send
30877	the empty string to dir_match_path(), rather than "/".  Fix this
30878	case.
30879
308802008-12-11  castaglia <castaglia>
30881
30882	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Fix Perl
30883	warnings about redeclared variables.
30884
308852008-12-11  castaglia <castaglia>
30886
30887	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
30888	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm,
30889	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Disable handling
30890	of .ftpaccess files by default in the testsuite; those tests which
30891	handle .ftpaccess files need to use "AllowOverride on" explicitly in
30892	their configs.
30893
308942008-12-11  castaglia <castaglia>
30895
30896	* tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm: Update the
30897	code here.  (By the way, it looks like Bug#2677 may still be present
30898	in the code, and fixing it involves a fair amount of code change.)
30899
309002008-12-11  castaglia <castaglia>
30901
30902	* modules/mod_core.c: Style cleanups in the <Directory> config
30903	handler.
30904
309052008-12-11  castaglia <castaglia>
30906
30907	* modules/mod_lang.c: Correct a few more LANG issues (mostly dealing
30908	with transformations of hyphens to underscores, population of the
30909	current and default languages everywhere, etc).
30910
309112008-12-11  castaglia <castaglia>
30912
30913	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Quell some
30914	Perl warnings about redeclared variables.
30915
309162008-12-11  castaglia <castaglia>
30917
30918	* modules/mod_lang.c: Stupid thinko: If "OPTS UTF8 on" is sent, do
30919	not disable encoding by the FS functions.
30920
309212008-12-11  castaglia <castaglia>
30922
30923	* modules/mod_lang.c: Fix some of the problems found in mod_lang
30924	using the testsuite.
30925
309262008-12-11  castaglia <castaglia>
30927
30928	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
30929	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
30930	tests/t/lib/ProFTPD/Tests/Modules/mod_lang.pm,
30931	tests/t/modules/mod_lang.t, tests/tests.pl: Added tests for the
30932	commands provided by mod_lang.  This involved adding the lang() and
30933	opts() methods to the testsuite FTP class, and in fixing up the FEAT
30934	tests.
30935
309362008-12-11  castaglia <castaglia>
30937
30938	* tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm: Make sure that the
30939	FEAT test can handle subtle differences in the underlying
30940	iconv/setlocale implementations.
30941
309422008-12-11  castaglia <castaglia>
30943
30944	* modules/mod_core.c: Stylistic nit cleanup.
30945
309462008-12-11  castaglia <castaglia>
30947
30948	* modules/mod_delay.c: Clean up some stylistic nits in mod_delay.
30949
309502008-12-11  castaglia <castaglia>
30951
30952	* modules/mod_core.c, src/main.c: Fixed a bug with the handling of
30953	RLimitMemory: any 'hard' memory limits were not actually being set.  Set session resource limits _before_ module session init, not after.
30954	This means that session resource limits will apply to the modules
30955	during session init (as they should).  Favor RLIMIT_DATA over RLIMIT_AS.
30956
309572008-12-10  castaglia <castaglia>
30958
30959	* doc/howto/Directory.html: Add another FAQ for the Directory howto,
30960	covering preventing a directory from being renamed.
30961
309622008-12-10  castaglia <castaglia>
30963
30964	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Some cases
30965	where directory/file renaming works (as expected) or is denied (as
30966	expected).
30967
309682008-12-10  castaglia <castaglia>
30969
30970	* tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Add a couple of
30971	test cases for HideFiles, using the per-user parameters.
30972
309732008-12-10  castaglia <castaglia>
30974
30975	* tests/t/lib/ProFTPD/Tests/Modules/mod_unique_id.pm,
30976	tests/t/modules/mod_unique_id.t, tests/tests.pl: Added test for the
30977	mod_unique_id module.
30978
309792008-12-10  castaglia <castaglia>
30980
30981	* doc/howto/Chroot.html: Add FAQ about DefaultRoot and NFS mounts.
30982
309832008-12-10  castaglia <castaglia>
30984
30985	* tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm,
30986	tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm: Switch these tests to
30987	use the new 'norootprivs' test class, rather than having the tests
30988	do that check themselves.
30989
309902008-12-10  castaglia <castaglia>
30991
30992	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a 'norootprivs' test
30993	class, similar to the 'rootprivs' test class: any test marked as a
30994	'norootprivs' class will be skipped if the testsuite is being run
30995	with root privs.
30996
309972008-12-10  castaglia <castaglia>
30998
30999	* tests/t/config/order.t,
31000	tests/t/lib/ProFTPD/Tests/Config/Order.pm, tests/tests.pl: Added
31001	tests for the Order directive.
31002
310032008-12-10  castaglia <castaglia>
31004
31005	* tests/t/config/storeuniqueprefix.t,
31006	tests/t/lib/ProFTPD/Tests/Config/StoreUniquePrefix.pm,
31007	tests/tests.pl: Added test for the StoreUniquePrefix directive.
31008
310092008-12-10  castaglia <castaglia>
31010
31011	* doc/howto/Scoreboard.html: Mention the "ScoreboardFile /dev/null"
31012	trick.
31013
310142008-12-10  castaglia <castaglia>
31015
31016	* tests/t/config/deleteabortedstores.t,
31017	tests/t/lib/ProFTPD/Tests/Config/DeleteAbortedStores.pm,
31018	tests/tests.pl: Added test for the DeleteAbortedStores directive.
31019
310202008-12-10  castaglia <castaglia>
31021
31022	* tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm: Remove debugging
31023	cruft.
31024
310252008-12-10  castaglia <castaglia>
31026
31027	* tests/t/config/hiddenstores.t,
31028	tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
31029	tests/t/lib/ProFTPD/Tests/Config/HiddenStores.pm, tests/tests.pl:
31030	Added unit test for the HiddenStores functionality.  Added more
31031	<Limit> cases.
31032
310332008-12-10  castaglia <castaglia>
31034
31035	* tests/t/lib/ProFTPD/Tests/Modules/mod_ctrls.pm,
31036	tests/t/modules/mod_ctrls.t, tests/tests.pl: Start on tests for
31037	mod_ctrls.
31038
310392008-12-10  castaglia <castaglia>
31040
31041	* contrib/mod_site_misc.c: Avoid descriptor leak by closing the
31042	directory descriptor before returning from site_misc_delete_dir().
31043
310442008-12-10  castaglia <castaglia>
31045
31046	* tests/t/lib/ProFTPD/Tests/Modules/mod_site_misc.pm,
31047	tests/t/modules/mod_site_misc.t, tests/tests.pl: Added basic tests
31048	for the various SITE commands offered by mod_site_misc.
31049
310502008-12-10  castaglia <castaglia>
31051
31052	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Pass along any other
31053	arguments for custom SITE commands.
31054
310552008-12-10  castaglia <castaglia>
31056
31057	* tests/t/lib/ProFTPD/TestSuite/Utils.pm, tests/tests.pl: With these
31058	changes, it is now possible to use this tests.pl script, and the
31059	ProFTPD testsuite library of Perl modules, to run tests for a
31060	third-party module.  For example:   # cd /path/to/mod_sftp/tests   # perl ~/path/to/proftpd/tests.pl t/modules/mod_sftp.t This will help (me, anyway) when developing new modules, without
31061	having to write the new module test code in the proftpd source tree.
31062
310632008-12-09  castaglia <castaglia>
31064
31065	* modules/mod_core.c: Remove redundant "<Directory>:" in error
31066	message displayed when proftpd detects a duplicate <Directory>
31067	configuration.
31068
310692008-12-09  castaglia <castaglia>
31070
31071	* doc/howto/Directory.html: Add FAQ about matching multiple
31072	<Directory> sections to the same path, and which section wins.
31073
310742008-12-09  castaglia <castaglia>
31075
31076	* tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm: Regression
31077	tests for Bug#3147.
31078
310792008-12-09  castaglia <castaglia>
31080
31081	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#3147 -
31082	Comma-delimited commands in <Limit> sections not handled properly.
31083
310842008-12-09  castaglia <castaglia>
31085
31086	* doc/howto/Tracing.html: Mention the "directory" log channel, added
31087	as part of the fix for Bug#3146.
31088
310892008-12-09  castaglia <castaglia>
31090
31091	* tests/t/config/directory/limits.t,
31092	tests/t/lib/ProFTPD/Tests/Config/Directory/Limits.pm,
31093	tests/tests.pl: Added regression tests for Bug#3146.
31094
310952008-12-09  castaglia <castaglia>
31096
31097	* NEWS, src/dirtree.c: Bug#3146 - <Directory> paths using glob
31098	characters may not match as expected.
31099
311002008-12-09  castaglia <castaglia>
31101
31102	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add checks
31103	of the tally values for more of the upload quotatab tests.
31104
311052008-12-09  castaglia <castaglia>
31106
31107	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Add
31108	function for checking on the current tally; need to use this in more
31109	of the existing tests, for ensuring the mod_quotatab is updating the
31110	tallies properly.
31111
311122008-12-09  castaglia <castaglia>
31113
31114	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
31115	mod_quotatab_sql tests for uploads and the 'all' limit.
31116
311172008-12-09  castaglia <castaglia>
31118
31119	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
31120	mod_quotatab_sql tests for uploads and class quota.
31121
311222008-12-08  castaglia <castaglia>
31123
31124	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm: Added
31125	mod_quotatab_sql tests for uploads and group quota.
31126
311272008-12-08  castaglia <castaglia>
31128
31129	* tests/t/lib/ProFTPD/Tests/Modules/mod_quotatab_sql.pm,
31130	tests/t/modules/mod_quotatab_sql.t, tests/tests.pl: Start of some
31131	tests for mod_quotatab_sql; there are *many* more tests for this
31132	module to come.
31133
311342008-12-08  castaglia <castaglia>
31135
31136	* tests/t/config/groupowner.t,
31137	tests/t/lib/ProFTPD/Tests/Config/GroupOwner.pm, tests/tests.pl:
31138	Added tests for the GroupOwner directive.
31139
311402008-12-08  castaglia <castaglia>
31141
31142	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Allow zero IDs in the
31143	AuthUserFile and AuthGroupFile files.
31144
311452008-12-08  castaglia <castaglia>
31146
31147	* tests/t/config/userowner.t,
31148	tests/t/lib/ProFTPD/Tests/Config/UserOwner.pm, tests/tests.pl: Added
31149	tests for the UserOwner directive.
31150
311512008-12-08  castaglia <castaglia>
31152
31153	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: When writing out
31154	AuthUserFiles and AuthGroupFiles, append to any file which may
31155	already be present.  This allows for the writing of multiple entries
31156	in those files.
31157
311582008-12-08  castaglia <castaglia>
31159
31160	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Handle arrayrefs within
31161	hashrefs properly when writing out the config.
31162
311632008-12-08  castaglia <castaglia>
31164
31165	* src/main.c: When handling SIGABRT, shut down properly.  Also
31166	include the signal number (as it can vary across platforms) for each
31167	signal in the trace logging.
31168
311692008-12-08  castaglia <castaglia>
31170
31171	* tests/t/lib/ProFTPD/Tests/Signals/ABRT.pm,
31172	tests/t/lib/ProFTPD/Tests/Signals/SEGV.pm, tests/t/signals/abrt.t,
31173	tests/t/signals/segv.t, tests/tests.pl: Added unit tests for the
31174	handling of SIGABRT and SIGSEGV in the daemon process.
31175
311762008-12-08  castaglia <castaglia>
31177
31178	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Permit empty usernames,
31179	passwords (useful for certain tests).
31180
311812008-12-08  castaglia <castaglia>
31182
31183	* doc/howto/TLS.html: Update the TLSProtocol example in light of
31184	Bug#3107.
31185
311862008-12-08  castaglia <castaglia>
31187
31188	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
31189	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm,
31190	tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
31191	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Cleaning up some test
31192	cases so that all pass when run as root, and that there are no Perl
31193	compiler warnings.
31194
311952008-12-08  castaglia <castaglia>
31196
31197	* src/dirtree.c: Loosen the paranoid parameter sanity check in
31198	dir_hide_file() a little.
31199
312002008-12-08  castaglia <castaglia>
31201
31202	* NEWS, modules/mod_ls.c, src/dirtree.c,
31203	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm: Bug#2020 - HideFiles
31204	sometimes fails.  The accompanying unit tests prove that the fix
31205	works as intended.
31206
312072008-12-08  castaglia <castaglia>
31208
31209	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: Adding
31210	regression test for Bug#2461.
31211
312122008-12-08  castaglia <castaglia>
31213
31214	* NEWS, locale/Makefile.in, locale/ru_RU.po: Bug#3065 - Russian
31215	translation for proftpd.
31216
312172008-12-08  castaglia <castaglia>
31218
31219	* tests/t/config/directory/umask.t,
31220	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
31221	tests/t/lib/ProFTPD/Tests/Config/Directory/Umask.pm, tests/tests.pl:
31222	Add regression tests/reproduction cases for Bug#2677.  This involved
31223	updating the config_write() function so that it can properly handled
31224	nested <Directory> and <Limit> sections.
31225
312262008-12-07  castaglia <castaglia>
31227
31228	* doc/howto/Directory.html: Update the Directory howto to mention
31229	that <Directory> sections apply recursively (see Bug#2677).
31230
312312008-12-07  castaglia <castaglia>
31232
31233	* tests/t/config/ftpaccess/dele.t,
31234	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/DELE.pm, tests/tests.pl:
31235	Add regression tests for Bug#2321.
31236
312372008-12-07  castaglia <castaglia>
31238
31239	* tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm: More
31240	refinements to the Bug#2038 regression tests, proving that the
31241	.ftpaccess file is being honored as intended.
31242
312432008-12-07  castaglia <castaglia>
31244
31245	* tests/t/config/ftpaccess/retr.t,
31246	tests/t/lib/ProFTPD/Tests/Config/FTPAccess/RETR.pm, tests/tests.pl:
31247	Added regression tests for Bug#2038, which doesn't seem to happen
31248	anymore.
31249
312502008-12-07  castaglia <castaglia>
31251
31252	* contrib/mod_tls.c: Use a better context identifier for cached
31253	session IDs; the module name and version is much better than a
31254	simple "1" string.
31255
312562008-12-07  castaglia <castaglia>
31257
31258	* tests/tests.pl: Add the mod_tls testcase to the testsuite.
31259
312602008-12-07  castaglia <castaglia>
31261
31262	* tests/t/etc/modules/mod_tls/ca-cert.pem,
31263	tests/t/etc/modules/mod_tls/server-cert.pem,
31264	tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm: Add the required CA
31265	and server certs for the mod_tls tests.  These certs are good for 5
31266	years.
31267
312682008-12-07  castaglia <castaglia>
31269
31270	* doc/howto/TLS.html: Fix typos in TLS howto.
31271
312722008-12-07  castaglia <castaglia>
31273
31274	* tests/t/lib/ProFTPD/Tests/Modules/mod_tls.pm,
31275	tests/t/modules/mod_tls.t: Start a collection of mod_tls tests.
31276	This doesn't really work just yet; I need to generate a proper cert
31277	for use by the testsuite.
31278
312792008-12-07  castaglia <castaglia>
31280
31281	* doc/howto/CreateHome.html: Update the CreateHome howto with an
31282	example of the feature added by Bug#3040.
31283
312842008-12-07  castaglia <castaglia>
31285
31286	* tests/t/config/createhome.t,
31287	tests/t/lib/ProFTPD/Tests/Config/CreateHome.pm, tests/tests.pl: Add
31288	tests verifying the fix for Bug#3040; more CreateHome tests are
31289	needed.
31290
312912008-12-07  castaglia <castaglia>
31292
31293	* NEWS, modules/mod_auth.c, src/mkhome.c: Bug#3040 - Support for
31294	CreateHome parent directories owned by user.
31295
312962008-12-07  castaglia <castaglia>
31297
31298	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql.pm: Update the set_up(),
31299	tear_down() methods in this file.  Even though it's currently empty,
31300	I use it as a template for new module testcase files.
31301
313022008-12-07  castaglia <castaglia>
31303
31304	* RELEASE_NOTES: Mention the Sendfile, Rewrite howtos in the release
31305	notes.
31306
313072008-12-07  castaglia <castaglia>
31308
31309	* doc/howto/Rewrite.html: Remove extraneous header.
31310
313112008-12-07  castaglia <castaglia>
31312
31313	* doc/howto/Rewrite.html: Make the URLs in the doc be relative to
31314	the rest of the docs.
31315
313162008-12-07  castaglia <castaglia>
31317
31318	* doc/howto/Rewrite.html, doc/howto/index.html: Adding a rewrite
31319	howto to the collection.
31320
313212008-12-06  castaglia <castaglia>
31322
31323	* tests/t/lib/ProFTPD/Tests/Logging/TransferLog.pm,
31324	tests/t/logging/transferlog.t, tests/tests.pl: Added unit tests for
31325	the TransferLog format.
31326
313272008-12-04  castaglia <castaglia>
31328
31329	* tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: Added more test
31330	cases to try to reproduce Bug#3138, to no avail.  Still useful to
31331	have these use cases in the testsuite.
31332
313332008-12-04  castaglia <castaglia>
31334
31335	* NEWS, contrib/mod_dynmasq.c: Bug#3144 - mod_dynmasq returns same
31336	IP address, even though actual IP address has changed.
31337
313382008-12-04  castaglia <castaglia>
31339
31340	* src/inet.c: After closing a connection, make sure the various
31341	fields are reset to NULL/-1 as appropriate.
31342
313432008-12-04  castaglia <castaglia>
31344
31345	* modules/mod_core.c: Add a little bit of logging for the MKD/XMKD
31346	command, when it is denied because of a <Limit> config.  Also cache
31347	an errno value, so that the actual error reason is properly logged.
31348
313492008-12-04  castaglia <castaglia>
31350
31351	* doc/howto/Directory.html: Update the Directory howto with the tip
31352	about using a <Directory> section to refer to a specific file,
31353	rather than just to a directory (Bug#3140).
31354
313552008-12-04  castaglia <castaglia>
31356
31357	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
31358	tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm: Add more <Limit>
31359	test cases from the Bug#3138 investigation.  This involved adding
31360	support for <Class> sections in the testcase config files.
31361
313622008-12-03  castaglia <castaglia>
31363
31364	* modules/mod_xfer.c: Cache the errno value for an aborted download,
31365	so that it can be reported properly.  This came out of investigating
31366	the cause for Bug#3143.
31367
313682008-12-03  castaglia <castaglia>
31369
31370	* tests/t/commands/mff.t, tests/t/commands/mfmt.t,
31371	tests/t/lib/ProFTPD/Tests/Commands/MFF.pm,
31372	tests/t/lib/ProFTPD/Tests/Commands/MFMT.pm, tests/tests.pl: Add some
31373	tests (not exhaustive) for the MFMT and MFF commands.
31374
313752008-12-03  castaglia <castaglia>
31376
31377	* NEWS, modules/mod_facts.c: Bug#3142 - "Invalid number of arguments
31378	MFMT" due to spaces in path argument.
31379
313802008-12-03  castaglia <castaglia>
31381
31382	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Support use of <Limit>
31383	sections in the testcase config files.
31384
313852008-12-03  castaglia <castaglia>
31386
31387	* tests/t/config/limit/xmkd.t,
31388	tests/t/lib/ProFTPD/Tests/Config/Limit/XMKD.pm, tests/tests.pl:
31389	Begin the collection of unit tests for various <Limit>
31390	configurations.
31391
313922008-12-03  castaglia <castaglia>
31393
31394	* doc/modules/mod_facts.html: Updated URL to Draft for MFF/MFMT
31395	commands.
31396
313972008-12-03  castaglia <castaglia>
31398
31399	* tests/t/lib/ProFTPD/Tests/Logging/ExtendedLog.pm,
31400	tests/t/logging/extendedlog.t, tests/tests.pl: Add regression tests
31401	for Bug#3137.
31402
314032008-12-03  castaglia <castaglia>
31404
31405	* NEWS, modules/mod_xfer.c, src/data.c: Bug#3137 - ProFTPD does not
31406	log filename %f for uploaded files.
31407
314082008-11-26  castaglia <castaglia>
31409
31410	* tests/t/commands/mlsd.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
31411	tests/t/lib/ProFTPD/Tests/Commands/MLSD.pm, tests/tests.pl: Adding
31412	tests for the MLSD command.
31413
314142008-11-26  castaglia <castaglia>
31415
31416	* modules/mod_facts.c: Be able to distinguish failure responses for
31417	MLSD for using globs, versus something to do with the file itself
31418	(e.g. permissions, existence, etc).
31419
314202008-11-25  castaglia <castaglia>
31421
31422	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add the methods for the
31423	MLSD, MLST, MFF, MFMT commands.
31424
314252008-11-25  castaglia <castaglia>
31426
31427	* tests/t/commands/mlst.t,
31428	tests/t/lib/ProFTPD/Tests/Commands/MLST.pm, tests/tests.pl: Adding
31429	tests for the MLST command.
31430
314312008-11-24  castaglia <castaglia>
31432
31433	* tests/t/config/maxinstances.t,
31434	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
31435	tests/t/lib/ProFTPD/Tests/Config/MaxInstances.pm, tests/tests.pl:
31436	Added test for the MaxInstances directive.
31437
314382008-11-22  castaglia <castaglia>
31439
31440	* modules/mod_lang.c: Make sure that, if no languages are explicitly
31441	configured, at least the default one (obtained via environment
31442	variables) is listed properly in the FEAT response.
31443
314442008-11-22  castaglia <castaglia>
31445
31446	* src/fsio.c: Add signal handling in the potentially long-running
31447	while loops of the filesystem path resolution functions.
31448
314492008-11-22  castaglia <castaglia>
31450
31451	* NEWS, contrib/mod_ratio.c: Bug#1636 - GroupRatio does not check
31452	user's supplemental group membership.
31453
314542008-11-22  castaglia <castaglia>
31455
31456	* tests/t/lib/ProFTPD/Tests/Modules/mod_rewrite.pm,
31457	tests/t/modules/mod_rewrite.t, tests/tests.pl: Added some unit tests
31458	for the mod_rewrite module.  There will be many more to come for
31459	this module.
31460
314612008-11-22  castaglia <castaglia>
31462
31463	* NEWS, contrib/mod_rewrite.c: Bug#2915 - mod_rewrite does not work
31464	well for SITE commands.
31465
314662008-11-22  castaglia <castaglia>
31467
31468	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Add a site() method, for
31469	sending arbitrary SITE commands.
31470
314712008-11-22  castaglia <castaglia>
31472
31473	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add some nice features to
31474	the testsuite.  First, configs can be defined using arrayrefs, in
31475	addition to hashrefs, so that the ordering of config directives in
31476	the test config file can be detected (important in some cases).
31477	Second, the location of the `proftpd' being tested can be defined
31478	using the PROFTPD_TEST_BIN environment variable; useful (though not
31479	necessarily recommended) if you want to run the testsuite using an
31480	existing proftpd.
31481
314822008-11-22  castaglia <castaglia>
31483
31484	* tests/t/lib/ProFTPD/Tests/Signals/HUP.pm,
31485	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm, tests/t/signals/hup.t,
31486	tests/tests.pl: Add unit tests for the HUP signal, at least for the
31487	daemon process.
31488
314892008-11-22  castaglia <castaglia>
31490
31491	* doc/howto/Sendfile.html, doc/howto/index.html: Adding doc covering
31492	sendfile and its issues.
31493
314942008-11-21  castaglia <castaglia>
31495
31496	* NEWS, contrib/mod_sql.c,
31497	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Bug#2045 -
31498	SQLShowInfo should not be displayed when query returns no data.
31499
315002008-11-20  castaglia <castaglia>
31501
31502	* include/version.h: Updating version for CVS.
31503
315042008-11-20  castaglia <castaglia>
31505
31506	* ChangeLog: Updated ChangeLog.
31507
315082008-11-20  castaglia <castaglia>
31509
31510	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
31511	for RC3 release.
31512
315132008-11-20  castaglia <castaglia>
31514
31515	* RELEASE_NOTES: Updating release notes, preparing for release.
31516
315172008-11-20  castaglia <castaglia>
31518
31519	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Use the two-argument form of
31520	the Net::FTP constructor -- it works better with older Perls.
31521
315222008-11-20  castaglia <castaglia>
31523
31524	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
31525	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
31526	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm,
31527	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Get rid of a few places
31528	where we needed to use sleep() to delay between server shutdown and
31529	server startup, in order to make sure that the new server's PidFile
31530	and ScoreboardFile weren't deleted by the previous server while it
31531	was shutting down.  Instead, the server_stop() function will not
31532	return until it sees that the PidFile has been deleted.
31533
315342008-11-20  castaglia <castaglia>
31535
31536	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
31537	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
31538	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
31539	tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm, tests/tests.pl:
31540	Retrofit the module-specific unit tests to use test-specific scratch
31541	directories.  That should be all of the existing tests.
31542
315432008-11-20  castaglia <castaglia>
31544
31545	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Quell Perl warnings
31546	about redeclared variables.
31547
315482008-11-20  castaglia <castaglia>
31549
31550	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm,
31551	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
31552	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
31553	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
31554	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
31555	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
31556	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm,
31557	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
31558	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm,
31559	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm,
31560	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
31561	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
31562	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
31563	tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
31564	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
31565	tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
31566	tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
31567	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
31568	tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
31569	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm,
31570	tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm,
31571	tests/t/lib/ProFTPD/Tests/Logins.pm,
31572	tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Retrofitted more of the
31573	testsuite to use more individualized per-test scratch directories.
31574
315752008-11-20  castaglia <castaglia>
31576
31577	* contrib/mod_ban.c: Minor nits and improvements to mod_ban; no real
31578	functional changes.
31579
315802008-11-20  castaglia <castaglia>
31581
31582	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
31583	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
31584	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
31585	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
31586	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
31587	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
31588	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
31589	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
31590	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
31591	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
31592	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
31593	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
31594	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
31595	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
31596	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
31597	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
31598	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
31599	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
31600	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
31601	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
31602	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm,
31603	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
31604	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
31605	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
31606	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
31607	tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
31608	tests/t/lib/ProFTPD/Tests/Logins.pm: Update some (but not all, yet)
31609	of the tests to use the new scratch directory function.  Will need
31610	to finish the rest later tonight.
31611
316122008-11-19  castaglia <castaglia>
31613
31614	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
31615	tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: By fixing the daemon
31616	shutdown bug, I introduced some race conditions into the unit tests.
31617	Each unit test would use the same 'tmp/' directory; and sometimes
31618	the next test would have started (and used the same path for
31619	PidFile, ScoreboardFile) before the server may have removed those
31620	files.  To address this, each unit test will get its own unique scratch
31621	directory whose name will include the PID and a counter.  This will
31622	require retrofitting most of the existing tests, but is cleaner in
31623	the long run.
31624
316252008-11-19  castaglia <castaglia>
31626
31627	* tests/t/lib/ProFTPD/Tests/Signals/TERM.pm: Slight tweak to the
31628	shutdown test, to ensure that the server has enough time between
31629	startup and shutdown to write out the appropriate files.
31630
316312008-11-19  castaglia <castaglia>
31632
31633	* NEWS, src/data.c: Bug#3135 - Aborting a download can lead to
31634	segfault in some cases.
31635
316362008-11-19  castaglia <castaglia>
31637
31638	* tests/t/lib/ProFTPD/Tests/Modules/mod_ban.pm,
31639	tests/t/modules/mod_ban.t, tests/tests.pl: Added start of unit tests
31640	for the mod_ban module.
31641
316422008-11-19  castaglia <castaglia>
31643
31644	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Provide a function for
31645	obtaining the reason, given by the server, why the initial
31646	connection might be denied.
31647
316482008-11-19  castaglia <castaglia>
31649
31650	* tests/t/lib/ProFTPD/Tests/Signals/TERM.pm,
31651	tests/t/signals/term.t, tests/tests.pl: Add a test for the SIGTERM
31652	signal handling of the daemon process, to ensure that the shutdown
31653	procedures (PidFile removal, ScoreboardFile removal) are indeed
31654	happening properly.
31655
316562008-11-19  castaglia <castaglia>
31657
31658	* src/main.c: While working on unit tests for mod_ban, I noticed
31659	that mod_ban's shared memory segments were not being cleaned up.  I
31660	tracked it down to the fact that the check to see if you're the
31661	"master" process (assuming a ServerType of 'standalone') was
31662	failing, because the cached "master PID" value was for the process
31663	_prior to daemonizing_.  I suspect that many shutdown cleanups, such
31664	as PidFile removal and such, have not been happening for a while.
31665
316662008-11-19  castaglia <castaglia>
31667
31668	* configure: Updated configure.
31669
316702008-11-19  castaglia <castaglia>
31671
31672	* Make.rules.in, Makefile.in, configure.in, locale/Makefile.in:
31673	Properly honor the --localedir configure option.
31674
316752008-11-19  castaglia <castaglia>
31676
31677	* src/encode.c: Comment typo.
31678
316792008-11-18  castaglia <castaglia>
31680
31681	* src/encode.c: Check in some of the fixes found while investigating
31682	Bug#3134, particularly ones which can cause segfaults (e.g. on
31683	FreeBSD) when an iconv_t handle is closed multiple times
31684	erroneously.
31685
316862008-11-17  castaglia <castaglia>
31687
31688	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Be sure to clean up
31689	the generated log file.
31690
316912008-11-17  castaglia <castaglia>
31692
31693	* tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm, tests/tests.pl: After
31694	all the work done on Bug#3131, these ABOR unit tests should
31695	definitely be checked in and added to the testsuite.
31696
316972008-11-17  castaglia <castaglia>
31698
31699	* NEWS: Remove duplicate bug entry.
31700
317012008-11-17  castaglia <castaglia>
31702
31703	* tests/tests.pl: Don't add the 'testsuite_empty_test' to the list
31704	of files, if that is what is returned by filtering for feature-based
31705	test files.
31706
317072008-11-17  castaglia <castaglia>
31708
31709	* src/netio.c: Fix uploads; it had been inadvertently broken when
31710	trace logging of EOF was added.  The testsuite caught this
31711	regression; the testsuite is coming in handy!
31712
317132008-11-16  castaglia <castaglia>
31714
31715	* NEWS, src/main.c: Bug#3073 - Command arguments not decoded
31716	properly in some places.
31717
317182008-11-15  castaglia <castaglia>
31719
31720	* configure: Updated configure.
31721
317222008-11-15  castaglia <castaglia>
31723
31724	* RELEASE_NOTES: Mention the change in TimeoutLinger default value
31725	in the release notes.
31726
317272008-11-15  castaglia <castaglia>
31728
31729	* configure.in, include/options.h: Change the default linger timeout
31730	from 1.5 minutes (180 secs) to 30 secs.  Many command-line FTP
31731	clients have a timeout of 60 secs, after which they think the server
31732	has timed out, and will close the control connection.  We want to
31733	make sure that proftpd's lingering closes do not linger past that 60
31734	secs mark.
31735
317362008-11-15  castaglia <castaglia>
31737
31738	* tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
31739	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm: Make sure the EPRT tests
31740	are sensitive to whether the built proftpd supports IPv6.  Did the
31741	same for the EPSV tests, and added more tests for the optional EPSV
31742	arguments.
31743
317442008-11-15  castaglia <castaglia>
31745
31746	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Allow the epsv() method to
31747	take an optional protocol number, as allowed in the EPSV command.
31748
317492008-11-15  castaglia <castaglia>
31750
31751	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Apply the same Net::FTP
31752	internals muck to the epsv() and eprt() methods as used in the
31753	pasv() and port() methods.
31754
317552008-11-15  castaglia <castaglia>
31756
31757	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Quell Perl warning about
31758	redeclared variable.
31759
317602008-11-15  castaglia <castaglia>
31761
31762	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Make the pasv() and port()
31763	methods actually cause the client to use passive and active data
31764	transfers, respectively, rather than having to rely on a
31765	constructor-time setting.  Yuck.
31766
317672008-11-15  castaglia <castaglia>
31768
31769	* NEWS, src/data.c, src/netio.c: Bug#3131 - Session process uses
31770	100% CPU after aborted transfer.
31771
317722008-11-14  castaglia <castaglia>
31773
31774	* tests/Makefile.in: Fix typo.
31775
317762008-11-14  castaglia <castaglia>
31777
31778	* modules/mod_lang.c: When calling setlocale(3) to get the LANG to
31779	advertise in the FEAT response, use LC_MESSAGES rather than LC_ALL;
31780	the latter can result in a string which includes the locales for
31781	every category when we just want the LC_MESSAGES category.
31782
317832008-11-14  castaglia <castaglia>
31784
31785	* NEWS, src/main.c: Bug#3132 - Handling of SIGABRT signal leads to
31786	endless loop.
31787
317882008-11-14  castaglia <castaglia>
31789
31790	* src/main.c, src/netio.c: Add trace logging of the handling of EOF,
31791	i.e. when a client closes (or shuts down) its control connection,
31792	causing proftpd to close that connection.  Also make the implementation of the poll callback a little nicer;
31793	rather than calling select(2) on an empty fd_set, pass NULL if that
31794	fd_set is empty.
31795
317962008-11-13  castaglia <castaglia>
31797
31798	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Fix the feature-checking
31799	code so that tests using a "feature_X" class are properly handled.
31800
318012008-11-13  castaglia <castaglia>
31802
31803	* tests/t/commands/abor.t,
31804	tests/t/lib/ProFTPD/Tests/Commands/ABOR.pm: Check in some of the
31805	in-progress unit tests on the ABOR command (being driven by
31806	investigations for Bug#3131).  The tests are not part of the full
31807	testsuite yet.
31808
318092008-11-12  castaglia <castaglia>
31810
31811	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_sql.pm,
31812	tests/t/modules/mod_wrap2_sql.t, tests/tests.pl: Added unit tests
31813	for mod_wrap2_sql.
31814
318152008-11-12  castaglia <castaglia>
31816
31817	* tests/t/lib/ProFTPD/Tests/Modules/mod_wrap2_file.pm,
31818	tests/t/modules/mod_wrap2_file.t, tests/tests.pl: Add unit tests for
31819	mod_wrap2_file.
31820
318212008-11-11  castaglia <castaglia>
31822
31823	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add routine for checking
31824	the enabled features in the proftpd build.  Use this for disabling
31825	IPv6 support in the unit tests, if IPv6 support is enabled, unless
31826	explicitly requested otherwise in the test.
31827
318282008-11-11  castaglia <castaglia>
31829
31830	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
31831	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm,
31832	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
31833	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
31834	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
31835	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm,
31836	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
31837	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
31838	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm,
31839	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
31840	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
31841	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
31842	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
31843	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
31844	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
31845	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
31846	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
31847	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
31848	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
31849	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
31850	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
31851	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
31852	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
31853	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
31854	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
31855	tests/t/lib/ProFTPD/Tests/Commands/USER.pm,
31856	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm,
31857	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm,
31858	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
31859	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm,
31860	tests/t/lib/ProFTPD/Tests/Logins.pm: Remove unnecessary import of
31861	module-related functions.
31862
318632008-11-11  castaglia <castaglia>
31864
31865	* contrib/mod_wrap2/mod_wrap2.c: Fix bug, found by unit tests, with
31866	evaluation of conditions for applying WrapGroupTables directive.
31867	The logic was incorrectly inverted.
31868
318692008-11-10  castaglia <castaglia>
31870
31871	* tests/tests.pl: If there are no additional feature/module-specific
31872	test files to add, then don't add them, not even the
31873	'testsuite_empty_test' stub test.
31874
318752008-11-10  castaglia <castaglia>
31876
31877	* tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
31878	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm: Quell Perl
31879	compiler warnings about re-declared variables.
31880
318812008-11-08  castaglia <castaglia>
31882
31883	* tests/t/config/maxretrievefilesize.t,
31884	tests/t/config/maxstorefilesize.t,
31885	tests/t/lib/ProFTPD/Tests/Config/MaxRetrieveFileSize.pm,
31886	tests/t/lib/ProFTPD/Tests/Config/MaxStoreFileSize.pm,
31887	tests/tests.pl: Added unit tests for the MaxRetrieveFileSize and
31888	MaxStoreFileSize directives.
31889
318902008-11-08  castaglia <castaglia>
31891
31892	* tests/t/config/requirevalidshell.t, tests/t/config/useftpusers.t,
31893	tests/t/lib/ProFTPD/Tests/Config/RequireValidShell.pm,
31894	tests/t/lib/ProFTPD/Tests/Config/UseFtpUsers.pm, tests/tests.pl:
31895	Added unit tests for the RequireValidShell and UseFtpUsers
31896	directives.
31897
318982008-11-08  castaglia <castaglia>
31899
31900	* tests/t/config/timeoutidle.t, tests/t/config/timeoutlogin.t,
31901	tests/t/config/timeoutnotransfer.t,
31902	tests/t/config/timeoutsession.t, tests/t/config/timeoutstalled.t,
31903	tests/t/lib/ProFTPD/Tests/Config/TimeoutIdle.pm,
31904	tests/t/lib/ProFTPD/Tests/Config/TimeoutLogin.pm,
31905	tests/t/lib/ProFTPD/Tests/Config/TimeoutNoTransfer.pm,
31906	tests/t/lib/ProFTPD/Tests/Config/TimeoutSession.pm,
31907	tests/t/lib/ProFTPD/Tests/Config/TimeoutStalled.pm, tests/tests.pl:
31908	Added unit tests for the various Timeout directives.
31909
319102008-11-07  castaglia <castaglia>
31911
31912	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Minor adjustment to
31913	make a RETR test pass; the File::Spec::rel2abs() Perl function can
31914	take *a lot* longer to run, than expected, in some cases.  Not sure
31915	why yet.
31916
319172008-11-07  castaglia <castaglia>
31918
31919	* tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: The STOU tests now
31920	pass when run both as root and as non-root.
31921
319222008-11-07  castaglia <castaglia>
31923
31924	* tests/t/lib/ProFTPD/Tests/Commands/STOR.pm: Update the STOR tests
31925	to pass when run as root and as non-root.
31926
319272008-11-07  castaglia <castaglia>
31928
31929	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Make sure the RNTO
31930	tests pass when run as root and as non-root.
31931
319322008-11-07  castaglia <castaglia>
31933
31934	* tests/t/lib/ProFTPD/Tests/Commands/RMD.pm: Adjust the RMD tests to
31935	pass when run as root and as non-root.
31936
319372008-11-07  castaglia <castaglia>
31938
31939	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Make the RETR tests
31940	pass when run as both root and non-root.
31941
319422008-11-07  castaglia <castaglia>
31943
31944	* tests/t/lib/ProFTPD/Tests/Commands/NLST.pm: Update the NLST tests
31945	to pass when run as root and as non-root.
31946
319472008-11-07  castaglia <castaglia>
31948
31949	* tests/t/lib/ProFTPD/Tests/Commands/MKD.pm: Adjust the MKD tests so
31950	that using root and non-root users work, and the tests pass.
31951
319522008-11-07  castaglia <castaglia>
31953
31954	* tests/t/lib/ProFTPD/Tests/Commands/LIST.pm: Adjust the LIST tests
31955	so that they pass when run both as root and as non-root.
31956
319572008-11-07  castaglia <castaglia>
31958
31959	* tests/t/lib/ProFTPD/Tests/Commands/DELE.pm: Rework the DELE unit
31960	tests so that they pass when run both as root and as non-root.
31961
319622008-11-07  castaglia <castaglia>
31963
31964	* tests/t/lib/ProFTPD/Tests/Commands/APPE.pm: Rework the APPE tests
31965	so that they always pass, whether run as root or not.
31966
319672008-11-07  castaglia <castaglia>
31968
31969	* doc/howto/Testing.html: Mention that some integration tests are
31970	skipped if not run with root privs.
31971
319722008-11-07  castaglia <castaglia>
31973
31974	* tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm: Add a
31975	regression test for Bug#2922.
31976
319772008-11-07  castaglia <castaglia>
31978
31979	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
31980	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
31981	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
31982	tests/t/modules/mod_sql_sqlite.t: Adding some regressions tests for
31983	Bugs #3116, #3124, and #3126.
31984
319852008-11-06  castaglia <castaglia>
31986
31987	* NEWS, src/dirtree.c: Bug#3130 - HideFiles can cause segfault.
31988
319892008-11-06  castaglia <castaglia>
31990
31991	* tests/t/config/hidefiles.t,
31992	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
31993	tests/t/lib/ProFTPD/Tests/Config/HideFiles.pm, tests/tests.pl: Added
31994	unit test for reproducing Bug#3130 (and preventing regressions).
31995
319962008-11-06  castaglia <castaglia>
31997
31998	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
31999	tests/t/lib/ProFTPD/Tests/Modules/mod_sql.pm,
32000	tests/t/lib/ProFTPD/Tests/Modules/mod_sql_sqlite.pm,
32001	tests/t/modules/mod_sql.t, tests/t/modules/mod_sql_sqlite.t,
32002	tests/tests.pl: Make the tests.pl script "interrogate" the compiled
32003	proftpd, and start adding tests based on the compiled features (e.g.
32004	modules included, features enabled, etc).  Add stub module files for mod_sql and mod_sql_sqlite; these will be
32005	the first module-specific test files; they will be
32006	demonstrations/examples for creating test files for other modules.
32007
320082008-11-06  castaglia <castaglia>
32009
32010	* doc/howto/Testing.html: Update the Testing howto to reflect
32011	changes made to the 'make check' target.
32012
320132008-11-06  castaglia <castaglia>
32014
32015	* tests/.cvsignore, tests/Makefile.in,
32016	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32017	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm: Run the integration
32018	tests after the API tests, as part of the 'make check' target.  Fix some Perl warnings in the STOU tests.  Make sure that the cvs
32019	commands ignore all generated log files (e.g. cvs diff won't
32020	complain about unknown .log files).
32021
320222008-11-06  castaglia <castaglia>
32023
32024	* doc/howto/index.html: Add a link to the Testing howto in the howto
32025	index.
32026
320272008-11-06  castaglia <castaglia>
32028
32029	* doc/howto/Testing.html: The Testing howto is now in a mostly
32030	usable form.
32031
320322008-11-06  castaglia <castaglia>
32033
32034	* modules/mod_xfer.c, src/data.c: Fix a problem with the handling of
32035	STOU.  This problem was detected by the testsuite, as it should.
32036
320372008-11-06  castaglia <castaglia>
32038
32039	* tests/api/tests.c: Make sure that the testsuite log name is kept
32040	in sync with what is displayed in the error message.
32041
320422008-11-03  castaglia <castaglia>
32043
32044	* contrib/mod_sql_sqlite.c: Explain why sqlite3_shutdown() is not
32045	called when the mod_sql_sqlite module is being unloaded.
32046
320472008-11-03  castaglia <castaglia>
32048
32049	* contrib/mod_sql_sqlite.c: Stylistic nits; no functional change.
32050
320512008-11-03  castaglia <castaglia>
32052
32053	* NEWS, contrib/mod_sql_sqlite.c: Bug#3126 - Segfault in
32054	mod_sql_sqlite when user belongs to multiple groups.
32055
320562008-10-31  castaglia <castaglia>
32057
32058	* NEWS, contrib/mod_ldap.c, contrib/mod_sql.c, src/log.c: Bug#2767 -
32059	gcc 4.0/amd64 warnings.
32060
320612008-10-31  castaglia <castaglia>
32062
32063	* NEWS, include/fsio.h, src/fsio.c: Bug#3092 - FSIO API needs
32064	mechanism for allowing registered FS handlers to permit atomic
32065	renames.
32066
320672008-10-30  castaglia <castaglia>
32068
32069	* modules/mod_xfer.c, src/data.c: Turns out that not _all_ data
32070	connections are allocated from session.xfer.p; some are allocated
32071	from session.pool.  The previous changes had inadvertently broken
32072	passive data transfers.  For passive data transfers, then, use
32073	session.pool for allocating the connection object (session.d),
32074	rather than session.xfer.p; thus making consistent the pool that is
32075	used for allocating session.d.  Also clean up some of the error responses for failed uploads; they
32076	might have referenced NULL pointers, which would subsequently cause
32077	segfaults/crashes on platforms whose printf(3) functions don't
32078	handle the case well.
32079
320802008-10-29  castaglia <castaglia>
32081
32082	* RELEASE_NOTES: Start prepping the RC3 release notes.
32083
320842008-10-28  castaglia <castaglia>
32085
32086	* contrib/mod_sql.c: Add a comment about why the nested
32087	sql_prepare_where() function calls are the way they are (to prevent
32088	future developers from regressing Bug#3124).
32089
320902008-10-28  castaglia <castaglia>
32091
32092	* include/data.h, modules/mod_xfer.c, src/data.c: Improve on the fix
32093	for Bug#3089 by creating a new function specifically to clear the
32094	session.xfer.p pool and any associated structures; this function
32095	refactors all of the associated code into a single location.
32096
320972008-10-28  castaglia <castaglia>
32098
32099	* doc/howto/Testing.html: Adding slightly more substance to the
32100	Testing howto; hopefully I can muster the motivation to finish it
32101	later tonight.
32102
321032008-10-28  castaglia <castaglia>
32104
32105	* NEWS, modules/mod_xfer.c, src/data.c, src/inet.c: Bug#3089 -
32106	Memory pool double-free on session exit after aborted data transfer.
32107
321082008-10-28  castaglia <castaglia>
32109
32110	* include/inet.h, src/inet.c: Remove the pr_inet_associate()
32111	function; nothing was using it.
32112
321132008-10-27  castaglia <castaglia>
32114
32115	* NEWS, contrib/mod_sql.c: Bug#3124 - mod_sql improperly substitutes
32116	variables in user/group names.
32117
321182008-10-21  castaglia <castaglia>
32119
32120	* configure: Updated configure.
32121
321222008-10-21  castaglia <castaglia>
32123
32124	* NEWS, config.h.in, configure.in, src/encode.c: Bug#3122: iconv()
32125	not detected properly on FreeBSD when --enable-nls is used.
32126
321272008-10-20  castaglia <castaglia>
32128
32129	* tests/t/lib/ProFTPD/Tests/Commands/PASS.pm: Make sure that the
32130	PASS unit tests expected the proper response message.
32131
321322008-10-20  castaglia <castaglia>
32133
32134	* include/glibc-glob.h: Fix compiler detection to deal with other
32135	compilers.
32136
321372008-10-20  castaglia <castaglia>
32138
32139	* tests/t/config/maxloginattempts.t,
32140	tests/t/lib/ProFTPD/Tests/Config/MaxLoginAttempts.pm,
32141	tests/tests.pl: Added unit tests for the MaxLoginAttempts directive.
32142
321432008-10-20  castaglia <castaglia>
32144
32145	* locale/en_US.po, locale/it_IT.po, locale/proftpd.pot,
32146	locale/zh_CN.po: Removing redundant (and now absent) entry for
32147	"Login incorrect"; there is already a "Login incorrect." (note the
32148	period) entry.
32149
321502008-10-20  castaglia <castaglia>
32151
32152	* contrib/mod_ban.c: Make mod_ban use the same "Login incorrect."
32153	string, including period, like the rest of mod_auth.
32154	Inconsistencies in responses constitute information leaks, albeit
32155	minor.
32156
321572008-10-19  castaglia <castaglia>
32158
32159	* modules/mod_auth.c: Fixed failed login message to be consistent
32160	with other instances of the "Login incorrect" string.
32161
321622008-10-19  castaglia <castaglia>
32163
32164	* tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm,
32165	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm: Make the regexes tigher
32166	for checking the expected EPSV and PASV responses.
32167
321682008-10-19  castaglia <castaglia>
32169
32170	* tests/t/commands/eprt.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32171	tests/t/lib/ProFTPD/Tests/Commands/EPRT.pm, tests/tests.pl: Added
32172	tests for the EPRT command.
32173
321742008-10-19  castaglia <castaglia>
32175
32176	* tests/t/commands/epsv.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32177	tests/t/lib/ProFTPD/Tests/Commands/EPSV.pm, tests/tests.pl: Added
32178	tests for the EPSV command.
32179
321802008-10-19  castaglia <castaglia>
32181
32182	* tests/t/commands/feat.t, tests/t/commands/help.t,
32183	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32184	tests/t/lib/ProFTPD/Tests/Commands/FEAT.pm,
32185	tests/t/lib/ProFTPD/Tests/Commands/HELP.pm, tests/tests.pl: Added
32186	tests for the FEAT and HELP commands.
32187
321882008-10-19  castaglia <castaglia>
32189
32190	* tests/t/commands/pass.t, tests/t/commands/user.t,
32191	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32192	tests/t/lib/ProFTPD/Tests/Commands/PASS.pm,
32193	tests/t/lib/ProFTPD/Tests/Commands/USER.pm, tests/tests.pl: Added
32194	tests for the USER and PASS commands.
32195
321962008-10-19  castaglia <castaglia>
32197
32198	* tests/t/config/displaylogin.t,
32199	tests/t/lib/ProFTPD/Tests/Config/DisplayLogin.pm, tests/tests.pl:
32200	Added tests for the DisplayLogin directive.
32201
322022008-10-19  castaglia <castaglia>
32203
32204	* tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm: Forgot to
32205	clean up a test file that's outside of the tmp/ directory.
32206
322072008-10-19  castaglia <castaglia>
32208
32209	* tests/t/config/displayconnect.t,
32210	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32211	tests/t/lib/ProFTPD/Tests/Config/DisplayConnect.pm, tests/tests.pl:
32212	Added tests for the DisplayConnect directive.
32213
322142008-10-19  castaglia <castaglia>
32215
32216	* tests/t/config/serverident.t,
32217	tests/t/lib/ProFTPD/Tests/Config/ServerIdent.pm, tests/tests.pl:
32218	Added first unit tests for config directives; we're starting with
32219	ServerIdent.
32220
322212008-10-18  castaglia <castaglia>
32222
32223	* tests/t/commands/appe.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32224	tests/t/lib/ProFTPD/Tests/Commands/APPE.pm, tests/tests.pl: Added
32225	tests for the APPE command.
32226
322272008-10-18  castaglia <castaglia>
32228
32229	* tests/t/commands/stou.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32230	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
32231	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
32232	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm,
32233	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm,
32234	tests/t/lib/ProFTPD/Tests/Commands/STOU.pm, tests/tests.pl: Added
32235	tests for the STOU command.  Cleaned up handling of FTP response
32236	messages.
32237
322382008-10-18  castaglia <castaglia>
32239
32240	* tests/t/commands/stor.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32241	tests/t/lib/ProFTPD/Tests/Commands/STOR.pm, tests/tests.pl: Added
32242	some tests for the STOR command.
32243
322442008-10-18  castaglia <castaglia>
32245
32246	* modules/mod_xfer.c: Preserve the error code for a failing to open
32247	the file to be uploaded; errno was being overwritten by subsequent
32248	function calls before being reported back to the client.
32249
322502008-10-18  castaglia <castaglia>
32251
32252	* tests/t/lib/ProFTPD/Tests/Commands/RETR.pm: Remove copy-n-pasted
32253	code from the RETR tests, and make them work more reliably.
32254
322552008-10-18  castaglia <castaglia>
32256
32257	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Quell some annoying Perl
32258	warnings (coming from Net::Cmd and Net::FTP) by providing an
32259	initialized default value.  Makes running the testsuite using
32260	tests.pl much prettier.
32261
322622008-10-18  castaglia <castaglia>
32263
32264	* tests/t/commands/retr.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32265	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm,
32266	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
32267	tests/t/lib/ProFTPD/Tests/Commands/RETR.pm, tests/tests.pl: Add some
32268	basic tests of the RETR command.
32269
322702008-10-17  castaglia <castaglia>
32271
32272	* tests/t/commands/list.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32273	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
32274	tests/t/lib/ProFTPD/Tests/Commands/LIST.pm, tests/tests.pl: Start of
32275	tests for the LIST command; expect more in the future.
32276
322772008-10-17  castaglia <castaglia>
32278
32279	* contrib/mod_wrap2/mod_wrap2.c: Fix Bug#3120 for the
32280	WrapGroupTables and WrapUserTables directives as well.
32281
322822008-10-17  castaglia <castaglia>
32283
32284	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#3120 - WrapTables not
32285	allowed in <Anonymous> context.
32286
322872008-10-16  castaglia <castaglia>
32288
32289	* tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm,
32290	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
32291	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
32292	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
32293	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
32294	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
32295	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm,
32296	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm,
32297	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm,
32298	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm,
32299	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
32300	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm,
32301	tests/t/lib/ProFTPD/Tests/Commands/REST.pm,
32302	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
32303	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
32304	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm,
32305	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
32306	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm,
32307	tests/t/lib/ProFTPD/Tests/Logins.pm: Updated tests to use
32308	server_wait().
32309
323102008-10-15  castaglia <castaglia>
32311
32312	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32313	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
32314	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm,
32315	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
32316	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Retrofit some of the
32317	test classes to use server_wait().  Fixed up some of the NLST tests
32318	(due to the vagaries of the Perl Net::FTP class).
32319
323202008-10-15  castaglia <castaglia>
32321
32322	* configure: Updated configure.
32323
323242008-10-15  castaglia <castaglia>
32325
32326	* NEWS, config.h.in, configure.in: Bug#3119 - Search for libcap2 in
32327	addition to libcap for mod_cap support.
32328
323292008-10-15  castaglia <castaglia>
32330
32331	* doc/modules/mod_cap.html: Mention the fact that some Linux distros
32332	use a package name of "libcap2-dev" as well as (or instead of)
32333	"libcap2".
32334
323352008-10-14  castaglia <castaglia>
32336
32337	* modules/mod_dso.c: Log, at debug level 7, when we are loading a
32338	module.  This message is symmetric with the similar message when a
32339	module is unloaded.
32340
323412008-10-14  castaglia <castaglia>
32342
32343	* contrib/mod_ifsession.c: Fix compilation error.
32344
323452008-10-14  castaglia <castaglia>
32346
32347	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Revert the response
32348	message check changes made earlier; the discrepancy was caused by
32349	stale source code, not by platform/version differences.
32350
323512008-10-14  castaglia <castaglia>
32352
32353	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: As per the Net::FTP
32354	documentation, the use of PASV vs PORT is done at instantiation
32355	time, oddly enough.  Make sure this feature is exposed in the
32356	testsuite.
32357
323582008-10-14  castaglia <castaglia>
32359
32360	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Add a function that
32361	encapsulates the server-wait part of the tests, including a timeout.
32362
323632008-10-14  castaglia <castaglia>
32364
32365	* tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm: Looks like some of the
32366	errno strings differ across platforms and versions.
32367
323682008-10-14  castaglia <castaglia>
32369
32370	* tests/t/commands/nlst.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32371	tests/t/lib/ProFTPD/Tests/Commands/NLST.pm, tests/tests.pl: Added
32372	tests for NLST; still more tests to be added.
32373
323742008-10-14  castaglia <castaglia>
32375
32376	* tests/t/lib/ProFTPD/TestSuite/Utils.pm: Make sure that lingering
32377	processes, if not killed properly, are timed out quickly.
32378
323792008-10-13  castaglia <castaglia>
32380
32381	* tests/t/commands/rest.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32382	tests/t/lib/ProFTPD/Tests/Commands/REST.pm, tests/tests.pl: Added
32383	tests for the REST command.
32384
323852008-10-13  castaglia <castaglia>
32386
32387	* tests/t/commands/quit.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32388	tests/t/lib/ProFTPD/Tests/Commands/QUIT.pm, tests/tests.pl: Added
32389	test for the QUIT command.
32390
323912008-10-13  castaglia <castaglia>
32392
32393	* tests/t/commands/rnfr.t, tests/t/commands/rnto.t,
32394	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32395	tests/t/lib/ProFTPD/Tests/Commands/RNFR.pm,
32396	tests/t/lib/ProFTPD/Tests/Commands/RNTO.pm, tests/tests.pl: Added
32397	tests for the RNFR, RNTO commands.
32398
323992008-10-13  castaglia <castaglia>
32400
32401	* modules/mod_core.c: Preserve the actual errno value if the
32402	renaming fails; it was getting trounced in subsequent function
32403	calls.
32404
324052008-10-13  castaglia <castaglia>
32406
32407	* tests/t/commands/noop.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32408	tests/t/lib/ProFTPD/Tests/Commands/NOOP.pm, tests/tests.pl: Added
32409	test for the NOOP command.
32410
324112008-10-13  castaglia <castaglia>
32412
32413	* tests/t/commands/port.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32414	tests/t/lib/ProFTPD/Tests/Commands/PORT.pm, tests/tests.pl: Add
32415	tests for the PORT command.
32416
324172008-10-13  castaglia <castaglia>
32418
32419	* tests/t/lib/ProFTPD/TestSuite/FTP.pm: Fixed regex matching of ALLO
32420	response code leading digit.
32421
324222008-10-13  castaglia <castaglia>
32423
32424	* tests/t/commands/allo.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32425	tests/t/lib/ProFTPD/Tests/Commands/ALLO.pm, tests/tests.pl: Added
32426	test for the ALLO command.
32427
324282008-10-13  castaglia <castaglia>
32429
32430	* tests/t/commands/stru.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32431	tests/t/lib/ProFTPD/Tests/Commands/STRU.pm, tests/tests.pl: Added
32432	tests for the STRU command.
32433
324342008-10-13  castaglia <castaglia>
32435
32436	* tests/t/commands/mode.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32437	tests/t/lib/ProFTPD/Tests/Commands/MODE.pm, tests/tests.pl: Add
32438	tests for the MODE command.
32439
324402008-10-13  castaglia <castaglia>
32441
32442	* tests/t/commands/pasv.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32443	tests/t/lib/ProFTPD/Tests/Commands/PASV.pm, tests/tests.pl: Added
32444	tests for the PASV command.
32445
324462008-10-13  castaglia <castaglia>
32447
32448	* tests/t/commands/cdup.t, tests/t/commands/cwd.t,
32449	tests/t/commands/dele.t, tests/t/commands/mdtm.t,
32450	tests/t/commands/mkd.t, tests/t/commands/pwd.t,
32451	tests/t/commands/rmd.t, tests/t/commands/size.t,
32452	tests/t/commands/syst.t, tests/t/commands/type.t,
32453	tests/t/lib/ProFTPD/Tests/Commands/CDUP.pm,
32454	tests/t/lib/ProFTPD/Tests/Commands/CWD.pm,
32455	tests/t/lib/ProFTPD/Tests/Commands/DELE.pm,
32456	tests/t/lib/ProFTPD/Tests/Commands/MDTM.pm,
32457	tests/t/lib/ProFTPD/Tests/Commands/MKD.pm,
32458	tests/t/lib/ProFTPD/Tests/Commands/PWD.pm,
32459	tests/t/lib/ProFTPD/Tests/Commands/RMD.pm,
32460	tests/t/lib/ProFTPD/Tests/Commands/SIZE.pm,
32461	tests/t/lib/ProFTPD/Tests/Commands/SYST.pm,
32462	tests/t/lib/ProFTPD/Tests/Commands/TYPE.pm, tests/tests.pl: Split
32463	the unit tests for FTP commands into separate files, one file per
32464	set of tests of a command.  The previous files were getting too
32465	large and unwieldy.
32466
324672008-10-13  castaglia <castaglia>
32468
32469	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32470	tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the TYPE,
32471	MDTM, and SIZE commands.
32472
324732008-10-13  castaglia <castaglia>
32474
32475	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32476	tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the DELE
32477	command.
32478
324792008-10-12  castaglia <castaglia>
32480
32481	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32482	tests/t/lib/ProFTPD/Tests/Commands.pm,
32483	tests/t/lib/ProFTPD/Tests/Logins.pm: Added command test cases where
32484	failures (for different reasons) are expected.
32485
324862008-10-12  castaglia <castaglia>
32487
32488	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32489	tests/t/lib/ProFTPD/Tests/Commands.pm: Added tests for the MKD,
32490	XMKD, RMD, and XRMD commands.
32491
324922008-10-12  castaglia <castaglia>
32493
32494	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32495	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
32496	tests/t/lib/ProFTPD/Tests/Commands.pm,
32497	tests/t/lib/ProFTPD/Tests/Logins.pm: Added tests for CDUP, XCUP, and
32498	SYST commands.  Added better error messages (with location now) for
32499	failed assertions.  Fixed cases where failed login tests might allow
32500	the server to continue running.
32501
325022008-10-12  castaglia <castaglia>
32503
32504	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32505	tests/t/lib/ProFTPD/Tests/Commands.pm: Fixed use of assertions when
32506	checking response codes and messages.  Added tests for the XPWD, CWD, and XCWD commands.
32507
325082008-10-12  castaglia <castaglia>
32509
32510	* tests/t/lib/ProFTPD/Tests/Commands.pm: Fix the PWD test so that it
32511	actually checks that the FTP response code and message are as
32512	expected, not just that they exist.
32513
325142008-10-12  castaglia <castaglia>
32515
32516	* tests/t/commands.t, tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32517	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
32518	tests/t/lib/ProFTPD/Tests/Commands.pm, tests/tests.pl: Start of test
32519	cases for the various FTP commands; PWD is simple, so it was first.  Also add support for writing AuthUserFiles and AuthGroupFiles; this
32520	makes it easier to log into the running proftpd without requiring
32521	root privs.
32522
325232008-10-12  castaglia <castaglia>
32524
32525	* tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32526	tests/t/lib/ProFTPD/TestSuite/Utils.pm: Fix the anonymous login unit
32527	test such that it passes (requires root privs).  Fix the FTP client
32528	wrapper so that it properly retrieves the FTP response code and
32529	message.  Update Utils so that the server identity (User/Group)
32530	retrieved are always non-root accounts.
32531
325322008-10-11  castaglia <castaglia>
32533
32534	* tests/t/lib/ProFTPD/TestSuite/Utils.pm,
32535	tests/t/lib/ProFTPD/Tests/Logins.pm: Fix the anonymous login test
32536	(it should fail, unless run with root privs).  Have defaults for the common config directives.  Exclude tests which
32537	require root privs unless we are being run with root privs.
32538
325392008-10-11  castaglia <castaglia>
32540
32541	* tests/t/lib/ProFTPD/TestSuite/Child.pm,
32542	tests/t/lib/ProFTPD/TestSuite/FTP.pm,
32543	tests/t/lib/ProFTPD/TestSuite/Utils.pm,
32544	tests/t/lib/ProFTPD/Tests/Logins.pm, tests/t/logins.t,
32545	tests/tests.pl: Start of a collection of unit tests against a
32546	running proftpd server, using Perl.
32547
325482008-10-11  castaglia <castaglia>
32549
32550	* modules/mod_facts.c: Fixed bug handling the MFMT command; found by
32551	a user in the online forums.
32552
325532008-10-08  castaglia <castaglia>
32554
32555	* doc/howto/Translations.html, doc/howto/index.html: Adding a
32556	Translation mini-howto.
32557
325582008-10-07  castaglia <castaglia>
32559
32560	* doc/modules/mod_lang.html: Typo.
32561
325622008-10-07  castaglia <castaglia>
32563
32564	* tests/.cvsignore, tests/Makefile.in, tests/api/.cvsignore,
32565	tests/api/tests.c: Rename the executable used for testing the API
32566	(and the log file that executable generates) to be "api-tests", to
32567	differentiate it from the other tests I am working on.
32568
325692008-10-07  castaglia <castaglia>
32570
32571	* tests/api/.cvsignore: Add .cvsignore file for the new tests/api/
32572	directory.
32573
325742008-10-07  castaglia <castaglia>
32575
32576	* src/main.c: Need to use exit(), rather than end_login().
32577	Something about the latter makes it impossible to read stdout
32578	programmatically when using -vv.
32579
325802008-10-06  castaglia <castaglia>
32581
32582	* modules/mod_auth_pam.c: Make mod_auth_pam reject the connection if
32583	it is unable to register itself as an auth-only module with the Auth
32584	API.  This check would have caught the Bug#2922 regression much
32585	earlier.  Ah, hindsight.
32586
325872008-10-06  castaglia <castaglia>
32588
32589	* tests/Makefile.in, tests/api/array.c, tests/api/class.c,
32590	tests/api/env.c, tests/api/event.c, tests/api/expr.c,
32591	tests/api/feat.c, tests/api/modules.c, tests/api/netacl.c,
32592	tests/api/netaddr.c, tests/api/pool.c, tests/api/regexp.c,
32593	tests/api/scoreboard.c, tests/api/sets.c, tests/api/str.c,
32594	tests/api/stubs.c, tests/api/table.c, tests/api/tests.c,
32595	tests/api/tests.h, tests/api/timers.c, tests/api/var.c,
32596	tests/api/version.c: Moving the current API unit test source files
32597	into an api/ directory, to make room for a directory for integration
32598	unit tests (i.e. login tests, command tests, configuration tests,
32599	etc) which require an FTP client and a running proftpd.
32600
326012008-10-06  castaglia <castaglia>
32602
32603	* NEWS, src/auth.c: Bug#3117 - Authentication improperly allowed
32604	(Bug#2922 regression).
32605
326062008-10-06  castaglia <castaglia>
32607
32608	* contrib/mod_sql_sqlite.c: Add a header-vs-lib version check to
32609	mod_sql_sqlite, similar to the one that is in mod_tls.  Hopefully
32610	any discrepancies will get sysadmins to correct the software
32611	installations on their system.
32612
326132008-10-06  castaglia <castaglia>
32614
32615	* contrib/mod_ldap.c: When mod_ldap is initialized, print out the
32616	LDAP vendor and LDAP API version.
32617
326182008-10-06  jwm <jwm>
32619
32620	* contrib/mod_ldap.c: mod_ldap bzr r58:   typo
32621
326222008-10-06  jwm <jwm>
32623
32624	* contrib/mod_ldap.c: mod_ldap bzr r57:   * Prevent the use of LDAPSearchScope or LDAPUseSSL when LDAPServer     specifies a URL. Instead, the desired search scope and SSL
32625	    setting should be specified by the URL.  mod_ldap bzr r56:   - remove extraneous includes   - free the LDAPURLDesc in ldap_getconf(), since we don't attach it
32626	    to the configuration directive any more
32627
326282008-10-06  castaglia <castaglia>
32629
32630	* src/dirtree.c: Reduce the size of the pool allocated for
32631	config_recs; should reduce the memory footprint more without
32632	(hopefully) any adverse side effects.
32633
326342008-10-05  castaglia <castaglia>
32635
32636	* modules/mod_auth_pam.c: Correct some of the terms in the trace
32637	messages from the PAM conversation callback.
32638
326392008-10-04  castaglia <castaglia>
32640
32641	* modules/mod_auth_pam.c: Be less strict about AuthPAMOptions, and
32642	use case-insensitive checks.
32643
326442008-10-04  castaglia <castaglia>
32645
32646	* modules/mod_core.c: Fix typo which made for a rather confusing
32647	comment.
32648
326492008-10-04  castaglia <castaglia>
32650
32651	* NEWS, contrib/mod_sql.c: Bug#3116 - SQLNegativeCache with no group
32652	info can cause segfault.
32653
326542008-10-04  castaglia <castaglia>
32655
32656	* src/main.c, src/netio.c: Apply a tag to the one unnamed subpool of
32657	permanent_pool.  Add comments about why that subpool (which isn't
32658	needed in the daemon process) is allocated.
32659
326602008-10-04  castaglia <castaglia>
32661
32662	* src/class.c: Tag any pools allocated for class definitions.
32663
326642008-10-04  castaglia <castaglia>
32665
32666	* src/pool.c: Fix the mechanism used to count the number of
32667	sub-pools in a pool; it was not recursing properly.
32668
326692008-10-04  castaglia <castaglia>
32670
32671	* src/timers.c: It's high time the Timers API had its own memory
32672	pool, rather than using permanent_pool directly.
32673
326742008-10-04  castaglia <castaglia>
32675
32676	* contrib/mod_ctrls_admin.c: Check in the control action which helps
32677	me to find pool use misbehaviors.  If proftpd is compiled using
32678	--enable-devel, and the mod_ctrs_admin module is used (which itself
32679	requires --enable-ctrls), then a 'debug memory' control action (via
32680	ftpdctl) is supported.
32681
326822008-10-04  castaglia <castaglia>
32683
32684	* src/pool.c: Prettify, and update, the messages emitted when
32685	debugging pool usage.
32686
326872008-10-04  castaglia <castaglia>
32688
32689	* src/main.c: Fix an egregious memory leak in the daemon process
32690	(but not in session processes).  On startup, proftpd would allocate
32691	a memory pool for the Netaddr API.  This pool was used, but never
32692	cleared.  And every restart would cause more allocations (for the
32693	netaddr objects used in the bindings) from this pool.  Thus a
32694	long-running proftpd, restarted occasionally (as is done for log
32695	rolling) would gradually leak quite a bit.  Slowly, to be sure, but
32696	noticeable for long-lived daemons.
32697
326982008-10-04  castaglia <castaglia>
32699
32700	* src/modules.c: Reduce the size of the sub-pool used for symbols in
32701	the stash.  This reduces the memory footprint of the proftpd daemon
32702	process (and session processes) by quite a bit, given that there are
32703	quite a few symbols allocated.  Hopefully this won't cause any
32704	issues.
32705
327062008-10-04  castaglia <castaglia>
32707
32708	* src/help.c: Minor label nit.
32709
327102008-10-04  castaglia <castaglia>
32711
32712	* contrib/mod_sql.c: Allow the SQLEngine directive to be processed
32713	even if, for some reason, the user name config_rec can't be found.
32714
327152008-10-03  castaglia <castaglia>
32716
32717	* doc/modules/mod_lang.html: Add a Usage section containing, for
32718	now, a description of the Cyrillic/Telnet issue, and how to use
32719	mod_lang to work around it.
32720
327212008-10-02  castaglia <castaglia>
32722
32723	* modules/mod_auth.c: Minor change to test SourceForge's commit
32724	mail.
32725
327262008-10-02  castaglia <castaglia>
32727
32728	* modules/mod_auth.c: Generate a few new events: one for when a root
32729	login is attempted, and one containing the authentication code
32730	value.  These events are added first for the use by mod_audit, a
32731	third-party module for auditing certain application events.
32732
327332008-10-01  castaglia <castaglia>
32734
32735	* contrib/mod_tls.c: Minor tweaks to allow TLSPassPhraseProvider to
32736	work properly on Mac OSX.  Shouldn't harm anything.
32737
327382008-10-01  castaglia <castaglia>
32739
32740	* contrib/mod_tls.c: When handling the exit event in the daemon
32741	process, the TLSLog is not open.  Thus use pr_log_pri() and
32742	pr_log_debug() rather than tls_log() there.
32743
327442008-09-30  castaglia <castaglia>
32745
32746	* src/main.c, src/trace.c: Add trace logging of when the various
32747	signals are handled.  When handling a restart, be sure to close any open trace log fd.
32748	Also, to prevent issues with Solaris' stupid stdio fd limit of 256,
32749	make sure that the fallback fd used for the TraceLog is 255.
32750
327512008-09-30  castaglia <castaglia>
32752
32753	* contrib/mod_dynmasq.c: Reduce the log verbosity of mod_dynmasq
32754	more, as per user request.
32755
327562008-09-29  castaglia <castaglia>
32757
32758	* src/support.c: [no log message]
32759
327602008-09-29  castaglia <castaglia>
32761
32762	* contrib/mod_dynmasq.c: Change the logging of mod_dynmasq slightly,
32763	so that it does not spam the system log with messages.
32764
327652008-09-26  castaglia <castaglia>
32766
32767	* src/response.c: Add trace logging of the responses that are added,
32768	not just when the responses are flushed to the client.
32769
327702008-09-25  castaglia <castaglia>
32771
32772	* src/main.c: Include the version status (e.g. "CVS", "devel",
32773	"stable") in the -V output, as well as the build timestamp.
32774
327752008-09-23  castaglia <castaglia>
32776
32777	* INSTALL: Update the mailing list info in the INSTALL file.
32778
327792008-09-23  castaglia <castaglia>
32780
32781	* tests/array.c: Add unit test for the clear_array() function added
32782	in 1.3.2rc2.
32783
327842008-09-20  castaglia <castaglia>
32785
32786	* NEWS, src/main.c, src/netio.c: Bug#3115 - Cross-site request
32787	forgery.
32788
327892008-09-19  castaglia <castaglia>
32790
32791	* NEWS, modules/mod_auth.c: Bug#3114 - Bad handling of uid/gid
32792	parameters for CreateHome.
32793
327942008-09-17  castaglia <castaglia>
32795
32796	* contrib/mod_sql.c: Quell a few more compiler warnings about
32797	signedness.
32798
327992008-09-17  castaglia <castaglia>
32800
32801	* include/version.h: Bump to RC3 in CVS.
32802
328032008-09-17  castaglia <castaglia>
32804
32805	* ChangeLog: Updated ChangeLog.
32806
328072008-09-17  castaglia <castaglia>
32808
32809	* NEWS: Update release date in NEWS.
32810
328112008-09-17  castaglia <castaglia>
32812
32813	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
32814	the release of 1.3.2rc2.
32815
328162008-09-17  castaglia <castaglia>
32817
32818	* RELEASE_NOTES: Update the release notes with the highlights of the
32819	upcoming RC2 release.
32820
328212008-09-12  castaglia <castaglia>
32822
32823	* modules/mod_auth.c: Minor formatting nit; I prefer to have strings
32824	from clients (e.g. user names) enclosed in quotes.
32825
328262008-09-12  castaglia <castaglia>
32827
32828	* NEWS, modules/mod_xfer.c: Bug#3112 - Uploaded files are not
32829	removed if close() fails.
32830
328312008-09-11  castaglia <castaglia>
32832
32833	* contrib/mod_tls.c: Stir in some additional entropy, using the
32834	secret passphrases of certs as sources.
32835
328362008-09-11  castaglia <castaglia>
32837
32838	* src/mkhome.c: When scanning a skel directory, there's no need to
32839	build up the full paths (and using memory from the pool) if we're
32840	going to skip those paths.
32841
328422008-09-11  castaglia <castaglia>
32843
32844	* contrib/mod_ban.c: Turns out that Mac OSX has the same semantics,
32845	with regard to reuse of getopt(3), as FreeBSD.
32846
328472008-09-09  castaglia <castaglia>
32848
32849	* modules/Makefile.in: Cycle through a single combined list of
32850	subdirectories in which to invoke the `install' target, rather than
32851	two separate lists.
32852
328532008-09-09  castaglia <castaglia>
32854
32855	* doc/howto/DSO.html: Update the example Makefile in the DSO howto,
32856	since the `install' target may be called even if the module is built
32857	as a static module (i.e. no .la file produced).
32858
328592008-09-08  castaglia <castaglia>
32860
32861	* src/data.c: With the fix for Bug#2920 comes the possibility that
32862	clients can send NOOP commands on the control connection, while a
32863	data transfer is occurring.  This would cause the data transfer
32864	initiating command recorded in the scoreboard to be overwritten with
32865	the NOOP command.  While technically correct, this is probably not
32866	what the admins want.  So make proftpd handle such commands
32867	politely, responding 200 to them, without actually dispatching the
32868	command through the handlers.
32869
328702008-09-08  castaglia <castaglia>
32871
32872	* Makefile.in, contrib/mod_load/Makefile.in,
32873	contrib/mod_wrap2/Makefile.in, modules/Makefile.in: Make sure that
32874	the `install' target is called for static modules that are built in
32875	their own directories, just as is done for shared modules.
32876
328772008-09-08  castaglia <castaglia>
32878
32879	* contrib/mod_tls.c: Avoid cleaning up OpenSSL state if mod_sftp is
32880	present as well.
32881
328822008-09-08  jwm <jwm>
32883
32884	* contrib/mod_ldap.c: mod_ldap bzr r55:   high time for a 2.8.19 release
32885
328862008-09-08  jwm <jwm>
32887
32888	* contrib/mod_ldap.c: mod_ldap bzr r54:   log message wording fix
32889
328902008-09-08  jwm <jwm>
32891
32892	* contrib/mod_ldap.c: mod_ldap bzr r53: * Fixed missing ldap_init() -> ldap_initialize() when updating for
32893	  latest LDAP C API. Fixes segfaults on (some?) 64-bit systems. (Bug
32894	#3046)
32895
328962008-09-08  castaglia <castaglia>
32897
32898	* include/pool.h, src/pool.c: Add a clear_array() function, for
32899	clearing/resetting an array_header.
32900
329012008-09-08  castaglia <castaglia>
32902
32903	* src/main.c: Try to give different sessions more different random
32904	seeds by multiplying the system time (was being used) with the PID.
32905	Bonus points for having the unsigned int value wrap around.
32906
329072008-09-07  castaglia <castaglia>
32908
32909	* contrib/mod_tls.c: Refresh the builtin 2048-bit DH group.
32910
329112008-09-07  castaglia <castaglia>
32912
32913	* contrib/mod_tls.c: Refresh the builtin DH groups in mod_tls.  Note
32914	that the 2048-bit DH group still needs to be updated.
32915
329162008-09-07  castaglia <castaglia>
32917
32918	* src/main.c: Quell some compiler complaints about formatting.
32919
329202008-09-04  castaglia <castaglia>
32921
32922	* src/encode.c: If the selected locale does not support the Telnet
32923	IAC character, be sure that the toggled setting is not overwritten.
32924
329252008-09-04  castaglia <castaglia>
32926
32927	* NEWS, modules/mod_xfer.c: Bug#3109 - Errors with file uploads
32928	logged but not reported to clients.
32929
329302008-09-04  castaglia <castaglia>
32931
32932	* src/parser.c: Get rid of small function that is only used in one
32933	place; simply move the code into the calling function.
32934
329352008-09-04  castaglia <castaglia>
32936
32937	* src/inet.c, src/log.c, src/main.c, src/scoreboard.c, src/trace.c:
32938	Change a few more places to using the cached session.pid, if
32939	available.
32940
329412008-09-03  castaglia <castaglia>
32942
32943	* include/fsio.h, src/fsio.c: Remove the pr_find_fs() function; it
32944	was a bad idea.  Even if a caller could retrieve a registered FS
32945	object by name, that caller would not be able to do much with the
32946	FS.  The various callbacks are usually declared as static to the
32947	file defining them, which means that the caller probably won't have
32948	access to the memory addresses of the callbacks.
32949
329502008-09-03  castaglia <castaglia>
32951
32952	* include/fsio.h, src/fsio.c: Add a pr_find_fs() function, for
32953	retrieving a registered FS object by name.
32954
329552008-09-02  castaglia <castaglia>
32956
32957	* configure: Updated configure.
32958
329592008-09-02  castaglia <castaglia>
32960
32961	* config.h.in, configure.in, modules/mod_ls.c: If the dirfd()
32962	function is available, use that instead of poking around the
32963	internals of a DIR structure.
32964
329652008-09-01  castaglia <castaglia>
32966
32967	* include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
32968	modules/mod_xfer.c, src/data.c, src/main.c, src/throttle.c: Make
32969	fewer getpid() system calls by caching the values (it's not going to
32970	change), and using the cached value for the
32971	pr_scoreboard_entry_update() calls.
32972
329732008-09-01  castaglia <castaglia>
32974
32975	* doc/howto/DSO.html: Updated DSO howto with mention of prxs.
32976
329772008-09-01  castaglia <castaglia>
32978
32979	* NEWS, doc/modules/mod_facts.html, modules/mod_facts.c: Bug#3108 -
32980	Support removing MLST from FEAT list.
32981
329822008-08-30  castaglia <castaglia>
32983
32984	* contrib/mod_tls.c: Prettify some of the error messages emitted if
32985	the configuration is not correct.
32986
329872008-08-30  castaglia <castaglia>
32988
32989	* contrib/mod_tls.c: Fix typos in fix for Bug#3107.
32990
329912008-08-30  castaglia <castaglia>
32992
32993	* NEWS, contrib/mod_tls.c, doc/contrib/mod_tls.html: Bug#3107 -
32994	TLSProtocol supports misleading "SSLv23" parameter.
32995
329962008-08-29  castaglia <castaglia>
32997
32998	* Makefile.in: When installing prxs, do not ever attempt to strip
32999	it.  It is a Perl script, not a compiled binary, and strip(1) will
33000	complain about the file type.
33001
330022008-08-28  castaglia <castaglia>
33003
33004	* configure: Updated configure.
33005
330062008-08-28  castaglia <castaglia>
33007
33008	* include/data.h: Update copyright dates in just-modified header.
33009
330102008-08-28  castaglia <castaglia>
33011
33012	* NEWS, config.h.in, configure.in, include/data.h, src/data.c:
33013	Bug#3106 - Add support for Mac OSX 10.5 sendfile.
33014
330152008-08-27  castaglia <castaglia>
33016
33017	* locale/Makefile.in: Do not remove the .po files when cleaning the
33018	locale/ directory.
33019
330202008-08-27  jwm <jwm>
33021
33022	* contrib/mod_ldap.c:   having to hand-edit mod_ldap.c to enable tls support is silly;
33023	  switch based on LDAP_OPT_X_TLS, which is the best thing i've found
33024	  given that i can't find an ldap sdk that support tls other than
33025	  openldap (sun's doesn't; are there any other major players around?)
33026
330272008-08-27  jwm <jwm>
33028
33029	* contrib/mod_ldap.c:   fix LDAPServer url handling by re-parsing the ldap url in each
33030	  session rather than trying to keep track of the LDAPURLDesc struct   proftpd bug 3097
33031
330322008-08-27  jwm <jwm>
33033
33034	* contrib/mod_ldap.c: use the configured ldap_port in "connected..."
33035	debug message, not LDAP_PORT
33036
330372008-08-27  jwm <jwm>
33038
33039	* contrib/mod_ldap.c:   * Define LDAP_SCOPE_DEFAULT if not defined by the SDK, fixing
33040	    compilation with (recent?) Sun LDAP headers.
33041
330422008-08-27  jwm <jwm>
33043
33044	* contrib/mod_ldap.c:   * Fix compilation with old LDAP SDKs (LDAP_API_VERSION < 2000).
33045	    Thanks to Saju Paul <saju.paul@messageway.com>.
33046
330472008-08-26  castaglia <castaglia>
33048
33049	* src/prxs.in: Add license to prxs.  Support use of LIBTOOL
33050	environment variable to direct prxs to use a different libtool, if
33051	necessary.
33052
330532008-08-25  castaglia <castaglia>
33054
33055	* src/inet.c: Extend the hack used for active ports to Mac OS 10.5
33056	as well.
33057
330582008-08-25  castaglia <castaglia>
33059
33060	* configure: Updated configure.
33061
330622008-08-25  castaglia <castaglia>
33063
33064	* Makefile.in, NEWS, configure.in, src/.cvsignore, src/prxs.in:
33065	Bug#2991 - Need a `prxs' (ProFTPD Extensions) command-line tool for
33066	building shared modules without proftpd source.
33067
330682008-08-25  castaglia <castaglia>
33069
33070	* lib/pr-syslog.c: Extend the fix for Bug#3104 to Mac OS 10.5 (i.e.
33071	DARWIN9) as well.
33072
330732008-08-24  castaglia <castaglia>
33074
33075	* lib/Makefile.in: Turns out that the libsupp library does NOT need
33076	to be installed, as part of a proftpd installation, in order to
33077	support DSO modules built outside of proftpd's source tree.  All of
33078	the symbols of the libsupp library are statically linked into the
33079	proftpd binary, thus a dynamically loaded module which uses those
33080	symbols should have the symbols resolved successfuly at load time,
33081	without need to explicitly link against libsupp.  The installation
33082	of libsupp was added as part of Bug #2991.
33083
330842008-08-24  castaglia <castaglia>
33085
33086	* NEWS, lib/pr-syslog.c: Bug#3104 - Syslog logging does not work on
33087	Mac OS X.
33088
330892008-08-24  castaglia <castaglia>
33090
33091	* NEWS, modules/mod_auth.c: Bug#2564 - Improper logging of "max
33092	connections per host".
33093
330942008-08-23  castaglia <castaglia>
33095
33096	* NEWS, contrib/mod_sql.c, doc/contrib/mod_sql.html: Bug#2537 -
33097	mod_sql does not support %{...}t variable.
33098
330992008-08-23  castaglia <castaglia>
33100
33101	* NEWS, doc/howto/DisplayFiles.html, src/display.c: Bug#3055 -
33102	Support Display variable for specifying the timestamp format.  See
33103	doc/howto/DisplayFiles.html for more details.
33104
331052008-08-23  castaglia <castaglia>
33106
33107	* lib/libcap/libcap.h: Fix typo (missing backslash).
33108
331092008-08-23  castaglia <castaglia>
33110
33111	* src/display.c: A temporary pool was being allocated from
33112	session.pool for each Display file, and was not being cleaned up.
33113	Tsk.
33114
331152008-08-22  castaglia <castaglia>
33116
33117	* lib/libcap/libcap.h: Try to handle the change in Linux capability
33118	version macro names for older kernels (which don't define/use the
33119	new names).
33120
331212008-08-21  castaglia <castaglia>
33122
33123	* NEWS, src/log.c: Bug#3098 - Socket descriptor leak when using
33124	syslog logging, especially at SyslogLevel 'notice' or higher.
33125
331262008-08-20  castaglia <castaglia>
33127
33128	* contrib/mod_site_misc.c: Add signal handling to a while() loop.
33129
331302008-08-20  castaglia <castaglia>
33131
33132	* contrib/mod_load/Makefile.in: Make the mod_load Makefile
33133	consistent with other contrib module Makefiles.
33134
331352008-08-20  castaglia <castaglia>
33136
33137	* NEWS, contrib/mod_load/Makefile.in, contrib/mod_wrap2/Makefile.in:
33138	Bug#3101 - mod_wrap2 does not compile on FreeBSD with custom
33139	includes.  The fix was also needed in the mod_load Makefile.
33140
331412008-08-18  castaglia <castaglia>
33142
33143	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#3030 -
33144	GroupOwner should work for all groups.
33145
331462008-08-18  castaglia <castaglia>
33147
33148	* contrib/ftpmail: Forgot to add descriptions of the
33149	--ignore-users/--watch-users command-line options to the --help
33150	output, as part of the fix for Bug#3100.
33151
331522008-08-18  castaglia <castaglia>
33153
33154	* NEWS, contrib/ftpmail, doc/contrib/ftpmail.html: Bug#3100 -
33155	Support ftpmail options for sending emails only for specific users.
33156
331572008-08-18  castaglia <castaglia>
33158
33159	* doc/howto/Tracing.html: Mention the new "fileperms" trace log
33160	channel in the Trace logging howto.
33161
331622008-08-18  castaglia <castaglia>
33163
33164	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#3099 - Add trace
33165	logging of filesystem permission errors.
33166
331672008-08-18  castaglia <castaglia>
33168
33169	* contrib/mod_wrap2/.cvsignore: Ignore autoconf-generated cache
33170	file.
33171
331722008-08-16  castaglia <castaglia>
33173
33174	* src/fsio.c: If we are out of memory, then we should exit as soon
33175	as possible, and skip any sending of events on the topic.
33176
331772008-08-16  castaglia <castaglia>
33178
33179	* modules/mod_xfer.c: If we decline to use sendfile() for any
33180	reason, log this only once per RETR command.  Otherwise, the debug
33181	logs get spammed.
33182
331832008-08-15  castaglia <castaglia>
33184
33185	* src/throttle.c: Include signal.h, for the signal-masking function
33186	declarations.
33187
331882008-08-15  castaglia <castaglia>
33189
33190	* doc/contrib/index.html, doc/contrib/mod_ldap.html: Start a doc
33191	covering the mod_ldap directives.
33192
331932008-08-15  castaglia <castaglia>
33194
33195	* configure: Updated configure.
33196
331972008-08-15  castaglia <castaglia>
33198
33199	* configure.in: Be sure to include all of the libraries that the
33200	proftpd executable is linked against in the `proftpd -V' output.
33201
332022008-08-15  castaglia <castaglia>
33203
33204	* contrib/mod_sql_sqlite.c: Log if there was an error closing the
33205	SQLite database as well.
33206
332072008-08-15  castaglia <castaglia>
33208
33209	* contrib/mod_sql_sqlite.c: Log the error, if there is one, when
33210	opening the SQLite database file.
33211
332122008-08-15  castaglia <castaglia>
33213
33214	* contrib/mod_sql_sqlite.c: Be sure to log the error string returned
33215	from SQLite when a query fails.  Otherwise, debugging issues is a
33216	lot harder.
33217
332182008-08-14  castaglia <castaglia>
33219
33220	* contrib/mod_tls.c: Turns out that prompting for passphrases for
33221	protected SSL key files MUST happen during the 'core.postparse'
33222	event, and NOT during the 'core.startup' event.  The passphrase
33223	prompting requires use of the TTY, and by the time the
33224	'core.startup' event occurs, the process may have daemonized itself
33225	away from the TTY.
33226
332272008-08-13  castaglia <castaglia>
33228
33229	* contrib/mod_tls.c: The change of timing of initializing the
33230	OpenSSL library, in order to better handle FIPS mode, broke the
33231	TLSPassphraseProvider functionality.  The problem is that using the
33232	OpenSSL library for loading certs/keys using passphrases, before the
33233	OpenSSL library has been initialized, does not work so well.  With
33234	this change, the loading of passphrase-protected certs/keys now
33235	happens in the 'core.startup' event handler, after OpenSSL has been
33236	initialized; this means there is no more need for a 'core.postparse'
33237	event handler.
33238
332392008-08-12  castaglia <castaglia>
33240
33241	* NEWS, contrib/mod_tls.c: Bug#3095 - TLSPassphraseProvider port
33242	number truncated.  Fixed by using 'sizeof(nbuf)', not 'sizeof(buf)',
33243	in the snprintf() call.
33244
332452008-08-12  castaglia <castaglia>
33246
33247	* Makefile.in: If using the pkgconfig info to compile and link
33248	modules, it is not necessary to link against the libsupp library.
33249	This library is statically linked into the proftpd executable, which
33250	means that DSO modules that use any libsupp symbols will have those
33251	symbols successfully resolved at module load time.
33252
332532008-08-11  castaglia <castaglia>
33254
33255	* src/pool.c: Change the "Attempt to free already freed" message,
33256	when clearing a pool, so that it logs the name of the pool being
33257	cleared; this will aid in debugging such occurrences.
33258
332592008-08-11  castaglia <castaglia>
33260
33261	* configure: Updated configure.
33262
332632008-08-11  castaglia <castaglia>
33264
33265	* Make.rules.in, Makefile.in, NEWS, configure.in: Bug#3074 - Support
33266	configure option for pkgconfig .pc file install location.
33267
332682008-08-10  castaglia <castaglia>
33269
33270	* contrib/mod_sql_sqlite.c: Use root privs when opening the file
33271	configured for SQLite use.
33272
332732008-08-10  castaglia <castaglia>
33274
33275	* configure: Updated configure.
33276
332772008-08-10  castaglia <castaglia>
33278
33279	* configure.in: The use of the -Wno-long-double compiler flag is
33280	only needed on Mac machines; and using that flag on non-Mac, newer
33281	gcc versions causes problems.  The configure script thus will only
33282	check to see if that flag should be used if the compiling platform
33283	is a Mac.
33284
332852008-08-06  castaglia <castaglia>
33286
33287	* contrib/mod_tls.c: Quell a compiler warning about signedness with
33288	an explicit cast.
33289
332902008-08-06  castaglia <castaglia>
33291
33292	* NEWS, lib/libcap/cap_alloc.c, lib/libcap/cap_proc.c,
33293	lib/libcap/libcap.h: Bug#3096 - libcap version errors on newer Linux
33294	kernel.  Newer Linux kernels have a _LINUX_CAPABILITY_VERSION_2
33295	macro, and redefine the old _LINUX_CAPABILITY_VERSION macro.  To
33296	play better with such kernels, redefine the bundled libcap to use
33297	_LINUX_CAPABILITY_VERSION_1.
33298
332992008-08-06  castaglia <castaglia>
33300
33301	* configure: Updated configure.
33302
333032008-08-06  castaglia <castaglia>
33304
33305	* config.h.in, configure.in: Fix issue where configure script was
33306	detecting the presence of a linux/capability.h header, but was not
33307	defining the HAVE_LINUX_CAPABILITY_H macro in the config.h file.
33308	(It's a matter of using AC_CHECK_HEADERS vs AC_CHECK_HEADER; easy to
33309	miss, and insidious.)
33310
333112008-07-30  castaglia <castaglia>
33312
33313	* NEWS, contrib/mod_tls.c: Bug#3094 - Perform unidirectional SSL/TLS
33314	shutdown on data connections.
33315
333162008-07-17  castaglia <castaglia>
33317
33318	* NEWS, contrib/mod_quotatab.c: Bug#3036 - Quota information not
33319	persisted if session ends abruptly.
33320
333212008-07-17  castaglia <castaglia>
33322
33323	* contrib/mod_quotatab.h: Remove stale and misleading comment;
33324	confstreams were an interesting idea, but will not be added.
33325
333262008-07-16  castaglia <castaglia>
33327
33328	* doc/modules/mod_cap.html: Add a FAQ about the libcap1 warning
33329	(regarding 32-bit capabilities), and how to address the warning.
33330
333312008-06-19  castaglia <castaglia>
33332
33333	* modules/mod_auth.c: Replace the specific "FTP login timed out"
33334	with the more generic "Session timed out".
33335
333362008-06-18  castaglia <castaglia>
33337
33338	* NEWS, modules/mod_core.c: Bug#3077 - Transparently handle the
33339	X-variant commands when checking <Limit> permissions.
33340
333412008-06-17  castaglia <castaglia>
33342
33343	* include/compat.h: Minor formatting change, no functional change.
33344
333452008-06-16  castaglia <castaglia>
33346
33347	* src/main.c: If PR_DEVEL_COREDUMP support is enabled, then call
33348	abort() in the SIGABRT handler, rather than in the
33349	synchronously-handled handle_abort().  It works much better this
33350	way.
33351
333522008-06-16  castaglia <castaglia>
33353
33354	* src/main.c: Always remove the scoreboard entry when handling a
33355	termination signal, not just when we receive SIGSEGV.
33356
333572008-06-16  castaglia <castaglia>
33358
33359	* include/compat.h: Add comments noting when compat macros were
33360	added; these will be used for determining when the compat macros
33361	should be dropped.
33362
333632008-06-16  castaglia <castaglia>
33364
33365	* contrib/mod_ban.c: Update to use newer PR_LOG_ macros.
33366
333672008-06-14  castaglia <castaglia>
33368
33369	* contrib/mod_ctrls_admin.c, include/dirtree.h, include/str.h,
33370	src/dirtree.c, src/str.c, tests/str.c: Refactor the pr_is_boolean()
33371	function into pr_str_is_boolean(), and place it in str.c with the
33372	other pr_str_*() functions.  Add an accompanying unit test.
33373
333742008-06-14  castaglia <castaglia>
33375
33376	* tests/str.c: Add unit test for the pr_str_get_word() function.
33377
333782008-06-14  castaglia <castaglia>
33379
33380	* include/dirtree.h, include/str.h, src/dirtree.c, src/str.c:
33381	Refactor the pr_str_get_word() function from dirtree.c to str.c,
33382	along with the other pr_str_*() functions.
33383
333842008-06-14  castaglia <castaglia>
33385
33386	* tests/modules.c, tests/tests.h: Fill in unit tests for the Module
33387	API functions.
33388
333892008-06-14  castaglia <castaglia>
33390
33391	* src/modules.c: Clean up a few more style nits, and guard against
33392	bad arguments, in the Module API.
33393
333942008-06-13  castaglia <castaglia>
33395
33396	* tests/modules.c: Add unit tests for the Stash API.
33397
333982008-06-13  castaglia <castaglia>
33399
33400	* src/modules.c: Fix a few minor bugs and nits in the Stash API,
33401	discovered while writing unit tests for those functions.
33402
334032008-06-13  castaglia <castaglia>
33404
33405	* tests/.cvsignore, tests/Makefile.in: Fix the dependency on the
33406	core proftpd object files in the Makefile.  Change the name of the
33407	testsuite executable to 'tests', as it is more accurate.
33408
334092008-06-13  castaglia <castaglia>
33410
33411	* tests/tests.c: Add support for running check in nonforking mode,
33412	using the PR_TEST_NOFORK environment variable.  This makes tracking
33413	down of segfaults tickled by unit tests easier (I can use gdb now
33414	when they happen).
33415
334162008-06-13  castaglia <castaglia>
33417
33418	* tests/Makefile.in, tests/modules.c, tests/stubs.c, tests/tests.c,
33419	tests/tests.h: Add stubs for units tests for the APIs (stash,
33420	module) in the modules.c source file.
33421
334222008-06-12  castaglia <castaglia>
33423
33424	* contrib/mod_quotatab_ldap.c, contrib/mod_quotatab_radius.c,
33425	contrib/mod_quotatab_sql.c, contrib/mod_ratio.c,
33426	contrib/mod_wrap2_sql.c, include/compat.h, include/modules.h,
33427	modules/mod_core.c, modules/mod_site.c, src/auth.c, src/main.c,
33428	src/modules.c, src/parser.c: Since the call_module() function is
33429	used by contrib modules, it should be placed in the public API
33430	namespace.  Thus call_module() is now pr_module_call().  A macro
33431	redefining old code to use the new function has been added to
33432	compat.h.
33433
334342008-06-12  castaglia <castaglia>
33435
33436	* tests/scoreboard.c: Fill in the remaining unit tests for the
33437	Scoreboard API.
33438
334392008-06-12  castaglia <castaglia>
33440
33441	* src/scoreboard.c: Prevent errors in the scoreboard by preventing
33442	multiple entries from being added via pr_scoreboard_entry_add();
33443	only one entry at a time.  At the same time, make sure that
33444	pr_scoreboard_entry_del() only removes the active entry (if
33445	present).
33446
334472008-06-12  castaglia <castaglia>
33448
33449	* contrib/mod_load/.cvsignore, contrib/mod_load/mod_load.c.in: Fix
33450	function definition.  Add more entries of autogenerated files, to be
33451	ignored by CVS.
33452
334532008-06-11  castaglia <castaglia>
33454
33455	* tests/.cvsignore: More files to be ignored by CVS in the tests/
33456	directory.
33457
334582008-06-11  castaglia <castaglia>
33459
33460	* tests/scoreboard.c: Fill in more of the unit tests for the
33461	Scoreboard API.
33462
334632008-06-11  castaglia <castaglia>
33464
33465	* src/scoreboard.c: Fix some minor bugs found in the Scoreboard API
33466	while working on unit tests.
33467
334682008-06-10  castaglia <castaglia>
33469
33470	* NEWS, doc/howto/Classes.html: Update the Classes howto to mention
33471	that "Satisfy all" is needed for Class definitions with multiple
33472	"not" rules.  Add Bug#3083 to NEWS.
33473
334742008-06-06  castaglia <castaglia>
33475
33476	* src/scoreboard.c: Add better argument checking in
33477	pr_set_scoreboard().
33478
334792008-06-06  castaglia <castaglia>
33480
33481	* tests/Makefile.in, tests/scoreboard.c, tests/stubs.c,
33482	tests/tests.c, tests/tests.h: Start writing unit tests for the
33483	Scoreboard API.
33484
334852008-06-06  castaglia <castaglia>
33486
33487	* tests/sets.c: Avoid a compiler warning about a shadowed variable
33488	in the testsuite.
33489
334902008-06-05  castaglia <castaglia>
33491
33492	* include/expr.h, src/expr.c, tests/expr.c: Fill in the Expression
33493	API unit tests, and fix the minor bugs in the API that were
33494	uncovered during the writing of the tests.
33495
334962008-06-05  castaglia <castaglia>
33497
33498	* tests/stubs.c: Forgot to include these variables for unit tests.
33499
335002008-06-05  castaglia <castaglia>
33501
33502	* tests/str.c: Add unit tests for the newly added functions to the
33503	String API.
33504
335052008-06-05  castaglia <castaglia>
33506
33507	* Make.rules.in, contrib/mod_ifsession.c, include/conf.h,
33508	include/dirtree.h, include/expr.h, include/str.h,
33509	include/support.h, modules/mod_auth.c, modules/mod_core.c,
33510	modules/mod_ident.c, modules/mod_xfer.c, src/auth.c, src/dirtree.c,
33511	src/expr.c, src/str.c, src/support.c: Refactoring work.  First, move
33512	the pr_expr_* functions into their own expr.c file.  Second, move
33513	some of the string-related functions from support.c into the str.c
33514	file.
33515
335162008-06-05  castaglia <castaglia>
33517
33518	* src/throttle.c: Make sure to explicit require a TRUE return value
33519	from the pr_expr_* calls.
33520
335212008-06-05  castaglia <castaglia>
33522
33523	* tests/Makefile.in, tests/expr.c, tests/regexp.c, tests/tests.c,
33524	tests/tests.h: Add unit tests for the Regexp API, and unit test
33525	stubs for the Expression API.
33526
335272008-06-05  castaglia <castaglia>
33528
33529	* src/class.c, src/netacl.c: Bug#3083 - Multiple issues with
33530	handling of <Class> definitions.
33531
335322008-06-05  castaglia <castaglia>
33533
33534	* tests/Makefile.in, tests/class.c, tests/netacl.c, tests/tests.c,
33535	tests/tests.h: Added unit tests for the NetACL and Class APIs.
33536
335372008-06-05  castaglia <castaglia>
33538
33539	* doc/howto/Classes.html: Add more material to the Classes howto,
33540	covering the Satisfy directive and giving some examples.
33541
335422008-06-05  castaglia <castaglia>
33543
33544	* tests/Makefile.in: Have different targets for creating the
33545	testsuite executable, versus running the testsuite executable.  It
33546	was getting tedious, having the testsuite executable re-linked every
33547	time I wanted to run a particular suite of tests.
33548
335492008-06-05  castaglia <castaglia>
33550
33551	* src/netacl.c: When destroying the temporary pool in
33552	pr_netacl_match(), make sure we do it only when we're about to
33553	return from the function (and not before then).
33554
335552008-06-04  castaglia <castaglia>
33556
33557	* src/netacl.c: Correct several nits in the NetACL API: free up the
33558	temporary pool that's allocated in pr_netacl_match(), make sure that
33559	pr_netacl_get_str() returns the same string for ALL/NONE ACLs,
33560	regardess of the casing of the ALL/NONE strings, clean up some of
33561	the string representations, etc.
33562
335632008-06-02  castaglia <castaglia>
33564
33565	* NEWS, doc/howto/Tracing.html, src/trace.c: Bug#3082 - Use
33566	"DEFAULT" keyword instead of "ALL" for Trace directive.
33567
335682008-05-20  castaglia <castaglia>
33569
33570	* contrib/mod_tls.c: Update mod_tls to properly enable FIPS mode
33571	(see Bug #3050) for both inetd and standalone modes.  The timing of
33572	when to call FIPS_mode_set() is a little tricky.
33573
335742008-05-17  castaglia <castaglia>
33575
33576	* src/throttle.c: Make sure that the signal-handling functions (e.g.
33577	sigemptyset()) can be properly found on some platforms (e.g.
33578	Solaris).
33579
335802008-05-15  castaglia <castaglia>
33581
33582	* modules/mod_core.c: Make sure that we honor the TimeoutIdle
33583	directive *before* authentication, as well as after.
33584
335852008-05-14  castaglia <castaglia>
33586
33587	* include/auth.h, modules/mod_auth.c, src/auth.c: Move the functions
33588	which check /etc/ftpusers and /etc/shells out of the mod_auth
33589	module, and into the Auth API layer.  This makes it possible for
33590	other modules to use these checks when deciding to let users in.
33591
335922008-05-13  castaglia <castaglia>
33593
33594	* include/table.h, src/main.c, src/table.c: Fix bug where proftpd
33595	could enter a recursive loop and eventually run out of stack memory.
33596	Turns out that if errno is EINTR when pr_signals_handle() was
33597	called, then pr_signals_handle() would call pr_trace_msg(), which
33598	would lead to a call to pr_signals_handle(), which would call
33599	pr_trace_msg(), etc etc.  To deal with this, the Table API now has an internal-use-only
33600	functionn, used by pr_signals_handle(), to indicate whether a signal
33601	is currently being handled or not.  If a signal is being handled,
33602	then the Table API code will not call pr_signals_handle().
33603
336042008-05-12  castaglia <castaglia>
33605
33606	* modules/mod_dso.c: Work around compiler warnings about "nested
33607	extern declaration of lt_preloaded_symbols".  This was caused by the
33608	use of the LTDL_SET_PRELOADED_SYBMOLS libtool macro.  Instead, use
33609	the code to which the macro expands, and separate the code so that
33610	the declaration of the lt_preloaded_symbols is in the proper scope.
33611
336122008-05-12  castaglia <castaglia>
33613
33614	* configure: Updated configure.
33615
336162008-05-12  castaglia <castaglia>
33617
33618	* configure.in, modules/mod_dso.c: Make sure we use the libltdl
33619	shipped with proftpd, not the system libltdl.
33620
336212008-05-12  castaglia <castaglia>
33622
33623	* modules/mod_xfer.c: Found more while loops without signal
33624	handling.  Tsk tsk.
33625
336262008-05-11  castaglia <castaglia>
33627
33628	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c,
33629	src/main.c: Move the setting of the TimeoutIdle timer from
33630	src/main.c into mod_core.  The issue was that any vhost-specific
33631	TimeoutIdle timer was not being honored properly.  Another cause of
33632	this issue was that the handling of the PASS POST_CMD dispatch was
33633	faulty; the mod_auth and mod_xfer modules were both returning
33634	HANDLED for those POST_CMD handlers, which prevented other modules
33635	from receiving the dispatch.  Oops.
33636
336372008-05-11  castaglia <castaglia>
33638
33639	* src/main.c: Make a lowercased version of the protocol name, in
33640	set_protocol_name(), for use in the WtmpLog entry.
33641
336422008-05-08  castaglia <castaglia>
33643
33644	* modules/mod_core.c: As it turns out, the <Limit> section can
33645	handles commands for more than just FTP.
33646
336472008-05-08  castaglia <castaglia>
33648
33649	* contrib/mod_load/mod_load.c.in: Mark a string used by mod_load as
33650	localisable.
33651
336522008-05-08  castaglia <castaglia>
33653
33654	* include/support.h, src/main.c: Make it possible to change the
33655	protocol name used in some logging messages via a
33656	set_protocol_name() function.
33657
336582008-05-08  castaglia <castaglia>
33659
33660	* src/main.c: Stylistic nits, no functional change.
33661
336622008-05-08  castaglia <castaglia>
33663
33664	* src/main.c: Always have signal handling in while loops.
33665
336662008-05-07  castaglia <castaglia>
33667
33668	* NEWS, contrib/dist/rpm/proftpd.spec: Bug#3076 - RPM build failing
33669	on 64 bit OS due to incomplete .spec.
33670
336712008-05-06  castaglia <castaglia>
33672
33673	* include/response.h, src/response.c: Add new pr_response_block()
33674	API, for blocking the normal response chains from being sent to the
33675	client.  For use by modules which want to send their own data, as
33676	is, to clients.
33677
336782008-05-06  castaglia <castaglia>
33679
33680	* doc/howto/Authentication.html: Typo.
33681
336822008-05-06  castaglia <castaglia>
33683
33684	* configure: Updated configure.
33685
336862008-05-06  castaglia <castaglia>
33687
33688	* config.h.in, configure.in, contrib/mod_site_misc.c,
33689	include/fsio.h, modules/mod_facts.c, src/fsio.c: Add two new FSIO
33690	API functions: pr_fsio_utimes() and pr_fsio_futimes().  These
33691	functions use the utimes(2) system call, which supercedes the old
33692	utime(2) system call.  Plus, this allows FSIO modules to provide
33693	their own implementations of these calls.  Update the mod_facts and mod_site_misc modules, which used utime(2)
33694	directly, to call these new FSIO APIs.
33695
336962008-05-06  castaglia <castaglia>
33697
33698	* include/fsio.h, src/fsio.c: Add pr_fsio_fchmod() and
33699	pr_fsio_fchown() functions, for acting on already opened pr_fh_t
33700	objects rather than always requiring paths.
33701
337022008-05-06  castaglia <castaglia>
33703
33704	* include/response.h, src/response.c: Add a new pr_response_clear()
33705	function, for clearing a response chain without having to flush that
33706	chain out to the client first.
33707
337082008-05-06  castaglia <castaglia>
33709
33710	* src/main.c: If sending responses in pr_cmd_dispatch_phase(), be
33711	sure to flush the correct response chain.
33712
337132008-05-06  castaglia <castaglia>
33714
33715	* Make.rules.in, include/conf.h, include/throttle.h,
33716	modules/mod_xfer.c, src/throttle.c: More refactoring.  This time,
33717	move the TransferRate handling out of mod_xfer and into a Throttle
33718	API.  Again, this is to expose this same functionality to other
33719	modules that may want throttling capabilities.
33720
337212008-05-06  castaglia <castaglia>
33722
33723	* include/modules.h, src/main.c: Add a new function,
33724	pr_cmd_dispatch_phase().  This is very similar to pr_cmd_dispatch(),
33725	except that it allows callers to dispatch a cmd_rec to a specific
33726	phase of command handlers (e.g. LOG_CMD).  It also supports a flag
33727	for indicating whether the caller wishes the response chains to be
33728	flushed to the client.  This API allows modules to dispatch commands to specific handlers as
33729	needed.  Wondering about the utility?  Well, I have need for such a
33730	thing in my soon-to-be-released mod_sftp module for proftpd.
33731
337322008-05-06  castaglia <castaglia>
33733
33734	* include/auth.h, modules/mod_auth.c, src/auth.c: Refactor the
33735	lockdown() function from mod_auth into the pr_auth_chroot()
33736	function, in the Auth API.  This makes it possible to reuse the same
33737	code from other modules.
33738
337392008-04-28  castaglia <castaglia>
33740
33741	* NEWS, modules/mod_auth.c, modules/mod_log.c, src/dirtree.c,
33742	src/support.c: Bug#3073 - Command arguments not decoded properly in
33743	some places.
33744
337452008-04-26  castaglia <castaglia>
33746
33747	* src/data.c: Apply the fix for Bug#3001 to a similar area of the
33748	code, this time in a non-Linux code path.
33749
337502008-04-25  castaglia <castaglia>
33751
33752	* NEWS, locale/Makefile.in, locale/zh_CN.po: Adding Chinese
33753	translation.
33754
337552008-04-18  castaglia <castaglia>
33756
33757	* configure: Updated configure.
33758
337592008-04-18  castaglia <castaglia>
33760
33761	* configure.in: If the PR_USE_OPENSSL macro is defined, then the
33762	proftpd build would fail when linking the `proftpd' executable, due
33763	to an unresolved 'OPENSSL_cleanse' symbol.  There was a spot in the
33764	configure script which was not properly adding the OpenSSL libs to
33765	the library list.
33766
337672008-04-17  castaglia <castaglia>
33768
33769	* NEWS: Had wrong bug number for IPv6-by-default change.
33770
337712008-04-17  castaglia <castaglia>
33772
33773	* configure: Updating configure.
33774
337752008-04-17  castaglia <castaglia>
33776
33777	* configure.in: Really fix Bug#2755 by making sure that IPv6 support
33778	is enabled by default.  Previously, it was only enabled *if* the
33779	--disable-ipv6 configure option was used -- not so helpful as a
33780	default.
33781
337822008-04-16  castaglia <castaglia>
33783
33784	* NEWS: Forgot to mention the release date for 1.3.2rc1 in the NEWS
33785	file.
33786
337872008-04-16  castaglia <castaglia>
33788
33789	* include/version.h: Update version for CVS.
33790
337912008-04-16  castaglia <castaglia>
33792
33793	* Makefile.in: Clean up the locale/Makefile when handling the
33794	'distclean' target.
33795
337962008-04-16  castaglia <castaglia>
33797
33798	* ChangeLog: Updating ChangeLog.
33799
338002008-04-16  castaglia <castaglia>
33801
33802	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing to
33803	release 1.3.2rc1.
33804
338052008-04-16  castaglia <castaglia>
33806
33807	* doc/howto/Tracing.html, src/main.c, src/trace.c: Remove the unused
33808	"l10n" trace channel, and add a "signal" trace channel.  Update the
33809	Tracing howto with these channel changes.  Use the "signal" channel,
33810	rather than debug logging, when logging about EINTR delaying.
33811
338122008-04-15  castaglia <castaglia>
33813
33814	* contrib/ftpmail: Fix issue with handling of binary files as
33815	attachments.  Such attachments need to be base64-encoded, to protect
33816	them from CRLF translation/handling by Mail::Sendmail.
33817
338182008-04-15  castaglia <castaglia>
33819
33820	* RELEASE_NOTES: Updating release notes.
33821
338222008-04-12  castaglia <castaglia>
33823
33824	* modules/mod_lang.c: When scanning the LangPath for suitable
33825	languages, make sure that the languages are acceptable to
33826	setlocale(3), in addition to having a proftpd.mo file.
33827
338282008-04-10  castaglia <castaglia>
33829
33830	* doc/howto/Limit.html: Mention that within <Limit> sections, limits
33831	are applied only based on names, not on IDs.
33832
338332008-04-09  castaglia <castaglia>
33834
33835	* include/options.h: Make the default
33836	PR_TUNABLE_EINTR_RETRY_INTERVAL value be 0.2 secs, rather than 0, in
33837	order to prevent tightly-spinning EINTR retry loops.
33838
338392008-04-08  castaglia <castaglia>
33840
33841	* locale/it_IT.po: Updated Italian translation.
33842
338432008-04-05  castaglia <castaglia>
33844
33845	* locale/proftpd.pot: Fill in some descriptive details in the .pot
33846	file header.
33847
338482008-04-05  castaglia <castaglia>
33849
33850	* configure: Updated configure.
33851
338522008-04-05  castaglia <castaglia>
33853
33854	* configure.in: Yet another attempt to fix the writing of the
33855	PR_LOCALE_DIR string into config.h by the configure script (Bug
33856	#3066).
33857
338582008-04-05  castaglia <castaglia>
33859
33860	* modules/mod_core.c: Don't set the UTF8 feature in mod_core; it's
33861	already handled by mod_lang.  Addresses Bug#3070.
33862
338632008-04-05  castaglia <castaglia>
33864
33865	* modules/mod_lang.c: Missed one spot where the language needed to
33866	specified as "en_US" (to satiate setlocale(3)) instead of just "en".
33867	While I was at it, I made the fallback "en_US" string be a macro.
33868
338692008-04-05  castaglia <castaglia>
33870
33871	* locale/Makefile.in: Add a `make check' target for the locale/
33872	directory, to run msgcmp on our .po files to see how out-of-date
33873	they might become.
33874
338752008-04-05  castaglia <castaglia>
33876
33877	* locale/Makefile.in: Make sure that all .po files pass the msgfmt
33878	format check.
33879
338802008-04-05  castaglia <castaglia>
33881
33882	* doc/modules/mod_lang.html, modules/mod_lang.c: Mention the
33883	requirement that the LangDefault language be listed in `locale -a'
33884	in the docs.  Change the default language from "en" to "en_US", as
33885	per the `locale -a' requirement.
33886
338872008-04-05  castaglia <castaglia>
33888
33889	* locale/Makefile.in, locale/en_US.po, locale/it_IT.po: Turns out
33890	that setlocale(3) prefers the language tag to include the country
33891	code as well, hence "en_US" instead of just "en", "it_IT" instead of
33892	just "it", etc.  Picky, picky.
33893
338942008-04-05  castaglia <castaglia>
33895
33896	* locale/proftpd.pot: Updated proftpd.pot to reflect changed line
33897	numbers.
33898
338992008-04-05  castaglia <castaglia>
33900
33901	* modules/mod_lang.c: Add proper provisioning of the LANG FEAT, and
33902	handling of the LANG command.  Also addresses Bug#3067 with some
33903	explicit calls to bind_textdomain_codeset().
33904
339052008-04-04  castaglia <castaglia>
33906
33907	* locale/proftpd.pot: Update proftpd.pot with the strings to be
33908	translated from mod_quotatab.
33909
339102008-04-04  castaglia <castaglia>
33911
33912	* contrib/mod_quotatab.c: Tag a few more strings that need to be
33913	translated, when displaying quota limit/tallies to clients.
33914
339152008-04-04  castaglia <castaglia>
33916
33917	* locale/Makefile.in: Add it.po (courtesy of Frankie) and en.po for
33918	default translations.
33919
339202008-04-04  castaglia <castaglia>
33921
33922	* locale/Makefile.in, locale/files.txt, locale/proftpd.pot: Update
33923	the list of files to include contrib modules, and updated the .pot
33924	file accordingly.
33925
339262008-04-04  castaglia <castaglia>
33927
33928	* contrib/mod_quotatab.c, contrib/mod_radius.c,
33929	contrib/mod_readme.c, contrib/mod_site_misc.c, contrib/mod_tls.c,
33930	contrib/mod_wrap2/mod_wrap2.c: Add tags for the response strings
33931	which need to be localised/translated in the contrib modules.
33932
339332008-04-04  castaglia <castaglia>
33934
33935	* contrib/mod_wrap2/.cvsignore: More files to be ignored by CVS.
33936
339372008-04-04  castaglia <castaglia>
33938
33939	* modules/mod_lang.c: Delay the call to setlocale() until the
33940	postparse event, after we have called bindtextdomain().
33941
339422008-04-04  castaglia <castaglia>
33943
33944	* include/conf.h: Use dgettext() instead of gettext() when
33945	retrieving localised strings, so that we can explicitly specify the
33946	domain ("proftpd") to use.
33947
339482008-04-04  castaglia <castaglia>
33949
33950	* locale/Makefile.in: When installing locale .mo files, actually do
33951	the installation into the proper directory structure.
33952
339532008-04-04  castaglia <castaglia>
33954
33955	* modules/mod_lang.c: When requesting a locale change, it helps to
33956	actually use the locale provided by the caller.  Sheesh.
33957
339582008-04-04  castaglia <castaglia>
33959
33960	* modules/mod_lang.c: Hook up handling of LangPath and LangDefault,
33961	and start trying to actually use the configured locale message
33962	catalogs.
33963
339642008-04-03  castaglia <castaglia>
33965
33966	* configure: Updated configure.
33967
339682008-04-03  castaglia <castaglia>
33969
33970	* configure.in: Fix the handling of the PR_LOCALE_DIR macro, so that
33971	it properly substitutes the variables.
33972
339732008-04-03  castaglia <castaglia>
33974
33975	* locale/Makefile.in, locale/proftpd.pot: Provide a .pot file as a
33976	starting point for translators.
33977
339782008-04-03  castaglia <castaglia>
33979
33980	* locale/Makefile.in: Older msginit versions do not support the
33981	--sort-by-file option.  Also, do not run msgfmt if msginit fails.
33982
339832008-04-03  castaglia <castaglia>
33984
33985	* locale/.cvsignore: Ignore a few other generated files in the
33986	locale/ directory.
33987
339882008-04-03  castaglia <castaglia>
33989
33990	* locale/files.txt: Update the list of files from which to extract
33991	strings via xgettext.
33992
339932008-04-03  castaglia <castaglia>
33994
33995	* src/encode.c: Fix typo which breaks the solution for Bug#3064.
33996
339972008-04-03  castaglia <castaglia>
33998
33999	* src/encode.c: Add a few more character sets to the list of those
34000	which override the value of the Telnet IAC value.
34001
340022008-04-03  castaglia <castaglia>
34003
34004	* NEWS, include/encode.h, src/encode.c, src/netio.c: Bug#3064 -
34005	Better handling of 0xFF character for Cyrillic, non-UTF8 charsets.
34006
340072008-04-03  castaglia <castaglia>
34008
34009	* modules/mod_lang.c: Bug#3063 - proftpd fails to start if LC_ALL
34010	environment variable is wrong.
34011
340122008-04-03  castaglia <castaglia>
34013
34014	* NEWS: Bug#3056 - Support non-UTF8 encoding and character sets.
34015
340162008-04-03  castaglia <castaglia>
34017
34018	* doc/howto/Tracing.html: The log channel name changed from "utf8"
34019	to "encode".
34020
340212008-04-03  castaglia <castaglia>
34022
34023	* RELEASE_NOTES, doc/modules/mod_lang.html: Mention the new
34024	UseEncoding directive in the release notes, and add docs for
34025	UseEncoding to the mod_lang docs.
34026
340272008-04-03  castaglia <castaglia>
34028
34029	* Make.rules.in, include/conf.h, include/encode.h, include/fsio.h,
34030	modules/mod_core.c, modules/mod_lang.c, src/encode.c, src/fsio.c,
34031	src/main.c, src/trace.c: Bug#3056 - Support non-UTF8 encoding and
34032	character sets.
34033
340342008-04-01  castaglia <castaglia>
34035
34036	* doc/contrib/mod_quotatab.html, doc/howto/Quotas.html: Add more
34037	description of how mod_quotatab determines which group quota to use,
34038	when there are multiple applicable group quota to choose from (see
34039	Bug #3053).
34040
340412008-03-27  castaglia <castaglia>
34042
34043	* src/scoreboard.c: In addition to logging the PID of the blocking
34044	lock owner, log the type of blocking lock (read/write).
34045
340462008-03-27  castaglia <castaglia>
34047
34048	* src/scoreboard.c: If we're unable to get a read or write lock on
34049	the ScoreboardFile because some other process (e.g. ftptop) has a
34050	lock on it, look up the PID of that blocking lock owner, and log it.
34051
340522008-03-27  castaglia <castaglia>
34053
34054	* contrib/mod_wrap2_sql.c: Replace some "magic numbers" with macros,
34055	and increase legibility.
34056
340572008-03-27  castaglia <castaglia>
34058
34059	* contrib/mod_wrap2_sql.c: Make sure to allocate enough room for the
34060	SQL query names in the tab_data; the fact that this was working was
34061	highly dependent on the architecture and just dumb luck.
34062
340632008-03-27  castaglia <castaglia>
34064
34065	* contrib/mod_wrap2_sql.c: Clear up a temporary pool before exiting
34066	early.
34067
340682008-03-27  castaglia <castaglia>
34069
34070	* contrib/mod_wrap2/mod_wrap2.c: Quell compiler warning about
34071	partially-declared callback function signature.
34072
340732008-03-27  castaglia <castaglia>
34074
34075	* NEWS, contrib/mod_quotatab_sql.c: Bug#3061 - Segfault in
34076	mod_quotatab_sql if the SQL query returns NULL bytes/files values.
34077
340782008-03-27  castaglia <castaglia>
34079
34080	* src/scoreboard.c: Further reduce possible race conditions when
34081	reading the scoreboard by NOT blocking signals while reading the
34082	scoreboard header.  If signals are blocked while entering a
34083	potentially endless loop, it's a very bad thing.
34084
340852008-03-26  castaglia <castaglia>
34086
34087	* src/scoreboard.c: Add trace logging of scoreboard locking.
34088
340892008-03-26  castaglia <castaglia>
34090
34091	* src/scoreboard.c, utils/scoreboard.c: Bug#3057 - ftptop can lock
34092	scoreboard, blocking proftpd.  Try not to lock as aggressively in
34093	ftptop.
34094
340952008-03-25  castaglia <castaglia>
34096
34097	* NEWS, src/utf8.c: Bug#3059 - Wrong handling of UTF8 conversions.
34098
340992008-03-25  castaglia <castaglia>
34100
34101	* NEWS, modules/mod_core.c: Bug#3058 - Handling of OPTS command
34102	results in badly set values in code.
34103
341042008-03-21  castaglia <castaglia>
34105
34106	* tests/tests.c: Clarify that the tests.log file can be found in the
34107	tests/ directory.
34108
341092008-03-20  castaglia <castaglia>
34110
34111	* src/netaddr.c: Unit tests caught regression where a NULL buffer
34112	was not being checked properly.  Yay unit testing!
34113
341142008-03-20  castaglia <castaglia>
34115
34116	* .cvsignore: Ignore the generated proftpd.pc file.
34117
341182008-03-19  castaglia <castaglia>
34119
34120	* contrib/mod_sql.c: When there is an unrecoverable SQL backend
34121	error, make sure to log this in the regular proftpd debug logs,
34122	along with a note prompting the admin to look in the SQLLogFile as
34123	well, as a reminder.
34124
341252008-03-19  castaglia <castaglia>
34126
34127	* configure: Updated configure.
34128
341292008-03-19  castaglia <castaglia>
34130
34131	* config.h.in, configure.in, modules/mod_auth_unix.c: Add autoconf
34132	support for checking for login.h and usersec.h; these headers are
34133	required for the AIX loginrestrictions() support in the
34134	mod_auth_unix module.
34135
341362008-03-17  castaglia <castaglia>
34137
34138	* contrib/mod_tls.c: Protect some OCSP-specific code with checks
34139	against the OpenSSL version.
34140
341412008-03-17  castaglia <castaglia>
34142
34143	* contrib/mod_tls.c: Make checking of the verification mechanism
34144	names (CRL, OCSP) case-insensitive.
34145
341462008-03-17  castaglia <castaglia>
34147
34148	* RELEASE_NOTES: Be sure to mention TLSVerifyOrder in the release
34149	notes.
34150
341512008-03-17  castaglia <castaglia>
34152
34153	* doc/contrib/mod_tls.html: Add docs for the new TLSVerifyOrder
34154	directive.
34155
341562008-03-17  castaglia <castaglia>
34157
34158	* NEWS, contrib/mod_tls.c: Bug#2840 - Online Certificate Status
34159	Protocol (OCSP) support.
34160
341612008-03-17  castaglia <castaglia>
34162
34163	* contrib/mod_sql_odbc.c: Use the TOP clause when the driver name is
34164	"FreeTDS", or when the driver name contains "SQL Server".
34165
341662008-03-15  castaglia <castaglia>
34167
34168	* include/inet.h, modules/mod_core.c, src/main.c: Add an API that
34169	allows a module to take full control of the command handling,
34170	including IO.  I'm working on a module which requires this ability.
34171
341722008-03-14  castaglia <castaglia>
34173
34174	* contrib/mod_sql_odbc.c: Check for the FreeTDS driver; if so, use
34175	TOP instead of LIMIT.
34176
341772008-03-13  castaglia <castaglia>
34178
34179	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Use pcalloc()
34180	rather than palloc() in the database backend modules.  Fix some
34181	inconsistent style while there.
34182
341832008-03-13  castaglia <castaglia>
34184
34185	* contrib/mod_sql_odbc.c: Improve the error logging in mod_sql_odbc
34186	by calling the SQLGetDiagRec() function repeatedly, retrieving (and
34187	logging) all of the errors in the diag stack, not just the first
34188	error.
34189
341902008-03-13  castaglia <castaglia>
34191
34192	* doc/contrib/mod_sql_odbc.html: Update instructions for configuring
34193	proftpd for using ODBC libraries.
34194
341952008-03-13  castaglia <castaglia>
34196
34197	* contrib/mod_sql_odbc.c: When allocating the conn_t struct in
34198	mod_sql_odbc, be sure to use pcalloc(), so that the allocated memory
34199	is zeroed.  Also, add an sqlodbc_strerror() function, for displaying the string
34200	version of the SQLRETURN value returned by many of the ODBC
34201	functions.  Makes for slightly more legible logging.
34202
342032008-03-11  castaglia <castaglia>
34204
34205	* NEWS, contrib/mod_quotatab.c: Bug#3051 - mod_quotatab incorrectly
34206	reduces file count on rename.
34207
342082008-03-11  castaglia <castaglia>
34209
34210	* configure: Updated configure.
34211
342122008-03-11  castaglia <castaglia>
34213
34214	* RELEASE_NOTES: Mention the pkgconfig file.
34215
342162008-03-11  castaglia <castaglia>
34217
34218	* Make.rules.in, Makefile.in, configure.in, lib/Makefile.in: When
34219	installing proftpd, be sure to install the libsupp library as well.  Also, supply a pkgconfig file (see
34220	http://pkgconfig.freedesktop.org/) for proftpd.  The generated
34221	proftpd.pc file is created during the `make install' step, and is
34222	installed into lib/pkgconfig/proftpd.pc.  These changes are for Bug #2991.
34223
342242008-03-08  castaglia <castaglia>
34225
34226	* src/support.c: If we are linking with OpenSSL, and that OpenSSL is
34227	new enough, use its memory-cleansing function rather than our own.
34228
342292008-03-08  castaglia <castaglia>
34230
34231	* contrib/mod_tls.c: If FIPS mode is requested, and the OpenSSL
34232	installation doesn't support FIPS, log a warning.
34233
342342008-03-08  castaglia <castaglia>
34235
34236	* Makefile.in, NEWS, RELEASE_NOTES, contrib/mod_load/Makefile.in,
34237	contrib/mod_tls.c, contrib/mod_wrap2/Makefile.in,
34238	doc/howto/TLS.html, modules/Makefile.in, tests/Makefile.in: Bug#3050
34239	- Support use of OpenSSL in FIPS mode.
34240
342412008-03-06  castaglia <castaglia>
34242
34243	* NEWS, RELEASE_NOTES: Add mention of ftpmail in the NEWS and in the
34244	release notes.
34245
342462008-03-06  castaglia <castaglia>
34247
34248	* contrib/ftpmail, doc/contrib/ftpmail.html: Added ftpmail, a Perl
34249	script which reads a TransferLog FIFO and sends automatic email
34250	notifications for uploads.
34251
342522008-03-04  castaglia <castaglia>
34253
34254	* doc/contrib/mod_ban.html: Update docs for the BanOnEvent
34255	directive.
34256
342572008-03-04  castaglia <castaglia>
34258
34259	* NEWS, contrib/mod_ban.c: Bug#3047 - BanOnEvent should support
34260	optional ban message.
34261
342622008-03-03  castaglia <castaglia>
34263
34264	* NEWS, contrib/mod_quotatab.c: Bug#3045 - "QuotaOptions
34265	ScanOnLogin" does not work for 'class' or 'all' limits.
34266
342672008-03-03  castaglia <castaglia>
34268
34269	* NEWS, contrib/mod_wrap2_file.c: Bug#3048 - mod_wrap2_file should
34270	support comma-delimited lists of clients.
34271
342722008-03-03  castaglia <castaglia>
34273
34274	* modules/mod_core.c: Make the message about an AuthOrder module
34275	with no auth handlers a little more explicit.
34276
342772008-02-25  castaglia <castaglia>
34278
34279	* src/inet.c: Forgot to remove the old pr_inet_validate() function
34280	from inet.c.
34281
342822008-02-24  castaglia <castaglia>
34283
34284	* tests/Makefile.in, tests/netaddr.c, tests/stubs.c, tests/tests.c,
34285	tests/tests.h: Adding unit tests for the Netaddr API.  Note that
34286	some of the tests still need to be filled in.
34287
342882008-02-24  castaglia <castaglia>
34289
34290	* src/netaddr.c: Fix minor bugs in the Netaddr API.
34291
342922008-02-24  castaglia <castaglia>
34293
34294	* include/compat.h, include/inet.h, include/netaddr.h,
34295	src/ftpdctl.c, src/log.c, src/netaddr.c: Move the function for
34296	validating DNS strings from inet.c (pr_inet_validate) to netaddr.c
34297	(pr_netaddr_validate_dns_str).  Also remove the never-defined
34298	pr_inet_fqdn() function while I'm at it.
34299
343002008-02-24  castaglia <castaglia>
34301
34302	* src/log.c: Set errno when appropriate, and catch a corner case
34303	where the caller might provide a null format string.
34304
343052008-02-20  castaglia <castaglia>
34306
34307	* src/log.c: Log if ftruncate(3) fails.
34308
343092008-02-20  castaglia <castaglia>
34310
34311	* modules/mod_delay.c: Add logging of when write() fails for the
34312	DelayTable, even for a single byte.  Also fix up some of the log
34313	messages where "warning" would be redundant (the message was already
34314	logged at the LOG_WARN level).
34315
343162008-02-20  castaglia <castaglia>
34317
34318	* contrib/mod_ban.c: Make sure we provide a printf-like format
34319	string when necessary, rather than simply sending the intended
34320	string.  In this case, there is no way for a user to inject their
34321	own data into the message, but it's better to be paranoid.
34322
343232008-02-20  castaglia <castaglia>
34324
34325	* src/fsio.c: Rather than relying on simple path comparison in
34326	pr_fs_copy_file(), for detecting when the source and destination
34327	files are the same, check for same path, same device, same inode,
34328	same size, and same mtime.
34329
343302008-02-20  castaglia <castaglia>
34331
34332	* src/fsio.c: Make sure the pr_fs_copy_file() function properly
34333	handles NULL arguments, and detects when the source and destination
34334	paths are the same.
34335
343362008-02-19  castaglia <castaglia>
34337
34338	* NEWS, modules/mod_delay.c: Bug#3044 - Segfault if mod_delay fails
34339	to load DelayTable.
34340
343412008-02-19  castaglia <castaglia>
34342
34343	* tests/Makefile.in, tests/tests.c, tests/tests.h, tests/version.c:
34344	Add unit tests for the new Version API functions.
34345
343462008-02-19  castaglia <castaglia>
34347
34348	* Make.rules.in, include/version.h, src/version.c: Make it possible
34349	to get versions (number, string) at runtime, for runtime comparisons
34350	(e.g. by shared modules at load time).  These functions complement
34351	the existing buildtime version macros.
34352
343532008-02-18  castaglia <castaglia>
34354
34355	* include/log.h: Use gcc's varargs checking for printf-like
34356	statements for the pr_log_auth() function.
34357
343582008-02-18  castaglia <castaglia>
34359
34360	* tests/Makefile.in, tests/event.c, tests/tests.c, tests/tests.h:
34361	Added unit tests for the Event API.
34362
343632008-02-18  castaglia <castaglia>
34364
34365	* src/event.c: Event API bugfixes: Check for duplicate event
34366	handlers in pr_event_register().  Return ENOENT if the requested
34367	event was never registered, in pr_event_unregister().  Make sure the
34368	caller provides a dump function in pr_event_dump().
34369
343702008-02-18  castaglia <castaglia>
34371
34372	* tests/Makefile.in, tests/feat.c, tests/tests.c, tests/tests.h: Add
34373	unit tests for the Feat API.
34374
343752008-02-18  castaglia <castaglia>
34376
34377	* src/feat.c: Minor fixes, so that EPERM is returned (before
34378	EINVAL), if there are not features registered.  Also fix a bug where
34379	pr_feat_remove() would return ENOENT, even when the feature being
34380	removed had been registered; it was actually removed, but
34381	pr_feat_remove() was not doing the right thing.
34382
343832008-02-18  castaglia <castaglia>
34384
34385	* tests/Makefile.in, tests/tests.c, tests/tests.h, tests/var.c: Add
34386	unit tests for the Var API.
34387
343882008-02-18  castaglia <castaglia>
34389
34390	* include/var.h, src/var.c: Removed the duplicate pr_var_remove()
34391	function (pr_var_delete() did the same thing).  Fixed some cases
34392	where the functions would not behave properly if the Var API has not
34393	been initialized first, specifically pr_var_set().  Handle some bad
34394	arguments better.
34395
343962008-02-17  castaglia <castaglia>
34397
34398	* tests/tests.c: Slightly more elegant way of iterating over all of
34399	the testsuites, without needing to use strcmp().
34400
344012008-02-17  castaglia <castaglia>
34402
34403	* tests/Makefile.in, tests/table.c, tests/tests.c, tests/tests.h:
34404	Add unit tests for the Table API.
34405
344062008-02-17  castaglia <castaglia>
34407
34408	* src/table.c: Fix a few minor bugs related to checking for improper
34409	arguments.
34410
344112008-02-17  castaglia <castaglia>
34412
34413	* doc/howto/Testing.html: Start of a doc that will describe
34414	ProFTPD's burgeoning testsuite, and how to use it.
34415
344162008-02-17  castaglia <castaglia>
34417
34418	* tests/tests.c: Make it possible to specify the name of a single
34419	testsuite to run using the PR_TEST_SUITE environment variable.
34420	Makes it much easier when writing new testcases; now I don't have to
34421	run all previous testcases to get to the one I'm working on.
34422
344232008-02-17  castaglia <castaglia>
34424
34425	* tests/tests.c: Emit a message to the user, asking them to send
34426	their tests.log and their configure info, whenever the testsuite
34427	fails for them.
34428
344292008-02-17  castaglia <castaglia>
34430
34431	* tests/Makefile.in, tests/stubs.c, tests/tests.c, tests/tests.h,
34432	tests/timers.c: Adding unit tests for the Timers API.
34433
344342008-02-17  castaglia <castaglia>
34435
34436	* src/timers.c: Fixing some issues found in the Timers API by unit
34437	testing.  Handle some null arguments better, and handle the case
34438	where there may be no registered timers when pr_timer_reset() is
34439	called.  Fixed up style in a few places.
34440
344412008-02-17  castaglia <castaglia>
34442
34443	* tests/Makefile.in, tests/sets.c, tests/tests.c, tests/tests.h:
34444	Adding unit tests for the Sets API.
34445
344462008-02-17  castaglia <castaglia>
34447
34448	* include/sets.h, src/sets.c: Cleanup of the Sets API.  Removed the
34449	unused xaset_union() and xaset_subtract() functions.  Clean up the
34450	style/formatting of the sets.c file.  Make sure that the functions
34451	can properly handle NULL/bad arguments.  Have them return -1 on
34452	error, not zero on error.
34453
344542008-02-16  castaglia <castaglia>
34455
34456	* Makefile.in: If --enable-tests has not been used, the
34457	tests/Makefile will not have been created.  Thus do not try to use
34458	this Makefile for the 'make clean' target unless --enable-tests has
34459	been used.
34460
344612008-02-16  castaglia <castaglia>
34462
34463	* tests/str.c: Fill in the unit test for the sstrncpy() function.
34464
344652008-02-16  castaglia <castaglia>
34466
34467	* tests/.cvsignore, tests/array.c, tests/env.c, tests/str.c,
34468	tests/tests.c: Capture testsuite output in `tests.log' file.  Make
34469	sure this file is ignored by CVS.  Use fixtures for the very common
34470	task of allocating and destroying the pool used by tests.
34471
344722008-02-16  castaglia <castaglia>
34473
34474	* doc/contrib/mod_quotatab.html: Properly close the line item.
34475
344762008-02-16  castaglia <castaglia>
34477
34478	* doc/contrib/mod_quotatab.html: Mention that mod_quotatab's
34479	ScanOnLogin behavior only kicks in if the quota limit for the user
34480	includes non-zero bytes-in or files-in.
34481
344822008-02-15  castaglia <castaglia>
34483
34484	* doc/howto/CreateHome.html: Start a FAQ for CreateHome questions.
34485
344862008-02-14  castaglia <castaglia>
34487
34488	* doc/howto/CreateHome.html: List the uid and gid parameters of
34489	CreateHome, and talk about them a little.
34490
344912008-02-14  castaglia <castaglia>
34492
34493	* doc/howto/TLS.html: Add TLS FAQ on removing cert key passphrases.
34494
344952008-02-14  castaglia <castaglia>
34496
34497	* contrib/mod_sql.c: Add logging of when mod_sql decides to use the
34498	SQLDefaultUID and/or SQLDefaultGID because the uid/gid falls below
34499	the SQLMinUserUID and/or SQLMinUserGID.
34500
345012008-02-13  castaglia <castaglia>
34502
34503	* tests/.cvsignore: Ignore generated files.
34504
345052008-02-13  castaglia <castaglia>
34506
34507	* configure: Updated configure.
34508
345092008-02-13  castaglia <castaglia>
34510
34511	* config.h.in, configure.in: Update the autoconf support to define a
34512	PR_USE_TESTS macro, when testsuite support is enabled.  Some of the
34513	proftpd macro definitions will change when PR_USE_TESTS is true, to
34514	better support unit testing.
34515
345162008-02-13  castaglia <castaglia>
34517
34518	* NEWS, config.h.in, configure.in, modules/mod_cap.c: Bug#2000 -
34519	mod_cap should not use bundled libcap.  Updated autoconf to check
34520	for a system libcap, and to make proftpd NOT build and use the
34521	bundled libcap if a system libcap is present.
34522
345232008-02-13  castaglia <castaglia>
34524
34525	* tests/str.c: Fill in the unit tests for more of the string
34526	manipulation functions.
34527
345282008-02-13  castaglia <castaglia>
34529
34530	* src/str.c: Fix up the indentation/style in sreplace().  Guard
34531	against null/bad arguments.
34532
345332008-02-13  castaglia <castaglia>
34534
34535	* tests/Makefile.in, tests/env.c, tests/tests.c, tests/tests.h: Add
34536	unit tests for the Env API.
34537
345382008-02-13  castaglia <castaglia>
34539
34540	* include/pool.h, src/pool.c: Guard against bad/null inputs in the
34541	Array API, and change the signature to prevent negative counts and
34542	sizes (which would make no sense).
34543
345442008-02-13  castaglia <castaglia>
34545
34546	* tests/Makefile.in, tests/array.c, tests/tests.c, tests/tests.h:
34547	Adding unit tests for the Array API.
34548
345492008-02-13  castaglia <castaglia>
34550
34551	* src/str.c: Guard against NULL arguments in sreplace().
34552
345532008-02-12  castaglia <castaglia>
34554
34555	* configure: Updated configure.
34556
345572008-02-12  castaglia <castaglia>
34558
34559	* configure.in: Try to describe the --enable-devel option such that
34560	packagers won't use it.
34561
345622008-02-11  castaglia <castaglia>
34563
34564	* configure: Updated configure.
34565
345662008-02-11  castaglia <castaglia>
34567
34568	* Make.rules.in, Makefile.in, config.h.in, configure.in: Added
34569	support for the --enable-tests configure option, autoconf checking
34570	for the `check' package, and support for a `make check' option.
34571
345722008-02-11  castaglia <castaglia>
34573
34574	* tests/Makefile.in, tests/pool.c, tests/str.c, tests/stubs.c,
34575	tests/tests.c, tests/tests.h: Start of a testsuite for proftpd.
34576	Uses the 'check' package; see   http://check.sourceforge.net/ To enable, compile proftpd using --enable-tests.  Then run `make
34577	check' before installing.  Expect to see a lot of activity here, as proftpd gets the testsuite
34578	its desperately needed for years.
34579
345802008-02-11  castaglia <castaglia>
34581
34582	* Make.rules.in, include/conf.h, include/pool.h, include/str.h,
34583	include/support.h, src/ftpdctl.c, src/pool.c, src/str.c,
34584	src/support.c: Moving some functions out of pool.c and support.c
34585	into a new str.c object.  This is some necessary refactoring.  "Why
34586	is it necessary?" you ask.  Good question.  Because I'm about to add
34587	some testsuite support to proftpd, and writing those unit tests
34588	required some basic, long-overdue code refactoring.
34589
345902008-02-10  castaglia <castaglia>
34591
34592	* contrib/mod_ban.c, contrib/mod_ctrls_admin.c: Updated mod_ban and
34593	mod_ctrls_admin to use the re-named scoreboard entry reading
34594	function.
34595
345962008-02-10  castaglia <castaglia>
34597
34598	* include/compat.h, include/scoreboard.h, modules/mod_auth.c,
34599	modules/mod_core.c, modules/mod_xfer.c, src/data.c, src/main.c,
34600	src/scoreboard.c, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c,
34601	utils/scoreboard.c, utils/utils.h: Added a new
34602	pr_scoreboard_entry_get() function, and renamed some of the other
34603	scoreboard entry functions to match the naming convention.  This
34604	also meant adding some compatibility macros in compat.h for other
34605	modules, for now.  Also updated ftpwho and ftptop to properly display uploading,
34606	downloading, and listing commands (including handling the MLST and
34607	MLSD commands properly).  This work fell out of handling the case where dispatched commands on
34608	the control channel, while a data transfer is occurring, can change
34609	the scoreboard fields and thus cause erroneous/confusing output in
34610	ftpwho and ftptop.
34611
346122008-02-10  castaglia <castaglia>
34613
34614	* include/proctitle.h, src/data.c, src/proctitle.c: Be sure to
34615	restore the previous process title after handling a command from the
34616	control channel whilst handling a data transfer.
34617
346182008-01-30  castaglia <castaglia>
34619
34620	* include/response.h, src/data.c, src/main.c, src/response.c: Now
34621	that proftpd can handle commands on the control channel whilst doing
34622	a data transfer, it needs to be more careful of the memory pool used
34623	by the Response API.  Specifically, we don't want to lose the memory
34624	pool from the data-transferring command while handling the command
34625	from the the control channel.  Also, make sure that proftpd rejects any data transfer command from
34626	the control channel if we're already doing a data transfer.  The
34627	amount of re-plumbing that would be needed to support kicking off
34628	multiple simultaneous data transfers is quite a lot; FTP clients
34629	already work around this by establishing multiple simultaneous
34630	separate sessions.
34631
346322008-01-28  castaglia <castaglia>
34633
34634	* contrib/mod_ifsession.c: Use the session.pool, rather than
34635	main_server->pool, for merging in configurations in mod_ifsession.
34636	The session.pool is assigned as part of setting up a connection; the
34637	latter memory pool is not.
34638
346392008-01-25  castaglia <castaglia>
34640
34641	* contrib/mod_wrap.c: Quell some compiler warnings in mod_wrap.
34642
346432008-01-25  castaglia <castaglia>
34644
34645	* src/proctitle.c: Silence a compiler warning about unused variables
34646	when PR_DEVEL_STACK_TRACE is defined.
34647
346482008-01-24  castaglia <castaglia>
34649
34650	* src/netacl.c: Fix issue when trying to stringify an IP mask ACL;
34651	pstrcat() was being called with a number, not a string, as an
34652	argument.
34653
346542008-01-23  castaglia <castaglia>
34655
34656	* src/netio.c: Hmm.  Maybe some of the lingering close changes I
34657	made yesterday weren't the best.  So, for now, pare it back to
34658	logging about any read data received during a lingering close.
34659
346602008-01-23  castaglia <castaglia>
34661
34662	* src/netio.c: When performing a lingering close, the select() call
34663	actually return because there was data to be read on the socket
34664	being closed.  If that is the case, log the presence of that data
34665	using Tracing, and continue the lingering.  (Otherwise, such data will cause a premature lingering, which is not
34666	really what we want either.)
34667
346682008-01-21  castaglia <castaglia>
34669
34670	* src/main.c: Remove some tabs; no functional change.
34671
346722008-01-21  castaglia <castaglia>
34673
34674	* RELEASE_NOTES: Mention the inclusion of IPv6 support in the
34675	default build.
34676
346772008-01-21  castaglia <castaglia>
34678
34679	* README.IPv6: Updated the IPv6 README.
34680
346812008-01-21  castaglia <castaglia>
34682
34683	* configure: Updated configure.
34684
346852008-01-21  castaglia <castaglia>
34686
34687	* NEWS, configure.in, sample-configurations/basic.conf: Bug#2577 -
34688	IPv6 support should be enabled by default.
34689
346902008-01-18  castaglia <castaglia>
34691
34692	* NEWS, contrib/mod_rewrite.c: Bug#3034 - Rewritten command
34693	parameters need to be set in multiple places.
34694
346952008-01-18  castaglia <castaglia>
34696
34697	* contrib/mod_ctrls_admin.c: Silence compiler warning about unused
34698	variable.
34699
347002008-01-18  castaglia <castaglia>
34701
34702	* NEWS, include/netacl.h, src/class.c, src/netacl.c: Bug#3033 -
34703	Class rules not honoring '!' negation character.
34704
347052008-01-18  castaglia <castaglia>
34706
34707	* src/main.c: Make sure that the handling of any <Limit LOGIN>
34708	sections happens after the class of the session has been determined.
34709	Otherwise, any AllowClass/DenyClass directives within the <Limit>
34710	section will not be handled properly.
34711
347122008-01-17  castaglia <castaglia>
34713
34714	* modules/mod_facts.c: Fix some issues with the formatting of
34715	entries for the MLST and MLSD responses.  MLST entries require a
34716	leading space, as per RFC -- but MLSD entries do not.  (Also add a
34717	missing newline character in the entries.) The data connection cleanup handler appeared not to be necessary;
34718	the MLSD command handler appears to be closing the connection
34719	itself, so no need for a cleanup POST_CMD/POST_CMD_ERR handler for
34720	that.
34721
347222008-01-17  castaglia <castaglia>
34723
34724	* NEWS, src/netaddr.c: Bug#3031 - IPv4-mapped IPv6 connections not
34725	matched properly against IPv4 glob ACLs.
34726
347272008-01-16  castaglia <castaglia>
34728
34729	* modules/mod_facts.c: The mod_facts module was not properly
34730	returning a type of "cdir" if the listed path was indeed the current
34731	directory.
34732
347332008-01-16  castaglia <castaglia>
34734
34735	* src/main.c: Handle the case where the admin might define the
34736	tunable EINTR retry interval to be less than a second, e.g.:   ./configure CFLAGS=-DPR_TUNABLE_EINTR_RETRY_INTERVAL=0.5 ...  In the code which handles that value, break the defined value into
34737	usecs, and Do The Right Thing(tm).  The previous code simply assumed
34738	that the defined value would be in seconds.  The issue would only be
34739	noticed if compiler warnings were enabled and scanned; for example:   main.c:1527: warning: unsigned int format, double arg (arg 3)
34740
347412008-01-15  castaglia <castaglia>
34742
34743	* doc/howto/Logging.html: Add more substance to the note about not
34744	logging to world-writable directories (i.e. mention that proftpd
34745	will NOT do this).
34746
347472008-01-15  castaglia <castaglia>
34748
34749	* NEWS, include/modules.h, include/netio.h, src/data.c, src/main.c,
34750	src/netio.c: Bug#2999 - Data transfer not aborted when control
34751	connection is closed.  This patch adds polling of the control connection while transferring
34752	data on the data connection.  Commands sent on the control
34753	connection will be dispatched (thus delaying the data transfer);
34754	this allows handling of commands like ABOR during data transfer.  If
34755	the control connection closes during the data transfer, the data
34756	transfer is aborted.  Hopefully this will address quite a few issues
34757	related to aborting data transfers.
34758
347592008-01-15  castaglia <castaglia>
34760
34761	* contrib/mod_ratio.c: Silence some compiler warnings about
34762	uninitialized variables.
34763
347642008-01-15  castaglia <castaglia>
34765
34766	* src/data.c: Found a few more places where text needs to be marked
34767	for localisation.
34768
347692008-01-14  castaglia <castaglia>
34770
34771	* doc/contrib/mod_tls.html: Update TLSLog description to note
34772	requirement about parent directory permissions.
34773
347742008-01-14  castaglia <castaglia>
34775
34776	* include/ftp.h, modules/mod_facts.c: Add definitions of the MLSD,
34777	MLST commands to ftp.h.
34778
347792008-01-12  castaglia <castaglia>
34780
34781	* NEWS, contrib/mod_rewrite.c: Bug#3027 - Unmatched backreferences
34782	are not handled properly in RewriteRules.
34783
347842008-01-12  castaglia <castaglia>
34785
34786	* contrib/mod_rewrite.c: Additional changes needed for the full fix
34787	for Bug #3026.
34788
347892008-01-12  castaglia <castaglia>
34790
34791	* configure: Updated configure.
34792
347932008-01-12  castaglia <castaglia>
34794
34795	* configure.in: Copy-n-paste error in configure.in added erroneous
34796	line break.
34797
347982008-01-12  castaglia <castaglia>
34799
34800	* modules/mod_xfer.c: The PRIO_MIN and PRIO_MAX macros may not be
34801	defined on some platforms (e.g.  Solaris 9), so define suitable
34802	values in such cases.
34803
348042008-01-12  castaglia <castaglia>
34805
34806	* configure: Updated configure.
34807
348082008-01-12  castaglia <castaglia>
34809
34810	* configure.in: Avoid an autoconf warning when checking for
34811	<security/pam_modules.h> by including <security/pam_appl.h>, if
34812	detected.  Without this, the configure script would throw an ugly
34813	warning (e.g. on Solaris 9) about not being able to compile
34814	<security/pam_modules.h>.
34815
348162008-01-11  castaglia <castaglia>
34817
34818	* NEWS, contrib/mod_rewrite.c: Bug#3026 - RewriteCondition does not
34819	negate -d -f -s tests.
34820
348212008-01-11  castaglia <castaglia>
34822
34823	* contrib/mod_sql.c: Fix off-by-one error in mod_sql, which only
34824	cropped up in the case where a) a custom SQLUserInfo query was used, and b) that query neglected
34825	to provide a shell value.  This would lead to a segfault.
34826
348272008-01-10  castaglia <castaglia>
34828
34829	* contrib/mod_ifsession.c: Add signal handling to mod_ifsession's
34830	while loops, as proper.  Some style cleanup.  Bump the mod_ifsession
34831	version number to 1.0; there have been few bugs reported with this
34832	module, showing that it's stable.
34833
348342008-01-10  castaglia <castaglia>
34835
34836	* contrib/mod_sql.c: Remove the mod_sql code which used to support
34837	the (deprecated and removed) SQLHomedirOnDemand feature.
34838
348392008-01-10  castaglia <castaglia>
34840
34841	* configure: Updated configure.
34842
348432008-01-10  castaglia <castaglia>
34844
34845	* configure.in: Remove $0 from the PR_BUILD_OPTS; the
34846	$ac_configure_args variable already contains the string "configure",
34847	thus using $0 is redundant.
34848
348492008-01-09  castaglia <castaglia>
34850
34851	* modules/mod_log.c: Copy the improvements in mod_sql for handling
34852	of certain SQLNamedQuery variables (Bug#2889, Bug#3025) into
34853	mod_log, so that ExtendedLogs benefit from the improvements as well.
34854
348552008-01-09  castaglia <castaglia>
34856
34857	* contrib/mod_sql.c: Expand %F in SQLNamedQuery, for DELE, using
34858	dir_best_path(), rather than simply logging the name of the file as
34859	sent by the client.  (Do the same for %F and RNTO as well.)
34860
348612008-01-09  castaglia <castaglia>
34862
34863	* NEWS, contrib/mod_sql.c: Bug#3025 - Using %b in a SQLNamedQuery
34864	does not properly log the file size for DELE.
34865
348662008-01-09  castaglia <castaglia>
34867
34868	* contrib/mod_sql_odbc.c: Removed "IMHO" from comment describing
34869	Oracle library bug; it's been confirmed by Oracle.
34870
348712008-01-09  castaglia <castaglia>
34872
34873	* contrib/mod_quotatab.c: If the DELE command fails, make sure to
34874	still clear the cached file size by registerting a POST_CMD_ERR
34875	handler.  And in the PRE_CMD handler for DELE, be sure to a) UTF8 decode any
34876	path the client might be sending, and b) be sure to cache the size
34877	of the symlink file, not the pointed-to file, if the file being
34878	deleted is indeed a symlink.
34879
348802008-01-09  castaglia <castaglia>
34881
34882	* modules/mod_core.c: Explicit cast to avoid compiler warning.
34883
348842008-01-08  castaglia <castaglia>
34885
34886	* modules/mod_core.c: If multiple addresses are given using the
34887	DefaultAddress directive, make sure the log message emitted reflects
34888	this, otherwise it can be confusing (see Bug#3024).
34889
348902008-01-08  castaglia <castaglia>
34891
34892	* contrib/mod_sql_odbc.c: Work around an Oracle library bug in
34893	mod_sql_odbc, rather than in the core proftpd code, by using square
34894	brackets instead of parentheses in the process title.  More details
34895	on the issue can be found as comments in the mod_sql_odbc code.
34896
348972008-01-08  castaglia <castaglia>
34898
34899	* src/main.c: Revert back to using parentheses in the process title;
34900	the Oracle bug workaround can be done, I think, from mod_sql_odbc
34901	rather than from the core code.
34902
349032008-01-08  castaglia <castaglia>
34904
34905	* src/main.c: Change the name to which the process title is set when
34906	the daemon process is waiting to accept connections.  It's a hack, a
34907	workaround of an Oracle library bug.  Yuck.
34908
349092008-01-08  castaglia <castaglia>
34910
34911	* README.modules, RELEASE_NOTES: Mention the new database backend
34912	modules: mod_sql_odbc and mod_sql_sqlite.
34913
349142008-01-08  castaglia <castaglia>
34915
34916	* doc/contrib/mod_sql_odbc.html: Update the installation
34917	instructions for mod_sql_odbc; they are slightly different, and no
34918	longer require the use of an extra configure script.
34919
349202008-01-08  castaglia <castaglia>
34921
34922	* contrib/mod_sql_sqlite.c: Turns out there's no need to guard the
34923	definition and registration of an event handler for the
34924	'core.module-unload' event; none of the other mod_sql backend
34925	modules have guards for their module-unload event handlers.
34926
349272008-01-08  castaglia <castaglia>
34928
34929	* NEWS, contrib/mod_sql_odbc.c, doc/contrib/mod_sql_odbc.html: Add
34930	the mod_sql_odbc module to the contrib area.
34931
349322008-01-08  castaglia <castaglia>
34933
34934	* configure: Updated configure.
34935
349362008-01-08  castaglia <castaglia>
34937
34938	* configure.in: When checking for module-specific header files (and
34939	then creating symlinks to those header files into the include/
34940	area), test for existence of a file, rather than requiring both that
34941	the path exist AND be a regular file.  The difference is that a
34942	simple existence check allows for the header files to themselves be
34943	symlinks (for whatever reason).
34944
349452008-01-08  castaglia <castaglia>
34946
34947	* contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html: Make
34948	sure that mod_sql_sqlite acts properly when built as a shared
34949	module.  Update docs to mention the SQLBackend name provided by
34950	mod_sql_sqlite.
34951
349522008-01-08  castaglia <castaglia>
34953
34954	* NEWS, contrib/mod_sql_sqlite.c, doc/contrib/mod_sql_sqlite.html:
34955	Add the mod_sql_sqlite module to the contrib area.
34956
349572008-01-08  castaglia <castaglia>
34958
34959	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Typo.
34960
349612008-01-08  castaglia <castaglia>
34962
34963	* configure: Updated configure.
34964
349652008-01-08  castaglia <castaglia>
34966
34967	* configure.in: Decided I do not need the leading '$' character in
34968	the configure invocation string, for I am capricious that way.
34969
349702008-01-08  castaglia <castaglia>
34971
34972	* configure.in: I don't know why, but on this Ubuntu box, the
34973	configure arguments were not being properly written out to the
34974	generated config.h file.  I had to poke around a bit with the
34975	autoconf variables, but finally found a magic incantation to make it
34976	work.  Of course, this means it will probably stop working on some other
34977	platform; will check once this change propagates to the anon CVS
34978	server.
34979
349802008-01-07  castaglia <castaglia>
34981
34982	* configure: Update configure.
34983
349842008-01-07  castaglia <castaglia>
34985
34986	* doc/contrib/mod_sql.html: Make clearer the distinction between
34987	Unix domain sockets and TCP sockets when discussing chroot() and its
34988	effects on database connection re-opening.  Remove any mention of long-deprecated directives; they will only
34989	serve to confuse people at this point in time.
34990
349912008-01-07  castaglia <castaglia>
34992
34993	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c:
34994	Bug#3022 - Timed SQL connections don't reconnect to database.
34995
349962008-01-05  castaglia <castaglia>
34997
34998	* README.modules: Update README.modules to mention the new modules.
34999
350002008-01-05  castaglia <castaglia>
35001
35002	* configure.in: Fix issue with configure script where the
35003	command-line options were not being properly captured (before being
35004	processed to find the system name), and thus not being preserved for
35005	-V output.  Also remove any occurrence of "your" in the configure
35006	output.
35007
350082008-01-05  castaglia <castaglia>
35009
35010	* modules/mod_auth.c: There is no longer a need to stash the current
35011	class name in the config tree using the "CURRENT-CLASS" key; the
35012	current class information is available via the session.class
35013	pointer.
35014
350152008-01-05  castaglia <castaglia>
35016
35017	* contrib/mod_sql.c: Remove the unused add_virtualbool() function.
35018
350192008-01-05  castaglia <castaglia>
35020
35021	* Make.rules.in: Yet another place where we need to teach proftpd
35022	not to build the ident code as part of the core engine anymore.
35023
350242008-01-05  castaglia <castaglia>
35025
35026	* include/conf.h: Delete the now unused core ident lookup code; this
35027	functionality has been moved to the mod_ident module, as per
35028	Bug#2453.
35029
350302008-01-05  castaglia <castaglia>
35031
35032	* src/xferlog.c: Forgot to check in the changes for this file,
35033	relating to Bug#2453.  Without these, the build fails.
35034
350352008-01-05  castaglia <castaglia>
35036
35037	* contrib/mod_ban.c, contrib/mod_wrap.c, modules/mod_auth.c: Fix a
35038	few more places where text needs to be localised.
35039
350402008-01-05  castaglia <castaglia>
35041
35042	* NEWS, modules/mod_xfer.c: Bug#3023 - Allow uploading to /dev/null.
35043
350442008-01-05  castaglia <castaglia>
35045
35046	* configure: Updated configure.
35047
350482008-01-05  castaglia <castaglia>
35049
35050	* RELEASE_NOTES, doc/modules/mod_ident.html: Update documentation
35051	for the new mod_ident module.
35052
350532008-01-05  castaglia <castaglia>
35054
35055	* NEWS, configure.in, contrib/mod_sql.c,
35056	contrib/mod_wrap2/mod_wrap2.c, include/proftpd.h,
35057	modules/mod_ident.c, modules/mod_log.c, src/display.c, src/main.c:
35058	Bug#2453 - Separate RFC1413 code into mod_ident module.
35059
350602008-01-05  castaglia <castaglia>
35061
35062	* src/table.c: Calling pr_table_add_dup() and supplying a
35063	zero-length value data size should Do The Right Thing(tm) by
35064	treating the value as a string, and automatically calculating the
35065	string length, just as pr_table_add() does.
35066
350672008-01-04  castaglia <castaglia>
35068
35069	* configure: Updated configure.  (Upgraded to autoconf-2.61 as
35070	well.)
35071
350722008-01-04  castaglia <castaglia>
35073
35074	* Make.rules.in, config.h.in, configure.in, contrib/mod_tls.c,
35075	include/conf.h, modules/mod_core.c, src/main.c: Add an autoconf
35076	check for the sys/resource.h header file; this is the file which, on
35077	BSD, defines the getpriority(2) and setpriority(2) functions.  This
35078	should help the current proftpd sources in CVS to compile properly
35079	on FreeBSD.
35080
350812008-01-04  castaglia <castaglia>
35082
35083	* modules/mod_auth_unix.c: Fix compiler warning about using the
35084	wrong datatype when calling getgrouplist(2).
35085
350862008-01-04  castaglia <castaglia>
35087
35088	* src/dirtree.c: Use socklen_t, not int, for getsockopt(2) calls.
35089
350902008-01-03  castaglia <castaglia>
35091
35092	* configure: Updated configure.
35093
350942008-01-03  castaglia <castaglia>
35095
35096	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#1896
35097	- Check AIX account status.
35098
350992008-01-03  castaglia <castaglia>
35100
35101	* NEWS, contrib/mod_ratio.c: Bug#1973 - mod_ratio uses the too-small
35102	int datatype for tracking bytes.
35103
351042008-01-03  castaglia <castaglia>
35105
35106	* NEWS, contrib/mod_ratio.c: Bug#1771 - mod_ratio compile warnings.  Add better formatting, error checking, function definition, etc.
35107
351082008-01-03  castaglia <castaglia>
35109
35110	* utils/ftpcount.c, utils/ftpwho.c, utils/misc.c,
35111	utils/scoreboard.c, utils/utils.h: Clean up some unused function
35112	prototypes in the utils code, and consolidate all of the utils to
35113	use the same sstrncpy() implementation.
35114
351152008-01-03  castaglia <castaglia>
35116
35117	* modules/mod_facts.c: Fix printf(3) format warning in mod_facts.
35118
351192008-01-03  castaglia <castaglia>
35120
35121	* NEWS, modules/mod_ls.c: Bug#3020 - Server replies to NLST with 450
35122	at the wrong time.  Only open a data connection, when handling NLST,
35123	when we know that we will most likely be sending some data.
35124
351252008-01-02  castaglia <castaglia>
35126
35127	* RELEASE_NOTES: Mention the new TransferPriority directive.
35128
351292008-01-02  castaglia <castaglia>
35130
35131	* NEWS, modules/mod_xfer.c: Bug#2731 - Add ability to set process
35132	priority for file transfers.
35133
351342008-01-02  castaglia <castaglia>
35135
35136	* modules/mod_xfer.c: Need to add the name of the timer added, as
35137	per the changed Timer API.
35138
351392008-01-02  castaglia <castaglia>
35140
35141	* configure: Updated configure.
35142
351432008-01-02  castaglia <castaglia>
35144
35145	* configure.in: Missing quotation mark broke the configure script.
35146
351472008-01-02  castaglia <castaglia>
35148
35149	* contrib/mod_tls.c: Pay attention to the TLSRandomSeed file, if
35150	configured, and log whenever mod_tls does not have sufficient PRNG
35151	seed data (as per the RAND_status() OpenSSL API).
35152
351532008-01-02  castaglia <castaglia>
35154
35155	* NEWS, contrib/mod_sql.c: Bug#2889 - Update SQLLog so that RNTO
35156	stores the path when using the %F variable.
35157
351582008-01-02  castaglia <castaglia>
35159
35160	* NEWS, modules/mod_auth.c, src/auth.c: Bug#2997 - Uploading files
35161	with "~" causes harmless but annoying log message.
35162
351632008-01-01  jwm <jwm>
35164
35165	* contrib/mod_ldap.c: happy new year
35166
351672008-01-01  jwm <jwm>
35168
35169	* contrib/mod_ldap.c: release v2.8.18: * Remove all local caching code in favor of the recently added
35170	  caching in the ProFTPD Auth layer.  * Silence some compiler warnings.
35171
351722007-12-31  castaglia <castaglia>
35173
35174	* include/proftpd.h, modules/mod_auth.c, modules/mod_xfer.c,
35175	src/data.c, src/main.c: Move the TIMER_ macros into the PR_
35176	namespace, for cleanliness.
35177
351782007-12-31  castaglia <castaglia>
35179
35180	* NEWS, include/data.h, include/dirtree.h, modules/mod_core.c,
35181	modules/mod_xfer.c, src/data.c, src/dirtree.c, src/main.c: Bug#2741
35182	- Apply TimeoutNoTransfer, TimeoutStalled, TimeoutIdle to
35183	<Anonymous> section.
35184
351852007-12-31  castaglia <castaglia>
35186
35187	* RELEASE_NOTES, doc/modules/mod_auth_pam.html: Updated
35188	documentation.
35189
351902007-12-31  castaglia <castaglia>
35191
35192	* NEWS, modules/mod_auth_pam.c: Bug#3014 - Optionally set PAM_TTY
35193	item when using PAM.
35194
351952007-12-31  castaglia <castaglia>
35196
35197	* doc/rfc/rfc2640.txt: Add RFC2640 to the docs collection.
35198
351992007-12-31  castaglia <castaglia>
35200
35201	* configure: Updated configure.
35202
352032007-12-31  castaglia <castaglia>
35204
35205	* modules/mod_facts.c: No need to include the URLs to the RFC and
35206	Draft implemented by this module; they are in the mod_facts module
35207	documentation now.
35208
352092007-12-31  castaglia <castaglia>
35210
35211	* NEWS, config.h.in, configure.in, include/dirtree.h,
35212	include/options.h, modules/mod_xfer.c, src/data.c, src/dirtree.c,
35213	src/main.c: Bug#2874 - Data transfer buffers should be allocated at
35214	startup, not at compile time.
35215
352162007-12-31  castaglia <castaglia>
35217
35218	* NEWS, modules/mod_xfer.c: Bug#3003 - Fallback to normal
35219	transmission in case of sendfile EOVERFLOW error missing.
35220
352212007-12-31  castaglia <castaglia>
35222
35223	* RELEASE_NOTES: Updating the release notes.
35224
352252007-12-31  castaglia <castaglia>
35226
35227	* NEWS, modules/mod_auth.c: Bug#2894 - Mark the AnonymousGroup
35228	directive as deprecated, to be removed in a future release.
35229
352302007-12-31  castaglia <castaglia>
35231
35232	* doc/modules/mod_facts.html: Adding documentation (though brief)
35233	for the new mod_facts module.
35234
352352007-12-31  castaglia <castaglia>
35236
35237	* doc/rfc/draft-somers-ftp-mfxx-03.txt, doc/rfc/rfc3659.txt: Adding
35238	RFC3659 (which supercedes an Internet Draft on MLST), and adding an
35239	Internet Draft defining the MFF and MFMT commands.
35240
352412007-12-31  castaglia <castaglia>
35242
35243	* configure: Updated configure.
35244
352452007-12-31  castaglia <castaglia>
35246
35247	* NEWS, configure.in, modules/mod_facts.c: Bug#3015 - Support for
35248	RFC3659.  The mod_facts module is now part of the default proftpd
35249	build, providing the MLSD, MLST commands from RFC3659 as well as the
35250	MFF and MFMT commands from an Internet Draft.
35251
352522007-12-31  castaglia <castaglia>
35253
35254	* NEWS, modules/mod_auth.c: Bug#3019 - DisplayLogin in <Anonymous>
35255	section not displayed properly.
35256
352572007-12-22  castaglia <castaglia>
35258
35259	* modules/mod_lang.c: Pedantic correction of indentation, so that it
35260	is consistent with the style of the rest of the file.
35261
352622007-12-22  castaglia <castaglia>
35263
35264	* src/inet.c: Enable the SO_KEEPALIVE option on sockets used by
35265	proftpd.  This will enable the TCP keepalive messages which help to
35266	determine if the peer host (as opposed to the peer program) have
35267	crashed.
35268
352692007-12-18  castaglia <castaglia>
35270
35271	* NEWS, contrib/mod_tls.c: Bug#3013 - "TLSOptions AllowPerUser" not
35272	working as expected.
35273
352742007-12-18  castaglia <castaglia>
35275
35276	* modules/mod_site.c: Typo.
35277
352782007-12-18  castaglia <castaglia>
35279
35280	* modules/mod_auth.c: Make sure to localise strings sent via
35281	pr_response_send().
35282
352832007-12-15  castaglia <castaglia>
35284
35285	* modules/mod_core.c: Update the comments for the MDTM handler,
35286	noting that it is an official command as per RFC3659.  Also make
35287	sure to initialize the entire buffer used to construct the response
35288	timestamp.
35289
352902007-12-12  castaglia <castaglia>
35291
35292	* NEWS, contrib/mod_site_misc.c, doc/contrib/mod_site_misc.html:
35293	Bug#3012 - SITE UTIME should support YYYYMMDDhhmmss format.
35294
352952007-12-10  castaglia <castaglia>
35296
35297	* contrib/mod_tls.c: Bug#3011: "TLSRequired !data" configuration
35298	does not allow PROT C.  If the TLSRequired directive policy does not explicitly require
35299	SSL/TLS protection on the data channel, then allow any PROT C
35300	requests from clients.
35301
353022007-11-16  castaglia <castaglia>
35303
35304	* NEWS, src/data.c: Bug#3001 - Incomplete downloads not logged
35305	properly in TransferLog if sendfile is used.
35306
353072007-11-16  castaglia <castaglia>
35308
35309	* contrib/mod_site_misc.c: Thomas L. Shinnick rightly pointed out
35310	the bugs involved here, when using <Limit> configurations for the
35311	SITE commands provided by the mod_site_misc module.
35312
353132007-11-15  castaglia <castaglia>
35314
35315	* NEWS, contrib/mod_quotatab.c: Bug#3006 - 'ScanOnLogin' QuotaOption
35316	may try to update a nonexistent tally record.
35317
353182007-11-15  castaglia <castaglia>
35319
35320	* NEWS, contrib/mod_quotatab.c: Bug#3004 - 'ScanOnLogin' QuotaOption
35321	does not honor QuotaDirectoryTally directive.
35322
353232007-11-15  castaglia <castaglia>
35324
35325	* src/main.c: Use REG_RIP for 64-bit machines, rather than REG_EIP,
35326	if the 'stacktrace' --enable-devel configure option is used.
35327
353282007-11-15  castaglia <castaglia>
35329
35330	* NEWS, src/data.c, src/netio.c: Bug#3005 - OOB abort closes the
35331	control connection.
35332
353332007-10-26  castaglia <castaglia>
35334
35335	* doc/modules/mod_lang.html: Update the LangEngine docs to mention
35336	that that is the directive which governs the appearance of "UTF8" in
35337	response to a FEAT command -- not the UseUTF8 directive.
35338
353392007-10-25  castaglia <castaglia>
35340
35341	* modules/Makefile.in: Be sure to clean up any .a archive files
35342	around as well.
35343
353442007-10-22  castaglia <castaglia>
35345
35346	* contrib/mod_ban.c, contrib/mod_dynmasq.c,
35347	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
35348	contrib/mod_tls.c, include/timers.h, modules/mod_auth.c,
35349	modules/mod_core.c, modules/mod_ctrls.c, modules/mod_xfer.c,
35350	src/data.c, src/ident.c, src/main.c, src/timers.c: Changed the
35351	pr_timer_add() function to take a 'desc' string, for describing the
35352	timer being added.  This description is logged in the trace logging
35353	of timers.
35354
353552007-10-18  castaglia <castaglia>
35356
35357	* NEWS: Typo.
35358
353592007-10-17  castaglia <castaglia>
35360
35361	* NEWS, contrib/mod_tls.c: Bug#2996 - Requirement for same OpenSSL
35362	header, library version in mod_tls too restrictive.
35363
353642007-10-16  castaglia <castaglia>
35365
35366	* RELEASE_NOTES: Add more release notes fragments, to be filled in
35367	more detail later.
35368
353692007-10-16  castaglia <castaglia>
35370
35371	* NEWS, modules/mod_core.c: Bug#2995 - The %f LogFormat variable
35372	expanded to same file for RNFR and RNTO.
35373
353742007-10-16  castaglia <castaglia>
35375
35376	* src/main.c: Add some missing (albeit sometimes unnecessary)
35377	'break' statements.
35378
353792007-10-16  castaglia <castaglia>
35380
35381	* src/main.c: Remove crufty unused ElectricFence code.
35382
353832007-10-15  castaglia <castaglia>
35384
35385	* configure: Updated configure.
35386
353872007-10-15  castaglia <castaglia>
35388
35389	* config.h.in, configure.in, src/main.c: Enhance the proftpd -V
35390	output to include the directory where the proftpd header files are
35391	installed, for DSO-enabled proftpds.  This will be used by the prxs
35392	tool (see Bug#2991).
35393
353942007-10-15  castaglia <castaglia>
35395
35396	* NEWS, modules/mod_log.c: Bug#2992 - The %f LogFormat variable
35397	expanded improperly to "-" for SITE CHMOD.
35398
353992007-10-15  castaglia <castaglia>
35400
35401	* configure: Updated configure.
35402
354032007-10-15  castaglia <castaglia>
35404
35405	* NEWS, acconfig.h, config.h.in, configure.in: Bug#2993 - Unable to
35406	compile 1.3.1 on Debian unstable/amd64.
35407
354082007-10-15  castaglia <castaglia>
35409
35410	* NEWS, RELEASE_NOTES, include/modules.h, src/main.c, src/modules.c:
35411	Bug#2937 - Should list modules (with versions) for modules loaded as
35412	DSOs.
35413
354142007-10-15  castaglia <castaglia>
35415
35416	* doc/howto/DSO.html: Update the DSO doc with better instructions,
35417	after having run through them myself.
35418
354192007-10-14  castaglia <castaglia>
35420
35421	* Make.rules.in, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c,
35422	utils/misc.c, utils/utils.h: Factor out the function used to scan
35423	the config file for the ScoreboardFile directive from three of the
35424	utilities into a single common location.  This is groundwork for
35425	making it possible to scan the config file for other directives as
35426	well.
35427
354282007-10-14  castaglia <castaglia>
35429
35430	* contrib/mod_tls.c: Explicitly cast one of the tls_log() arguments
35431	to an unsigned int, to silence compilers warning of mismatched
35432	printf arguments.
35433
354342007-10-14  castaglia <castaglia>
35435
35436	* src/auth.c: Refactor the code for creating and adding to the
35437	idcache tables into separate functions.  This makes it easier to add
35438	to those caches in the auth_getpwnam() and auth_getgrnam()
35439	functions.
35440
354412007-10-13  castaglia <castaglia>
35442
35443	* contrib/mod_tls.c: If the TLSCryptoDevice handling code is in the
35444	session initialization code path, then the directive can once again
35445	be vhost-specific.
35446
354472007-10-13  castaglia <castaglia>
35448
35449	* configure: Update configure.
35450
354512007-10-13  castaglia <castaglia>
35452
35453	* config.h.in, configure.in, modules/mod_ctrls.c, src/ctrls.c: More
35454	work towards Bug #2386.  In this, I found that Solaris 10 has a
35455	getpeerucred(3) function, which can be used for obtaining
35456	kernel-enforced credentials for the peer on the other end of a Unix
35457	domain socket.
35458
354592007-10-13  castaglia <castaglia>
35460
35461	* contrib/mod_radius.c, include/auth.h, modules/mod_auth_pam.c,
35462	src/auth.c: More work towards Bug #2989.  Adds a new
35463	pr_auth_add_auth_only_module() function, to be used by modules that
35464	are auth-only "yes/no" style of modules (e.g. mod_auth_pam).  This
35465	presents a better solution for the issue.
35466
354672007-10-12  castaglia <castaglia>
35468
35469	* NEWS, contrib/mod_radius.c, include/auth.h, src/auth.c: Bug#2989 -
35470	Unable to authenticate users if RadiusUserInfo is not configured.
35471
354722007-10-12  castaglia <castaglia>
35473
35474	* contrib/mod_tls.c: Style cleanup; no functional changes.
35475
354762007-10-12  castaglia <castaglia>
35477
35478	* NEWS, contrib/mod_tls.c: Bug#2990 - TLSCryptoDevice does not work.
35479
354802007-10-11  castaglia <castaglia>
35481
35482	* doc/howto/ConfigurationTricks.html: Add note about how different
35483	PassivePorts are not needed for different proftpd instances.
35484
354852007-10-11  castaglia <castaglia>
35486
35487	* RELEASE_NOTES: Mention mod_unique_id in the release notes.
35488
354892007-10-11  castaglia <castaglia>
35490
35491	* doc/contrib/mod_unique_id.html: Update the mod_unique_id for its
35492	new home, and add an example of using the UNIQUE_ID environment
35493	variable in a SQL table.
35494
354952007-10-11  castaglia <castaglia>
35496
35497	* NEWS, contrib/mod_unique_id.c, doc/contrib/index.html,
35498	doc/contrib/mod_unique_id.html: Added the mod_unique_id contrib
35499	module.
35500
355012007-10-11  castaglia <castaglia>
35502
35503	* contrib/mod_dynmasq.c: Use the PR_ macro namespace.
35504
355052007-10-11  castaglia <castaglia>
35506
35507	* contrib/mod_tls.c: Had checking for <Limit> on PROT command in the
35508	wrong place.  Oops.
35509
355102007-10-11  castaglia <castaglia>
35511
35512	* RELEASE_NOTES, doc/contrib/mod_tls.html: Document the new
35513	TLSRequired policy configurations.
35514
355152007-10-11  castaglia <castaglia>
35516
35517	* NEWS, contrib/mod_tls.c: Bug#2968 - Ability to allow protection on
35518	control channel, but reject protection on data channel.
35519
355202007-10-11  castaglia <castaglia>
35521
35522	* RELEASE_NOTES: Start of a new release notes doc for the 1.3.2
35523	series.
35524
355252007-10-11  castaglia <castaglia>
35526
35527	* doc/contrib/index.html: The mod_ban module was not in the contrib
35528	index list.  Oops.
35529
355302007-10-11  castaglia <castaglia>
35531
35532	* doc/contrib/mod_dynmasq.html: Updating the mod_dynmasq docs for
35533	their new home.
35534
355352007-10-11  castaglia <castaglia>
35536
35537	* NEWS, contrib/mod_dynmasq.c, doc/contrib/index.html,
35538	doc/contrib/mod_dynmasq.html: Adding the mod_dynmasq module to the
35539	source distribution.
35540
355412007-10-11  castaglia <castaglia>
35542
35543	* doc/howto/ConfigurationTricks.html, doc/howto/index.html: Adding
35544	ConfigurationTricks doc to source distribution.
35545
355462007-10-11  castaglia <castaglia>
35547
35548	* src/ctrls.c: Use "credentials" consistently, not the lazy "creds",
35549	in log messages.
35550
355512007-10-11  castaglia <castaglia>
35552
35553	* configure: Updating configure.
35554
355552007-10-11  castaglia <castaglia>
35556
35557	* NEWS, config.h.in, configure.in, include/ctrls.h,
35558	modules/mod_ctrls.c, src/ctrls.c: Bug#2386 - Controls should use
35559	kernel-enforced credentials where possible.
35560
355612007-10-10  castaglia <castaglia>
35562
35563	* src/ctrls.c: Revert back to using debug logging, rather than trace
35564	logging, for the Unix socket detection tests.  Trace logging will
35565	not have been initialized when Controls are initialized, so any
35566	trace logging done in init_ctrls() was being ignored/lost.
35567
355682007-10-10  castaglia <castaglia>
35569
35570	* contrib/mod_ban.c: Turns out that testing for the _POSIX_SOURCE
35571	macro is a better way of knowing which typecast to use for shmdt(2).
35572
355732007-10-10  castaglia <castaglia>
35574
35575	* contrib/mod_ban.c: Solaris' shmdt(2) wants a char *, not a const
35576	void * -- and the compiler complains every time mod_ban is compiled.
35577	Easy enough to fix that with a proper cast, but just for Solaris.
35578
355792007-10-10  castaglia <castaglia>
35580
35581	* contrib/mod_ban.c: Seems that Solaris' getopt implementation
35582	prefers resetting the optind variable to 1, rather than zero, in
35583	order to reset the getopt(3) function.
35584
355852007-10-10  castaglia <castaglia>
35586
35587	* modules/mod_auth_unix.c: Remove the caching that mod_auth_unix
35588	did, for the ID-to-name lookups.  This caching is now being handled
35589	at a higher layer, in the Auth API.
35590
355912007-10-09  castaglia <castaglia>
35592
35593	* src/netaddr.c: Make sure that trace logging is done *before* the
35594	temporary pool (from which one of the netaddr objects may have been
35595	allocated) is freed.  Otherwise we might log garbage day, or trigger
35596	a segfault.
35597
355982007-10-09  castaglia <castaglia>
35599
35600	* src/netaddr.c: Add trace logging for when comparing netaddrs
35601	yields no match, for completeness.
35602
356032007-10-09  castaglia <castaglia>
35604
35605	* NEWS, modules/mod_xfer.c: Bug#2982 - Support limit on number of
35606	simultaneous file transfers from one client.
35607
356082007-10-09  castaglia <castaglia>
35609
35610	* NEWS, contrib/mod_wrap2_file.c: Bug#2988 - mod_wrap2_file ignores
35611	"ALL" keyword.
35612
356132007-10-08  castaglia <castaglia>
35614
35615	* NEWS, src/auth.c: Bug#2986 - Authoritative PAM is not honored.
35616
356172007-10-08  castaglia <castaglia>
35618
35619	* NEWS, contrib/mod_ban.c: Bug#2987 - Verbose ban information (i.e.
35620	'ftpdctl ban info -v') not working on FreeBSD.
35621
356222007-10-05  castaglia <castaglia>
35623
35624	* doc/contrib/mod_ban.html: Document the new ClientConnectRate
35625	BanOnEvent rule.
35626
356272007-10-05  castaglia <castaglia>
35628
35629	* NEWS, contrib/mod_ban.c: Bug#2979 - Ability to ban clients which
35630	connect too often.
35631
356322007-10-05  castaglia <castaglia>
35633
35634	* modules/mod_core.c: Removing support for the deprecated
35635	DisplayFirstChdir directive; it has been replaced with the
35636	DisplayChdir directive.
35637
356382007-10-05  castaglia <castaglia>
35639
35640	* contrib/mod_sql.c: Removing deprecated SQLHomedirOnDemand
35641	directive; it has been superceded by the CreateHome directive.
35642
356432007-10-05  castaglia <castaglia>
35644
35645	* modules/mod_xfer.c: Removing support for the deprecated HiddenStor
35646	directive; it has been superceded by the HiddenStores directive.
35647
356482007-10-05  castaglia <castaglia>
35649
35650	* doc/contrib/mod_ctrls_admin.html: Document the new 'dns clear
35651	cache' ftpdctl command.
35652
356532007-10-05  castaglia <castaglia>
35654
35655	* NEWS, contrib/mod_ctrls_admin.c, include/netaddr.h,
35656	src/ftpdctl.c, src/main.c, src/netaddr.c: Bug#2925 - Add caching of
35657	IP address and DNS name lookups.
35658
356592007-10-05  castaglia <castaglia>
35660
35661	* src/auth.c: Forgot semicolon.
35662
356632007-10-05  castaglia <castaglia>
35664
35665	* NEWS, include/auth.h, src/auth.c, src/table.c: Bug#2984 -
35666	mod_auth_file uid2name() does not cache results causing slow LIST
35667	response.
35668
356692007-10-05  castaglia <castaglia>
35670
35671	* configure: Updating configure.
35672
356732007-10-05  castaglia <castaglia>
35674
35675	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c: Bug#2983
35676	- Use getgrouplist(3) for group lookup, if available.
35677
356782007-10-05  castaglia <castaglia>
35679
35680	* NEWS, modules/mod_xfer.c: Bug#2969 - Allow APPE after REST.
35681
356822007-10-05  castaglia <castaglia>
35683
35684	* doc/contrib/mod_tls.html: Document the new EnableDiags TLSOption.
35685
356862007-10-05  castaglia <castaglia>
35687
35688	* NEWS, contrib/mod_tls.c: Bug#2978 - Support more verbose OpenSSL
35689	diagnostic logging.
35690
356912007-10-05  castaglia <castaglia>
35692
35693	* include/version.h: Start of a new release cycle (1.3.2).
35694
356952007-10-05  castaglia <castaglia>
35696
35697	* NEWS: Forgot to update NEWS with the release time.
35698
356992007-10-05  castaglia <castaglia>
35700
35701	* ChangeLog: Updating the ChangeLog.
35702
357032007-10-05  castaglia <castaglia>
35704
35705	* doc/Configuration.html: Updating the HTML page with the
35706	configuration directives.  Also added a PDF copy of the same
35707	information (thanks Sven!).
35708
357092007-10-05  castaglia <castaglia>
35710
35711	* contrib/dist/rpm/proftpd.spec, include/version.h: Updating version
35712	for 1.3.1-stable.
35713
357142007-10-04  castaglia <castaglia>
35715
35716	* contrib/mod_tls.c: Log a PID as an explicit unsigned int, not an
35717	implicit int.  Quells a compiler warning about mismatched printf
35718	arguments.
35719
357202007-10-04  castaglia <castaglia>
35721
35722	* src/env.c: Quell a compiler warning about casting away the const
35723	qualifier, on systems which support the putenv(3) function.
35724
357252007-10-04  castaglia <castaglia>
35726
35727	* RELEASE_NOTES: Updating the release notes, preparing for a
35728	release.
35729
357302007-10-04  castaglia <castaglia>
35731
35732	* NEWS, contrib/dist/rpm/ftp.pamd, contrib/dist/rpm/proftpd.spec:
35733	Bug#2795 - Improvements to RPM .spec file to build more of the
35734	modules, plus better optional packaging organization.
35735
357362007-10-04  castaglia <castaglia>
35737
35738	* include/table.h: Correct comment in table.h.
35739
357402007-10-02  castaglia <castaglia>
35741
35742	* doc/howto/TLS.html: Add mention of RFC 2228, and URL, to TLS doc.
35743
357442007-10-01  castaglia <castaglia>
35745
35746	* modules/mod_delay.c: Update the trace message for the other
35747	location in mod_delay where the DelayTable is mapped into memory.
35748
357492007-10-01  castaglia <castaglia>
35750
35751	* modules/mod_delay.c: Log the table size, and the table fd, when
35752	attempting to map a DelayTable into memory.
35753
357542007-10-01  castaglia <castaglia>
35755
35756	* doc/modules/mod_delay.html: Change to using relative URLs, so that
35757	the documentation can be used outside of a network connection.
35758
357592007-10-01  castaglia <castaglia>
35760
35761	* doc/modules/mod_delay.html: Add notes about mod_delay usage to the
35762	mod_delay documentation.
35763
357642007-09-30  castaglia <castaglia>
35765
35766	* src/timers.c: Catch edge case where the timers list may be
35767	empty/null.
35768
357692007-09-30  castaglia <castaglia>
35770
35771	* NEWS, src/main.c: Bug#2981 - Command-line long options --ipv4 and
35772	--ipv6 do not work.
35773
357742007-09-28  castaglia <castaglia>
35775
35776	* modules/mod_ls.c: If an FTP client aborted the data transfer
35777	during a directory listing, then a 226 response would be sent
35778	*twice*, e.g.:   226 Transfer complete   226 Abort successful would be seen, using the ftp(1) client.  The problem was that
35779	mod_ls, when closing its data connection, did not check to see if
35780	the transfer had been aborted.  Aborted transfers should cause the
35781	data connection to be closed "quietly", i.e. no sending of the
35782	"Transfer complete" message.  With this change, mod_ls now checks for an aborted transfer, and
35783	will close the data connection "quietly" when appropriate, thus
35784	eliminating the duplicate 226 responses.
35785
357862007-09-28  castaglia <castaglia>
35787
35788	* modules/mod_ls.c: Cut down on logging an error if errno indicates
35789	"success"; usually this happens when the client aborted the
35790	directory listing.
35791
357922007-09-27  castaglia <castaglia>
35793
35794	* modules/mod_xfer.c: Add some tracing to aborted transfers.
35795
357962007-09-27  castaglia <castaglia>
35797
35798	* src/trace.c: Add the 'xfer' channel to the list of default trace
35799	channels.
35800
358012007-09-25  castaglia <castaglia>
35802
35803	* contrib/mod_tls.c: No need to report on system call errors of
35804	"Success".
35805
358062007-09-25  castaglia <castaglia>
35807
35808	* contrib/mod_tls.c: Allow handling of the PROT command after the
35809	CCC command has been used.  One particular FTPS client (lftp) is
35810	known to send PROT (again) after CCC.
35811
358122007-09-19  castaglia <castaglia>
35813
35814	* doc/howto/TLS.html: Minor formatting tweak.
35815
358162007-09-19  castaglia <castaglia>
35817
35818	* doc/howto/TLS.html: Add FAQ about a commonly-seen error in the
35819	TLSLog, and how using the NoCertRequest TLSOption may help.
35820
358212007-09-17  castaglia <castaglia>
35822
35823	* NEWS, modules/Makefile.in: Bug#2974 - Install error if multiple
35824	modules, using their own build script, are built as shared modules.
35825
358262007-09-14  castaglia <castaglia>
35827
35828	* modules/mod_core.c: When handling an EPSV command, close any
35829	existing data connection first.  Related to Bug #2900.
35830
358312007-09-13  castaglia <castaglia>
35832
35833	* contrib/mod_tls.c: Just as we don't want to call EVP_cleanup(3) at
35834	session initialization time if there are other OpenSSL-using modules
35835	around, we don't want to unload the human-readable OpenSSL error
35836	strings, either.
35837
358382007-09-13  castaglia <castaglia>
35839
35840	* contrib/mod_tls.c: Alter the conditions under which mod_tls calls
35841	EVP_cleanup(3).  Call the function when mod_tls is being unloaded,
35842	or when the session is exiting, without reservation.  If however the
35843	FTP session is being initialized, and mod_tls has been compiled but
35844	not enabled (i.e. the TLSEngine is off or not present), *and* any
35845	other known OpenSSL using modules (i.e.  mod_ldap and mod_sql) are
35846	present, do NOT call EVP_cleanup().  Doing so might deprive those
35847	other modules of OpenSSL functionality unnecessarily.  Patch suggested by Nigel Kukard a while ago.
35848
358492007-09-13  castaglia <castaglia>
35850
35851	* contrib/mod_sql.c: Adding some logging about various error cases
35852	when using OpenSSL digests for authentication; these were
35853	contributed by Nigel Kukard a while ago.
35854
358552007-09-13  castaglia <castaglia>
35856
35857	* modules/mod_dso.c: Fix compiler warning about redeclaring a
35858	variable if Controls support is enabled.
35859
358602007-09-12  castaglia <castaglia>
35861
35862	* doc/howto/Vhost.html: Remove mention of the now-deprecated Bind
35863	directive.
35864
358652007-09-12  castaglia <castaglia>
35866
35867	* contrib/mod_tls.c: When initializing mod_tls, check the version of
35868	the OpenSSL headers used against the version of the OpenSSL library
35869	used.  Refuse to load the module unless the versions match properly.
35870	(This will help catch systems where mismatched versions of headers
35871	and libraries are used inadvertently.)
35872
358732007-09-11  castaglia <castaglia>
35874
35875	* modules/mod_dso.c: Add trace logging of the succesful loading of
35876	modules/files.
35877
358782007-09-11  castaglia <castaglia>
35879
35880	* modules/mod_core.c: If the admin has specified "UseUTF8 off" in
35881	the proftpd.conf file, be sure to remove the UTF8 listing from the
35882	FEAT output.  Otherwise, clients might be a little confused.
35883
358842007-09-11  castaglia <castaglia>
35885
35886	* contrib/mod_sql.c: Cast the off_t value of total_xfer_bytes
35887	properly, and quell warnings from picky compilers.
35888
358892007-09-11  castaglia <castaglia>
35890
35891	* src/log.c: When writing to utmp/wtmp logs, we're really not
35892	concerned if we fail to truncate the file as requested.
35893
358942007-09-11  castaglia <castaglia>
35895
35896	* modules/mod_log.c: If there was a problem writing to the
35897	ExtendedLog fd, be sure to log it using proftpd's logging (and hope
35898	that that write() succeeds).
35899
359002007-09-11  castaglia <castaglia>
35901
35902	* modules/mod_delay.c: Inform picky compilers that we will be
35903	ignoring the return value from write(2).  This may not be the best
35904	behavior, but it is what we are doing.
35905
359062007-09-11  castaglia <castaglia>
35907
35908	* modules/mod_xfer.c: Make sure to cast the restart_pos value (an
35909	off_t), in order to satisfy picky compilers.
35910
359112007-09-10  castaglia <castaglia>
35912
35913	* contrib/dist/rpm/proftpd.spec: Fix syntax of RPM options for some
35914	modules.
35915
359162007-09-08  castaglia <castaglia>
35917
35918	* contrib/dist/rpm/proftpd.spec: Update the RPM spec file to include
35919	the mod_wrap2 modules, mod_ban, mod_ctrls_admin, mod_site_misc, and
35920	the NLS capability.
35921
359222007-09-07  jwm <jwm>
35923
35924	* contrib/mod_ldap.c: Fix anonymous binds when
35925	draft-ietf-ldapext-ldap-c-api-04 functions are used.  Submitted by: Quentin Garnier <cube@cubidou.net>
35926
359272007-09-04  castaglia <castaglia>
35928
35929	* contrib/mod_tls.c: The implementation of the fix for Bug #2686
35930	missed a few places where we need to lookup one of the TLSRequired
35931	settings.
35932
359332007-08-30  castaglia <castaglia>
35934
35935	* modules/mod_xfer.c: Clean up the code style in the xfer_stor()
35936	function.  Also add logging of the case where an lseek() fails for
35937	some reason.
35938
359392007-08-29  castaglia <castaglia>
35940
35941	* doc/howto/SQL.html: Added SQL FAQ about shared library loader
35942	errors.
35943
359442007-08-24  castaglia <castaglia>
35945
35946	* doc/howto/Debugging.html: Mention using `proftpd -V' in the
35947	Debugging howto.
35948
359492007-08-22  castaglia <castaglia>
35950
35951	* src/fsio.c, src/netio.c: Surround the invocation of function
35952	pointers with parentheses, to help some (broken, IMHO) code
35953	introspection tools to be able to read the code better.
35954
359552007-08-22  jwm <jwm>
35956
35957	* contrib/mod_ldap.c: missed version number
35958
359592007-08-21  castaglia <castaglia>
35960
35961	* NEWS, lib/sstrncpy.c: Bug#2964 - Building RPM fails because of
35962	*snprintf trying to be redefined.
35963
359642007-08-17  jwm <jwm>
35965
35966	* contrib/mod_ldap.c: release 2.8.17
35967
359682007-08-09  castaglia <castaglia>
35969
35970	* NEWS, modules/mod_ls.c: Bug#2963 - Use of -A option for LIST/NLST
35971	commands not cleared for subsequent commands.
35972
359732007-08-09  castaglia <castaglia>
35974
35975	* README.facl: Remove extraneous whitespace.
35976
359772007-08-03  castaglia <castaglia>
35978
35979	* NEWS, contrib/mod_wrap2/mod_wrap2.c,
35980	contrib/mod_wrap2/mod_wrap2.h.in, contrib/mod_wrap2_file.c,
35981	contrib/mod_wrap2_sql.c: Bug#2958 - mod_wrap2 does not handle
35982	multiple rules in access files.
35983
359842007-07-31  castaglia <castaglia>
35985
35986	* modules/mod_auth.c: Coding style changes; no functional change.
35987
359882007-07-31  castaglia <castaglia>
35989
35990	* NEWS, modules/mod_delay.c: Bug#2955 - Undeclared identifier
35991	MAP_FAILED for mod_delay on AIX.
35992
359932007-07-24  castaglia <castaglia>
35994
35995	* NEWS, src/dirtree.c: Bug#2950 - Hostname with multiple IP
35996	addresses might cause "ai_family not supported" error if IPv6
35997	support enabled.
35998
359992007-07-19  castaglia <castaglia>
36000
36001	* NEWS, src/proctitle.c: Bug#2947 - SIGBUS on Mac OS X when
36002	dynamically loading shared libs.  The solution is to set argv
36003	elements to the empty string, rather than NULL, so that stupid
36004	libraries which grovel around in argv without checking for NULL
36005	pointers don't crash.  Silly libraries.
36006
360072007-07-18  castaglia <castaglia>
36008
36009	* NEWS, modules/mod_facl.c: Bug#2946 - Anonymous logins fail if the
36010	mod_facl module is enabled.
36011
360122007-07-07  jwm <jwm>
36013
36014	* contrib/mod_ldap.c:   mod_ldap 2.8.17-20070707:     fix LDAPServer handling; config_rec argv arrays don't contain
36015	    the directive name in index 0.
36016
360172007-07-06  castaglia <castaglia>
36018
36019	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Correct
36020	misspellings.
36021
360222007-07-06  castaglia <castaglia>
36023
36024	* NEWS, contrib/mod_sql_mysql.c: Bug#2944 - mod_sql_mysql fails to
36025	compile due to missing quotation.
36026
360272007-07-05  castaglia <castaglia>
36028
36029	* NEWS, include/version.h: Reset files for 1.3.1rc4.
36030
360312007-07-04  castaglia <castaglia>
36032
36033	* ChangeLog: Updating ChangeLog.
36034
360352007-07-04  castaglia <castaglia>
36036
36037	* contrib/dist/rpm/proftpd.spec, include/version.h: Preparing for
36038	1.3.1rc3 release.
36039
360402007-07-04  castaglia <castaglia>
36041
36042	* RELEASE_NOTES: Updating the release notes, getting ready for a
36043	release.
36044
360452007-07-04  castaglia <castaglia>
36046
36047	* contrib/mod_wrap2_file.c: A recent innocuous change to
36048	mod_wrap2_file turned out to be not so innocuous; a static buffer
36049	was made non-static, and terror and madness ensued.  To fix this
36050	(and avoid the distasteful static buffer), mod_wrap2_file now makes
36051	duplicates of the parsed buffers using the table pool (for just such
36052	purposes).  This patch also cleans up the handling of the service
36053	and client lists in the file.
36054
360552007-07-02  jwm <jwm>
36056
36057	* contrib/mod_ldap.c: 2.8.17-20070701:   don't use a separate directive (LDAPURL) to specify LDAP URLs;
36058	  support them in LDAPServer instead - add ldap url support, via the LDAPURL directive - add ldaps (ldap over ssl) support, via the LDAPUseSSL directive
36059	  and ldaps:// scheme to LDAPURL - refine tls debugging statement
36060
360612007-07-02  castaglia <castaglia>
36062
36063	* RELEASE_NOTES: Updating release notes.
36064
360652007-07-02  castaglia <castaglia>
36066
36067	* contrib/mod_wrap2/mod_wrap2.c: Make sure that mod_wrap2 honors the
36068	runtime UseIPv6 configuration directive.
36069
360702007-06-28  castaglia <castaglia>
36071
36072	* doc/howto/Timestamps.html: Add a little more substance to the
36073	Timestamps howto, to remind readers that they need to think for
36074	themselves a little, and read their system docs.
36075
360762007-06-28  castaglia <castaglia>
36077
36078	* modules/mod_auth.c: The clearing of any cached directory config
36079	pointers, as a fix for Bug #2939, was a little too aggressive.  We
36080	only need to clear those pointers once, prior to calling
36081	setup_env().
36082
360832007-06-25  castaglia <castaglia>
36084
36085	* contrib/mod_wrap2_file.c: Attempt to log a more informative
36086	message if a too-long multiline is found.  Also add support for
36087	allocating a larger buffer for such lines at compile time.
36088
360892007-06-25  castaglia <castaglia>
36090
36091	* NEWS, contrib/mod_ban.c: Bug#2942 - BanLog directive does not
36092	accept "none" parameter.
36093
360942007-06-25  castaglia <castaglia>
36095
36096	* NEWS, modules/mod_auth.c: Bug#2939 - Anonymous restrictions apply
36097	after a failed anonymous login followed by a successful normal user
36098	login.
36099
361002007-06-19  castaglia <castaglia>
36101
36102	* NEWS: Fix typos.
36103
361042007-06-18  castaglia <castaglia>
36105
36106	* doc/howto/Quotas.html: Add a FAQ about group quota determination.
36107
361082007-06-12  castaglia <castaglia>
36109
36110	* src/auth.c: Yet another patch, working on the PAM-related fallout
36111	from Bug #2922.
36112
361132007-06-12  castaglia <castaglia>
36114
36115	* modules/mod_auth_file.c: Remove some debug logging which
36116	inadvertently crept into mod_auth_file.
36117
361182007-06-12  castaglia <castaglia>
36119
36120	* contrib/mod_sql.c: For symmetry, log a message in the SQLLogFile
36121	when a particular SQLAuthType handler fails.  This complements the
36122	log message already written when the handler indicates success.
36123
361242007-06-11  castaglia <castaglia>
36125
36126	* NEWS, contrib/mod_wrap2/mod_wrap2.c: Bug#2938 - mod_wrap2 does not
36127	honor WrapTables for <Anonymous> logins.
36128
361292007-06-07  castaglia <castaglia>
36130
36131	* contrib/mod_ifsession.c, contrib/mod_rewrite.c: Add reporting of
36132	the module version for the mod_ifsession and mod_rewrite modules.
36133
361342007-06-04  castaglia <castaglia>
36135
36136	* NEWS, modules/mod_core.c: Bug#2935 - DELE command doesn't check
36137	file stat result before logging.
36138
361392007-06-04  jwm <jwm>
36140
36141	* contrib/mod_ldap.c: 2.8.17-20070603: * Use non-deprecated LDAP API functions if the LDAP SDK is new
36142	  enough to comply with draft-ietf-ldapext-ldap-c-api-04.
36143
361442007-05-30  castaglia <castaglia>
36145
36146	* NEWS, modules/mod_core.c: Bug#2900 - Some kernels incorrectly
36147	reuse IPv6 ports for EPSV command.  Rather than relying on untrusted
36148	kernel behavior (i.e. assigning a random _unused_ port if port zero
36149	is used in a bind() call), proftpd now explicitly chooses a random
36150	port (using the same technique as used for PassivePorts) when
36151	handling the EPSV command.  Note that the PassivePorts directive
36152	still works properly for this port selection.
36153
361542007-05-26  castaglia <castaglia>
36155
36156	* doc/howto/Quotas.html: Add a FAQ about the QuotaExcludeFilter
36157	directive.
36158
361592007-05-24  castaglia <castaglia>
36160
36161	* doc/howto/Tracing.html: No need for the quotations -- they're a
36162	bit much.
36163
361642007-05-24  castaglia <castaglia>
36165
36166	* RELEASE_NOTES, doc/howto/Tracing.html, doc/howto/index.html:
36167	Adding tracing howto.
36168
361692007-05-24  castaglia <castaglia>
36170
36171	* src/help.c: The list of commands displayed for the HELP command
36172	was being truncated.  Fix suggested by Richard Gray.
36173
361742007-05-23  castaglia <castaglia>
36175
36176	* README.PAM: Update the PAM readme with notes for Linux, per
36177	Bug#2907.
36178
361792007-05-22  castaglia <castaglia>
36180
36181	* NEWS, utils/ftptop.1.in, utils/ftptop.c: Bug#2923 - ftptop display
36182	flickers if delay is greater than 25 seconds.  Simply accept only
36183	delay values between zero and 15 seconds.
36184
361852007-05-22  castaglia <castaglia>
36186
36187	* configure: Updating configure.
36188
361892007-05-22  castaglia <castaglia>
36190
36191	* NEWS, config.h.in, configure.in, src/fsio.c: Bug#2934 - Function
36192	perm_copy_fd() not in older Linux libacl versions.  Test for that
36193	function, and use acl_get_fd(3) and acl_set_fd(3) if not present.
36194
361952007-05-22  castaglia <castaglia>
36196
36197	* include/options.h: Minor style nit.  No functional change.
36198
361992007-05-21  castaglia <castaglia>
36200
36201	* src/inet.c: Use tracing to log if there was a problem using
36202	getsockopt() to get the IPV6_V6ONLY option.
36203
362042007-05-21  castaglia <castaglia>
36205
36206	* NEWS, src/inet.c: Bug#2932 - Syslog contains "error setting
36207	IPV6_V6ONLY: Protocol not available".
36208
362092007-05-21  castaglia <castaglia>
36210
36211	* doc/howto/Directory.html: Include RNTO in the list of FTP commands
36212	affected by trailing "/*" suffixes in <Directory> lines.
36213
362142007-05-21  castaglia <castaglia>
36215
36216	* src/auth.c: Additional patch for Bug#2922, to check for and use
36217	mod_auth_pam for authentication, if present (and usable).
36218
362192007-05-21  castaglia <castaglia>
36220
36221	* NEWS, contrib/mod_tls.c: Bug#2890 - SystemLog permission errors on
36222	SIGHUP when mod_tls is enabled.
36223
362242007-05-19  castaglia <castaglia>
36225
36226	* modules/mod_facl.c: Use the event handler defined for the
36227	"core.module-unload" event, when compiled as a DSO module.
36228
362292007-05-16  castaglia <castaglia>
36230
36231	* modules/mod_facl.c: Declare the facl_module variable before using
36232	it.  This isn't a problem for most builds, but for proftpds built
36233	with DSO support and with a DSO mod_facl, it's a compilation error.
36234
362352007-05-15  castaglia <castaglia>
36236
36237	* src/netio.c: More work towards Bug#2920.  Hopefully this will be
36238	the last of that particular issue.
36239
362402007-05-15  castaglia <castaglia>
36241
36242	* modules/mod_xfer.c: Short-circuit out of xfer_rate_throttle()
36243	early, if the transfer has already been aborted.
36244
362452007-05-15  castaglia <castaglia>
36246
36247	* doc/howto/Timestamps.html: Adjust link to mod_site_misc docs to
36248	use the local copy.
36249
362502007-05-15  castaglia <castaglia>
36251
36252	* doc/howto/Timestamps.html: Start adding a FAQ section about
36253	timezones and timestamps.
36254
362552007-05-15  castaglia <castaglia>
36256
36257	* modules/mod_xfer.c, src/data.c: More checks of XFER_ABORTED, in
36258	pursuit of a solution for Bug#2920.
36259
362602007-05-14  castaglia <castaglia>
36261
36262	* modules/mod_xfer.c: Attempt to handle aborted transfers that were
36263	in the midst of being throttled.
36264
362652007-05-14  castaglia <castaglia>
36266
36267	* modules/mod_xfer.c: Do not block SIGURG (used to abort transfers)
36268	when handling throttled transfers.
36269
362702007-05-10  castaglia <castaglia>
36271
36272	* NEWS, modules/mod_xfer.c, src/data.c, src/inet.c, src/netio.c:
36273	Bug#2920 - ABOR command not handled during data transfer.  Bug#2924
36274	- DeleteAbortedStores doesn't work when the ABOR command is used.
36275
362762007-05-10  castaglia <castaglia>
36277
36278	* src/inet.c, src/netio.c: Add tracing of aborted connections.  Also
36279	corrects an issue where a lingering close was happening *twice*,
36280	once per stream (input and output), whereas only one lingering close
36281	(or lingering abort) is needed.  Came out of investigating Bug#2920.
36282
362832007-05-10  castaglia <castaglia>
36284
36285	* src/main.c: Add tracing of received FTP commands.
36286
362872007-05-09  castaglia <castaglia>
36288
36289	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Check to see
36290	if the SQL backend module (either MySQL or Postgres) has been
36291	properly initialized, prior to attempting to use the connection
36292	pool.  Failure to do so, in inadvertently misconfigured proftpds,
36293	was leading to NULL pointer dereference segfaults.
36294
362952007-05-07  castaglia <castaglia>
36296
36297	* NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c:
36298	Bug#2864 - DisplayLogin should work regardless of chroot.  This
36299	feature includes DisplayQuit and DisplayTransferFiles as well.  To make this work, the configured Display files must use absolute
36300	paths.  ProFTPD will then open an fd on those files, prior to
36301	chroot(2), such that the fds, on paths outside of the chroot(), are
36302	accessible once the process has been chrooted.
36303
363042007-05-04  castaglia <castaglia>
36305
36306	* NEWS, modules/mod_ls.c: Bug#2921 - NLST fails if using POSIX ACLs.
36307
363082007-05-04  castaglia <castaglia>
36309
36310	* modules/mod_facl.c: Add more tracing of POSIX ACL functions,
36311	particularly on BSD and Linux, in order to get better views of
36312	errors.  Fix some stupid printf format thinkos.  Add function to
36313	convert between a mode_t, used for access(2), to an acl_perm_t, used
36314	for acl_get_perm(2) on BSD and Linux.  Hopefully this clears up some of the issues for Bug #2661.
36315
363162007-04-30  castaglia <castaglia>
36317
36318	* modules/mod_facl.c: Fix the initialization of mod_facl's
36319	configuration directives.  Oops.
36320
363212007-04-24  castaglia <castaglia>
36322
36323	* src/netio.c: Guard against using negative numbers when calling
36324	FD_SET.  The FD_SET macro expects an fd, and if that fd is less than
36325	zero, the results are unpredictable (crashes, silent failures, just
36326	works, hangs, etc).
36327
363282007-04-18  castaglia <castaglia>
36329
36330	* modules/mod_facl.c: More tracing of POSIX ACLs on Solaris.  Looks
36331	like the implementation changed on Solaris 10 for certain
36332	filesystems (ZFS, NFSv4).
36333
363342007-04-17  castaglia <castaglia>
36335
36336	* NEWS, include/auth.h, modules/mod_core.c, src/auth.c: Bug#2922 -
36337	Auth API allows one auth module to authenticate user data provided
36338	by a different auth module.
36339
363402007-04-17  castaglia <castaglia>
36341
36342	* src/fsio.c: Include the paths in the trace messages about which FS
36343	is used for a given filesystem access call.  This will be useful in
36344	developing and debugging FSIO modules, e.g. mod_facl.
36345
363462007-04-16  castaglia <castaglia>
36347
36348	* sample-configurations/mod_sql.conf: Do not use 'Plaintext' as a
36349	example SQLAuthTypes parameter, since too many people blindly copy
36350	examples as-is, then blame you for the consequences.
36351
363522007-04-02  castaglia <castaglia>
36353
36354	* src/inet.c: Allow data transfers on low-numbered sockets to work
36355	on SCO Unix.
36356
363572007-04-02  castaglia <castaglia>
36358
36359	* NEWS, modules/mod_ls.c, src/data.c: Bug#2911 - NLST on a
36360	nonexistent path, followed by an NLST on an existing file, causes
36361	segfault.
36362
363632007-03-28  castaglia <castaglia>
36364
36365	* src/parser.c: Cleanup pr_parser_cleanup().  First, return EPERM if
36366	the parser stack is not in a state when it can be properly cleaned
36367	up.  Second, reset stack pointers to NULL even when there is no
36368	parser pool provided.
36369
363702007-03-28  castaglia <castaglia>
36371
36372	* src/parser.c: Tag the temporary pool right after its creation, not
36373	after it has been used.
36374
363752007-03-28  castaglia <castaglia>
36376
36377	* NEWS, modules/mod_xfer.c: Bug#2913 - TYPE command does not clear
36378	ASCII flag from LIST/NLST commands.
36379
363802007-03-28  castaglia <castaglia>
36381
36382	* contrib/mod_rewrite.c: Updating coding style in a few places.  No
36383	functional change.
36384
363852007-03-27  castaglia <castaglia>
36386
36387	* config.guess, config.sub, contrib/mod_load/config.guess,
36388	contrib/mod_load/config.sub, lib/libltdl/config.guess: Updated the
36389	config.guess and config.sub scripts, used by the configure script
36390	for platform detection, to the versions shipped with autoconf-2.61.
36391
363922007-03-22  castaglia <castaglia>
36393
36394	* src/dirtree.c: Formatting tweaks, no functional change.
36395
363962007-03-09  castaglia <castaglia>
36397
36398	* sample-configurations/anonymous.conf,
36399	sample-configurations/basic.conf,
36400	sample-configurations/complex-virtual.conf,
36401	sample-configurations/mod_sql.conf: Update the example config files
36402	to use DisplayChdir, rather than the deprecated DisplayFirstChdir
36403	directive.
36404
364052007-03-09  castaglia <castaglia>
36406
36407	* modules/mod_core.c: Bar configurations like:   PassivePorts 2222 2222 where the max and min port numbers are the same; it's a useless
36408	configuration.
36409
364102007-03-06  castaglia <castaglia>
36411
36412	* doc/contrib/mod_ban.html: Add a FAQ about using a delay, rather
36413	than session termination, for banned clients, and why that is a bad
36414	idea.
36415
364162007-03-06  castaglia <castaglia>
36417
36418	* README.PAM: Typo.
36419
364202007-03-01  castaglia <castaglia>
36421
36422	* NEWS: Fix typo noted by Sven.
36423
364242007-02-21  jwm <jwm>
36425
36426	* contrib/mod_ldap.c: - bump version - previous commit wrt LDAPAttr fetching was submitted by TJ Saunders   <tj@castaglia.org>; got a little fresh with my editor and missed
36427	  the paste
36428
364292007-02-21  jwm <jwm>
36430
36431	* contrib/mod_ldap.c: fetch attribute redefinitions (LDAPAttr)
36432	before using any attribute names, such as when generating the
36433	default search filters
36434
364352007-02-21  jwm <jwm>
36436
36437	* contrib/mod_ldap.c: wordwrap, error message tweak
36438
364392007-02-20  castaglia <castaglia>
36440
36441	* doc/contrib/mod_quotatab_radius.html, doc/contrib/mod_radius.html:
36442	Fix the documentation for the RadiusQuotaInfo.
36443
364442007-02-20  castaglia <castaglia>
36445
36446	* NEWS, contrib/mod_rewrite.c: Bug#2906 - RewriteCondition
36447	backreferences not properly substituted.
36448
364492007-02-20  castaglia <castaglia>
36450
36451	* NEWS, modules/mod_xfer.c: Bug#2902 - Stack read overrun in
36452	mod_xfer on 32bit platform.  Use an explicit compiler cast to ensure
36453	that the proper data type size is used in the arguments for a
36454	variadic function.
36455
364562007-02-20  castaglia <castaglia>
36457
36458	* contrib/mod_quotatab_radius.c: Need to include mod_quotatab.h,
36459	which includes the ProFTPD headers, before doing the ProFTPD version
36460	check.
36461
364622007-02-16  castaglia <castaglia>
36463
36464	* doc/howto/TLS.html: Add FAQ about SSL/TLS renegotiations, and how
36465	some FTPS clients do not handle them well.
36466
364672007-02-15  castaglia <castaglia>
36468
36469	* RELEASE_NOTES: Note new doc for 1.3.1rc3 release, whenever that
36470	is.
36471
364722007-02-15  castaglia <castaglia>
36473
36474	* doc/howto/Timestamps.html, doc/howto/index.html: Add a document
36475	talking about timestamps and chroots (see Bug #2717, Bug #2896).
36476
364772007-02-15  castaglia <castaglia>
36478
36479	* configure: Updated configure.
36480
364812007-02-15  castaglia <castaglia>
36482
36483	* lib/pr-syslog.c, src/support.c: Use the feature macro to determine
36484	if tzname is actually present to be guarded.
36485
364862007-02-15  castaglia <castaglia>
36487
36488	* config.h.in, configure.in: We're really only concerned with the
36489	tzname global variable, not with the timezone and daylight global
36490	variables.  For now, anyway.
36491
364922007-02-15  castaglia <castaglia>
36493
36494	* config.h.in, configure.in: Be defensive, and add autoconf
36495	detection for the tzname, timezone, and daylight global variables.
36496
364972007-02-15  castaglia <castaglia>
36498
36499	* contrib/mod_quotatab.c, contrib/mod_radius.c,
36500	contrib/mod_rewrite.c, contrib/mod_sql.c, contrib/mod_tls.c,
36501	contrib/mod_wrap2/mod_wrap2.c, modules/mod_ctrls.c, src/support.c,
36502	src/trace.c: Replace calls to localtime(3) throughout the proftpd
36503	code with calls to pr_localtime().
36504
365052007-02-15  castaglia <castaglia>
36506
36507	* src/log.c: Missed a call to localtime(3) that needs to replaced
36508	with pr_localtime().
36509
365102007-02-15  castaglia <castaglia>
36511
36512	* modules/mod_log.c, src/ftpdctl.c, src/log.c: Update mod_log and
36513	the core logging to use pr_localtime(), which guards against
36514	localtime(3) resetting the tzname global variable to an
36515	unexpected/wrong timezone (i.e. GMT) in a chrooted process.
36516
365172007-02-15  castaglia <castaglia>
36518
36519	* src/support.c: Update pr_localtime() so that it no longer requires
36520	a pool.  If a pool is provided, it will be used, otherwise, the
36521	struct tm * from localtime(3) will be returned as is.
36522
365232007-02-15  castaglia <castaglia>
36524
36525	* src/support.c: For functions which use pr_localtime() (and there
36526	should be more of them), protect the tzname global variable values,
36527	to guard against localtime(3) twiddling with the tzname variable.
36528	This twiddling causes weird values once the process is chrooted.
36529
365302007-02-15  castaglia <castaglia>
36531
36532	* modules/mod_log.c: Remove a section of code which relies on a
36533	macro, HAVE_GMTOFF, which has not be defined by proftpd's configure
36534	script in who knows how long.  This investigation was prompted by looking into Bug #2896.
36535
365362007-02-15  castaglia <castaglia>
36537
36538	* src/ftpdctl.c, src/log.c: When writing to the log fd, check for
36539	errors, and specifically try the write(2) call again if the call was
36540	interrupted.
36541
365422007-02-13  castaglia <castaglia>
36543
36544	* modules/mod_xfer.c: Forgot to log one of the reasons for not using
36545	sendfile(): UseSendfile set to 'off'.
36546
365472007-02-13  castaglia <castaglia>
36548
36549	* modules/mod_xfer.c: Add debug logging, level 10, showing when
36550	sendfile is used, or isn't used.  And if sendfile isn't used, log
36551	the reason.
36552
365532007-02-13  castaglia <castaglia>
36554
36555	* src/dirtree.c: Fix typo.
36556
365572007-02-12  castaglia <castaglia>
36558
36559	* src/dirtree.c: A further optimization, suggested by Glenn Nielsen.
36560	In the find_best_dir() function, the paths being compared always
36561	come from c->name, which means that it's actually OK to do direct
36562	pointer comparison, rather than using strcmp().  Only time will tell
36563	whether this is a too-clever optimization.
36564
365652007-02-12  castaglia <castaglia>
36566
36567	* src/dirtree.c: Make some minor optimizations to the
36568	dir_match_path() function.  Specifically, call strlen() only once
36569	when necessary (rather than multiple times), and reorder checks such
36570	that strcmp() checks, the most expensive of the checks, are done
36571	*last*, rather than first.  The goal is to scan the directory path
36572	string as few times as possible; given many such directory path
36573	strings, each scan adds up.
36574
365752007-02-12  castaglia <castaglia>
36576
36577	* NEWS, contrib/mod_quotatab.c: Bug#2897 - mod_quotatab subtracts
36578	size of deleted file from bytes-transferred tally.
36579
365802007-02-08  castaglia <castaglia>
36581
36582	* modules/mod_auth.c: Add explanatory comment about checks for
36583	session.gids, session.groups.
36584
365852007-02-08  castaglia <castaglia>
36586
36587	* NEWS, modules/mod_auth.c: Bug#2893 - ProFTPD can use the wrong
36588	group data if the user name changes.
36589
365902007-01-19  castaglia <castaglia>
36591
36592	* NEWS, modules/mod_lang.c: Bug#2883 - Problem with locale and SQL
36593	database queries.
36594
365952007-01-19  castaglia <castaglia>
36596
36597	* locale/files.txt: Update the list of source files in
36598	locale/files.txt.
36599
366002007-01-19  castaglia <castaglia>
36601
36602	* locale/Makefile.in: Fixed typos in command used to generate
36603	files.txt.
36604
366052007-01-19  castaglia <castaglia>
36606
36607	* NEWS, include/modules.h, modules/mod_core.c, modules/mod_lang.c,
36608	src/main.c, src/modules.c: Bug#2881 - ProFTPD does not support OPTS
36609	UTF8 command when --enable-nls is used.
36610
366112007-01-18  castaglia <castaglia>
36612
36613	* src/trace.c: The list of channel names should be named
36614	'trace_channels', not 'trace_levels'.  What was I thinking?
36615
366162007-01-18  castaglia <castaglia>
36617
36618	* NEWS, include/conf.h, include/log.h: Bug#2878 - Error compiling
36619	proftpd on Solaris 2.9 using --with-lastlog.
36620
366212007-01-18  castaglia <castaglia>
36622
36623	* contrib/mod_tls.c: Update mod_tls to use the pr_env_* functions.
36624	This also eliminates a lot of #ifdef PR_USE_DEVEL checks in the
36625	mod_tls code -- hooray!
36626
366272007-01-18  castaglia <castaglia>
36628
36629	* include/env.h, src/env.c: Add some documentation to the pr_env_*
36630	functions in the header.  Also beef up the code in env.c, such that
36631	it is prepared for memory checker programs (e.g. Valgrind) in cases
36632	where --enable-devel is used.  This makes it possible to clean up
36633	some ugly #ifdef checks elsewhere (e.g.  mod_tls).
36634
366352007-01-17  castaglia <castaglia>
36636
36637	* contrib/mod_sql.c: Update mod_sql.c to use pr_env_get() rather
36638	than getenv(3).
36639
366402007-01-17  castaglia <castaglia>
36641
36642	* configure: Updated configure.
36643
366442007-01-17  castaglia <castaglia>
36645
36646	* configure.in, contrib/mod_tls.c, src/main.c, src/proctitle.c: The
36647	proper macro to use is PR_USE_DEVEL, not PR_DEVEL.
36648
366492007-01-17  castaglia <castaglia>
36650
36651	* configure: Updated configure.
36652
366532007-01-17  castaglia <castaglia>
36654
36655	* configure.in: Add printing of "checking for" messages when
36656	scanning for the list of usual suspects of lastlog locations.  Related to Bug #2878.
36657
366582007-01-17  castaglia <castaglia>
36659
36660	* configure: Updated configure.
36661
366622007-01-17  castaglia <castaglia>
36663
36664	* configure.in: Fix the configure script to properly use the
36665	pr_lastlog_path variable (it was using spaces around the '='
36666	operator, which the shell may not like).  Part of Bug #2878.
36667
366682007-01-17  castaglia <castaglia>
36669
36670	* NEWS, src/inet.c: Bug#2877 - ServerType 'inetd' results in
36671	"getnameinfo error: ai_family not supported" errors in log.
36672
366732007-01-17  castaglia <castaglia>
36674
36675	* src/main.c: Remove the redundant is_standalone variable; it can be
36676	replaced with checks against the global variable ServerType.
36677
366782007-01-16  castaglia <castaglia>
36679
36680	* Makefile.in: The -lsupp LIBS flag is now populated in the
36681	UTILS_LIBS variable, so there is no need for the hardcoded flag as
36682	well.
36683
366842007-01-16  castaglia <castaglia>
36685
36686	* src/main.c: A bad patch mixed up the ordering of settings
36687	displayed via show_settings().
36688
366892007-01-16  castaglia <castaglia>
36690
36691	* src/env.c: Fix bug in pr_env_set() on systems that have putenv(3)
36692	rather than setenv(3).
36693
366942007-01-15  castaglia <castaglia>
36695
36696	* configure: Updated configure.
36697
366982007-01-15  castaglia <castaglia>
36699
36700	* configure.in: Do not scan a mod_foo.h.in file, assuming a
36701	module-specific subdirectory, for build system hints.  A .in file
36702	needs to be processed (as via the module's own configure script),
36703	and should not be scanned until after that processing.
36704
367052007-01-15  castaglia <castaglia>
36706
36707	* NEWS: Forgot to list Bug #2875 in the NEWS file.
36708
367092007-01-15  castaglia <castaglia>
36710
36711	* modules/mod_ctrls.c: Use a socklen_t, rather than a size_t, for
36712	accept(2).
36713
367142007-01-15  castaglia <castaglia>
36715
36716	* configure: Updated configure.
36717
367182007-01-15  castaglia <castaglia>
36719
36720	* configure.in: Bug#2875 - Malformed getopt checks cause compilation
36721	errors in getopt.c.
36722
367232007-01-14  castaglia <castaglia>
36724
36725	* configure: Updated configure.
36726
367272007-01-14  castaglia <castaglia>
36728
36729	* configure.in: There's no need to define PR_USE_SENDFILE as zero.
36730
367312007-01-13  castaglia <castaglia>
36732
36733	* include/proctitle.h, src/main.c, src/proctitle.c: Move the
36734	proctitle functions into the 'pr_' namespace, just to be safe (and
36735	consistent).
36736
367372007-01-13  castaglia <castaglia>
36738
36739	* doc/contrib/mod_quotatab.html: Specify what I mean when I say
36740	"groups" and "classes".
36741
367422007-01-13  castaglia <castaglia>
36743
36744	* include/pidfile.h, src/main.c, src/pidfile.c: Move the pidfile
36745	functions into the 'pr_' namespace, so that they don't collide with
36746	functions of the same names on systems whose <libutil.h> system
36747	header defines them (with conflicting prototypes).  Yay portability.
36748
367492007-01-13  castaglia <castaglia>
36750
36751	* locale/.cvsignore: Another .cvsignore file for locale/.
36752
367532007-01-12  castaglia <castaglia>
36754
36755	* contrib/mod_load/.cvsignore, contrib/mod_wrap2/.cvsignore: Add
36756	.cvsignore files for the mod_load/ and mod_wrap2/ directories.
36757
367582007-01-12  castaglia <castaglia>
36759
36760	* include/version.h: Back to CVS status, for the next RC release.
36761
367622007-01-12  castaglia <castaglia>
36763
36764	* ChangeLog: Updated ChangeLog.
36765
367662007-01-12  castaglia <castaglia>
36767
36768	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
36769	for 1.3.1rc2 release.
36770
367712007-01-12  castaglia <castaglia>
36772
36773	* RELEASE_NOTES: Adding release notes for 1.3.1rc2.
36774
367752007-01-12  castaglia <castaglia>
36776
36777	* doc/howto/TLS.html: Add a mod_tls FAQ about the "no shared cipher"
36778	error.
36779
367802007-01-12  castaglia <castaglia>
36781
36782	* src/fsio.c: In the case of successful chown() and chmod() calls,
36783	clear the statcache, as the cached data may now be stale.
36784
367852007-01-12  castaglia <castaglia>
36786
36787	* src/env.c, src/pidfile.c, src/proctitle.c: Correct the license
36788	wording to mention The ProFTPD Project as primary copyright holder.
36789
367902007-01-12  castaglia <castaglia>
36791
36792	* Make.rules.in, include/conf.h, include/env.h, include/support.h,
36793	src/env.c, src/support.c: Refactored the pr_env_* routines into
36794	their own source and header files.
36795
367962007-01-11  castaglia <castaglia>
36797
36798	* src/ftpdctl.c: Since src/ftpdctl.c has its own copy of sstrcat()
36799	and sstrncpy() (itself a bad sign), it needs to have the same
36800	paranoid checks added to those functions as were added to the core
36801	implementations.
36802
368032007-01-11  castaglia <castaglia>
36804
36805	* contrib/mod_ctrls_admin.c: When 'ftpdctl shutdown' is used,
36806	include the number of sessions being summarily terminated (after a
36807	grace period) in the ControlsLog message.
36808
368092007-01-11  castaglia <castaglia>
36810
36811	* Make.rules.in, include/conf.h, include/pidfile.h, src/main.c,
36812	src/pidfile.c: More refactoring of src/main.c.  Now the PID file
36813	routines (writing and removing the pidfile) are separated out.
36814
368152007-01-11  castaglia <castaglia>
36816
36817	* Make.rules.in, include/conf.h, include/proctitle.h, src/main.c,
36818	src/proctitle.c: The src/main.c file is a bit hairy mess, and in
36819	desperate need of refactoring.  This moves the process title
36820	functions into their own proctitle.c file, with accompanying header.
36821
368222007-01-11  castaglia <castaglia>
36823
36824	* contrib/mod_sql.c: Another in the series of patches for Bug#2869,
36825	this one makes sure that sites which use the 'fast' parameter in
36826	SQLAuthenticate still operate properly.
36827
368282007-01-11  castaglia <castaglia>
36829
36830	* src/pool.c: The bytes_in_block_list() function should be #ifdef'd
36831	as well behind PR_USE_DEVEL.
36832
368332007-01-11  castaglia <castaglia>
36834
36835	* include/compat.h, include/dirtree.h, include/fsio.h,
36836	include/pool.h, src/dirtree.c, src/fsio.c, src/main.c, src/pool.c:
36837	Move a lot of functions, either existing or new, behind PR_USE_DEVEL
36838	checks, since a lot of functions are meant only for the debugging
36839	purposes of proftpd developers.  (Hopefully this will make the
36840	resulting proftpd executable slightly smaller.)  There will be more
36841	such debugging functions added; they are meant as hooks utilized by
36842	a mod_debug module (again, only for developer use).  The only user-visible change in this is that the SIGUSR2 signal,
36843	when sent to a proftpd process, would cause that process to print
36844	out a trace of its memory pool usage.  Now, a SIGUSR2 signal will
36845	cause an event to be generated -- but the printing of the memory
36846	pool usage is gone.  I may add that back at some point, if/when
36847	there is a hue and cry raised.
36848
368492007-01-10  castaglia <castaglia>
36850
36851	* configure: Updated configure.
36852
368532007-01-10  castaglia <castaglia>
36854
36855	* configure.in: Thinko.
36856
368572007-01-10  castaglia <castaglia>
36858
36859	* Make.rules.in, lib/Makefile.in: Put the declarations for ar and
36860	ranlib in a place that's visible to contrib modules (namely,
36861	Make.rules).  Update the lib/Makefile to use that location; while
36862	I'm at it, remove the stale dependency listings from lib/Makefile.
36863
368642007-01-10  castaglia <castaglia>
36865
36866	* configure: Updated configure.
36867
368682007-01-10  castaglia <castaglia>
36869
36870	* contrib/mod_load/config.guess, contrib/mod_load/config.sub: The
36871	configure script for the mod_load module requires the config.sub and
36872	config.guess helper scripts.
36873
368742007-01-10  castaglia <castaglia>
36875
36876	* configure.in: Check for the existence of the file before trying to
36877	cat it.
36878
368792007-01-10  castaglia <castaglia>
36880
36881	* configure: Updated configure.
36882
368832007-01-10  castaglia <castaglia>
36884
36885	* Make.rules.in, Makefile.in, configure.in: Even more build system
36886	magic.  With this change, we add support for a new "hint" tag:
36887	$Archive$.  This particular tag is *only* honored in a very
36888	particular situation: the contrib module uses its own subdirectory
36889	(e.g.  contrib/mod_foo/) *and* that module is being built as a
36890	static module.  Contrib modules built as shared modules fall into
36891	different linking rules.  The purpose of this $Archive$ tag is to allow the Makefile for that
36892	mod_foo module to be built from multiple source files, which would
36893	result in multiple object files.  All of those object files would
36894	need to be part of the command to link the final `proftpd'
36895	executable.  (A shared module would not need to present for this
36896	link step.) Rather than have multiple object files from contrib modules, it
36897	involves less files (though at the cost of more complexity) to use a
36898	single archive file, e.g. mod_foo.a.  The Makefile for the contrib
36899	module, for its "static" target, will thus need to assemble a
36900	mod_foo.a archive from the various .o files.  When this happens, the
36901	contrib module uses the $Archive$ hint (similar to the $Libraries$
36902	hint) to let proftpd's module build system know to expect that
36903	archive file.
36904
369052007-01-09  castaglia <castaglia>
36906
36907	* configure: Updating configure.
36908
369092007-01-09  castaglia <castaglia>
36910
36911	* configure.in: More build system magic.  This allows contrib module
36912	developers, who use their own module-specific subdirectory e.g.
36913	contrib/mod_foo/, to have the $Libraries$ tags in their mod_foo.c,
36914	mod_foo.h, or mod_foo.h.in files be properly picked up by proftpd's
36915	build system, just as happens for a module in contrib/mod_foo.c.
36916
369172007-01-09  castaglia <castaglia>
36918
36919	* configure: Updating configure.
36920
369212007-01-09  castaglia <castaglia>
36922
36923	* contrib/mod_load/Makefile.in, contrib/mod_wrap2/Makefile.in:
36924	There's no need to redefine LIBS, then use it in the link command.
36925	Just use SHARED_MODULE_LIBS directly, and don't obfuscate the
36926	matter.
36927
369282007-01-09  castaglia <castaglia>
36929
36930	* contrib/dist/rpm/proftpd.spec: Add DSO and lastlog support to the
36931	RPM spec.
36932
369332007-01-09  castaglia <castaglia>
36934
36935	* Make.rules.in, configure.in, contrib/mod_load/Makefile.in,
36936	contrib/mod_wrap2/Makefile.in: Tweak the build system so that any
36937	LIBS specified on the command-line are picked up when building
36938	shared modules whose sources are in their own directory (e.g.
36939	mod_load, mod_wrap2).  This may sound like a bit of an edge case,
36940	but I suspect that it will become a necessity once proftpd supports
36941	having contrib modules that come with their own message catalogs
36942	(i.e. NLS support), and thus may need to be linked against the
36943	libintl library (which provides gettext() support).
36944
369452007-01-09  castaglia <castaglia>
36946
36947	* src/modules.c: Set errno to EINVAL, when appropriate, in a few
36948	places.
36949
369502007-01-09  castaglia <castaglia>
36951
36952	* src/parser.c: Paranoid checking of signals within a while loop, in
36953	case the loop should decide to continue endlessly.
36954
369552007-01-08  castaglia <castaglia>
36956
36957	* src/auth.c: Make sure that dispatch_auth() does not loop
36958	endlessly, if there are never any ERROR or HANDLED returns from the
36959	auth module handlers.  Simply keep track of the starting table, and
36960	watch the iterator table; when the two match, we have looped through
36961	the auth handlers, and will assume that the entire auth command has
36962	been DECLINED.
36963
369642007-01-08  castaglia <castaglia>
36965
36966	* modules/Makefile.in, src/Makefile.in, utils/Makefile.in: Remove
36967	crufty, outdated, and unnecessary dependency listings.
36968
369692007-01-08  castaglia <castaglia>
36970
36971	* configure: Updated configure.
36972
369732007-01-08  castaglia <castaglia>
36974
36975	* config.h.in, configure.in, include/support.h, lib/getopt.h: I
36976	discovered last night that proftpd's build system was not doing as
36977	advertised.  Specifically, it continued to build the bundled getopt
36978	implementation regardless of whether the host system had its own
36979	getopt support.  (I discovered this on Mac OS X, whose linker is
36980	apparently more picky that the one on my Linux machine, and which
36981	was complaining of multiply defined _opt* symbols.) This changes updates the build system so that it does as stated: if
36982	the host system does not have getopt support, we use our own.
36983
369842007-01-08  castaglia <castaglia>
36985
36986	* src/auth.c: Yet another while loop in need of signal handling.
36987
369882007-01-07  castaglia <castaglia>
36989
36990	* contrib/dist/rpm/proftpd.spec: Add controls support to the RPM
36991	spec.
36992
369932007-01-07  castaglia <castaglia>
36994
36995	* contrib/dist/rpm/proftpd.spec: Include the installed header files
36996	in the RPM spec.  Add ability for specifying mod_quotatab_file.
36997
369982007-01-06  castaglia <castaglia>
36999
37000	* doc/howto/TLS.html: Add documentation mentioning the CCC command,
37001	and how to configure mod_tls such that command is allowed for FTPS
37002	clients.
37003
370042007-01-06  castaglia <castaglia>
37005
37006	* contrib/mod_tls.c: If the TLSRequired setting is such that the
37007	control connection *cannot* be unprotected, then be sure to deny any
37008	CCC commands.
37009
370102007-01-04  castaglia <castaglia>
37011
37012	* src/support.c: Fix dir_abs_path() such that it does not tack on
37013	redundant directories to the end of a relative path.
37014
370152007-01-03  castaglia <castaglia>
37016
37017	* modules/mod_auth_file.c: Remember to use PR_DECLINED rather than
37018	DECLINED.
37019
370202007-01-03  castaglia <castaglia>
37021
37022	* modules/mod_auth_file.c: Paranoid checking for a NULL return value
37023	from crypt(3), just in case.  One user's debug logs suggest a
37024	segfault in mod_auth_file's "check" routine.  Might end up be a red
37025	herring, but this code is still useful.
37026
370272007-01-03  castaglia <castaglia>
37028
37029	* contrib/mod_sql.c: Make sure that "SQLAuthenticate groupset" works
37030	properly.
37031
370322007-01-03  castaglia <castaglia>
37033
37034	* Make.rules.in: Make sure the LIBS environment variable is honored
37035	when linking the utility programs (i.e. ftptop, ftpwho).
37036
370372007-01-02  castaglia <castaglia>
37038
37039	* doc/contrib/mod_quotatab_ldap.html: Minor clarification.
37040
370412006-12-28  castaglia <castaglia>
37042
37043	* NEWS, src/mkhome.c: Bug#2872 - CreateHome doesn't recreate
37044	symlinks from skeleton properly.
37045
370462006-12-27  castaglia <castaglia>
37047
37048	* src/parser.c: Fix a nasty bug where a <Directory> section which
37049	contained a <Limit> section, but no other directives, e.g.:   <Directory /path>     <Limit LIST>       DenyAll     </Limit>   </Directory> was handled as being "empty", and thus ignored; the <Limit> would
37050	not take effect.
37051
370522006-12-22  castaglia <castaglia>
37053
37054	* contrib/mod_sql.c: Paranoid NULL termination of vararg lists to
37055	the sql_prepare_where() variadic function.
37056
370572006-12-22  castaglia <castaglia>
37058
37059	* contrib/mod_sql.c: Additional work toward Bug #2869, trying to
37060	preserve the functionality added for Bug #2828.  (That is, make sure
37061	that variables within the user-defined SQLGroupWhereClause are still
37062	processed/resolved properly.)
37063
370642006-12-22  castaglia <castaglia>
37065
37066	* NEWS, contrib/mod_sql.c: Bug#2869 - mod_sql botches WHERE clauses.
37067
370682006-12-21  castaglia <castaglia>
37069
37070	* contrib/mod_ratio.c, include/dirtree.h, src/dirtree.c: It's past
37071	time to get rid of get_param_int().  This function was very naught,
37072	and used the size of a void * for storing int values.  The rest of
37073	the proftpd code has been cleansed of its use (replaced with
37074	get_param_ptr()); mod_ratio was the last holdout.
37075
370762006-12-21  castaglia <castaglia>
37077
37078	* src/dirtree.c: "Temporary" fix has been in place for years; remove
37079	the misleading comment and commented-out code, since it's proven
37080	itself to not be needed.
37081
370822006-12-20  castaglia <castaglia>
37083
37084	* contrib/mod_load/install-sh, contrib/mod_wrap2/install-sh,
37085	include/install-sh, locale/install-sh, modules/install-sh: For
37086	platforms which don't have a standard `install' program, we provide
37087	the install-sh script.  On those platforms, though, this script
37088	needs to be in the same directories as the Makefiles which use
37089	install, rather than just in the top-level directory.
37090
370912006-12-20  castaglia <castaglia>
37092
37093	* modules/mod_core.c, src/trace.c: Fixing two issues with this
37094	change: 1) Once set in a config file, the Trace/TraceLog directives were
37095	   always being honored, even after those directives had been removed
37096	   from the config file and proftpd restarted.  2) After a restart, the TraceLog fd would often be the same as used
37097	   for connected clients, with the result that the clients would
37098	   receive some of the trace log messages.  To address this, we need to
37099	   ensure that the TraceLog fd is never one of the major three (stdin,
37100	   stdout, or stderr).
37101
371022006-12-19  castaglia <castaglia>
37103
37104	* src/parser.c, src/trace.c: Adding tracing of the parser, using the
37105	'config' trace channel.
37106
371072006-12-19  castaglia <castaglia>
37108
37109	* src/netaddr.c: More tracing of netaddr functions, particularly in
37110	the reverse DNS resolution code.
37111
371122006-12-19  castaglia <castaglia>
37113
37114	* modules/mod_auth_pam.c: Adding tracing of PAM.
37115
371162006-12-19  castaglia <castaglia>
37117
37118	* src/netaddr.c: Adding tracing of netaddr functions, using the
37119	trace channel name 'dns'.
37120
371212006-12-19  castaglia <castaglia>
37122
37123	* modules/mod_facl.c, src/trace.c: Adding tracing of POSIX ACLs.
37124
371252006-12-19  castaglia <castaglia>
37126
37127	* contrib/mod_quotatab.c: Make sure we remove mod_quotatab's custom
37128	FS, if registered, when the module is being unloaded (as a shared
37129	module).
37130
371312006-12-19  castaglia <castaglia>
37132
37133	* NEWS, src/event.c: Bug#2857 - Failure to properly unregister event
37134	handlers leads to segfault after restarts.  When scanning the lists of event handlers to find the handlers to
37135	remove, we need to make sure we cover all lists, not short-circuit
37136	out when we don't find any matching handlers on the first list
37137	examined.
37138
371392006-12-18  castaglia <castaglia>
37140
37141	* src/netacl.c: Adding tracing of NetACLs.
37142
371432006-12-18  castaglia <castaglia>
37144
37145	* src/ident.c: Add tracing of ident lookups.
37146
371472006-12-18  castaglia <castaglia>
37148
37149	* contrib/mod_ban.c: Get in the habit of setting pools to NULL after
37150	destroying them.  Update to use newer Timer API.
37151
371522006-12-18  castaglia <castaglia>
37153
37154	* modules/mod_core.c: The handling of TraceLog was done well; after
37155	a restart, the TraceLog might very well have opened on a
37156	low-numbered fd, one assumed to be used for a connecting client.
37157	This means that after a restart, connecting clients might
37158	inadvertently receive TraceLog messages on their client, as if they
37159	were FTP response messages from proftpd.  Oops.
37160
371612006-12-18  castaglia <castaglia>
37162
37163	* src/inet.c: FreeBSD 7 on its way.
37164
371652006-12-18  castaglia <castaglia>
37166
37167	* src/support.c: The pickier compiler on my Linux laptop caught this
37168	thinko.
37169
371702006-12-17  castaglia <castaglia>
37171
37172	* modules/mod_auth.c, modules/mod_log.c, src/parser.c: Use
37173	pr_env_get() rather than getenv(3).
37174
371752006-12-17  castaglia <castaglia>
37176
37177	* contrib/mod_wrap2/mod_wrap2.c, modules/mod_auth.c,
37178	modules/mod_core.c: Update modules to use pr_env_set() rather than
37179	setenv().  This is mostly for the benefit of systems which may
37180	provide putenv() rather than setenv().
37181
371822006-12-17  castaglia <castaglia>
37183
37184	* configure: Updated configure.
37185
371862006-12-17  castaglia <castaglia>
37187
37188	* config.h.in, configure.in, include/support.h, src/support.c:
37189	Rather than using setenv(3) and unsetenv(3) directly, provide
37190	pr_env() wrappers.  This is particularly useful for Solaris systems,
37191	which may not provide setenv(3) but *do* provide putenv(3);
37192	pr_env_set() handles this transparently.  (If present, setenv(3) is
37193	used, otherwise if putenv(3) is present, that is used, otherwise
37194	ENOSYS.)
37195
371962006-12-16  castaglia <castaglia>
37197
37198	* modules/mod_ctrls.c, src/ctrls.c: Add tracing of controls.
37199
372002006-12-15  castaglia <castaglia>
37201
37202	* modules/mod_dso.c: Adding tracing of DSO modules.
37203
372042006-12-15  castaglia <castaglia>
37205
37206	* doc/contrib/mod_ctrls_admin.html: Documentation for the 'trace
37207	info' ftpctl action.
37208
372092006-12-15  castaglia <castaglia>
37210
37211	* contrib/mod_ctrls_admin.c: Fix the handling of a 'trace info'
37212	control action, so that the list of trace channels and their
37213	respective log levels is comprehensibly displayed.
37214
372152006-12-15  castaglia <castaglia>
37216
37217	* src/fsio.c: Add more handling of possible signals within while()
37218	loops.
37219
372202006-12-15  castaglia <castaglia>
37221
37222	* modules/mod_ls.c: Style changes, and some additional
37223	pr_signals_handle() calls in while() loops.
37224
372252006-12-15  castaglia <castaglia>
37226
37227	* src/event.c: Use tracing for logging of events, rather than debug
37228	logging.
37229
372302006-12-15  castaglia <castaglia>
37231
37232	* src/fsio.c: Add tracing of the FSIO API, no longer using
37233	pr_log_debug().
37234
372352006-12-15  castaglia <castaglia>
37236
37237	* src/auth.c: Moving more logging out of the main error log, and
37238	into the TraceLog.  A lot of this level detail isn't always
37239	necessary.
37240
372412006-12-15  castaglia <castaglia>
37242
37243	* doc/contrib/mod_ctrls_admin.html: Add docs for the 'trace' control
37244	action.
37245
372462006-12-15  castaglia <castaglia>
37247
37248	* NEWS, modules/mod_core.c: Bug#2849 - Error msg "Not owner"
37249	returned by "SIZE in ASCII mode" is misleading.
37250
372512006-12-15  castaglia <castaglia>
37252
37253	* src/utf8.c: Make sure that utf8_init() and utf8_free() are present
37254	for use by the linker, even if they return ENOSYS.
37255
372562006-12-15  castaglia <castaglia>
37257
37258	* lib/getopt.c: Make sure to reference the gettext() function only
37259	when NLS support has been requested.  Otherwise, confusing linker
37260	errors result.
37261
372622006-12-15  castaglia <castaglia>
37263
37264	* src/timers.c: Add timer tracing.
37265
372662006-12-15  castaglia <castaglia>
37267
37268	* include/compat.h, include/timers.h: Compatibility macros should
37269	all be collected in compat.h.
37270
372712006-12-14  castaglia <castaglia>
37272
37273	* locale/Makefile.in: Using the --sort-by-file option when
37274	generating message catalogs.
37275
372762006-12-14  castaglia <castaglia>
37277
37278	* modules/mod_delay.c: Move a lot of the debug logging in mod_delay
37279	out of proftpd's main error log into the TraceLog using tracing.
37280
372812006-12-14  castaglia <castaglia>
37282
37283	* src/inet.c: Use tracing to log when we have successfully bound an
37284	address/port to a socket.
37285
372862006-12-14  castaglia <castaglia>
37287
37288	* configure: Updated configure.
37289
372902006-12-14  castaglia <castaglia>
37291
37292	* Make.rules.in, Makefile.in, configure.in: The utilities (ftptop,
37293	ftpwho, etc) also need to be linked with libintl, if NLS support is
37294	enabled and libintl is present.
37295
372962006-12-13  castaglia <castaglia>
37297
37298	* NEWS, contrib/mod_radius.c, doc/contrib/mod_radius.html: Bug#2856
37299	- Support for RADIUS NAS-Identifier attribute.
37300
373012006-12-13  castaglia <castaglia>
37302
37303	* configure: Updated configure.
37304
373052006-12-13  castaglia <castaglia>
37306
37307	* configure.in: Better checking for the required libintl support
37308	when --enable-nls is selected.  If the requisite functions (e.g.
37309	bindtextdomain(), gettext()) aren't found in libintl, then libc is
37310	checked.  If not there either, then configure will abort.
37311
373122006-12-13  castaglia <castaglia>
37313
37314	* modules/mod_ls.c: Use strcoll(3) both when NLS is enabled and when
37315	strcoll(3) is actually present.
37316
373172006-12-13  castaglia <castaglia>
37318
37319	* modules/mod_lang.c: Make sure that mod_lang can compile if libintl
37320	support is absent.
37321
373222006-12-13  castaglia <castaglia>
37323
37324	* src/utf8.c: Make sure utf8.c can compile and run, even when iconv
37325	support is lacking.
37326
373272006-12-12  castaglia <castaglia>
37328
37329	* doc/modules/mod_delay.html: Typo.
37330
373312006-12-12  castaglia <castaglia>
37332
37333	* include/version.h: Back to CVS mode, for the next RC release.
37334
373352006-12-12  castaglia <castaglia>
37336
37337	* ChangeLog: Updated ChangeLog.
37338
373392006-12-12  castaglia <castaglia>
37340
37341	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
37342	for 1.3.1rc1 release.
37343
373442006-12-12  castaglia <castaglia>
37345
37346	* RELEASE_NOTES: Finish polishing up these release notes.
37347
373482006-12-12  castaglia <castaglia>
37349
37350	* NEWS, src/ctrls.c: Bug#2867 - Local authorized user buffer
37351	overflow in Controls request handling.
37352
373532006-12-11  castaglia <castaglia>
37354
37355	* src/var.c: Handle the case where the retrieved variable is NULL.
37356
373572006-12-11  castaglia <castaglia>
37358
37359	* modules/mod_ls.c: More pedantic checks for NULL pointers.
37360
373612006-12-11  castaglia <castaglia>
37362
37363	* contrib/mod_sql.c: Use pr_log_debug() to handle cases where the
37364	database-specific SQL backend module is chosen, as a SQLLogFile may
37365	not have been opened at the time of backend selection.
37366
373672006-12-11  castaglia <castaglia>
37368
37369	* doc/howto/TLS.html: Add a mod_tls FAQ about linker errors related
37370	to libdl.
37371
373722006-12-11  castaglia <castaglia>
37373
37374	* modules/mod_core.c: More safety checking of possibly NULL return
37375	values.
37376
373772006-12-11  castaglia <castaglia>
37378
37379	* modules/mod_core.c: Move the check for a NULL path earlier, before
37380	we actually try to use path by calling pr_fsio_fstat() on it.
37381
373822006-12-11  castaglia <castaglia>
37383
37384	* src/log.c: Handle a possible return value of NULL from
37385	localtime(3).
37386
373872006-12-11  castaglia <castaglia>
37388
37389	* src/fsio.c: Check for NULL return values from strdup(3).
37390
373912006-12-11  castaglia <castaglia>
37392
37393	* src/dirtree.c: Paranoid checks for NULL pointers, to ensure we
37394	don't accidentally pass them to library functions (e.g. strstr(3) or
37395	substr(3)).
37396
373972006-12-11  castaglia <castaglia>
37398
37399	* modules/mod_ls.c, modules/mod_site.c, src/fsio.c, src/trace.c: Off
37400	by one.
37401
374022006-12-11  castaglia <castaglia>
37403
37404	* lib/glibc-glob.c: Paranoid null pointer check.  Useful, since we
37405	do use the ALTDIRFUNC flag.
37406
374072006-12-11  castaglia <castaglia>
37408
37409	* src/fsio.c: Make sure pr_fs_dircat() doesn't attempt to operate on
37410	NULL pointers.
37411
374122006-12-11  castaglia <castaglia>
37413
37414	* modules/mod_log.c: More insurance that a possible NULL value isn't
37415	passed to a library call, e.g. strftime(3).
37416
374172006-12-11  castaglia <castaglia>
37418
37419	* modules/mod_log.c: Ensure we don't inadvertently attempt to lookup
37420	a NULL environment variable name, or copy a NULL environment
37421	variable value.
37422
374232006-12-11  castaglia <castaglia>
37424
37425	* src/trace.c: Paranoid check for improper indices into the
37426	allocated buffer.
37427
374282006-12-11  castaglia <castaglia>
37429
37430	* src/support.c: Ensure that we don't accidentally go past the end
37431	of the allocated array.
37432
374332006-12-11  castaglia <castaglia>
37434
37435	* modules/mod_site.c: Another possible negative array index catch.
37436
374372006-12-11  castaglia <castaglia>
37438
37439	* modules/mod_ls.c: Catch another possible situation where the index
37440	used may inadvertently be -1.
37441
374422006-12-11  castaglia <castaglia>
37443
37444	* src/fsio.c: Pedantically fix some edge cases where an index of -1
37445	might accidentally be used.
37446
374472006-12-07  castaglia <castaglia>
37448
37449	* src/main.c: I think that the majority of sites don't use Classes
37450	so much, so move the log message about connections from unknown
37451	classes up a few debug log levels.
37452
374532006-12-07  castaglia <castaglia>
37454
37455	* modules/mod_ls.c: If sorting of directory listings by file name is
37456	requested, and NLS support is enabled, be sure to use the
37457	locale-sensitive strcoll(3) function for comparison, rather than
37458	strcmp(3).
37459
374602006-12-06  castaglia <castaglia>
37461
37462	* configure: Updated configure.
37463
374642006-12-06  castaglia <castaglia>
37465
37466	* config.h.in, configure.in, include/conf.h: NLS support requires
37467	checking for the locale.h header, and including it if necessary.
37468
374692006-12-06  castaglia <castaglia>
37470
37471	* doc/howto/DisplayFiles.html: Renamed DisplayFirstChdir to
37472	DisplayChdir, and added mention of the new DisplayFileTransfer.
37473
374742006-12-06  castaglia <castaglia>
37475
37476	* include/display.h, src/display.c: Add the ability to display files
37477	via filehandles, using pr_display_fh(), in addition to displaying
37478	files via paths using pr_display_file().  Why would we want pr_display_fh()?  Many sites, especially those
37479	with lots of users, like DisplayLogin, but they also want to chroot
37480	their users.  The handling of DisplayLogin could be changed to open
37481	a filehandle prior to the chroot, if necessary, and thus continue to
37482	display a file whilst allowing chrooted users.  That's the goal,
37483	anyway.
37484
374852006-12-06  castaglia <castaglia>
37486
37487	* src/display.c: Use tracing, rather than debug level 10, for
37488	logging about unresolved variables in Display files.
37489
374902006-12-06  castaglia <castaglia>
37491
37492	* src/trace.c: Add a default trace channel for logging from the
37493	Variables API layer.
37494
374952006-12-06  castaglia <castaglia>
37496
37497	* lib/sstrncpy.c: Include the library support header libsupp.h, at
37498	least, since that is what its purpose is.
37499
375002006-12-06  castaglia <castaglia>
37501
37502	* lib/sstrncpy.c: No need to pull in all of proftpd's configuration
37503	for sstrncpy().
37504
375052006-12-05  castaglia <castaglia>
37506
37507	* contrib/mod_wrap2/mod_wrap2.c: More updates to the current APIs.
37508
375092006-12-05  castaglia <castaglia>
37510
37511	* contrib/mod_ban.c, contrib/mod_wrap2/mod_wrap2.c: Updating
37512	mod_ban, mod_wrap2 to use newer module API names and macros.
37513
375142006-12-05  castaglia <castaglia>
37515
37516	* include/log.h: Use GCC pragmas for checking callers of
37517	pr_log_writefile() as well.
37518
375192006-12-05  castaglia <castaglia>
37520
37521	* modules/mod_ls.c: Since the sendline() arguments were giving us
37522	such trouble, I decided to make use of GCC's attribute pragma to
37523	warn about printf-like functions, as is done in other places in the
37524	proftpd code (e.g. the Response API header).
37525
375262006-12-05  castaglia <castaglia>
37527
37528	* src/support.c: Typo.
37529
375302006-12-05  castaglia <castaglia>
37531
37532	* src/trace.c: Add 'data' as one of the built-in trace channel
37533	names.
37534
375352006-12-05  castaglia <castaglia>
37536
37537	* contrib/mod_tls.c: Add some comments reminding me why I see
37538	gibberish in the debug logging, depending on the mod_tls
37539	configuration.
37540
375412006-12-04  castaglia <castaglia>
37542
37543	* contrib/mod_tls.c: Rather than logging when CRLs have not been
37544	configured, log when CRLs *are* present and being used.
37545
375462006-12-04  castaglia <castaglia>
37547
37548	* contrib/mod_tls.c: More paranoia.  Also some minor style changes.
37549
375502006-12-04  castaglia <castaglia>
37551
37552	* contrib/mod_tls.c: Increase the size of the buffer used to log
37553	X509 names from the client cert to 1KB If the client certificate cannot be verified because of an invalid
37554	purpose, log the purposes of the client certificate.
37555
375562006-12-04  castaglia <castaglia>
37557
37558	* contrib/mod_tls.c: X509_STORE_CTX_init() did not return a value in
37559	versions of OpenSSL prior to 0.9.7.  Also conditionalize the use of the tls_crypto_device variable as per
37560	supporting OpenSSL version.
37561
375622006-12-04  castaglia <castaglia>
37563
37564	* modules/mod_ls.c: Correct one case where sendline() was being
37565	called with two format parameters but only one argument (led to
37566	garbage being sent to client in directory listing).  Also, make sure
37567	that all callers of sendline() use NULL as the last argument, as is
37568	proper for any variadic function.
37569
375702006-12-04  castaglia <castaglia>
37571
37572	* NEWS, modules/mod_ls.c: Bug#2862 - NLST / returns a listing of the
37573	current directory.
37574
375752006-12-04  castaglia <castaglia>
37576
37577	* modules/mod_ls.c: More paranoia.  Make sure that the length
37578	returned from readlink() isn't too large for our buffers.
37579
375802006-12-04  castaglia <castaglia>
37581
37582	* src/support.c: More defensive checking of input arguments, in
37583	pr_memscrub() and sstrcat().
37584
375852006-12-04  castaglia <castaglia>
37586
37587	* NEWS, modules/mod_ls.c: Bug#2863 - LIST of nonexistent file causes
37588	RST on data channel.  As with a similar issue with the NLST command,
37589	make sure the data channel is opened before closing it, lest the
37590	client receive a RST on their end of the data channel.
37591
375922006-12-04  castaglia <castaglia>
37593
37594	* locale/Makefile.in: Be more specific about the language support
37595	right now: en_US instead of en.
37596
375972006-12-02  castaglia <castaglia>
37598
37599	* RELEASE_NOTES: More release notes.
37600
376012006-12-02  castaglia <castaglia>
37602
37603	* doc/contrib/mod_sql.html: Document the SQLOptions directive.
37604
376052006-12-02  castaglia <castaglia>
37606
37607	* locale/Makefile.in: Don't forget to include the step that actually
37608	compiles a .po into a machine-readable .mo file.  The .mo file is
37609	what will be installed into the locale/ directory, and used by the
37610	gettext library.
37611
376122006-12-02  castaglia <castaglia>
37613
37614	* modules/mod_lang.c: Call bindtextdomain(3), using the configured
37615	LangPath (or PR_LOCALE_DIR if not configured), in order to use the
37616	translated message catalogs for proftpd there.
37617
376182006-12-02  castaglia <castaglia>
37619
37620	* RELEASE_NOTES: More documentation for the release notes.
37621
376222006-12-02  castaglia <castaglia>
37623
37624	* configure: Updating configure.
37625
376262006-12-01  castaglia <castaglia>
37627
37628	* Make.rules.in, Makefile.in, configure.in: Only try to build the
37629	locale-related message catalogs etc if the --enable-nls configure
37630	option is used.
37631
376322006-12-01  castaglia <castaglia>
37633
37634	* RELEASE_NOTES: Start adding more substance to the release notes,
37635	in preparation for a release.
37636
376372006-12-01  castaglia <castaglia>
37638
37639	* locale/Makefile.in: Make errors with creating translation catalogs
37640	non-fatal during the build process.
37641
376422006-12-01  castaglia <castaglia>
37643
37644	* locale/Makefile.in, locale/files.txt: More work on the Makefile
37645	for generating the template message catalog for translation.
37646
376472006-11-30  castaglia <castaglia>
37648
37649	* contrib/ftpquota: If opening a quota table for displaying records
37650	only, open the table in read-only mode, rather than read-append
37651	mode.
37652
376532006-11-30  castaglia <castaglia>
37654
37655	* src/ftpdctl.c: Return a value, since the function definition
37656	requires it.
37657
376582006-11-29  castaglia <castaglia>
37659
37660	* contrib/mod_radius.c: Make sure that the attribute length for UIDs
37661	and GIDs does not exceed the size of the variable used for holding
37662	the UID and GID.
37663
376642006-11-29  castaglia <castaglia>
37665
37666	* NEWS, contrib/mod_tls.c: Bug#2860 - Failure to check for data
37667	length in mod_tls could lead to remote buffer overwriting.  (Also add entry for Bug #2858.)
37668
376692006-11-29  castaglia <castaglia>
37670
37671	* contrib/mod_tls.c: Prevent some possible NULL pointer dereferences
37672	by checking for tls_pkey before using it.  Use root privileges when checking for the existence of certificate
37673	and key files, during the config handler runs.  These files are
37674	opened with root privs later in the module, so the checks for the
37675	existence should also use root privs.
37676
376772006-11-29  castaglia <castaglia>
37678
37679	* contrib/mod_radius.c: Fix typo in declaration of static
37680	MD5_Update() function.  Also add paranoid check for size of attribute length, in RADIUS
37681	packet, which exceeds the maximum size of the data type.
37682
376832006-11-28  jwm <jwm>
37684
37685	* src/support.c: use the version that was released as part of
37686	1.3.0a; these integer "overflows" aren't exploitable, so there is no
37687	prophylactic difference
37688
376892006-11-27  jwm <jwm>
37690
37691	* src/support.c: Bug #2858 - CVE-2006-5815: remote code execution in
37692	ProFTPD
37693
376942006-11-17  jwm <jwm>
37695
37696	* src/main.c: - avoid passing a NULL pointer to pr_log_pri() as it can causes
37697	  segfaults on some platforms.  - make the 'invalid CommandBufSize' error message a litle  clearer
37698
376992006-11-01  castaglia <castaglia>
37700
37701	* lib/glibc-glob.c: Catch a few cases, from code borrowed from
37702	glibc, where the return value from realloc(3) was not being checked
37703	to see if it's NULL before using it.
37704
377052006-11-01  castaglia <castaglia>
37706
37707	* lib/sstrncpy.c, src/support.c, utils/misc.c: Prevent sstrcat() and
37708	sstrncpy() from working on buffers if the length argument is zero.
37709
377102006-11-01  castaglia <castaglia>
37711
37712	* modules/mod_ls.c: Since readlink(2) is not guaranteed to
37713	NUL-terminate the provided buffer, we need to save space for the NUL
37714	terminator.
37715
377162006-11-01  castaglia <castaglia>
37717
37718	* src/netio.c: Require that callers of pr_netio_gets() and
37719	pr_netio_telnet_gets() specify a non-zero buffer length.
37720
377212006-11-01  castaglia <castaglia>
37722
37723	* lib/pwgrent.c, modules/mod_auth_file.c: Check if realloc(3)
37724	returned NULL or not before blindly assigning the return value to
37725	our pointer.
37726
377272006-10-31  castaglia <castaglia>
37728
37729	* src/main.c: Fix an issue where the cmd_buf_size variable, for the
37730	size of the buffer used for reading FTP commands sent by clients,
37731	was not being properly set to the size configured via the
37732	CommandBufferSize directive.
37733
377342006-10-30  castaglia <castaglia>
37735
37736	* doc/howto/SQL.html: Add an example of using Python to generate an
37737	OpenSSL-encoded mod_sql password string.
37738
377392006-10-25  castaglia <castaglia>
37740
37741	* src/ftpdctl.c: Add stub for pr_trace_msg(), so that linking
37742	ftpdctl does not fail.
37743
377442006-10-24  castaglia <castaglia>
37745
37746	* src/event.c: Allocate a larger event pool (ref Bug #2850).
37747
377482006-10-24  castaglia <castaglia>
37749
37750	* NEWS, src/pool.c: Bug#2850 - Small event pool allocation on 64-bit
37751	machine leads to segfault on startup.  See the bug report for an
37752	excellent analysis of the issue.
37753
377542006-10-24  castaglia <castaglia>
37755
37756	* src/ctrls.c, src/event.c: Add tracing of when control action
37757	handlers and event handlers are registered and unregistered.
37758
377592006-10-24  castaglia <castaglia>
37760
37761	* contrib/mod_ban.c: Update the mod_ban module to be better behaved
37762	as a shared module.
37763
377642006-10-24  castaglia <castaglia>
37765
37766	* src/trace.c: Be sure to set the trace table pointer to NULL after
37767	clearing the pool from which it was allocated.
37768
377692006-10-24  castaglia <castaglia>
37770
37771	* contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in:
37772	Updated mod_wrap2 to be better behaved when compiled as a shared
37773	module.
37774
377752006-10-20  jwm <jwm>
37776
37777	* contrib/mod_ldap.c: add much more extensive debugging output
37778
377792006-10-13  castaglia <castaglia>
37780
37781	* src/parser.c: Treat a trailing LF as the eol marker; no need to
37782	treat any CRs before that LF as eol markers.
37783
377842006-10-13  castaglia <castaglia>
37785
37786	* src/parser.c: Typo.
37787
377882006-10-13  castaglia <castaglia>
37789
37790	* src/parser.c: If we don't find an end-of-line marker (LF or CRLF)
37791	in the line of configuration data read in, issue a warning, so that
37792	the admin knows that any configuration error may be caused by data
37793	truncation.
37794
377952006-10-11  castaglia <castaglia>
37796
37797	* doc/modules/mod_facl.html: Add small doc for the mod_facl module.
37798
377992006-10-11  castaglia <castaglia>
37800
37801	* RELEASE_NOTES, modules/mod_facl.c: Add a runtime directive for
37802	disabling mod_facl, if needed.
37803
378042006-10-05  castaglia <castaglia>
37805
37806	* src/parser.c: Style cleanup.  Sprinkle more "pr_signals_handle()"
37807	around within the while loops, too.
37808
378092006-10-05  castaglia <castaglia>
37810
37811	* NEWS, src/parser.c: Bug#2848 - Unable to properly parse config
37812	files using Windows-style line endings.
37813
378142006-10-04  castaglia <castaglia>
37815
37816	* NEWS, modules/mod_xfer.c: Bug#2847 - HiddenStores files not
37817	properly removed if data transfer times out.
37818
378192006-09-29  castaglia <castaglia>
37820
37821	* RELEASE_NOTES: A little more about UseIPv6, and the command-line
37822	options.
37823
378242006-09-29  castaglia <castaglia>
37825
37826	* NEWS, RELEASE_NOTES, include/netaddr.h, modules/mod_core.c,
37827	src/bindings.c, src/dirtree.c, src/inet.c, src/main.c,
37828	src/netacl.c, src/netaddr.c, src/proftpd.8.in: Bug#2817 - Ability to
37829	disable IPv6 support at runtime.
37830
378312006-09-27  castaglia <castaglia>
37832
37833	* src/main.c: Reset the handler for the SIGUSR2 signal (and NOT the
37834	SIGHUP signal) in the sig_evnt() handler.
37835
378362006-09-18  castaglia <castaglia>
37837
37838	* configure: Updating configure.
37839
378402006-09-18  castaglia <castaglia>
37841
37842	* Makefile.in, configure.in, locale/Makefile.in: Renaming the po/
37843	directory to locale/.
37844
378452006-09-14  castaglia <castaglia>
37846
37847	* NEWS, src/fsio.c: Bug#2842 - Filesystem statcache is not correctly
37848	caching return value of stat().
37849
378502006-09-13  castaglia <castaglia>
37851
37852	* configure: Updated configure.
37853
378542006-09-13  castaglia <castaglia>
37855
37856	* Makefile.in, configure.in, po/Makefile.in: Start of a po/Makefile,
37857	for building .po files (localised message strings).  Part of the
37858	support for RFC2640.
37859
378602006-09-12  castaglia <castaglia>
37861
37862	* modules/mod_auth.c: If MaxLoginAttempts is exceeded, mention in
37863	the generated log message that we are refusing the client's
37864	connection.
37865
378662006-09-12  castaglia <castaglia>
37867
37868	* doc/contrib/mod_sql.html: Remove mention of SQLHomedirOnDemand, as
37869	that directive is now deprecated.
37870
378712006-09-12  castaglia <castaglia>
37872
37873	* NEWS, RELEASE_NOTES: There is no 'SQLWhereClause' directive.
37874	Oops.
37875
378762006-09-12  castaglia <castaglia>
37877
37878	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2828 - Support
37879	variables in SQL Where directives.
37880
378812006-09-11  castaglia <castaglia>
37882
37883	* doc/contrib/mod_sql.html: Document the syntax for refering to
37884	environment variables in a SQLNamedQuery.
37885
378862006-09-11  castaglia <castaglia>
37887
37888	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2799 - SQLNamedQuery
37889	should support environment variables.
37890
378912006-09-11  castaglia <castaglia>
37892
37893	* doc/contrib/mod_tls.html: Add documentation for the new
37894	TLSPassPhraseProvider directive.
37895
378962006-09-11  castaglia <castaglia>
37897
37898	* NEWS, RELEASE_NOTES, contrib/mod_tls.c: Bug#2756 - Support for
37899	TLSPassPhraseProvider.
37900
379012006-09-11  castaglia <castaglia>
37902
37903	* NEWS, modules/mod_xfer.c: Bug#2839 - ProFTPD seems to re-read the
37904	file two times in RETR command.
37905
379062006-09-11  castaglia <castaglia>
37907
37908	* configure: Updating configure.
37909
379102006-09-11  castaglia <castaglia>
37911
37912	* Make.rules.in, Makefile.in, config.h.in, configure.in: Add support
37913	for a PR_LOCALE_DIR, which will contain the localised string files
37914	for different locales.  The location of this directory can be set,
37915	at compile-time, using the --datadir configure option.  Run-time
37916	configuration of this path is done using mod_lang's LangPath
37917	directive.
37918
379192006-09-09  castaglia <castaglia>
37920
37921	* README.modules, doc/modules/mod_lang.html: Add mostly-done
37922	documentation for mod_lang module, and mention mod_lang in the
37923	README.modules file.  (Note that I still need to write README.NLS.)
37924
379252006-09-09  castaglia <castaglia>
37926
37927	* configure: Updated configure.
37928
379292006-09-09  castaglia <castaglia>
37930
37931	* RELEASE_NOTES, configure.in, modules/mod_lang.c: Adding mod_lang
37932	to the mix, for supporting the LANG command, as part of implementing
37933	RFC2640.
37934
379352006-09-08  castaglia <castaglia>
37936
37937	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
37938	src/main.c: Bug#2837 - Defines improperly persist across daemon
37939	restarts.
37940
379412006-09-08  castaglia <castaglia>
37942
37943	* NEWS, contrib/mod_quotatab.c: Bug#2835 - Group quotas not honored
37944	for supplemental group membership.
37945
379462006-09-07  castaglia <castaglia>
37947
37948	* RELEASE_NOTES: Typo.
37949
379502006-09-07  castaglia <castaglia>
37951
37952	* NEWS, contrib/mod_tls.c: Bug#2825 - SSL/TLS CRLs are not working
37953	properly.
37954
379552006-09-07  castaglia <castaglia>
37956
37957	* contrib/mod_ldap.c: Check for PR_USE_OPENSSL as well as
37958	HAVE_OPENSSL.
37959
379602006-09-07  castaglia <castaglia>
37961
37962	* contrib/mod_sql.c: Correct the checks for HAVE_OPENSSL and
37963	PR_USE_OPENSSL in mod_sql.
37964
379652006-09-07  castaglia <castaglia>
37966
37967	* contrib/mod_radius.c: Make the ordering of OpenSSL header
37968	inclusion a little more legible.
37969
379702006-09-07  castaglia <castaglia>
37971
37972	* contrib/mod_radius.c: When proftpd has been compiled to use
37973	OpenSSL, then mod_radius has no need for using it's own MD5
37974	routines; we can use those from OpenSSL instead.
37975
379762006-09-07  castaglia <castaglia>
37977
37978	* configure: Updated configure.
37979
379802006-09-07  castaglia <castaglia>
37981
37982	* configure.in: Make sure the USE_OPENSSL macro is set if mod_tls is
37983	compiled in.
37984
379852006-09-07  castaglia <castaglia>
37986
37987	* src/bindings.c: Style changes; no functional change.
37988
379892006-09-07  castaglia <castaglia>
37990
37991	* NEWS: Added mod_wrap2 to the distro.
37992
379932006-09-07  castaglia <castaglia>
37994
37995	* README.modules, RELEASE_NOTES: Updating docs for mention of
37996	mod_wrap2.  Needs to fleshed out more.
37997
379982006-09-07  castaglia <castaglia>
37999
38000	* contrib/mod_wrap2/configure: Adding configure script for
38001	mod_wrap2.
38002
380032006-09-07  castaglia <castaglia>
38004
38005	* contrib/mod_wrap2_file.c, contrib/mod_wrap2_sql.c: Adding
38006	mod_wrap2 submodules.
38007
380082006-09-06  castaglia <castaglia>
38009
38010	* contrib/mod_wrap2/Makefile.in, contrib/mod_wrap2/configure.in,
38011	contrib/mod_wrap2/mod_wrap2.c, contrib/mod_wrap2/mod_wrap2.h.in:
38012	Adding mod_wrap2 to the contrib/ area.
38013
380142006-09-06  castaglia <castaglia>
38015
38016	* doc/contrib/index.html, doc/contrib/mod_wrap2.html,
38017	doc/contrib/mod_wrap2_file.html, doc/contrib/mod_wrap2_sql.html:
38018	Adding documentation for the mod_wrap2 et al modules.
38019
380202006-09-05  castaglia <castaglia>
38021
38022	* include/modules.h: The privdata structure is no longer used.
38023
380242006-08-24  castaglia <castaglia>
38025
38026	* contrib/mod_sql.c: When determining the backend database module to
38027	use, mod_sql was using the *first* entry in the list of backends,
38028	rather than the *last*, as is documented.  Updated the default
38029	behavior to properly use the last entry (which is the first module
38030	loaded).
38031
380322006-08-17  castaglia <castaglia>
38033
38034	* modules/mod_ls.c: Fix an issue noticed by Daniel, using lftp (but
38035	not ftp).  When handling an NLST command on an empty directory, lftp would
38036	receive a TCP RST from proftpd, rather than the more polite FIN.
38037	This would happen because proftpd did a lazy opening of the data
38038	connection; the connection would be opened only when proftpd, when
38039	listing the contents of the directory, encountered something to
38040	list.  In the case of an empty directory, there would be nothing to
38041	list.  Hence no accept(2) for the client's data connection, followed
38042	by a close() on the socket.  In the TCP world, this is "slamming the
38043	connection closed", and hence the client would receive a RST -- the
38044	initial handshake was not completed before the socket was closed.  The fix, then, is trivial: always open the data connection,
38045	regardless of whether there is data to be sent, when handling NLST
38046	commands.  (For some reason this issue does not seem to affect the
38047	LIST command.)
38048
380492006-08-16  jwm <jwm>
38050
38051	* contrib/mod_ldap.c: fix debug message format (thanks to mathew
38052	<meta@pobox.com>)
38053
380542006-08-09  castaglia <castaglia>
38055
38056	* modules/mod_core.c: Prevent users from misconfiguring their
38057	servers silently by trying to use something like "<Global ~user>" in
38058	their proftpd.conf.
38059
380602006-08-04  castaglia <castaglia>
38061
38062	* doc/howto/Limit.html: Mention that <Limit LOGIN> does not work as
38063	expected within <Directory> sections.
38064
380652006-08-02  castaglia <castaglia>
38066
38067	* NEWS, include/options.h, src/main.c: Bug#2774 - Idle clients
38068	exhibit excessive usage of system resources.
38069
380702006-07-20  castaglia <castaglia>
38071
38072	* RELEASE_NOTES, include/fsio.h, modules/mod_core.c, src/fsio.c: At
38073	Michael's suggestion, add a UseUTF8 directive, for run-time
38074	disabling of UTF8 support.
38075
380762006-06-29  castaglia <castaglia>
38077
38078	* modules/mod_auth_unix.c: Not only was the persistent_passwdf
38079	variable never used, neither was the _get_ppw_info() function.
38080
380812006-06-29  castaglia <castaglia>
38082
38083	* Makefile.in: Fix missing dependency of the `install-proftpd'
38084	target on the $(includedir).  There was a dependency already on
38085	$(includedir)/proftpd -- but that is not the same.
38086
380872006-06-28  castaglia <castaglia>
38088
38089	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c:
38090	Bug#2809 - conf.h should be included before mysql.h in
38091	mod_sql_mysql.c.  The mod_sql_postgres module was similarly updated.
38092
380932006-06-28  castaglia <castaglia>
38094
38095	* NEWS, modules/mod_auth_file.c: Bug#2803 - mod_auth_file does not
38096	properly iterate through AuthUserFile entries.  The issue was one of
38097	rewinding an already open AuthUserFile, every time
38098	pr_auth_getpwent() was called.  The mod_auth_file module has been
38099	restructured to avoid this.  The code was also substantially
38100	changed, removing a lot of dead code for a never-used feature (that
38101	of supporting multiple AuthUserFiles within the same server
38102	context).
38103
381042006-06-28  castaglia <castaglia>
38105
38106	* NEWS, contrib/mod_wrap.c: Bug#2810 - Incorrect use of assignment
38107	instead of comparison in mod_wrap.
38108
381092006-06-22  castaglia <castaglia>
38110
38111	* include/lastlog.h, src/lastlog.c: Oops.  Forgot to check these
38112	files in.  They're for Bug #2610.
38113
381142006-06-22  jwm <jwm>
38115
38116	* modules/mod_ctrls.c: auth_(uid|gid)2name have become
38117	pr_auth_(uid|gid)2name
38118
381192006-06-22  castaglia <castaglia>
38120
38121	* include/proftpd.h, modules/mod_auth_unix.c: There's absolutely no
38122	reason for the pwdfname and grpfname variables to be visible outside
38123	of mod_auth_unix.
38124
381252006-06-22  castaglia <castaglia>
38126
38127	* modules/mod_auth_pam.c: Explicitly set the size of the authtable
38128	array.  Some picky compilers apparently don't like array
38129	declarations without the size.
38130
381312006-06-20  castaglia <castaglia>
38132
38133	* NEWS, contrib/mod_sql.c: Bug#2807 - mod_sql processes SQLLog QUIT
38134	query twice.
38135
381362006-06-16  castaglia <castaglia>
38137
38138	* modules/mod_auth_unix.c: Remove unused variables and simplify the
38139	code.
38140
381412006-06-16  castaglia <castaglia>
38142
38143	* contrib/mod_ldap.c: auth_check() -> pr_auth_check()
38144
381452006-06-16  castaglia <castaglia>
38146
38147	* contrib/mod_sql.c: Style cleanup.
38148
381492006-06-16  castaglia <castaglia>
38150
38151	* configure: Updating configure.
38152
381532006-06-16  castaglia <castaglia>
38154
38155	* config.h.in, configure.in, src/main.c: Enhance the -V output to
38156	include the CFLAGS, LDFLAGS, and LIBS used to compile proftpd.
38157
381582006-06-16  castaglia <castaglia>
38159
38160	* contrib/mod_site_misc.c: Updating mod_site_misc to handle
38161	UTF8-encoded paths.
38162
381632006-06-16  castaglia <castaglia>
38164
38165	* NEWS: Bug#2626 - "ERROR" macro collision can cause compiler errors
38166	on HP-UX.
38167
381682006-06-16  castaglia <castaglia>
38169
38170	* Makefile.in: There is no real need to clean the include/
38171	directory.
38172
381732006-06-16  castaglia <castaglia>
38174
38175	* contrib/mod_ban.c, contrib/mod_ctrls_admin.c,
38176	contrib/mod_ifsession.c, contrib/mod_ldap.c,
38177	contrib/mod_quotatab.c, contrib/mod_radius.c, contrib/mod_ratio.c,
38178	contrib/mod_readme.c, contrib/mod_rewrite.c,
38179	contrib/mod_site_misc.c, contrib/mod_sql.c,
38180	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
38181	contrib/mod_tls.c, contrib/mod_wrap.c: Updating contrib modules to
38182	use PR_ERROR, PR_DECLINED, and PR_HANDLED.
38183
381842006-06-16  castaglia <castaglia>
38185
38186	* contrib/mod_load/mod_load.c.in: Update mod_load to use PR_HANDLED.
38187
381882006-06-16  castaglia <castaglia>
38189
38190	* modules/mod_auth.c, modules/mod_auth_file.c,
38191	modules/mod_auth_pam.c, modules/mod_auth_unix.c, modules/mod_cap.c,
38192	modules/mod_core.c, modules/mod_ctrls.c, modules/mod_delay.c,
38193	modules/mod_dso.c, modules/mod_log.c, modules/mod_ls.c,
38194	modules/mod_site.c, modules/mod_xfer.c: Updating the core modules to
38195	use the PR_ERROR, PR_DECLINED, and PR_HANDLED macros.  Also includes
38196	style changes.
38197
381982006-06-16  castaglia <castaglia>
38199
38200	* doc/mod_sample.c: Updating the sample module to reflect ongoing
38201	changes in the core code.
38202
382032006-06-16  castaglia <castaglia>
38204
38205	* modules/mod_auth.c: To enable lastlog support requires
38206	--with-lastlog, not --enable-lastlog.
38207
382082006-06-16  castaglia <castaglia>
38209
38210	* include/compat.h, include/dirtree.h, include/modules.h: Start work
38211	towards Bug #2626 -- renaming the ERROR macro to PR_ERROR, to avoid
38212	namespace collisions on some platforms (i.e. HP-UX).  The DECLINED
38213	and HANDLED macros will be similarly renamed to PR_DECLINED and
38214	PR_HANDLED.  Compatibility redefines in compat.h will help to make the transition
38215	transparent (hopefully).
38216
382172006-06-16  castaglia <castaglia>
38218
38219	* src/main.c: Forgot a few places where SIG_REHASH was renamed to
38220	SIG_RESTART.
38221
382222006-06-16  castaglia <castaglia>
38223
38224	* configure: Updating configure.
38225
382262006-06-16  castaglia <castaglia>
38227
38228	* include/proftpd.h, src/main.c: Remove all the old "struct rehash"
38229	callback stuff.  Replace mention of "rehash" with "restart".
38230
382312006-06-16  castaglia <castaglia>
38232
38233	* include/proftpd.h, src/main.c: Remove the deprecated
38234	pr_rehash_register_handler() function.  This functionality is now
38235	available via the Events API, by registering an event handler for
38236	the 'core.restart' event.
38237
382382006-06-16  castaglia <castaglia>
38239
38240	* Make.rules.in, Makefile.in, NEWS, configure.in,
38241	include/Makefile.in: Bug#2719 - ProFTPD should install its header
38242	files into the installation location.
38243
382442006-06-15  castaglia <castaglia>
38245
38246	* include/.cvsignore: Preparing to ignore the generated Makefile
38247	that will appear in the include/ directory.
38248
382492006-06-15  castaglia <castaglia>
38250
38251	* configure: Updating configure.
38252
382532006-06-15  castaglia <castaglia>
38254
38255	* Make.rules.in, NEWS, RELEASE_NOTES, config.h.in, configure.in,
38256	include/conf.h, modules/mod_auth.c, src/main.c: Bug#2610 - Support
38257	for logging to /var/log/lastlog.
38258
382592006-06-15  castaglia <castaglia>
38260
38261	* src/dirtree.c: Change fixup_globals() so that it operates on the
38262	same list as given to fixup_servers(), rather than using the global
38263	server_list variable.  (There are cases where the two lists may not
38264	be the same.)
38265
382662006-06-15  castaglia <castaglia>
38267
38268	* include/pool.h, src/pool.c: Removing unused pool code.
38269
382702006-06-15  castaglia <castaglia>
38271
38272	* doc/contrib/mod_sql.html: Update the mod_sql docs, as per changes
38273	for Bug #2784.  Remove the list of deprecated directives from ancient mod_sql
38274	versions.
38275
382762006-06-15  castaglia <castaglia>
38277
38278	* NEWS, RELEASE_NOTES, contrib/mod_sql_mysql.c: Bug#2784 - Ability
38279	to specify MySQL Unix domain socket path.
38280
382812006-06-15  castaglia <castaglia>
38282
38283	* NEWS, RELEASE_NOTES, modules/mod_core.c: Bug#2798 - MDTM should
38284	return time in GMT.
38285
382862006-06-14  castaglia <castaglia>
38287
38288	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2687 - Support for
38289	more efficient group table schema.
38290
382912006-06-14  castaglia <castaglia>
38292
38293	* src/utf8.c: Use "C" as a default local character set, if we cannot
38294	determine a better one.
38295
382962006-06-14  castaglia <castaglia>
38297
38298	* src/utf8.c: Add a trace message of the character set to which UTF8
38299	conversion will be done.
38300
383012006-06-14  castaglia <castaglia>
38302
38303	* src/netaddr.c: Use separate log messages for the cases where
38304	getaddrinfo(3) and getnameinfo(3) fail, to differentiate between
38305	syscall errors (in which case, log errno) and errors with the
38306	functions themselves (in which case, use gai_strerror(3)).
38307
383082006-06-14  castaglia <castaglia>
38309
38310	* NEWS, src/log.c: Bug#2801 - Error compiling proftpd on NetBSD
38311	3.0/sparc64.
38312
383132006-06-14  castaglia <castaglia>
38314
38315	* NEWS, contrib/mod_tls.c: Bug#2800 - free_proc_title() in developer
38316	build tries to free strings from pool allocated by mod_tls.
38317
383182006-06-13  castaglia <castaglia>
38319
38320	* src/scoreboard.c: Silence compiler warning (seen under
38321	--enable-devel) by renaming variable.
38322
383232006-06-12  castaglia <castaglia>
38324
38325	* doc/howto/DSO.html: Update example Makefile to include DESTDIR.
38326
383272006-06-12  castaglia <castaglia>
38328
38329	* contrib/mod_load/Makefile.in: Make sure that mod_load's Makefile
38330	honors DESTDIR.  Thanks to Ken Zalewski for pointing this out.
38331
383322006-06-09  castaglia <castaglia>
38333
38334	* doc/contrib/mod_sql.html: Typo.
38335
383362006-06-09  castaglia <castaglia>
38337
38338	* RELEASE_NOTES: Updating the release notes.
38339
383402006-06-09  castaglia <castaglia>
38341
38342	* NEWS, contrib/mod_ctrls_admin.c,
38343	doc/contrib/mod_ctrls_admin.html, include/scoreboard.h,
38344	modules/mod_core.c, src/scoreboard.c: Bug#2797 - Add ability to
38345	force cleaning the scoreboard.
38346
383472006-06-08  castaglia <castaglia>
38348
38349	* contrib/mod_sql.c: Restore the use of CF_MERGEDOWN_MULTI on SQLLog
38350	and SQLShowInfo directives, but only when mod_ifsession is in use.
38351
383522006-06-08  castaglia <castaglia>
38353
38354	* contrib/mod_sql.c: No need to set CF_MERGEDOWN_MULTI on directives
38355	that cannot appear in <Directory> sections, i.e. SQLLog and
38356	SQLShowInfo.
38357
383582006-06-08  castaglia <castaglia>
38359
38360	* configure: Updating configure.
38361
383622006-06-08  castaglia <castaglia>
38363
38364	* configure.in: Fixing typo in handling of --enable-devel=profile
38365	configure option.
38366
383672006-06-07  castaglia <castaglia>
38368
38369	* doc/howto/Chroot.html: Bug#1323: DefaultRoot not working with nfs
38370	root squash + protected directories.
38371
383722006-05-26  castaglia <castaglia>
38373
38374	* configure: Updated configure script.
38375
383762006-05-26  castaglia <castaglia>
38377
38378	* modules/mod_core.c: Modify mod_core for handling UTF8 paths, and
38379	mark it for i18n.
38380
383812006-05-26  castaglia <castaglia>
38382
38383	* config.h.in, configure.in, include/fsio.h, modules/mod_ls.c,
38384	modules/mod_site.c, modules/mod_xfer.c, src/fsio.c, src/main.c,
38385	src/netio.c: Marking more places in the source for gettext
38386	manipulation.  Added two new functions, pr_fs_decode_path() and
38387	pr_fs_encode_path(), which are to be used for encoding to/from UTF8
38388	paths (or not).
38389
383902006-05-26  castaglia <castaglia>
38391
38392	* src/trace.c: Change the format of the TraceLog: The log entry does
38393	not need to contain any server information.
38394
383952006-05-26  castaglia <castaglia>
38396
38397	* src/table.c, src/trace.c: Miscellaneous improvements: when dumping
38398	a table, include the length of the value data (for cases where the
38399	value is binary, and not a string); when adding new trace channels,
38400	make a copy of the channel name, as callers will not do so.
38401
384022006-05-26  castaglia <castaglia>
38403
38404	* NEWS: Correct a bug number.
38405
384062006-05-25  castaglia <castaglia>
38407
38408	* configure: Updating configure.
38409
384102006-05-25  castaglia <castaglia>
38411
38412	* Make.rules.in, config.h.in, configure.in, include/conf.h,
38413	include/dirtree.h, include/utf8.h, modules/mod_auth.c,
38414	modules/mod_core.c, modules/mod_ls.c, modules/mod_site.c,
38415	modules/mod_xfer.c, src/data.c, src/help.c, src/main.c, src/utf8.c:
38416	Adding UTF8 encoding/decoding functions.  Marking source, preparing
38417	it for use with the gettext utilities.  Part of the work towards making the proftpd source i18n/l10n ready.
38418
384192006-05-25  castaglia <castaglia>
38420
38421	* NEWS, RELEASE_NOTES, modules/mod_log.c: Bug#2793 - LogFormat
38422	variable for the ProFTPD version.
38423
384242006-05-25  castaglia <castaglia>
38425
38426	* NEWS, RELEASE_NOTES, modules/mod_xfer.c: Bug#2775 - Support for
38427	DisplayFileTransfer directive.
38428
384292006-05-24  castaglia <castaglia>
38430
38431	* README.AIX: Updating the AIX notes with remarks about gcc versions
38432	which do and don't work.
38433
384342006-05-23  castaglia <castaglia>
38435
38436	* NEWS, modules/mod_ctrls.c: Bug#2792 - ProFTPD fails after SIGHUP
38437	signal when Controls support is enabled.
38438
384392006-05-23  castaglia <castaglia>
38440
38441	* src/dirtree.c: Style tweaks.  Add handling of signals to a while()
38442	loop.
38443
384442006-05-23  castaglia <castaglia>
38445
38446	* configure: Updating configure script.
38447
384482006-05-23  castaglia <castaglia>
38449
38450	* configure.in: Fix the --without-getopt configure option so that it
38451	properly disables checks for the getopt_long() function and getopt.h
38452	header, in addition to disabling the check for the getopt()
38453	function.  This was causing a problem on FreeBSD 4.x builds, where
38454	the libgnugetopt package would install a getopt.h header (picked up
38455	by proftpd's configure script) that had a conflicting redefinition
38456	of the getopt struct.
38457
384582006-05-23  castaglia <castaglia>
38459
38460	* configure.in: Fix a bug, reported via the Debian bug system, where
38461	the paths from which proftpd would look for shared libraries
38462	included the --sbindir.  The issue was the use of the -rpath linker parameter when linking
38463	the proftpd executable; it is not necessary.  Loading of DSO modules
38464	does not seem to be affected by the removal of that -rpath.
38465
384662006-05-22  castaglia <castaglia>
38467
38468	* contrib/mod_tls.c: Remove Perlism causing a broken module.  Add
38469	handling of signals to a potentially long-running while loop.
38470
384712006-05-22  castaglia <castaglia>
38472
38473	* NEWS, contrib/mod_tls.c: Bug#2514 - Trouble with mod_tls and DSA
38474	certificates.
38475
384762006-05-19  castaglia <castaglia>
38477
38478	* src/netaddr.c: Fix some compiler warnings, and a syntax error.
38479
384802006-05-18  castaglia <castaglia>
38481
38482	* src/trace.c: If pr_trace_msg() is used with an unknown channel,
38483	return -1 rather than 0.
38484
384852006-05-18  castaglia <castaglia>
38486
38487	* configure: Updating configure script.
38488
384892006-05-18  castaglia <castaglia>
38490
38491	* Make.rules.in, NEWS, RELEASE_NOTES, config.h.in, configure.in,
38492	contrib/mod_ctrls_admin.c, include/conf.h, include/trace.h,
38493	modules/mod_core.c, src/main.c, src/response.c, src/trace.c:
38494	Bug#2506 - Better ability to configure what sort of debug output to
38495	generate.
38496
384972006-05-18  castaglia <castaglia>
38498
38499	* src/netaddr.c: Add debug logging (level 10) of when the ACL
38500	comparison functions pr_netaddr_cmp() and pr_netaddr_ncmp() are
38501	comparing an IPv4 address against an IPv4-mapped IPv6 address.
38502
385032006-05-17  castaglia <castaglia>
38504
38505	* NEWS, README.IPv6, src/netacl.c, src/netaddr.c: More work on
38506	Bug#2785.
38507
385082006-05-15  castaglia <castaglia>
38509
38510	* doc/howto/DSO.html: Make note of some of the errors you might
38511	encounter when using DSO modules.
38512
385132006-05-15  castaglia <castaglia>
38514
38515	* NEWS, README.IPv6, README.PAM, README.classes, RELEASE_NOTES,
38516	modules/mod_core.c, modules/mod_xfer.c, src/netacl.c: Getting the
38517	restored SourceForge devel CVS repository back up to sync, after
38518	their hard disk failure.  Joy.
38519
385202006-05-12  castaglia <castaglia>
38521
38522	* README.AIX: Document that some versions of AIX have sendfile
38523	issues.
38524
385252006-05-05  castaglia <castaglia>
38526
38527	* contrib/mod_tls.c: Clean up the handling of the
38528	TLSCACertificatePath directive.
38529
385302006-04-21  castaglia <castaglia>
38531
38532	* contrib/mod_quotatab.c, doc/contrib/mod_quotatab.html: Forgot to
38533	add the description for the QuotaExcludeFilter directive.
38534
385352006-04-21  castaglia <castaglia>
38536
38537	* NEWS, RELEASE_NOTES, contrib/mod_quotatab.c,
38538	contrib/mod_quotatab.h, doc/contrib/mod_quotatab.html,
38539	doc/howto/Quotas.html: Bug#2713 - Ability to check a user's existing
38540	disk bytes/files usage and update tally accordingly.
38541
385422006-04-21  castaglia <castaglia>
38543
38544	* contrib/mod_sql.h: Update the mod_sql header.  Crufty information,
38545	and a typo.
38546
385472006-04-21  castaglia <castaglia>
38548
38549	* include/feat.h, src/feat.c: Change the way the Feat API stores
38550	features to be listed, from using an array to using a table.  This
38551	makes it much easier to remove features from the listing.
38552
385532006-04-21  castaglia <castaglia>
38554
38555	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
38556	contrib/mod_sql_postgres.c: Expanding the HOOKs exposed by mod_sql,
38557	so that other contrib modules can run their own SQL statements
38558	without having to reinvent mod_sql's wheel.
38559
385602006-04-21  castaglia <castaglia>
38561
38562	* NEWS, README.modules, RELEASE_NOTES, contrib/mod_ban.c,
38563	doc/contrib/mod_ban.html: Adding mod_ban.
38564
385652006-04-20  castaglia <castaglia>
38566
38567	* NEWS, src/inet.c: Bug#2733 - IP TOS not being set for data
38568	transfers.
38569
385702006-04-20  castaglia <castaglia>
38571
38572	* src/parser.c: Adding some sanity checks for NULL pointers, pointed
38573	out by Coverity scans.  Also remove some unnecessary conditionals.
38574
385752006-04-20  castaglia <castaglia>
38576
38577	* modules/mod_log.c: "writeable" -> "writable".
38578
385792006-04-20  castaglia <castaglia>
38580
38581	* modules/mod_xfer.c: Clean up dead code spotted by Coverity scan.
38582
385832006-04-20  castaglia <castaglia>
38584
38585	* modules/mod_auth.c: Clean up dead code spotted by Coverity scan.
38586	Also fixup some formatting issues while I'm here.
38587
385882006-04-20  castaglia <castaglia>
38589
38590	* modules/mod_auth_file.c, src/data.c: Clean up dead code spotted by
38591	Coverity scan.
38592
385932006-04-20  castaglia <castaglia>
38594
38595	* contrib/mod_sql.c: Clean up dead code spotted by Coverity.
38596
385972006-04-19  castaglia <castaglia>
38598
38599	* RELEASE_NOTES, modules/mod_xfer.c: Get the ball rolling on
38600	deprecating HiddenStor, in favor of HiddenStores.
38601
386022006-04-19  castaglia <castaglia>
38603
38604	* configure: Updating configure.
38605
386062006-04-19  castaglia <castaglia>
38607
38608	* NEWS, configure.in: As part of addressing Bug #2447, make use of
38609	the --enable-openssl autoconf option automatically add libssl and
38610	libcrypto to the library list.
38611
386122006-04-19  castaglia <castaglia>
38613
38614	* NEWS, config.h.in, configure.in, contrib/mod_ldap.c,
38615	contrib/mod_sql.c, src/main.c: Bug#2447 - HAVE_OPENSSL should be
38616	managed in configure.
38617
386182006-04-17  castaglia <castaglia>
38619
38620	* NEWS, RELEASE_NOTES, modules/mod_log.c: Bug#2651 - LogFormat
38621	should support variable for logging the response message.
38622
386232006-04-17  castaglia <castaglia>
38624
38625	* doc/contrib/mod_quotatab.html,
38626	doc/contrib/mod_quotatab_radius.html: Update mod_quotatab docs with
38627	links to RADIUS submodule.
38628
386292006-04-17  castaglia <castaglia>
38630
38631	* NEWS, README.modules, RELEASE_NOTES,
38632	contrib/mod_quotatab_radius.c, contrib/mod_radius.c,
38633	doc/contrib/mod_quotatab_radius.html: Bug#2627 - Support for RADIUS
38634	quotatab module.
38635
386362006-04-17  castaglia <castaglia>
38637
38638	* NEWS, contrib/mod_sql.c: Mention in NEWS that CreateHome should be
38639	used instead of SQLHomedirOnDemand.  Mark the SQLHomedirOnDemand
38640	config handler as deprecated in the mod_sql source.
38641
386422006-04-17  castaglia <castaglia>
38643
38644	* modules/mod_core.c: As per the warnings in the 1.3.0 release
38645	cycle, the Bind directive was deprecated, and is now removed.
38646
386472006-04-17  castaglia <castaglia>
38648
38649	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2628 -
38650	SQLHomedirOnDemand should be deprecated.
38651
386522006-04-17  castaglia <castaglia>
38653
38654	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html:
38655	Bug#2686 - Allow CCC command but still require SSL/TLS protection
38656	during authentication.
38657
386582006-04-17  castaglia <castaglia>
38659
38660	* NEWS, RELEASE_NOTES, doc/howto/CreateHome.html,
38661	doc/howto/index.html, modules/mod_auth.c, src/mkhome.c: Bug#2611 -
38662	CreateHome should allow non-root-owned parent directories.
38663
386642006-04-17  castaglia <castaglia>
38665
38666	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, doc/contrib/mod_tls.html:
38667	Bug#2599 - Support for using OpenSSL "engines".
38668
386692006-04-17  castaglia <castaglia>
38670
38671	* configure: Updating configure.
38672
386732006-04-17  castaglia <castaglia>
38674
38675	* NEWS, config.h.in, configure.in, modules/mod_auth_pam.c: Bug#2769
38676	- mod_auth_pam needs a patch to allow pam_group to work.
38677
386782006-04-17  castaglia <castaglia>
38679
38680	* NEWS, doc/modules/mod_delay.html, modules/mod_delay.c: Bug#2664 -
38681	Add 'delay info' ftpdctl action for showing DelayTable values.
38682
386832006-04-17  castaglia <castaglia>
38684
38685	* NEWS, src/inet.c: Bug#2777 - ProFTPD does handle data sockets
38686	properly on FreeBSD 6.
38687
386882006-04-16  castaglia <castaglia>
38689
38690	* modules/mod_xfer.c: At some point in the future, proftpd will
38691	support the MODE Z command.  When that happens, mod_xfer will need
38692	to not use sendfile() if MODE Z has been requested.
38693
386942006-04-16  castaglia <castaglia>
38695
38696	* NEWS, modules/mod_xfer.c: Bug#2740 - TYPE command not allowed
38697	before USER/PASS, causes problem for `ftp -n'.
38698
386992006-04-16  castaglia <castaglia>
38700
38701	* NEWS, modules/mod_core.c: Bug#2654 - FEAT command should be
38702	subject to <Limit>.
38703
387042006-04-16  castaglia <castaglia>
38705
38706	* NEWS, contrib/mod_tls.c: Bug#2753 - CCC not closing SSL/TLS
38707	connection correctly.
38708
387092006-04-16  castaglia <castaglia>
38710
38711	* NEWS, include/dirtree.h, include/table.h, src/dirtree.c,
38712	src/table.c: Bug#2535 - Compare directives using integer comparisons
38713	when possible to improve performance.
38714
387152006-04-16  castaglia <castaglia>
38716
38717	* NEWS, modules/mod_auth_unix.c: Bug#2721 - mod_auth_unix does not
38718	behave properly when first in AuthOrder.
38719
387202006-04-16  castaglia <castaglia>
38721
38722	* NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug#2714 -
38723	mod_auth_file munges AuthUserFile, AuthGroupFile records.
38724
387252006-04-16  castaglia <castaglia>
38726
38727	* doc/howto/Debugging.html: Adding mention of the stack trace
38728	logging to the Debugging howto.
38729
387302006-04-16  castaglia <castaglia>
38731
38732	* configure: Updating configure.
38733
387342006-04-16  castaglia <castaglia>
38735
38736	* NEWS, RELEASE_NOTES, config.h.in, configure.in,
38737	include/options.h, src/main.c: Bug#2766 - Support for automatic
38738	stack trace if SIGSEGV is received.
38739
387402006-04-16  castaglia <castaglia>
38741
38742	* include/version.h: Now that 1.3.0 is out, we can start on 1.3.1.
38743
387442006-04-16  castaglia <castaglia>
38745
38746	* ChangeLog: Updating the ChangeLog.
38747
387482006-04-16  castaglia <castaglia>
38749
38750	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
38751	for release of 1.3.0-final.
38752
387532006-04-10  castaglia <castaglia>
38754
38755	* lib/glibc-mkstemp.c: Fix typo in mkstemp() implementation, noted
38756	by Charles Seeger.
38757
387582006-04-08  castaglia <castaglia>
38759
38760	* doc/howto/ConfigFile.html: Update the description of the
38761	User/Group directives to mention effective versus real privs, and
38762	how some programs report on real instead of effective privs.
38763
387642006-03-22  castaglia <castaglia>
38765
38766	* NEWS, lib/glibc-glob.c, lib/pwgrent.c, src/fsio.c: Quell several
38767	compiler warnings: Bug#2770 - FreeBSD compiler warning that "__GLIBC__" is not defined.
38768	Bug#2771 - FreeBSD compiler warning about undeclared
38769	           fgetpwent/fgetgrent functions.  Bug#2772 - FreeBSD compiler warning
38770	that "_FILE_OFFSET_BITS" is not defined.
38771
387722006-03-22  castaglia <castaglia>
38773
38774	* Make.rules.in, NEWS: Bug#2733 - libtool requires sh/bash.
38775
387762006-03-22  castaglia <castaglia>
38777
38778	* utils/ftptop.c, utils/scoreboard.c: Minor fixes to ftptop: use
38779	snprintf(3) rather than sprintf(3), and make sure that any
38780	scoreboard path set via the -f command-line option actually exists.
38781
387822006-03-18  castaglia <castaglia>
38783
38784	* ChangeLog: Updated ChangeLog.
38785
387862006-03-18  castaglia <castaglia>
38787
38788	* NEWS, RELEASE_NOTES, contrib/dist/rpm/proftpd.spec,
38789	include/version.h: Rolling up RC5 release.
38790
387912006-03-17  castaglia <castaglia>
38792
38793	* NEWS, modules/mod_delay.c: Bug#2723 - mod_delay causes process to
38794	hang on OS X when proftpd exits.
38795
387962006-03-17  castaglia <castaglia>
38797
38798	* RELEASE_NOTES: Updating the release notes for the RC5 release.
38799
388002006-03-16  castaglia <castaglia>
38801
38802	* README.controls, doc/howto/Controls.html: Make notes about how
38803	Controls are affected by ServerType.
38804
388052006-03-15  castaglia <castaglia>
38806
38807	* src/main.c: We need to copy the session addresses into memory
38808	after any reverse DNS resolution is performed, not before.
38809
388102006-03-15  castaglia <castaglia>
38811
38812	* NEWS, modules/mod_log.c, modules/mod_xfer.c, src/main.c: Bug#2765
38813	- Child process segfaults while handling a SIGTERM.  A field from a
38814	structure whose memory had been freed by the time the field was
38815	referenced was tickling the segfault.
38816
388172006-03-15  castaglia <castaglia>
38818
38819	* modules/mod_auth.c: Remove slightly misleading (and outdated)
38820	comment.
38821
388222006-03-15  castaglia <castaglia>
38823
38824	* NEWS, modules/mod_auth.c: Make the workaround for Bug#2717 be
38825	specific to glibc-2.3 or greater, not to Linux in general.
38826
388272006-03-15  castaglia <castaglia>
38828
38829	* NEWS, modules/mod_auth.c: Bug#2717 - Wrong timestamp in logs for
38830	chrooted processes.
38831
388322006-03-14  castaglia <castaglia>
38833
38834	* NEWS, modules/mod_xfer.c: Bug#2764 - REST command does not return
38835	an error for negative numbers.
38836
388372006-03-12  castaglia <castaglia>
38838
38839	* include/privs.h: Remove some duplicating logging in the
38840	PRIVS_RELINQUISH macro definition.
38841
388422006-03-11  castaglia <castaglia>
38843
38844	* include/version.h: Forgot to change the status back to "CVS", for
38845	now.
38846
388472006-03-09  castaglia <castaglia>
38848
38849	* doc/contrib/mod_sql.html: Add description of the SQLBackend
38850	directive.
38851
388522006-03-09  castaglia <castaglia>
38853
38854	* configure: Updating configure.
38855
388562006-03-09  castaglia <castaglia>
38857
38858	* configure.in: Updating changes made for fixing Bug#2759 so that
38859	the libsupp library can be found.
38860
388612006-03-08  castaglia <castaglia>
38862
38863	* configure: Updating configure.
38864
388652006-03-08  castaglia <castaglia>
38866
38867	* NEWS, configure.in: Bug#2759 - Adding --with-includes to configure
38868	can cause problems when building with other packages.
38869
388702006-03-06  castaglia <castaglia>
38871
38872	* doc/howto/NAT.html: Add a description of what can happen if the
38873	configured PassivePorts range is too small.
38874
388752006-03-06  castaglia <castaglia>
38876
38877	* NEWS, contrib/dist/rpm/proftpd.spec: Bug#2757 - Add support for
38878	quota modules to RPM spec.
38879
388802006-03-01  castaglia <castaglia>
38881
38882	* RELEASE_NOTES: Updating release notes.
38883
388842006-03-01  castaglia <castaglia>
38885
38886	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
38887	Preparing for release of 1.3.0rc4.
38888
388892006-02-23  castaglia <castaglia>
38890
38891	* doc/rfc/rfc4217.txt: The old IETF Draft which defined FTPS was
38892	finally upgraded to a full-fledged RFC in Nov 2005, as RFC4217.
38893
388942006-02-23  castaglia <castaglia>
38895
38896	* doc/howto/SQL.html: Added FAQ about libz linker errors to SQL
38897	howto.
38898
388992006-02-21  castaglia <castaglia>
38900
38901	* modules/mod_delay.c: Add more debug logging, level 10, for when
38902	mod_delay mmaps or munmaps.  This is for tracking down Bug #2723.
38903	Also handle the case where munmap(2) fails.
38904
389052006-02-21  castaglia <castaglia>
38906
38907	* NEWS, modules/mod_core.c: Bug#2752 - FEAT reply not RFC 2389
38908	compliant.
38909
389102006-02-08  castaglia <castaglia>
38911
38912	* NEWS, src/data.c: Bug#2746 - Data transfer function does not
38913	return error condition in case of read errors.  Now the
38914	pr_data_xfer() loop will error out if there is an error returned by
38915	pr_netio_read(), just as is already done if there is an error
38916	returned by pr_netio_write().
38917
389182006-01-11  castaglia <castaglia>
38919
38920	* doc/howto/AuthFiles.html, doc/howto/index.html: Added the
38921	AuthFiles howto (it was referenced by the ConfigFile howto).
38922
389232006-01-04  castaglia <castaglia>
38924
38925	* modules/mod_xfer.c: Fix a warning about an unused variable.  The
38926	tcp_level variable is really only used if TCP_CORK is defined; thus
38927	it should be declared within an #ifdef TCP_CORK block.
38928
389292005-12-27  castaglia <castaglia>
38930
38931	* RELEASE_NOTES: Mention the OSX tweaks in the Release Notes.
38932
389332005-12-27  castaglia <castaglia>
38934
38935	* src/main.c: Initialise the session.proc_prefix string upon client
38936	connection.  There was a strange edge case, involving
38937	mod_wrap-2.0.x, where proftpd was calling set_proc_title() using a
38938	NULL session.proc_prefix.  GNU libc handles printfs of NULLs
38939	gracefully, but other libc implementations (e.g. Solaris) are not as
38940	forgiving; this edge case was leading to segfaults on those
38941	platforms.
38942
389432005-12-19  castaglia <castaglia>
38944
38945	* NEWS, modules/mod_xfer.c: Bug#2735 - Allow REST 0 in ASCII mode.
38946
389472005-12-13  castaglia <castaglia>
38948
38949	* NEWS, contrib/mod_sql.c: Bug#2709 - mod_sql improperly strips
38950	spaces from names, allowing for confusing authentication.
38951
389522005-12-07  castaglia <castaglia>
38953
38954	* NEWS, modules/mod_auth_pam.c: Bug#2729 - Authorative PAM
38955	authentication doesn't work.
38956
389572005-12-05  castaglia <castaglia>
38958
38959	* RELEASE_NOTES, doc/howto/Quotas.html, doc/howto/index.html: Adding
38960	Quotas howto to doc/ area.
38961
389622005-12-02  jwm <jwm>
38963
38964	* contrib/mod_ldap.c: some overdue cleanup: - use braces everywhere. honestly, i don't know why i wrote code
38965	this way.  - now that we're using strtoul() sanity checking on default [UG]IDs,
38966	  we don't need the isdigit() checking - use get_param_ptr for single-argument directives instead of
38967	find_config() - if a directive is present (get_param_ptr() returns non-NULL),
38968	  assign its value to the config variable; we don't want to assume
38969	  default values in the variable initialization as well as the getconf
38970	handler.
38971
389722005-12-02  jwm <jwm>
38973
38974	* contrib/mod_ldap.c: - complain about invalid default [UG]IDs - only allocate enough arguments in the config_rec for LDAPDoAuth
38975	  and LDAPDoUIDLookups to cover the arguments specified
38976
389772005-12-02  jwm <jwm>
38978
38979	* contrib/mod_ldap.c: - remove get_param_int() usage; store values in an allocated pointer
38980	intsead - config handlers now take their directive name from c->argv[0],
38981	  saving a few bytes of static strings
38982
389832005-11-29  castaglia <castaglia>
38984
38985	* doc/contrib/mod_tls.html: Adding more specific instructions for
38986	what a TLSCertificateChainFile should contain.
38987
389882005-11-29  castaglia <castaglia>
38989
38990	* NEWS, src/inet.c: Bug#2374 revisited, for the sake of updated Mac
38991	OSX releases.  When is a regression not a regression?  When it's the
38992	fault of the host system, not the application code.  Sigh.
38993
389942005-11-19  castaglia <castaglia>
38995
38996	* doc/howto/DSO.html: Adding more comments to the DSO howto, based
38997	on user feedback/questions.
38998
389992005-11-16  jwm <jwm>
39000
39001	* contrib/mod_ldap.c: release 2.8.16
39002
390032005-11-15  castaglia <castaglia>
39004
39005	* doc/contrib/mod_quotatab.html: Formatting changes.
39006
390072005-11-15  castaglia <castaglia>
39008
39009	* doc/contrib/mod_quotatab.html: Improve the mod_quotatab doc,
39010	emphasizing the definitions of limit and tally tables.  Also add
39011	HTML anchors, for easier referencing from the upcoming Quotas howto.
39012
390132005-11-14  castaglia <castaglia>
39014
39015	* doc/contrib/mod_tls.html: Update description of AllowDotLogin
39016	TLSOption, as proftpd now will not prompt for a password if none is
39017	required.
39018
390192005-11-14  castaglia <castaglia>
39020
39021	* NEWS, include/pr-syslog.h, lib/pr-syslog.c, src/log.c: Bug#2705 -
39022	proftpd fails to log anything to syslog after dropping privs on
39023	Solaris.  Since proftpd has custom syslog routines, we can simply add an
39024	accessor function for setting the static log_facility variable.
39025	libc-based syslogging cannot do this; proftpd used libc syslog
39026	routines in the past, hence the need to call openlog() again if the
39027	facility changed.  Thanks to Kostantinos Koukopoulos for the patch.
39028
390292005-11-12  castaglia <castaglia>
39030
39031	* NEWS, modules/mod_core.c: Bug#2712 - DisplayFirstChdir directive
39032	does not work.
39033
390342005-11-11  castaglia <castaglia>
39035
39036	* NEWS, include/ctrls.h, modules/mod_ctrls.c, src/ctrls.c: Bug#2711
39037	- Controls socket detection broken.
39038
390392005-11-10  castaglia <castaglia>
39040
39041	* src/ctrls.c: Copy the full length of the socket path, including
39042	the terminating NUL.
39043
390442005-11-08  castaglia <castaglia>
39045
39046	* contrib/mod_tls.c: Make the log messages generated during
39047	certificate verification a little cleaner.  Also add explicit
39048	handling of the INVALID_PURPOSE error case.
39049
390502005-11-08  castaglia <castaglia>
39051
39052	* configure: Updating configure.
39053
390542005-11-08  castaglia <castaglia>
39055
39056	* NEWS, configure.in: Bug#2708 - configure cannot detect some
39057	headers.
39058
390592005-11-04  castaglia <castaglia>
39060
39061	* NEWS, src/log.c: Bug#2706 - utmp/wtmp logging on NetBSD needs some
39062	tweaks.
39063
390642005-11-04  castaglia <castaglia>
39065
39066	* NEWS, modules/mod_xfer.c: Bug#2703 - Disk quota exceeded for small
39067	files not being triggered.
39068
390692005-10-31  castaglia <castaglia>
39070
39071	* include/version.h: Bump version to 1.3.0rc4 (hopefully will turn
39072	out to be 1.3.0-stable).
39073
390742005-10-31  castaglia <castaglia>
39075
39076	* ChangeLog: One more update.
39077
390782005-10-31  castaglia <castaglia>
39079
39080	* src/fsio.c: Correct usage of pr_fsio_readlink().
39081
390822005-10-31  castaglia <castaglia>
39083
39084	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
39085	for 1.3.0rc3 roll.
39086
390872005-10-31  castaglia <castaglia>
39088
39089	* ChangeLog: Updating ChangeLog.
39090
390912005-10-28  castaglia <castaglia>
39092
39093	* RELEASE_NOTES: Updating release notes.
39094
390952005-10-26  castaglia <castaglia>
39096
39097	* src/fsio.c: Drat.  Forgot to replace all occurrences of
39098	->readlink() with pr_fsio_readlink().
39099
391002005-10-26  castaglia <castaglia>
39101
39102	* modules/mod_facl.c: Use direct pointer assignment rather than
39103	acl_copy_entry(); the latter is not needed.  Patch supplied by
39104	Patrick McHardy.
39105
391062005-10-26  castaglia <castaglia>
39107
39108	* src/fsio.c: When cleaning the path in pr_insert_fs(), only add a
39109	trailing path separator if the original path had one _and_ the
39110	current cleaned path does _not_ have one.  Thanks to Patrick McHardy
39111	for pointing this out.
39112
391132005-10-26  castaglia <castaglia>
39114
39115	* src/fsio.c: Patrick McHardy pointed out that in a couple of
39116	places, the FSIO API uses the readlink function pointer, registered
39117	for an fs_t, directly.  However, it is not required for registered
39118	fs_ts to provide any particular FSIO function.  Thus
39119	pr_fsio_readlink(), which iterates through the fs layers in order to
39120	find the first that does provide a readlink function, should be
39121	used.
39122
391232005-10-23  castaglia <castaglia>
39124
39125	* contrib/mod_sql.c: Fix a segfault expanding the '%h' sequence for
39126	an SQLLog EXIT command by using the proper API.  Related to Bug
39127	#2695.
39128
391292005-10-20  castaglia <castaglia>
39130
39131	* doc/contrib/mod_tls.html: Fixed example installation instructions
39132	for mod_tls.
39133
391342005-10-19  castaglia <castaglia>
39135
39136	* configure: Updating configure.
39137
391382005-10-19  castaglia <castaglia>
39139
39140	* config.h.in, configure.in, include/ctrls.h, modules/mod_ctrls.c,
39141	src/ctrls.c: Change the location of the logic used to determine
39142	whether the platform prefers S_ISFIFO or S_ISSOCK for detecting Unix
39143	domain sockets.  Rather than using a test program as part of the
39144	configure script, move the check into the init_ctrls() code, so that
39145	it can be done at run-time.
39146
391472005-10-18  castaglia <castaglia>
39148
39149	* contrib/mod_sql.c, modules/mod_log.c: Fix handling of the %f log
39150	variable for the RNTO command.  Both mod_log and mod_sql were using
39151	session.xfer.path for %f, when in the case of RNTO, the %f that is
39152	desired is actually the argument of the command, cmd->arg, not
39153	session.xfer.path.
39154
391552005-10-18  castaglia <castaglia>
39156
39157	* contrib/mod_sql.c, modules/mod_log.c: When expanding the %J log
39158	variable (for command arguments), be sure to hide the arguments for
39159	the PASS command.
39160
391612005-10-10  castaglia <castaglia>
39162
39163	* README.IPv6, src/netacl.c: Only use the full range of characters
39164	which appear in an IPv6 (and IPv4) address when IPv6 support is
39165	enabled.  Also, document the case where, when IPv6 support *is* enabled,
39166	certain DNS names are not handled as one would expect, due to the
39167	heuristics used by the ACL parser.
39168
391692005-10-08  castaglia <castaglia>
39170
39171	* RELEASE_NOTES, doc/howto/Filters.html, doc/howto/Regex.html,
39172	doc/howto/index.html: Add the regular expression tutorial to the
39173	doc/howto/ area.
39174
391752005-10-08  castaglia <castaglia>
39176
39177	* RELEASE_NOTES: Add some notes to the RELEASE_NOTES file for the
39178	upcoming 1.3.0rc3 release.
39179
391802005-10-08  castaglia <castaglia>
39181
39182	* configure: Updating configure.
39183
391842005-10-08  castaglia <castaglia>
39185
39186	* config.h.in, configure.in, modules/mod_ctrls.c: Add an autoconf
39187	check to see if the platform prefers S_ISFIFO or S_ISSOCK for Unix
39188	domain sockets.  It seems that some systems (e.g. UnixWare) prefer
39189	S_ISFIFO, even though the file is created/bound using
39190	socket(2)/bind(2) rather than mknod(2).  Isn't portability grand.  The added test defines a PR_ISSOCK_UNIX macro, defined to the
39191	appropriate S_IS* macro, for use in proftpd code.
39192
391932005-09-28  castaglia <castaglia>
39194
39195	* doc/howto/Limit.html: Style.
39196
391972005-09-28  castaglia <castaglia>
39198
39199	* src/dirtree.c, src/support.c: Style.
39200
392012005-09-27  castaglia <castaglia>
39202
39203	* src/response.c: Style.
39204
392052005-09-27  castaglia <castaglia>
39206
39207	* NEWS, src/response.c: Bug#2692 - R_DUP response messages can break
39208	the FTP protocol responses.
39209
392102005-09-27  castaglia <castaglia>
39211
39212	* NEWS, include/privs.h: Bug#2682 - Signals can interrupt privilege
39213	switching.  To guard against this, the PRIVS macros now all contain
39214	pr_signals_block()/pr_signals_unblock() guards.
39215
392162005-09-26  castaglia <castaglia>
39217
39218	* NEWS, contrib/mod_tls.c: Bug#2697 - Improper SSL session shutdown
39219	sequence used for some FTPS clients.
39220
392212005-09-21  castaglia <castaglia>
39222
39223	* modules/mod_core.c: Clean up the debug logging done when handling
39224	config directive regexes.  No need to report on the memory location
39225	for the allocated regex.
39226
392272005-09-21  castaglia <castaglia>
39228
39229	* doc/contrib/mod_tls.html: Typo.
39230
392312005-09-21  castaglia <castaglia>
39232
39233	* doc/contrib/mod_tls.html: Use of the StdEnvVars TLSOption does not
39234	necessarily increase the process memory footprint; it depends on the
39235	various memory allocator caching strategies involved.
39236
392372005-09-20  castaglia <castaglia>
39238
39239	* doc/contrib/mod_tls.html: Enhancing the explanations of the
39240	TLSCACertificateFile and TLSRandomSeed directives.
39241
392422005-09-20  castaglia <castaglia>
39243
39244	* doc/contrib/mod_tls.html: Minor updates to mod_tls doc.
39245
392462005-09-19  castaglia <castaglia>
39247
39248	* NEWS, contrib/mod_radius.c, contrib/mod_sql.c, include/netaddr.h,
39249	src/log.c, src/main.c, src/netaddr.c: Bug#2695 - Client IP/host is
39250	not logged when client exits.
39251
392522005-09-19  castaglia <castaglia>
39253
39254	* modules/mod_xfer.c: Style.
39255
392562005-09-08  castaglia <castaglia>
39257
39258	* README.modules: Minor corrections to the location of contrib
39259	module documentation, thanks to Sven Hoexter.
39260
392612005-09-08  castaglia <castaglia>
39262
39263	* contrib/mod_tls.c: Log in the TLSLog when mod_tls denies FTP
39264	commands because of the configured security policy.
39265
392662005-09-05  castaglia <castaglia>
39267
39268	* src/netaddr.c: When reporting DNS resolution errors, report the
39269	type of address requested, i.e. IPv4 or IPv6.
39270
392712005-09-04  castaglia <castaglia>
39272
39273	* NEWS, include/parser.h, src/main.c, src/parser.c: Bug#2689 -
39274	Parser does not complain about unclosed configuration sections.
39275
392762005-08-30  castaglia <castaglia>
39277
39278	* RELEASE_NOTES: Fix typo.
39279
392802005-08-28  castaglia <castaglia>
39281
39282	* src/fsio.c: After cleaning the path given to pr_insert_fs(), we
39283	make sure it has a trailing '/' path separator character.  However,
39284	this is only necessary if the path being inserted is not '/' itself.
39285	Check for that case, and make sure to not add the trailing '/' if it
39286	is not needed.
39287
392882005-08-25  castaglia <castaglia>
39289
39290	* contrib/mod_tls.c: The mod_tls version information was missing
39291	from a couple of log messages.
39292
392932005-08-24  castaglia <castaglia>
39294
39295	* NEWS, modules/mod_ls.c: Bug#2685 - ListOptions' max parameters
39296	cannot be set higher than 255.
39297
392982005-08-23  castaglia <castaglia>
39299
39300	* modules/mod_auth.c, modules/mod_core.c, src/main.c: Log, at debug
39301	level 6, if there was an error displaying a Display file.
39302
393032005-08-23  castaglia <castaglia>
39304
39305	* src/dirtree.c: Add explanatory comment.  When researching a
39306	problem earlier, I was a bit confused by the reuse of a pool
39307	variable; the comment is a reminder of what is going on.
39308
393092005-08-16  castaglia <castaglia>
39310
39311	* INSTALL: Update the section of the INSTALL doc that talks about
39312	xinetd configuration; as of xinetd-2.3.11, the 'RECORD' logging
39313	option has been deprecated.
39314
393152005-08-10  jwm <jwm>
39316
39317	* README.LDAP: update README.LDAP; oops, i've been forgetting about
39318	this
39319
393202005-08-07  castaglia <castaglia>
39321
39322	* modules/mod_core.c: When reporting on use or nonuse of <IfModule>
39323	and <IfDefine> sections, correctly report the "!" character.
39324	Otherwise, the reporting is confusing.
39325
393262005-08-07  castaglia <castaglia>
39327
39328	* contrib/mod_tls.c: When handling any error returned by
39329	SSL_shutdown(3) (after it has been called the second time), and the
39330	error is not explicitly handled by the switch statement, log the
39331	error code.  This will help in debugging certain cases where
39332	tls_get_error() returns "(unknown)", which possibly indicates no
39333	error occurred.
39334
393352005-08-07  castaglia <castaglia>
39336
39337	* configure: Updating configure.
39338
393392005-08-07  castaglia <castaglia>
39340
39341	* NEWS, configure.in: Bug#2676 - configure option --disable-ipv6
39342	enables IPv6.
39343
393442005-08-04  castaglia <castaglia>
39345
39346	* NEWS, contrib/mod_sql.c: Bug#2674 - mod_sql string escape problem
39347	during group lookups.
39348
393492005-08-03  castaglia <castaglia>
39350
39351	* contrib/mod_radius.c: Pad the size of the radius_packet_t
39352	structure.
39353
393542005-08-03  castaglia <castaglia>
39355
39356	* NEWS, contrib/mod_radius.c: Bug#2669 - mod_radius segfaults if
39357	PASS command sent with no USER command.
39358
393592005-08-02  castaglia <castaglia>
39360
39361	* doc/howto/ListOptions.html: Fix documentation for "-a" ListOption.
39362
393632005-08-02  castaglia <castaglia>
39364
39365	* NEWS, modules/mod_ctrls.c: Bug#2668 - mod_ctrls fails to open
39366	socket during SIGHUP.
39367
393682005-08-02  castaglia <castaglia>
39369
39370	* modules/mod_facl.c: Add debugging output, level 6, showing when
39371	mod_facl has successfully registered its FS handler.
39372
393732005-08-01  castaglia <castaglia>
39374
39375	* modules/mod_ctrls.c: Display the mod_ctrls version when using
39376	`proftpd -vv'.
39377
393782005-08-01  castaglia <castaglia>
39379
39380	* src/ftpdctl.c: Display the name of the socket path being contacted
39381	when `ftpdctl -v' is used.
39382
393832005-08-01  castaglia <castaglia>
39384
39385	* NEWS: Bug#2667 - mod_tls handles SIGHUP badly.  Stop registering
39386	the handler for the "core.postparse" event in the "core.restart"
39387	event handler; such multiple registrations cause the
39388	"core.postparse" event handler to be invoked multiple times.
39389
393902005-07-31  castaglia <castaglia>
39391
39392	* contrib/mod_tls.c: The "core.restart" event handler for mod_tls
39393	was registering a handler for the "core.postparse" event; however,
39394	one was already being registered.  The duplicate "core.postparse"
39395	registrations would cause the handler to be called repeatedly,
39396	leading to locking of key passphrases into memory multiple times and
39397	other unintended funniness.
39398
393992005-07-27  castaglia <castaglia>
39400
39401	* NEWS, modules/mod_xfer.c: Bug#2662 - OpenSolaris/Solaris 11 has
39402	TCP_CORK but not SOL_TCP.
39403
394042005-07-27  castaglia <castaglia>
39405
39406	* NEWS, contrib/dist/rpm/proftpd.spec: Bug#2660 - Add mod_facl in
39407	rpm spec file.
39408
394092005-07-27  castaglia <castaglia>
39410
39411	* contrib/mod_tls.c: Explicitly mention that $SSL_CERT_DIR is an
39412	environment variable.
39413
394142005-07-24  castaglia <castaglia>
39415
39416	* include/version.h: Updating version.
39417
394182005-07-24  castaglia <castaglia>
39419
39420	* ChangeLog: Updating ChangeLog.
39421
394222005-07-24  castaglia <castaglia>
39423
39424	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
39425	for release of 1.3.0rc2.
39426
394272005-07-24  castaglia <castaglia>
39428
39429	* NEWS, contrib/mod_radius.c: Bug#2658 - Segfault in mod_radius when
39430	using long password.
39431
394322005-07-21  castaglia <castaglia>
39433
39434	* RELEASE_NOTES: Fix typo.
39435
394362005-07-21  castaglia <castaglia>
39437
39438	* contrib/mod_tls.c: Slight paranoia about calling BIO_free() on
39439	possibly NULL pointer.
39440
394412005-07-21  castaglia <castaglia>
39442
39443	* NEWS, contrib/mod_tls.c: Bug#2657 - Segfault in tls_get_error()
39444	function in mod_tls.
39445
394462005-07-19  castaglia <castaglia>
39447
39448	* doc/howto/Classes.html, doc/howto/SQL.html: Updating Class and SQL
39449	howtos.
39450
394512005-07-15  castaglia <castaglia>
39452
39453	* NEWS: Minor rewording of NEWS, with respect to POSIX ACLs.
39454
394552005-07-08  castaglia <castaglia>
39456
39457	* RELEASE_NOTES: Updating the release notes.
39458
394592005-07-08  castaglia <castaglia>
39460
39461	* NEWS, modules/mod_xfer.c: Bug#2653 - When MaxStoreFileSize is
39462	reached, error should be EDQUOT rather than EPERM.
39463
394642005-07-07  castaglia <castaglia>
39465
39466	* NEWS, src/data.c: Bug#2560 - Reporting errors when user filesystem
39467	quota is exceeded.
39468
394692005-07-07  castaglia <castaglia>
39470
39471	* modules/mod_log.c: With the fixing of Bug #1965, the mod_log
39472	module no longer needs a PRE_CMD handler in order to properly log
39473	the QUIT command; the POST_CMD C_ANY handler suffices.  In fact, the
39474	PRE_CMD C_QUIT handler currently in place means that the QUIT
39475	command would be logged twice in an ExtendedLog.
39476
394772005-07-05  castaglia <castaglia>
39478
39479	* doc/howto/DNS.html, doc/howto/VirtualUsers.html,
39480	doc/howto/index.html: Adding DNS, VirtualUsers howtos.
39481
394822005-07-05  castaglia <castaglia>
39483
39484	* NEWS, contrib/mod_sql.c: Bug#2645 - SQLShowInfo format string
39485	vulnerability.
39486
394872005-07-05  castaglia <castaglia>
39488
39489	* NEWS, src/response.c: Bug#2646 - ftpshut format string
39490	vulnerability.
39491
394922005-07-03  castaglia <castaglia>
39493
39494	* contrib/mod_ldap.c, contrib/mod_radius.c, contrib/mod_sql.c,
39495	contrib/mod_tls.c, modules/mod_auth.c, modules/mod_auth_file.c,
39496	modules/mod_auth_pam.c, modules/mod_auth_unix.c: Update the auth
39497	modules to set the session.auth_mech member with the name of the
39498	module which successfully authenticates a user.
39499
395002005-07-03  castaglia <castaglia>
39501
39502	* NEWS: Bug#2375 - Slow directory listing with several blank
39503	.ftpaccess files.
39504
395052005-07-03  castaglia <castaglia>
39506
39507	* src/dirtree.c: When parsing .ftpaccess files, check that the size
39508	of the .ftpaccess file is non-zero before handling it.  This is
39509	related to Bug #2375, if not _the_ culprit.  I suspect that there
39510	are more improvements to be made with regards to .ftpaccess file
39511	processing, though.
39512
395132005-07-02  castaglia <castaglia>
39514
39515	* NEWS, contrib/mod_sql.c: Fix segfault where using SQLLog to
39516	execute a SQLNamedQuery (which uses %L or %a) for the EXIT command
39517	would attempt to use freed memory.
39518
395192005-07-02  castaglia <castaglia>
39520
39521	* modules/mod_xfer.c: Set the current working directory, in the FSIO
39522	layer, before an open() call.  This may be the cause of some strange
39523	behaviors seen with some of my FSIO modules (i.e. mod_md5).
39524
395252005-07-02  castaglia <castaglia>
39526
39527	* modules/mod_delay.c: More bounds checking in mod_delay, as part of
39528	an investigation into Bug #2621 using valgrind.
39529
395302005-06-30  castaglia <castaglia>
39531
39532	* NEWS, include/conf.h: Bug#2647 - Improper "socklen_t" redefine for
39533	HP-UX when using X/Open.
39534
395352005-06-29  castaglia <castaglia>
39536
39537	* doc/modules/mod_delay.html: This document covers mod_delay, not
39538	mod_dso.  Fix typo.
39539
395402005-06-27  castaglia <castaglia>
39541
39542	* NEWS, contrib/mod_sql_mysql.c: Bug#2644 - mod_sql_mysql should
39543	handle old MySQL password format more gracefully.
39544
395452005-06-27  castaglia <castaglia>
39546
39547	* configure: Updating configure.
39548
395492005-06-27  castaglia <castaglia>
39550
39551	* config.h.in, configure.in: Check for the size of a time_t.  We do
39552	not need this immediately, but we will soon.
39553
395542005-06-23  castaglia <castaglia>
39555
39556	* contrib/mod_quotatab_sql.c: Fix a rather broken assignment.  Newer
39557	versions of gcc, being less lenient, choke on this assignment
39558	whereas older versions of gcc let it pass.
39559
395602005-06-22  castaglia <castaglia>
39561
39562	* contrib/mod_tls.c: Always set the tls_pkey_list pointer to NULL
39563	after scrubbing the list.  Also, be sure to scrub that list at
39564	session initialization time if TLSEngine is not on for the session.
39565
395662005-06-22  castaglia <castaglia>
39567
39568	* src/fsio.c: The changes in the FSIO API to support chained FS
39569	objects changed some things; the lookup_file_fs() function made
39570	assumptions which were broken by those changes.  Update
39571	lookup_file_fs() to properly deal with FS objects whose stat or
39572	lstat function pointers may be NULL.
39573
395742005-06-22  castaglia <castaglia>
39575
39576	* src/fsio.c: Off by one in my calculation; PR_TUNABLE_PATH_MAX-1 is
39577	the last usable index in the buffer.  Of course, I may still be
39578	wrong here, but I'd rather be wrong by too large of a difference,
39579	rather than too small.
39580
395812005-06-21  castaglia <castaglia>
39582
39583	* src/fsio.c: Tracking down a bug in my crufty mod_md5fs module
39584	revealed the cause to be a subtle bug in pr_insert_fs().  The path
39585	provided by the caller was being cleaned via pr_fs_clean_path(),
39586	which would remove any trailing path separators.  However, in the
39587	case of FSIO FS objects, that trailing separator is important.
39588	Re-add it if it was there.
39589
395902005-06-21  castaglia <castaglia>
39591
39592	* configure: Update configure.
39593
395942005-06-21  castaglia <castaglia>
39595
39596	* src/bindings.c: The ipv6_supported variable need only be defined
39597	if --enable-ipv6 is used.
39598
395992005-06-21  castaglia <castaglia>
39600
39601	* configure.in: If the --enable-ctrls configure option is used,
39602	mod_ctrls will be built as a static module.  To get mod_ctrls to be
39603	built as a shared module, use --enable-ctrls and list mod_ctrls in
39604	the --with-shared list.  However, I have not tested how well
39605	mod_ctrls behaves as a shared module...
39606
396072005-06-21  castaglia <castaglia>
39608
39609	* src/main.c: Display the default libexec/ directory for the -V
39610	option, if DSO support is enabled.
39611
396122005-06-21  castaglia <castaglia>
39613
39614	* configure: Updating configure.
39615
396162005-06-21  castaglia <castaglia>
39617
39618	* configure.in, src/bindings.c: Undo yesterday's autoconf change for
39619	IPv6 support detection.  Instead, move that detection into
39620	init_bindings(), although I suspect that it will be needed in other
39621	places of the code as well.  At least this way, though, a proftpd
39622	compiled using --enable-ipv6 on an IPv4 box will still start up
39623	properly and accept connections.
39624
396252005-06-21  castaglia <castaglia>
39626
39627	* NEWS: Update the description of Bug #2573, making note of the
39628	changed behavior and how to address it (as per Bug #2640).
39629
396302005-06-20  castaglia <castaglia>
39631
39632	* configure: Updating configure.
39633
396342005-06-20  castaglia <castaglia>
39635
39636	* configure.in: Have autoconf check for IPv6 support when the
39637	--enable-ipv6 configure option is used.  It is completely possible
39638	for an IPv4-only box to be used to compile a proftpd configured
39639	using --enable-ipv6.  When that proftpd is started on the IPv4-only
39640	box, it would choke inexplicably.  This is due to changes made for
39641	Bug #2758.
39642
396432005-06-20  castaglia <castaglia>
39644
39645	* src/netaddr.c: Log when we are looking for IPv4 addresses via DNS,
39646	and when we're looking for IPv6 addresses.
39647
396482005-06-20  castaglia <castaglia>
39649
39650	* src/mkhome.c: Make sure to reset the umask in the case where
39651	mkdir() could fail.  Otherwise, the umask of the process will be
39652	left in the wrong state.
39653
396542005-06-20  castaglia <castaglia>
39655
39656	* doc/contrib/mod_ifsession.html: Updating mod_ifsession docs.
39657
396582005-06-18  castaglia <castaglia>
39659
39660	* contrib/mod_tls.c: OpenSSL 0.9.8 changed some macro names (and did
39661	not document it *sigh*).  Update mod_tls to use the new names as
39662	necessary.
39663
396642005-06-18  castaglia <castaglia>
39665
39666	* NEWS, modules/mod_delay.c: Bug#2630 - Use of mmap in mod_delay may
39667	be problematic on HP-UX.
39668
396692005-06-16  castaglia <castaglia>
39670
39671	* include/table.h, src/table.c: Add a new table flag,
39672	PR_TABLE_FL_USE_CACHE.  By default, this flag is off.  The caching
39673	behavior of previously-looked up keys in the table accessors was a
39674	bit confusing (which itself indicates the need for better table
39675	documentation).  Make use of that lookup cache disabled by default,
39676	so that the behavior is least surprising to developers.  Callers
39677	that require higher performance tables can enable the flag as
39678	needed.
39679
396802005-06-16  castaglia <castaglia>
39681
39682	* src/table.c: Added some missing pr_signals_handle() calls in while
39683	loops.
39684
396852005-06-15  castaglia <castaglia>
39686
39687	* NEWS, modules/mod_xfer.c: Bug#2639 - HiddenStores does not work.
39688
396892005-06-15  castaglia <castaglia>
39690
39691	* src/dirtree.c: Set a valid errno for pr_is_boolean().
39692
396932005-06-14  castaglia <castaglia>
39694
39695	* src/auth.c: Add debugging, level 10, of retrieved user/group names
39696	and UIDs/GIDs, similar to what is done during in
39697	pr_auth_getgroups().
39698
396992005-06-14  castaglia <castaglia>
39700
39701	* contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_tls.c,
39702	include/compat.h, include/log.h, modules/mod_core.c,
39703	modules/mod_ctrls.c, modules/mod_log.c, src/log.c, src/xferlog.c:
39704	Move the LOG_* macros (for indicating writable dirs, symlinks, and
39705	permission modes) into the PR_ namespace.  Provide compatibility
39706	macros for source compatibility for other modules, for now.
39707
397082005-06-13  castaglia <castaglia>
39709
39710	* include/log.h, modules/mod_core.c, modules/mod_log.c, src/log.c:
39711	Move the log_str2sysloglevel() function into the 'pr_' namespace.
39712
397132005-06-13  castaglia <castaglia>
39714
39715	* NEWS, modules/mod_xfer.c, src/data.c: Bug#2636 - Data connection
39716	failure when handling STOR does not trigger error response.
39717
397182005-06-12  castaglia <castaglia>
39719
39720	* NEWS, modules/mod_ls.c: Bug#2637 - <Limit STAT> does not work.
39721
397222005-06-12  castaglia <castaglia>
39723
39724	* include/compat.h, include/dirtree.h: Moving some macro (name
39725	redefinitions) into the more appropiate compat.h header.
39726
397272005-06-11  castaglia <castaglia>
39728
39729	* contrib/mod_tls.c: Style consistency and cleanup.
39730
397312005-06-11  castaglia <castaglia>
39732
39733	* contrib/mod_tls.c: Comment typo.
39734
397352005-06-10  castaglia <castaglia>
39736
39737	* contrib/mod_tls.c, include/auth.h, modules/mod_auth.c, src/auth.c:
39738	Removing the overloaded use of pr_auth_authenticate() in mod_auth
39739	for allowing RFC2228 modules to authenticate a user using non-PASS
39740	means.  Instead, there is a new Auth API function, pr_auth_requires_pass().
39741	All modules have a chance to provide handlers for this auth command;
39742	if any module can successfully authenticate the client without
39743	requiring the PASS command, then pr_auth_requires_pass() will return
39744	FALSE.  If and only if pr_auth_requires_pass() returns FALSE will
39745	mod_auth send the 232 response code to the client, indicating that
39746	no PASS command is required.
39747
397482005-06-10  castaglia <castaglia>
39749
39750	* NEWS, lib/pr-syslog.c: Bug#2632 - Invalid application of `sizeof'
39751	to an incomplete type on AIX.
39752
397532005-06-10  castaglia <castaglia>
39754
39755	* doc/howto/NAT.html: Provide an example configuration for the
39756	LAN/WAN MasqueradeAddress issue.
39757
397582005-06-09  castaglia <castaglia>
39759
39760	* doc/howto/SQL.html: Fix typo.
39761
397622005-06-08  castaglia <castaglia>
39763
39764	* NEWS, contrib/mod_radius.c: Bug#2631 - Segfault when using
39765	RadiusAcctServer.
39766
397672005-06-08  castaglia <castaglia>
39768
39769	* doc/howto/SQL.html: Grégoire COLBERT contributed a snippet of PHP
39770	code that can be used to generate base64-encoded MD5-digested
39771	password strings, suitable for use by mod_sql.
39772
397732005-06-07  castaglia <castaglia>
39774
39775	* contrib/mod_radius.c: Minor style cleanup.
39776
397772005-06-06  castaglia <castaglia>
39778
39779	* doc/contrib/mod_rewrite.html: No need for the trailing /, as the
39780	closing } serves as the delimiter.
39781
397822005-06-06  castaglia <castaglia>
39783
39784	* doc/contrib/mod_rewrite.html: The example RewriteRule directive
39785	provided had a problem.  One of its parameters contained an embedded
39786	whitespace, and the example did not enclose that parameter in
39787	quotations, which meant that the config parser would split that
39788	parameter incorrectly.
39789
397902005-06-05  castaglia <castaglia>
39791
39792	* NEWS, README.FreeBSD: Bug#2250 - Add ports, compiling info to
39793	FreeBSD README.
39794
397952005-06-05  castaglia <castaglia>
39796
39797	* README: Updated README to use "1.3.x" as ProFTPD version, rather
39798	than "1.2.x".
39799
398002005-06-03  castaglia <castaglia>
39801
39802	* NEWS, include/fsio.h: Bug#2624 - "fh_data" macro collision causes
39803	compiler error on Tru64 V5.1A.
39804
398052005-06-02  castaglia <castaglia>
39806
39807	* contrib/mod_radius.c: Since mod_radius is distributed with the
39808	proftpd source, it should not have an "RC" version.  It will now be
39809	officially version 0.8.
39810
398112005-06-02  castaglia <castaglia>
39812
39813	* modules/mod_delay.c: Bug#2622 - Segfault seen randomly in
39814	mod_delay.  This patch changes the bounds check for the j variable, which is
39815	decrementing, to be as necessary.
39816
398172005-06-01  castaglia <castaglia>
39818
39819	* modules/mod_core.c: Add better logging of when PORT, PASV, EPRT,
39820	and EPSV are denied because of <Limit> configurations.  Minor code
39821	style changes.
39822
398232005-06-01  castaglia <castaglia>
39824
39825	* doc/contrib/mod_radius.html: Remove extraneous space.
39826
398272005-06-01  castaglia <castaglia>
39828
39829	* doc/contrib/mod_radius.html: Updating mod_radius documentation.
39830
398312005-06-01  castaglia <castaglia>
39832
39833	* README.Solaris2.5x: Use "ProFTPD", not "ProFTP".
39834
398352005-06-01  castaglia <castaglia>
39836
39837	* contrib/mod_radius.c: More strict checking of the number of
39838	parameters for the RadiusLog directive.  In general, this a problem with the CHECK_ARGS macro.  It allows >=
39839	n parameters, where it should check strictly for == n.
39840
398412005-06-01  castaglia <castaglia>
39842
39843	* NEWS, src/bindings.c, src/netaddr.c: Bug#2578 - ProFTPD does not
39844	listen on IPv6 addresses on FreeBSD.
39845
398462005-05-31  castaglia <castaglia>
39847
39848	* NEWS, modules/mod_delay.c: Bug#2622 - Segfault seen randomly in
39849	mod_delay.
39850
398512005-05-31  castaglia <castaglia>
39852
39853	* NEWS, modules/mod_delay.c: Bug#2601 - mod_delay sometimes delays
39854	for a long time.
39855
398562005-05-21  castaglia <castaglia>
39857
39858	* modules/mod_auth.c: If we are unable to resolve a user's home
39859	directory, try to interpolate it (as when the home dir is "~"), in
39860	order to provide a more informative log message to the admin.  This
39861	will greatly help in debugging.
39862
398632005-05-10  castaglia <castaglia>
39864
39865	* NEWS, lib/pr-syslog.c: Bug#2585 - Proftpd does not write RFC 3164
39866	compliant messages into /dev/log.
39867
398682005-05-08  castaglia <castaglia>
39869
39870	* configure: Updated configure.
39871
398722005-05-08  castaglia <castaglia>
39873
39874	* NEWS, configure.in: Bug#2598 - Build system should check for
39875	duplicate module requests.
39876
398772005-05-07  castaglia <castaglia>
39878
39879	* Makefile.in, modules/Makefile.in: Make the use of `test' in the
39880	Makefiles non-silent, to aid in debugging build issues.
39881
398822005-05-07  castaglia <castaglia>
39883
39884	* contrib/mod_load/Makefile.in: Make mod_load's Makefile portable.
39885	Related to Bug#2589.
39886
398872005-05-07  castaglia <castaglia>
39888
39889	* NEWS: Wrong bug number.
39890
398912005-05-07  castaglia <castaglia>
39892
39893	* NEWS, modules/Makefile.in: Bug#2589 - Makefile in modules/
39894	directory is not portable.
39895
398962005-05-07  castaglia <castaglia>
39897
39898	* src/netaddr.c: Typo; we were checking the wrong variable, which
39899	causes the wrong error message to (possibly) be displayed if there
39900	were resolver errors.
39901
399022005-05-06  castaglia <castaglia>
39903
39904	* NEWS, modules/mod_core.c, modules/mod_ctrls.c, src/table.c:
39905	Bug#2605 - Compiler warnings/errors about missing typecasts on
39906	HP-UX.
39907
399082005-05-06  castaglia <castaglia>
39909
39910	* contrib/mod_tls.c: Bug#2607 - Compiler warnings about missing
39911	typecasts in mod_tls on HP-UX.
39912
399132005-05-06  castaglia <castaglia>
39914
39915	* contrib/mod_rewrite.c: Bug#2606 - Compiler warnings about missing
39916	typecasts in mod_rewrite on HP-UX.
39917
399182005-05-01  castaglia <castaglia>
39919
39920	* src/netaddr.c: Log, at debug level 10, if we're returning an IP
39921	address when a DNS name was requested because of the UseReverseDNS
39922	setting.
39923
399242005-04-30  castaglia <castaglia>
39925
39926	* configure: Updating configure.
39927
399282005-04-30  castaglia <castaglia>
39929
39930	* configure.in: Removed --disable-auth-unix configure option.  It
39931	isn't very useful; trying to actually use a proftpd compiled with
39932	that option would not work well.  Perhaps it will come back later,
39933	in a better/more usable fashion.
39934
399352005-04-30  castaglia <castaglia>
39936
39937	* NEWS, contrib/mod_ctrls_admin.c, doc/contrib/mod_ctrls_admin.html:
39938	Add new 'dns' control action to mod_ctrls_admin, for setting
39939	UseReverseDNS at runtime.
39940
399412005-04-30  castaglia <castaglia>
39942
39943	* src/bindings.c: Add debugging denoting when there is no exactly
39944	matching vhost configured for an incoming connection and we end up
39945	using the DefaultServer.
39946
399472005-04-30  castaglia <castaglia>
39948
39949	* NEWS, modules/mod_auth_unix.c: Bug#2582 - ProFTPD on Tru64 with
39950	SIA does not call sia_ses_estab().
39951
399522005-04-29  castaglia <castaglia>
39953
39954	* configure: Updating configure.
39955
399562005-04-29  castaglia <castaglia>
39957
39958	* config.h.in, configure.in, modules/mod_auth_unix.c: Systems with
39959	shadow library support (e.g. Solaris) may require that the
39960	setspent(3) function be called prior to calling getspent(3) et al.
39961
399622005-04-27  castaglia <castaglia>
39963
39964	* configure: Updating configure.
39965
399662005-04-27  castaglia <castaglia>
39967
39968	* NEWS, config.h.in, configure.in: Bug#2588 - AIX requires _USE_IRS
39969	#define to use hstrerror().
39970
399712005-04-25  castaglia <castaglia>
39972
39973	* src/bindings.c: It's possible for pr_ipbind_listen() to be called
39974	without any calls to pr_ipbind_create().  The ipbind_pool was being
39975	initialized in pr_ipbind_create() if it didn't already exist.
39976	pr_ipbind_listen() tries to use ipbind_pool, but did not check to
39977	see if ipbind_pool was initialized.  So when pr_ipbind_listen() was
39978	called without any prior calls to pr_ipbind_create(), proftpd would
39979	segfault.  Oops.
39980
399812005-04-24  castaglia <castaglia>
39982
39983	* config.h.in: Typo.
39984
399852005-04-23  castaglia <castaglia>
39986
39987	* modules/mod_delay.c: Have mod_delay log the random value it adds
39988	to the delay factor, at debug level 10.  Is this where the
39989	extra-long delays are coming from?  Perhaps...
39990
399912005-04-23  castaglia <castaglia>
39992
39993	* contrib/mod_quotatab.c: More formatting tweaks for mod_quotatab's
39994	display in response to a SITE QUOTA command.
39995
399962005-04-23  castaglia <castaglia>
39997
39998	* contrib/mod_quotatab.c: Fix minor formatting/spacing issue seen
39999	when QuotaDisplayUnits is set to something other than 'b' and the
40000	number of units to be displayed is not "unlimited".
40001
400022005-04-23  castaglia <castaglia>
40003
40004	* NEWS, modules/mod_ls.c: Bug#2596 - STAT command can cause
40005	segfault.
40006
400072005-04-22  castaglia <castaglia>
40008
40009	* contrib/mod_sql.c: Be consistent in the style/formatting of the
40010	"cache hit for" messages by quoting the group name, too.
40011
400122005-04-21  castaglia <castaglia>
40013
40014	* NEWS, modules/Makefile.in: Bug#2593 - `make install-modules' does
40015	not honour DESTDIR enviroment variable.
40016
400172005-04-21  jwm <jwm>
40018
40019	* .cvsignore, lib/libltdl/.cvsignore: update for libtool
40020
400212005-04-21  jwm <jwm>
40022
40023	* modules/.cvsignore: - ignore libtool-generated files - mod_linuxprivs is gone
40024
400252005-04-17  castaglia <castaglia>
40026
40027	* NEWS, modules/mod_delay.c, modules/mod_xfer.c: Bug#2590 - AIX uses
40028	unsigned int for ULONG_MAX, causing printf format warning Bug#2591 -
40029	wrong argument type in call to pr_log_debug in mod_delay.c on AIX
40030
400312005-04-15  castaglia <castaglia>
40032
40033	* NEWS, src/dirtree.c: Bug#2587 - HideNoAccess does not work for
40034	DefaultRoot/<Anonymous> logins.
40035
400362005-04-15  castaglia <castaglia>
40037
40038	* include/auth.h, include/compat.h, include/conf.h, include/log.h:
40039	Add a header whose role is to hold preprocessor directives for
40040	backward compatibility.  Function renames, macro changes, etc, that
40041	sort of thing.
40042
400432005-04-11  castaglia <castaglia>
40044
40045	* NEWS, contrib/mod_sql_postgres.c: Bug#2584 - mod_sql_postgres
40046	missing end-of-comment character.
40047
400482005-04-11  castaglia <castaglia>
40049
40050	* include/version.h: Update version.
40051
400522005-04-10  castaglia <castaglia>
40053
40054	* NEWS: Updating release date for 1.3.0rc1.
40055
400562005-04-10  castaglia <castaglia>
40057
40058	* src/data.c: As per comments in Bug #2509, it seems that Linux
40059	x86_64 environments do not support sendfile() for more than 2^31
40060	bytes.  I don't know if Solaris suffers from the same design.  Have I ever mentioned how much I find the sendfile API to be broken?
40061
400622005-04-10  castaglia <castaglia>
40063
40064	* NEWS, modules/mod_delay.c: Bug#2554 - mod_delay gets
40065	segfault-signal on several logins.
40066
400672005-04-04  castaglia <castaglia>
40068
40069	* NEWS, modules/mod_auth_unix.c: Bug#2580 - ProFTPD on Tru64 with
40070	SIA allows login with blank password.
40071
400722005-03-26  castaglia <castaglia>
40073
40074	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
40075	Preparing for release of 1.3.0rc1.
40076
400772005-03-26  jwm <jwm>
40078
40079	* RELEASE_NOTES: mod_ldap is now 2.8.15
40080
400812005-03-26  castaglia <castaglia>
40082
40083	* RELEASE_NOTES: Updating release notes, preparing for release of
40084	1.3.0rc1.
40085
400862005-03-25  castaglia <castaglia>
40087
40088	* NEWS, contrib/mod_tls.c: Bug#2493 - mod_tls should support CCC
40089	command.
40090
400912005-03-18  castaglia <castaglia>
40092
40093	* NEWS, src/support.c: Bug#2576 - PWD command does not handle "
40094	character properly.
40095
400962005-03-17  castaglia <castaglia>
40097
40098	* modules/mod_auth.c: Call PRIVS_ROOT before PRIVS_REVOKE, to make
40099	absolutely sure that the real and effective UIDs are as needed in
40100	order for privs revocation to work.
40101
401022005-03-16  castaglia <castaglia>
40103
40104	* NEWS, modules/mod_ls.c: Bug#2551 - Recursive LIST with symlinked
40105	directories gives duplicate results.
40106
401072005-03-16  castaglia <castaglia>
40108
40109	* modules/mod_ls.c: Cruft removal.
40110
401112005-03-12  castaglia <castaglia>
40112
40113	* modules/mod_ls.c: Fix an unreported bug where attempting to use
40114	the -t directory listing option would trigger a segfault.
40115
401162005-03-11  jwm <jwm>
40117
40118	* contrib/mod_ldap.c: [no log message]
40119
401202005-03-08  castaglia <castaglia>
40121
40122	* NEWS, src/pool.c: Bug#2567 - Segmentation fault with 64-bit binary
40123	due to structure layout difference.
40124
401252005-03-06  castaglia <castaglia>
40126
40127	* contrib/mod_quotatab.c: More consistent log messages.
40128
401292005-03-05  castaglia <castaglia>
40130
40131	* contrib/mod_quotatab.c: Fixed quotatab_fsio_write() to check the
40132	xfer limit as well as the upload limit.
40133
401342005-03-05  castaglia <castaglia>
40135
40136	* NEWS, contrib/mod_quotatab.c: Bug#2515 - mod_quotatab should
40137	enforce hard limits at the filesystem level.
40138
401392005-03-05  castaglia <castaglia>
40140
40141	* NEWS, contrib/mod_tls.c, modules/mod_auth.c, src/auth.c: Bug#2164
40142	- Support non-PASS response codes.
40143
401442005-03-05  castaglia <castaglia>
40145
40146	* NEWS, src/inet.c: Bug#2559 - IPv6 socket option should be set for
40147	ServerType inetd.
40148
401492005-03-04  castaglia <castaglia>
40150
40151	* NEWS, contrib/mod_tls.c: Bug #2573 - TLSProtocol directive in
40152	proftpd.conf is ignored.
40153
401542005-03-02  castaglia <castaglia>
40155
40156	* modules/mod_delay.c: Allow for <IfClass>-based tweaks of the
40157	DelayEngine directive.
40158
401592005-02-28  castaglia <castaglia>
40160
40161	* README.DSO: Mention the DSO howto.
40162
401632005-02-27  castaglia <castaglia>
40164
40165	* README.modules: List mod_facl in the modules README.
40166
401672005-02-27  castaglia <castaglia>
40168
40169	* README.facl: Fleshing out the POSIX ACL doc.
40170
401712005-02-27  castaglia <castaglia>
40172
40173	* README.DSO: Update the DSO doc with information on where to find
40174	more documentation for the mod_dso module.
40175
401762005-02-27  castaglia <castaglia>
40177
40178	* README.DSO: Adding more substance to the DSO doc.
40179
401802005-02-26  castaglia <castaglia>
40181
40182	* RELEASE_NOTES: Mention the new --enable-facl configure option,
40183	mod_facl module in the release notes.
40184
401852005-02-26  castaglia <castaglia>
40186
40187	* src/fsio.c: Fix missing variable declaration.
40188
401892005-02-26  castaglia <castaglia>
40190
40191	* configure: Updating configure.
40192
401932005-02-26  castaglia <castaglia>
40194
40195	* NEWS, README.facl, config.h.in, configure.in, include/conf.h,
40196	include/dirtree.h, include/fsio.h, include/privs.h,
40197	include/proftpd.h, include/support.h, modules/mod_auth.c,
40198	modules/mod_facl.c, modules/mod_ls.c, src/dirtree.c, src/fsio.c,
40199	src/main.c, src/support.c: Bug #2331: Proftpd does not honor POSIX
40200	ACLs.
40201
402022005-02-25  castaglia <castaglia>
40203
40204	* NEWS, contrib/mod_sql_mysql.c: Bug #2563: Linking fails on Solaris
40205	with libz and libmysqlclient.
40206
402072005-02-25  castaglia <castaglia>
40208
40209	* ChangeLog: Updated ChangeLog.
40210
402112005-02-15  jwm <jwm>
40212
40213	* contrib/dist/rpm/proftpd.spec: i don't have access to red hat
40214	machines anymore, so i'm no longer maintaining this
40215
402162005-02-07  castaglia <castaglia>
40217
40218	* include/inet.h, src/inet.c: Use "const char *" where appropriate.
40219
402202005-02-04  castaglia <castaglia>
40221
40222	* NEWS, src/fsio.c: Bug#2556: Rename of directory across devices
40223	fails.
40224
402252005-01-25  castaglia <castaglia>
40226
40227	* NEWS, lib/libcap/cap_sys.c: Bug#2503 - Bundled libcap library does
40228	not compile on IA64 machine.
40229
402302005-01-13  castaglia <castaglia>
40231
40232	* modules/mod_ls.c: The fix for Bug #2229 (rev 1.119 of
40233	modules/mod_ls.c) inadvertently broke globbing; it was calling
40234	globfree(3) on a struct whose members had been allocated from memory
40235	that was not obtained via glob(3).  This is a bad combination.
40236
402372005-01-06  castaglia <castaglia>
40238
40239	* contrib/mod_load/mod_load.c.in, contrib/mod_radius.c,
40240	modules/mod_delay.c: Fix compiler warnings (generated by gcc-3.4.2
40241	on an AMD64 machine running Linux 2.6.9).
40242
402432005-01-06  castaglia <castaglia>
40244
40245	* src/bindings.c: Fix segfault caused by a NULL listener_list.
40246
402472005-01-03  castaglia <castaglia>
40248
40249	* doc/howto/Stopping.html: Updating FAQ URL.
40250
402512005-01-03  castaglia <castaglia>
40252
40253	* INSTALL: Apparently configure scripts don't pass env vars very
40254	well to sub-configure scripts.
40255
402562005-01-02  jwm <jwm>
40257
40258	* lib/glibc-hstrerror.c: silence ranlib's 'object contains no
40259	symbols' warning if the host OS already has hstrerror()
40260
402612005-01-02  castaglia <castaglia>
40262
40263	* RELEASE_NOTES: Make a note to describe the addition of mod_delay
40264	to the module list.
40265
402662005-01-01  castaglia <castaglia>
40267
40268	* doc/contrib/mod_load.html: Updating the mod_load docs to mention
40269	the provided Display variables.
40270
402712005-01-01  castaglia <castaglia>
40272
40273	* doc/howto/DisplayFiles.html: Mention that other modules can add
40274	their own Display variables.
40275
402762005-01-01  castaglia <castaglia>
40277
40278	* contrib/mod_load/mod_load.c.in: Enhance mod_load to use the
40279	Variables API.
40280
402812005-01-01  castaglia <castaglia>
40282
40283	* contrib/mod_load/configure: Updating configure.
40284
402852005-01-01  castaglia <castaglia>
40286
40287	* doc/contrib/mod_load.html: Eliminated the need for Solaris users
40288	to do anything special when building mod_load; its configure script
40289	handles everything.
40290
402912005-01-01  castaglia <castaglia>
40292
40293	* contrib/mod_load/configure.in, contrib/mod_load/getloadavg.c,
40294	contrib/mod_load/mod_load.c, contrib/mod_load/mod_load.c.in:
40295	Modified the configure script to detect when additional libraries
40296	are needed, and to generate mod_load.c from mod_load.c.in, with the
40297	$Libraries$ tag properly populated.  Note that newer autoconf treatment of the AC_FUNC_GETLOADAVG macro
40298	requires that a getloadavg.c file be present, even if empty.  How
40299	annoying.
40300
403012005-01-01  castaglia <castaglia>
40302
40303	* contrib/mod_load/mod_load.c: No need for mod_load's getloadavg()
40304	function to be visible outside of the source file.
40305
403062005-01-01  castaglia <castaglia>
40307
40308	* contrib/mod_load/mod_load.c: Fix some compiler warnings about
40309	formats.  Add an empty $Libraries$ tag.  Soon, mod_load's configure script
40310	will process the mod_load source, and substitute in a list of
40311	libraries that mod_load conditionally requires (e.g. libkstat on
40312	Solaris).
40313
403142005-01-01  castaglia <castaglia>
40315
40316	* contrib/mod_load/mod_load.c: Slightly prettier code organization.
40317
403182005-01-01  castaglia <castaglia>
40319
40320	* contrib/mod_load/mod_load.c: Updating mod_load source style.
40321
403222005-01-01  castaglia <castaglia>
40323
40324	* doc/contrib/index.html: Update doc/contrib index to include
40325	mod_load reference.
40326
403272005-01-01  castaglia <castaglia>
40328
40329	* README.modules, RELEASE_NOTES: Add mod_load to the list of
40330	modules.
40331
403322005-01-01  castaglia <castaglia>
40333
40334	* NEWS, contrib/mod_load/Makefile.in, contrib/mod_load/configure,
40335	contrib/mod_load/configure.in, contrib/mod_load/mod_load.c,
40336	contrib/mod_load/mod_load.h.in, doc/contrib/mod_load.html: Bug#1651
40337	- Add contrib module to limit connection acceptance based on system
40338	load.
40339
403402005-01-01  castaglia <castaglia>
40341
40342	* configure: Updating configure.
40343
403442005-01-01  castaglia <castaglia>
40345
40346	* modules/Makefile.in: Fix the install target when handling only
40347	shared modules that install themselves.
40348
403492005-01-01  castaglia <castaglia>
40350
40351	* .autom4te.cfg, Make.rules.in, Makefile.in, NEWS, configure.in,
40352	modules/Makefile.in: Bug#2549 - Allow contrib modules to be built
40353	from multiple source files.
40354
403552004-12-31  castaglia <castaglia>
40356
40357	* doc/howto/FTP.html: Updating the list of SITE commands supported
40358	by ProFTPD.
40359
403602004-12-31  castaglia <castaglia>
40361
40362	* doc/howto/FTP.html: Updating the list of FTP commands supported by
40363	ProFTPD.
40364
403652004-12-30  castaglia <castaglia>
40366
40367	* contrib/mod_sql_mysql.c: Log if mod_sql_mysql fails to
40368	authenticate a password using the 'backend' SQLAuthType because of a
40369	password mismatch.
40370
403712004-12-30  castaglia <castaglia>
40372
40373	* NEWS, modules/mod_core.c: Bug#2541 - <Directory ~user> path
40374	resolved at startup time, rather than at session time.
40375
403762004-12-30  castaglia <castaglia>
40377
40378	* NEWS, modules/mod_delay.c: Bug#2540 - Fails to disable mod_delay
40379	if no DelayTable file exists.
40380
403812004-12-23  castaglia <castaglia>
40382
40383	* modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c: More
40384	prettification of error messages.
40385
403862004-12-23  castaglia <castaglia>
40387
40388	* contrib/mod_sql.c: Makes for nicer error messages.
40389
403902004-12-23  castaglia <castaglia>
40391
40392	* INSTALL: Updating the installation notes.
40393
403942004-12-17  castaglia <castaglia>
40395
40396	* modules/Makefile.in: Make the Makefile for the modules/ directory
40397	nicer, so that when developing shared modules within the source
40398	directory, make picks up on the updated source file and does The
40399	Right Thing.
40400
404012004-12-17  castaglia <castaglia>
40402
40403	* modules/mod_dso.c: Avoid compiler warning about unused function.
40404
404052004-12-17  castaglia <castaglia>
40406
40407	* NEWS, contrib/mod_ifsession.c: Bug#2536 - mod_ifsession does not
40408	properly merge in all directives.
40409
404102004-12-17  castaglia <castaglia>
40411
40412	* src/sets.c: Update xaset_insert_end() so that it updates the
40413	'next' field of the previous member in the set.
40414
404152004-12-17  castaglia <castaglia>
40416
40417	* contrib/mod_ifsession.c: Hide some of the label strings used by
40418	mod_ifsession by prefacing their names with an underscore.  Such
40419	names are not displayed by pr_config_dump().
40420
404212004-12-17  castaglia <castaglia>
40422
40423	* contrib/mod_ldap.c: Typo.
40424
404252004-12-16  castaglia <castaglia>
40426
40427	* contrib/mod_ctrls_admin.c: Support being unloaded as a shared
40428	module.
40429
404302004-12-16  castaglia <castaglia>
40431
40432	* contrib/mod_rewrite.c: Support being unloaded as a shared module.
40433
404342004-12-16  castaglia <castaglia>
40435
40436	* contrib/mod_radius.c: Add code to support being unloaded as a
40437	shared module.
40438
404392004-12-16  castaglia <castaglia>
40440
40441	* contrib/mod_quotatab.c, contrib/mod_quotatab.h,
40442	contrib/mod_quotatab_file.c, contrib/mod_quotatab_ldap.c,
40443	contrib/mod_quotatab_sql.c: Add a new quotatab_unregister_backend()
40444	function to the mod_quotatab API, and rename quotatab_register() to
40445	quotatab_register_backend().  This makes it consistent with
40446	mod_sql's backend API, and also makes it possible to unregister a
40447	quotatab backend module.  Adds support for graceful unloading of mod_quotatab et al as shared
40448	modules.
40449
404502004-12-16  castaglia <castaglia>
40451
40452	* contrib/mod_tls.c: Add code to mod_tls to support being unloaded
40453	as a shared module.
40454
404552004-12-16  castaglia <castaglia>
40456
40457	* modules/mod_dso.c, src/main.c: Rather than having the core engine
40458	unload modules during a restart, have them unloaded by mod_dso.
40459	That's only fair, since a) mod_dso was responsible for loading the
40460	modules in the first place, and b) mod_dso also handles the unloaded
40461	of the handles from libltdl, about which the core engine knows
40462	nothing.
40463
404642004-12-16  castaglia <castaglia>
40465
40466	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
40467	contrib/mod_sql_postgres.c: Tweak the SQL modules to better handle
40468	being built as shared modules.
40469
404702004-12-16  castaglia <castaglia>
40471
40472	* src/main.c: During a restart (e.g. SIGHUP), unload all non-static
40473	modules, i.e. all shared modules that have been dynamically loaded.
40474	This is to handle the case where an admin removes a LoadModule
40475	directive from proftpd.conf, then issues a SIGHUP.  Note that this requires changes to shared modules, to make sure they
40476	unload themselves properly.  Such changes for the contrib/ modules
40477	will follow shortly.
40478
404792004-12-16  castaglia <castaglia>
40480
40481	* include/event.h, src/event.c: Tweak the Event API to allow blanket
40482	unregistration of all a module's event listeners in one
40483	pr_event_unregister() call.  Gracefully avoid a possible segfault during pr_event_register().
40484
404852004-12-16  castaglia <castaglia>
40486
40487	* src/auth.c: 'login' is a global variable somewhere, so compiling
40488	under --enable-devel kicks up compiler warnings.
40489
404902004-12-16  castaglia <castaglia>
40491
40492	* Makefile.in: The shell's test function prefers to operate on
40493	single strings, so enclose the expanded $SHARED_MODULE_OBJS list
40494	within quotations.
40495
404962004-12-16  castaglia <castaglia>
40497
40498	* doc/howto/DisplayFiles.html: Updating the DisplayFiles doc with
40499	the newly added Display variables.
40500
405012004-12-16  castaglia <castaglia>
40502
40503	* doc/howto/DisplayFiles.html, doc/howto/index.html: Adding a doc
40504	covering the Display directives.
40505
405062004-12-12  castaglia <castaglia>
40507
40508	* doc/howto/DSO.html: Grammatical nicety.
40509
405102004-12-12  castaglia <castaglia>
40511
40512	* doc/howto/ListOptions.html: Updating URL for current location
40513	under doc/howto/.
40514
405152004-12-12  castaglia <castaglia>
40516
40517	* doc/howto/ListOptions.html, doc/howto/index.html: Adding the
40518	ListOptions howto to the source distribution.
40519
405202004-12-12  castaglia <castaglia>
40521
40522	* RELEASE_NOTES: Update the release notes.
40523
405242004-12-12  castaglia <castaglia>
40525
40526	* NEWS, modules/mod_ls.c: Bug#2534 - Add suport for -S ListOption,
40527	for sorting files by file size.
40528
405292004-12-12  castaglia <castaglia>
40530
40531	* NEWS, modules/mod_ls.c: Bug#2229 - NLST and LIST behave
40532	differently e.g. when listing an empty directory.  Make the behavior
40533	between LIST and LIST consistent with respect to empty directories,
40534	and when listing nonexistent directories.
40535
405362004-12-12  castaglia <castaglia>
40537
40538	* doc/howto/DSO.html, doc/howto/index.html: Adding DSO howto to
40539	source distribution.
40540
405412004-12-12  castaglia <castaglia>
40542
40543	* doc/contrib/mod_sql.html: Add documentation for the SQLEngine
40544	directive.
40545
405462004-12-12  castaglia <castaglia>
40547
40548	* NEWS, RELEASE_NOTES, contrib/mod_sql.c: Bug#2406 - Add a SQLEngine
40549	directive.
40550
405512004-12-12  castaglia <castaglia>
40552
40553	* modules/mod_ctrls.c, modules/mod_site.c: Use the Auth API
40554	functions in the 'pr_' namespace.
40555
405562004-12-12  castaglia <castaglia>
40557
40558	* NEWS, modules/mod_xfer.c: Bug#2027 - Add log message for timed out
40559	passive transfers.
40560
405612004-12-08  castaglia <castaglia>
40562
40563	* doc/contrib/mod_quotatab.html: Explicitly mention that only one
40564	type of limit is in effect at a time, and that applicable limits for
40565	a given user are not combined.
40566
405672004-12-05  castaglia <castaglia>
40568
40569	* src/main.c: Yet another place where main_server needs to be set to
40570	NULL before calling free_pools().  Only affects servers built using
40571	the --enable-devel=nodaemon option.
40572
405732004-12-05  castaglia <castaglia>
40574
40575	* src/main.c: If main_server is not set to NULL before freeing all
40576	of the pools (from which main_server is allocated), segfaults can
40577	occur if something tries to log a message.  Note that this only
40578	happens if the --enable-devel configure option is used, so it
40579	doesn't affect most users.
40580
405812004-12-05  castaglia <castaglia>
40582
40583	* src/main.c: Properly set session.c and session.d to NULL once
40584	we've closed them.
40585
405862004-12-05  castaglia <castaglia>
40587
40588	* doc/howto/Authentication.html: Correct the RequireValidShell FAQ
40589	URL.
40590
405912004-12-05  castaglia <castaglia>
40592
40593	* include/auth.h, modules/mod_auth.c, src/auth.c: Move that code
40594	responsible for looking up the anonymous configuration for a given
40595	user name, if applicable, out of mod_auth.c and into the Auth API.
40596	The main reason for this is to allow contrib modules that may need
40597	to determine whether a given login is to be handled anonymously
40598	(e.g.  mod_wrap, mod_sql) the ability to use the same code as
40599	mod_auth, rather than having to duplicate it themselves.  A nice
40600	side benefit as that the Auth API function added,
40601	pr_auth_get_anon_config(), more legibly describes what the function
40602	does.  This will help to make the mod_auth code slightly easier to
40603	understand (for some value of "easier").
40604
406052004-12-05  castaglia <castaglia>
40606
40607	* doc/howto/Limit.html: Add examples of blocking PORT or PASV
40608	commands.
40609
406102004-12-04  castaglia <castaglia>
40611
40612	* doc/howto/Upgrade.html, doc/howto/index.html: Add an Upgrade
40613	mini-HOWTO to doc/howto/.
40614
406152004-12-04  castaglia <castaglia>
40616
40617	* doc/contrib/mod_quotatab.html: Fix up the links to the quotatab
40618	submodule docs.
40619
406202004-12-04  castaglia <castaglia>
40621
40622	* doc/contrib/mod_quotatab.html: Update the mod_quotatab
40623	installation instructions.
40624
406252004-12-04  castaglia <castaglia>
40626
40627	* contrib/mod_quotatab.c, contrib/mod_quotatab.h,
40628	doc/contrib/mod_quotatab.html: Add some Display variables for
40629	mod_quotatab:   %{mod_quotatab.limit.bytes_in}   %{mod_quotatab.limit.bytes_out}   %{mod_quotatab.limit.bytes_xfer}   %{mod_quotatab.limit.files_in}   %{mod_quotatab.limit.files_out}   %{mod_quotatab.limit.files_xfer}   %{mod_quotatab.tally.bytes_in}   %{mod_quotatab.tally.bytes_out}   %{mod_quotatab.tally.bytes_xfer}   %{mod_quotatab.tally.files_in}   %{mod_quotatab.tally.files_out}   %{mod_quotatab.tally.files_xfer} These are documented in the mod_quotatab documentation under
40630	doc/contrib/.
40631
406322004-12-04  castaglia <castaglia>
40633
40634	* src/var.c: Pass the exact pointers provided by callers of
40635	pr_var_set(), rather than copies of the pointed-to data.
40636
406372004-12-04  castaglia <castaglia>
40638
40639	* modules/mod_core.c: Reduce complexity of code needed for
40640	displaying byte/file Variables by reducing the number of callbacks
40641	to two (as opposed to six).
40642
406432004-12-04  castaglia <castaglia>
40644
40645	* src/display.c: Fix displaying of variables.
40646
406472004-12-04  castaglia <castaglia>
40648
40649	* RELEASE_NOTES: Mention the new Display variables in the release
40650	notes.
40651
406522004-12-04  castaglia <castaglia>
40653
40654	* NEWS, include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c,
40655	src/display.c: Bug#2170 - Add byte count variables, similar to the
40656	file count Display variables.
40657
406582004-12-04  castaglia <castaglia>
40659
40660	* modules/mod_core.c: Handle the case where there's only one name
40661	provided in the Allow/Deny rule.
40662
406632004-12-02  castaglia <castaglia>
40664
40665	* NEWS, modules/mod_core.c: Bug#2528 - Incorrect username 'and'
40666	parsing in AllowUser.
40667
406682004-12-02  castaglia <castaglia>
40669
40670	* src/main.c: Close the control and data connections before running
40671	any registered 'core.exit' event handlers.
40672
406732004-12-02  castaglia <castaglia>
40674
40675	* contrib/mod_tls.c: Unregister the NetIO streams registered by
40676	mod_tls during its 'core.exit' handler.  This prevents segfaults
40677	that can happen when a session is exiting (as when ABORting an
40678	in-progress data transfer).
40679
406802004-12-01  castaglia <castaglia>
40681
40682	* contrib/mod_rewrite.c, modules/mod_core.c, modules/mod_xfer.c:
40683	Correct a few lingering cases where pr_log_pri() was being called
40684	with a log level that wasn't in the PR_ namespace.
40685
406862004-11-29  castaglia <castaglia>
40687
40688	* src/dirtree.c: Style cleanup.
40689
406902004-11-29  castaglia <castaglia>
40691
40692	* doc/howto/Debugging.html: Updating URL.
40693
406942004-11-25  jwm <jwm>
40695
40696	* modules/mod_delay.c: include signal.h to fix the build under
40697	Solaris 8
40698
406992004-11-24  castaglia <castaglia>
40700
40701	* src/support.c: More old-style exit handler cruft.
40702
407032004-11-23  castaglia <castaglia>
40704
40705	* src/display.c: Extraneous #include (and at the bottom of a file).
40706
407072004-11-23  castaglia <castaglia>
40708
40709	* modules/mod_core.c: We were calling pr_display_file() on
40710	DisplayQuit files with the arguments in the wrong order.
40711
407122004-11-22  castaglia <castaglia>
40713
40714	* doc/contrib/mod_ctrls_admin.html: Fix the mod_ctrls_admin
40715	documentation.  First, there was a duplicate entry for the 'down'
40716	control action.  Second, the 'shutdown' entry had gone completely
40717	missing.
40718
407192004-11-22  castaglia <castaglia>
40720
40721	* NEWS: Bug#2510 - Use of ExportCertData TLSOption leads to
40722	segfault.
40723
407242004-11-22  castaglia <castaglia>
40725
40726	* contrib/mod_tls.c: Since we stuff an SSL * in the strm_data slot
40727	for each NetIO stream, and there are two streams for a connection,
40728	when closing a connection, we want to call tls_end_session() (which
40729	ends up freeing that SSL *) only once per connection.  I chose to do
40730	this always for the write stream of a connection.  Should help with
40731	some of the OpenSSL reference counter issues we've been seeing.  This patch is also part of the solution for Bug #2313.
40732
407332004-11-22  castaglia <castaglia>
40734
40735	* contrib/mod_tls.c: Adding some missing logic; pointers that have
40736	been free()'d should always be set to NULL afterwards.
40737
407382004-11-22  castaglia <castaglia>
40739
40740	* Makefile.in: As per Michael's suggestion, remove the .libs/
40741	directory, and libtool, during the 'distclean' target.
40742
407432004-11-22  castaglia <castaglia>
40744
40745	* src/support.c: More old-style exit handler cruft.
40746
407472004-11-22  castaglia <castaglia>
40748
40749	* src/main.c: Straggler run_exit_handlers() call.  Be gone with ye!
40750
407512004-11-22  castaglia <castaglia>
40752
40753	* include/support.h, src/main.c, src/support.c: No more support for
40754	the old-style exit handlers.
40755
407562004-11-21  castaglia <castaglia>
40757
40758	* modules/mod_delay.c: Allow SIGTERM to interrupt mod_delay.
40759
407602004-11-21  castaglia <castaglia>
40761
40762	* modules/mod_delay.c: Since mod_delay uses mmap(), any updates it
40763	makes to the DelayTable won't be reflected in the mtime field of the
40764	file's metadata.  To help alleviate this perception, add a
40765	'core.exit' event handler that explicitly writes out the DelayTable
40766	to disk.  Fix up some memory problems spotted under valgrind.  Also, if the
40767	expected DelayTable is smaller than the current table, make sure we
40768	truncate the file.
40769
407702004-11-21  castaglia <castaglia>
40771
40772	* doc/contrib/mod_ifsession.html: Forgot to list MaxInstances as not
40773	being alterable by mod_ifsession.
40774
407752004-11-21  castaglia <castaglia>
40776
40777	* NEWS, modules/mod_auth.c: Bug#2520 - Turning on AuthAliasOnly
40778	disables MaxClientsPerHost.  ProFTPD was not using the TOPLEVEL_CONF
40779	macro, as it should have been.
40780
407812004-11-20  castaglia <castaglia>
40782
40783	* NEWS, include/timers.h, src/main.c, src/timers.c: Bug#2516 -
40784	Getting "421 Login Timeout" immediately upon connect.  The child
40785	processes were inheriting the values of static Timer API variables,
40786	including the parent's timer list.  This causes problems when, in
40787	the parent process, one of those static variables stops being
40788	properly updated.  I'm not convinced that the root cause of this bug
40789	has been found, but this patch addresses the problematic behavior,
40790	so that at least session processes aren't affected so badly.
40791
407922004-11-20  castaglia <castaglia>
40793
40794	* src/timers.c: Be a little more paranoid: don't set the indispatch
40795	flag until after alarms have been blocked.
40796
407972004-11-20  castaglia <castaglia>
40798
40799	* README.IPv6: Remove mention of the Bind directive.  We want it
40800	gone.
40801
408022004-11-20  castaglia <castaglia>
40803
40804	* NEWS, README.IPv6, RELEASE_NOTES, include/bindings.h,
40805	modules/mod_core.c, src/bindings.c, src/dirtree.c: Bug#2454 - Extend
40806	<VirtualHost> to honor multiple addresses.
40807
408082004-11-20  castaglia <castaglia>
40809
40810	* RELEASE_NOTES: Adding a comment about how use of sendfile() causes
40811	download transfer speeds not to be displayable.
40812
408132004-11-17  castaglia <castaglia>
40814
40815	* doc/howto/Controls.html: Mention that only primary groups, not
40816	supplemental groups, are used.
40817
408182004-11-17  castaglia <castaglia>
40819
40820	* configure: Updating configure.
40821
408222004-11-17  castaglia <castaglia>
40823
40824	* configure.in: Tweak the configure script to always use our bundled
40825	version of getaddrinfo() on HP-UX 11.x, since HP-UX's getaddrinfo()
40826	(among many other things) is busted.
40827
408282004-11-15  castaglia <castaglia>
40829
40830	* README.modules: Updating README.modules.
40831
408322004-11-15  castaglia <castaglia>
40833
40834	* modules/mod_core.c, modules/mod_xfer.c: Deny the SIZE command if
40835	we're in ASCII mode, as we do for REST.  Be sure to add debug
40836	logging for both of these cases.
40837
408382004-11-14  castaglia <castaglia>
40839
40840	* modules/mod_core.c: Check that a scoreboard entry's PID is
40841	non-zero before sending the zero signal to that PID.
40842
408432004-11-14  castaglia <castaglia>
40844
40845	* NEWS, doc/howto/ASCII.html, doc/howto/index.html,
40846	modules/mod_xfer.c: Bug#2471 - Restart command (REST) is not working
40847	correctly for text files.
40848
408492004-11-14  castaglia <castaglia>
40850
40851	* doc/howto/Scoreboard.html, doc/howto/index.html: Adding a
40852	ScoreboardFile mini-HOWTO.
40853
408542004-11-13  castaglia <castaglia>
40855
40856	* ltmain.sh: Increase the max allowed command line length in the
40857	libtool script to be 4K.  I'd rather we encounter the system limit
40858	before an arbitrarily imposed one.
40859
408602004-11-13  castaglia <castaglia>
40861
40862	* include/fsio.h, src/fsio.c: Beginnings of support for stackable
40863	FSIO layers.  Rather than allowing only a one-to-one mapping between
40864	paths and FS objects, this patch allows for one-to-many mappings,
40865	linking FS objects together in a linked list for the same path.  At present, only the top layer on the stack, for a given FSIO
40866	operation, will be used.  I anticipate that it will be the
40867	responsibility of the called FSIO handler to decide whether it wants
40868	to act as a filter handler, and pass the parameters farther down the
40869	stack, or whether it wants to act as a source/sink handler and
40870	handle the parameters entirely by itself.  This behavior allows for
40871	backward compatibility with existing FSIO modules.
40872
408732004-11-13  castaglia <castaglia>
40874
40875	* modules/mod_delay.c: Use proper grammar.
40876
408772004-11-11  castaglia <castaglia>
40878
40879	* RELEASE_NOTES, modules/mod_log.c: Make "SECURE" an alias for "SEC"
40880	when configuring ExtendedLog logging classes.
40881
408822004-11-11  castaglia <castaglia>
40883
40884	* include/table.h, src/main.c, src/table.c: Add a function,
40885	pr_table_nalloc(), to the Table API which allows for allocating a
40886	table with the given number of chains.  Previously, callers would
40887	need to call pr_table_alloc(), then pr_table_ctl() to resize the
40888	number of chains, and in doing so there would be a slight memory
40889	leak.  Now such callers can allocate the number of chains (usually
40890	smaller than the default of 32) as they need.
40891
408922004-11-10  castaglia <castaglia>
40893
40894	* configure: Updating configure.
40895
408962004-11-10  castaglia <castaglia>
40897
40898	* RELEASE_NOTES: Mention the new UseSendfile directive.
40899
409002004-11-10  castaglia <castaglia>
40901
40902	* NEWS, configure.in, modules/mod_xfer.c: Bug#2507 - Enable use of
40903	sendfile by default.
40904
409052004-11-10  castaglia <castaglia>
40906
40907	* NEWS, RELEASE_NOTES, contrib/mod_tls.c, include/modules.h,
40908	modules/mod_log.c: Bug#2518 - Ability to log SSL/TLS commands in an
40909	ExtendedLog.
40910
409112004-11-10  castaglia <castaglia>
40912
40913	* src/timers.c: Prevent callers from providing a negative number of
40914	seconds when adding a timer.
40915
409162004-11-09  castaglia <castaglia>
40917
40918	* NEWS: Add a header to the NEWS file indicating the Bugzilla URL to
40919	use for looking up the mentioned bug reports.
40920
409212004-11-09  castaglia <castaglia>
40922
40923	* modules/mod_delay.c: Use PR_RUN_DIR, not RUN_DIR.
40924
409252004-11-09  castaglia <castaglia>
40926
40927	* configure: Updating configure.
40928
409292004-11-09  castaglia <castaglia>
40930
40931	* NEWS: Bug#2480 - Remote users discovery.
40932
409332004-11-09  castaglia <castaglia>
40934
40935	* configure.in: Make mod_delay one of the default modules.
40936
409372004-11-09  castaglia <castaglia>
40938
40939	* doc/modules/mod_delay.html, modules/mod_delay.c: Adding mod_delay
40940	to the distribution.  Part of Bug #2480.
40941
409422004-11-08  castaglia <castaglia>
40943
40944	* modules/Makefile.in: Found a case where make(1) was not providing
40945	$(RM).  How annoying.
40946
409472004-11-06  castaglia <castaglia>
40948
40949	* configure: Updating configure.
40950
409512004-11-06  castaglia <castaglia>
40952
40953	* configure.in: I prefer, if possible, to see the functions checked
40954	in alphabetical order.
40955
409562004-11-05  castaglia <castaglia>
40957
40958	* README.DSO: Adding reminder note.
40959
409602004-11-05  castaglia <castaglia>
40961
40962	* configure: Updated configure.
40963
409642004-11-05  castaglia <castaglia>
40965
40966	* config.h.in, configure.in: Check for the fdatasync(2) function.
40967
409682004-11-04  castaglia <castaglia>
40969
40970	* NEWS, include/data.h, modules/mod_xfer.c, src/data.c: Bug#2509 -
40971	sendfile() usage fails with > 2GB files.
40972
409732004-11-04  castaglia <castaglia>
40974
40975	* configure: Updating configure.
40976
409772004-11-04  castaglia <castaglia>
40978
40979	* config.h.in, configure.in: Add checks for iconv() and
40980	nl_langinfo(), which will be needed for i18n support.
40981
409822004-11-03  castaglia <castaglia>
40983
40984	* doc/contrib/index.html: Adding an index to the doc/contrib/
40985	directory.
40986
409872004-11-03  castaglia <castaglia>
40988
40989	* doc/contrib/ftpasswd.html, doc/contrib/ftpquota.html,
40990	doc/contrib/mod_ctrls_admin.html, doc/contrib/mod_ifsession.html,
40991	doc/contrib/mod_quotatab.html, doc/contrib/mod_quotatab_file.html,
40992	doc/contrib/mod_quotatab_ldap.html,
40993	doc/contrib/mod_quotatab_sql.html, doc/contrib/mod_radius.html,
40994	doc/contrib/mod_rewrite.html, doc/contrib/mod_site_misc.html,
40995	doc/contrib/mod_sql.html, doc/contrib/mod_tls.html,
40996	doc/contrib/mod_wrap.html: Moving the HTML documentation from
40997	contrib/ to doc/contrib/.
40998
409992004-11-03  castaglia <castaglia>
41000
41001	* modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_ls.c,
41002	modules/mod_xfer.c: Removing deprecated directives.
41003
410042004-11-03  castaglia <castaglia>
41005
41006	* contrib/mod_sql.c: Cleaning up the style of code in mod_sql.  It
41007	still needs work, as it's inconsistent and thus harder to read and
41008	maintain.
41009
410102004-11-03  castaglia <castaglia>
41011
41012	* config.h.in, configure.in: Check for, and record, the size of a
41013	size_t.
41014
410152004-11-03  castaglia <castaglia>
41016
41017	* include/table.h, src/table.c: When removing keys and entries from
41018	the table, rather than destroying their pools, add them to free
41019	lists, associated with the table itself.  Check these free lists
41020	when adding new keys and entries.  Thus the total memory for a table
41021	is proportional to the total number of entries ever used at one
41022	time, and we don't have as much memory churn from the destroying of
41023	pools.  The pool members of the key and entry structs have thus been
41024	removed.  Also handle signals while iterating through the table chains in
41025	pr_table_empty().
41026
410272004-11-03  castaglia <castaglia>
41028
41029	* include/default_paths.h: Remove an unused macro, and its
41030	accompanying crufty comment.
41031
410322004-11-02  castaglia <castaglia>
41033
41034	* config.h.in, configure.in, contrib/mod_ctrls_admin.c,
41035	contrib/mod_radius.c, include/conf.h, include/default_paths.h,
41036	include/mod_ctrls.h, include/netaddr.h, include/scoreboard.h,
41037	modules/mod_auth.c, modules/mod_auth_unix.c, modules/mod_core.c,
41038	modules/mod_ctrls.c, modules/mod_dso.c, src/ctrls.c, src/dirtree.c,
41039	src/ftpdctl.c, src/inet.c, src/log.c, src/main.c, src/netacl.c,
41040	src/netaddr.c, src/scoreboard.c, src/support.c, utils/ftpcount.c,
41041	utils/ftpshut.c, utils/ftptop.c, utils/ftpwho.c,
41042	utils/scoreboard.c, utils/utils.h: Moving many of the macros
41043	defining default paths into the 'PR_' namespace.  This isn't an
41044	issue now, but will become one when proftpd installs its header
41045	files into the production location, which will allow DSO modules to
41046	be built outside of the proftpd source tree.  When that happens, the
41047	likelihood of symbol collisions between ProFTPD macros/names and
41048	other files increases.
41049
410502004-11-02  castaglia <castaglia>
41051
41052	* Makefile.in: No need to invoke modules/Makefile's 'shared-modules'
41053	target if there are no shared module to build.
41054
410552004-11-02  castaglia <castaglia>
41056
41057	* Makefile.in, lib/Makefile.in, modules/Makefile.in: More tweaks to
41058	get builds using just --with-modules to work again.
41059
410602004-11-02  castaglia <castaglia>
41061
41062	* configure: Updating configure.
41063
410642004-11-02  castaglia <castaglia>
41065
41066	* Makefile.in, configure.in, lib/Makefile.in, modules/Makefile.in:
41067	Need to properly handle the case where the user might specify
41068	--with-modules, and no --with-shared.  In this case, the
41069	$(SHARED_MODULE_OBJS) variable will be empty, which was not being
41070	handled.
41071
410722004-11-01  castaglia <castaglia>
41073
41074	* NEWS, README.DSO: Mention the addition of DSO support in NEWS, and
41075	start on an accompanying README.DSO.  There will eventually appear a
41076	DSO mini-HOWTO as well.
41077
410782004-11-01  castaglia <castaglia>
41079
41080	* configure: Updating configure.
41081
410822004-11-01  castaglia <castaglia>
41083
41084	* Make.rules.in, Makefile.in, configure.in, modules/Makefile.in:
41085	Adding support for a --with-shared configure option, for building
41086	DSO (aka shared) modules.
41087
410882004-11-01  castaglia <castaglia>
41089
41090	* modules/mod_dso.c: Calling lt_dlexit() in a 'core.exit' event
41091	handler caused proftpd to segfault when shutting down.  All of the
41092	stashed module *m pointers for dynamically loaded modules become
41093	invalid after a call to lt_dlexit(), and those pointers can be used
41094	after mod_dso's exit handler.  The solution (though not clean) is to
41095	not call lt_dlexit().
41096
410972004-11-01  castaglia <castaglia>
41098
41099	* src/display.c: Bad reuse of variable name.
41100
411012004-11-01  castaglia <castaglia>
41102
41103	* include/var.h: Forgot to declare the pr_var_delete() function.
41104
411052004-10-31  castaglia <castaglia>
41106
41107	* modules/mod_dso.c: The dso_unload_module() function is only used
41108	if the 'rmmod' control action is used, which means that it requires
41109	Controls support.  Otherwise, we don't need it.
41110
411112004-10-31  castaglia <castaglia>
41112
41113	* modules/mod_dso.c: Remove an unnecessary function.
41114
411152004-10-31  castaglia <castaglia>
41116
41117	* modules/mod_core.c: Report the line number of the <IfDefine>,
41118	<IfModule> sections used or skipped.
41119
411202004-10-31  castaglia <castaglia>
41121
41122	* include/parser.h, src/parser.c: Add a function to the Parser API
41123	for getting the current line number.  This is useful for better
41124	reporting.
41125
411262004-10-31  castaglia <castaglia>
41127
41128	* modules/mod_dso.c: Some of the loop variables are only used if
41129	Controls support is enabled.
41130
411312004-10-31  castaglia <castaglia>
41132
41133	* configure: Updating configure.
41134
411352004-10-31  castaglia <castaglia>
41136
41137	* aclocal.m4: Update our local autoconf macros, specifically those
41138	dealing with libtool.  This should fix the warning:   libtool: link: warning: `AC_LIBTOOL_DLOPEN' not used. Assuming no
41139	  dlopen support.  that I was seeing.
41140
411412004-10-31  castaglia <castaglia>
41142
41143	* src/table.c: Quell a compiler warning about "use of cast
41144	expressions as lvalues" by being explicit.
41145
411462004-10-31  castaglia <castaglia>
41147
41148	* config.h.in, include/conf.h: The configure script was checking for
41149	<inttypes.h>, but we were not recording whether it was present or
41150	not, or including the header if it was present.  Shame on us.
41151
411522004-10-31  castaglia <castaglia>
41153
41154	* modules/Makefile.in: The building of modules should require the
41155	libltdl header or library.  Just libtool to handle the linking.
41156
411572004-10-31  castaglia <castaglia>
41158
41159	* src/main.c: Add the display of PR_TUNABLE_RCVBUFSZ,
41160	PR_TUNABLE_SNDBUFSZ to the -V output.
41161
411622004-10-31  castaglia <castaglia>
41163
41164	* configure: Updating configure.
41165
411662004-10-31  castaglia <castaglia>
41167
41168	* Makefile.in, configure.in: Attempting to get a DSO-enabled proftpd
41169	to link properly on platforms other than Linux by linking with
41170	libltdl as an object file, rather than linking against it as a
41171	library.
41172
411732004-10-31  castaglia <castaglia>
41174
41175	* modules/mod_log.c: Since we're using %ld as a format, explicitly
41176	cast the value as a long int, rather than as a time_t.
41177
411782004-10-31  castaglia <castaglia>
41179
41180	* configure: Updating configure.
41181
411822004-10-31  castaglia <castaglia>
41183
41184	* Make.rules.in, configure.in: Let's move the definition of
41185	HAVE_CONFIG_H into Make.rules.  The ordering of HAVE_CONFIG_H in the
41186	flags is therefore nicer.
41187
411882004-10-31  castaglia <castaglia>
41189
41190	* configure: Updating configure.
41191
411922004-10-31  castaglia <castaglia>
41193
41194	* configure.in: Define HAVE_CONFIG_H when compiling proftpd.  Some
41195	of the files under lib/ require this, in order to pull in
41196	<config.h>, and subsequently some of the system headers needed.
41197
411982004-10-31  castaglia <castaglia>
41199
41200	* lib/Makefile.in: If LIB_DEPS happens to be the empty string (as
41201	needed for Solaris), provide a target for it which does nothing.
41202	Otherwise make will be cranky.
41203
412042004-10-31  castaglia <castaglia>
41205
41206	* configure: Updating configure.
41207
412082004-10-31  castaglia <castaglia>
41209
41210	* src/var.c: Quell a compiler warning about a label with no
41211	expressions.
41212
412132004-10-31  castaglia <castaglia>
41214
41215	* config.h.in, configure.in: Check for the <string.h> header.
41216
412172004-10-31  castaglia <castaglia>
41218
41219	* configure: Updating configure.
41220
412212004-10-31  castaglia <castaglia>
41222
41223	* configure.in: Initialize the socket buffer sizes, just to be safe.
41224
412252004-10-31  castaglia <castaglia>
41226
41227	* RELEASE_NOTES, include/version.h: As Daniel noted, it should be
41228	"1.3.0", not just "1.3".
41229
412302004-10-31  castaglia <castaglia>
41231
41232	* configure: Updating configure.
41233
412342004-10-31  castaglia <castaglia>
41235
41236	* configure.in: Bourne shell tests on Solaris don't like testing
41237	empty values; they prefer the empty string if nothing else.
41238
412392004-10-31  castaglia <castaglia>
41240
41241	* configure: Updating configure.
41242
412432004-10-31  castaglia <castaglia>
41244
41245	* config.h.in, configure.in, include/options.h, src/data.c,
41246	src/dirtree.c: First, fix a bug where session.xfer.buf was allocated
41247	as PR_TUNABLE_BUFFER_SIZE, rather than PR_TUNABLE_XFER_BUFFER_SIZE.  Next, try to be smarter about the default value for
41248	PR_TUNABLE_XFER_BUFFER_SIZE.  The configure script now runs a small
41249	test program that uses getsockopt(2) to determine the sizes of a TCP
41250	socket's send and receive buffers.  The smaller of the two buffer
41251	sizes is used as the default value for PR_TUNABLE_XFER_BUFFER_SIZE;
41252	the --enable-transfer-buffer-size option will override this test.
41253	The test program also records those send/receive buffer sizes in
41254	PR_TUNABLE_RCVBUFSZ and PR_TUNABLE_SNDBUFSZ, which were previously
41255	hardcoded to be 8K.
41256
412572004-10-31  castaglia <castaglia>
41258
41259	* modules/mod_xfer.c, src/data.c: Style nits: struct stat variables
41260	should be named 'st', and the 'xlate' name for the ASCII handling
41261	routines is not appropriate in light of the i18n translation we will
41262	be needing.  It's more of a transformation, really.
41263
412642004-10-31  castaglia <castaglia>
41265
41266	* NEWS: Updating NEWS.
41267
412682004-10-31  castaglia <castaglia>
41269
41270	* Make.rules.in, include/conf.h, include/display.h,
41271	include/modules.h, include/var.h, modules/mod_auth.c,
41272	modules/mod_core.c, src/display.c, src/main.c, src/var.c: Bug#2701 -
41273	Add Variables API.  This also separates the code used for handling Display* files into
41274	its own file; src/main.c was calling into modules/mod_core.c for
41275	that function, which is bad design.  Core code should not be using
41276	functions implemented in modules.
41277
412782004-10-31  castaglia <castaglia>
41279
41280	* config.h.in, configure.in, src/main.c: Make sure that if
41281	--enable-dso is used, it shows up when the -V command-line option is
41282	used.
41283
412842004-10-31  castaglia <castaglia>
41285
41286	* RELEASE_NOTES: Updating the release notes.  These still need some
41287	work.
41288
412892004-10-31  castaglia <castaglia>
41290
41291	* src/inet.c: Typo.
41292
412932004-10-31  castaglia <castaglia>
41294
41295	* src/parser.c: Update the license to reflect the proper original
41296	copyright holder(s).
41297
412982004-10-31  castaglia <castaglia>
41299
41300	* Make.rules.in, contrib/mod_ifsession.c, include/conf.h,
41301	include/dirtree.h, include/parser.h, modules/mod_core.c,
41302	src/dirtree.c, src/main.c, src/parser.c: Separating the parser code
41303	out from src/dirtree.c into its own file, src/parser.c, with a
41304	proper header file documenting the API (include/parser.h).  Update
41305	the rest of the core code to use the new API as needed.
41306
413072004-10-31  castaglia <castaglia>
41308
41309	* contrib/mod_ifsession.c: There is not enough information to call
41310	resolve_deferred_dirs() at session init time.  This function is
41311	usually for expanding the tilde in path names, and at session init
41312	time, we don't know the user name for expansion.
41313
413142004-10-30  castaglia <castaglia>
41315
41316	* src/main.c: Use pr_auth_getgroups(), not auth_getgroups().
41317
413182004-10-30  castaglia <castaglia>
41319
41320	* contrib/mod_tls.c, contrib/mod_wrap.c, src/dirtree.c, src/fsio.c,
41321	src/support.c: Use the Auth API functions in the 'pr_' namespace.
41322
413232004-10-30  castaglia <castaglia>
41324
41325	* modules/mod_core.c: Use the Auth API functions in the 'pr_'
41326	namespace rather than relying on the compatibility macros.
41327
413282004-10-30  castaglia <castaglia>
41329
41330	* configure: Updating configure.
41331
413322004-10-30  castaglia <castaglia>
41333
41334	* configure.in: Tweaking the configure script a bit, providing more
41335	complete path information in flags, etc.  Not really needed for the
41336	default build process which we all know and love, but will become
41337	necessary when building DSO modules.
41338
413392004-10-30  castaglia <castaglia>
41340
41341	* src/timers.c: This struct is no longer typedef'd.
41342
413432004-10-30  castaglia <castaglia>
41344
41345	* include/timers.h: Include some redefines for supporting legacy
41346	modules that may not have been updated to use the 'pr_' namespace
41347	Timer API.
41348
413492004-10-30  castaglia <castaglia>
41350
41351	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c,
41352	contrib/mod_tls.c, modules/mod_ctrls.c: Update the contrib/ modules
41353	to use the Timer API in the 'pr_' namespace (and mod_ctrls, too).
41354
413552004-10-30  castaglia <castaglia>
41356
41357	* include/timers.h, modules/mod_auth.c, modules/mod_core.c,
41358	modules/mod_xfer.c, src/data.c, src/ident.c, src/inet.c,
41359	src/main.c, src/timers.c: Moving the Timer API into the 'pr_'
41360	namespace.
41361
413622004-10-30  castaglia <castaglia>
41363
41364	* include/ftp.h: In the near future, a module will implement support
41365	for RFC2640's LANG command.
41366
413672004-10-30  castaglia <castaglia>
41368
41369	* include/version.h: With the addition of DSO support, ProFTPD is
41370	now moving into the 1.3.x series.  Whee!
41371
413722004-10-29  castaglia <castaglia>
41373
41374	* ltmain.sh: Yet another bug in GNU's ltmain.sh script -- yet
41375	another undeclared variable.
41376
413772004-10-29  castaglia <castaglia>
41378
41379	* doc/modules/mod_dso.html: Typo (spotted by Michael).
41380
413812004-10-29  castaglia <castaglia>
41382
41383	* doc/modules/mod_dso.html: Adding documentation for mod_dso.
41384
413852004-10-29  castaglia <castaglia>
41386
41387	* src/event.c: As a comment to myself indicated, it is necessary to
41388	pstrdup() the name of the event for which a listener is being
41389	registered, rather than stashing a pointer to the given name
41390	directly.  This was causing a segfault when the pointer to the name
41391	given was part of a dynamically loaded module.
41392
413932004-10-29  castaglia <castaglia>
41394
41395	* modules/mod_core.c: The DebugLevel configuration handler was not
41396	recognizing 10 as a valid debug level.
41397
413982004-10-29  castaglia <castaglia>
41399
41400	* doc/modules/mod_ctrls.html: Grammar fix.
41401
414022004-10-29  castaglia <castaglia>
41403
41404	* modules/mod_dso.c: Removing debugging cruft.
41405
414062004-10-29  castaglia <castaglia>
41407
41408	* configure: Updating configure.
41409
414102004-10-29  castaglia <castaglia>
41411
41412	* lib/libltdl/Makefile.in: Disable the actions that try to use
41413	autoheader and automake.  These aren't installed on every system,
41414	and we don't really use them.
41415
414162004-10-29  castaglia <castaglia>
41417
41418	* configure.in, lib/Makefile.in: Only configure, build, and clean
41419	the libltdl/ directory if --enable-dso is selected.  Otherwise, let
41420	the build proceed as usual, and let the normal 'clean' target work
41421	without throwing an error.
41422
414232004-10-29  castaglia <castaglia>
41424
41425	* configure: Updating configure.
41426
414272004-10-29  castaglia <castaglia>
41428
41429	* Make.rules.in, Makefile.in, config.h.in, configure.in,
41430	include/default_paths.h, lib/Makefile.in, modules/Makefile.in: More
41431	DSO support changes.
41432
414332004-10-29  castaglia <castaglia>
41434
41435	* ltmain.sh, modules/mod_dso.c: Adding a (slightly modified) copy of
41436	ltmain.sh, which is responsible for creating the libtool executable.
41437	Also adding mod_dso.c.  All part of the preparations for adding DSO
41438	support to ProFTPD.
41439
414402004-10-29  castaglia <castaglia>
41441
41442	* aclocal.m4: Adding GNU libtool M4 definitions to our aclocal.m4.
41443
414442004-10-29  castaglia <castaglia>
41445
41446	* lib/libltdl/COPYING.LIB, lib/libltdl/Makefile.am,
41447	lib/libltdl/Makefile.in, lib/libltdl/README,
41448	lib/libltdl/acinclude.m4, lib/libltdl/aclocal.m4,
41449	lib/libltdl/config-h.in, lib/libltdl/config.guess,
41450	lib/libltdl/config.sub, lib/libltdl/configure,
41451	lib/libltdl/configure.ac, lib/libltdl/install-sh,
41452	lib/libltdl/ltdl.c, lib/libltdl/ltdl.h, lib/libltdl/ltmain.sh,
41453	lib/libltdl/missing: Adding GNU libtool's libltdl files to ProFTPD.
41454
414552004-10-29  castaglia <castaglia>
41456
41457	* modules/mod_core.c: The checks for <IfDefine>, </IfDefine>,
41458	<IfModule>, and </IfModule>, within the respective directive
41459	handlers, need to be case-insensitive.
41460
414612004-10-28  castaglia <castaglia>
41462
41463	* NEWS, utils/ftptop.c: Bug#2484 - Better ftptop formatting.
41464
414652004-10-27  castaglia <castaglia>
41466
41467	* modules/mod_xfer.c: Typo.
41468
414692004-10-26  castaglia <castaglia>
41470
41471	* include/dirtree.h, include/modules.h, include/proftpd.h,
41472	modules/mod_site.c, modules/mod_xfer.c, src/main.c, src/modules.c:
41473	Removing old privdata_t structures in favor of table entries, using
41474	the new Table API.
41475
414762004-10-26  castaglia <castaglia>
41477
41478	* configure: Updating configure.
41479
414802004-10-26  castaglia <castaglia>
41481
41482	* config.h.in, configure.in: Define CONFIG_DIR to point to the
41483	hardcoded directory containing the proftpd.conf file.
41484
414852004-10-26  castaglia <castaglia>
41486
41487	* Make.rules.in, include/conf.h, include/table.h, src/table.c:
41488	Adding the Table API source.
41489
414902004-10-20  castaglia <castaglia>
41491
41492	* contrib/mod_tls.c: It is possible for SSL_read() to return
41493	SSL_ERROR_WANT_WRITE as well, so handle that case the same way as
41494	handling SSL_ERROR_WANT_READ: select() on the socket until it is
41495	available for writing, then call SSL_read() again.  Note that this happens (ideally) only when a renegotiation is
41496	occuring on the underlying SSL session.  So set the
41497	SSL_MODE_AUTO_RETRY mode too (if the OpenSSL version supports it),
41498	which will hopefully keep renegotiations from causing SSL_read() to
41499	return SSL_ERROR_WANT_WRITE.
41500
415012004-10-18  castaglia <castaglia>
41502
41503	* modules/mod_xfer.c: A few cases where log_pri() was being used,
41504	rather than pr_log_pri().
41505
415062004-10-17  castaglia <castaglia>
41507
41508	* doc/howto/Directory.html: Mention using quotations to enclose
41509	directory paths that contain spaces.
41510
415112004-10-17  castaglia <castaglia>
41512
41513	* NEWS, modules/mod_core.c: Bug#1965 - Change timing of handling of
41514	QUIT command.
41515
415162004-10-17  castaglia <castaglia>
41517
41518	* contrib/mod_sql.c: Extraneous redeclaration of a variable.
41519
415202004-10-17  castaglia <castaglia>
41521
41522	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Fixing bad
41523	reuse of variable name from outer scope.
41524
415252004-10-17  castaglia <castaglia>
41526
41527	* RELEASE_NOTES: Mention the new MaxConnectionsPerHost directive in
41528	the release notes.
41529
415302004-10-17  castaglia <castaglia>
41531
41532	* NEWS, modules/mod_auth.c: Bug#2273 - Ability to limit number of
41533	unauthenticated clients from a single host.
41534
415352004-10-16  castaglia <castaglia>
41536
41537	* NEWS, modules/mod_auth_pam.c: Bug#2497 - Users can login without
41538	password if pam_start() fails.
41539
415402004-10-15  castaglia <castaglia>
41541
41542	* NEWS, src/auth.c, src/dirtree.c: Bug#2499 - make_cmd() does not
41543	NULL-terminate cmd->argv[].
41544
415452004-10-15  castaglia <castaglia>
41546
41547	* modules/mod_auth.c: Move the handling of the AccessGrantMsg and
41548	DisplayLogin directives into the POST_CMD handler for PASS, rather
41549	than in the CMD handler.  This is aesthetically where such handling
41550	should occur, and it makes it possible for future enhancements where
41551	contrib modules can add their own variables to be interpolated into
41552	the DisplayLogin file.
41553
415542004-10-12  castaglia <castaglia>
41555
41556	* src/inet.c: Nicer error message.
41557
415582004-10-11  castaglia <castaglia>
41559
41560	* src/bindings.c: Avoid an infinite loop problem with Bind is used
41561	by stashing pointers to the bindings to use, when accepting a client
41562	connection, in an array_header, rather than overloading the 'next'
41563	field in the conn_t struct.
41564
415652004-10-11  castaglia <castaglia>
41566
41567	* src/dirtree.c: Fix case where the config tree was not dumped if
41568	the server_rec had an empty set of config_recs.  The name of the
41569	server_rec should still be dumped in such cases.
41570
415712004-10-09  castaglia <castaglia>
41572
41573	* doc/howto/TLS.html: Update link to FTPS Draft.
41574
415752004-10-09  castaglia <castaglia>
41576
41577	* src/dirtree.c: The parser internals are crufty, and are in need of
41578	rewriting and prettification.  Until then, make the code a little
41579	more legible (to me, at least).
41580
415812004-10-09  castaglia <castaglia>
41582
41583	* NEWS, include/inet.h, include/netio.h, src/data.c, src/inet.c,
41584	src/netio.c: Bug#2494 - ABOR problem with Cisco routers copy ftp
41585	flash.
41586
415872004-10-09  castaglia <castaglia>
41588
41589	* src/main.c: Generate a 'core.connect' event after a client has
41590	connected and we've forked, but before we lookup the server_rec for
41591	the session.
41592
415932004-10-09  jwm <jwm>
41594
41595	* contrib/mod_ldap.c: release 2.8.14
41596
415972004-10-07  castaglia <castaglia>
41598
41599	* contrib/ftpasswd: Explicitly mention "RequireValidShell off" if
41600	the given shell is not in /etc/shells.
41601
416022004-10-07  castaglia <castaglia>
41603
41604	* NEWS, modules/mod_ls.c: Bug#2496 - NLST off-by-one bug when
41605	handling relative paths in a chrooted session.
41606
416072004-10-07  castaglia <castaglia>
41608
41609	* modules/mod_ls.c: Use the Auth API in the 'pr_' namespace.
41610
416112004-10-02  castaglia <castaglia>
41612
41613	* contrib/mod_tls.c: Handle signals when in potentially infinite
41614	gotos, so that the process can be interrupted.  Expand the TLSLog entry for refused PROT commands a little more, to
41615	explain why the PROT command was refused (e.g. 'PROT C' was sent,
41616	but TLSRequired setting requires data protection).
41617
416182004-10-02  castaglia <castaglia>
41619
41620	* doc/howto/TLS.html: Adding two more FAQs to the TLS howto.
41621
416222004-10-02  castaglia <castaglia>
41623
41624	* contrib/mod_tls.c: Fix the logic when reporting on syscall errors,
41625	so that the errors are properly reported.
41626
416272004-10-02  castaglia <castaglia>
41628
41629	* modules/mod_auth.c: Stop sending 232 as a response code to the
41630	PASS command; it is valid only in response to a USER command.  Part
41631	of Bug #2164.
41632
416332004-10-02  castaglia <castaglia>
41634
41635	* contrib/mod_tls.c: Remove code that is never compiled.
41636
416372004-10-01  castaglia <castaglia>
41638
41639	* NEWS, modules/mod_auth_pam.c: Bug#2492 - Off-by-one error in
41640	FreeBSD PAM username length check.
41641
416422004-09-29  castaglia <castaglia>
41643
41644	* NEWS, src/dirtree.c: Bug#2490 - <Limit ALL> affects PORT command.
41645	The EPRT, EPSV, PORT, and PASV commands are now explicitly excluded
41646	from the ALL command group.
41647
416482004-09-28  jwm <jwm>
41649
41650	* NEWS, contrib/mod_ldap.c: new mod_ldap 2.8.13
41651
416522004-09-27  castaglia <castaglia>
41653
41654	* contrib/mod_quotatab_ldap.c: mod_ldap now looks for a HOOK, rather
41655	than a CMD, for the mod_quotatab_ldap lookup symbol, as per John's
41656	request.
41657
416582004-09-26  castaglia <castaglia>
41659
41660	* modules/mod_auth_file.c, modules/mod_auth_unix.c: Use the 'pr_'
41661	namespace of the Auth API.
41662
416632004-09-26  castaglia <castaglia>
41664
41665	* modules/mod_auth.c: Removing code that should not have been
41666	committed.  Oops.
41667
416682004-09-26  castaglia <castaglia>
41669
41670	* include/auth.h, include/conf.h, include/modules.h,
41671	modules/mod_auth.c, src/auth.c: Moving the Auth API into the 'pr_'
41672	namespace, and creating a separate header file defining the pr_auth
41673	function prototypes.
41674
416752004-09-26  castaglia <castaglia>
41676
41677	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
41678	contrib/mod_sql_postgres.c: Bug#2485 - SQL backend modules close all
41679	open connections too early.
41680
416812004-09-26  castaglia <castaglia>
41682
41683	* NEWS: Mention the new init.d script for SuSE.
41684
416852004-09-26  castaglia <castaglia>
41686
41687	* NEWS, RELEASE_NOTES, contrib/mod_sql.c, contrib/mod_sql.h,
41688	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#2392 -
41689	mod_sql needs better handling of its backend modules.
41690
416912004-09-26  castaglia <castaglia>
41692
41693	* src/mkhome.c: Generate a 'core.create-home' event when creating a
41694	home directory; the event_data is currently the name of the user
41695	whose home is being created.  And correct a typo.
41696
416972004-09-25  jwm <jwm>
41698
41699	* contrib/dist/rpm/proftpd.init.d.suse: suse init script Submitted
41700	by: Daniel Weuthen <dw@megabit.net>
41701
417022004-09-23  castaglia <castaglia>
41703
41704	* NEWS, include/privs.h: Bug#2488 - Wrong order of privs calls on HP
41705	generates "unable to setregid()" error.
41706
417072004-09-18  castaglia <castaglia>
41708
41709	* contrib/mod_quotatab.c: When handling the 'core.restart' event, do
41710	not bounce the log file descriptor.  Restarts are processed by the
41711	daemon process, and mod_quotatab only logs in session processes;
41712	bouncing the log descriptor in the daemon process was causing
41713	mod_quotatab to open a descriptor onto stdout, which then wreaked
41714	havoc with the rest of the system.
41715
417162004-09-18  castaglia <castaglia>
41717
41718	* src/proftpd.8.in: Document the new -N option in the proftpd(8) man
41719	page.
41720
417212004-09-18  castaglia <castaglia>
41722
41723	* NEWS, include/proftpd.h, modules/mod_core.c, src/main.c: Bug#2468
41724	- Ability to disable address/port collision checking.
41725
417262004-09-17  castaglia <castaglia>
41727
41728	* contrib/mod_quotatab.c: Explicitly use the more modern
41729	'pr_log_openfile' symbol.
41730
417312004-09-15  castaglia <castaglia>
41732
41733	* include/conf.h: Typo (log -> long).
41734
417352004-09-14  castaglia <castaglia>
41736
41737	* NEWS, contrib/mod_ldap.c, contrib/mod_radius.c,
41738	contrib/mod_sql.c, include/conf.h, include/modules.h,
41739	modules/mod_auth.c, modules/mod_auth_file.c,
41740	modules/mod_auth_unix.c, modules/mod_core.c, modules/mod_ctrls.c,
41741	modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
41742	modules/mod_xfer.c, src/auth.c, src/data.c, src/xferlog.c: Bug#2389
41743	- 64-bit compilation warnings.
41744
417452004-09-13  castaglia <castaglia>
41746
41747	* src/support.c: Add an explicit typecast to quell warnings on
41748	64-bit platforms.
41749
417502004-09-13  castaglia <castaglia>
41751
41752	* modules/mod_auth_pam.c: Quell a compiler warning on Solaris with
41753	an explicit typecast.
41754
417552004-09-13  castaglia <castaglia>
41756
41757	* doc/howto/Limit.html: Add example of using <Class> and
41758	mod_ifsession to configure a user so that they can only login from a
41759	certain IP range.
41760
417612004-09-12  castaglia <castaglia>
41762
41763	* doc/howto/FXP.html: Add text noting the ISPs may filter FTP ports,
41764	blocking FXP.
41765
417662004-09-11  castaglia <castaglia>
41767
41768	* src/main.c: Typo.
41769
417702004-09-08  castaglia <castaglia>
41771
41772	* contrib/mod_quotatab.c: Add logging of the non-ENOENT cases when
41773	the uploaded file has disappeared.
41774
417752004-09-07  castaglia <castaglia>
41776
41777	* src/main.c: Settings display format tweak.
41778
417792004-09-07  castaglia <castaglia>
41780
41781	* src/main.c: Add --settings option to the long getopt() list.
41782
417832004-09-07  castaglia <castaglia>
41784
41785	* src/main.c: Update the long descriptions for the -n, -d
41786	command-line parameters.
41787
417882004-09-07  castaglia <castaglia>
41789
41790	* include/proftpd.h: Removing cruft.
41791
417922004-09-07  castaglia <castaglia>
41793
41794	* contrib/mod_quotatab.c: Handle the case where, after an upload,
41795	the file to which bytes have been added has disappeared (as when
41796	MaxStoreFileSize and DeleteAbortedStores are in effect).
41797
417982004-09-07  castaglia <castaglia>
41799
41800	* src/proftpd.8.in: Mention debug level 10 in the proftpd(8) man
41801	page.
41802
418032004-09-05  castaglia <castaglia>
41804
41805	* src/event.c: More graceful handling of NULL evh->module pointers.
41806
418072004-09-05  castaglia <castaglia>
41808
41809	* doc/mod_sample.c: Update the sample module to include registering
41810	the module version.
41811
418122004-09-05  castaglia <castaglia>
41813
41814	* configure: Updating configure script.
41815
418162004-09-05  castaglia <castaglia>
41817
41818	* src/main.c: Display the --enable-scoreboard-updates setting in the
41819	-V output.
41820
418212004-09-05  castaglia <castaglia>
41822
41823	* NEWS, config.h.in, configure.in: Add autoconf support for a
41824	--enable-scoreboard-updates option.
41825
418262004-09-05  castaglia <castaglia>
41827
41828	* NEWS, include/options.h, modules/mod_xfer.c: Bug#2455 - Allow
41829	fine-tuning of how often mod_xfer updates the scoreboard.
41830
418312004-09-05  castaglia <castaglia>
41832
41833	* RELEASE_NOTES: Update release notes for 1.2.11 release cycle.
41834
418352004-09-05  castaglia <castaglia>
41836
41837	* src/proftpd.8.in: Remove extra space.
41838
418392004-09-05  castaglia <castaglia>
41840
41841	* src/proftpd.8.in: Document the new -V command-line option in the
41842	proftpd(8) man page.
41843
418442004-09-05  castaglia <castaglia>
41845
41846	* configure: Updating configure script.
41847
418482004-09-05  castaglia <castaglia>
41849
41850	* NEWS, config.h.in, configure.in, src/main.c: Add support for a -V
41851	command-line option, which displays various compile-time settings, a
41852	la Apache.
41853
418542004-09-05  castaglia <castaglia>
41855
41856	* config.h.in, include/conf.h: Move the HPUX socklen_t bug fix to
41857	include/conf.h, a header file that is not preprocessed by autoconf.
41858	The autoconf preprocessing was causing the #undef in the generated
41859	config.h header file to be commented out, which would result in
41860	complaints from stringent compilers.
41861
418622004-09-05  castaglia <castaglia>
41863
41864	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
41865	contrib/mod_sql_postgres.c: Remove the _MOD_VERSION #define from
41866	mod_sql, as it was not doing as was intended, I think.  Much better,
41867	cleaner, and more explicit to have each module #define its own
41868	VERSION string, and to use that version string consistently within
41869	the module.
41870
418712004-09-05  castaglia <castaglia>
41872
41873	* modules/mod_log.c: Convert mod_log to use the Events API.
41874
418752004-09-05  castaglia <castaglia>
41876
41877	* contrib/mod_rewrite.c: Convert mod_rewrite to use the Events API.
41878
418792004-09-05  castaglia <castaglia>
41880
41881	* src/regexp.c: The Regexp API need not use the core_module pointer
41882	for registering its callbacks; registered events can have a NULL
41883	module pointer.
41884
418852004-09-05  castaglia <castaglia>
41886
41887	* src/regexp.c: Convert the Regexp API to use the Events API for
41888	cleanup.
41889
418902004-09-05  castaglia <castaglia>
41891
41892	* modules/mod_xfer.c: Update mod_xfer to use the Events API a little
41893	more.
41894
418952004-09-05  castaglia <castaglia>
41896
41897	* modules/mod_auth_unix.c: Convert mod_auth_unix to use the Events
41898	API.
41899
419002004-09-05  castaglia <castaglia>
41901
41902	* modules/mod_auth_pam.c: Convert mod_auth_pam to use the Events
41903	API.
41904
419052004-09-05  castaglia <castaglia>
41906
41907	* contrib/mod_sql.c: Convert mod_sql to use the Events API.
41908
419092004-09-05  castaglia <castaglia>
41910
41911	* contrib/mod_radius.c: Convert mod_radius to use the Events API.
41912
419132004-09-05  castaglia <castaglia>
41914
41915	* contrib/mod_quotatab.c: Convert mod_quotatab to using the Events
41916	API.
41917
419182004-09-04  castaglia <castaglia>
41919
41920	* NEWS, src/fsio.c: Bug#2476 - Incorrect detection of symbolic link
41921	loop across devices.  The algorithm used for loop detection relied
41922	solely on the inode number, which does not account for the
41923	possibility that different devices may reuse inode numbers.  This
41924	patch adds the device number to the detection algorithm.
41925
419262004-09-04  castaglia <castaglia>
41927
41928	* NEWS, modules/mod_xfer.c: Bug#2463 - mod_xfer doesn't check how
41929	many bytes it has written to disk.
41930
419312004-09-04  castaglia <castaglia>
41932
41933	* NEWS, modules/mod_auth.c: Bug#2458 - Bad handling of CreateHome
41934	parameters.
41935
419362004-09-04  castaglia <castaglia>
41937
41938	* NEWS, modules/mod_ls.c: Bug#2457 - Directory listing provides bad
41939	info when path ends with /.
41940
419412004-09-04  castaglia <castaglia>
41942
41943	* NEWS, src/main.c: Bug#2449 - ProFTPD silently ignores extra
41944	command-line parameters.
41945
419462004-09-04  castaglia <castaglia>
41947
41948	* include/version.h: Update version, indicating CVS status once
41949	more.
41950
419512004-09-04  castaglia <castaglia>
41952
41953	* ChangeLog: Updating ChangeLog.
41954
419552004-09-04  castaglia <castaglia>
41956
41957	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
41958	to release 1.2.10-final.
41959
419602004-08-25  castaglia <castaglia>
41961
41962	* src/data.c: When using sendfile(), only reset the transmission
41963	timers if bytes have actually been written out.  sendfile() can
41964	return zero, indicating that it wrote zero bytes -- we do not want
41965	to reset the timers in this case, for it could indicate other issues
41966	with the file descriptor from which data are being read.  This fixes an endless loop seen at a particular site involving use
41967	of sendfile() and NFS/SAN-shared files.
41968
419692004-08-24  castaglia <castaglia>
41970
41971	* modules/mod_xfer.c: Reset the 'have_prot' flag to false when a
41972	successful PROT C command is processed.
41973
419742004-08-12  castaglia <castaglia>
41975
41976	* modules/mod_xfer.c: Update to patch to mod_xfer for Bug #2444: the
41977	PROT command is allowed before authentication.  The patch was
41978	required authentication first, causing issutes for FTPS clients that
41979	sent PROT before USER.
41980
419812004-08-07  castaglia <castaglia>
41982
41983	* NEWS, src/log.c, src/main.c: Bug#2427 - proftpd gets a memory
41984	fault when run from ssh batch mode.
41985
419862004-08-07  castaglia <castaglia>
41987
41988	* src/main.c: Two more cases where the IP address contacted by the
41989	client should be used, if present, rather than the ServerAddress
41990	field of the relevant server_rec.
41991
419922004-08-07  castaglia <castaglia>
41993
41994	* src/main.c: Fix a minor bug in the reporting of ServerIdent, where
41995	the wrong IP address may be displayed.  For example, with the
41996	following configuration:   <VirtualHost 127.0.0.1>     Bind 1.2.3.4     ...    </VirtualHost> a client connecting to 1.2.3.4 should see "[127.0.0.1]" at the tail
41997	end of the default ServerIdent displayed, rather than the more
41998	appropriate "[1.2.3.4]".  The fix is to use the IP address to which
41999	the client connected, rather than the ServerAddress field of the
42000	server_rec to which the client connected.  As the case with Bind
42001	shows, multiple IP addresses may be associated with the same
42002	server_rec, and the IP address displayed to the connecting client
42003	should not "leak" this fact.
42004
420052004-08-06  castaglia <castaglia>
42006
42007	* src/main.c: Reorder the timing of calling pr_ident_lookup(),
42008	making it occur after modules have been initialized.  This makes it
42009	possible for mod_ifsession, for example, to alter if ident lookups
42010	will be enabled, e.g.:   <IfClass foo>     IdentLookups off   </IfClass> so that ident lookups can be enabled/disabled selectively.
42011
420122004-08-06  castaglia <castaglia>
42013
42014	* doc/howto/Limit.html: Add description of applying <Limit> sections
42015	to SITE commands.
42016
420172004-08-05  castaglia <castaglia>
42018
42019	* RELEASE_NOTES: Updating the release notes.
42020
420212004-08-04  castaglia <castaglia>
42022
42023	* NEWS, modules/mod_core.c: Add support for automatically scrubbing
42024	the scoreboard for stale sessions on session init time, for inetd
42025	proftpds.  Scrubbing is already done periodically for standalone
42026	proftpds.
42027
420282004-08-03  castaglia <castaglia>
42029
42030	* NEWS, modules/mod_xfer.c: Bug#2444 - Use of sendfile() does not
42031	interoperate well with RFC2228 security mechanisms.
42032
420332004-08-03  castaglia <castaglia>
42034
42035	* contrib/mod_sql.c: Convert mod_sql to using ProFTPD's sstrcat()
42036	function, rather than strcat(3).
42037
420382004-08-01  castaglia <castaglia>
42039
42040	* NEWS, modules/mod_auth_file.c: Bug#2445 - AuthUserFile in <Global>
42041	context overrides <VirtualHost> setting.  Note that this bug will be
42042	revisited in the next release cycle, and fixed The Right Way(tm).
42043
420442004-07-31  castaglia <castaglia>
42045
42046	* modules/mod_core.c: Store the original name configured by a
42047	MasqueradeAddress directive in the config_rec, along with the
42048	resolved netaddr object.  This will make it possible to re-resolve
42049	the original name at a later date.
42050
420512004-07-31  castaglia <castaglia>
42052
42053	* doc/howto/Limit.html: Add example <Limit LOGIN> configuration that
42054	allows only anonymous logins.
42055
420562004-07-30  castaglia <castaglia>
42057
42058	* modules/mod_core.c: Make certain that all occurrences of an
42059	environment variable are removed when handling the UnsetEnv
42060	directive; a environment variable can appear multiple times in the
42061	environ array.
42062
420632004-07-28  castaglia <castaglia>
42064
42065	* doc/howto/Authentication.html: Updating the section on "Resolving
42066	~", fixing mention of mod_auth_pam.
42067
420682004-07-22  castaglia <castaglia>
42069
42070	* NEWS, modules/mod_auth_pam.c: Bug#2442 - Segfault in FreeBSD PAM
42071	library with long login names.
42072
420732004-07-22  castaglia <castaglia>
42074
42075	* README.PAM: Update the PAM docs about AuthPAMAuthoritative, and
42076	add an Issues section.
42077
420782004-07-22  castaglia <castaglia>
42079
42080	* contrib/mod_ldap.c, contrib/mod_sql.c: Apply the same criteria for
42081	including <crypt.h> to mod_ldap and mod_sql as are used for
42082	mod_auth_unix and mod_auth_file.
42083
420842004-07-21  castaglia <castaglia>
42085
42086	* NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug #2411
42087	- AIX5 portability bug with mod_auth_unix, mod_auth_file.  Using gcc
42088	on AIX5, these files compile without complaint.  However, using the
42089	IBM compiler and following the instructions in README.AIX, they will
42090	fail on AIX5.  The fix is to extend for AIX5 the portability hack
42091	that is done for AIX4.
42092
420932004-07-20  castaglia <castaglia>
42094
42095	* NEWS, include/modules.h, modules/mod_core.c, src/auth.c: Bug #2440
42096	- Unable to use PAM authentication properly.  As explained in the
42097	bug report, the deprecation of all *Authoritative directives causes
42098	an issue with modules like mod_auth_pam.  This patch makes use of an
42099	unused flag variable in the authtable structure in order to
42100	implement the setting of auth module authoritativeness via the
42101	AuthOrder directive.
42102
421032004-07-15  castaglia <castaglia>
42104
42105	* modules/mod_ctrls.c: We were forgetting to remove our previous
42106	timer before adding a new one.
42107
421082004-07-15  castaglia <castaglia>
42109
42110	* src/timers.c: Prevent add_timer() from adding multiple timers that
42111	use the same timerno.
42112
421132004-07-14  castaglia <castaglia>
42114
42115	* modules/mod_ctrls.c: We don't want child processes handling these
42116	events for mod_ctrls.
42117
421182004-07-14  castaglia <castaglia>
42119
42120	* include/version.h: Let's try this again.
42121
421222004-07-13  castaglia <castaglia>
42123
42124	* ChangeLog: Updating ChangeLog.
42125
421262004-07-13  castaglia <castaglia>
42127
42128	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: How
42129	embarassing.  A typo broke 1.2.10rc2, necessitating a release of
42130	rc3.
42131
421322004-07-13  castaglia <castaglia>
42133
42134	* modules/mod_core.c: Typo.
42135
421362004-07-13  castaglia <castaglia>
42137
42138	* include/version.h: Bump version for CVS checkouts.
42139
421402004-07-13  castaglia <castaglia>
42141
42142	* ChangeLog: Updating ChangeLog.
42143
421442004-07-13  castaglia <castaglia>
42145
42146	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
42147	for release of 1.2.10rc2.
42148
421492004-07-13  castaglia <castaglia>
42150
42151	* modules/mod_core.c: Variable name collision from different scopes;
42152	fix to quell a compiler warning.
42153
421542004-07-13  castaglia <castaglia>
42155
42156	* src/support.c: Quell a warning about reusing a global symbol name
42157	'dup'.
42158
421592004-07-13  castaglia <castaglia>
42160
42161	* modules/mod_core.c: Rest of patch for Bug#2439.
42162
421632004-07-11  castaglia <castaglia>
42164
42165	* NEWS, modules/mod_core.c: Bug#2439 - <Limit CWD> doesn't work.
42166
421672004-07-09  castaglia <castaglia>
42168
42169	* NEWS, modules/mod_core.c: Bug#2438 - Display variable %z not
42170	expanded properly.
42171
421722004-07-08  castaglia <castaglia>
42173
42174	* contrib/mod_ifsession.c: Only perform <Limit LOGIN> checks if
42175	we've actually merged something in.  Also, when performing this
42176	check, use the TOPLEVEL_CONF macro (which correctly handles
42177	<Anonymous> contexts) to avoid inadvertently checking the wrong
42178	<Limit LOGIN> block.
42179
421802004-07-06  castaglia <castaglia>
42181
42182	* doc/howto/TLS.html: Update the link to the most current FTPS
42183	Draft.
42184
421852004-07-01  castaglia <castaglia>
42186
42187	* src/dirtree.c: Fix pr_expr_eval_class_and() and
42188	pr_expr_eval_class_or() to properly handle the case where
42189	session.class may be NULL (as when there is no <Class> definition
42190	that matches the connecting client).  Previously, if there was no
42191	matching <Class> for a client, a rule such as:   <IfClass !name> would evaluate to false.  It _should_ evaluate to true; this change
42192	makes it so.  This fixes a problem Michael was encountering with mod_ifsession and
42193	Classes.
42194
421952004-07-01  castaglia <castaglia>
42196
42197	* src/dirtree.c: When handling <Global> contexts in fixup_globals(),
42198	only handle contexts that have both the right config_type
42199	(CONF_GLOBAL) _and_ the right name ("<Global>").  Contrib modules
42200	(e.g. mod_ifsession) might create their own contexts that use the
42201	CONF_GLOBAL flag; in the case of mod_ifsession, the fact that
42202	fixup_globals() was handling the mod_ifsession-created context
42203	config_recs was causing a bug when <If*> sections were used within
42204	<Global> contexts.  This change also includes some style cleanup.
42205
422062004-07-01  castaglia <castaglia>
42207
42208	* src/dirtree.c: Style.
42209
422102004-07-01  castaglia <castaglia>
42211
42212	* contrib/mod_tls.c: Improve mod_tls' error reporting by displaying
42213	the paths that are given in the configuration data for various
42214	files, in the cases where mod_tls determines that those paths do not
42215	exist.
42216
422172004-06-30  castaglia <castaglia>
42218
42219	* doc/howto/TLS.html: Updating the mod_tls docs, and the TLS howto,
42220	to mention the new AllowPerUser TLSOption, and the risks involved in
42221	its use.
42222
422232004-06-30  castaglia <castaglia>
42224
42225	* NEWS, contrib/mod_tls.c: Bug#2419 - Ability to disable TLSRequired
42226	on per-user basis (e.g. for anonymous logins).
42227
422282004-06-30  castaglia <castaglia>
42229
42230	* NEWS, src/class.c, src/netacl.c, src/netaddr.c: Bug#2303 - Problem
42231	evaluating multiple <Class> rules.
42232
422332004-06-23  castaglia <castaglia>
42234
42235	* NEWS, contrib/mod_sql.c: Bug#2431 - mod_sql does not use UID/GID
42236	properly in cache lookups.  For the most part this is an issue only
42237	if you define a user account with UID of zero, or a group account
42238	with GID of zero, in your SQL user tables.
42239
422402004-06-17  castaglia <castaglia>
42241
42242	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#2418 -
42243	chmod returns 550 with filename containing multiple spaces.
42244
422452004-06-17  castaglia <castaglia>
42246
42247	* NEWS: Typo.
42248
422492004-06-15  castaglia <castaglia>
42250
42251	* src/netio.c: Style.
42252
422532004-06-12  castaglia <castaglia>
42254
42255	* src/modules.c: Removal of symbols (e.g. AuthOrder) was not working
42256	properly without this change.
42257
422582004-06-11  castaglia <castaglia>
42259
42260	* NEWS, contrib/mod_sql.c: Bug#2422 - %v not working in
42261	SQLNamedQuery.
42262
422632004-06-10  castaglia <castaglia>
42264
42265	* NEWS, modules/mod_core.c: Bug#2411 - Caching effects cause RNTO to
42266	fail if AllowOverwrite is off and target path does not exist.
42267
422682004-06-10  castaglia <castaglia>
42269
42270	* contrib/mod_sql.c: Remove debugging cruft.
42271
422722004-06-10  castaglia <castaglia>
42273
42274	* NEWS, contrib/mod_sql.c: Bug#2424 - SQLDefaultHomedir overrides
42275	column value.
42276
422772004-06-08  castaglia <castaglia>
42278
42279	* doc/howto/ServerType.html: ProFTPD is now IPv6-capable; it simply
42280	needs the proper configure option.  Update the ServerType howto to
42281	reflect this (relevant for Solaris users).
42282
422832004-06-07  castaglia <castaglia>
42284
42285	* contrib/mod_quotatab.h, contrib/mod_sql.c: Increment versions of
42286	mod_quotatab, mod_sql.
42287
422882004-06-07  castaglia <castaglia>
42289
42290	* NEWS, contrib/mod_quotatab_sql.c, contrib/mod_sql.c,
42291	include/support.h, src/support.c: Bug#2420 - Name field is not
42292	escaped before querying database.  This patch fixes mod_quotatab_sql to escape the name string used.
42293	To do this, several changes were made: the _sql_strip_spaces()
42294	function of mod_sql.c was made a public ProFTPD API string function
42295	(pr_str_strip), so that that code need not be duplicated in both
42296	mod_sql.c and mod_quotatab_sql.c, a new HOOK to mod_sql's
42297	sql_escapestring function was added, under the symbol
42298	'sql_escapestr', to avoid further code duplication, and
42299	mod_quotatab_sql was updated to make use of the new API.
42300
423012004-06-06  castaglia <castaglia>
42302
42303	* contrib/mod_tls.c: Fix scrubbing of passphrases when a session
42304	process exits.
42305
423062004-05-31  castaglia <castaglia>
42307
42308	* include/dirtree.h, include/event.h, src/dirtree.c, src/event.c:
42309	Add a pr_event_dump() function, for dumping internal Events info.
42310	Adjust config-dumping function names to match (i.e.
42311	pr_config_dump()).
42312
423132004-05-31  castaglia <castaglia>
42314
42315	* contrib/mod_ctrls_admin.c: Removing the 'dump' control action from
42316	mod_ctrls_admin.  A new module, mod_dumper, will implement this
42317	control action.  I anticipate the audience for mod_dumper to be much
42318	smaller than for mod_ctrls_admin.
42319
423202004-05-31  castaglia <castaglia>
42321
42322	* src/modules.c: Slightly cleaner structure.
42323
423242004-05-31  castaglia <castaglia>
42325
42326	* src/dirtree.c: Attempting to dump the config for a minimally
42327	configured server_rec (i.e.  server_rec->conf is NULL) would
42328	segfault.
42329
423302004-05-31  castaglia <castaglia>
42331
42332	* src/modules.c: When iterating through the stash for removing
42333	symbols, be sure to pass in the previously-found entry, not NULL.
42334	Otherwise, symbols can inadvertently be skipped.
42335
423362004-05-31  castaglia <castaglia>
42337
42338	* src/modules.c: Fix removal of a module from the loaded_modules
42339	list.
42340
423412004-05-31  castaglia <castaglia>
42342
42343	* src/modules.c: Fix a bug introduced in the handling of HOOK vs CMD
42344	symbols.  Fix handling of loaded_modules pointer when unloading a
42345	module.  Add signal handling where appropriate.
42346
423472004-05-31  castaglia <castaglia>
42348
42349	* src/modules.c: Missed a case where the PR_SYM_CONF hashing needed
42350	to be handled differently.
42351
423522004-05-31  castaglia <castaglia>
42353
42354	* src/modules.c: The changes made earlier, to have processing of
42355	configuration directives use the stash directly, caused a problem.
42356	The prior structure allowed for case-insensitive comparisons between
42357	the directive name in the config file and the name defined by the
42358	processing module.  By switching to doing lookups from the stash
42359	directly, such case-insensitive comparisons became difficult.  So, for now, whenever a PR_SYM_CONF symbol is added or requested
42360	from the stash, its hash value is calculated not from the symbol
42361	name directly, but from a lowercased version of the name (and only
42362	for PR_SYM_CONF symbols).  In order to make this work, there is now
42363	special-case handling of PR_SYM_CONF, and the stash_lookup()
42364	functions use strcasecmp() rather than strcmp().  I hope this
42365	doesn't cause any problems with other symbols.  In the future, when the proposed Tables API is complete, I'd like to
42366	have completely separate tables for the different symbol types.
42367	This will (hopefully) make lookups faster (smaller namespace to search) and
42368	allow customized hashing/comparison functions (PR_SYM_CONF symbols
42369	needing different treatment from other symbols in this case) on a
42370	per-table basis.
42371
423722004-05-30  castaglia <castaglia>
42373
42374	* contrib/mod_ctrls_admin.c, include/modules.h, modules/mod_core.c,
42375	src/modules.c: Add pr_module_load() and pr_module_unload()
42376	functions, for loading and unloading modules (and their symbols)
42377	from the stash.  Rework the rest of the code to work with the
42378	changes (i.e. removed crufty globals).
42379
423802004-05-30  castaglia <castaglia>
42381
42382	* NEWS: Bug#2125 - -vv command line switch should list versions of
42383	modules.
42384
423852004-05-30  castaglia <castaglia>
42386
42387	* modules/mod_cap.c, src/main.c: Minor formatting tweak.  Update
42388	mod_cap to report its version.  Other modules will follow.
42389
423902004-05-30  castaglia <castaglia>
42391
42392	* src/main.c: Typo.
42393
423942004-05-30  castaglia <castaglia>
42395
42396	* src/main.c: Bug#2125 - -vv command line switch should list
42397	versions of modules.  With this change, modules _can_ report their version (or other short
42398	descriptor)in such a way that it will be listed if the -vv command
42399	line option is used.  It is not required for modules to do so; if
42400	they do not, just the module name is displayed.
42401
424022004-05-30  castaglia <castaglia>
42403
42404	* include/modules.h: Extend the module structure to include fields
42405	for module version, and an opage handle for the module (for libltdl
42406	pointers).  This extension do not break the currently-defined module
42407	structures in module files.
42408
424092004-05-30  castaglia <castaglia>
42410
42411	* contrib/mod_ctrls_admin.c, src/dirtree.c, src/modules.c,
42412	src/sets.c: More prep work for loadable modules.  This change
42413	removes use of the m_conftable global variable, shifting the users
42414	of that variable to using the stash directly, via
42415	pr_stash_get_symbol().  For example, mod_ctrls_admin was using
42416	m_conftable for supporting the 'get directives' control action.  Now
42417	that handler iterates through the stash directly for PR_SYM_CONF
42418	symbols (which required some adjusting of the stash internals to
42419	allow for such interating).
42420
424212004-05-29  castaglia <castaglia>
42422
42423	* src/event.c: Make pr_event_unregister() function as documented if
42424	given a NULL callback argument.
42425
424262004-05-29  castaglia <castaglia>
42427
42428	* include/modules.h, modules/glue.sh, modules/mod_core.c,
42429	src/modules.c: More fun with the loaded_modules list.  Initially,
42430	the loaded_modules linked list will be NULL; it is the job of
42431	modules_init() to initialize the modules in the static_modules list,
42432	and add a pointer to the loaded module to the loaded_modules list.  More work needs to be done on abstracting the process of loading of
42433	a module.
42434
424352004-05-29  castaglia <castaglia>
42436
42437	* modules/mod_ctrls.c: Clean up the ControlsLog entries when
42438	encountering a stale connection: we don't need to know the full
42439	timestamps, just the difference as compared to the
42440	ControlsAuthFreshness.
42441
424422004-05-29  castaglia <castaglia>
42443
42444	* include/modules.h, src/main.c, src/modules.c: Use "modules",
42445	plural, to indicate that the function acts on multiple modules, not
42446	just one.
42447
424482004-05-29  castaglia <castaglia>
42449
42450	* src/modules.c: Add sane errno values.
42451
424522004-05-29  castaglia <castaglia>
42453
42454	* include/modules.h, modules/glue.sh, modules/mod_core.c,
42455	modules/mod_ctrls.c, src/main.c, src/modules.c: Beginning work on
42456	supporting loadable modules.  The modules/glue.sh file autogenerates
42457	a file that defines the static_modules array, which contains the
42458	module structure pointers from all the statically compiled modules.
42459	This list cannot be modified.  For loadable modules, we need a
42460	modifiable list, which I've added to the script: loaded_modules.
42461	Initially, loaded_modules is identical to static_modules.  A
42462	pr_module_get() function has been added, to lookup a module pointer
42463	given its name.
42464
424652004-05-29  castaglia <castaglia>
42466
42467	* modules/mod_ctrls.c: Add more info to the ControlsLog when the
42468	ControlsAuthFreshness is exceeded, to help in debugging why this
42469	happens.
42470
424712004-05-29  castaglia <castaglia>
42472
42473	* contrib/mod_tls.c: Typo (thanks John!).
42474
424752004-05-29  castaglia <castaglia>
42476
42477	* doc/howto/Directory.html: Wording update.
42478
424792004-05-29  castaglia <castaglia>
42480
42481	* contrib/mod_tls.c: Fix handling of memory passed to mlock(2).  It
42482	seems that mlock(2) is very picky, and wants a page-aligned address
42483	only.  malloc(3)/calloc(3) do not return page-aligned addresses by
42484	default (although FreeBSD's man page suggests that for a sufficient
42485	size request, they will), so we help them along by adding some
42486	page-alignment code.  We still want to stash the pointer returned by
42487	malloc(), not the aligned address, so that we can properly free the
42488	allocated memory later.  Also use pr_log_debug(), rather than logging to the TLSLog, when
42489	locking passphrases into memory, for at that point in the server
42490	lifecycle, the TLSLog has not yet been opened.
42491
424922004-05-29  castaglia <castaglia>
42493
42494	* contrib/mod_tls.c: Silence a compiler warning by providing a
42495	default value.
42496
424972004-05-29  castaglia <castaglia>
42498
42499	* contrib/mod_tls.c: Typo.
42500
425012004-05-29  castaglia <castaglia>
42502
42503	* src/scoreboard.c: Unblock signals properly.
42504
425052004-05-28  castaglia <castaglia>
42506
42507	* README.modules: Update this README.
42508
425092004-05-27  castaglia <castaglia>
42510
42511	* contrib/mod_tls.c: Registering for the wrong event: we want
42512	'core.postparse', not 'core.restart'.  Close the TLSLog during a
42513	restart, so that it can be rolled.  The TLSLog will be reopened by
42514	the next session.
42515
425162004-05-26  castaglia <castaglia>
42517
42518	* src/ctrls.c: Make sure that the destination ctrl object has a
42519	valid temporary pool from which to copy arguments.
42520
425212004-05-26  castaglia <castaglia>
42522
42523	* src/dirtree.c: Reset the sid (server ID) counter when preparing to
42524	parse a configuration.
42525
425262004-05-26  castaglia <castaglia>
42527
42528	* configure: Updating configure script.
42529
425302004-05-26  castaglia <castaglia>
42531
42532	* config.h.in, configure.in: Check if intptr_t is defined.
42533
425342004-05-25  castaglia <castaglia>
42535
42536	* modules/mod_ctrls.c: When closing fds, set them to -1, to make
42537	sure that a cached fd value is not inadvertently used somewhere it
42538	shouldn't be.  Also, block alarms when handling the 'core.restart'
42539	event.
42540
425412004-05-25  castaglia <castaglia>
42542
42543	* contrib/mod_tls.c: Check the return value of
42544	SSL_CTX_set_default_verify_locations(), and log the error (if any).
42545
425462004-05-25  castaglia <castaglia>
42547
42548	* doc/howto/BCP.html: Wording.
42549
425502004-05-25  castaglia <castaglia>
42551
42552	* src/main.c: Make sure that fixup_servers() happens before
42553	generating the 'core.postparse' event (mod_tls' 'core.postparse'
42554	handler was tickling a segfault because one of the server_recs had a
42555	NULL ServerName field; fixup_servers() sets all of the server_rec
42556	fields appropriately).
42557
425582004-05-24  castaglia <castaglia>
42559
42560	* modules/mod_ctrls.c: Fix a problem when restarting a proftpd with
42561	mod_ctrls.  Some variables were allocated from the module pool, and
42562	then being used after that pool had been destroyed/reallocated.
42563	This meant that different configurations and interactions might (or
42564	might not) work.
42565
425662004-05-24  castaglia <castaglia>
42567
42568	* lib/pr-syslog.c: Mention the Sun bug number that caused the
42569	/dev/log kernel memory leak.
42570
425712004-05-23  castaglia <castaglia>
42572
42573	* contrib/mod_quotatab_sql.c: Typo.
42574
425752004-05-22  castaglia <castaglia>
42576
42577	* contrib/mod_quotatab_sql.c: Don't complain about being unable to
42578	delete a nonexistent QuotaLock.
42579
425802004-05-21  castaglia <castaglia>
42581
42582	* RELEASE_NOTES: Style.
42583
425842004-05-21  castaglia <castaglia>
42585
42586	* RELEASE_NOTES: Update the release notes with mention of
42587	TimeoutLinger.
42588
425892004-05-21  castaglia <castaglia>
42590
42591	* NEWS, include/data.h, modules/mod_core.c, src/data.c: Add a
42592	TimeoutLinger option.  It's just simpler to change this value via
42593	the config file, for those sites that encounter troubles with
42594	lingering closes, rather than requiring a reconfigure and recompile.
42595
425962004-05-20  castaglia <castaglia>
42597
42598	* contrib/mod_ctrls_admin.c: Check for signals while waiting for all
42599	kids to end when handling a graceful shutdown.
42600
426012004-05-20  castaglia <castaglia>
42602
42603	* doc/howto/Controls.html, doc/howto/index.html: Add a Controls
42604	howto.
42605
426062004-05-19  castaglia <castaglia>
42607
42608	* modules/mod_auth.c: Make sure a Class has been assigned before
42609	attempting to use it.
42610
426112004-05-19  castaglia <castaglia>
42612
42613	* NEWS, lib/pr-syslog.c, src/main.c: Bug#2336 - Use of /dev/log on
42614	Solaris leads to kernel memory leak.
42615
426162004-05-19  castaglia <castaglia>
42617
42618	* src/dirtree.c: Style.
42619
426202004-05-17  castaglia <castaglia>
42621
42622	* modules/mod_auth.c, modules/mod_xfer.c, src/data.c, src/main.c:
42623	Generate events when the Timeout* callbacks cause the session to
42624	time out.
42625
426262004-05-15  castaglia <castaglia>
42627
42628	* src/data.c: Fix an edge case when handling ASCII translation: if
42629	this buffer ends in a CR, and the next buffer starts with an LF, we
42630	need not add a CR in front of the LF.  Prior to this change, though,
42631	proftpd would forget about that dangling CR in the previous buffer,
42632	treat the LF as a bare LF, and add a CR, resulting in a CR-CR-LF
42633	sequence in the output stream rather than the proper CR-LF.
42634
426352004-05-13  castaglia <castaglia>
42636
42637	* contrib/mod_tls.c, include/modules.h, src/main.c, src/modules.c:
42638	Remove the explicit postparse callback registration code in favor of
42639	the new Events API.
42640
426412004-05-13  castaglia <castaglia>
42642
42643	* contrib/mod_tls.c: Use more future-proof APIs to access the X509v3
42644	subjectAltNames in the client cert.  Properly NUL-terminate strings
42645	obtained from memory BIOs.
42646
426472004-05-13  castaglia <castaglia>
42648
42649	* NEWS, modules/mod_auth.c, src/mkhome.c: Bug#2410 - CreateHome
42650	always copies skel directory.
42651
426522004-05-12  castaglia <castaglia>
42653
42654	* src/main.c: I don't think this is valid anymore, if it ever was.
42655	The IPV6_ADDRFORM socket option is not supported on FreeBSD or
42656	Solaris, and looks to be deprecated (if not removed entirely) in
42657	later Linux kernels.
42658
426592004-05-11  castaglia <castaglia>
42660
42661	* NEWS, modules/mod_auth_file.c, modules/mod_auth_unix.c: Bug#2407 -
42662	mod_auth_file does not allow for proper cascading of "end" and "set"
42663	auth requests
42664
426652004-05-11  castaglia <castaglia>
42666
42667	* include/modules.h, src/main.c, src/modules.c: Removing the daemon
42668	startup registration handlers; these have been superceded by Events
42669	(e.g. the "core.startup" event).
42670
426712004-05-10  castaglia <castaglia>
42672
42673	* NEWS, src/main.c: Bug#2332 - SO_OOBINLINE error after upgrading
42674	proftpd from 1.2.6 to 1.2.9.  Attempt to fix by moving the setting
42675	of these socket options to happen earlier in the session.
42676
426772004-05-09  castaglia <castaglia>
42678
42679	* src/data.c: When opening a data connection, check for the ESPV ALL
42680	mode as well.
42681
426822004-05-09  castaglia <castaglia>
42683
42684	* src/fsio.c: When looking up the FS to use for a path, always start
42685	with the root FS ("/") as the best FS to handle the path.  This
42686	fixes a bug where the FS handlers registered by modules like
42687	mod_md5fs or mod_gzipfs were being used for paths other than those
42688	for which they were registered.  Also fix a bug where an FS that did not start with a '/', such as
42689	one used by mod_conf_sql, would cause the FSIO API to prepend the
42690	current location when it shouldn't have; the FSIO API simply needed
42691	to use the proper check for whether the given path was an absolute
42692	path or not.
42693
426942004-05-08  castaglia <castaglia>
42695
42696	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Style cleanup
42697	of the SQL backend modules.  Also updating them to use an event
42698	handler for the "core.exit" event.  Fixed their session initialization routines to always allocate a new
42699	conn_pool and a new conn_cache.  Eventually the mod_sql API will be
42700	revamped to handle these structures a little better.
42701
427022004-05-07  castaglia <castaglia>
42703
42704	* NEWS, modules/mod_ls.c: Bug#2366 - Add support for -h list option.
42705
427062004-05-07  castaglia <castaglia>
42707
42708	* modules/mod_ls.c: Redeclaring a variable isn't a good thing to do.
42709
427102004-05-07  castaglia <castaglia>
42711
42712	* src/child.c: Include <signal.h> so that the kill(2) function
42713	prototype is visible.
42714
427152004-05-06  castaglia <castaglia>
42716
42717	* NEWS, modules/mod_ls.c: Bug#2405 - "LIST *" should not list
42718	dotfiles.
42719
427202004-05-05  castaglia <castaglia>
42721
42722	* src/child.c: Fix the logic determining when to create a new child
42723	list.  Also, when creating that list, use a subpool of the
42724	child_pool, rather than passing child_pool itself; the list
42725	allocator assigns the given pool into the list's 'pool' member,
42726	rather than creating a subpool from the given pool and allocating
42727	the list from what (which is how I would expect it to be done).
42728
427292004-05-04  castaglia <castaglia>
42730
42731	* lib/glibc-glob.c: The buffer length should be PR_TUNABLE_LOGIN_MAX
42732	+ 1.
42733
427342004-05-04  castaglia <castaglia>
42735
42736	* lib/glibc-glob.c: Patch the bundled glob implementation to use
42737	PR_TUNABLE_LOGIN_MAX when the _SC_LOGIN_MAX sysconf variable is not
42738	available.  This brings the implementation more in line with the
42739	rest of proftpd.
42740
427412004-05-03  castaglia <castaglia>
42742
42743	* NEWS, include/class.h, src/class.c, src/main.c: Bug#2403 - Sending
42744	SIGHUP to proftpd stops it when using Classes.
42745
427462004-05-02  castaglia <castaglia>
42747
42748	* NEWS, contrib/mod_rewrite.c: Bug#2082 - Add mod_rewrite
42749	"replaceall" builtin function.
42750
427512004-05-02  castaglia <castaglia>
42752
42753	* NEWS, contrib/mod_ctrls_admin.c: Bug#2399 - Rename start/stop
42754	control actions to up/down.
42755
427562004-05-02  castaglia <castaglia>
42757
42758	* include/glibc-glob.h: Quell some warnings seen on FreeBSD by
42759	checking that a preprocessor symbol (_FILE_OFFSET_BITS) is defined
42760	before using its value in a comparison.
42761
427622004-05-01  castaglia <castaglia>
42763
42764	* contrib/mod_tls.c: Only report the version of OpenSSL being used
42765	at debug level 2 or higher.
42766
427672004-05-01  castaglia <castaglia>
42768
42769	* NEWS, modules/mod_auth.c: Bug#2401 - MaxClientsPerClass only
42770	checks first directive in config file.
42771
427722004-05-01  castaglia <castaglia>
42773
42774	* NEWS, src/class.c: Bug#2400 - <Class> search order is wrong.
42775
427762004-04-30  castaglia <castaglia>
42777
42778	* NEWS, contrib/mod_ctrls_admin.c, include/child.h, src/child.c,
42779	src/main.c: Bug#2034 - Add support for a "graceful shutdown" signal.
42780	Includes adding a convenience function to the Child API,
42781	child_signal(), for sending a given signal to all child processes.
42782
427832004-04-29  castaglia <castaglia>
42784
42785	* Make.rules.in, include/child.h, include/conf.h, src/child.c,
42786	src/main.c: Move the handling of child objects into their own file.
42787	This will help by letting modules be able to know how many existing
42788	sessions there are.  However, the child list routines will not be in
42789	the public "pr_" namespace, as they are not currently suitable for
42790	general consumption.
42791
427922004-04-29  castaglia <castaglia>
42793
42794	* contrib/mod_ldap.c, include/sets.h, modules/mod_auth_unix.c,
42795	src/dirtree.c, src/main.c, src/sets.c, src/support.c: Rename crufty
42796	'mempool' symbol to be 'pool', which is more consistent with the
42797	pool members of other proftpd structures.
42798
427992004-04-29  castaglia <castaglia>
42800
42801	* README.IPv6: Note the sysctl names that affect handling of
42802	wildcard sockets and IPv6 binds.  The current code should override
42803	these sysctl settings, but it is still good to have the sysctl names
42804	noted for reference.
42805
428062004-04-29  castaglia <castaglia>
42807
42808	* NEWS, modules/mod_ls.c: Bug#2396 - NLST command doesn't understand
42809	options.
42810
428112004-04-28  castaglia <castaglia>
42812
42813	* modules/mod_core.c: When using pr_fs_copy_file() to handle
42814	RNFR/RNTO across device mounts, make sure to unlink the source path.
42815
428162004-04-28  castaglia <castaglia>
42817
42818	* include/version.h: Set version back to CVS status for rc2.
42819
428202004-04-28  castaglia <castaglia>
42821
42822	* ChangeLog: Updating ChangeLog.
42823
428242004-04-28  castaglia <castaglia>
42825
42826	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
42827	to roll 1.2.10rc1 tarball.
42828
428292004-04-28  castaglia <castaglia>
42830
42831	* README, RELEASE_NOTES: Add a RELEASE_NOTES file (name may change
42832	in the future) that will track the sort of comments usually
42833	mentioned in the release announcement email, including new and
42834	deprecated configuration directives, new and deprecated modules,
42835	upgrade notes, etc.  Add a note about RELEASE_NOTES to the README.
42836
428372004-04-27  castaglia <castaglia>
42838
42839	* modules/mod_xfer.c: Make the error message returned here
42840	consistent with the other occurrences of 500 responses in mod_xfer.
42841
428422004-04-26  castaglia <castaglia>
42843
42844	* include/dirtree.h, src/dirtree.c: Split the Boolean checking code
42845	into a public function, so that it can be used for checking strings
42846	from sources other than cmd_recs.
42847
428482004-04-24  castaglia <castaglia>
42849
42850	* modules/mod_auth.c: Do not warn about a successful root login
42851	until after root has indeed successfully logged in.
42852
428532004-04-24  castaglia <castaglia>
42854
42855	* doc/modules/mod_auth_pam.html: Add HTML docs for mod_auth_pam.
42856
428572004-04-23  castaglia <castaglia>
42858
42859	* modules/mod_ls.c: The prior fix for Bug#2367 has some unintended
42860	(i.e. _bad_) consequence, spotted by Michael.  This fixes it up
42861	properly (hopefully for good).
42862
428632004-04-23  castaglia <castaglia>
42864
42865	* src/netacl.c: The '{' character is also used in globs.
42866
428672004-04-23  castaglia <castaglia>
42868
42869	* modules/mod_ls.c: Write a debug message, level 1, when NLST
42870	commands with options (as from ncftp) are received.
42871
428722004-04-23  castaglia <castaglia>
42873
42874	* contrib/mod_sql.c: Protect against a possible segfault that occurs
42875	when mod_sql assumes that a query has data, by checking for a valid
42876	data pointed in the returned modret_t object.
42877
428782004-04-22  castaglia <castaglia>
42879
42880	* src/inet.c: Only set the TOS (Type Of Service) flags on IPv4
42881	sockets; IPv6 sockets don't support TOS flags, as far as I know.
42882	This should fix the   error setting write fd IP_TOS: Option not supported by protocol errors seen on some platforms (e.g. Solaris).
42883
428842004-04-21  castaglia <castaglia>
42885
42886	* doc/howto/Classes.html, doc/howto/index.html: Add a howto for the
42887	new <Class> format.
42888
428892004-04-21  castaglia <castaglia>
42890
42891	* src/main.c: Style cleanup.
42892
428932004-04-21  castaglia <castaglia>
42894
42895	* src/main.c: Capture the actual errno value, rather than assuming
42896	that intervening functions will not change errno.
42897
428982004-04-20  castaglia <castaglia>
42899
42900	* doc/howto/Limit.html: Consistency of style is a Good Thing.
42901
429022004-04-20  castaglia <castaglia>
42903
42904	* contrib/mod_ctrls_admin.c: If the 'dump classes' control action is
42905	requested, make sure that the Class dump output includes the Satisfy
42906	setting.
42907
429082004-04-20  castaglia <castaglia>
42909
42910	* src/log.c: Fix the logging of IP addresses in the utmp/wtmp log on
42911	Linux.  Formatting cleanup.
42912
429132004-04-19  castaglia <castaglia>
42914
42915	* include/class.h, modules/mod_core.c, src/class.c: Add a Satisfy
42916	directive.  Note that this directive does NOT function like Apache's
42917	Satisfy directive.  This current implementation is to be used when
42918	defining a class, to specify how to evaluate all of the rules of the
42919	class: any, or all.  Future work will overload this directive to work as users would like
42920	(see Bug#1898) for the <Limit> context.
42921
429222004-04-19  castaglia <castaglia>
42923
42924	* src/dirtree.c: Report line numbers when parsing .ftpaccess files,
42925	too.
42926
429272004-04-18  castaglia <castaglia>
42928
42929	* src/dirtree.c: Have the fatal messages reported during
42930	configuration parsing report the line number and configuration file,
42931	for easier fixing of broken configs.
42932
429332004-04-16  castaglia <castaglia>
42934
42935	* NEWS, include/privs.h: Bug#2317 - Wrong order of privs calls on HP
42936	generates "unable to setregid()".  error.  The problem turned out to
42937	be a call to setregid() before a call to setreuid(), but only in the
42938	HP privs code (non-seteuid() case).  The fix was trivial: call
42939	setreuid() first, to make sure the proper UIDs are set, then call
42940	setregid().
42941
429422004-04-16  castaglia <castaglia>
42943
42944	* NEWS: Mention in NEWS the new doc/modules/ directory.
42945
429462004-04-16  castaglia <castaglia>
42947
42948	* doc/modules/mod_ctrls.html: Updating mod_ctrls' installation
42949	instructions.
42950
429512004-04-16  castaglia <castaglia>
42952
42953	* doc/modules/mod_auth_file.html, doc/modules/mod_cap.html,
42954	doc/modules/mod_ctrls.html: Add a 'doc/modules/' directory, for core
42955	module documentation.  Add the docs for mod_auth_file, mod_cap, and
42956	mod_ctrls.
42957
429582004-04-15  castaglia <castaglia>
42959
42960	* include/ctrls.h: These changes should've been part of an earlier
42961	commit.
42962
429632004-04-15  castaglia <castaglia>
42964
42965	* contrib/mod_tls.c: Much improved handling of OpenSSL's error
42966	queue, so that the TLSLog can properly show all of the errors in the
42967	queue (rather than just the top error, which is usually not too
42968	helpful in pinpointing the actual problem).
42969
429702004-04-15  castaglia <castaglia>
42971
42972	* sample-configurations/basic.conf: The default configuration file
42973	should not allow use of SITE CHMOD.
42974
429752004-04-15  castaglia <castaglia>
42976
42977	* src/main.c: Cleanup the error reported if the PidFile cannot be
42978	opened.
42979
429802004-04-14  castaglia <castaglia>
42981
42982	* modules/mod_core.c: Michael suggested that this log message be at
42983	the INFO level.
42984
429852004-04-14  castaglia <castaglia>
42986
42987	* contrib/mod_ctrls_admin.c, modules/mod_ctrls.c, src/ctrls.c:
42988	Remove the unused 'set' control action from mod_ctrls_admin.  Make
42989	the 'lsctrl' control action list only enabled control actions.
42990	Initialize the ControlsSocketACL such that access to the socket is
42991	allowed to everyone by default; access to individual control actions
42992	still defaults to "deny" unless access is explicitly granted via
42993	configuration.
42994
429952004-04-13  castaglia <castaglia>
42996
42997	* doc/howto/Filters.html: Emphasize _not_ using both an Allow and a
42998	Deny Filter at the same time.
42999
430002004-04-13  castaglia <castaglia>
43001
43002	* include/privs.h: Revert part of my previous update to privs.h; it
43003	included a possible fix for Bug#2317, but that fix is not ready to
43004	be committed just yet.
43005
430062004-04-13  castaglia <castaglia>
43007
43008	* NEWS, include/privs.h: Bug#2387 - PRIVS_USER macro should set
43009	effective GID to user's primary GID.
43010
430112004-04-13  castaglia <castaglia>
43012
43013	* include/dirtree.h, src/dirtree.c: Add a SID (Server ID) to every
43014	server_rec.  This SID is a unique ID that is automatically assigned
43015	to each generated server_rec when proftpd parses its configuration.
43016	SIDs are useful for tracking purposes, particularly for contrib
43017	modules that want to track which vhost caused something to happen.  Format/style cleanups, removed unused CLASS_USER #define.
43018
430192004-04-13  castaglia <castaglia>
43020
43021	* contrib/mod_ctrls_admin.c: Update the proftpd version required by
43022	mod_ctrls_admin.
43023
430242004-04-12  castaglia <castaglia>
43025
43026	* modules/mod_auth.c: Have AnonRejectPasswords generate an event.
43027
430282004-04-12  castaglia <castaglia>
43029
43030	* modules/mod_ctrls.c: Consistent use of strcmp().  Use ANY_MODULE
43031	where appropriate, rather than NULL.
43032
430332004-04-12  castaglia <castaglia>
43034
43035	* src/fsio.c: Fix pr_fsio_getline() to handle the case where a
43036	config line, broken across several lines in the config file using
43037	line continuations, has one of the lines commented out, e.g.:    SomeDirective \      foo \    #  bar \      baz Without this patch, pr_fsio_getline() would return the '#'
43038	character, which is not what most people would think would happen.
43039
430402004-04-12  castaglia <castaglia>
43041
43042	* src/dirtree.c: Be a little more strict when checking for
43043	"${env:...}" strings in the config file.  Format/style cleanup.
43044
430452004-04-11  castaglia <castaglia>
43046
43047	* doc/howto/BCP.html, doc/howto/Globbing.html, doc/howto/index.html:
43048	Add the Globbing and BCP howtos.
43049
430502004-04-11  castaglia <castaglia>
43051
43052	* include/options.h: Updating outdated comments.
43053
430542004-04-11  castaglia <castaglia>
43055
43056	* modules/mod_xfer.c: Typo.
43057
430582004-04-11  castaglia <castaglia>
43059
43060	* modules/mod_xfer.c: Make the 'core.signal.USR2' event handler
43061	check for new TransferRates when involved in any of the file data
43062	transfer commands (APPE, RETR, STOR, STOU), not just RETR.  Update
43063	comments as well.
43064
430652004-04-11  castaglia <castaglia>
43066
43067	* NEWS, modules/mod_ctrls.c, src/ctrls.c: Bug#2383 - mod_ctrls.c:
43068	ctrls_listen(): Invalid size in bind() argument.
43069
430702004-04-11  castaglia <castaglia>
43071
43072	* modules/mod_xfer.c: Add a handler for the event 'core.signal.USR2'
43073	to mod_xfer.  The handler causes mod_xfer, if and only if the RETR
43074	command is currently being handled, to rescan the config tree for
43075	TransferRate entries.  The 'core.signal.USR2' event is only generated when Controls have
43076	been enabled, so in most cases this won't change anything.  Its
43077	purpose is mainly to help the mod_shaper module be able to change
43078	the TransferRate for a session in mid-transfer.
43079
430802004-04-11  castaglia <castaglia>
43081
43082	* include/dirtree.h, src/dirtree.c: Add a new merge flag, CF_SILENT.
43083	Unlike the rest of the CF_ flags, this flag is handled by
43084	fixup_dirs(); the other CF_ flags are handled by the internal
43085	_reorder_dirs() function.  When fixup_dirs() sees CF_SILENT, it will
43086	not print a debug configuration dump, which is its default behavior.
43087
430882004-04-11  castaglia <castaglia>
43089
43090	* src/event.c: Make sure that the order of event registration
43091	matches module load order.  This helps when the same event may be
43092	handled by multiple modules, and the order of handling is important.
43093
430942004-04-11  castaglia <castaglia>
43095
43096	* modules/mod_core.c: This copy of copy_file() is no longer needed.
43097
430982004-04-10  castaglia <castaglia>
43099
43100	* doc/howto/FXP.html, doc/howto/index.html: Add FXP howto.
43101
431022004-04-10  castaglia <castaglia>
43103
43104	* doc/howto/NAT.html, doc/howto/index.html: Add NAT howto.
43105
431062004-04-10  castaglia <castaglia>
43107
43108	* doc/howto/SQL.html: Update the SQL howto to mention using
43109	SQLLogFile.
43110
431112004-04-10  castaglia <castaglia>
43112
43113	* doc/howto/index.html: Add an index page for these howtos.
43114
431152004-04-10  castaglia <castaglia>
43116
43117	* doc/howto/Directory.html: Typo.
43118
431192004-04-10  castaglia <castaglia>
43120
43121	* doc/howto/Directory.html: Add paragraph describing how the * glob
43122	within a path is matched (i.e.  only for single directory level, not
43123	multiple directory levels).
43124
431252004-04-10  castaglia <castaglia>
43126
43127	* doc/howto/Authentication.html, doc/howto/Chroot.html,
43128	doc/howto/ConfigFile.html, doc/howto/Debugging.html,
43129	doc/howto/Directory.html, doc/howto/FTP.html,
43130	doc/howto/Filters.html, doc/howto/Limit.html, doc/howto/SQL.html,
43131	doc/howto/ServerType.html, doc/howto/Stopping.html,
43132	doc/howto/TLS.html, doc/howto/Umask.html, doc/howto/Vhost.html:
43133	Standardize on "Last Updated" in the footer.
43134
431352004-04-10  castaglia <castaglia>
43136
43137	* doc/howto/Logging.html: Add Logging doc.
43138
431392004-04-10  castaglia <castaglia>
43140
43141	* doc/howto/Authentication.html, doc/howto/ConfigFile.html,
43142	doc/howto/Filters.html, doc/howto/Limit.html,
43143	doc/howto/ServerType.html, doc/howto/Stopping.html,
43144	doc/howto/Vhost.html: Modifying links in docs to reference other
43145	docs in this area, rather than the pages on www.castaglia.org.
43146
431472004-04-10  castaglia <castaglia>
43148
43149	* doc/howto/Stopping.html: Add doc for starting/stopping proftpd.
43150
431512004-04-10  castaglia <castaglia>
43152
43153	* doc/howto/FTP.html: Add doc covering FTP commands supported by
43154	proftpd.
43155
431562004-04-10  castaglia <castaglia>
43157
43158	* doc/howto/ServerType.html: Adding ServerType doc.
43159
431602004-04-10  castaglia <castaglia>
43161
43162	* modules/mod_auth_unix.c: When compiling on a HP-UX box which
43163	supports bigcrypt(), the following warning is seen:   passing arg 1 of `bigcrypt' discards qualifiers from pointer
43164	  target type Quell this warning by explicitly casting the arguments to bigcrypt()
43165	to be char *.
43166
431672004-04-10  castaglia <castaglia>
43168
43169	* doc/howto/SSH.html: Add FTP-over-SSH mini-HOWTO.
43170
431712004-04-10  castaglia <castaglia>
43172
43173	* doc/howto/Authentication.html, doc/howto/Chroot.html,
43174	doc/howto/ConfigFile.html, doc/howto/Debugging.html,
43175	doc/howto/Directory.html, doc/howto/Filters.html,
43176	doc/howto/Limit.html, doc/howto/SQL.html, doc/howto/TLS.html,
43177	doc/howto/Umask.html, doc/howto/Vhost.html: Adjusting footers for
43178	consistency.
43179
431802004-04-10  castaglia <castaglia>
43181
43182	* doc/howto/Umask.html: Add the Umask mini-HOWTO.
43183
431842004-04-09  castaglia <castaglia>
43185
43186	* doc/howto/Filters.html: Add the Filters mini-HOWTO to the source
43187	distro.
43188
431892004-04-09  castaglia <castaglia>
43190
43191	* contrib/mod_ctrls_admin.c: Add ability to kick entire Classes via
43192	the 'kick' action.
43193
431942004-04-09  castaglia <castaglia>
43195
43196	* include/fsio.h, modules/mod_core.c, src/fsio.c, src/mkhome.c: The
43197	CreateHome code also included a static copy_file() function.  This
43198	change refactors the code so that both CreateHome and the
43199	rename-across-mount-points code both use the same function, added to
43200	the FSIO code as pr_fs_copy_file().  Code reuse good.
43201
432022004-04-09  castaglia <castaglia>
43203
43204	* contrib/mod_ifsession.c: Removing this HOOK, as it won't work as
43205	intended.  May re-add in the future.
43206
432072004-04-09  castaglia <castaglia>
43208
43209	* NEWS, modules/mod_core.c: Bug#2385 - Renames fail with error
43210	"Invalid cross-device link".  In the case of EXDEV from rename(2),
43211	mod_core now manually copies the file from the source to the
43212	destination location.  Any content existing at the destination
43213	location is lost.
43214
432152004-04-08  castaglia <castaglia>
43216
43217	* contrib/mod_ctrls_admin.c: Add the 'kick' action to
43218	mod_ctrls_admin, for disconnecting clients by user or host names.
43219
432202004-04-07  castaglia <castaglia>
43221
43222	* doc/howto/Authentication.html: Add note about avoiding use of
43223	mod_auth.c and mod_auth_pam.c in AuthOrder directives.
43224
432252004-04-07  castaglia <castaglia>
43226
43227	* contrib/mod_quotatab.c: Add a QuotaLog message warning that when
43228	per_session is true, the QuotaTallyTable will not be updated.
43229
432302004-04-06  castaglia <castaglia>
43231
43232	* NEWS, config.h.in: Bug#2221 - proftpd on hp-ux 11.22.  Override
43233	the default socklen_t detection on HP-UX 11 to be an int.  APR
43234	suffers from this same problem (the bug is ultimately an HP-UX
43235	problem).
43236
432372004-04-06  castaglia <castaglia>
43238
43239	* src/ctrls.c: Fix a format warning on Solaris.
43240
432412004-04-05  castaglia <castaglia>
43242
43243	* contrib/mod_tls.c: Make sure and clear the relevant bits in
43244	tls_flags when the control and data channels are closed.
43245
432462004-04-05  castaglia <castaglia>
43247
43248	* src/ctrls.c: Remove a hardcoded maximum limit on the size of
43249	request strings that can be sent using the Controls API.  Uncovered
43250	when trying to send messages larger than 8 Kb via SysV message
43251	queues.
43252
432532004-04-05  castaglia <castaglia>
43254
43255	* modules/mod_auth.c, src/scoreboard.c: Check for an error return
43256	value from pr_rewind_scoreboard().  Keep track of the process which opened the cached scoreboard fd.
43257	It's possible to have the daemon process open the fd, and then fork,
43258	which means the child will have that same fd.  However, the child
43259	may fdopen() another file onto that fd (e.g. if the fd is 0), thus
43260	losing the scoreboard fd.  This patch also prevents the possibility
43261	of a file descriptor leak by having the same process open the
43262	scoreboard multiple times (e.g. when multiple modules call
43263	pr_open_scoreboard()).
43264
432652004-04-05  castaglia <castaglia>
43266
43267	* NEWS: Mention the adding of mini-HOWTOs in NEWS.
43268
432692004-03-25  castaglia <castaglia>
43270
43271	* configure: Updating configure.
43272
432732004-03-25  castaglia <castaglia>
43274
43275	* configure.in: Remove checks for README.mod_sql from configure.
43276
432772004-03-25  castaglia <castaglia>
43278
43279	* contrib/mod_tls.c: Report the version of OpenSSL used in server
43280	debugging output.
43281
432822004-03-24  castaglia <castaglia>
43283
43284	* NEWS, contrib/ftpasswd: Bug#2371 - ftpasswd should have option to
43285	compare password against value in passwd file.
43286
432872004-03-23  castaglia <castaglia>
43288
43289	* contrib/mod_tls.c: Be more explicit about the expected return
43290	value from SSL_CTX_load_verify_locations(3).  Handle the cases where
43291	the pointers to the CA file or CA path may be NULL, as some libcs do
43292	not handling printing of NULL pointers gracefully, unlike glibc.
43293
432942004-03-23  castaglia <castaglia>
43295
43296	* modules/mod_ls.c: Add a comment explaining the fix for Bug#2367.
43297
432982004-03-23  castaglia <castaglia>
43299
43300	* NEWS, modules/mod_ls.c: Bug#2367 - LIST *.* strange behaviour.
43301
433022004-03-22  castaglia <castaglia>
43303
43304	* doc/howto/Authentication.html, doc/howto/Chroot.html,
43305	doc/howto/ConfigFile.html, doc/howto/Debugging.html,
43306	doc/howto/Directory.html, doc/howto/Limit.html, doc/howto/TLS.html,
43307	doc/howto/Vhost.html: Adding more howtos.
43308
433092004-03-22  castaglia <castaglia>
43310
43311	* doc/howto/SQL.html: Adding an HTML SQL howto to the doc/ area, to
43312	replace the README.mod_sql (which is now terribly outdated).
43313
433142004-03-19  castaglia <castaglia>
43315
43316	* NEWS, modules/mod_core.c: Bug#2369 - EPSV should not send network
43317	address when MasqueradeAddress is used.  RFC 2428 is not very clear
43318	on this point, for it introduces a discrepancy in the possible
43319	responses to PASV versus EPSV.  Until this can be cleared up, do not
43320	honor MasqueradeAddress when EPSV is used by the client.
43321
433222004-03-16  castaglia <castaglia>
43323
43324	* contrib/mod_sql.c: Mark the SQLLog and SQLShowInfo config_recs as
43325	CF_MERGEDOWN_MULTI.  This doesn't affect how mod_sql processes these
43326	directives, but it does make them work properly within mod_ifsession
43327	blocks.
43328
433292004-03-11  castaglia <castaglia>
43330
43331	* NEWS, modules/mod_xfer.c: Bug#2363 - ABOR response RFC 959
43332	compliance.
43333
433342004-03-11  castaglia <castaglia>
43335
43336	* NEWS, modules/mod_auth.c: Bug#2361 - Second USER command causes
43337	problems with chrooted session.  The PRE_CMD handler for C_USER
43338	should check to see if a user is already logged in before doing any
43339	processing.
43340
433412004-03-11  castaglia <castaglia>
43342
43343	* NEWS: Typos.
43344
433452004-03-10  castaglia <castaglia>
43346
43347	* include/privs.h: Typo.
43348
433492004-03-09  castaglia <castaglia>
43350
43351	* src/netaddr.c: Add some debug logging, level 10, showing when a
43352	name is being resolved to its IP addresses, including when DNS is
43353	used.  At debug level 10, things are getting quite verbose; we should start
43354	looking into debugging output masks.
43355
433562004-03-08  castaglia <castaglia>
43357
43358	* README.controls: Clarify that using --enable-ctrls means not using
43359	--with-modules=mod_ctrls.
43360
433612004-03-05  castaglia <castaglia>
43362
43363	* modules/mod_core.c: On second thought, setting errno to ENOENT in
43364	these cases may not be the best idea.
43365
433662004-03-05  castaglia <castaglia>
43367
43368	* modules/mod_core.c: Make sure that errno has an appropriate value
43369	in the case where a resolved path may actually be NULL.  Also,
43370	report on failed paths using cmd->arg, rather than cmd->argv[1], to
43371	handle the case where the client may have specified a path
43372	containing whitespace characters.
43373
433742004-03-05  castaglia <castaglia>
43375
43376	* NEWS, modules/mod_core.c: Bug#2321 - FTP permission checks
43377	inconsistent for DELE and RMD when symlink in directory path.  For
43378	future reference, if dir_canonical_path() is used to obtain a path,
43379	use dir_check_canon() for checking <Limit> permissions on that
43380	returned path, instead of using dir_check().  The dir_* namespace
43381	could use some cleaning up, to make this sort of relationship a
43382	little clearer.
43383
433842004-03-05  castaglia <castaglia>
43385
43386	* NEWS, utils/ftptop.c: Bug#2357 - ftptop should use COLS for
43387	determining display width.
43388
433892004-03-05  castaglia <castaglia>
43390
43391	* configure: Updating configure.
43392
433932004-03-05  castaglia <castaglia>
43394
43395	* NEWS, config.h.in, configure.in, modules/mod_xfer.c: Bug#2353 -
43396	REST doesn't handle offsets greater than 2 GB.
43397
433982004-03-04  castaglia <castaglia>
43399
43400	* modules/mod_core.c: Change handling of the SetEnv, UnsetEnv
43401	directives so that that they can be set on a per-vhost basis.
43402
434032004-03-04  castaglia <castaglia>
43404
43405	* contrib/mod_tls.c: Didn't mean to commit those debugging changes.
43406	Oops.
43407
434082004-03-04  castaglia <castaglia>
43409
43410	* contrib/mod_tls.c: No need to be that verbose.
43411
434122004-03-03  castaglia <castaglia>
43413
43414	* contrib/mod_tls.c: Handle the case where mod_tls has been
43415	configured to set environment variables but the client does not
43416	present a certificate (e.g. when not verifying clients).
43417	Previously, this would cause a segfault.
43418
434192004-03-03  castaglia <castaglia>
43420
43421	* NEWS, contrib/mod_tls.c: Bug#2355 - Send error message to client
43422	when 'TLSRequired both' is in effect.
43423
434242004-03-02  castaglia <castaglia>
43425
43426	* contrib/mod_tls.c: Typo.
43427
434282004-03-01  castaglia <castaglia>
43429
43430	* include/conf.h: Doesn't help to check for <utime.h> if we don't
43431	include it.
43432
434332004-03-01  castaglia <castaglia>
43434
43435	* contrib/mod_ctrls_admin.c: Typo.  Eventually, mod_ctrls_admin's
43436	dump control will handling list of variables in the (as yet
43437	uncommitted) Variables API.
43438
434392004-03-01  castaglia <castaglia>
43440
43441	* configure: Updating configure.
43442
434432004-03-01  castaglia <castaglia>
43444
43445	* config.h.in, configure.in: Check for the <utime.h> system header.
43446
434472004-03-01  castaglia <castaglia>
43448
43449	* contrib/mod_ctrls_admin.c, src/netacl.c: Complete the 'dump
43450	classes' control for mod_ctrls_admin.  Also adds the missing
43451	pr_netacl_get_type() function.
43452
434532004-03-01  castaglia <castaglia>
43454
43455	* src/event.c: Add some basic caching of the last valid event
43456	generated, as a minor optimization.
43457
434582004-02-27  castaglia <castaglia>
43459
43460	* modules/mod_ls.c: STAT is an INFO command more than it is a DIRS
43461	command (for logging purposes).
43462
434632004-02-27  castaglia <castaglia>
43464
43465	* contrib/mod_sql.c: Add handling of the %L (local IP address) and
43466	%V (local DNS name) tags.  Fix formatting.
43467
434682004-02-27  castaglia <castaglia>
43469
43470	* modules/mod_cap.c: Bug#2348 prompted this addition of handling
43471	CAP_DAC_OVERRIDE and CAP_DAC_READ_SEARCH, in addition to CAP_CHOWN.
43472
434732004-02-27  castaglia <castaglia>
43474
43475	* NEWS, README.modules: Bug#2257 - Add SITE SYMLINK command to
43476	mod_site.  Added a new contrib module, mod_site_misc, instead.
43477
434782004-02-27  castaglia <castaglia>
43479
43480	* contrib/mod_site_misc.c: New contrib module that implements
43481	miscellaneous SITE commands (e.g. SITE SYMLINK, SITE UTIME, etc)
43482	that other ftpds may recognize (e.g. ncftpd).
43483
434842004-02-24  castaglia <castaglia>
43485
43486	* NEWS, modules/mod_ls.c: Bug#2339 - STAT command doesn't follow
43487	RFC959.
43488
434892004-02-24  castaglia <castaglia>
43490
43491	* sample-configurations/basic.conf: It's a little more efficient to
43492	have AllowOverwrite in the server config context, rather than in a
43493	<Directory> context that covers the entire filesystem.
43494
434952004-02-24  castaglia <castaglia>
43496
43497	* NEWS, modules/mod_auth.c: Bug#2311 - MaxClients counts
43498	unauthenticated users.
43499
435002004-02-24  castaglia <castaglia>
43501
43502	* contrib/mod_sql.c: Oops.  My previous commit included my
43503	work-in-progress patch for SQLShowInfo, which isn't ready yet.
43504
435052004-02-24  castaglia <castaglia>
43506
43507	* contrib/mod_sql.c: Fixed a bug in mod_sql in the show_group()
43508	function, where a large list of users that belonged to a single
43509	group could tickle a segfault.  There was a hardcoded buffer size of
43510	2K that was being exceeded.  Better to use pstrcat() and build up
43511	the needed string.  Also add some typecasts to unsigned longs for reporting IDs.
43512
435132004-02-24  castaglia <castaglia>
43514
43515	* modules/mod_core.c: Typos.
43516
435172004-02-24  castaglia <castaglia>
43518
43519	* modules/mod_xfer.c: Allow uploading to FIFOs.  Should we allow
43520	uploading to symlinks, too?
43521
435222004-02-23  castaglia <castaglia>
43523
43524	* modules/mod_site.c: mod_site no longer uses a configuration
43525	handler table.
43526
435272004-02-23  castaglia <castaglia>
43528
43529	* src/dirtree.c: Quell a minor compiler warning on OSX.
43530
435312004-02-23  castaglia <castaglia>
43532
43533	* README.modules: Adding mod_quotatab et al to the list of modules
43534	that accompany proftpd.
43535
435362004-02-20  castaglia <castaglia>
43537
43538	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
43539	src/main.c: Bug#1696 - Include directive should support directories.
43540
435412004-02-20  castaglia <castaglia>
43542
43543	* contrib/ftpasswd: When the --not-system-password option is used,
43544	it's possible for there to be no entry in the system password files
43545	for the user being created, in which case $hash and $syspasswd will
43546	both be the empty string -- and will match, making ftpasswd think
43547	that a different password is needed.  Fix this by checking for the
43548	empty strings.
43549
435502004-02-19  castaglia <castaglia>
43551
43552	* README.IPv6: Updating the IPv6 notes.
43553
435542004-02-19  castaglia <castaglia>
43555
43556	* contrib/mod_ifsession.c: Add a check for <Limit LOGIN> to
43557	mod_ifsession, after all the configuration merging is done.  This
43558	allows for configurations like:   <IfUser foo>     <Limit LOGIN>       DenyAll     </Limit>   </IfUser>
43559
435602004-02-17  castaglia <castaglia>
43561
43562	* NEWS, modules/mod_auth_pam.c: Bug#2105 - Remove Authoritative
43563	directives.
43564
435652004-02-17  castaglia <castaglia>
43566
43567	* NEWS, contrib/ftpasswd: Bug#2171 - Add delete options to ftpasswd.
43568
435692004-02-17  castaglia <castaglia>
43570
43571	* Make.rules.in, contrib/mod_tls.c, include/conf.h, include/help.h,
43572	modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
43573	modules/mod_site.c, modules/mod_xfer.c, src/help.c: Adding a new API
43574	so that modules can declare, for the HELP response list, which FTP
43575	commands they support.  This makes it easier/cleaner for contrib
43576	modules, e.g. mod_tls, to declare their support for FTP commands
43577	that may not be handled by the core code.
43578
435792004-02-16  castaglia <castaglia>
43580
43581	* NEWS, modules/mod_xfer.c: Bug#2237 - HiddenStores does not check
43582	for existing file in edge case.
43583
435842004-02-15  castaglia <castaglia>
43585
43586	* NEWS, contrib/mod_sql.c: Bug#2327 - SQLNegativeCache causes
43587	unnecessary errors in server logging.
43588
435892004-02-15  castaglia <castaglia>
43590
43591	* contrib/mod_sql.c: Note the directive name when warning of
43592	deprecated * usage.
43593
435942004-02-15  castaglia <castaglia>
43595
43596	* contrib/mod_sql.c: Disable the "*" functionality in
43597	SQLAuthenticate, which was used to configure mod_sql to be
43598	authoritative.  This conflicts with the AuthOrder configuration
43599	directive, which should be used instead.
43600
436012004-02-15  castaglia <castaglia>
43602
43603	* NEWS: Mention in the NEWS file that Class and Classes are now
43604	deprecated.
43605
436062004-02-13  castaglia <castaglia>
43607
43608	* contrib/mod_quotatab.h: Update mod_quotatab's
43609	PROFTPD_VERSION_NUMBER check.
43610
436112004-02-13  castaglia <castaglia>
43612
43613	* contrib/mod_ifsession.c: Update the PROFTPD_VERSION_NUMBER check.
43614
436152004-02-13  castaglia <castaglia>
43616
43617	* contrib/mod_rewrite.c: Updating mod_rewrite for Class code
43618	changes.
43619
436202004-02-13  castaglia <castaglia>
43621
43622	* contrib/mod_quotatab.c: Updating mod_quotatab for Class code
43623	changes.
43624
436252004-02-13  castaglia <castaglia>
43626
43627	* contrib/mod_ifsession.c: Updating mod_ifsession to reflect Class
43628	changes.
43629
436302004-02-12  castaglia <castaglia>
43631
43632	* Makefile.in, NEWS: Bug#2340 - Problem with parallel builds.
43633
436342004-02-10  castaglia <castaglia>
43635
43636	* NEWS, contrib/mod_tls.c: Bug#2337 - TLSRenegotiate parameters not
43637	processed correctly.
43638
436392004-02-10  castaglia <castaglia>
43640
43641	* contrib/mod_tls.c: When walking the server_list list, we need to
43642	start with server_list->xas_list, not just server_list.  This is a
43643	subtle and easy to miss bug, and was causing the list-walking code
43644	to attempt to access inaccessible memories (not good).  This highlights a need for a good list/set-iterating API, rather
43645	than relying on details of the actual structures.
43646
436472004-02-08  castaglia <castaglia>
43648
43649	* contrib/mod_readme.c: Update mod_readme to use the new pr_gmtime()
43650	function.
43651
436522004-02-08  castaglia <castaglia>
43653
43654	* NEWS, utils/ftpcount.c: Bug#2306 - ftpcount output should handle
43655	case of no users.
43656
436572004-02-08  castaglia <castaglia>
43658
43659	* NEWS, modules/mod_core.c: Bug#2324 - Directories whose names
43660	contain whitespace are inaccessible.  The problem was that the
43661	dir_check() call was using cmd->argv[0], rather than cmd->arg; the
43662	former is the first parameter of the command (where the parameters
43663	are assumed to be whitespace-separated) whereas the latter is the
43664	entire parameter list as a single string.  The rest of the patch
43665	cleans up the formatting in the chdir() handling code.
43666
436672004-02-04  castaglia <castaglia>
43668
43669	* src/xferlog.5.in: Document in the xferlog(5) man page that any
43670	space or control characters in a filename will be converted to an
43671	underscore in TransferLogs.
43672
436732004-02-03  castaglia <castaglia>
43674
43675	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#2315 - Overlapping
43676	virtual server causes error.  Also changes the collision check log messages to say "warning"
43677	rather than "error".
43678
436792004-02-01  castaglia <castaglia>
43680
43681	* NEWS, modules/mod_ls.c: Bug#2322 - NLST -a returns listing
43682	formatted for LIST -a.
43683
436842004-01-31  castaglia <castaglia>
43685
43686	* src/log.c: Addition of PID was redundant.  Oops.
43687
436882004-01-30  castaglia <castaglia>
43689
43690	* src/netaddr.c: "dup" is an already used global variable in some
43691	system headers.  How annoying.
43692
436932004-01-30  castaglia <castaglia>
43694
43695	* src/main.c: Remove an annoying "FTP session closed." message from
43696	being logged when doing a simple syntax check of a proftpd.conf
43697	whose ServerType is inetd.
43698
436992004-01-30  castaglia <castaglia>
43700
43701	* NEWS, contrib/mod_tls.c: Bug#2295 - mod_tls returns multi-line
43702	response to AUTH commands.
43703
437042004-01-30  castaglia <castaglia>
43705
43706	* README.classes: Explicitly mention that the Class and Classes
43707	directives are deprecated.
43708
437092004-01-29  castaglia <castaglia>
43710
43711	* Make.rules.in, NEWS, contrib/mod_sql.c, include/class.h,
43712	include/conf.h, include/dirtree.h, include/netacl.h,
43713	include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
43714	modules/mod_log.c, src/class.c, src/dirtree.c, src/main.c,
43715	src/netacl.c: Bug#1925 - Clean up of Class code.
43716
437172004-01-29  castaglia <castaglia>
43718
43719	* src/log.c: If --enable-devel is used, add the PID to the server
43720	debugging lines.  This might be useful enough to use all of the
43721	time, but for now it'll be restricted to developer use.
43722
437232004-01-29  castaglia <castaglia>
43724
43725	* include/netaddr.h, src/netaddr.c: Add a new function,
43726	pr_netaddr_dup(), for convenience.
43727
437282004-01-29  castaglia <castaglia>
43729
43730	* contrib/mod_quotatab.c: The SITE QUOTA command should be marked as
43731	a CL_MISC class command, so that ExtendedLogs that wish to log MISC
43732	commands record it.
43733
437342004-01-21  cyberrobo <cyberrobo>
43735
43736	* .cvsignore: adding ftpdctl to the ignorelist
43737
437382004-01-19  castaglia <castaglia>
43739
43740	* contrib/mod_ctrls_admin.c, modules/mod_ctrls.c: No need to
43741	re-register the controls themselves, just reallocate the ACLs from
43742	the new module pools.
43743
437442004-01-19  castaglia <castaglia>
43745
43746	* contrib/mod_ctrls_admin.c, modules/mod_ctrls.c: When handling the
43747	"core.restart" event, the module pools for both mod_ctrls and
43748	mod_ctrls_admin are destroyed/recreated.  Since the ACLs for the
43749	registered controls are allocated from these module pools, the ACLs
43750	need to be recreated as well.  Also, when building mod_ctrls_admin, make sure that Controls support
43751	has been enabled.
43752
437532004-01-19  castaglia <castaglia>
43754
43755	* src/log.c: Make pr_log_writefile() a little more robust, by
43756	checking whether the given fd is valid before doing any work.
43757
437582004-01-18  castaglia <castaglia>
43759
43760	* utils/ftptop.c, utils/utils.h: No need to include <sys/types.h> in
43761	these files, as it is already included in config.h.
43762
437632004-01-18  castaglia <castaglia>
43764
43765	* modules/mod_ctrls.c: Change the usage of PRIVS macros in some of
43766	mod_ctrls' config handlers.  Michael found that this was causing
43767	problems when restarting a proftpd with Controls enabled (see
43768	Bug#2242).
43769
437702004-01-18  castaglia <castaglia>
43771
43772	* modules/mod_ctrls.c: No need to log the error using root privs.
43773
437742004-01-18  cyberrobo <cyberrobo>
43775
43776	* src/.cvsignore: added ftpdctl manpage to ignore list
43777
437782004-01-17  castaglia <castaglia>
43779
43780	* configure: Updating configure script.
43781
437822004-01-17  castaglia <castaglia>
43783
43784	* NEWS, configure.in: Bug#2320 - autoconf check for socklen_t
43785	doesn't work on FreeBSD 4.8-RELEASE.
43786
437872004-01-17  castaglia <castaglia>
43788
43789	* Makefile.in, NEWS: Bug#2319 - Build scripts have owner-only
43790	execute permission.
43791
437922004-01-17  castaglia <castaglia>
43793
43794	* config.sub: No, that didn't work.
43795
437962004-01-17  castaglia <castaglia>
43797
43798	* config.sub: Checking to see how to get permissions changed in CVS.
43799	I think CVS requires that the file itself (not just the mode)
43800	differ.
43801
438022004-01-16  castaglia <castaglia>
43803
43804	* README.classes: First draft of a README describing the new <Class>
43805	syntax.  Edits/additions welcome.
43806
438072004-01-16  castaglia <castaglia>
43808
43809	* modules/mod_core.c: Have the emitted vhost collision message say
43810	"warning", rather than "error".
43811
438122004-01-16  castaglia <castaglia>
43813
43814	* modules/mod_auth.c: The current CreateHome description has the
43815	following examples:   CreateHome on skel /etc/ftpd/skel   CreateHome on dirmode 755   CreateHome on skel /etc/ftpd/skel dirmode 700 However, the current CreateHome implementation assumes that the
43816	parameter after the Boolean will always be the mode.  This change
43817	makes the config handler check for any preceding 'skel' or 'dirmode'
43818	keywords before trying to process that parameter as the mode.
43819	Hopefully now the examples will work properly.
43820
438212004-01-15  castaglia <castaglia>
43822
43823	* contrib/mod_quotatab.c: Christian Schulte <cs@schulte.it> noticed
43824	that the handling of locks by mod_quotatab is not right.  The
43825	quotatab_write() function would obtain a write-lock, then call
43826	quotatab_read() to refresh its data, and quotatab_read() would
43827	degrade that write-lock to a read-lock, then release it completely,
43828	leaving the actual write operation unprotected by a lock.  This
43829	patch fixes the contention in the locking routinese by having them
43830	check and set a static variable.
43831
438322004-01-15  castaglia <castaglia>
43833
43834	* README.controls: Updating/fixing this document.
43835
438362004-01-14  castaglia <castaglia>
43837
43838	* README.controls: Add a README describing the new Controls code.
43839	It's a work in progress.
43840
438412004-01-14  castaglia <castaglia>
43842
43843	* modules/mod_auth.c: Fix compiler warning.
43844
438452004-01-13  castaglia <castaglia>
43846
43847	* NEWS: Add comment that bug 2183 is the same as bug 2165.
43848
438492004-01-12  castaglia <castaglia>
43850
43851	* modules/mod_xfer.c: Consistency.
43852
438532004-01-12  castaglia <castaglia>
43854
43855	* modules/mod_xfer.c: Report errors when closing a file that has
43856	been written.  Such errors normally don't occur, but can happen with
43857	a disk is full.  Fix a typo.
43858
438592004-01-11  castaglia <castaglia>
43860
43861	* NEWS, contrib/mod_sql_mysql.c: Bug#2307 - MySQL 4.1.1 API change
43862	causes mod_sql_mysql compilation failure.
43863
438642004-01-09  castaglia <castaglia>
43865
43866	* src/pool.c: The logic for handling new_block()'s exact argument
43867	was accidentally inverted.
43868
438692004-01-09  castaglia <castaglia>
43870
43871	* include/pool.h, src/pool.c: Be consistent with the argument data
43872	types.  These probably should be size_ts, but ints suffice.
43873
438742004-01-09  castaglia <castaglia>
43875
43876	* include/pool.h, src/pool.c: Adding some new functions to the Pool
43877	API.  These new functions allow for pools to be allocated for a
43878	specific size, rather than always having the requested size be
43879	rounded up to the nearest BLOCK_MINFREE (usu. 512 bytes).  These
43880	will be handy in cases where pools smaller than 512 bytes can be
43881	used (e.g. stash pools).
43882
438832004-01-02  jwm <jwm>
43884
43885	* NEWS: - Bug 2267 - Broken IP subnet matching. Added new ACL
43886	parsing/matching code.
43887
438882003-12-30  castaglia <castaglia>
43889
43890	* contrib/mod_sql.c: Make mod_sql a little less noisy.  This "no
43891	SQLAuthTypes" message would be logged for every connection to a
43892	vhost that has not been configured for mod_sql (when mod_sql is
43893	present), which can be very annoying for those configurations where
43894	only some vhosts, not all, need to authenticate using SQL.
43895
438962003-12-30  castaglia <castaglia>
43897
43898	* src/main.c: Style.
43899
439002003-12-26  jwm <jwm>
43901
43902	* Makefile.in, NEWS: Bug 2305 - Compile Problems since > 1.2.9 Link
43903	ftpdctl against libsocket and libnsl to pick up dependency functions
43904
439052003-12-19  castaglia <castaglia>
43906
43907	* contrib/mod_quotatab.c: Don't subtract xfer bytes when deleting a
43908	directory.  Found and fixed by Christian Schulte <cs@schulte.it>
43909
439102003-12-16  castaglia <castaglia>
43911
43912	* NEWS, src/netio.c: Bug#2300 - poll() returns 1 and read returns 0,
43913	inifinite loop.
43914
439152003-12-14  jwm <jwm>
43916
43917	* contrib/dist/rpm/proftpd.spec: [Bug 2301] New: (s)rpms should
43918	require "/sbin/chkconfig" instead of package "chkconfig"
43919
439202003-12-11  castaglia <castaglia>
43921
43922	* contrib/mod_quotatab.h: Bump the mod_quotatab version, for
43923	clarity.
43924
439252003-12-11  castaglia <castaglia>
43926
43927	* modules/mod_auth.c: Forgot to add strerror() to the DefaultRoot
43928	resolution debugging.
43929
439302003-12-11  castaglia <castaglia>
43931
43932	* modules/mod_auth.c: Add some debugging to the function which
43933	determines the actual path to use for DefaultRoot.
43934
439352003-12-09  castaglia <castaglia>
43936
43937	* contrib/mod_quotatab.c: More minor quotatab bugs fixed by
43938	Christian Schulte <cs@schulte.it>.
43939
439402003-12-09  castaglia <castaglia>
43941
43942	* contrib/mod_quotatab_sql.c: Bug found by Christian Schulte
43943	<cs@schulte.it>: delta values are signed, and can be negative.
43944
439452003-12-03  castaglia <castaglia>
43946
43947	* NEWS, contrib/ftpquota, contrib/mod_quotatab.c,
43948	contrib/mod_quotatab.h, contrib/mod_quotatab_file.c,
43949	contrib/mod_quotatab_ldap.c, contrib/mod_quotatab_sql.c: Adding
43950	mod_quotatab to the contrib area.
43951
439522003-12-03  castaglia <castaglia>
43953
43954	* NEWS, src/netaddr.c: Bug#2288 - ServerFQDN set to 255.255.255.255
43955	and not hostname.  This was due to the bundled inet_ntop()
43956	implementation not correctly handling the INADDR_NONE return value.
43957
439582003-12-02  castaglia <castaglia>
43959
43960	* modules/mod_core.c: Adjust mod_core.c to use the pr_* wrappers for
43961	gmtime(), localtime().
43962
439632003-12-02  castaglia <castaglia>
43964
43965	* NEWS, include/support.h, modules/mod_ls.c, src/support.c: Bug#2290
43966	- gmtime() static storage may be overwritten by modules.  A portable
43967	solution is to use wrappers that memcpy() the gmtime() and
43968	localtime() results.
43969
439702003-11-19  castaglia <castaglia>
43971
43972	* include/inet.h, include/netaddr.h, src/inet.c, src/netaddr.c:
43973	Moving the declaration and definition of pr_get{addr,name}info,
43974	pr_freeadrinfo, pr_inet_{ntop,pton} from inet to netaddr, as netaddr
43975	is the file that uses those functions most.  Also, it solves some
43976	linking problems on older systems that do not have the
43977	get{addr,name}info(2) functions.
43978
439792003-11-19  castaglia <castaglia>
43980
43981	* Makefile.in, NEWS: Bug#1635 - Older systems' chown(1) does not
43982	support -h option.
43983
439842003-11-17  castaglia <castaglia>
43985
43986	* src/netaddr.c: Adding comments to clarify the purpose/usage of the
43987	get_v4inaddr() function.
43988
439892003-11-16  castaglia <castaglia>
43990
43991	* src/netacl.c: Forgot to change this function name.
43992
439932003-11-16  castaglia <castaglia>
43994
43995	* src/netacl.c: Typo.
43996
439972003-11-16  castaglia <castaglia>
43998
43999	* include/netacl.h, src/dirtree.c, src/netacl.c: Making the ACL type
44000	publically available via an accessor.
44001
440022003-11-16  castaglia <castaglia>
44003
44004	* contrib/mod_ctrls_admin.c: Split the 'debug config|memory' stuff
44005	into a new control action, 'dump'.  In the future, the 'dump' action
44006	will also support dumping of <Class> and <Directory> information.
44007
440082003-11-15  castaglia <castaglia>
44009
44010	* Make.rules.in, include/conf.h, include/dirtree.h,
44011	include/netacl.h, include/netaddr.h, modules/mod_core.c,
44012	src/dirtree.c, src/netacl.c, src/netaddr.c: Adding new ACL
44013	parsing/matching code.  This is flexible enough to handle IPv6
44014	addresses, and will be used in the new <Class> definition code
44015	(coming soon).  This should also fix the ACL checking that was
44016	broken (Bug#2267) in 1.2.9's IPv6 changes.
44017
440182003-11-15  castaglia <castaglia>
44019
44020	* modules/mod_core.c: Need to set the ServerAddress field of the
44021	main_server as well when handling the DefaultAddress directive,
44022	because fixup_servers() later checks that field.
44023
440242003-11-15  castaglia <castaglia>
44025
44026	* src/dirtree.c: Bad grammar.
44027
440282003-11-15  castaglia <castaglia>
44029
44030	* NEWS, src/dirtree.c: Bug#2048 - Add ability to get configuration
44031	file values from environment.
44032
440332003-11-15  castaglia <castaglia>
44034
44035	* NEWS, include/dirtree.h, src/dirtree.c: Bug#2274 - Default server
44036	only binds to one IP address of host if --enable-ipv6 is used.
44037
440382003-11-15  castaglia <castaglia>
44039
44040	* modules/mod_core.c: Handle IPv4 address Binds properly for
44041	DefaultAddress when IPv6 is in use.
44042
440432003-11-15  castaglia <castaglia>
44044
44045	* configure: Updating configure.
44046
440472003-11-15  castaglia <castaglia>
44048
44049	* configure.in: When checking for the security and sec libs on Tru64
44050	Unix, we need to check for the libs before checking for the
44051	functions via AC_CHECK_FUNC, not after.
44052
440532003-11-13  castaglia <castaglia>
44054
44055	* src/netaddr.c: Should be using pcalloc() not palloc().
44056
440572003-11-12  castaglia <castaglia>
44058
44059	* contrib/mod_ctrls_admin.c: Use '#' as the address/port delimiter,
44060	rather than '/'.
44061
440622003-11-12  castaglia <castaglia>
44063
44064	* NEWS, src/inet.c: Updating code for Mac OS X 10.3 (Darwin 7).
44065
440662003-11-10  castaglia <castaglia>
44067
44068	* configure: Updating configure.
44069
440702003-11-10  castaglia <castaglia>
44071
44072	* config.h.in, configure.in: Add a check for the getenv(3) function.
44073
440742003-11-10  castaglia <castaglia>
44075
44076	* contrib/mod_ctrls_admin.c, include/dirtree.h, src/dirtree.c:
44077	Rearrange the config-dumping code a little and provide a public
44078	function for it, so that mod_ctrls_admin can support a 'debug
44079	config' action.
44080
440812003-11-10  castaglia <castaglia>
44082
44083	* src/pool.c: Better name for this printf-like function pointer
44084	variable.
44085
440862003-11-10  castaglia <castaglia>
44087
44088	* configure: Updating configure.
44089
440902003-11-10  castaglia <castaglia>
44091
44092	* configure.in: Some systems (e.g. FreeBSD) declare getaddrinfo(2)
44093	in <sys/socket.h>.
44094
440952003-11-10  castaglia <castaglia>
44096
44097	* contrib/mod_ctrls_admin.c: Update mod_ctrls_admin to use events.
44098
440992003-11-10  castaglia <castaglia>
44100
44101	* contrib/mod_ctrls_admin.c: Controls are useless without something
44102	implementing some control actions; add the mod_ctrls_admin module
44103	(was mod_ctrls_common) to contrib.
44104
441052003-11-09  castaglia <castaglia>
44106
44107	* src/auth.c, src/ctrls.c, src/data.c, src/dirtree.c, src/event.c,
44108	src/fsio.c, src/ident.c, src/log.c, src/main.c, src/mkhome.c,
44109	src/netaddr.c, src/scoreboard.c, src/support.c: Updating the source
44110	code to use pr_log_debug() rather than log_debug().
44111
441122003-11-09  castaglia <castaglia>
44113
44114	* modules/mod_auth.c, modules/mod_auth_file.c, modules/mod_cap.c,
44115	modules/mod_core.c, modules/mod_ctrls.c, modules/mod_log.c,
44116	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c: Updating
44117	modules to use pr_log_debug() rather than log_debug().
44118
441192003-11-09  castaglia <castaglia>
44120
44121	* include/privs.h: Use pr_log_debug() rather than log_debug().
44122
441232003-11-09  castaglia <castaglia>
44124
44125	* doc/mod_sample.c: Updating the sample module mod_sample.c to use
44126	pr_log_*() rather than log_*().
44127
441282003-11-09  castaglia <castaglia>
44129
44130	* modules/mod_core.c: unsetenv(3) returns void, not int.
44131
441322003-11-09  castaglia <castaglia>
44133
44134	* src/main.c: Typo.
44135
441362003-11-09  castaglia <castaglia>
44137
44138	* src/main.c: Forgot to cleanup one sig_debug() reference.
44139
441402003-11-09  castaglia <castaglia>
44141
44142	* include/proftpd.h, src/main.c: Tweak the handling of SIGUSR2 a
44143	little.  If controls are not enabled, keep the current behavior: the
44144	proftpd process will print a memory dump.  If controls are enabled,
44145	generate a "core.signal.USR2" event, which will allow modules to
44146	register multiple handlers for this same event.  This way,
44147	mod_ctrls_common can use SIGUSR2 to get other proftpd processes to
44148	print memory dumps, and thus keeping the ability to get memory dumps
44149	from any proftpd process.  Without this change, if controls are
44150	enabled, we can only get a memory dump of the daemon process (and
44151	most of the time, it is the session processes in which we are
44152	interested).
44153
441542003-11-09  castaglia <castaglia>
44155
44156	* Make.rules.in, include/conf.h, include/log.h, include/support.h,
44157	include/xferlog.h, modules/mod_auth.c, modules/mod_core.c,
44158	modules/mod_xfer.c, src/log.c, src/main.c, src/support.c,
44159	src/xferlog.c: Splitting the TransferLog routines into their own
44160	source file, and moving the functions into a nonpublic xferlog_
44161	namespace.
44162
441632003-11-09  castaglia <castaglia>
44164
44165	* contrib/mod_ldap.c: Updating mod_ldap.c to use pr_log_*() rather
44166	than log_*().
44167
441682003-11-09  castaglia <castaglia>
44169
44170	* contrib/mod_ratio.c: Updating mod_ratio.c to use pr_log_*() rather
44171	than log_*().
44172
441732003-11-09  castaglia <castaglia>
44174
44175	* contrib/mod_wrap.c: Updating mod_wrap.c to use pr_log_*() rather
44176	than log_*().
44177
441782003-11-09  castaglia <castaglia>
44179
44180	* contrib/mod_tls.c: Updating mod_tls.c to use pr_log_*() rather
44181	than log_*().
44182
441832003-11-09  castaglia <castaglia>
44184
44185	* contrib/mod_sql_postgres.c: Updating mod_sql_postgres to use
44186	pr_log_*() rather than log_*().
44187
441882003-11-09  castaglia <castaglia>
44189
44190	* modules/mod_core.c, src/main.c: The function is now
44191	pr_log_setdebuglevel(), not log_setdebuglevel().
44192
441932003-11-09  castaglia <castaglia>
44194
44195	* contrib/mod_sql_mysql.c: Updating mod_sql_mysql.c to use
44196	pr_log_*() rather than log_*().
44197
441982003-11-09  castaglia <castaglia>
44199
44200	* contrib/mod_sql.c: Updating mod_sql.c to use pr_log_*() rather
44201	than log_*().
44202
442032003-11-09  castaglia <castaglia>
44204
44205	* contrib/mod_rewrite.c: Updating mod_rewrite.c to use pr_log_*()
44206	rather than log_*().
44207
442082003-11-09  castaglia <castaglia>
44209
44210	* contrib/mod_readme.c: Updating mod_readme to use pr_log_debug()
44211	rather than log_debug().
44212
442132003-11-09  castaglia <castaglia>
44214
44215	* contrib/mod_radius.c: Updating mod_radius.c to use pr_log_pri()
44216	rather than log_pri().
44217
442182003-11-09  castaglia <castaglia>
44219
44220	* contrib/mod_ifsession.c: Updating mod_ifsession to use
44221	pr_log_debug() rather than log_debug().
44222
442232003-11-09  castaglia <castaglia>
44224
44225	* include/privs.h: Updating privs.h to use the pr_log_* functions.
44226	Also cleans up some cruft related to checking of when
44227	session.login_uid is set.
44228
442292003-11-09  castaglia <castaglia>
44230
44231	* include/bindings.h, include/log.h, lib/pwgrent.c,
44232	modules/mod_auth.c, modules/mod_auth_file.c,
44233	modules/mod_auth_pam.c, modules/mod_auth_unix.c, modules/mod_cap.c,
44234	modules/mod_core.c, modules/mod_ctrls.c, modules/mod_log.c,
44235	modules/mod_ls.c, modules/mod_xfer.c, src/auth.c, src/bindings.c,
44236	src/ctrls.c, src/data.c, src/dirtree.c, src/fsio.c, src/inet.c,
44237	src/log.c, src/main.c, src/mkhome.c, src/modules.c, src/netaddr.c,
44238	src/pool.c, src/regexp.c, src/scoreboard.c, src/support.c: Moving
44239	the log_*() functions into the pr_ namespace.  Let the terror and
44240	madness begin!  Actually, log.h includes some transitional macros,
44241	so that the old symbols will be redefined properly.
44242
442432003-11-09  castaglia <castaglia>
44244
44245	* NEWS: Note the affect of the logging class change for RNFR and
44246	RNTO.
44247
442482003-11-09  castaglia <castaglia>
44249
44250	* src/ftpdctl.8.in: Still not quite right.  Trying to get the
44251	action-parameters to be properly shown as optional parameters to the
44252	action part of the command.
44253
442542003-11-09  castaglia <castaglia>
44255
44256	* src/ftpdctl.8.in: Tweak the ftpdctl man page a little.
44257
442582003-11-09  castaglia <castaglia>
44259
44260	* configure: Updating configure.
44261
442622003-11-09  castaglia <castaglia>
44263
44264	* Makefile.in, configure.in, src/ftpdctl.8.in: Adding ftpdctl man
44265	page.
44266
442672003-11-09  castaglia <castaglia>
44268
44269	* src/ctrls.c: Tag pools allocated in the Controls API.  Style
44270	cleanup.
44271
442722003-11-09  castaglia <castaglia>
44273
44274	* NEWS, modules/mod_core.c: Bug#2046 - Change RFNR and RNTO logging
44275	class to WRITE.
44276
442772003-11-09  castaglia <castaglia>
44278
44279	* contrib/mod_wrap.c: Wrong function name.
44280
442812003-11-09  castaglia <castaglia>
44282
44283	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c:
44284	Updating the rest of the core code to use the newer Expressions API.
44285
442862003-11-09  castaglia <castaglia>
44287
44288	* contrib/mod_wrap.c: Updating mod_wrap for the newer Expressions
44289	API.
44290
442912003-11-09  castaglia <castaglia>
44292
44293	* contrib/mod_ifsession.c: Updating mod_ifsession to use the new
44294	Expressions API.  Fixed a compiler warning issued under
44295	--enable-devel.
44296
442972003-11-09  castaglia <castaglia>
44298
44299	* include/dirtree.h, src/dirtree.c: Cleaning up the API for
44300	evaluating user, group, and class expressions.  This commit gives
44301	the API a consistent pr_expr_ prefix.  It also provides some
44302	transitional macros.
44303
443042003-11-09  castaglia <castaglia>
44305
44306	* configure: Updating configure.
44307
443082003-11-09  castaglia <castaglia>
44309
44310	* contrib/mod_ifsession.c: Adjust mod_ifsession to use the same
44311	expression indicator values as the core code.
44312
443132003-11-09  castaglia <castaglia>
44314
44315	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c:
44316	Bug#2015 - Add AND, OR keywords to Allow/DenyUser directives.  This
44317	affects the AllowGroup and DenyGroup directives as well.
44318
443192003-11-09  castaglia <castaglia>
44320
44321	* modules/mod_ctrls.c: Register a handler for the "core.exit" event,
44322	rather than using pr_exit_register_handler().  The latter function
44323	will be being phased out.
44324
443252003-11-09  castaglia <castaglia>
44326
44327	* modules/mod_auth.c: Generate events when the MaxClients* and
44328	MaxHostsPerUser limits are hit.
44329
443302003-11-09  castaglia <castaglia>
44331
44332	* include/event.h, src/event.c, src/main.c: Add generation of
44333	"core.exit" event.  Adjust the event unregistration function to
44334	handle the needs of the core code when doing exit handler
44335	processing.
44336
443372003-11-09  castaglia <castaglia>
44338
44339	* modules/mod_ctrls.c: Modify mod_ctrls to use the new Event API (as
44340	all new modules should).
44341
443422003-11-09  castaglia <castaglia>
44343
44344	* Make.rules.in, Makefile.in, NEWS, config.h.in, configure.in,
44345	include/bindings.h, include/conf.h, include/ctrls.h,
44346	include/mod_ctrls.h, include/pool.h, modules/mod_ctrls.c,
44347	src/Makefile.in, src/bindings.c, src/ctrls.c, src/ftpdctl.c,
44348	src/main.c, src/modules.c, src/pool.c: Bug#2072 - Add Controls API.
44349	Still to be done: a man page for ftpdctl, better documentation for
44350	mod_ctrls.
44351
443522003-11-09  castaglia <castaglia>
44353
44354	* src/bindings.c: Remove (now) unused variable.
44355
443562003-11-08  castaglia <castaglia>
44357
44358	* NEWS, modules/mod_core.c, src/bindings.c: Bug#2272 - Address/port
44359	collision check needs to handle DefaultAddress. The problem was that
44360	the address assigned by DefaultAddress was being assigned _after_
44361	the addr/port collision check.
44362
443632003-11-08  castaglia <castaglia>
44364
44365	* include/fsio.h, src/fsio.c: Cleanup the FSIO API a little:   + some of the directory operation flags were improperly
44366	    overloading file operation flags   + change the prototype of the open/creat handlers to take a
44367	    pointer to a pr_fh_t (filehandle) rather than a pointer to a
44368	    pr_fs_t (filesystem), which allows the open/creat handlers to store
44369	    file-specific data in the handle (fh->fh_data), which was not
44370	    possible when using the filesystem pointer.    + added a new function, pr_remove_fs(), for removing a filesystem
44371	    from the map without explicitly destroying that filesystem object
44372	    (as pr_unregister_fs() will do automatically).    + some internal function stylistic renaming, which does not affect
44373	    any code outside of this file.
44374
443752003-11-08  castaglia <castaglia>
44376
44377	* modules/mod_auth.c, src/main.c: Using the new Event API, generate
44378	some events when key limits are exceeded.  Modules that register
44379	handlers for these events can now take appropriate action (such as
44380	blacklisting a client that has exceeded the MaxLoginAttempts).
44381
443822003-11-08  castaglia <castaglia>
44383
44384	* src/event.c: When unregistering an event handler, be sure to honor
44385	the module argument, if any.
44386
443872003-11-08  castaglia <castaglia>
44388
44389	* Make.rules.in, NEWS, include/conf.h, include/event.h,
44390	modules/mod_core.c, src/event.c, src/main.c: Adding Event API.
44391
443922003-11-08  castaglia <castaglia>
44393
44394	* NEWS, contrib/mod_radius.c: Bug#2255 - RADIUS Service-Type should
44395	reflect attribute expectations.
44396
443972003-11-08  castaglia <castaglia>
44398
44399	* configure: Updating configure.
44400
444012003-11-08  castaglia <castaglia>
44402
44403	* NEWS, configure.in: Bug#2271 - Improper autoconf check for
44404	getaddrinfo() on Tru64 UNIX 5.1.
44405
444062003-11-08  castaglia <castaglia>
44407
44408	* Make.rules.in: Bug#2270 - Linkers can be quite picky about the
44409	order in which flags appear.
44410
444112003-11-06  castaglia <castaglia>
44412
44413	* modules/mod_auth_file.c: The new group membership debugging found
44414	a bug: mod_auth_file, when scanning an AuthGroupFile, would only add
44415	the group name if the ID for the group was different from the user's
44416	primary GID.  For GID stuff, this is fine; however, for group
44417	expressions in proftpd.conf that may rely on those group names, it's
44418	a bug.  This allows for an interesting situation: assign a user to multiple
44419	groups with different names, but the same GID.  Thus you can
44420	workaround the NGROUPS_MAX system limit using a long list of group
44421	names; the operating system won't notice, and proftpd will happily
44422	check the names.  Nice.
44423
444242003-11-06  castaglia <castaglia>
44425
44426	* src/auth.c: Add debugging output for group name/ID retrieval.
44427
444282003-11-06  castaglia <castaglia>
44429
44430	* src/auth.c: Add debugging that shows the group IDs that end up
44431	being set via setgroups().
44432
444332003-11-06  castaglia <castaglia>
44434
44435	* configure: Updating configure.
44436
444372003-11-06  castaglia <castaglia>
44438
44439	* config.h.in, configure.in, modules/mod_core.c: Some platforms
44440	don't have setenv()/unsetenv().  Bummer.
44441
444422003-11-04  castaglia <castaglia>
44443
44444	* src/scoreboard.c: When deleting the scoreboard file (usu. when a
44445	standalone proftpd starts up), log a message if there is an existing
44446	scoreboard file that is being unlinked.
44447
444482003-11-03  jwm <jwm>
44449
44450	* contrib/dist/rpm/proftpd.spec: - Bug 2265 - correct path to mysql headers   Submitted by: ncroiset@vdldiffusion.com (Nicolas Croiset) - note in the %changelog that it isn't updated often - use the CVS   revision history
44451
444522003-11-01  castaglia <castaglia>
44453
44454	* Makefile.in: When preparing a distribution using the 'dist'
44455	target, be sure to clean up the .bak files generated by the 'clean'
44456	target.
44457
444582003-11-01  castaglia <castaglia>
44459
44460	* include/pool.h, modules/mod_core.c, modules/mod_log.c,
44461	modules/mod_ls.c, src/auth.c, src/bindings.c, src/data.c,
44462	src/dirtree.c, src/feat.c, src/fsio.c, src/inet.c, src/log.c,
44463	src/main.c, src/modules.c, src/pool.c, src/regexp.c, src/support.c:
44464	Introduce a new function, pr_pool_tag().  This function is used to
44465	"tag" a given pool with an arbitrary label (given as a string
44466	constant).  The pool tags are shown in a pool dump (currently
44467	triggered using SIGUSR2).
44468
444692003-11-01  castaglia <castaglia>
44470
44471	* include/log.h: Add 10 as a debugging level.  I plan to use this
44472	level for debugging output about DNS resolution and supplemental
44473	group membership issues.
44474
444752003-10-31  castaglia <castaglia>
44476
44477	* src/dirtree.c: Add to proftpd's debugging verbosity by showing the
44478	dispatch/handling of configuration directives to the modules which
44479	handle that directive.
44480
444812003-10-31  castaglia <castaglia>
44482
44483	* NEWS, modules/mod_core.c: Bug#2098 - Add SetEnv, UnsetEnv
44484	directives.
44485
444862003-10-31  castaglia <castaglia>
44487
44488	* NEWS, modules/mod_auth_unix.c: Bug#2174 - mod_auth_unix should not
44489	act authoritatively.
44490
444912003-10-31  castaglia <castaglia>
44492
44493	* NEWS, modules/mod_core.c: Bug#2086 - Add <Limit> support for PORT,
44494	PASV, EPRT, EPSV.
44495
444962003-10-31  castaglia <castaglia>
44497
44498	* NEWS, contrib/mod_tls.c: Bug#2135 - Add ability to handle
44499	passphrase-protected server keys.
44500
445012003-10-31  castaglia <castaglia>
44502
44503	* src/data.c, src/dirtree.c, src/fsio.c, src/main.c, src/netio.c:
44504	Silencing some valgrind complaints.  Style fixups.
44505
445062003-10-31  castaglia <castaglia>
44507
44508	* include/version.h: Woohoo! The start of a new release cycle...
44509
445102003-10-31  castaglia <castaglia>
44511
44512	* ChangeLog: Preparing for 1.2.9 release.
44513
445142003-10-31  castaglia <castaglia>
44515
44516	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
44517	for the release of 1.2.9.
44518
445192003-10-31  castaglia <castaglia>
44520
44521	* NEWS: Mention the memory leak fixes.
44522
445232003-10-31  castaglia <castaglia>
44524
44525	* contrib/mod_sql.c: Always expand %U to the USER name given, not
44526	just when session.user is NULL.
44527
445282003-10-31  castaglia <castaglia>
44529
44530	* modules/mod_auth.c: Undoing part of change made earlier: rather
44531	than removing a C_USER config_rec during both the LOG_CMD (success)
44532	and LOG_CMD_ERR (failure) command phases of the PASS command, only
44533	do the removal in LOG_CMD_ERR, which was the originally intended
44534	effect.  Doing the removal in the LOG_CMD handler causes trouble for
44535	modules that may want to use %U (e.g. mod_rewrite).
44536
445372003-10-30  flyhmstr <flyhmstr>
44538
44539	* doc/Configuration.html, doc/Configuration.sgml, doc/faq.html: ML:
44540	    New userguide (html & sgml) and faq built from current pdd sources
44541	committed.
44542
445432003-10-28  castaglia <castaglia>
44544
44545	* README.FreeBSD: Adding FreeBSD package installation docs from
44546	Bug#2250.
44547
445482003-10-22  castaglia <castaglia>
44549
44550	* src/main.c: Removing duplicate sanity check.
44551
445522003-10-22  castaglia <castaglia>
44553
44554	* src/fsio.c: Fixing comments.  Have pr_insert_fs() set errno on
44555	error, for reporting purposes.
44556
445572003-10-21  castaglia <castaglia>
44558
44559	* utils/utils.h: It helps to make sure that the utils (ftpcount,
44560	ftpwho, ftptop) expect that the scoreboard entry has the same format
44561	as the core code (cf. size of the sce_client_addr field).
44562
445632003-10-20  castaglia <castaglia>
44564
44565	* include/scoreboard.h: Forgot to increase the size of the IP
44566	address buffer in the scoreboard if --enable-ipv6 is used.
44567
445682003-10-20  castaglia <castaglia>
44569
44570	* modules/mod_log.c: More paranoid checking of snprintf() usage.
44571
445722003-10-20  castaglia <castaglia>
44573
44574	* contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_tls.c: Minor
44575	paranoia changes: make certain the buffer is NUL-terminated before
44576	calling strlen() on its contents.
44577
445782003-10-20  castaglia <castaglia>
44579
44580	* NEWS, modules/mod_ls.c: Check for excessive length of symlink
44581	directory listing entries, when ShowSymlinks is on.  This also
44582	requires that the platform _not_ provide MAXPATHLEN.  Added some
44583	style/spacing changes as well.
44584
445852003-10-19  jwm <jwm>
44586
44587	* NEWS, contrib/dist/rpm/proftpd.spec: Bug 2197 - The RPM .spec has
44588	been updated for easy RPM builds from CVS snapshots.
44589
445902003-10-19  jwm <jwm>
44591
44592	* contrib/dist/rpm/proftpd.spec: rpm doesn't like empty
44593	BuildPreReqs, add a static dep on pam-devel
44594
445952003-10-18  castaglia <castaglia>
44596
44597	* src/fsio.c: Fixing a memory leak in the handling of structures
44598	used for tracking open directories.
44599
446002003-10-18  castaglia <castaglia>
44601
44602	* src/dirtree.c: Fixing a rather major memory pool leak.  A
44603	temporary pool was being allocated in dir_hide_file() (which is
44604	called rather often), but in the case where no HideFiles directive
44605	was configured (very common), that pool was not being destroyed.
44606	Oops.
44607
446082003-10-17  castaglia <castaglia>
44609
44610	* NEWS, include/netaddr.h, modules/mod_core.c, modules/mod_log.c,
44611	src/netaddr.c: Bug#2204 - More reverse DNS resolutions problems.  A
44612	previous fix for systems that use gethostbyname2() (e.g. the BSDs,
44613	some Linux distributions) was not properly checking the return value
44614	from pr_netaddr_is_v4mapped(), and thus IPv4 addresses were not
44615	being resolved to their names.  Bug#2242 - Parsing during rehashing was failing with an EPERM.  The
44616	problem was that configuration directive handlers (specifically,
44617	SyslogFacility and SystemLog) were using PRIVS_RELINQUISH, which
44618	caused later Includes to fail.  Configuration handlers should not
44619	use the PRIVS macros.
44620
446212003-10-17  castaglia <castaglia>
44622
44623	* NEWS, modules/mod_core.c: Bug#2181: fixing this bug (again) to
44624	work correctly in all cases.
44625
446262003-10-17  castaglia <castaglia>
44627
44628	* include/fsio.h, include/inet.h, include/netio.h, src/fsio.c,
44629	src/inet.c, src/main.c, src/netio.c: Removing the pr_ prefix from
44630	some API initialization functions; they are not really appropriate
44631	for module use.
44632
446332003-10-16  castaglia <castaglia>
44634
44635	* include/version.h: Updating the version for CVS status.
44636
446372003-10-15  castaglia <castaglia>
44638
44639	* ChangeLog: Updating ChangeLog.
44640
446412003-10-15  castaglia <castaglia>
44642
44643	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
44644	for release of 1.2.9rc3.
44645
446462003-10-15  jwm <jwm>
44647
44648	* contrib/dist/rpm/proftpd.spec: only include xinetd support in the
44649	-xinetd RPM
44650
446512003-10-14  castaglia <castaglia>
44652
44653	* src/netaddr.c: Fixed pr_netaddr_get_dnsstr() to use the right
44654	family value when calling gethostbyname2().
44655
446562003-10-14  castaglia <castaglia>
44657
44658	* src/main.c: The free_proc_title() function is currently only used
44659	when --enable-devel has been configured.
44660
446612003-10-14  jwm <jwm>
44662
44663	* contrib/dist/rpm/proftpd.spec: we're "The ProFTPD Project"
44664
446652003-10-13  castaglia <castaglia>
44666
44667	* configure: Updating configure.
44668
446692003-10-13  castaglia <castaglia>
44670
44671	* configure.in, include/libsupp.h, lib/glibc-hstrerror.c: Adding
44672	bundled glibc implementation of hsterror(), for those systems that
44673	don't have it already.
44674
446752003-10-13  castaglia <castaglia>
44676
44677	* configure: Updating configure.
44678
446792003-10-13  castaglia <castaglia>
44680
44681	* config.h.in, configure.in: Not all systems have the hsterror()
44682	function, for converting resolver error codes (h_errno) to strings.
44683	Thus, we need to check for it, and provide a bundled replacement if
44684	it is not present.  I'll be adding the glibc implementation of
44685	hstrerror() soon.
44686
446872003-10-13  castaglia <castaglia>
44688
44689	* src/netaddr.c: This get_v4inaddr() function is only called from
44690	one place (at present), and all the necessary sanity checks have
44691	already been performed, so there is no need to do them again.
44692
446932003-10-11  castaglia <castaglia>
44694
44695	* src/netaddr.c: Typo.
44696
446972003-10-11  castaglia <castaglia>
44698
44699	* src/netaddr.c: The retrieval of the IPv4 portion of an IPv4-mapped
44700	IPv6 address is only necessary when gethostbyname2() is being used,
44701	rather than gethostbyname() (I think...this may need to change in
44702	the future).
44703
447042003-10-11  castaglia <castaglia>
44705
44706	* src/netaddr.c: When performing reverse DNS lookups on IPv4-mapped
44707	IPv6 addresses, we need to be a little more careful about which
44708	checks are performed.  This change alters the call to
44709	gethostbyname2() (when it is present) to be AF_INET if the netaddr
44710	is an IPv4-mapped IPv6 address, rather than using AF_INET6 as was
44711	done previously.  The subsequent memcmps need to be adjusted
44712	accordingly.  This should hopefully resolve Bug#2204.
44713
447142003-10-11  castaglia <castaglia>
44715
44716	* src/netaddr.c: The BSDs are not the only systems that might
44717	provide gethostbyname2().  It seems that some Linux kernels have
44718	been patched to have that function as well.
44719
447202003-10-11  castaglia <castaglia>
44721
44722	* include/netaddr.h, modules/mod_core.c, src/netaddr.c: Since
44723	pr_netaddr_v4mappedv6() returns TRUE or FALSE (or -1 on error), I've
44724	renamed it to be pr_netaddr_is_v4mappedv6().
44725
447262003-10-10  castaglia <castaglia>
44727
44728	* src/main.c: Report the cause of error if configuration parsing
44729	fails.
44730
447312003-10-10  castaglia <castaglia>
44732
44733	* modules/mod_core.c: If processing an Included file fails, log the
44734	reason.
44735
447362003-10-10  castaglia <castaglia>
44737
44738	* src/netaddr.c: Adding note about a use of gethostbyname() that may
44739	need to be gethostbyname2() in the future.
44740
447412003-10-10  castaglia <castaglia>
44742
44743	* NEWS, modules/mod_core.c: Bug#2222 - Overlapping vhosts should
44744	warn instead of die.
44745
447462003-10-10  castaglia <castaglia>
44747
44748	* src/dirtree.c: No need to keep the server_recs of vhosts that
44749	cannot be resolved.
44750
447512003-10-10  castaglia <castaglia>
44752
44753	* include/netaddr.h, src/dirtree.c, src/netaddr.c: Removing the
44754	pr_netaddr_get_fqdn() function.  It was only being used in one
44755	place: to set the main_server->ServerFQDN member.  ServerFQDN is
44756	used in the logging prefix, and for vhosts, was usually the IP
44757	address.  With this change, the log prefix for entries generated by
44758	vhosts will be their DNS names (if possible).  It also removes a
44759	call to gethostbyname() which on *BSDs might not have performed as
44760	expected for IPv6 strings.
44761
447622003-10-10  castaglia <castaglia>
44763
44764	* src/netaddr.c: Make the logging of badly configured DNS name/IP
44765	address mappings a little less noisy.
44766
447672003-10-09  castaglia <castaglia>
44768
44769	* configure: Updating configure.
44770
447712003-10-09  castaglia <castaglia>
44772
44773	* NEWS, config.h.in, configure.in, src/netaddr.c: Bug#2204 - Reverse
44774	DNS lookups not happening properly on connected clients on FreeBSD.
44775	We need to use gethostbyname2() on FreeBSD (and possibly the other
44776	BSDs).
44777
447782003-10-09  castaglia <castaglia>
44779
44780	* NEWS, configure.in, src/netaddr.c: Bug#2188 - Wildcard sockets not
44781	properly handled on FreeBSD.  Need to set sin_len/sin6_len struct
44782	sockaddr members, if present, for wildcard sockets.
44783
447842003-10-08  castaglia <castaglia>
44785
44786	* NEWS, src/log.c: Bug#2202 - AllowLogSymlinks check is flawed.
44787
447882003-10-08  castaglia <castaglia>
44789
44790	* modules/mod_core.c: Style cleanup (whitespace).
44791
447922003-10-08  castaglia <castaglia>
44793
44794	* src/inet.c: Adding note to pr_inet_set_proto_opts() about
44795	setsockopt() problems on IPv6 sockets.
44796
447972003-10-08  castaglia <castaglia>
44798
44799	* configure: Updating configure.
44800
448012003-10-08  castaglia <castaglia>
44802
44803	* configure.in: autoconf on FreeBSD was not properly reporting the
44804	headers it detected (or didn't): specifically, <netinet/in_systm.h>
44805	and <netinet/ip.h> were not being reported as found and useable in
44806	config.h.  The fix is to include a few more header dependencies in
44807	autoconf, so that autoconf's tests pass and the headers are properly
44808	reported as found.
44809
448102003-10-06  castaglia <castaglia>
44811
44812	* contrib/mod_tls.c: Be a little more careful in tls_blinding_on():
44813	it's possible that SSL_get_privatekey() returns NULL, which I didn't
44814	check for.  This, I think, is causing segfaults on some systems
44815	(depending on the certificates used).
44816
448172003-10-06  castaglia <castaglia>
44818
44819	* include/netaddr.h, src/data.c, src/main.c, src/netaddr.c: Change
44820	pr_netaddr_reverse_dns() to be pr_netaddr_set_reverse_dns(), so that
44821	it has a verb in the function name (style nit, I know).  Also
44822	includes some capitalization and spacing cleanup in data.c.
44823
448242003-10-06  castaglia <castaglia>
44825
44826	* NEWS: Updating NEWS so that people can see that Bug#2183 (and all
44827	its friends) has been fixed.
44828
448292003-10-03  castaglia <castaglia>
44830
44831	* Makefile.in: Remove the generated 'stamp-h' file as well for the
44832	distclean target.
44833
448342003-10-01  castaglia <castaglia>
44835
44836	* NEWS, contrib/mod_sql_mysql.c: Bug#2191 - Segfault in
44837	mod_sql_mysql when using 'Backend' SQLAuthType.  This only happens
44838	for MySQL 4.1.  The MySQL make_scrambled_password() function changed
44839	in 4.1, and the wrong variable value was being used.
44840
448412003-10-01  castaglia <castaglia>
44842
44843	* configure: Updating configure.
44844
448452003-10-01  castaglia <castaglia>
44846
44847	* config.h.in, configure.in: Style cleanup in config.h.  Add check
44848	for <sys/mman.h> header file (will be needed if/when something wants
44849	to use the mmap(2) system call).
44850
448512003-10-01  castaglia <castaglia>
44852
44853	* src/main.c: Style cleanup, comment correction.  Also removed a
44854	double signal(SIGIO) call; first one set a handler for the signal,
44855	the second one caused the signal to be ignored.  Weird.
44856
448572003-10-01  castaglia <castaglia>
44858
44859	* src/main.c: Style cleanup.  Add a comment about needing PRIVS (or
44860	not) when disconnecting sessions.
44861
448622003-09-29  castaglia <castaglia>
44863
44864	* src/bindings.c: Fixed thinko highlighted by Bug#2188.
44865
448662003-09-29  castaglia <castaglia>
44867
44868	* include/bindings.h, src/bindings.c, src/main.c: The
44869	init_bindings() and free_bindings() functions are not suitable for
44870	use in modules, and so should not be in the pr_ namespace.
44871
448722003-09-28  castaglia <castaglia>
44873
44874	* modules/mod_auth_unix.c: It's possible for UID/GID lookups to
44875	occur outside of a session.  When this happens, session.pool is not
44876	valid.  Check for and handle this situation.  (This was causing
44877	segfaults when I attempt to use mod_ctrls.)
44878
448792003-09-28  castaglia <castaglia>
44880
44881	* include/regexp.h, src/main.c, src/regexp.c: The regexp init
44882	function shouldn't be in the pr_ namespace, as it is not suitable
44883	for use in module code.
44884
448852003-09-28  castaglia <castaglia>
44886
44887	* modules/mod_auth.c, modules/mod_auth_unix.c: Style cleanup.
44888
448892003-09-28  castaglia <castaglia>
44890
44891	* src/dirtree.c: One of the changes I made to quell a valgrind
44892	warning (something about reading possibly uninitialized memory,
44893	probably due to a zero-length path variable in this case) had
44894	disastrous side effects on directive lookups.  This highlights that
44895	the build_dyn_config() function needs comments and/or to be
44896	rewritten entirely.  Also includes some style cleanup.
44897
448982003-09-27  castaglia <castaglia>
44899
44900	* configure: Updating configure.
44901
449022003-09-27  castaglia <castaglia>
44903
44904	* configure.in, src/main.c: Some of the pedantic memory cleanups
44905	added in 1.2.9rc2, after some time spent under valgrind, turn out to
44906	affect performance, when a session exits, particularly on busy
44907	machines.  So I've made these checks enabled only when proftpd is
44908	compiled using the --enable-devel flag.
44909
449102003-09-27  castaglia <castaglia>
44911
44912	* NEWS, src/bindings.c: Bug#2024 - DefaultServer not functioning
44913	properly.  The addition of the Bindings API in 1.2.8rc1 broke the
44914	DefaultServer directive in many configurations.  For inetd-run
44915	proftpds, all configured <VirtualHost> servers were being treated
44916	like they had "DefaultServer on", which meant that the last such
44917	configured server would be used, instead of the true DefaultServer.
44918	For both inetd- and standalone-run proftpds, if no exactly matching
44919	vhost was found for a client, the localhost server (i.e. the "server
44920	config" vhost) would be used before the DefaultServer vhost.  Both
44921	problems are fixed by this change.
44922
449232003-09-27  castaglia <castaglia>
44924
44925	* NEWS, src/data.c: Bug#2200 - Correct segfaults with
44926	xlate_ascii_write() on IRIX.  Some of the last of the remaining code
44927	(whose I understood only partially, such as the session.xfer.buf++
44928	increment) is now removed, as well as a potentially dangerous
44929	NUL-termination statement.
44930
449312003-09-26  jwm <jwm>
44932
44933	* contrib/dist/rpm/proftpd.spec: Bug 2197 - Spec file enhancements
44934	and fixes Submitted by: pb@bieringer.de (Dr. Peter Bieringer)
44935
449362003-09-26  castaglia <castaglia>
44937
44938	* modules/mod_core.c: Correcting a misleading/outdated comment.
44939
449402003-09-23  castaglia <castaglia>
44941
44942	* NEWS, modules/mod_core.c: Bug#2181 - Active IPv4 ftp doesn't work
44943	when using --enable-ipv6.  The fix was to build up an IPv6 netaddr
44944	from the PORT argument, rather than an IPv4 netaddr, in the case of
44945	--enable-ipv6.
44946
449472003-09-23  castaglia <castaglia>
44948
44949	* NEWS: Mention fixing of ASCII handling exploit.
44950
449512003-09-23  castaglia <castaglia>
44952
44953	* src/data.c: Fixing remote exploit in ASCII handling, discovered by
44954	X-Force at ISS:   http://xforce.iss.net/xforce/alerts/id/154
44955
449562003-09-23  jwm <jwm>
44957
44958	* contrib/dist/rpm/proftpd.spec: * Tue Sep 23 2003 Daniel Roesen <dr@proftpd.org> - Added "--with ipv6" to enable IPv6 support while building the RPM
44959
449602003-09-22  castaglia <castaglia>
44961
44962	* README.IPv6: Daniel has confirmed that IPv6 and FTP over SSL/TLS
44963	works just fine, for both active and passive transfers.
44964
449652003-09-19  castaglia <castaglia>
44966
44967	* NEWS, include/privs.h: Bug#2179 - ROOT_UID instead of ROOT_GID
44968	used in setegid() call.  This affects Cygwin installations.
44969
449702003-09-18  castaglia <castaglia>
44971
44972	* src/netaddr.c: Using EPERM makes more sense, I think, than EACCES
44973	in most of the pr_netaddr* cases.
44974
449752003-09-18  castaglia <castaglia>
44976
44977	* NEWS, src/netaddr.c: Bug#2176 - getnameinfo() error on Cygwin
44978	during startup.  The sa_family member of some addresses was not
44979	being properly initialized in some instances.
44980
449812003-09-14  castaglia <castaglia>
44982
44983	* src/scoreboard.c: Actually check for error return values when
44984	locking the scoreboard.  A recently reported issue with the
44985	scoreboard on Solaris, under high load, may be related to this:
44986	fcntl() on Solaris is known to return ENOLCK under high load, if the
44987	requested lock hits the system lock limit.  By checking for the
44988	return values, proftpd can at least log if this ENOLCK is indeed the
44989	case.
44990
449912003-09-13  castaglia <castaglia>
44992
44993	* configure: Updating configure.
44994
449952003-09-13  castaglia <castaglia>
44996
44997	* NEWS, README.IPv6, config.h.in, configure.in, src/netaddr.c:
44998	Bug#2167 - getnameinfo() on FreeBSD doesn't support IP address
44999	lookups.  FreeBSD's struct sockaddr_in and struct sockaddr_in6 have the
45000	sin_len and sin6_len members.  The code in pr_netaddr_get_addr() was
45001	not properly initializing these members, and so when those structs
45002	were given to getnameinfo(), getnameinfo() didn't handle them well.
45003	Solaris and Linux don't have these _len members, so the problem
45004	didn't crop up there.  IPv6 systems whose structs have these _len members are supposed to
45005	define the SIN6_LEN symbol, by RFC design.  However, it's possible
45006	that a system not support IPv6 and yet have the sin_len member and
45007	the getnameinfo() function.  So rather than just rely on SIN6_LEN
45008	being present, I added an autoconf check for the sin_len member, and
45009	an IPv4 SIN_LEN symbol.
45010
450112003-09-12  castaglia <castaglia>
45012
45013	* README: Just some pointers/notes about user questions.
45014
450152003-09-12  castaglia <castaglia>
45016
45017	* README.IPv6: Seems that perhaps FreeBSD's getnameinfo(3) doesn't
45018	like IP addresses, but it does handle DNS names correctly.
45019	Interesting.
45020
450212003-09-11  castaglia <castaglia>
45022
45023	* configure: Updating configure.
45024
450252003-09-11  castaglia <castaglia>
45026
45027	* configure.in: Add another --enable-devel option: 'profile'.  When
45028	this option is used, compiler and linker flags for generating
45029	profile output (as for gprof(1)) are generated.  For this to work
45030	properly, one also needs to use the 'nodaemon' and 'nofork' options
45031	as well, e.g.:   ./configure --enable-devel=nodaemon:nofork:profile ...
45032
450332003-09-11  castaglia <castaglia>
45034
45035	* include/version.h: Updating version for CVS snapshots.
45036
450372003-09-11  castaglia <castaglia>
45038
45039	* ChangeLog: Updating ChangeLog.
45040
450412003-09-11  castaglia <castaglia>
45042
45043	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Let's get
45044	this rc2 show on the road.
45045
450462003-09-11  castaglia <castaglia>
45047
45048	* include/conf.h: Add note about possibly using sockaddr_storage in
45049	the future.
45050
450512003-09-10  castaglia <castaglia>
45052
45053	* src/main.c: Fixing PR_DEVEL_NO_DAEMON.
45054
450552003-09-09  castaglia <castaglia>
45056
45057	* src/log.c: Log the client's IP address in the brackets, not the
45058	DNS name.
45059
450602003-09-09  castaglia <castaglia>
45061
45062	* src/netaddr.c: When doing reverse DNS lookups, actually use the
45063	looked up name.  Oops.
45064
450652003-09-09  castaglia <castaglia>
45066
45067	* utils/ftpshut.c: Fix grammar in comment.
45068
450692003-09-09  castaglia <castaglia>
45070
45071	* NEWS: ftpshut's option -R (for remove), not -D (for delete).
45072
450732003-09-09  castaglia <castaglia>
45074
45075	* NEWS, src/netio.c: Bug#2122 - EAGAIN on Solaris can cause an
45076	infinite loop.
45077
450782003-09-09  castaglia <castaglia>
45079
45080	* include/netaddr.h, modules/mod_core.c, src/inet.c, src/netaddr.c:
45081	Rename pr_netaddr_initialize() to be pr_netaddr_clear(), as that is
45082	what is really happening.
45083
450842003-09-09  castaglia <castaglia>
45085
45086	* src/inet.c: Remove duplicate comment.
45087
450882003-09-09  castaglia <castaglia>
45089
45090	* src/inet.c: Use the netaddr allocator where appropriate.
45091
450922003-09-09  castaglia <castaglia>
45093
45094	* src/dirtree.c: Remove cruft.  The multiple addresses for a server
45095	are handled elsewhere.
45096
450972003-09-09  castaglia <castaglia>
45098
45099	* include/netaddr.h, src/netaddr.c: Provide a netaddr allocator.
45100
451012003-09-09  castaglia <castaglia>
45102
45103	* include/netaddr.h, modules/mod_core.c, src/inet.c, src/netaddr.c:
45104	Forgot to properly initialize pr_netaddr_t structs declared on the
45105	stack.  Provide a wrapper function for this, in case any of the
45106	default settings for a pr_netaddr_t need to change (in which case,
45107	providing an allocator as well, for pr_netaddr_t * declarations,
45108	will be necessary).  Also fixed some tabs that crept into inet.c.
45109
451102003-09-08  castaglia <castaglia>
45111
45112	* configure: Updating configure.
45113
451142003-09-08  castaglia <castaglia>
45115
45116	* include/inet.h, modules/mod_core.c, src/inet.c, src/netaddr.c:
45117	Bug#2162 - Move pr_inet_ntop definition to include/inet.h.  Code
45118	cleanup.
45119
451202003-09-08  castaglia <castaglia>
45121
45122	* configure.in: Clean up configure.in a little, and just use
45123	LIB_OBJS (rather than both pr_lib_objs and LIB_OBJS).
45124
451252003-09-08  castaglia <castaglia>
45126
45127	* configure: Updating configure.
45128
451292003-09-08  castaglia <castaglia>
45130
45131	* NEWS, configure.in: Bug#2161 - Duplicate autoconf check for sia.h.
45132
451332003-09-08  castaglia <castaglia>
45134
45135	* src/main.c: Add a function to free up the memory allocated when
45136	moving the environment "out of the way" for use by setproctitle() et
45137	al; valgrind was complaining about this lost memory.  Also free up
45138	the permanent pool, and the free block list, when the daemon shuts
45139	down.
45140
451412003-09-08  castaglia <castaglia>
45142
45143	* modules/mod_auth_unix.c: Changing permanent_pool to session.pool
45144	where appropriate.  Also add a session exit callback that will call
45145	endpwent()/endgrent(), freeing up any memory that may have been
45146	allocated via setpwent()/setgrent().  Symmetry is a Good Thing.
45147
451482003-09-08  castaglia <castaglia>
45149
45150	* modules/mod_auth_pam.c: Removed an unnecessary check for a NULL
45151	pointer that will be given to free(3): the POSIX standard says that
45152	free() can handle a NULL pointer without choking.  Also, since
45153	mod_auth_pam handles the password, when the buffer which holds the
45154	password is freed, it should be scrubbed, rather than just using
45155	memset().
45156
451572003-09-08  castaglia <castaglia>
45158
45159	* src/main.c: Removing cruft, updating calls to subsystem
45160	initializers.
45161
451622003-09-08  castaglia <castaglia>
45163
45164	* include/dirtree.h, src/dirtree.c: Cleanup.  Fixed some timing and
45165	usages of sub pools, particularly in get_dir_ctxt().  Changed
45166	permanent_pool to be session.pool where appropriate.  Changed
45167	!strcmp() to be strcmp() == 0, and added some checks for paths of
45168	zero length (spotted by valgrind).
45169
451702003-09-08  castaglia <castaglia>
45171
45172	* src/auth.c: Removing cruft.  Also added some comments on the
45173	difference between the static make_cmd() function in this file, and
45174	the public pr_cmd_alloc() function.
45175
451762003-09-08  castaglia <castaglia>
45177
45178	* src/fsio.c: Style cleanup, mostly.  Using strcmp() == 0 rather
45179	than !strcmp() is a little clearer to most people.  Also fixed a bug
45180	where a pool was not being destroyed at the proper time.
45181
451822003-09-08  castaglia <castaglia>
45183
45184	* src/data.c: Use memcpy() rather than memmove(), as memcpy() is a
45185	little more efficient (it doesn't have to check the overlapping
45186	buffers).  Also, allocate one space for one more character, to
45187	account for the possibility of a LF as the first character in the
45188	buffer being adjusted (it would then need to be prefaced by a CR).
45189
451902003-09-08  castaglia <castaglia>
45191
45192	* modules/mod_auth_file.c, modules/mod_core.c, modules/mod_log.c:
45193	Changed uses of permanent_pool to session.pool, as is more
45194	appropriate in most module code.
45195
451962003-09-08  castaglia <castaglia>
45197
45198	* modules/mod_auth.c: Changed some uses of permanent_pool here to be
45199	session.pool, as is more appropriate in most module code.
45200
452012003-09-08  castaglia <castaglia>
45202
45203	* include/modules.h, src/modules.c: Removing cruft.  The
45204	call_module_auth() and call_module_cmd() functions were duplicates
45205	of call_module(), so there is no need to keep them around.  Also
45206	fixed some of the pools being used when adding symbols to the stash.
45207	Fixed a bug where the stash pool was not being properly allocated
45208	from permanent_pool (valgrind found this).
45209
452102003-09-08  castaglia <castaglia>
45211
45212	* include/pool.h, src/pool.c: Cleaning up the pool interface.  The
45213	pr_ prefix for initializing the pool code, as many of the subsystem
45214	initializers are not meant to be called by module code; the pr_
45215	suffix is meant to denote the API for use by module authors.  Also
45216	fixed a possible alarm-blocking bug in destroy_pool().
45217
452182003-09-08  castaglia <castaglia>
45219
45220	* include/inet.h, src/inet.c: Removing cruft.  The iplist/niplist
45221	members of the conn_t struct were not being used anymore.  Also
45222	removed some unnecessary complexities (a macro, a cleanup handler).
45223
452242003-09-08  castaglia <castaglia>
45225
45226	* contrib/mod_ratio.c: Removing some cruft from the source code,
45227	which involves removing mod_ratio's use of one of the crufty
45228	functions.
45229
452302003-09-07  castaglia <castaglia>
45231
45232	* modules/mod_cap.c: A weekend with valgrind proved very
45233	enlightening.  This patch corrects several small leaks that were
45234	occurring when handling POSIX capabilities.
45235
452362003-09-07  castaglia <castaglia>
45237
45238	* NEWS, contrib/mod_sql.c: Bug#2154 - SQL query loses shell
45239	information.
45240
452412003-09-06  castaglia <castaglia>
45242
45243	* modules/mod_ls.c: Another leak fixed.  In this case, listdir() was
45244	(inappropriately) setting pointers in the array--allocated and
45245	returned by sreaddir()--to NULL.  Those pointers were allocated
45246	using calloc() in sreaddir(), which meant that later, when listdir()
45247	went to free the memory, it couldn't -- the address was lost.  All
45248	better now.
45249
452502003-09-06  castaglia <castaglia>
45251
45252	* src/data.c: Fixing subtle off-by-one bug (thank you valgrind!).
45253
452542003-09-05  castaglia <castaglia>
45255
45256	* src/pool.c: Rename xmalloc, xcalloc, and xrealloc to be smalloc,
45257	scalloc, and srealloc ("s" for "safe", just like sstrncpy and
45258	sstrcat).  This moves these functions out of the way of dmalloc's
45259	symbols (and doesn't hurt proftpd at all).
45260
452612003-09-05  castaglia <castaglia>
45262
45263	* include/conf.h: Add conditional include for <dmalloc.h>, for use
45264	when using dmalloc to track memory usage.
45265
452662003-09-05  castaglia <castaglia>
45267
45268	* NEWS, modules/mod_auth.c: Bug#2153 - Small error in handling
45269	PR_AUTH_RFC2228 authentication code.
45270
452712003-09-03  castaglia <castaglia>
45272
45273	* configure: Updating configure.
45274
452752003-09-03  castaglia <castaglia>
45276
45277	* NEWS, configure.in: Bug#2007 - autoconf header detection problem.
45278
452792003-08-30  castaglia <castaglia>
45280
45281	* configure: Updating configure.
45282
452832003-08-30  castaglia <castaglia>
45284
45285	* configure.in, include/libsupp.h, lib/glibc-gai_strerror.c,
45286	src/netaddr.c: Partial fix for issues mentioned in Bug#2143:
45287	bundling gai_strerror(3) implementation (from glibc) in libsupp.a,
45288	to be used if the system does not provide a gai_strerror(3) function
45289	itself.
45290
452912003-08-29  castaglia <castaglia>
45292
45293	* include/bindings.h, include/dirtree.h, src/bindings.c: Add
45294	comments about the duplicate
45295	ipbind->ib_server->listen/ipbind->ib_listener pointers.  Also,
45296	correct the patch for Bug#2146 so that ib_server->listen is still
45297	handled properly (as it prior to the patch) in the Bindings API.
45298
452992003-08-29  castaglia <castaglia>
45300
45301	* NEWS, include/bindings.h, src/bindings.c: Bug#2146 - DNS names not
45302	handled properly when --enable-ipv6 is used.  As mentioned in the
45303	report, this was caused by a design assumption revealed by the
45304	addition of IPv6 support: that of a one-to-one association between a
45305	server_rec and its listening connection.  For DNS names resolving to
45306	A and AAAA records, there can be two listening connections for a
45307	given server_rec.  The fix occurs in the Bindings API, where a
45308	server_rec's listeners are now associated with the bindings for the
45309	server_rec, rather than with the server_rec itself.  Multiple
45310	bindings can point to the same server_rec.
45311
453122003-08-29  castaglia <castaglia>
45313
45314	* src/netaddr.c: Using uninitialized memory can be bad.
45315
453162003-08-29  castaglia <castaglia>
45317
45318	* src/inet.c: Only one type of IPv4 service at time: either
45319	IPTOS_LOWDELAY or IPTOS_THROUGHPUT but not both.  Some discussion on IPng mailing list archives mention that using
45320	IP_TOS may be a problem on IPv6 connections...
45321
453222003-08-28  castaglia <castaglia>
45323
45324	* README.ports: Adding FreeBSD 4.9-PRERELEASE to the list.
45325	Apparently the source works out-of-the-box.
45326
453272003-08-28  jwm <jwm>
45328
45329	* NEWS: - Bug 2108 - IgnoreHidden should not hide dotfiles   Dotfiles are now displayed when the -a argument is supplied, even
45330	  when the IgnoreHidden directive is enabled. To replicate the old
45331	  behavior of hiding dotfiles no matter what, use either of the
45332	    following directives: ListOptions "" strict     HideFiles ^\..*
45333
453342003-08-28  jwm <jwm>
45335
45336	* modules/mod_ls.c: Bug 2108 - IgnoreHidden should not hide dotfiles
45337
453382003-08-28  jwm <jwm>
45339
45340	* NEWS: - Bug 1804 - RPM spec file improvements   The spec file now has xinetd support, builds under newer version
45341	  of RPM, installs standalone support with the main proftpd RPM, and
45342	  accepts --with mod_modname arguments during the build process.  - Bug 2127 - Entry in the file section   The RPM spec's %files section now honors the install prefix.
45343
453442003-08-28  jwm <jwm>
45345
45346	* contrib/dist/rpm/proftpd.spec: Bug 2127 - Entry in the file
45347	section
45348
453492003-08-28  jwm <jwm>
45350
45351	* contrib/dist/rpm/xinetd: add xinetd configuration to go with new
45352	.spec
45353
453542003-08-28  jwm <jwm>
45355
45356	* contrib/dist/rpm/proftpd.spec: - don't reset servertype on upgrade - don't explicitly install docs - %doc should include them submitted by: Ivan F. Martinez <ivanfm@os2brasil.com.br> Peter
45357	Bieringer <pb@bieringer.de>
45358
453592003-08-22  castaglia <castaglia>
45360
45361	* README.ports: Adding NetBSD 1.6.1 to the list.
45362
453632003-08-20  castaglia <castaglia>
45364
45365	* README.IPv6: Add note about FreeBSD 4.8 and getnameinfo(3).
45366
453672003-08-18  castaglia <castaglia>
45368
45369	* NEWS, src/dirtree.c: Bug#2141 - Glob Allow/Deny parameters cause
45370	extraneous log messages when comparing addresses.
45371
453722003-08-16  castaglia <castaglia>
45373
45374	* NEWS, modules/mod_auth.c: Bug#2148 - Enforce PR_TUNABLE_LOGIN_MAX.
45375
453762003-08-16  castaglia <castaglia>
45377
45378	* sample-configurations/mod_sql.conf: Add comment in mod_sql sample
45379	config about SQLAuthTypes being required.
45380
453812003-08-16  castaglia <castaglia>
45382
45383	* contrib/mod_sql.c: Add log messages to session init if no
45384	SQLAuthTypes configured.
45385
453862003-08-16  castaglia <castaglia>
45387
45388	* contrib/mod_sql.c: Using mod_sql for authentication, but not
45389	configuring a SQLAuthTypes directive, would result in a segfault in
45390	the session process.  This patch catches the segfault, and adds a
45391	log message concerning the problem.
45392
453932003-08-15  castaglia <castaglia>
45394
45395	* NEWS, contrib/mod_ifsession.c: Fixed mod_ifsession's handling of
45396	multiple configuration sets.  The problem was that mod_ifsession,
45397	after merging in the configuration from a config_rec, would call
45398	xaset_remove() and remove that config_rec from the main server's
45399	configuration sets.  This had the side effect of making other
45400	config_recs in the set, in the set after the removed config_rec, no
45401	longer visible by the iterating function.  As in Perl: don't change
45402	the items in a list while iterating over it.  Instead, queue up the
45403	changes you want to make while iterating, wait until finished
45404	iterating, and then change the list.
45405
454062003-08-14  castaglia <castaglia>
45407
45408	* include/netaddr.h, src/netaddr.c: Rather than using typecasts to
45409	silence the compiler warnings about loss of the 'const' modifier in
45410	pr_netaddr_fnmatch(), simply remove the 'const' from the function
45411	signature.
45412
454132003-08-14  castaglia <castaglia>
45414
45415	* NEWS, src/data.c: Bug#2147 - Segmentation fault processing file in
45416	ASCII mode.
45417
454182003-08-13  castaglia <castaglia>
45419
45420	* src/netaddr.c: Silence some compiler warnings.
45421
454222003-08-13  castaglia <castaglia>
45423
45424	* configure: Updating configure script.
45425
454262003-08-13  castaglia <castaglia>
45427
45428	* NEWS, configure.in: Bug#2144 - Rework autoconf handling of
45429	--enable-sia option.
45430
454312003-08-13  castaglia <castaglia>
45432
45433	* configure: Updating configure script.
45434
454352003-08-13  castaglia <castaglia>
45436
45437	* config.h.in, configure.in: Check for gai_strerror(3).  We'll also
45438	need to provide an implementation if gai_strerror() is not present.
45439
454402003-08-13  castaglia <castaglia>
45441
45442	* configure: Updating configure script.
45443
454442003-08-13  castaglia <castaglia>
45445
45446	* NEWS, configure.in, include/libsupp.h, include/support.h,
45447	lib/sstrncpy.c, src/support.c: Bug#2142 - sstrncpy() not available
45448	to lib/vsnprintf.c.
45449
454502003-08-13  castaglia <castaglia>
45451
45452	* src/inet.c: It seems the 'sa_family' symbol is a macro on IRIX.
45453
454542003-08-12  castaglia <castaglia>
45455
45456	* include/conf.h, include/inet.h: Move the conditional definitions
45457	of INET(6)_ADDRSTRLEN to conf.h, so that the definition of
45458	pr_netaddr_t can use them.  Sigh.
45459
454602003-08-12  castaglia <castaglia>
45461
45462	* include/conf.h: Can't use INET6_ADDRSTRLEN until include/inet.h is
45463	included, but the pr_netaddr_t needs to be typedef'd before then.
45464	So we do it manually.
45465
454662003-08-11  castaglia <castaglia>
45467
45468	* contrib/mod_sql.c: Removing use of get_param_int() from mod_sql.
45469
454702003-08-11  castaglia <castaglia>
45471
45472	* NEWS, modules/mod_ls.c: Bug#2137 - NLST and IgnoreHidden causes
45473	segfault.
45474
454752003-08-11  castaglia <castaglia>
45476
45477	* src/main.c: Oops.  Calling of the postparse callbacks should
45478	happen after all the servers have been fixed up, in order to make
45479	sure that the modules see the "correct" server configuration data.
45480
454812003-08-11  castaglia <castaglia>
45482
45483	* src/main.c: Postparse callbacks should be called after the
45484	configuration has been parsed during a rehash, too.  Modules that
45485	wish to have postparse callbacks invoked during a rehash will need
45486	to have rehash handlers that register the postparse callback.
45487
454882003-08-09  castaglia <castaglia>
45489
45490	* modules/mod_auth.c: Previous changes to auth_scan_scoreboard()
45491	removed some checks that really needed to be there, to prevent
45492	segfaults when using configurations that did not use Classes.
45493
454942003-08-09  castaglia <castaglia>
45495
45496	* src/inet.c: Fixed function signature to match declared prototype.
45497	Fixed variable name.
45498
454992003-08-09  castaglia <castaglia>
45500
45501	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_auth.c,
45502	src/dirtree.c: Spelling correction.
45503
455042003-08-09  castaglia <castaglia>
45505
45506	* src/bindings.c: Removed debugging cruft.
45507
455082003-08-09  castaglia <castaglia>
45509
45510	* include/proftpd.h, src/netaddr.c: Comment clarification, style
45511	fixups, fixing compiler warnings.
45512
455132003-08-08  castaglia <castaglia>
45514
45515	* modules/mod_auth_file.c: Fixed position of use of pr_signals()
45516	handle, so as not to occur before variable declaration in the case
45517	where HAVE_FGETPWENT is false/undef.
45518
455192003-08-08  castaglia <castaglia>
45520
45521	* NEWS: Fixed wrong bug report number.
45522
455232003-08-08  castaglia <castaglia>
45524
45525	* include/netaddr.h: Complete the description of
45526	pr_netaddr_fnmatch().
45527
455282003-08-07  castaglia <castaglia>
45529
45530	* NEWS, modules/mod_auth.c: Bug#2130 - %y in DisplayLogin is not
45531	updated correctly.  The problem was that the auth_scan_scoreboard()
45532	function, which scanned the scoreboard and tallied up the variables
45533	used when filling in %y/%N, was only being called if the
45534	DisplayConnect directive was used.  Instead, auth_scan_scoreboard()
45535	should always be called, to handle any of the Display* directives.
45536
455372003-08-07  castaglia <castaglia>
45538
45539	* src/netaddr.c: Added implementation of pr_netaddr_fnmatch().
45540
455412003-08-07  castaglia <castaglia>
45542
45543	* include/netaddr.h, src/netaddr.c: Added implementation (untested)
45544	of pr_netaddr_ncmp().  Changed the pr_netaddr*() routines to return
45545	  EACCES if for some reason the netaddrs on which they operate do not
45546	  have a recognizable family (AF_INET or AF_INET6).
45547
455482003-08-07  castaglia <castaglia>
45549
45550	* include/netaddr.h, src/bindings.c, src/netaddr.c: Added a
45551	pr_netaddr_get_inaddr_len(), to provide sizes of struct in{6}_addr,
45552	matching the pr_netaddr_get_sockaddr_len() function.  Added a stub for pr_netaddr_fnmatch(), to be implemented soon.
45553
455542003-08-07  castaglia <castaglia>
45555
45556	* include/netaddr.h, src/inet.c, src/netaddr.c: Changed
45557	pr_netaddr_get_addrlen() to pr_netaddr_get_sockaddr_len(), to more
45558	clearly reflect the length returned.  Added stub for pr_netaddr_ncmp(), to be implemented shortly.
45559
455602003-08-07  castaglia <castaglia>
45561
45562	* README.IPv6: Clarifying that IPv6 sockets handling IPv4 packets
45563	only occurs when it is an wildcard IPv6 socket.
45564
455652003-08-07  castaglia <castaglia>
45566
45567	* NEWS: Mention the --enable-ipv6 configure option.
45568
455692003-08-07  castaglia <castaglia>
45570
45571	* include/netaddr.h: Adding descriptions of the netaddr API
45572	functions.
45573
455742003-08-06  castaglia <castaglia>
45575
45576	* include/inet.h: Add some comments about the handling of
45577	get{addr,name}info symbols.  I'm not quite sure I have all the
45578	preprocessor logic for these symbols done correctly yet.
45579
455802003-08-06  castaglia <castaglia>
45581
45582	* src/netaddr.c: Typos.
45583
455842003-08-06  castaglia <castaglia>
45585
45586	* configure: Updating configure.
45587
455882003-08-06  castaglia <castaglia>
45589
45590	* ChangeLog, Make.rules.in, NEWS, README.IPv6, config.h.in,
45591	configure.in, contrib/mod_ifsession.c, contrib/mod_radius.c,
45592	contrib/mod_ratio.c, contrib/mod_rewrite.c, contrib/mod_sql.c,
45593	contrib/mod_tls.c, include/bindings.h, include/conf.h,
45594	include/dirtree.h, include/ftp.h, include/inet.h, include/log.h,
45595	include/netaddr.h, include/proftpd.h, modules/mod_auth.c,
45596	modules/mod_core.c, modules/mod_log.c, src/bindings.c, src/data.c,
45597	src/dirtree.c, src/ident.c, src/inet.c, src/log.c, src/main.c,
45598	src/netaddr.c, src/scoreboard.c, utils/misc.c: Bug#1711 - IPv6
45599	support.  Let the IPv6 fun begin.
45600
456012003-08-06  castaglia <castaglia>
45602
45603	* modules/mod_auth_file.c: Fix code in case where fgetgrent(3) is
45604	not present on the system.
45605
456062003-08-02  castaglia <castaglia>
45607
45608	* contrib/mod_sql_mysql.c: MySQL-4.1.0 changed the signature for the
45609	make_scrambled_password() function, so we handle it by checking the
45610	MySQL version.  This commit also includes some style changes.
45611
456122003-08-01  castaglia <castaglia>
45613
45614	* modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
45615	src/data.c, src/dirtree.c, src/main.c, src/pool.c, src/support.c:
45616	Style.
45617
456182003-08-01  castaglia <castaglia>
45619
45620	* contrib/mod_radius.c, contrib/mod_rewrite.c, modules/mod_auth.c,
45621	modules/mod_auth_file.c, src/netio.c: Adding signal handling in
45622	while() loops.
45623
456242003-07-30  castaglia <castaglia>
45625
45626	* NEWS, contrib/mod_sql.c: Bug#2118 - %F doesn't work for DELE
45627	command; %f is inconsistent.  This is exactly the reason why we
45628	really need a unified cookie/variable handling interface.  Too much
45629	code duplicated around in modules leads to out-of-sync code bugs
45630	like this.
45631
456322003-07-30  castaglia <castaglia>
45633
45634	* contrib/mod_tls.c: Removing unused code.
45635
456362003-07-30  castaglia <castaglia>
45637
45638	* NEWS, contrib/mod_tls.c: Close files that have been fopen()'d
45639	always, not just when conditions mean that no errors are
45640	encountered.
45641
456422003-07-29  castaglia <castaglia>
45643
45644	* NEWS, modules/mod_core.c: Bug#2119 - FEAT response format does not
45645	conform to RFC2389.
45646
456472003-07-29  castaglia <castaglia>
45648
45649	* doc/rfc/rfc2228.txt, doc/rfc/rfc2389.txt, doc/rfc/rfc2428.txt:
45650	Style.
45651
456522003-07-28  castaglia <castaglia>
45653
45654	* NEWS: Mention fix of mod_tls directives.
45655
456562003-07-28  castaglia <castaglia>
45657
45658	* contrib/mod_tls.c: TLSCACertificateFile and TLSCACertificatePath
45659	are documented to be allowed in all server contexts, not just
45660	"server config"; the code was wrong.
45661
456622003-07-25  castaglia <castaglia>
45663
45664	* sample-configurations/anonymous.conf,
45665	sample-configurations/complex-virtual.conf,
45666	sample-configurations/mod_sql.conf,
45667	sample-configurations/virtual.conf: Style.
45668
456692003-07-25  jwm <jwm>
45670
45671	* include/pr-syslog.h: silence warning
45672
456732003-07-24  castaglia <castaglia>
45674
45675	* Makefile.in, NEWS: Bug#2115 - ftptop depends on snprintf but
45676	doesn't link in lib/libsupp.a
45677
456782003-07-24  castaglia <castaglia>
45679
45680	* doc/rfc/rfc2428.txt: IPv6 support _is_ going to be added Real Soon
45681	Now(tm), so we might as well as the relevant RFC.
45682
456832003-07-21  castaglia <castaglia>
45684
45685	* NEWS, contrib/mod_sql.c: Bug#2113 - mod_sql default uses mysql
45686	keyword.
45687
456882003-07-18  castaglia <castaglia>
45689
45690	* include/proftpd.h, src/main.c: Add two new members to the session
45691	struct: curr_cmd and curr_phase.  These are for storing pointers to
45692	the current FTP command name and current command handler phase,
45693	respectively.  They are useful for places like the FSIO API, where
45694	callbacks may want to take conditional action depending on the FTP
45695	command/phase at the time.
45696
456972003-07-16  castaglia <castaglia>
45698
45699	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#2110 -
45700	Segfault if gethostname(2) returns NULL.  When code was added to
45701	simply remove a server_rec whose name could not be resolved from the
45702	list, rather than halting the process there (which allows a more
45703	Apache-like handling of badly configured vhosts by logging/skipping,
45704	rather than choking), an edge case became possible where, after
45705	looping through all the server_recs, _none_ remained in the list.
45706	This case was not being handled, and lead to a segfault later in the
45707	processing.  This patch checks for the case where no valid
45708	server_recs remain in the list.
45709
457102003-07-16  castaglia <castaglia>
45711
45712	* contrib/mod_sql_mysql.c: Spacing nit.
45713
457142003-07-15  castaglia <castaglia>
45715
45716	* modules/mod_xfer.c: Cruft.
45717
457182003-07-11  castaglia <castaglia>
45719
45720	* NEWS, modules/mod_auth.c: Bug#2103 - AuthAliasOnly in server
45721	context causes hang.
45722
457232003-07-10  jwm <jwm>
45724
45725	* contrib/mod_ldap.c: release 2.8.12
45726
457272003-07-07  castaglia <castaglia>
45728
45729	* contrib/mod_sql_mysql.c: Typo.
45730
457312003-07-07  castaglia <castaglia>
45732
45733	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Updating
45734	module names in comments.
45735
457362003-07-07  castaglia <castaglia>
45737
45738	* NEWS: Correcting handling of mod_tls TLSCertificateChainFile
45739	directive.
45740
457412003-07-07  castaglia <castaglia>
45742
45743	* contrib/mod_tls.c: Change the semantics of TLSCertificateChainFile
45744	slightly.  Now, this directive can be used to explicitly configure
45745	the chain of certs given to a peer during the TLS handshake.  Any
45746	server certs, configured using either CertificateFile or
45747	CertificatePath, are added to the list of CAs allowed for clients,
45748	but not for servers.
45749
457502003-07-07  castaglia <castaglia>
45751
45752	* NEWS, modules/mod_core.c: Bug#2100 - Invalid domain in
45753	<VirtualHost> tag causes segmentation fault.
45754
457552003-07-03  castaglia <castaglia>
45756
45757	* sample-configurations/anonymous.conf,
45758	sample-configurations/complex-virtual.conf: Don't forget the
45759	X-variants of FTP commands in <Limit> examples.
45760
457612003-06-28  castaglia <castaglia>
45762
45763	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Add comments
45764	about provide proper escapestring implementations.  Failure to do so
45765	allows SQL injection.
45766
457672003-06-27  castaglia <castaglia>
45768
45769	* modules/mod_core.c: Be a little more verbose about the exact error
45770	cause of log_opensyslog() fails.
45771
457722003-06-27  castaglia <castaglia>
45773
45774	* lib/pr-syslog.c: Fix some inadvertently inverted #ifdefs.
45775
457762003-06-24  castaglia <castaglia>
45777
45778	* NEWS, contrib/mod_rewrite.c, include/conf.h: Bug#2090 -
45779	mod_rewrite doesn't compile on Solaris 8.
45780
457812003-06-23  castaglia <castaglia>
45782
45783	* contrib/mod_radius.c: Use USHRT_MAX rather than 65535 (and fix a
45784	typo).
45785
457862003-06-17  castaglia <castaglia>
45787
45788	* contrib/mod_sql_postgres.c: Removing POSTGRES_NO_ESCAPESTRING
45789	#define from mod_sql_postgres.  See Bug#2087.
45790
457912003-06-17  castaglia <castaglia>
45792
45793	* configure: Updating configure.
45794
457952003-06-17  castaglia <castaglia>
45796
45797	* config.h.in, configure.in, include/conf.h: Configure detection/use
45798	for <netinet/in_systm.h> header; this fixes compile errors on BSD
45799	platforms.  Patch contributed by Daniel Svensson.
45800
458012003-06-16  castaglia <castaglia>
45802
45803	* NEWS, src/dirtree.c, src/sets.c: Bug#2088: proftpd -t segfault.
45804	The functional change of this patch is using parent_pool, rather
45805	than c_pool, in start_sub_config() when allocating a new xaset *.
45806	The rest of the patch is style cleanup.
45807
458082003-06-12  castaglia <castaglia>
45809
45810	* contrib/mod_tls.c: Better handling of too long certificate
45811	verification chains.
45812
458132003-06-12  castaglia <castaglia>
45814
45815	* src/inet.c, src/modules.c: Missing $Id$ keyword.
45816
458172003-06-11  castaglia <castaglia>
45818
45819	* src/ident.c: Match debug levels with what's in main.c for ident
45820	lookups.
45821
458222003-06-11  castaglia <castaglia>
45823
45824	* src/ident.c, src/main.c: Add some debugging routines to the ident
45825	lookups.
45826
458272003-06-11  castaglia <castaglia>
45828
45829	* config.h.in: Missing entry for <netinet/ip.h> header file, checked
45830	by configure.
45831
458322003-06-10  castaglia <castaglia>
45833
45834	* contrib/mod_tls.c: Need to be consistent about names of variables
45835	used.
45836
458372003-06-10  castaglia <castaglia>
45838
45839	* contrib/mod_tls.c: Better handling of possible errors when loading
45840	certs from a CertificateChainFile.
45841
458422003-06-10  castaglia <castaglia>
45843
45844	* contrib/mod_tls.c: Fixed typo that prevent TLSCertificateChainFile
45845	from working properly.
45846
458472003-06-09  castaglia <castaglia>
45848
45849	* NEWS, modules/mod_auth_file.c: Bug#2083 - "550 Access denied" on
45850	group permission with AuthGroupFile.
45851
458522003-06-06  castaglia <castaglia>
45853
45854	* src/main.c: Add debug output (level 6) for use/nonuse of RFC1413
45855	lookups.
45856
458572003-06-05  castaglia <castaglia>
45858
45859	* modules/mod_auth.c, modules/mod_core.c: Match variable data types.
45860
458612003-06-05  castaglia <castaglia>
45862
45863	* NEWS, modules/mod_auth.c: Some inappropriate/ill-timed Class
45864	functionality check was preventing %N/%y from being properly counted
45865	for DisplayConnect files.
45866
458672003-06-04  castaglia <castaglia>
45868
45869	* include/options.h: Increase default PR_TUNABLE_LOGIN_MAX size (and
45870	don't use _POSIX_LOGIN_NAME_MAX, even if it is defined).  Should fix
45871	Bug#2079.
45872
458732003-06-04  castaglia <castaglia>
45874
45875	* configure: Updating configure.
45876
458772003-06-04  castaglia <castaglia>
45878
45879	* config.h.in, configure.in: Add autoconf checks for mlock(2),
45880	mlockall(2), munlock(2), and munlockall(2).
45881
458822003-06-04  castaglia <castaglia>
45883
45884	* src/inet.c: Typo in inet_setnonblock() (Bug#2077).
45885
458862003-06-03  castaglia <castaglia>
45887
45888	* modules/mod_log.c, src/log.c, src/main.c: Changing variable names
45889	to avoid pedantic compiler warnings emitted by gcc-3.3.
45890
458912003-06-03  castaglia <castaglia>
45892
45893	* NEWS, include/conf.h, include/fsio.h, include/options.h,
45894	include/proftpd.h, modules/mod_auth.c, modules/mod_core.c,
45895	modules/mod_ls.c, modules/mod_xfer.c, src/dirtree.c, src/fsio.c,
45896	src/log.c, src/netio.c, src/response.c, src/scoreboard.c,
45897	src/support.c, utils/scoreboard.c, utils/utils.h: Bug#2069: Long MKD
45898	path causes truncated server response.
45899
459002003-06-03  castaglia <castaglia>
45901
45902	* src/fsio.c: Change related to Bug#2043: files always need to be
45903	opened using the O_BINARY flag on Cygwin, not just for ASCII
45904	transfers.
45905
459062003-06-03  castaglia <castaglia>
45907
45908	* configure: Updating configure.
45909
459102003-06-03  castaglia <castaglia>
45911
45912	* NEWS, config.h.in, configure.in: Bug#2076 - The
45913	--enable-transfer-buffer-size configure option doesn't work
45914	properly.
45915
459162003-06-02  castaglia <castaglia>
45917
45918	* NEWS, src/fsio.c: Bug#2075 - ls / fails under Cygwin.
45919
459202003-06-02  castaglia <castaglia>
45921
45922	* NEWS, modules/mod_xfer.c: Bug#2074: MaxStoreFileSize restriction
45923	capabilities ignored.  The find_maxnbytes() function in
45924	modules/mod_xfer.c was not checking the argc of the configured
45925	config_recs properly, and so was ignoring any configured classifiers
45926	on Max{Retrieve,Store}FileSize directives.  This also fixes the
45927	handling of a single "*" configuration parameter, which is
45928	documented as being allowed.
45929
459302003-05-31  castaglia <castaglia>
45931
45932	* contrib/mod_rewrite.c: Changed referenced to deprecated
45933	make_named_sub_pool() to make_sub_pool().
45934
459352003-05-31  castaglia <castaglia>
45936
45937	* contrib/mod_sql.c, modules/mod_log.c: Adding new LogFormat
45938	variable, %J (and mod_sql support for it).  This variable expands to
45939	the arguments given in an FTP command.  Currently, there is %m for
45940	just the command, %r for the full command (command + arguments), but
45941	nothing for just the arguments.  Hence the need for a new variable.
45942
459432003-05-31  castaglia <castaglia>
45944
45945	* modules/mod_core.c: Changed handling of RNTO slightly.  It would
45946	clear session.xfer.p at the end of the CMD phase.  Unfortunately,
45947	this meant that for ExtendedLog/SQLLog, which might want to use %f
45948	for RNTO, the path allocated from that pool would be gone.  Now, a
45949	LOG_CMD/LOG_CMD_ERR handler for RNTO does the clearing of
45950	session.xfer.p for RNTO, thus letting mod_log/mod_sql have a chance
45951	to do their stuff.
45952
459532003-05-29  castaglia <castaglia>
45954
45955	* README.cygwin: Adding note to Cygwin README to use Cygwin 1.3.22
45956	or later, in order to prevent/quell ENOTSOCK errors (Bug#2064).
45957
459582003-05-29  castaglia <castaglia>
45959
45960	* contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Add some
45961	sanity checks to the backend init handlers. (Note: this actually
45962	makes a difference for a different module I'm working on, but the
45963	logic is still worthwhile for the existing code.)
45964
459652003-05-28  jwm <jwm>
45966
45967	* contrib/dist/rpm/proftpd.spec: build fixup from Ivan Martinez
45968	<ivanfm@os2brasil.com.br>
45969
459702003-05-28  castaglia <castaglia>
45971
45972	* Makefile.in: Add an 'all' dependency to the install target, to
45973	catch those unsuspecting admins that might skip the 'make' and go
45974	straight for the 'make install'.
45975
459762003-05-27  castaglia <castaglia>
45977
45978	* lib/pr-syslog.c: UnixWare 7.1 seems to have STREAMS support for
45979	/dev/log, similar to Solaris and IRIX.  It's not quite the same,
45980	though.  Patch contributed by Olivier PRENANT.
45981
459822003-05-27  jwm <jwm>
45983
45984	* contrib/dist/rpm/proftpd.spec: logrotate script should be
45985	config(noreplace)
45986
459872003-05-27  jwm <jwm>
45988
45989	* contrib/dist/rpm/proftpd.spec: Apparently RPM doesn't like
45990	user-defined options with dashes in them (--with-module -> --with)
45991
459922003-05-26  castaglia <castaglia>
45993
45994	* src/data.c: Style/spacing.
45995
459962003-05-26  jwm <jwm>
45997
45998	* NEWS: I really should pay attention to what I'm doing when I
45999	resolve conflicts...
46000
460012003-05-26  jwm <jwm>
46002
46003	* NEWS: Bug 1804 - Permit selection of additional contrib modules
46004	when building the RPM
46005
460062003-05-26  jwm <jwm>
46007
46008	* contrib/dist/rpm/proftpd.spec: change the flag name
46009
460102003-05-26  jwm <jwm>
46011
46012	* contrib/dist/rpm/proftpd.spec: Bug 1804 - RPM spec file
46013	improvements
46014
460152003-05-23  castaglia <castaglia>
46016
46017	* src/log.c: Make the error about logging to world-writeable
46018	directories a little more prominent.
46019
460202003-05-22  castaglia <castaglia>
46021
46022	* NEWS, src/fsio.c: Bug#2043 - Proftpd converts LF to CRLF on PUT
46023	(Cygwin)
46024
460252003-05-22  castaglia <castaglia>
46026
46027	* modules/mod_xfer.c: Fix missing case for .ftpaccess files bearing
46028	Max{Retrieve,Store}FileSize directives.
46029
460302003-05-20  castaglia <castaglia>
46031
46032	* contrib/mod_sql.c: Correcting thinko in mod_sql that affected
46033	proper lookup of shell values.  Minor log message correction.
46034
460352003-05-19  castaglia <castaglia>
46036
46037	* modules/mod_xfer.c: Make sure that for the TransferRate, when
46038	updating the scoreboard, the actual number of bytes sent (not
46039	adjusted for free bytes) is used.
46040
460412003-05-19  castaglia <castaglia>
46042
46043	* NEWS, modules/mod_xfer.c: Bug#2051 - freebytes in TransferRate
46044	does not work properly.
46045
460462003-05-16  castaglia <castaglia>
46047
46048	* include/version.h: Bumping the version for CVS.
46049
460502003-05-16  castaglia <castaglia>
46051
46052	* ChangeLog: Updating ChangeLog.
46053
460542003-05-16  castaglia <castaglia>
46055
46056	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
46057	for 1.2.9rc1 release.
46058
460592003-05-15  castaglia <castaglia>
46060
46061	* lib/libcap/Makefile, lib/libcap/cap_alloc.c,
46062	lib/libcap/cap_text.c, lib/libcap/include/sys/capability.h,
46063	lib/libcap/libcap.h, modules/mod_cap.c: Bug#2000 - mod_cap should
46064	not use bundled libcap.  This patch updates the bundled libcap; I
46065	won't be closing the bug report just yet.
46066
460672003-05-14  castaglia <castaglia>
46068
46069	* modules/mod_xfer.c: We don't want to call regerror(3) when
46070	regexec(3) matches -- we want to call regerror() when it _doesn't_
46071	match.  Seeing "Success" in the debugging output is not very useful.
46072
460732003-05-14  castaglia <castaglia>
46074
46075	* NEWS: Wrong bug report number.
46076
460772003-05-14  castaglia <castaglia>
46078
46079	* NEWS, include/dirtree.h, modules/mod_auth.c, modules/mod_core.c,
46080	src/dirtree.c: Bug#1977 - Add %u variable support in configuration
46081	file.
46082
460832003-05-14  castaglia <castaglia>
46084
46085	* NEWS, contrib/mod_rewrite.c: Bug#2031 - Add support for flags for
46086	RewriteCondition, RewriteRule (a la Apache's mod_rewrite)
46087
460882003-05-14  castaglia <castaglia>
46089
46090	* NEWS, src/dirtree.c, src/fsio.c: Bug#2047 - 1024 or more chars in
46091	.ftpaccess causes lockup.
46092
460932003-05-12  castaglia <castaglia>
46094
46095	* lib/pr-syslog.c: Fix logic.
46096
460972003-05-12  castaglia <castaglia>
46098
46099	* lib/pr-syslog.c: Add an Id tag.
46100
461012003-05-09  jwm <jwm>
46102
46103	* lib/pr-syslog.c: centralize STREAMS defines
46104
461052003-05-09  castaglia <castaglia>
46106
46107	* configure: Updating.
46108
461092003-05-09  castaglia <castaglia>
46110
46111	* configure.in: Minor wording correction/change.
46112
461132003-05-08  castaglia <castaglia>
46114
46115	* configure: Updating configure.
46116
461172003-05-08  castaglia <castaglia>
46118
46119	* configure.in: Cygwin installation patch (contributed by Jason
46120	Tishler <jason@tishler.net>).
46121
461222003-05-02  castaglia <castaglia>
46123
46124	* README.cygwin: Add note about Cygwin's lack of largefile support
46125	(sizeof(off_t) is only 4, rather than 8, on Cygwin).
46126
461272003-05-02  castaglia <castaglia>
46128
46129	* configure: Updating configure.
46130
461312003-05-02  castaglia <castaglia>
46132
46133	* config.h.in, configure.in, include/conf.h: Adjusting the check for
46134	%llu support a little: we only want to use %llu if a) printf(3)
46135	supports it _and b) the size of off_t (hopefully defined to be an
46136	unsigned long long) is 8 bytes.  Otherwise, use %lu.
46137
461382003-04-30  castaglia <castaglia>
46139
46140	* include/dirtree.h, include/support.h, modules/mod_auth.c,
46141	modules/mod_auth_unix.c, src/dirtree.c, src/support.c: Moving the
46142	handling of authentication for Cygwin from mod_auth to
46143	mod_auth_unix.
46144
461452003-04-30  castaglia <castaglia>
46146
46147	* modules/mod_auth.c, modules/mod_core.c: get_param_ptr() lookup
46148	logic thinkos.
46149
461502003-04-30  castaglia <castaglia>
46151
46152	* contrib/mod_rewrite.c: More explicit handling of RewriteEngine
46153	lookup.
46154
461552003-04-30  castaglia <castaglia>
46156
46157	* modules/mod_auth_file.c: Style/placement.
46158
461592003-04-30  castaglia <castaglia>
46160
46161	* NEWS, modules/mod_auth_file.c: Bug#2032 - AuthOrder not working
46162	when first option is mod_auth_file.c.
46163
461642003-04-30  castaglia <castaglia>
46165
46166	* configure: Updating.
46167
461682003-04-30  castaglia <castaglia>
46169
46170	* config.h.in, configure.in, include/conf.h: Try to determine
46171	whether %llu or %lu should be used in the configure script by
46172	actually testing use of printf(3), rather than relying on
46173	_FILE_OFFSET_BITS (which some platforms don't use) or
46174	SIZEOF_OFFSET_T (which doesn't convey the host printf()'s ability to
46175	support %llu).
46176
461772003-04-30  castaglia <castaglia>
46178
46179	* contrib/mod_tls.c: Forgot to decrement the reference count to the
46180	peer cert properly.
46181
461822003-04-30  castaglia <castaglia>
46183
46184	* modules/mod_xfer.c: Fix some cases where a filehandle was not
46185	being closed properly, or the wrong filehandle was being closed.  In
46186	all honesty, I think this patch may be a bit paranoid, as these
46187	cases are probably caught by xfer_err_cleanup().  Still, at least
46188	the code will be more consistent (and less confusing if you don't
46189	know where to look) with these changes.
46190
461912003-04-29  castaglia <castaglia>
46192
46193	* NEWS: Oops...wrong credit. =/
46194
461952003-04-29  castaglia <castaglia>
46196
46197	* NEWS: Add credit for AllowForeignAddress fix.
46198
461992003-04-29  castaglia <castaglia>
46200
46201	* modules/mod_core.c, src/inet.c: Transition to using
46202	get_param_ptr() instead of get_param_int() resulted in bad logic
46203	when handling AllowForeignAddress.
46204
462052003-04-26  jwm <jwm>
46206
46207	* src/.cvsignore, utils/.cvsignore: ignore autogenerated man pages
46208
462092003-04-25  castaglia <castaglia>
46210
46211	* NEWS, README.cygwin, include/privs.h, modules/mod_auth.c,
46212	src/main.c: Cygwin portability fixes: on Cygwin, the root UID/GID is
46213	not 0/0, but 18/544:   http://cygwin.com/ml/cygwin/2003-04/msg01918.html Also updating the Cygwin README with feedback from Jason Tishler
46214	<jason at tishler.net>.
46215
462162003-04-25  castaglia <castaglia>
46217
46218	* NEWS, include/bindings.h, src/bindings.c, src/main.c: Fixed minor
46219	fd leak/messiness where listening fds were not being properly closed
46220	in a session process, when the session is first starting.  Michael
46221	noticed symptoms of this manifesting as a problem handling HUPs.  (I
46222	can't believe this behavior has gone on for so long in the code with
46223	no one noticing...oh well).
46224
462252003-04-24  castaglia <castaglia>
46226
46227	* contrib/mod_rewrite.c: Fixing bug where a RewriteRule with no
46228	conditions was not being executed properly.
46229
462302003-04-24  castaglia <castaglia>
46231
46232	* INSTALL, README.modules: Module name changes.
46233
462342003-04-24  castaglia <castaglia>
46235
46236	* README.modules: Updating the module list.
46237
462382003-04-23  castaglia <castaglia>
46239
46240	* contrib/mod_rewrite.c: Pedantic change -- bad grammar in variable
46241	name.
46242
462432003-04-23  castaglia <castaglia>
46244
46245	* configure: Updating.
46246
462472003-04-23  castaglia <castaglia>
46248
46249	* configure.in, include/privs.h, modules/mod_auth.c,
46250	modules/mod_cap.c, modules/mod_core.c, src/auth.c, src/main.c:
46251	Adding more stuff to the --enable-devel option: first, the ability
46252	to generate core dumps (thank you, Michael!) Second, the ability to
46253	specify developer options in the configure --enable-devel parameter,
46254	rather than using CFLAGS.  For example, rather than doing:   CFLAGS="-DPR_DEVEL_NO_FORK -DPR_DEVEL_COREDUMP" ./configure
46255	  --enable-devel ...  you can now do:   ./configure --enable-devel=nofork:coredump ...  At present, only three developer options are supported: nodaemon,
46256	nofork, and coredump.
46257
462582003-04-23  castaglia <castaglia>
46259
46260	* src/pool.c: Sanity checking.
46261
462622003-04-23  castaglia <castaglia>
46263
46264	* lib/glibc-glob.c: Fixing compiler warning.
46265
462662003-04-23  castaglia <castaglia>
46267
46268	* NEWS, contrib/mod_rewrite.c: Bug#2029 - Rewrite rule may execute
46269	more than once if multiple rewrite conditions exist.
46270
462712003-04-22  castaglia <castaglia>
46272
46273	* NEWS: Bug#2003 - mod_auth.c does not compile for cygwin on W2K.
46274
462752003-04-22  castaglia <castaglia>
46276
46277	* modules/mod_auth.c: Slight modification of Cygwin stuff, as per
46278	Bug#2003.  Cygwin doesn't/shouldn't use the normal proftpd auth
46279	handlers for checking passwords (it's done by Cygwin's
46280	cygwin_logon_user() function).
46281
462822003-04-22  castaglia <castaglia>
46283
46284	* include/proftpd.h, lib/pr_fnmatch_loop.c, modules/mod_auth.c,
46285	modules/mod_auth_unix.c: Bug#2003 - mod_auth.c does not compile for
46286	cygwin on W2K.  There may be more work needed on this bug, but this
46287	patch at least compiles correctly.
46288
462892003-04-18  castaglia <castaglia>
46290
46291	* NEWS, modules/mod_core.c: Bug#1532 - [patch] Human readable disk
46292	free.
46293
462942003-04-17  castaglia <castaglia>
46295
46296	* src/inet.c: Cruft removal.
46297
462982003-04-16  castaglia <castaglia>
46299
46300	* src/fsio.c: Add Solaris 2.5.1 to the list of Solaris versions that
46301	use struct statvfs for its statvfs(2) call.
46302
463032003-04-16  castaglia <castaglia>
46304
46305	* src/fsio.c: Typo.
46306
463072003-04-16  castaglia <castaglia>
46308
46309	* configure: Updating configure script.
46310
463112003-04-16  castaglia <castaglia>
46312
46313	* configure.in: Tweaking the configure.in file to fix some things
46314	that cause trouble on Tru64 Unix (and probably other picky
46315	platforms).
46316
463172003-04-16  castaglia <castaglia>
46318
46319	* src/fsio.c: Reworking the #ifdefs around statvfs a little; now, if
46320	we're a Solaris 2.6 or 2.7 box, we'll use struct statvfs, otherwise,
46321	statvfs_t.  We'll deal with those poor souls still using 2.5.1 or
46322	older later.  (Thanks for the info about statvfs64 on Solaris 2.7,
46323	Noah).
46324
463252003-04-16  castaglia <castaglia>
46326
46327	* src/fsio.c: Silencing compiler warnings about statvfs64(2) on
46328	LFS-enabled Solaris.
46329
463302003-04-15  castaglia <castaglia>
46331
46332	* modules/mod_core.c: "HideFiles none" config_recs did not contain
46333	the proper CF_MERGEDOWN_MULTI flag, unlike their regex-bearing
46334	config_rec siblings.
46335
463362003-04-15  castaglia <castaglia>
46337
46338	* NEWS, src/main.c: Bug#2021 - Inetd mode and scoreboard format
46339	changes.  Now, if ServerType is inetd and the server encounters a
46340	scoreboard version mismatch on startup, the old scoreboard file will
46341	be unlinked and a new blank one written.
46342
463432003-04-15  castaglia <castaglia>
46344
46345	* NEWS, modules/mod_auth.c, modules/mod_core.c: Added RootRevoke
46346	configuration directive.
46347
463482003-04-15  castaglia <castaglia>
46349
46350	* src/modules.c: Minor adjustment, to make sure that PRE_CMD,
46351	POST_CMD et al are not inadvertently forgotten.
46352
463532003-04-14  castaglia <castaglia>
46354
46355	* src/modules.c: HOOK commands need to be properly inserted into the
46356	stash if they are to be later looked up.
46357
463582003-04-14  castaglia <castaglia>
46359
46360	* modules/mod_xfer.c: Michael found a bug where the REST position
46361	was not properly being cleared between uploads/downloads.
46362
463632003-04-09  castaglia <castaglia>
46364
46365	* src/inet.c: Typo.
46366
463672003-04-09  castaglia <castaglia>
46368
46369	* src/inet.c: IRIX doesn't need this ioctl(2) call, it seems.
46370
463712003-04-09  castaglia <castaglia>
46372
46373	* NEWS, modules/mod_core.c, modules/mod_site.c, modules/mod_xfer.c:
46374	Bug#2002 - Per-<Directory> PathAllowFilter/PathDenyFilter.
46375
463762003-04-08  castaglia <castaglia>
46377
46378	* contrib/mod_ifsession.c: Fixing bug with mod_ifsession's
46379	searching/handling of multiple <If*> contexts.
46380
463812003-04-08  castaglia <castaglia>
46382
46383	* configure: Updating configure.
46384
463852003-04-08  castaglia <castaglia>
46386
46387	* NEWS, config.h.in, configure.in, include/data.h, src/data.c:
46388	Bug#1813 - configure code: mistake in BSD sendfile semantic
46389	detection. The autoconf test for Linux simply needed to #include
46390	<sys/sendfile.h>.  Bug#2019 - proftpd support for Solaris 8/9 native sendfile.  A
46391	native Solaris sendfile() implementation became available via patch
46392	for Solaris 8, and is included by default in Solaris 9.  I don't
46393	know how stable or esoteric the implementation is, so this may have
46394	bugs lurking.
46395
463962003-04-08  castaglia <castaglia>
46397
46398	* modules/mod_ls.c: Fix segfault in NLST.
46399
464002003-04-07  castaglia <castaglia>
46401
46402	* src/main.c: Minor buglet: actually honor RLIM_INFINITY if
46403	USE_DEVEL is defined when setting the RLIMIT_CORE rlimit.
46404
464052003-04-07  castaglia <castaglia>
46406
46407	* NEWS, modules/mod_xfer.c: Bug#2018: Incorrect caching of
46408	TransferRate values.
46409
464102003-04-04  castaglia <castaglia>
46411
46412	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: Quell some compiler
46413	warnings when --enable-devel flags are used.
46414
464152003-04-04  castaglia <castaglia>
46416
46417	* configure: Updating.
46418
464192003-04-04  castaglia <castaglia>
46420
46421	* configure.in: Oops...forgot an important part. =P
46422
464232003-04-04  castaglia <castaglia>
46424
46425	* configure: Updating.
46426
464272003-04-04  castaglia <castaglia>
46428
46429	* NEWS, configure.in, src/proftpd.8.in, src/xferlog.5.in,
46430	utils/ftpcount.1.in, utils/ftpshut.8.in, utils/ftptop.1.in,
46431	utils/ftpwho.1.in: Bug#2016 - man pages should be autogenerated to
46432	reflect the --prefix used.  The man pages are now generated by the
46433	configure script.
46434
464352003-04-03  castaglia <castaglia>
46436
46437	* modules/mod_core.c: Scrub the scoreboard during a rehash (SIGHUP),
46438	too.
46439
464402003-04-03  castaglia <castaglia>
46441
46442	* configure: Updating configure script for curses/ncurses library
46443	detection changes.
46444
464452003-04-03  castaglia <castaglia>
46446
46447	* configure.in: Bug#2009: ncurses/ftptop linker problem on Solaris.
46448	The system in question has curses.h, libcurses, and libncurses.  The
46449	configure script used libncurses when linking ftptop (as ncurses is
46450	preferred if we can get it) without checking to see if ncurses.h was
46451	present.  Now, the library is checked only if the corresponding
46452	header is present.
46453
464542003-04-03  castaglia <castaglia>
46455
46456	* configure: Updating configure script.
46457
464582003-04-03  castaglia <castaglia>
46459
46460	* NEWS, config.h.in, configure.in, utils/ftptop.c: Added new
46461	--disable-{curses,ncurses} configure options.
46462
464632003-04-02  castaglia <castaglia>
46464
46465	* README.PAM: Updating Linux PAM configuration examples.
46466
464672003-04-02  castaglia <castaglia>
46468
46469	* NEWS, src/main.c: Bug#2011 - No "FTP session closed." msgs written
46470	to logfile.  The check for when to write the message ("!is_master")
46471	only checks if the current process is a child process, not an
46472	existing daemon process.  This works well for standalone daemons,
46473	but not inetd-run daemons, which have no "master" process.  The fix,
46474	then, is to log the message if either !is_master or if the
46475	servertype is inetd.
46476
464772003-04-01  castaglia <castaglia>
46478
46479	* include/modules.h, src/modules.c: Removing crufty auth_priority
46480	variable.
46481
464822003-04-01  castaglia <castaglia>
46483
46484	* contrib/mod_sql.c: Pedantic orthography correction.
46485
464862003-04-01  castaglia <castaglia>
46487
46488	* contrib/mod_sql.c: Add typecasting, to quell compiler warnings.
46489
464902003-04-01  castaglia <castaglia>
46491
46492	* modules/mod_core.c: This module needs to include signal.h, so that
46493	it picks up the prototype for kill(2).
46494
464952003-03-29  castaglia <castaglia>
46496
46497	* src/scoreboard.c: Be a little more careful about interrupted
46498	system calls.  In some cases, we wrap the system calls in while()
46499	loops, handling EINTRs.  In others, we simply block all signals that
46500	might interrupt the system call.  Also, lock the scoreboard when
46501	writing a new header for it (this was not being done).
46502
465032003-03-29  castaglia <castaglia>
46504
46505	* modules/mod_auth.c: Remove spurious logged complaints about the
46506	scoreboard, causing by logging on any return value from
46507	pr_open_scoreboard(), not just the error return values.  Oops.
46508
465092003-03-29  castaglia <castaglia>
46510
46511	* modules/mod_ls.c: Prevent a segfault in some situations by making
46512	sure the pointer exists before dereferencing it.
46513
465142003-03-29  castaglia <castaglia>
46515
46516	* src/fsio.c: Be a little more accurate when reporting the name of
46517	the FS whose callback is being invoked.
46518
465192003-03-28  castaglia <castaglia>
46520
46521	* NEWS, modules/mod_ls.c: Bug#1998 - Add ListOptions for setting
46522	limits on -R listings.
46523
465242003-03-28  castaglia <castaglia>
46525
46526	* src/main.c: Every command needs to have its logging class, unless
46527	otherwise explicitly set, default to CL_ALL.
46528
465292003-03-28  castaglia <castaglia>
46530
46531	* contrib/ftpasswd: Make explicit the fact that --group --member
46532	parameters are user names.
46533
465342003-03-26  castaglia <castaglia>
46535
46536	* src/mkhome.c: Quell compiler warnings on Solaris by explicitly
46537	casting mode_t to an unsigned int.
46538
465392003-03-25  cyberrobo <cyberrobo>
46540
46541	* modules/mod_ls.c: small typo
46542
465432003-03-25  castaglia <castaglia>
46544
46545	* NEWS, src/inet.c: Bug#1997 - UnixWare 7.1.3 & port 20.
46546
465472003-03-24  castaglia <castaglia>
46548
46549	* src/inet.c: Typo.
46550
465512003-03-24  castaglia <castaglia>
46552
46553	* src/inet.c: More setsockopt(2) fun: *BSD want IPPROTO_IP for
46554	setting IP_TOS options, Linux wants SOL_IP.
46555
465562003-03-24  castaglia <castaglia>
46557
46558	* modules/mod_auth.c, src/main.c, src/scoreboard.c,
46559	utils/ftpcount.c, utils/ftptop.c: Fixing the messages reported when
46560	opening the scoreboard (and making all such messages consistent).  Note: we'll need to document, probably in the release announcement,
46561	when the scoreboard format (include/scoreboard.h's
46562	PR_SCOREBOARD_VERSION) is increment.  For standalone-run daemons,
46563	there is no problem; for inetd-run daemons, though, the old
46564	scoreboard file will need to be deleted before the new daemon is
46565	started, else the new daemon will complain of the scoreboard being
46566	too old.  (I think this is what we are seeing now with people
46567	upgrading from 1.2.7 to 1.2.8; it's the first time in who knows how
46568	long that the scoreboard version number was increment.)
46569
465702003-03-24  castaglia <castaglia>
46571
46572	* NEWS, modules/mod_ls.c: Bug#1935 - mod_ls memory leak.
46573
465742003-03-24  castaglia <castaglia>
46575
46576	* NEWS, contrib/mod_tls.c: Fixing mod_tls' use of SSL_shutdown() to
46577	properly shutdown an SSL session when talking to some clients that
46578	don't want to shutdown properly.
46579
465802003-03-23  castaglia <castaglia>
46581
46582	* src/netio.c: A shutdown() is not a close(); shutdown should not be
46583	freeing the netio stream's pool.
46584
465852003-03-23  castaglia <castaglia>
46586
46587	* contrib/mod_sql.c: More error checking when a custom SQLUserInfo
46588	query is used.
46589
465902003-03-22  castaglia <castaglia>
46591
46592	* utils/utils.h: Cruft.
46593
465942003-03-22  castaglia <castaglia>
46595
46596	* configure: Updating.
46597
465982003-03-22  castaglia <castaglia>
46599
46600	* configure.in: For now, require that --enable-ipv6 be used at
46601	configure time.  Once IPv6 support has had all its bugs worked out,
46602	then we can make IPv6 support the default.
46603
466042003-03-22  castaglia <castaglia>
46605
46606	* configure: Updating.
46607
466082003-03-22  castaglia <castaglia>
46609
46610	* config.h.in, configure.in, modules/mod_auth_unix.c: Change
46611	AUTO_SHADOW to be USE_AUTO_SHADOW, to be more consistent.  Add a --disable-ipv6 configure option, and a corresponding USE_IPV6
46612	define.  Add check for getnameinfo(3) function.
46613
466142003-03-22  castaglia <castaglia>
46615
46616	* configure: Updating.
46617
466182003-03-22  castaglia <castaglia>
46619
46620	* aclocal.m4, config.h.in, configure.in: Check for a defined struct
46621	sockaddr_storage.  I don't know if this is really necessary, or if
46622	we can assume that all platforms will define this struct.  I think
46623	it better to have the check, just in case.
46624
466252003-03-22  castaglia <castaglia>
46626
46627	* contrib/mod_sql.c: Check the number of fields in the returned set
46628	of a SQLUserInfo query.  Hopefully this will quell some
46629	mod_sql/shell-related segfaults.
46630
466312003-03-21  castaglia <castaglia>
46632
46633	* NEWS: Should mention mod_radius changes here.
46634
466352003-03-21  castaglia <castaglia>
46636
46637	* contrib/mod_radius.c: Changing way mod_radius looks up custom
46638	attributes in response packets; now, rather than using RADIUS
46639	attribute type IDs, mod_radius will use VSA IDs.  The new
46640	RadiusVendor directive is used to configure the vendor for which
46641	mod_radius will search.  The new RadiusGroupInfo complements the
46642	existing RadiusUserInfo directive; as expected, RadiusGroupInfo is
46643	used to configure RADIUS user group membership information.
46644
466452003-03-21  castaglia <castaglia>
46646
46647	* src/scoreboard.c: Report the scoreboard path anyway.
46648
466492003-03-21  castaglia <castaglia>
46650
46651	* src/scoreboard.c: Add debug logging of the path used if opening
46652	the scoreboard file fails.
46653
466542003-03-21  castaglia <castaglia>
46655
46656	* src/fsio.c, src/main.c: Making the checking of the configuration
46657	file path actually work.  Getting rid of #PR_HACK_DISABLE_MEM_VHOST_FREE, and commenting out
46658	the freeing code completely.  Copy-on-write semantics means that
46659	that freeing of memory, which would not be used or changed anyway,
46660	probably adds load unnecessarily.  I doubt anyone will miss that
46661	code.
46662
466632003-03-20  castaglia <castaglia>
46664
46665	* contrib/mod_sql.c, contrib/mod_sql.h, contrib/mod_sql_mysql.c,
46666	contrib/mod_sql_postgres.c: Added the ability to construct custom
46667	user information queries with mod_sql.  The mod_sql docs will be
46668	updated accordingly.  Various style cleanups included in this patch.
46669
466702003-03-20  castaglia <castaglia>
46671
46672	* NEWS: Typo.
46673
466742003-03-20  castaglia <castaglia>
46675
46676	* src/fsio.c: Minor correction of bug introduced by last night's
46677	pr_fs_valid_path() addition (forgot to handle case where no modules
46678	registered an FS).
46679
466802003-03-20  castaglia <castaglia>
46681
46682	* NEWS, utils/ftptop.c: Bug#1995 - ftptop: no curses or ncurses
46683	library on this system.
46684
466852003-03-20  castaglia <castaglia>
46686
46687	* contrib/mod_sql_mysql.c: One minor cast needed to compile/link
46688	without warnings against MySQL-4.0 client libraries.
46689
466902003-03-20  castaglia <castaglia>
46691
46692	* include/fsio.h, modules/mod_core.c, src/fsio.c, src/main.c:
46693	Modifying the checking of configuration paths slightly.  Rather than
46694	now only accepting absolute paths (criterion: string begins with
46695	'/'), paths that start with any of the paths registered with the
46696	FSIO layer will be accepted.  This allows FSIO modules to register
46697	handlers for paths that may not necessarily be local filesystem
46698	paths (e.g. "sql://" paths).  This change affects the paths accepted
46699	by the Include configuration directive as well.
46700
467012003-03-19  castaglia <castaglia>
46702
46703	* configure: Updating.
46704
467052003-03-19  castaglia <castaglia>
46706
46707	* aclocal.m4, config.h.in, configure.in: More IPv6-related autoconf
46708	detection.
46709
467102003-03-19  castaglia <castaglia>
46711
46712	* NEWS, contrib/mod_tls.c: Patching mod_tls to use RSA blinding in
46713	installations of OpenSSL older than 0.9.7b, in order to prevent
46714	  certain RSA-based timing attacks:
46715	http://www.openssl.org/news/secadv_20030317.txt
46716
467172003-03-19  castaglia <castaglia>
46718
46719	* modules/mod_auth.c: Another off-by-one bug, this time afflicting
46720	MaxClientsPerUser.
46721
467222003-03-18  castaglia <castaglia>
46723
46724	* src/inet.c: Portability fun with socket options. =P
46725
467262003-03-18  castaglia <castaglia>
46727
46728	* configure: Updating.
46729
467302003-03-18  castaglia <castaglia>
46731
46732	* config.h.in, configure.in: Start autoconf checks for some
46733	functions we'll need for IPv6 support.
46734
467352003-03-18  castaglia <castaglia>
46736
46737	* NEWS, contrib/mod_rewrite.c: Bug#1987 - mod_rewrite seems not to
46738	handle more than one backreference (only $1).
46739
467402003-03-18  castaglia <castaglia>
46741
46742	* NEWS, contrib/mod_rewrite.c: Bug#1986 - mod_rewrite backreferences
46743	not zero-based (use $1 not $0?).
46744
467452003-03-17  castaglia <castaglia>
46746
46747	* src/data.c: Trying to make sure that an interrupted sendfile(2) on
46748	Linux has its signals handled properly.
46749
467502003-03-17  castaglia <castaglia>
46751
46752	* NEWS, contrib/mod_sql.c: Bug#1989 - SQLLog '*' doesn't match any
46753	commands.
46754
467552003-03-17  castaglia <castaglia>
46756
46757	* modules/mod_xfer.c: Add handling of signals if sendfile() is
46758	interrupted.
46759
467602003-03-15  castaglia <castaglia>
46761
46762	* NEWS, contrib/mod_sql_mysql.c: Bug#1730 - mod_mysql logging of
46763	long transfers fails.
46764
467652003-03-15  castaglia <castaglia>
46766
46767	* NEWS, contrib/mod_rewrite.c: Bug#1985 - mod_rewrite fails to build
46768	on platforms without flock().
46769
467702003-03-14  castaglia <castaglia>
46771
46772	* contrib/mod_sql.c, contrib/mod_sql.h, contrib/mod_sql_mysql.c,
46773	contrib/mod_sql_postgres.c: Adding $Id$ tags to the mod_sql files.
46774
467752003-03-14  castaglia <castaglia>
46776
46777	* src/dirtree.c: Be a little more thorough in checking how to handle
46778	the given path in get_dir_ctxt().
46779
467802003-03-14  castaglia <castaglia>
46781
46782	* src/dirtree.c: Correct get_dir_ctxt() when operating within a
46783	chroot.
46784
467852003-03-14  jwm <jwm>
46786
46787	* README.LDAP: forgot to update this for 2.8.11
46788
467892003-03-13  castaglia <castaglia>
46790
46791	* NEWS, include/dirtree.h, src/dirtree.c, src/main.c: Bug#1983 -
46792	filenames beginning with # fail to upload / download.
46793
467942003-03-13  castaglia <castaglia>
46795
46796	* include/fsio.h, src/fsio.c: Changing a few of the FSIO functions
46797	(close, read, write, lseek) so that they operate on file handles,
46798	rather than on filesystem objects.  This is done primarily so that
46799	they can get access to the newly-added fh_data member of a file
46800	handle, used for storing file-specific data.  Also added two new FSIO functions, for fstat and ftruncate.
46801
468022003-03-12  castaglia <castaglia>
46803
46804	* NEWS, contrib/mod_sql_mysql.c: Bug#1982: fixing how mod_sql_mysql
46805	reads MySQL .cnf files.  Looks like there's a bug in MySQL's
46806	(undocumented) load_defaults() functions.  Hrmf.
46807
468082003-03-12  castaglia <castaglia>
46809
46810	* modules/mod_auth.c: Change the timing of when C_USER is removed
46811	from the config tree; this allows modules that want to lookup the
46812	USER name sent by the client (e.g.  for substituting %U) a chance to
46813	do so.
46814
468152003-03-12  castaglia <castaglia>
46816
46817	* Makefile.in: Pass LDFLAGS on to ftpcount and ftpshut, too.
46818
468192003-03-12  castaglia <castaglia>
46820
46821	* contrib/mod_ifsession.c, include/dirtree.h, modules/mod_core.c,
46822	src/dirtree.c, src/sets.c: Updating code that checks for empty
46823	configuration contexts, and removes them.  (Empty contexts within
46824	another context were causing segfaults).  Also, add code to report,
46825	upon ending of a configuration context, if the ended context is
46826	being ignored (at debug level 3).
46827
468282003-03-09  castaglia <castaglia>
46829
46830	* NEWS, include/scoreboard.h, modules/mod_auth.c,
46831	modules/mod_core.c, src/scoreboard.c, utils/utils.h: Bug#1915 -
46832	Unsafe pointer usage in scoreboard file format.
46833
468342003-03-09  castaglia <castaglia>
46835
46836	* NEWS, contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c:
46837	Bug#1849 - Compile can have trouble finding mysql.h.
46838
468392003-03-09  castaglia <castaglia>
46840
46841	* configure: Updating the configure script.
46842
468432003-03-09  castaglia <castaglia>
46844
46845	* NEWS, configure.in, include/conf.h, include/dirtree.h,
46846	include/inet.h, include/options.h, modules/mod_core.c,
46847	modules/mod_xfer.c, src/bindings.c, src/data.c, src/dirtree.c,
46848	src/inet.c, src/main.c: Bug#1921 - Socket-level performance tweaks.
46849
468502003-03-09  castaglia <castaglia>
46851
46852	* src/inet.c: Portability fix for letting active/inetd function
46853	properly on Mac OSX (Darwin).
46854
468552003-03-09  castaglia <castaglia>
46856
46857	* src/main.c, utils/ftpcount.c, utils/ftpwho.c: Minor change: list
46858	the short form of options first, then the long form.
46859
468602003-03-09  castaglia <castaglia>
46861
46862	* NEWS, include/options.h, modules/mod_core.c: Bug#1969 - Add
46863	scoreboard-scrubbing timer.
46864
468652003-03-09  castaglia <castaglia>
46866
46867	* src/main.c: Oops.  Had these function calls, for running through
46868	the registered daemon startup callbacks, in the inetd startup code
46869	-- not too useful there.  Now in the standalone startup code, where
46870	they belong.
46871
468722003-03-09  castaglia <castaglia>
46873
46874	* modules/mod_core.c: Actually, let's hold off on the idea of
46875	barring use of 0.0.0.0, for now.  We can revisit it later.
46876
468772003-03-09  castaglia <castaglia>
46878
46879	* include/modules.h, src/main.c, src/modules.c: Adding yet another
46880	module callback registration set of functions.  This set is for
46881	allowing modules to register callbacks that are invoked just before
46882	the daemon starts up, after it has (possibly) daemonized.  One would
46883	want to have something done at this point when you want to make sure
46884	that the daemon process is affected, e.g. adding a timer.  Calling
46885	alarm(3) in a module_init function won't work for standalone
46886	daemons, for part of the daemonizing process involves forking()
46887	twice (to dissociate the process completely from the terminal), and
46888	all pending alarms are cleared for a child process.
46889
468902003-03-09  castaglia <castaglia>
46891
46892	* NEWS: Making note of new handling/checking for IP address/port
46893	collisions.
46894
468952003-03-09  castaglia <castaglia>
46896
46897	* modules/mod_core.c: This patch prevents two specific vhost
46898	misconfigurations: 1) trying to use "0.0.0.0", which no client could
46899	ever reach, and 2) IP address/port collisions.  The second is the
46900	more likely of the misconfigurations, particularly when DNS names,
46901	rather than IP addresses, are used in <VirtualHost> lines (as when
46902	new proftpd uses think to configure name-based vhosts).
46903
469042003-03-09  castaglia <castaglia>
46905
46906	* contrib/mod_tls.c, include/feat.h, modules/mod_core.c, src/feat.c:
46907	Pedantic namespace change: pr_{add,get}_feat -> pr_feat_{add,get}.
46908	This provides consistency in the pr_* function namespace.
46909
469102003-03-09  castaglia <castaglia>
46911
46912	* README.ports: Updating.
46913
469142003-03-09  castaglia <castaglia>
46915
46916	* include/modules.h: Cruft.
46917
469182003-03-09  castaglia <castaglia>
46919
46920	* include/proftpd.h: Cruft.
46921
469222003-03-07  castaglia <castaglia>
46923
46924	* NEWS, modules/mod_auth.c: Bug#1932 - Make Max* checks a PASS
46925	POST_CMD handler.
46926
469272003-03-06  castaglia <castaglia>
46928
46929	* contrib/mod_sql_postgres.c: Postgres added a string-escaping
46930	function at some point, so just as mod_sql_mysql does, now
46931	mod_sql_postgres will make use of its library-provided function.  Note that a manual #define had to be used, to ensure backward
46932	compatibility with Postgres installations that don't have the escape
46933	function.  Ideally a configure script could check for the function;
46934	this is yet another case for having proftpd's build system support
46935	per-module build directories and scripts.
46936
469372003-03-06  jwm <jwm>
46938
46939	* contrib/mod_ldap.c: upgrade to 2.8.11
46940
469412003-03-06  castaglia <castaglia>
46942
46943	* NEWS, contrib/mod_ifsession.c: Bug#1933 - Add mod_ifsession
46944	contrib module.
46945
469462003-03-06  castaglia <castaglia>
46947
46948	* NEWS, contrib/mod_radius.c: Bug#1980 - Login with incorrect
46949	password POSSIBLE when using mod_radius.
46950
469512003-03-05  castaglia <castaglia>
46952
46953	* NEWS, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c: Bug#1869 -
46954	Add option "--server/-s" to ftpwho&ftpcount&ftptop.
46955
469562003-03-05  castaglia <castaglia>
46957
46958	* NEWS, contrib/mod_tls.c: Bug#1979 - Add TLSTimeoutHandshake
46959	directive.
46960
469612003-03-05  castaglia <castaglia>
46962
46963	* NEWS, include/scoreboard.h, src/main.c, src/scoreboard.c,
46964	utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Bug#1794 - Scoreboard
46965	format changes.  This commit splits the cmd (i.e. the FTP command
46966	used) from the command arguments in the scoreboard.
46967
469682003-03-05  castaglia <castaglia>
46969
46970	* modules/mod_auth.c: Fixing shadowing variable name.
46971
469722003-03-05  castaglia <castaglia>
46973
46974	* include/privs.h: Make the PRIVS_ROOT macro change the egid to 0 as
46975	well as the euid, to be consistent.
46976
469772003-03-04  castaglia <castaglia>
46978
46979	* modules/mod_xfer.c: Re-add the missing setsockopt(TCP_CORK) to
46980	uncork the socket after sending data.
46981
469822003-03-04  castaglia <castaglia>
46983
46984	* modules/mod_xfer.c: Still working on this.
46985
469862003-03-04  castaglia <castaglia>
46987
46988	* modules/mod_xfer.c: Fixing use of TCP_CORK.
46989
469902003-03-04  castaglia <castaglia>
46991
46992	* NEWS, modules/mod_log.c: Bug#1972 - %T not correctly shows time at
46993	performance of a command "rename".
46994
469952003-03-04  castaglia <castaglia>
46996
46997	* NEWS, utils/ftpshut.c: Added -D option to ftpshut, to be used to
46998	delete the /etc/shutmsg file (rather than having to manually remove
46999	it).
47000
470012003-03-04  castaglia <castaglia>
47002
47003	* modules/mod_xfer.c, src/inet.c: Add use of TCP_CORK setsockopt(2)
47004	option on platforms that define it (e.g.  Linux).
47005
470062003-03-04  castaglia <castaglia>
47007
47008	* contrib/mod_sql.c, include/modules.h, src/modules.c: Formalizing
47009	the use of "hooks", which are custom cmdtable entries that contrib
47010	modules can add.  mod_sql started the trend with its "sql_lookup"
47011	and "sql_change" hooks.  This patch makes sure that any such hooks
47012	will not be accidentally used; it was possible, if a custom hook was
47013	entered that has an all uppercase name, for a client to send an FTP
47014	command that matched that name, leading to a possible bad
47015	interaction.  This patch avoids the above scenario by defining a new symbol tag,
47016	PR_SYM_HOOK, to be used for "hook" cmdtable entries.  I'll add
47017	documentation about this in the Developer's Guide as appropriate.
47018
470192003-03-04  castaglia <castaglia>
47020
47021	* NEWS, modules/mod_auth.c: Added AnonRejectPasswords.
47022
470232003-03-04  castaglia <castaglia>
47024
47025	* NEWS, include/scoreboard.h, modules/mod_auth.c,
47026	modules/mod_auth_unix.c, src/main.c, src/scoreboard.c,
47027	utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c,
47028	utils/scoreboard.c, utils/utils.h: Bug#1967: Add display of uptime
47029	to ftpwho, ftptop.
47030
470312003-03-04  castaglia <castaglia>
47032
47033	* NEWS, contrib/mod_sql_mysql.c, include/version.h,
47034	modules/mod_core.c: Bugs 1828 and 1960.
47035
470362003-03-04  castaglia <castaglia>
47037
47038	* ChangeLog: Updating.
47039
470402003-03-04  castaglia <castaglia>
47041
47042	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Preparing
47043	for release of 1.2.8.
47044
470452003-03-04  castaglia <castaglia>
47046
47047	* README.PAM: Updating PAM information for FreeBSD.
47048
470492003-03-03  castaglia <castaglia>
47050
47051	* src/inet.c: Fixed #if check.
47052
470532003-03-03  castaglia <castaglia>
47054
47055	* src/main.c: Changing code back to its original setting; when doing
47056	the modifications for mod_unixpw -> mod_auth_unix, this code was
47057	incorrectly modified.
47058
470592003-03-03  castaglia <castaglia>
47060
47061	* NEWS, modules/mod_auth.c: Bug#1976 - Login hangs, spawned process
47062	runs in endless loop in mod_auth.
47063
470642003-03-03  castaglia <castaglia>
47065
47066	* NEWS, src/inet.c: Adding FreeBSD-5.0 to the #defines for the
47067	socket/privs fun.
47068
470692003-03-01  castaglia <castaglia>
47070
47071	* contrib/mod_tls.c: Playing with logged messages...
47072
470732003-03-01  castaglia <castaglia>
47074
47075	* contrib/mod_tls.c: Bad grammar.
47076
470772003-03-01  castaglia <castaglia>
47078
47079	* contrib/mod_tls.c: Pedantic changes of "SSL" to "TLS" adding
47080	logging for when mod_tls starts a TLS handshake on the data
47081	connection
47082
470832003-02-26  castaglia <castaglia>
47084
47085	* src/inet.c: Modify the use of ioctl() such that it will be used on
47086	platforms known to use STREAMS (i.e. Solaris and IRIX, at present).
47087
470882003-02-26  castaglia <castaglia>
47089
47090	* include/dirtree.h, src/dirtree.c: Added pr_class_and_expression(),
47091	for symmetry (and yes, there are cases where having a list of class
47092	names evaluated in a Boolean AND fashion can be useful).
47093
470942003-02-25  castaglia <castaglia>
47095
47096	* configure: Updating configure script.
47097
470982003-02-25  castaglia <castaglia>
47099
47100	* NEWS, config.h.in, configure.in, include/conf.h, lib/pr-syslog.c,
47101	src/inet.c, src/netio.c: Bug#1964 - When uploading to an NFS mounted
47102	file system in passive mode read() get EAGAIN and closes connection.
47103
471042003-02-25  castaglia <castaglia>
47105
47106	* NEWS, modules/mod_xfer.c: Bug#1937 - transfer hangs when using
47107	transferrate limits on a resumed download.
47108
471092003-02-24  castaglia <castaglia>
47110
47111	* modules/mod_xfer.c: Cleanup of missed code for Bug#1970.
47112
471132003-02-24  castaglia <castaglia>
47114
47115	* NEWS, modules/mod_xfer.c, utils/ftptop.c, utils/ftpwho.c: Bug#1970
47116	- Transfer time wraps around and causes problems with transfer speed
47117	calculation.
47118
471192003-02-24  castaglia <castaglia>
47120
47121	* modules/mod_ls.c: Removing unused cruft.
47122
471232003-02-24  castaglia <castaglia>
47124
47125	* NEWS, modules/mod_ls.c: Bug#1953 - STAT -R does not work.
47126
471272003-02-24  castaglia <castaglia>
47128
47129	* NEWS, src/inet.c: Bug#1966 - SCO OpenServer 5.0.5 and inetd (not
47130	passive mode).
47131
471322003-02-24  castaglia <castaglia>
47133
47134	* NEWS, modules/mod_log.c, src/dirtree.c: Bug#1908 - ExtendedLog to
47135	work properly in <Anonymous> context.
47136
471372003-02-20  castaglia <castaglia>
47138
47139	* NEWS, utils/ftpwho.c: Bug#1958 - ftpwho -o oneline has newlines
47140	when client is idle.
47141
471422003-02-19  castaglia <castaglia>
47143
47144	* modules/mod_xfer.c: Minor variable name change; seems to collide
47145	with variable used in Tru64 5.1b's headers.
47146
471472003-02-18  castaglia <castaglia>
47148
47149	* configure: Updating configure script.
47150
471512003-02-18  castaglia <castaglia>
47152
47153	* NEWS, config.h.in, configure.in, modules/mod_auth_unix.c,
47154	modules/mod_ls.c: Bug#1941 - SCO OpenServer 5.0.5
47155
471562003-02-18  castaglia <castaglia>
47157
47158	* sample-configurations/basic.conf: Adding some comments to the
47159	default config file.  Hopefully this will stem some of the more
47160	common questions on the users mailing list.
47161
471622003-02-18  jwm <jwm>
47163
47164	* configure: update
47165
471662003-02-18  jwm <jwm>
47167
47168	* configure.in: typo
47169
471702003-02-18  jwm <jwm>
47171
47172	* configure: update
47173
471742003-02-18  jwm <jwm>
47175
47176	* configure.in: expend as little effort as possible if mod_cap is
47177	explicitly disabled
47178
471792003-02-17  castaglia <castaglia>
47180
47181	* configure: Updating configure script.
47182
471832003-02-17  castaglia <castaglia>
47184
47185	* configure.in: Add to output at end of configure --help
47186	instructions describing LIBS environment variable.
47187
471882003-02-17  castaglia <castaglia>
47189
47190	* NEWS, modules/mod_xfer.c: Bug#1956 - Upload transfer rate broken.
47191
471922003-02-14  castaglia <castaglia>
47193
47194	* NEWS, contrib/mod_tls.c: Added FTPS FEAT responses, as per the
47195	Draft.
47196
471972003-02-13  castaglia <castaglia>
47198
47199	* modules/mod_xfer.c: Helps if I get the variable names right...
47200
472012003-02-12  castaglia <castaglia>
47202
47203	* NEWS, modules/mod_xfer.c: Bug#1948 - mod_xfer relinquishes privs
47204	before chmod takes place.
47205
472062003-02-12  castaglia <castaglia>
47207
47208	* NEWS, include/log.h, modules/mod_xfer.c, src/data.c, src/log.c:
47209	Bug#1916 - Transfers hang with strange transfertime in logfile.
47210
472112003-02-12  castaglia <castaglia>
47212
47213	* include/ident.h, include/timers.h, src/netio.c, src/pool.c,
47214	src/sets.c: Adding more $Id$ keywords.
47215
472162003-02-12  castaglia <castaglia>
47217
47218	* src/feat.c: Added $Id$ keyword.
47219
472202003-02-10  castaglia <castaglia>
47221
47222	* contrib/mod_sql.c, modules/mod_auth.c: Add logging of the problem
47223	if an admin configured a valid shell column in a SQL table, but the
47224	value of the shell in the table was NULL.
47225
472262003-02-10  castaglia <castaglia>
47227
47228	* NEWS, src/dirtree.c: Bug#1952 - Umask Bug: Server Not Honoring
47229	VirtualHost Umask.
47230
472312003-02-10  castaglia <castaglia>
47232
47233	* configure: Updating configure script.
47234
472352003-02-10  castaglia <castaglia>
47236
47237	* NEWS, aclocal.m4, configure.in, modules/mod_xfer.c: Bug#1949 -
47238	Compiler warns of 'long double' usage on OSX.
47239
472402003-02-07  castaglia <castaglia>
47241
47242	* README: Add a line to the REAME pointing out the doc/ directory.
47243	Not that anyone will notice.  *sigh*
47244
472452003-02-06  castaglia <castaglia>
47246
47247	* configure: Updated configure script.
47248
472492003-02-06  castaglia <castaglia>
47250
47251	* NEWS, aclocal.m4, config.h.in, configure.in,
47252	modules/mod_auth_unix.c: Bug#1950 - OSX setgrent(3) returns int,
47253	causing compiler warning.
47254
472552003-02-05  castaglia <castaglia>
47256
47257	* include/privs.h: Oops.  I said DEBUG9, but had DEBUG0.  Should've
47258	been DEBUG9 in code.  Fixed.
47259
472602003-02-05  castaglia <castaglia>
47261
47262	* include/privs.h: Add debug output, level 9, for PRIVS macros when
47263	they are disabled (will help cut down on confusion when proftpd is
47264	built on Linux, and admins forget that mod_cap is now enabled by
47265	default, and that mod_cap will disable id switching).
47266
472672003-02-01  castaglia <castaglia>
47268
47269	* NEWS, include/glibc-glob.h: Bug#1943 - Unable to install on
47270	FreeBSD 5.0.
47271
472722003-01-31  castaglia <castaglia>
47273
47274	* configure: Updating configure script.
47275
472762003-01-31  castaglia <castaglia>
47277
47278	* configure.in: Only check for the linux/capability.h header if
47279	mod_cap has not already been explicitly disabled in the configure
47280	options.
47281
472822003-01-30  jwm <jwm>
47283
47284	* NEWS, configure, configure.in: Bug 1863 - Unable to build under
47285	UnixWare 7
47286
472872003-01-30  castaglia <castaglia>
47288
47289	* modules/mod_xfer.c: Changed TransferRate handler to use strtod()
47290	rather than strtoul() when parsing the kbps rate parameter.
47291	strtold() would be better...but FreeBSD doesn't seem to have
47292	strtold().  *sigh*
47293
472942003-01-30  castaglia <castaglia>
47295
47296	* include/version.h: Updating version.h for CVS status.
47297
472982003-01-30  jwm <jwm>
47299
47300	* Makefile.in: build deps before we get rid of the Makefiles we need
47301	to generate them :-)
47302
473032003-01-29  flyhmstr <flyhmstr>
47304
47305	* doc/Configuration.html: ML: updated build of configuration.html
47306
473072003-01-29  castaglia <castaglia>
47308
47309	* NEWS, contrib/dist/rpm/proftpd.spec, include/version.h: Marking
47310	Bug#1911 fixed (I think the fix was committed when I was working on
47311	Bug#1931).  Also updating the version and spec files, preparing for
47312	rc2 release.
47313
473142003-01-28  castaglia <castaglia>
47315
47316	* NEWS, modules/mod_core.c: Bug#1939 - RLimitMemory seems broken.
47317
473182003-01-25  castaglia <castaglia>
47319
47320	* src/dirtree.c: Michael noticed that the parse_config_file()
47321	function was failing to close the opened configuration file handle,
47322	leaking descriptors.  This started happening in 1.2.8rc1, with the
47323	introduction of the FSIO patch.  Fixed.  Good catch, Michael!
47324
473252003-01-25  castaglia <castaglia>
47326
47327	* NEWS, src/support.c: Bug#1938 - upload to root directory fails.
47328
473292003-01-24  castaglia <castaglia>
47330
47331	* contrib/mod_radius.c: Fixed misordered parameters to
47332	pr_rehash_register_handler() call.
47333
473342003-01-23  castaglia <castaglia>
47335
47336	* src/modules.c: Actually check for a negative return value from the
47337	module initialization callback, if one is provided, and report an
47338	error if the initialization failed.  Previously, the code would only
47339	check for a -1 return value, and would silently load the module to
47340	the internal lists if the returned value was not -1; just as
47341	silently would -1 returns be handled.
47342
473432003-01-23  castaglia <castaglia>
47344
47345	* include/conf.h: Wrapping _GNU_SOURCE definition in an #ifndef.
47346	It's possible that, depending on the CFLAGS options given, some
47347	other included file may already define it, in which case the
47348	compiler will throw an "already defined" warning.
47349
473502003-01-22  castaglia <castaglia>
47351
47352	* modules/mod_ls.c: As discovered when looking into Bug#1931, some
47353	of the response codes used when handling NLST are not legal viz.
47354	RFC959.  This patch changes the 550s to 450s.
47355
473562003-01-21  castaglia <castaglia>
47357
47358	* src/inet.c: Fixing inet_getname() so that, when doing reverse DNS
47359	checks, the two related calls, gethostbyaddr() and gethostbyname(),
47360	don't overwrite the same data.  This was happening under Tru64 Unix,
47361	and could have happened under Linux.
47362
473632003-01-20  jwm <jwm>
47364
47365	* NEWS, modules/mod_auth.c: Bug 1734 - Cygwin - Unable to set uid
47366
473672003-01-18  castaglia <castaglia>
47368
47369	* Make.rules.in, NEWS, include/conf.h, include/mkhome.h,
47370	modules/mod_auth.c, src/mkhome.c: Bug#1241 - Additional
47371	functionality: HomedirOnDemand.  Added as CreateHome directive.
47372
473732003-01-18  castaglia <castaglia>
47374
47375	* configure: Updating configure, again. =P
47376
473772003-01-18  castaglia <castaglia>
47378
47379	* configure.in: Argh.  John had it right the first time.  My
47380	mistake. =P
47381
473822003-01-18  castaglia <castaglia>
47383
47384	* configure: Updating configure script.
47385
473862003-01-18  castaglia <castaglia>
47387
47388	* configure.in: Changing check of UnixWare's libgen a little, to add
47389	-lgen to LIBS if libgen is present.
47390
473912003-01-18  castaglia <castaglia>
47392
47393	* config.h.in: Adding HAVE_LIBGEN to config.h, corresponding to
47394	added AC_CHECK_LIB(gen) in configure.in.
47395
473962003-01-18  castaglia <castaglia>
47397
47398	* modules/mod_auth_file.c, src/auth.c: Adding proper UID/GID->name
47399	translation to mod_auth_file.c
47400
474012003-01-18  castaglia <castaglia>
47402
47403	* NEWS, modules/mod_auth_file.c: Bug#1918 - AuthUserFile not works
47404	normally.
47405
474062003-01-18  castaglia <castaglia>
47407
47408	* src/fsio.c: Some of the FSIO routines are manually returning
47409	ENOENT, rather than letting errno propagate up properly.
47410
474112003-01-17  castaglia <castaglia>
47412
47413	* modules/mod_auth_file.c, modules/mod_core.c, src/modules.c: Fixed
47414	broken pr_stash_remove_symbol() (AuthOrder still wasn't working
47415	quite right).  Removed devel cruft from mod_auth_file, and added
47416	some more debugging output to it.
47417
474182003-01-17  castaglia <castaglia>
47419
47420	* NEWS, contrib/mod_ratio.c, contrib/mod_sql.c, include/dirtree.h,
47421	include/modules.h, modules/mod_core.c, src/auth.c, src/main.c,
47422	src/modules.c: Bug#1926 - AuthOrder doesn't work.  Also did a lot of style cleanup along the way.
47423
474242003-01-17  castaglia <castaglia>
47425
47426	* NEWS, utils/ftptop.c: Adding displaying of transfer rates to
47427	ftptop.
47428
474292003-01-16  castaglia <castaglia>
47430
47431	* Make.rules.in: The patch for Bug#1904 added building of
47432	utils/misc.o for ftpwho rather than ftptop.  ftptop may need it, but
47433	it doesn't link against -lsupp, whereas ftpwho does.
47434
474352003-01-16  castaglia <castaglia>
47436
47437	* src/regexp.c: Missing Id keyword.
47438
474392003-01-16  castaglia <castaglia>
47440
47441	* NEWS, contrib/mod_sql_mysql.c, include/support.h,
47442	modules/mod_core.c, modules/mod_log.c, src/dirtree.c,
47443	src/support.c, utils/misc.c: Bug#1922 - Server allows RNTO an
47444	existing file even with AllowOverwrite turned off Some logging bugs in mod_log also corrected.
47445
474462003-01-14  castaglia <castaglia>
47447
47448	* include/inet.h, src/data.c, src/inet.c, src/main.c: Adding
47449	checking for, and logging of, errors when calling setsockopt(2).
47450
474512003-01-14  castaglia <castaglia>
47452
47453	* NEWS, modules/mod_core.c: Bug#1923 - %N magic cookie reports
47454	incorrectly.
47455
474562003-01-14  castaglia <castaglia>
47457
47458	* NEWS, modules/mod_log.c: Fixing problem with using %f for DELE
47459	logging, as mentioned on -user.
47460
474612003-01-13  castaglia <castaglia>
47462
47463	* NEWS: Forgot to mention tcp{Receive,Send}Window fix in NEWS.
47464
474652003-01-13  castaglia <castaglia>
47466
47467	* src/data.c: Fixing the timing of setting of socket options.  The
47468	tcpReceiveWindow and tcpSendWindow configuration directives were not
47469	taking effect properly because setsockopt(2) was being called, for
47470	the data connection, _after_ the TCP handshake was done.  As it is
47471	during the handshake when such things as window sizes are
47472	negotiated, this timing rendered any configuration settings useless.
47473
474742003-01-13  castaglia <castaglia>
47475
47476	* src/main.c: As John pointed out, it's better to have run-time
47477	generated files, much like coredumps, to be under RUN_DIR
47478	(/var/run/proftpd), or CORE_DIR (although CORE_DIR is #defined to be
47479	RUN_DIR).  So now, the profiling gmon.out and bb.out files will be
47480	found there, rather than /tmp.  Thanks, John! =)
47481
474822003-01-13  castaglia <castaglia>
47483
47484	* Make.rules.in, modules/mod_core.c, src/main.c: Added
47485	DEVEL_NO_DAEMON define, and changed other DEBUG_* defines to match.
47486	The purpose for these is to be able to build a proftpd daemon that
47487	can be profiled.  Now, one can have a configure statement such as:   CFLAGS="-DDEVEL_NO_DAEMON -DDEVEL_NO_FORK -g -pg -a" \     LIBS="-pg" ./configure ...  The resulting daemon will only handle one session.  The bb.out and
47488	gmon.out profiling files will be written to /tmp.
47489
474902003-01-13  castaglia <castaglia>
47491
47492	* configure: Updating configure script.
47493
474942003-01-13  castaglia <castaglia>
47495
47496	* configure.in: Removing -Wfloat-equal, for now.  This warning flag
47497	was introduced with gcc-3.0, and so we'll need to check the gcc
47498	version being used (if indeed it is gcc being used) before using
47499	this flag.
47500
475012003-01-13  castaglia <castaglia>
47502
47503	* modules/mod_xfer.c: Floating point numbers are best compared using
47504	greater/less than, not equals.  Thanks to Steve Grubb for pointing
47505	this out.
47506
475072003-01-13  jwm <jwm>
47508
47509	* NEWS: Add -Wundef and -Wfloat-equal to CFLAGS (Suggested by Steve
47510	Grubb <linux_4ever@yahoo.com>)
47511
475122003-01-13  jwm <jwm>
47513
47514	* configure: update with autoconf 2.57; I'm curious if this changes
47515	the LFS problems I'm currently working on
47516
475172003-01-13  castaglia <castaglia>
47518
47519	* configure.in: Add -Wfloat-equal and -Wundef to the warning flags
47520	enabled by using the --enable-devel configure option.
47521
475222003-01-13  jwm <jwm>
47523
47524	* configure: update
47525
475262003-01-13  castaglia <castaglia>
47527
47528	* NEWS, modules/mod_core.c, src/main.c: Bug#1910 - ProFTPD hangs on
47529	SIGHUP.
47530
475312003-01-11  castaglia <castaglia>
47532
47533	* NEWS, modules/mod_core.c: Bug#1919 - <Directory> section already
47534	configured for $dir needs clarification.
47535
475362003-01-09  jwm <jwm>
47537
47538	* configure: update
47539
475402003-01-09  jwm <jwm>
47541
47542	* modules/mod_cap.c: EnableCapabilities -> CapabilitiesSet
47543
475442003-01-09  jwm <jwm>
47545
47546	* README.capabilities, configure.in: OS-neutrality
47547
475482003-01-08  castaglia <castaglia>
47549
47550	* contrib/mod_radius.c: Corrected typo in session accouting
47551	variables.  Bumped version number.
47552
475532003-01-08  castaglia <castaglia>
47554
47555	* NEWS, lib/pr-syslog.c: Bug#1891 - SGI syslog isn't being written
47556	to.
47557
475582003-01-07  castaglia <castaglia>
47559
47560	* contrib/mod_radius.c: Use cmd->arg, rather than cmd->argv[1], from
47561	the C_PASS command.
47562
475632003-01-07  castaglia <castaglia>
47564
47565	* modules/mod_core.c, src/timers.c: Correcting minor bugs.
47566
475672003-01-07  castaglia <castaglia>
47568
47569	* configure: Updated configure script.
47570
475712003-01-07  castaglia <castaglia>
47572
47573	* configure.in: Add enable/disable configure option, for excluding
47574	mod_cap from Linux builds, for those sites that wish to have
47575	minimalist builds (e.g. every automatic inclusion should have an
47576	optional switch for disabling that inclusion).
47577
475782003-01-05  jwm <jwm>
47579
47580	* NEWS: style nit
47581
475822003-01-05  jwm <jwm>
47583
47584	* Make.rules.in, NEWS: Bug 1904 - Tru64 UNIX 4.0D and sstrncpy()
47585
475862003-01-05  jwm <jwm>
47587
47588	* modules/glue.sh: style
47589
475902003-01-05  jwm <jwm>
47591
47592	* configure: update
47593
475942003-01-05  jwm <jwm>
47595
47596	* Make.rules.in, Makefile.in, NEWS, configure.in, lib/Makefile.in,
47597	modules/Makefile.in, src/Makefile.in, utils/Makefile.in: Bug 1826 -
47598	Makefiles are a bit icky. This gives the build system a nice tidying
47599	up; I don't seem to have broken anything.  The only noticable change is that the dist/distclean/cvsclean
47600	targets have been cleaned up: cvsclean: is no more. Use distclean instead.  distclean: return the
47601	           source tree to its pristine condition (don't touch CVS state
47602	directories).  dist: prepare the source tree for distribution. Move
47603	      the RPM spec file into place and blow away any CVS state
47604	directories.
47605
476062003-01-05  jwm <jwm>
47607
47608	* config.guess, config.sub: part of Bug 1826 - Makefiles are a bit
47609	icky: updated config.{guess,sub}
47610
476112003-01-05  jwm <jwm>
47612
47613	* Makefile.in: Part of #1826 - ftptop doesn't need to link against
47614	$(LIBS)
47615
476162003-01-05  jwm <jwm>
47617
47618	* configure: update
47619
476202003-01-05  jwm <jwm>
47621
47622	* NEWS: credit for #1893
47623
476242003-01-05  jwm <jwm>
47625
47626	* NEWS, configure.in: Bug 1893 - Apple likes to move things
47627
476282003-01-05  jwm <jwm>
47629
47630	* lib/glibc-mkstemp.c, lib/pr-syslog.c, lib/pwgrent.c,
47631	lib/strsep.c, lib/vsnprintf.c, modules/mod_auth.c,
47632	modules/mod_auth_file.c, modules/mod_core.c, modules/mod_ls.c,
47633	modules/mod_site.c, utils/ftpcount.c, utils/ftpshut.c,
47634	utils/ftptop.c, utils/ftpwho.c, utils/misc.c, utils/scoreboard.c:
47635	nuke trailing whitespace
47636
476372003-01-03  jwm <jwm>
47638
47639	* NEWS: credit where credit is due
47640
476412003-01-03  jwm <jwm>
47642
47643	* src/Makefile.in: utils.c doesn't seem to be needed anymore...
47644
476452003-01-03  jwm <jwm>
47646
47647	* NEWS: mod_cap announcement
47648
476492003-01-03  jwm <jwm>
47650
47651	* README.capabilities, contrib/dist/rpm/proftpd.spec: mod_linuxprivs
47652	-> mod_cap
47653
476542003-01-03  jwm <jwm>
47655
47656	* README.modules: mod_linuxprivs is now the official module mod_cap
47657
476582003-01-03  jwm <jwm>
47659
47660	* contrib/dist/rpm/proftpd.spec: we don't have to explicitly include
47661	mod_linuxprivs anymore; mod_cap will be included automatically
47662
476632003-01-03  jwm <jwm>
47664
47665	* configure: update
47666
476672003-01-03  jwm <jwm>
47668
47669	* config.h.in, configure.in, modules/mod_cap.c: fix the build :-)
47670	This now autodetects and cleanly builds mod_cap into proftpd if the
47671	host OS (Linux) supports it
47672
476732003-01-03  jwm <jwm>
47674
47675	* configure: update
47676
476772003-01-03  jwm <jwm>
47678
47679	* config.h.in, configure.in: fixing linux/capability.h detection
47680
476812003-01-03  jwm <jwm>
47682
47683	* configure: update
47684
476852003-01-03  jwm <jwm>
47686
47687	* modules/mod_cap.c: removing debugging cruft
47688
476892003-01-03  jwm <jwm>
47690
47691	* configure.in, modules/mod_cap.c: removing last Linux-specific bits
47692	of mod_cap
47693
476942003-01-03  jwm <jwm>
47695
47696	* modules/mod_cap.c: getting rid of some linux references
47697
476982003-01-03  jwm <jwm>
47699
47700	* configure: update
47701
477022003-01-03  jwm <jwm>
47703
47704	* configure.in, contrib/README, modules/mod_cap.c: mod_linuxprivs ->
47705	mod_cap
47706
477072003-01-03  jwm <jwm>
47708
47709	* configure.in, lib/libcap/.cvsignore, lib/libcap/Makefile,
47710	lib/libcap/_makenames.c, lib/libcap/cap_alloc.c,
47711	lib/libcap/cap_extint.c, lib/libcap/cap_file.c,
47712	lib/libcap/cap_flag.c, lib/libcap/cap_proc.c, lib/libcap/cap_sys.c,
47713	lib/libcap/cap_text.c, lib/libcap/include/sys/capability.h,
47714	lib/libcap/libcap.h: Turning mod_linuxprivs into a core module,
47715	mod_cap. This is by no means complete.
47716
477172003-01-02  castaglia <castaglia>
47718
47719	* contrib/mod_sql.c: Added handling of %U to mod_sql, so that it can
47720	be used in SQLNamedQuery directives; part of the addition of
47721	Bug#1482.
47722
477232003-01-02  jwm <jwm>
47724
47725	* doc/license.txt: update copyright year
47726
477272003-01-02  castaglia <castaglia>
47728
47729	* configure: Updated configure script.
47730
477312003-01-02  castaglia <castaglia>
47732
47733	* config.h.in, configure.in, contrib/mod_radius.c,
47734	contrib/mod_rewrite.c, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
47735	contrib/mod_sql_postgres.c, contrib/mod_tls.c, include/data.h,
47736	include/ident.h, include/pool.h, include/proftpd.h,
47737	include/response.h, include/support.h, modules/mod_auth.c,
47738	modules/mod_auth_pam.c, modules/mod_core.c, modules/mod_log.c,
47739	modules/mod_ls.c, modules/mod_xfer.c, src/bindings.c, src/data.c,
47740	src/ident.c, src/inet.c, src/main.c, src/netio.c, src/pool.c,
47741	src/regexp.c, src/response.c, src/scoreboard.c, src/support.c,
47742	src/timers.c: More namespace/API changes, for consistency:   data_*() -> pr_data_*()   register_rehash() ->  pr_rehash_register_handler()   add_exit_handler() -> pr_exit_register_handler()   (un)block_alarms() -> pr_alarms_(un)block()   (un)block_signals() -> pr_signals_(un)block()   pr_handle_signals() -> pr_signals_handle() The distinction for which I am striving is to have all the functions
47743	that module developers should use to be prefixed with pr_; public
47744	functions may be available without a pr_ prefix, but such functions
47745	will be intended for use by the core code only.  Also, more in the RFC2228 support department:   session_t has a new field, rfc2228_mech.  This is to be filled in
47746	  by the RFC2228 module that handles an AUTH command, so that other   RFC2228 modules, should they be higher in the module load order,
47747	  know not to process RFC2228 commands meant for the handling
47748	module.    The response formatting callback function now takes an additional   parameter, a pool pointer, as the first argument.  The pool that
47749	  will be passed to that function will be the same pool used by the
47750	  other response functions.
47751
477522003-01-02  castaglia <castaglia>
47753
47754	* configure.in, contrib/ftpasswd, contrib/mod_radius.c,
47755	contrib/mod_readme.c, contrib/mod_rewrite.c, contrib/mod_tls.c,
47756	contrib/mod_wrap.c, doc/mod_sample.c, include/bindings.h,
47757	include/conf.h, include/data.h, include/default_paths.h,
47758	include/dirtree.h, include/feat.h, include/fsio.h, include/ftp.h,
47759	include/ident.h, include/inet.h, include/libsupp.h, include/log.h,
47760	include/modules.h, include/netio.h, include/options.h,
47761	include/pool.h, include/pr-syslog.h, include/privs.h,
47762	include/proftpd.h, include/regexp.h, include/response.h,
47763	include/scoreboard.h, include/sets.h, include/support.h,
47764	include/timers.h, modules/mod_auth.c, modules/mod_auth_file.c,
47765	modules/mod_auth_unix.c, modules/mod_core.c, modules/mod_log.c,
47766	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
47767	src/auth.c, src/bindings.c, src/data.c, src/dirtree.c, src/feat.c,
47768	src/fsio.c, src/ident.c, src/inet.c, src/log.c, src/main.c,
47769	src/modules.c, src/netio.c, src/pool.c, src/regexp.c,
47770	src/response.c, src/scoreboard.c, src/sets.c, src/support.c,
47771	src/timers.c, utils/ftpcount.c, utils/ftpshut.c, utils/ftptop.c,
47772	utils/ftpwho.c, utils/misc.c, utils/scoreboard.c, utils/utils.h:
47773	Updating the copyright notice in the file headers for the new year.
47774
477752003-01-02  castaglia <castaglia>
47776
47777	* Makefile.in: Adding man page for ftptop.
47778
477792003-01-01  castaglia <castaglia>
47780
47781	* NEWS, contrib/mod_sql.c, contrib/mod_sql.h,
47782	contrib/mod_sql_mysql.c, contrib/mod_sql_postgres.c: Bug#1671 - new
47783	directive SQLLogFile.
47784
477852003-01-01  castaglia <castaglia>
47786
47787	* NEWS, modules/mod_core.c: Bug#1272 - Requested Addition:
47788	DenyFilter by User or DenyFilter by Directory.
47789
477902002-12-31  castaglia <castaglia>
47791
47792	* utils/ftptop.c: Actually calculate and display the TIME value
47793	(duration of session, in seconds).
47794
477952002-12-31  castaglia <castaglia>
47796
47797	* src/main.c: Make sure that the configuration file specified using
47798	the -c command-line option is an absolute path.  Bug noted by
47799	Michael Renner.
47800
478012002-12-31  castaglia <castaglia>
47802
47803	* NEWS, src/fsio.c: Bug#1894 - Double chdir into self-referencing
47804	symlink fails with "No such file or directory".
47805
478062002-12-31  castaglia <castaglia>
47807
47808	* include/scoreboard.h, modules/mod_auth.c, src/scoreboard.c,
47809	utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Portion of changes
47810	requested in Bug#1794.
47811
478122002-12-31  castaglia <castaglia>
47813
47814	* modules/mod_auth.c: Yet another missing word ("the").
47815
478162002-12-31  castaglia <castaglia>
47817
47818	* modules/mod_auth.c: Missing "of" in message string (noted by
47819	Michael).
47820
478212002-12-28  castaglia <castaglia>
47822
47823	* include/version.h: Updating version for CVS.
47824
478252002-12-28  castaglia <castaglia>
47826
47827	* ChangeLog, NEWS, contrib/dist/rpm/proftpd.spec, include/version.h:
47828	Preparing for 1.2.8rc1 release.
47829
478302002-12-27  castaglia <castaglia>
47831
47832	* configure: Updating configure script.
47833
478342002-12-27  castaglia <castaglia>
47835
47836	* NEWS, configure.in: Bug#1906 - Add description strings to
47837	AC_DEFINE
47838
478392002-12-27  jwm <jwm>
47840
47841	* NEWS: style, date formatting
47842
478432002-12-27  jwm <jwm>
47844
47845	* src/auth.c, src/data.c, src/dirtree.c, src/inet.c, src/log.c,
47846	src/main.c, src/modules.c, src/pool.c, src/support.c, src/timers.c:
47847	style
47848
478492002-12-27  jwm <jwm>
47850
47851	* NEWS: whitespace cleanup
47852
478532002-12-27  jwm <jwm>
47854
47855	* configure: update
47856
478572002-12-27  jwm <jwm>
47858
47859	* NEWS, configure.in: Bug 1863 - Unable to build under UnixWare 7
47860
478612002-12-27  jwm <jwm>
47862
47863	* Makefile.in, NEWS: Bug 1903 - ftpwho depends on snprintf but
47864	doesn't link in lib/libsupp.a
47865
478662002-12-27  jwm <jwm>
47867
47868	* NEWS, src/timers.c, utils/ftptop.c: Bug 1905 - AIX needs
47869	"config.h" included before *anything* else.
47870
478712002-12-27  castaglia <castaglia>
47872
47873	* src/main.c: Removing the internal_abort() code, which was only
47874	enabled by using the --enable-devel switch.  It's more useful to use
47875	gdb in this case.
47876
478772002-12-27  jwm <jwm>
47878
47879	* contrib/README: cruft removal, cleanup, style, grammar
47880
478812002-12-27  castaglia <castaglia>
47882
47883	* NEWS: Bug#1888: Increase mod_linuxprivs configurability.
47884
478852002-12-27  castaglia <castaglia>
47886
47887	* src/main.c: Change the reporting of "Invalid argument" when
47888	deleting a scoreboard slot to be DEBUG1.  This message can appear
47889	for reasons other than scoreboard issues (e.g. a module bars a
47890	client from completely connecting, misconfigurations, etc).
47891
478922002-12-26  jwm <jwm>
47893
47894	* modules/mod_auth_file.c: silence compiler warning about crypt()
47895
478962002-12-26  castaglia <castaglia>
47897
47898	* NEWS, utils/ftpwho.c: Bug#1900 - ftpwho's output on uploads.
47899
479002002-12-26  castaglia <castaglia>
47901
47902	* modules/mod_xfer.c: Add debug call when failing to open a file for
47903	writing/uploading.  This should help pinpoint upload failures.
47904
479052002-12-20  castaglia <castaglia>
47906
47907	* modules/mod_auth_file.c, modules/mod_core.c, modules/mod_xfer.c:
47908	Style cleanups.
47909
479102002-12-19  castaglia <castaglia>
47911
47912	* configure: Updating configure script.
47913
479142002-12-19  castaglia <castaglia>
47915
47916	* modules/mod_auth_file.c: Putting the copyright in the project's
47917	name.
47918
479192002-12-19  castaglia <castaglia>
47920
47921	* NEWS: Forgot to update NEWS with description of
47922	Bug#1837/mod_auth_file addition.
47923
479242002-12-19  castaglia <castaglia>
47925
47926	* config.h.in, configure.in, modules/mod_auth_file.c,
47927	modules/mod_auth_pam.c, modules/mod_auth_unix.c,
47928	modules/mod_core.c, src/main.c: Bug#1837 - Add module specifically
47929	for handling Auth*Files, providing finer-grained control.  This
47930	patch also renames mod_unixpw.c to mod_auth_unix.c, and mod_pam.c to
47931	mod_auth_pam.c.  Configure options have --disable-auth-file,
47932	--disable-auth-unix, --enable-auth-pam, as appropriate.
47933
479342002-12-19  castaglia <castaglia>
47935
47936	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
47937	contrib/mod_sql_postgres.c, contrib/mod_tls.c: Cleaning up some
47938	warnings, seen under --enable-devel, in some contrib modules.
47939	Pointed out by Michael.  Just to note: a lot of the warnings generated by mod_tls
47940	(specifically, by the OpenSSL files #include'd by mod_tls) cannot be
47941	fixed by us.  Quite a few of the warnings are about function
47942	prototypes; the OpenSSL developers don't have complete prototype
47943	declarations for a lot of the function pointer callback struct
47944	slots.  Oh well.
47945
479462002-12-19  castaglia <castaglia>
47947
47948	* src/dirtree.c: In tracking down an unrelated bug last night, I
47949	discovered that, at present, proftpd's parser will gladly handle
47950	empty contexts, such as when:   <Directory blah>   </Directory> or   <Global>   </Global> appear in the configuration file.  These empty sets are useless, and
47951	serve only to use up memory unnecessarily; that memory usage is
47952	compounded when directives are merged down into these sets.  This patch checks for such empty contexts (in end_sub_config()), and
47953	removes them from the configuration tree.
47954
479552002-12-19  castaglia <castaglia>
47956
47957	* contrib/mod_tls.c: Forgot a parameter to tls_log().
47958
479592002-12-19  castaglia <castaglia>
47960
47961	* contrib/mod_tls.c: Change handling of PROT in tls_prot() slightly.
47962
479632002-12-19  castaglia <castaglia>
47964
47965	* contrib/mod_tls.c: More instances where mod_tls was being
47966	impolite, and returning ERROR where it should be returning DECLINED,
47967	in order to allow other modules a chance at handling some of the
47968	RFC2228 commands.
47969
479702002-12-19  castaglia <castaglia>
47971
47972	* contrib/mod_tls.c: Changed mod_tls' handling of AUTH command to
47973	allow other RFC2228 modules a change at processing that command.
47974
479752002-12-19  castaglia <castaglia>
47976
47977	* modules/mod_ls.c, src/dirtree.c, src/main.c: Minor
47978	style/formatting changes.
47979
479802002-12-18  castaglia <castaglia>
47981
47982	* configure: Updating configure script.
47983
479842002-12-18  castaglia <castaglia>
47985
47986	* NEWS, config.h.in, configure.in: Bug#1667 - Integrate ProFTPD with
47987	C2/SIA on Tru64 Unix.
47988
479892002-12-18  castaglia <castaglia>
47990
47991	* contrib/mod_radius.c: Fixing several bugs in mod_radius'
47992	accounting code.
47993
479942002-12-18  jwm <jwm>
47995
47996	* NEWS, src/main.c: Bug 1885 - -q/--quiet option for use with the
47997	-n/--nodaemon flag. Useful for running proftpd from inittab or with
47998	daemontools.
47999
480002002-12-17  castaglia <castaglia>
48001
48002	* modules/mod_auth.c: The cleanup of variable names done by the
48003	adding of the --enable-devel option caused a problem here, where a
48004	variable "c" was used a little too often, causing
48005	MaxClients/MaxHosts* lookups to fail.  Thanks to Michael Renner for
48006	the help in tracking this one down.
48007
480082002-12-17  castaglia <castaglia>
48009
48010	* include/modules.h, include/privs.h, src/main.c, src/modules.c: The
48011	module init dispatch functions aren't public, and hence do not need
48012	the pr_ prefix.  Change the debug level for privs changes to 9 (was 8).
48013
480142002-12-17  jwm <jwm>
48015
48016	* include/conf.h, include/data.h, include/default_paths.h,
48017	include/dirtree.h, include/ftp.h, include/ident.h, include/inet.h,
48018	include/libsupp.h, include/modules.h, include/netio.h,
48019	include/options.h, include/privs.h, include/proftpd.h,
48020	include/sets.h: nuke trailing whitespace
48021
480222002-12-17  castaglia <castaglia>
48023
48024	* modules/mod_core.c: Add the RFC2228 commands to the HELP output,
48025	but listed as "not supported".  A means for RFC2228 modules (e.g.
48026	mod_tls, mod_gss) to change the supported flag from FALSE to TRUE
48027	for these commands is needed.
48028
480292002-12-17  castaglia <castaglia>
48030
48031	* modules/mod_core.c: Oops.  Not quite ready to commit these changes
48032	yet.
48033
480342002-12-17  castaglia <castaglia>
48035
48036	* contrib/mod_rewrite.c, modules/mod_core.c, modules/mod_ls.c,
48037	src/dirtree.c, src/support.c, utils/ftpcount.c, utils/ftptop.c,
48038	utils/ftpwho.c: Changed some buffers to use PR_TUNABLE_BUFFER_SIZE
48039	(and not to use hardcoded numbers).
48040
480412002-12-16  castaglia <castaglia>
48042
48043	* include/modules.h: Returning ERROR from an auth handler
48044	(specifically, in an "auth" or a "check" auth handler) will not
48045	produce the desired result; the ERROR macro sets a value of 1, and
48046	the switch() case in mod_auth looks for negative values.  So, to
48047	handle this case, I've added PR_AUTH_ERROR return value (-1) for
48048	auth handlers that encounter errors, and adjusted the other
48049	PR_AUTH_* values accordingly.
48050
480512002-12-16  castaglia <castaglia>
48052
48053	* include/modules.h, src/main.c: Make the function for dispatching
48054	commands a public function: pr_cmd_dispatch().  Some RFC2228 modules
48055	may need to "unwrap" encrypted commands and then dispatch the
48056	unwrapped commands themselves.  (This also allows for greater games
48057	to be played by third-party modules...muahahaha...) *grin*
48058
480592002-12-16  castaglia <castaglia>
48060
48061	* src/main.c: Changing buffer used for storing commands read in from
48062	client to be of PR_TUNABLE_BUFFER_SIZE, rather than hardcoded to
48063	1024.
48064
480652002-12-16  jwm <jwm>
48066
48067	* src/main.c: er, yeah. pointer and all that.
48068
480692002-12-16  jwm <jwm>
48070
48071	* src/main.c: cleanup
48072
480732002-12-15  jwm <jwm>
48074
48075	* configure: updated configure
48076
480772002-12-15  jwm <jwm>
48078
48079	* NEWS, acconfig.h, config.h.in, configure.in, src/inet.c: Bug 1883
48080	- socklen_t patch. Thanks to Andy Igoshin <ai@vsu.ru> for the patch.
48081
480822002-12-13  castaglia <castaglia>
48083
48084	* src/dirtree.c, src/fsio.c, src/inet.c, src/modules.c: Being
48085	pedantic, and making sure that pcalloc() is used, to make sure that
48086	memory is zeroed before use (helps to cut down on heap bugs).
48087
480882002-12-13  castaglia <castaglia>
48089
48090	* utils/ftpwho.c: Correcting placement of newline (from Bug#1886).
48091
480922002-12-13  castaglia <castaglia>
48093
48094	* Make.rules.in, contrib/mod_ratio.c, contrib/mod_readme.c,
48095	contrib/mod_sql.c, contrib/mod_tls.c, doc/mod_sample.c,
48096	include/conf.h, include/dirtree.h, include/proftpd.h,
48097	include/response.h, modules/mod_auth.c, modules/mod_core.c,
48098	modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
48099	modules/mod_xfer.c, src/data.c, src/main.c, src/response.c:
48100	Reworking of response functions.
48101
481022002-12-12  castaglia <castaglia>
48103
48104	* NEWS, contrib/mod_radius.c: Bug#1875 - same radius packet id for
48105	start- and stop-accounting record.
48106
481072002-12-12  jwm <jwm>
48108
48109	* utils/ftptop.c: make the display a bit prettier and make the best
48110	use of an 80-column screen
48111
481122002-12-12  castaglia <castaglia>
48113
48114	* NEWS, utils/ftpwho.c: Bug#1886 - Ftpwho uses too many lines when
48115	authenticating.
48116
481172002-12-12  castaglia <castaglia>
48118
48119	* include/options.h, lib/glibc-glob.c: These changes make it
48120	possible to tune the maximum number of recursion levels supported
48121	when globbing.  A better way of dealing with possible DoS attacks
48122	via globbing is via the RLimit* directives, or to disable globbing
48123	support altogether by using the UseGlobbing directive.  However, in
48124	some cases it may be necessary to support globbing, but to do so in
48125	as restrictive a manner as possible.  The default maximum number of levels supported by GNU's globbing is
48126	8.  This patch keeps that default, but allows the administrator, if
48127	need be, to tune that level lower by means of the
48128	PR_TUNABLE_GLOBBING_MAX macro, defined in include/options.h.  When
48129	compiling proftpd, it can be defined to some lower value, e.g.:   CFLAGS="-DPR_TUNABLE_GLOBBING_MAX=2" ./configure ...
48130
481312002-12-12  castaglia <castaglia>
48132
48133	* include/modules.h: Set PR_AUTH_RFC2228_OK to be 2, to avoid the
48134	value 1 (that is used by the ERROR macro).
48135
481362002-12-12  castaglia <castaglia>
48137
48138	* contrib/mod_tls.c, include/netio.h, src/netio.c: Added a shutdown
48139	callback to the NetIO API, allowed netio modules (e.g.  mod_gss) to
48140	perform a shutdown as they needed, rather than simply calling
48141	shutdown(2).
48142
481432002-12-12  jwm <jwm>
48144
48145	* modules/mod_auth.c: typo Noticed by: Mihai RUSU <dizzy@roedu.net>
48146
481472002-12-11  castaglia <castaglia>
48148
48149	* NEWS, modules/mod_auth.c: Bug#1881 - Bug in Function MaxClients.
48150
481512002-12-11  castaglia <castaglia>
48152
48153	* modules/mod_auth.c, modules/mod_core.c, src/support.c: Some of
48154	these files' handling of configuration parameters was not thorough
48155	with respect to get_param_int() to get_param_ptr() changes (shame on
48156	me), and it was causing a segfault when handling some Display*
48157	files.
48158
481592002-12-11  castaglia <castaglia>
48160
48161	* contrib/mod_wrap.c, include/dirtree.h, modules/mod_auth.c,
48162	modules/mod_core.c, modules/mod_xfer.c, src/dirtree.c: Forgot to
48163	prefix the expression functions with pr_.
48164
481652002-12-11  castaglia <castaglia>
48166
48167	* NEWS, modules/mod_site.c: Bug#1882 - SITE chmod 777
48168	file<space>name.
48169
481702002-12-11  castaglia <castaglia>
48171
48172	* NEWS, contrib/mod_wrap.c, include/dirtree.h, include/modules.h,
48173	modules/mod_auth.c, modules/mod_core.c, modules/mod_site.c,
48174	modules/mod_xfer.c, src/dirtree.c: Bug#1507 - regex pattern matching
48175	in [Allow/Deny][User/Group].  This patch also adjusts the handling
48176	of user- and class-expressions, so that they are evaluated as OR
48177	expression, rather than as AND expression (AND evaluation for users
48178	and classes do not make sense).
48179
481802002-12-11  jwm <jwm>
48181
48182	* doc/Configuration.html, doc/Configuration.sgml: updated docs
48183
481842002-12-10  castaglia <castaglia>
48185
48186	* configure: Updating configure script.
48187
481882002-12-10  castaglia <castaglia>
48189
48190	* configure.in: Forgot a comma.
48191
481922002-12-10  castaglia <castaglia>
48193
48194	* configure: Updating configure script.
48195
481962002-12-10  castaglia <castaglia>
48197
48198	* Makefile.in, NEWS, config.h.in, configure.in, include/dirtree.h,
48199	include/fsio.h, include/libsupp.h, include/log.h,
48200	include/modules.h, include/netio.h, include/pool.h,
48201	include/support.h, include/timers.h, lib/glibc-glob.c,
48202	lib/glibc-mkstemp.c, lib/pr_fnmatch.c, lib/vsnprintf.c,
48203	modules/mod_auth.c, modules/mod_log.c, modules/mod_ls.c,
48204	modules/mod_site.c, modules/mod_xfer.c, src/bindings.c,
48205	src/dirtree.c, src/fsio.c, src/inet.c, src/log.c, src/main.c,
48206	src/modules.c, src/netio.c, src/regexp.c, src/scoreboard.c,
48207	src/sets.c, src/support.c, utils/ftpwho.c, utils/utils.h: This patch
48208	adds an --enable-devel configure option, which does the following:   install won't use -s, so that object files aren't stripped   core dumps should be allowed (although I'm having trouble
48209	    producing them...I'm sure I'm missing something obvious)   CFLAGS is changed to use quite a few of the -W options The rest of the patch is code cleanup, fixing things brought to
48210	light by the -W options.  The one remaining warning is about the K&R
48211	style pam function in mod_pam.c -- I think that may be required.
48212
482132002-12-10  castaglia <castaglia>
48214
48215	* configure: Updating configure script.
48216
482172002-12-10  castaglia <castaglia>
48218
48219	* NEWS, modules/mod_core.c, src/main.c: Bug#1858 - move "session
48220	closed" logging from graceful quit to child exit sequence.
48221
482222002-12-09  jwm <jwm>
48223
48224	* lib/vsnprintf.c: silence compiler warning
48225
482262002-12-09  jwm <jwm>
48227
48228	* lib/vsnprintf.c: style
48229
482302002-12-09  jwm <jwm>
48231
48232	* lib/vsnprintf.c: need ctype.h for is*()
48233
482342002-12-09  jwm <jwm>
48235
48236	* lib/pr_fnmatch_loop.c: need to include ctype.h for is*()
48237
482382002-12-07  jwm <jwm>
48239
48240	* NEWS: credit where credit is due
48241
482422002-12-07  jwm <jwm>
48243
48244	* modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
48245	src/auth.c, src/dirtree.c, src/inet.c, src/main.c, src/modules.c,
48246	src/pool.c, src/sets.c, src/support.c: style
48247
482482002-12-07  jwm <jwm>
48249
48250	* modules/mod_auth.c, modules/mod_core.c, src/dirtree.c, src/main.c:
48251	style
48252
482532002-12-07  jwm <jwm>
48254
48255	* NEWS, acconfig.h, config.h.in, configure.in, include/data.h,
48256	src/data.c: AIX sendfile support
48257
482582002-12-07  jwm <jwm>
48259
48260	* contrib/dist/rpm/proftpd.init.d: * add /usr/local/sbin/ to $PATH * don't assume ftpshut is in /usr/sbin/, let the shell's PATH figure
48261	it out * style
48262
482632002-12-07  jwm <jwm>
48264
48265	* src/auth.c, src/bindings.c, src/data.c, src/dirtree.c,
48266	src/feat.c, src/fsio.c, src/ident.c, src/inet.c, src/log.c,
48267	src/main.c, src/modules.c, src/netio.c, src/pool.c, src/regexp.c,
48268	src/scoreboard.c, src/sets.c, src/support.c, src/timers.c: style
48269
482702002-12-07  jwm <jwm>
48271
48272	* modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
48273	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c: nuke
48274	trailing whitespace, style
48275
482762002-12-07  jwm <jwm>
48277
48278	* src/bindings.c: trailing whitespace
48279
482802002-12-07  castaglia <castaglia>
48281
48282	* modules/mod_xfer.c: Inadvertently changed the default handling of
48283	AllowRetrieveRestart in the get_param_int() -> get_param_ptr()
48284	changes.
48285
482862002-12-07  castaglia <castaglia>
48287
48288	* NEWS, contrib/mod_tls.c, include/log.h, modules/mod_core.c,
48289	modules/mod_log.c, src/log.c, src/main.c: Bug#1515 - Enable mod_log
48290	to log into default log / syslog.
48291
482922002-12-07  jwm <jwm>
48293
48294	* src/bindings.c: Fix bidings for DefaultServer-affected and
48295	localhost connections.  pr_ipbind_get_server() would never find the default server because
48296	it was hashing an address (say, 127.0.0.1) different from the
48297	address used by the main server (0.0.0.0). Instead, store a pointer
48298	to the default and localhost bindings and fall back to them if the
48299	explicit lookup fails.
48300
483012002-12-07  castaglia <castaglia>
48302
48303	* src/dirtree.c: Removing a get_param_int() that crept back in
48304	(probably from the Bindings patch).
48305
483062002-12-07  castaglia <castaglia>
48307
48308	* Make.rules.in, NEWS, include/bindings.h, include/conf.h,
48309	include/dirtree.h, include/inet.h, modules/mod_core.c,
48310	src/bindings.c, src/dirtree.c, src/main.c: Committing the Bindings
48311	API.
48312
483132002-12-06  castaglia <castaglia>
48314
48315	* include/ftp.h, include/proftpd.h, modules/mod_auth.c,
48316	modules/mod_core.c, modules/mod_ls.c, modules/mod_xfer.c,
48317	src/data.c, src/main.c: More RFC2228 support.
48318
483192002-12-06  castaglia <castaglia>
48320
48321	* modules/mod_core.c, modules/mod_xfer.c: Provide configuration
48322	handlers that remark on deprecated directives, rather than simply
48323	having those directives removed (for now).
48324
483252002-12-06  castaglia <castaglia>
48326
48327	* NEWS, modules/mod_ls.c: Bug#1789 - Add ability to block recursive
48328	directory listings.
48329
483302002-12-06  jwm <jwm>
48331
48332	* include/proftpd.h: tabs -> spaces
48333
483342002-12-06  castaglia <castaglia>
48335
48336	* src/fsio.c: *sigh* One of these days I'll get this correct. =P
48337
483382002-12-06  castaglia <castaglia>
48339
48340	* src/fsio.c: The FS API patch had some of the older, broken code
48341	w.r.t BSD and statfs().
48342
483432002-12-06  castaglia <castaglia>
48344
48345	* NEWS, include/scoreboard.h, modules/mod_xfer.c, src/scoreboard.c,
48346	utils/ftpwho.c, utils/utils.h: Committing TransferRate patch to CVS.
48347
483482002-12-06  castaglia <castaglia>
48349
48350	* contrib/mod_radius.c, contrib/mod_sql.c, include/proftpd.h,
48351	modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
48352	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
48353	src/data.c, src/dirtree.c, src/inet.c, src/log.c, src/main.c: A
48354	stack of changes, related to removing get_param_int() from the core
48355	code, in favor of get_param_ptr().  I tried to test each affected
48356	directive as I went, but, of course, there may be bugs still
48357	lingering...
48358
483592002-12-06  castaglia <castaglia>
48360
48361	* contrib/mod_sql.c: Removed erroneous/extraneous #include "fs.h"
48362
483632002-12-06  jwm <jwm>
48364
48365	* lib/pwgrent.c: fix the build (PR_LOG_ERR isn't defined here
48366	because this is in libsupp)
48367
483682002-12-06  castaglia <castaglia>
48369
48370	* modules/mod_log.c: Use C_* command macros.
48371
483722002-12-06  castaglia <castaglia>
48373
48374	* NEWS, modules/mod_log.c: Bug#1605 - MKD and RMD do not log
48375	filepaths with %f or %F option in ExtendedLog.
48376
483772002-12-05  castaglia <castaglia>
48378
48379	* NEWS, modules/mod_log.c: Bug#1403 - per-server system logs via
48380	ServerLog directive.
48381
483822002-12-05  castaglia <castaglia>
48383
48384	* NEWS, contrib/mod_rewrite.c: Adding mod_rewrite to the mix.
48385
483862002-12-05  castaglia <castaglia>
48387
48388	* NEWS, modules/mod_core.c: Bug#1205 - Add debug option to
48389	SystemLog.
48390
483912002-12-05  castaglia <castaglia>
48392
48393	* NEWS, include/modules.h, include/options.h, modules/mod_core.c,
48394	src/main.c, src/modules.c: Bug#1788 - Add ability to configure auth
48395	module checking order.
48396
483972002-12-05  castaglia <castaglia>
48398
48399	* configure: Updated configure script.
48400
484012002-12-05  castaglia <castaglia>
48402
48403	* configure.in: Update configure.in to use AC_HELP_STRING macro for
48404	pretty-printing of --enable and --with options.
48405
484062002-12-05  castaglia <castaglia>
48407
48408	* NEWS: Adding thanks (well deserved!) to Peter Runestig for his
48409	work on mod_tls.
48410
484112002-12-05  castaglia <castaglia>
48412
48413	* NEWS, contrib/mod_tls.c: Bug#1712 - TLS support.
48414
484152002-12-05  castaglia <castaglia>
48416
48417	* Make.rules.in, NEWS, contrib/mod_ldap.c, contrib/mod_ratio.c,
48418	contrib/mod_readme.c, contrib/mod_sql.c, contrib/mod_wrap.c,
48419	include/conf.h, include/dirtree.h, include/fsio.h, include/netio.h,
48420	include/proftpd.h, include/support.h, lib/Makefile.in,
48421	modules/Makefile.in, modules/mod_auth.c, modules/mod_core.c,
48422	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
48423	src/Makefile.in, src/dirtree.c, src/fsio.c, src/main.c,
48424	src/netio.c, src/support.c, utils/Makefile.in: Bug#1653 - Complete
48425	the FS API abstraction implementation.
48426
484272002-12-05  castaglia <castaglia>
48428
48429	* NEWS, include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c:
48430	Bug#1743 - No magic cookie for number of files transfered.
48431
484322002-12-05  castaglia <castaglia>
48433
48434	* NEWS, include/modules.h, include/version.h, src/main.c,
48435	src/modules.c, src/support.c: Bug#1833 - Add ability to have add'l
48436	module initialization callback.
48437
484382002-12-05  castaglia <castaglia>
48439
48440	* Make.rules.in, NEWS, doc/rfc/rfc2389.txt, include/conf.h,
48441	include/dirtree.h, include/feat.h, include/ftp.h,
48442	include/modules.h, include/regexp.h, lib/Makefile.in,
48443	modules/Makefile.in, modules/mod_core.c, src/Makefile.in,
48444	src/dirtree.c, src/feat.c, src/main.c, src/modules.c: Bug#1806 - Add
48445	RFC2389 support.
48446
484472002-12-05  castaglia <castaglia>
48448
48449	* NEWS, contrib/mod_ldap.c, contrib/mod_radius.c,
48450	contrib/mod_sql.c, contrib/mod_sql_mysql.c,
48451	contrib/mod_sql_postgres.c, include/modules.h, modules/mod_auth.c,
48452	src/auth.c: Bug#1825 - AUTH macro namespace cleanup.
48453
484542002-12-05  castaglia <castaglia>
48455
48456	* contrib/mod_radius.c, contrib/mod_sql.c, contrib/mod_wrap.c,
48457	include/privs.h, lib/pwgrent.c, modules/mod_auth.c,
48458	modules/mod_core.c, modules/mod_log.c, modules/mod_xfer.c,
48459	src/main.c: Making sure that all LOG_* macros have PR_ prefix, for
48460	consistency.
48461
484622002-12-05  castaglia <castaglia>
48463
48464	* NEWS, src/dirtree.c: Bug#1683 - Handling of VirtualHosts on
48465	startup.
48466
484672002-12-05  castaglia <castaglia>
48468
48469	* NEWS, modules/mod_log.c: Bug#1482 - Add new %U meta to LogFormat,
48470	for logging original username.
48471
484722002-12-05  castaglia <castaglia>
48473
48474	* configure: Updated configure script.
48475
484762002-12-05  castaglia <castaglia>
48477
48478	* NEWS, config.h.in, configure.in: Bug#1597 - Problems with HP-UX
48479	10/11 trusted systems, mod_pam, and mod_unixpw.
48480
484812002-12-05  castaglia <castaglia>
48482
48483	* include/version.h: Now that 1.2.7 has been released, update the
48484	version info in CVS.
48485
484862002-12-05  castaglia <castaglia>
48487
48488	* doc/mod_sample.c: Correcting typos.
48489
484902002-12-05  castaglia <castaglia>
48491
48492	* contrib/dist/rpm/proftpd.spec: Updating version for 1.2.7 release.
48493
484942002-12-05  castaglia <castaglia>
48495
48496	* ChangeLog, NEWS, include/version.h: Preparing for release of
48497	1.2.7.
48498
484992002-12-04  castaglia <castaglia>
48500
48501	* modules/mod_auth.c: Patching to fix off-by-one bug in
48502	MaxHostsPerUser directive handling.
48503
485042002-12-04  castaglia <castaglia>
48505
48506	* NEWS, include/support.h, modules/mod_auth.c, src/support.c: Adding
48507	memory scrubber for memset() issue mentioned here:   http://online.securityfocus.com/archive/1/298598
48508
485092002-12-03  castaglia <castaglia>
48510
48511	* NEWS, utils/ftpcount.c: Bug#1868 - Wrong cmdopts in ftpcount.c
48512
485132002-12-02  castaglia <castaglia>
48514
48515	* NEWS, utils/ftpwho.c: Bug#1861 - 'ftpwho -v -o oneline' print all
48516	connections in one line.
48517
485182002-12-02  castaglia <castaglia>
48519
48520	* src/dirtree.c: Minor preprocessor changes.
48521
485222002-12-02  castaglia <castaglia>
48523
48524	* src/dirtree.c: Removed unused variable.
48525
485262002-12-02  castaglia <castaglia>
48527
48528	* NEWS, modules/mod_xfer.c, src/pool.c: Bug#1846 - File overwrites
48529	fail.  Thanks to Sergei Rozinov for tracking down this bug.
48530
485312002-11-26  castaglia <castaglia>
48532
48533	* src/support.c: Minor style change: use macros for FTP commands.
48534
485352002-11-26  castaglia <castaglia>
48536
48537	* NEWS, lib/pr-syslog.c: Bug#1853 - SyslogFacility: unable to open
48538	syslog.
48539
485402002-11-25  castaglia <castaglia>
48541
48542	* modules/mod_auth.c: Moving hcur increment to a more appropriate
48543	location.  There still seems to be lingering issues with these
48544	limits, though.  Yay.
48545
485462002-11-25  castaglia <castaglia>
48547
48548	* modules/mod_core.c: Oops.  A little too zealous on the previous
48549	change -- mg_size should always be filled, even if get_fs_size() is
48550	not supported on the host.
48551
485522002-11-25  castaglia <castaglia>
48553
48554	* modules/mod_core.c: Adjust core_display_file() to use
48555	get_param_ptr() when looking up a MaxClients setting to display.
48556	The MaxClients configuration handler had been changed to storing a
48557	pointer, but this function hadn't been updated to reflect that
48558	configuration handler change.
48559
485602002-11-25  castaglia <castaglia>
48561
48562	* include/dirtree.h: Removing unused struct members.
48563
485642002-11-25  castaglia <castaglia>
48565
48566	* contrib/mod_radius.c, modules/mod_auth.c, modules/mod_ls.c,
48567	src/dirtree.c, src/ident.c, src/support.c, utils/ftpshut.c: Removed
48568	use of UCHAR cast from core code.  It is meant specifically for the
48569	fnmatch code, and is a #define to an unsigned char -- but the ANSI C
48570	standards define the parameter to many of the is*() functions to be
48571	an int, and the UCHAR cast was being used with those is*()
48572	functions.  Instead, those UCHAR casts have been replaced with int
48573	casts.
48574
485752002-11-25  castaglia <castaglia>
48576
48577	* NEWS, modules/mod_ls.c: Bug#1856 - TimesGMT acts like default is
48578	'off'.
48579
485802002-11-25  castaglia <castaglia>
48581
48582	* modules/mod_xfer.c: %lu crept back in when PR_LU is needed...
48583
485842002-11-25  castaglia <castaglia>
48585
48586	* NEWS, modules/mod_site.c: Bug#1852 - Proftpd gets signal 11 on
48587	"quote site".
48588
485892002-11-25  castaglia <castaglia>
48590
48591	* doc/mod_sample.c, include/netio.h, src/ident.c, src/netio.c:
48592	Updating my documentation this weekend,  and came across some minor
48593	inconsistencies...
48594
485952002-11-25  castaglia <castaglia>
48596
48597	* modules/mod_xfer.c: Datatype overflow.
48598
485992002-11-23  jwm <jwm>
48600
48601	* modules/mod_ls.c, utils/ftpshut.c, utils/ftptop.c: Silence
48602	remaining compiler warnings under Solaris 8 (save for the utmp code,
48603	bug Bug 1824 will address that).  The nlink_t/pid_t casts will be unnecessary once the Solaris _LP64
48604	ABI is the default (see sys/isa_defs.h for more info on the Solaris
48605	ABIs). I didn't want to move from _ILP32 (the historical default) to
48606	_LP64 because I wasn't sure of the ramifications. We don't have any
48607	DSOs to worry about, but I'm not sure what else would change/break.
48608
486092002-11-23  jwm <jwm>
48610
48611	* NEWS, contrib/dist/rpm/proftpd.init.d: Bug 1680 - Error in startup
48612	script
48613
486142002-11-22  jwm <jwm>
48615
48616	* configure: updated configure
48617
486182002-11-22  jwm <jwm>
48619
48620	* NEWS, config.h.in, configure.in, src/support.c: Bug 1839 -
48621	undefined reference to `get_fs_size'
48622
486232002-11-22  castaglia <castaglia>
48624
48625	* NEWS, utils/ftptop.c: Bug#1848 - undefined reference to
48626	`halfdelay'.
48627
486282002-11-21  castaglia <castaglia>
48629
48630	* NEWS, modules/mod_log.c: Bug#1812 - Double logging lines for
48631	ExtendedLog.
48632
486332002-11-19  castaglia <castaglia>
48634
48635	* NEWS, include/dirtree.h, modules/mod_auth.c, modules/mod_core.c,
48636	src/dirtree.c: Bug#1838 - Since 1.2.6: in add_useralias() setting
48637	flag CF_MERGEDOWN breaks aliased anonymous functionality.
48638
486392002-11-18  castaglia <castaglia>
48640
48641	* modules/mod_xfer.c: Minor problem with HiddenStores (related to
48642	the making of HiddenStores a synonym for HiddenStor, with the
48643	eventual goal of deprecating HiddenStor in favor of HiddenStores).
48644
486452002-11-18  castaglia <castaglia>
48646
48647	* modules/mod_auth.c: Handling of ShowSymlinks in this module still
48648	used get_param_int() rather than get_param_ptr().
48649
486502002-11-18  castaglia <castaglia>
48651
48652	* NEWS, modules/mod_core.c: Bug#1844 - DisplayLogin %y macro is off
48653	by 1.
48654
486552002-11-18  castaglia <castaglia>
48656
48657	* NEWS, include/pr-syslog.h: Bug#1840 - Problem with syslog default
48658	destination on HP-UX.
48659
486602002-11-17  jwm <jwm>
48661
48662	* utils/.cvsignore: ignore ftptop
48663
486642002-11-17  jwm <jwm>
48665
48666	* lib/pr-syslog.c: cast the return value from getpid() to silence a
48667	compiler warning under solaris
48668
486692002-11-15  jwm <jwm>
48670
48671	* contrib/dist/rpm/proftpd.spec: d'oh - /etc/logrotate.d/ should
48672	exist in $RPM_BUILD_ROOT before I try to put stuff in it...
48673
486742002-11-15  castaglia <castaglia>
48675
48676	* ChangeLog, NEWS, include/version.h: Ramping up for 1.2.7rc3
48677	release.
48678
486792002-11-15  castaglia <castaglia>
48680
48681	* utils/ftptop.c: Portability/compiler warning hack.  *sigh*
48682
486832002-11-15  castaglia <castaglia>
48684
48685	* modules/mod_xfer.c: Necessary typecasts to avoid compiler warnings
48686	(seen on Solaris 2.8).
48687
486882002-11-15  castaglia <castaglia>
48689
48690	* modules/mod_log.c: Style cleanup.
48691
486922002-11-14  castaglia <castaglia>
48693
48694	* modules/mod_auth.c: More hassle/work with MaxClientsPerHost (see
48695	Bug#1830, Bug#1831).
48696
486972002-11-14  castaglia <castaglia>
48698
48699	* contrib/ftpasswd: Forgot to increment the displayed $version.
48700
487012002-11-14  castaglia <castaglia>
48702
48703	* NEWS: Attributing proper credit. =)
48704
487052002-11-14  castaglia <castaglia>
48706
48707	* contrib/ftpasswd: Minor doc change.
48708
487092002-11-14  castaglia <castaglia>
48710
48711	* NEWS, contrib/ftpasswd: Adding/changing ftpasswd error exit
48712	values.
48713
487142002-11-14  jwm <jwm>
48715
48716	* Makefile.in: we don't need to worry about removing the
48717	autoconf-processed proftpd.spec anymore (this wasn't even the right
48718	path to it, anyway)
48719
487202002-11-13  castaglia <castaglia>
48721
48722	* NEWS, modules/mod_auth.c: Bug#1830 - MaxClientsPerHost (small)
48723	Bug.
48724
487252002-11-13  castaglia <castaglia>
48726
48727	* NEWS, modules/mod_xfer.c: Bug#1810 - Wrong permissions assigned to
48728	uploaded file
48729
487302002-11-13  castaglia <castaglia>
48731
48732	* NEWS, utils/ftpwho.c: Bug#1815 - Patch to add class information to
48733	ftpwho (with verbose on)
48734
487352002-11-13  castaglia <castaglia>
48736
48737	* src/dirtree.c: Add debugging output mentioning the configuration
48738	file being parsed at debug level 2.
48739
487402002-11-12  castaglia <castaglia>
48741
48742	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: Fix
48743	handling/lookup of Timeouts.
48744
487452002-11-12  castaglia <castaglia>
48746
48747	* configure: Updating configure script.
48748
487492002-11-12  castaglia <castaglia>
48750
48751	* configure.in: Minor whitespace quibble.
48752
487532002-11-12  jwm <jwm>
48754
48755	* .cvsignore: ignore ftptop, autom4te.cache
48756
487572002-11-12  jwm <jwm>
48758
48759	* configure: updated configure
48760
487612002-11-12  jwm <jwm>
48762
48763	* Make.rules.in, configure.in: oops, accidentally reverted TJ's
48764	changes
48765
487662002-11-12  jwm <jwm>
48767
48768	* Make.rules.in, Makefile.in, NEWS, configure.in: Only link ftptop
48769	with lib{n,}curses - it isn't needed in any other binaries
48770
487712002-11-12  castaglia <castaglia>
48772
48773	* configure: Updating the configure script.
48774
487752002-11-12  castaglia <castaglia>
48776
48777	* Make.rules.in, NEWS, configure.in: Bug#1703 - mod_sql_mysql
48778	compile error.
48779
487802002-11-12  castaglia <castaglia>
48781
48782	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Bug#1760 -
48783	AllowOverwrite not operational.
48784
487852002-11-11  jwm <jwm>
48786
48787	* utils/.cvsignore: ignore Makefile, object and editor backup files
48788
487892002-11-05  jwm <jwm>
48790
48791	* NEWS, include/modules.h, modules/mod_auth.c, src/auth.c: Bug 1818
48792	- proftpd doesn't compile on hpux11
48793
487942002-11-04  jwm <jwm>
48795
48796	* configure: updated configure
48797
487982002-11-04  jwm <jwm>
48799
48800	* NEWS, config.h.in, configure.in, utils/ftptop.c: ftptop can now
48801	use either curses or ncurses Based on a submission by: Ayamura KIKUCHI <ayamura@ayamura.org>
48802
488032002-11-03  jwm <jwm>
48804
48805	* NEWS, src/scoreboard.c: Bug 1814 - class names are truncated in
48806	scoreboard entry
48807
488082002-11-02  jwm <jwm>
48809
48810	* contrib/dist/rpm/proftpd.spec: forgot to add logrotate to %files
48811
488122002-11-02  jwm <jwm>
48813
48814	* NEWS: update
48815
488162002-11-02  jwm <jwm>
48817
48818	* contrib/dist/rpm/proftpd.logrotate, contrib/dist/rpm/proftpd.spec:
48819	Bug 1398 - there is no log rotate for /var/log/xferlog
48820
488212002-11-02  jwm <jwm>
48822
48823	* modules/mod_auth.c: style, whitespace
48824
488252002-11-02  jwm <jwm>
48826
48827	* contrib/mod_ratio.c: clean up compiler warnings
48828
488292002-11-02  jwm <jwm>
48830
48831	* NEWS, contrib/dist/rpm/proftpd.spec: Bug 1772 - Docs fixup in RPM
48832	spec file
48833
488342002-11-02  jwm <jwm>
48835
48836	* configure: update configure
48837
488382002-11-02  jwm <jwm>
48839
48840	* configure.in: don't preprocess the rpm spec
48841
488422002-11-02  jwm <jwm>
48843
48844	* contrib/dist/rpm/proftpd.spec: having autoconf process
48845	proftpd.spec.in is silly - it's only that way to substitute the
48846	@VERSION@ tag.
48847
488482002-11-02  jwm <jwm>
48849
48850	* NEWS: update
48851
488522002-11-02  jwm <jwm>
48853
48854	* README.PAM, config.h.in: Bug 1805 - PAM support under Mac OS X
48855
488562002-11-02  jwm <jwm>
48857
48858	* README.PAM: style
48859
488602002-11-02  jwm <jwm>
48861
48862	* NEWS, config.h.in, configure.in, include/conf.h: Bug 1803 - Check
48863	for SIZEOF_UNSIGNED_LONG_LONG to determine LFS support breaks some
48864	Linux installations
48865
488662002-10-30  castaglia <castaglia>
48867
48868	* NEWS: Typo.
48869
488702002-10-30  castaglia <castaglia>
48871
48872	* NEWS, contrib/mod_wrap.c: Bug#1800 - Proftpd child segfaults when
48873	ussing a PASS without no USER first.
48874
488752002-10-30  castaglia <castaglia>
48876
48877	* NEWS: Typos.
48878
488792002-10-30  castaglia <castaglia>
48880
48881	* NEWS, modules/mod_auth.c: Fixing broken AuthAliasOnly, so that it
48882	does as described in the docs (it had been broken by Bug#1567).
48883
488842002-10-29  castaglia <castaglia>
48885
48886	* utils/ftpcount.c, utils/ftpwho.c, utils/utils.h: Modifying the
48887	handling of struct option in these files.  A change had been made
48888	earlier in CVS to get these utilities to compile properly under IRIX
48889	(which has a <getopt.h> that does not define struct option);
48890	unfortunately, that change made it such that on Solaris, the
48891	utilities did not compile.  The modifications committed bring the
48892	handling of struct option in the utilities to be like that of the
48893	main proftpd binary, which consequently is handled properly under
48894	Solaris, IRIX, BSD, and Linux.  Hopefully this concludes this getopt
48895	issue in the utilities.
48896
488972002-10-29  castaglia <castaglia>
48898
48899	* modules/mod_auth.c, modules/mod_core.c: More get_param_int()
48900	cleanup (this function will cause grief on LP64 architectures, where
48901	pointer sizes are different and passing pointers to stack values is
48902	a Bad Thing).  This patch moves all the MaxClients*/MaxHosts*
48903	directives into mod_auth, makes them all consistently use pointers,
48904	and corrects a small datatype underflow bug that crept in with the
48905	introduction of MaxClientsPerUser (oops).
48906
489072002-10-29  jwm <jwm>
48908
48909	* src/data.c: * style * Make sure session.xfer uses cleared memory so unset structure
48910	  members won't contain random values.
48911
489122002-10-29  jwm <jwm>
48913
48914	* NEWS: Make sure session.xfer uses cleared memory so unset
48915	structure members won't contain random values.
48916
489172002-10-28  castaglia <castaglia>
48918
48919	* configure: Updating configure script.
48920
489212002-10-28  castaglia <castaglia>
48922
48923	* NEWS, config.h.in, configure.in, include/support.h,
48924	modules/mod_core.c, src/support.c: Bug#1722 - Can't work magic
48925	cookie %F on FreeBSD.
48926
489272002-10-28  castaglia <castaglia>
48928
48929	* src/data.c: Removed unnecessary log_debug() calls from
48930	data_sendfile().  Part of this is because of the headache involved
48931	with getting the proper format specifiers into the log_debug() calls
48932	-- too much effort for little return.
48933
489342002-10-28  castaglia <castaglia>
48935
48936	* modules/mod_xfer.c, src/dirtree.c, src/inet.c, src/log.c,
48937	src/main.c, utils/ftpcount.c, utils/ftptop.c, utils/ftpwho.c: Added
48938	typecast to int in is*() functions for picky Solaris.
48939
489402002-10-28  castaglia <castaglia>
48941
48942	* include/conf.h: Adding some necessary function prototypes for AIX,
48943	when compiled using -D_NO_PROTO.
48944
489452002-10-26  castaglia <castaglia>
48946
48947	* modules/mod_auth.c, utils/utils.h: Fixing signedness variable
48948	check in mod_auth Fixed a missing definition in utils/utils.h which
48949	afflicted systems that don't have the getopt_long() function.
48950
489512002-10-25  castaglia <castaglia>
48952
48953	* include/modules.h, modules/mod_log.c, src/main.c,
48954	utils/ftpcount.c: Fixing some function pointer scopes, removing
48955	unused variables -- general cleanup due to compiler complaints on
48956	IRIX.
48957
489582002-10-25  castaglia <castaglia>
48959
48960	* src/main.c: Re-adding logging of SIGSEGVs.
48961
489622002-10-24  castaglia <castaglia>
48963
48964	* modules/mod_auth.c: Correcting an off-by-one error concerning the
48965	enforcement of MaxClients.
48966
489672002-10-24  castaglia <castaglia>
48968
48969	* NEWS: Forgot to note that Bug#1745 was fixed in 1.2.7rc1.
48970
489712002-10-24  castaglia <castaglia>
48972
48973	* configure: Updating configure script.
48974
489752002-10-24  castaglia <castaglia>
48976
48977	* NEWS, configure.in: Bug#1287 - Error compile with autoshadow
48978	option
48979
489802002-10-24  castaglia <castaglia>
48981
48982	* configure: Updating configure script.
48983
489842002-10-24  castaglia <castaglia>
48985
48986	* configure.in: Fixing up the configure script to handle the case
48987	where the admin forgets to (or just plain doesn't) provide a value
48988	for the new --enable-* tunable configure options.  It was simply
48989	writing the "yes"/"no" strings into the headers -- not what I
48990	wanted.  Now, configure will emit a warning if no values are
48991	explicitly provided, and will use the default numbers.  Otherwise,
48992	it will use the value provided.
48993
489942002-10-24  castaglia <castaglia>
48995
48996	* README.AIX: Adding remark reminding AIX users to avoid use of
48997	--enable-autoshadow and --enable-shadow in their configure options.
48998
489992002-10-23  castaglia <castaglia>
49000
49001	* configure: Updating configure script to match changes/fixes to
49002	configure.in.
49003
490042002-10-23  castaglia <castaglia>
49005
49006	* NEWS, config.h.in, configure.in, include/options.h,
49007	include/scoreboard.h, utils/utils.h: Fixed configure script handling
49008	  of ncurses detection (was not #define'ing HAVE_LIBNCURSES properly)
49009	Added --enable-scoreboard-buffer-size option to the other "tunable"
49010	  configure options, for tuning the size of sce_cmd, sce_cwd.
49011
490122002-10-23  castaglia <castaglia>
49013
49014	* modules/mod_site.c: Fixing requirement of auth chk for SITE
49015	commands CHGRP and CHMOD.
49016
490172002-10-22  castaglia <castaglia>
49018
49019	* include/version.h: Making CVS look ready for rc3.
49020
490212002-10-22  castaglia <castaglia>
49022
49023	* ChangeLog, NEWS, include/version.h: Preparing for release of
49024	1.2.7rc2.
49025
490262002-10-21  castaglia <castaglia>
49027
49028	* contrib/mod_wrap.c: Fixed a minor file descriptor leak in mod_wrap
49029	(affects only the child process, not the daemon process).
49030
490312002-10-21  castaglia <castaglia>
49032
49033	* configure: Updating configure script for added --enable* options.
49034
490352002-10-21  castaglia <castaglia>
49036
49037	* NEWS, config.h.in, configure.in, contrib/mod_radius.c,
49038	contrib/mod_ratio.c, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
49039	contrib/mod_sql_postgres.c, doc/license.txt, include/dirtree.h,
49040	include/options.h, include/pool.h, lib/pr-syslog.c, lib/pwgrent.c,
49041	modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
49042	modules/mod_site.c, modules/mod_xfer.c, src/data.c, src/dirtree.c,
49043	src/ident.c, src/inet.c, src/log.c, src/main.c, src/modules.c,
49044	src/netio.c, src/pool.c, src/regexp.c, src/support.c: Large style
49045	  cleanup: - added PR_ prefix to TUNABLE_ macros   - renamed command handlers in some modules (from cmd_* to
49046	    <module-name>_*) in order to better exemplify module namespace
49047	  conventions - removed extraneous make_named_sub_pool() (added macro for backward     compatibility for contrib modules)   - lots of trivial whitespace changes Hopefully I didn't break anything too major with this.
49048
490492002-10-19  flyhmstr <flyhmstr>
49050
49051	* doc/faq.html: ML: new FAQ issue
49052
490532002-10-18  castaglia <castaglia>
49054
49055	* src/auth.c: Fixed a bad bug, introduced with the Cygwin changes (I
49056	think).  setgid() will not be called if the platform doesn't have
49057	setgroups() due to the placement of the HAVE_SETGROUPS #ifdefs.  I
49058	don't know if this change will break stuff under Cygwin, but the
49059	current placement of those #ifdefs won't do.
49060
490612002-10-18  castaglia <castaglia>
49062
49063	* NEWS, modules/mod_core.c: Fixed typo in NEWS Added handler for
49064	 ScoreboardPath directive, which will report on the deprecated nature
49065	 of the directive, and inform the admin of using the newer
49066	 ScoreboardFile instead.  Hopefully this will help ease (somewhat)
49067	the upgrade to 1.2.7.
49068
490692002-10-18  castaglia <castaglia>
49070
49071	* NEWS, utils/ftptop.c: Bug#1778 - 1.2.7rc1 fails to link on OpenBSD
49072	3.2-current
49073
490742002-10-18  flyhmstr <flyhmstr>
49075
49076	* doc/Configuration.html: ML: updated to include mod_radius stuff
49077
490782002-10-18  flyhmstr <flyhmstr>
49079
49080	* doc/Configuration.html, doc/faq.html: ML: updated directivelist
49081	and faq
49082
490832002-10-18  castaglia <castaglia>
49084
49085	* NEWS, modules/mod_ls.c: Bug#1785 - Bad handling of symlinks
49086
490872002-10-17  castaglia <castaglia>
49088
49089	* src/auth.c, src/data.c, src/dirtree.c, src/inet.c, src/log.c,
49090	src/main.c, src/modules.c, src/pool.c, src/regexp.c,
49091	src/scoreboard.c, src/support.c: Cleanliness/style: changing core
49092	code to use PR_LOG_* instead of LOG_*.  Contrib modules may need to
49093	be changed to use PR_LOG_* in the future.
49094
490952002-10-16  castaglia <castaglia>
49096
49097	* NEWS, modules/mod_log.c: Bug#1644 - LogFormat local IP and FQDN
49098	tags missing
49099
491002002-10-15  castaglia <castaglia>
49101
49102	* README.AIX: Updating this README with the CFLAGS that seem to work
49103	with the newer proftpd versions.
49104
491052002-10-15  castaglia <castaglia>
49106
49107	* modules/mod_xfer.c: Missed the assignment of session.xfer.path in
49108	cmd_stor() in the previous commit.
49109
491102002-10-15  castaglia <castaglia>
49111
49112	* include/proftpd.h, modules/mod_xfer.c, src/data.c: Removing some
49113	cruft from session.xfer, fixing some whitespace styling.
49114	Significant change is moving session.xfer.path so that it is not
49115	allocated from session.xfer.p (a pool with a bad name =P), but
49116	rather is the string originally allocated in the PRE_CMD handler,
49117	from cmd->pool.  There is no reason for the path to be reallocated
49118	again from session.xfer.p (unless any functions manipulate that
49119	buffer, which they shouldn't, and which none currently do), and, in
49120	some cases, ASCII CRLF handling was causing corruption of that
49121	buffer.
49122
491232002-10-15  castaglia <castaglia>
49124
49125	* src/log.c: Make sure log_openfile() returns the same error values
49126	as #defined in include/log.h.
49127
491282002-10-15  castaglia <castaglia>
49129
49130	* src/auth.c: Need to handle case in set_groups() where suppl_gids
49131	might be non-NULL, but the contained number of gids
49132	(suppl_gids->nelts) is zero.  This was causing a segfault, for
49133	memory was being allocated (of length zero) which was then being
49134	cleared.
49135
491362002-10-14  castaglia <castaglia>
49137
49138	* NEWS, modules/mod_auth.c, src/main.c, src/modules.c: Changing
49139	place in code where switching to the User/Group for a vhost occurs,
49140	so that it happens prior to the calling of any modules' session
49141	initialization callbacks.
49142
491432002-10-10  castaglia <castaglia>
49144
49145	* NEWS, modules/mod_auth.c: Bug#1770 - Forgetting to check for no IP
49146	in string
49147
491482002-10-09  castaglia <castaglia>
49149
49150	* NEWS, modules/mod_auth.c, src/auth.c, src/dirtree.c,
49151	src/support.c: Bug#1769 - Lack of supplemental groups can cause
49152	segfault.
49153
491542002-10-09  flyhmstr <flyhmstr>
49155
49156	* doc/Configuration.html: ML: updated directive list ready for
49157	1.2.7rc2
49158
491592002-10-08  castaglia <castaglia>
49160
49161	* modules/mod_xfer.c: Oops.  Should always use the FS API functions
49162	for FS operations.
49163
491642002-10-08  castaglia <castaglia>
49165
49166	* modules/mod_xfer.c: Clean up files created by mkstemp(3) if other
49167	checks (e.g. <Limit>) fail.  Discrepancy noticed by Joao Gouveia
49168	<tharbad@kaotik.org>.
49169
491702002-10-08  castaglia <castaglia>
49171
49172	* NEWS, src/main.c: Bug#1759 - ftpwho shows much more connections
49173	than realy is.
49174
491752002-10-08  jwm <jwm>
49176
49177	* README, README.AIX, README.modules: style nit
49178
491792002-10-08  castaglia <castaglia>
49180
49181	* CREDITS, INSTALL, Makefile.in, README, README.AIX,
49182	README.modules, README.ports: Updating documentation, fixing 'make
49183	clean' target.  Thanks to Michael Renner for these patches.
49184
491852002-10-07  castaglia <castaglia>
49186
49187	* INSTALL, README.modules: Removing references to crufty old
49188	mod_test.
49189
491902002-10-07  castaglia <castaglia>
49191
49192	* INSTALL: Changing mention of ScoreboardPath to ScoreboardFile.
49193
491942002-10-07  castaglia <castaglia>
49195
49196	* sample-configurations/complex-virtual.conf: Updating more example
49197	configs.
49198
491992002-10-07  castaglia <castaglia>
49200
49201	* sample-configurations/PFTEST.shadow: Match username 'proftpd' in
49202	the test passwd file.
49203
492042002-10-07  castaglia <castaglia>
49205
49206	* sample-configurations/PFTEST.conf.in: Updating config for 1.2.7
49207	release cycle (ScoreboardPath -> ScoreboardFile).
49208
492092002-10-04  castaglia <castaglia>
49210
49211	* utils/ftptop.c: Adding kludge to ftptop that scans the config file
49212	for a non-default ScoreboardFile directive.
49213
492142002-10-04  castaglia <castaglia>
49215
49216	* src/scoreboard.c: Amend the addition of using fchmod() on the
49217	scoreboard to make the mode 0644, rather than 0444.  This allows for
49218	non-root daemons to still be able to use the scoreboard.  Thanks to
49219	Michael Renner for noting this.
49220
492212002-10-04  castaglia <castaglia>
49222
49223	* NEWS, modules/mod_xfer.c: Bug#1735 - Proftpd 1.2.6 compiled on
49224	FreeBSD 4.6.2 exits on signal 11
49225
492262002-10-04  castaglia <castaglia>
49227
49228	* src/scoreboard.c: Addition borne of paranoia inspired by recent
49229	Apache scoreboarding vulnerability.
49230
492312002-10-03  castaglia <castaglia>
49232
49233	* modules/mod_auth.c: Fixing off-by-one error in MaxClientsPerHost
49234	check.
49235
492362002-10-03  castaglia <castaglia>
49237
49238	* CREDITS: Adding thanks/credits for unnamed users who contribute to
49239	the project.
49240
492412002-10-03  castaglia <castaglia>
49242
49243	* modules/mod_site.c, src/main.c: Some style-related cleanups.
49244	Still working on that HELP SITE code - had the tertiary operator
49245	parameters in the wrong order (and it was apparently causing a
49246	segfault).
49247
492482002-10-02  castaglia <castaglia>
49249
49250	* NEWS, src/netio.c: Bug#1757 - non-ANSI Syntax in netio.c
49251
492522002-10-02  castaglia <castaglia>
49253
49254	* include/version.h: Updating the version, preparing for the next
49255	CVS/release.
49256
492572002-10-02  castaglia <castaglia>
49258
49259	* modules/mod_site.c: Fixing support for 'HELP SITE' (common) in
49260	addition to 'SITE HELP' (proper).
49261
492622002-10-02  castaglia <castaglia>
49263
49264	* src/main.c: Cleaning up a badly-written preprocessor directive (my
49265	fault).
49266
492672002-10-02  castaglia <castaglia>
49268
49269	* utils/scoreboard.c: Prevent egregious ENOENT error when reading
49270	the scoreboard.
49271
492722002-10-01  castaglia <castaglia>
49273
49274	* ChangeLog, NEWS, include/version.h: Preparing for release of
49275	1.2.7rc1.
49276
492772002-10-01  castaglia <castaglia>
49278
49279	* modules/mod_auth.c: Minor wording correction for default
49280	MaxClientsPerUser message.
49281
492822002-10-01  castaglia <castaglia>
49283
49284	* NEWS, modules/mod_auth.c: Bug#1675 - add new MaxClientsPerUser
49285	           configuration option.  Works just like MaxHostsPerUser.
49286
492872002-10-01  jwm <jwm>
49288
49289	* configure: updated configure
49290
492912002-10-01  jwm <jwm>
49292
49293	* configure.in: Fix for broken headers in OS X 10.1 Submitted by:
49294	Thomas Ganter <tganter@mac.com>
49295
492962002-09-30  castaglia <castaglia>
49297
49298	* NEWS, contrib/mod_sql.c: Bug#1694 - SQLLog QUIT doesn't execute on
49299	connection close.  With the various changes to mod_sql (SQLNegativeCache, etc), I'm
49300	bumping its version to 4.10.
49301
493022002-09-30  castaglia <castaglia>
49303
49304	* NEWS: Forgot to note that Bug#1748 had been fixed.
49305
493062002-09-30  castaglia <castaglia>
49307
49308	* NEWS, include/modules.h, modules/mod_auth.c, modules/mod_core.c,
49309	modules/mod_site.c, src/main.c: Bug#1475 - Minor changes to SITE
49310	command handling.
49311
493122002-09-28  castaglia <castaglia>
49313
49314	* modules/mod_site.c: Helps if I put the full code from the fix in
49315	CVS, doesn't it?
49316
493172002-09-28  castaglia <castaglia>
49318
49319	* include/privs.h, modules/mod_site.c: Casting and variable type fun
49320	(based on compiler complaints).
49321
493222002-09-28  castaglia <castaglia>
49323
49324	* utils/ftptop.c: With the addition of the sce_server_addr field to
49325	the scoreboard entry struct, ftptop no longer needs to use
49326	inet_ntoa(3) to stringify the server IP address.
49327
493282002-09-27  castaglia <castaglia>
49329
49330	* NEWS: Bug#1572 - Need to use pam_end() to close session on Solaris
49331	8.  The cause turned out to be a need to always call pam_end() after
49332	pam_authenticate().
49333
493342002-09-27  castaglia <castaglia>
49335
49336	* include/scoreboard.h, src/scoreboard.c, utils/utils.h: Seems that
49337	gcc-3 has some quirks when it comes to variadic functions.
49338	Adjusting to compensate.
49339
493402002-09-27  castaglia <castaglia>
49341
49342	* src/scoreboard.c: Try to handle cases where NULLs might be
49343	(inappropriately) sent to pr_scoreboard_update_entry().
49344
493452002-09-27  castaglia <castaglia>
49346
49347	* utils/ftptop.c, utils/utils.h: Make sure that the utils compile on
49348	platforms that don't have <getopt.h>
49349
493502002-09-26  castaglia <castaglia>
49351
49352	* include/scoreboard.h, modules/mod_auth.c, src/scoreboard.c,
49353	utils/ftptop.c, utils/ftpwho.c, utils/utils.h: Adding display of
49354	server (IP address/port) string to ftpwho (when -v is used).
49355
493562002-09-26  castaglia <castaglia>
49357
49358	* utils/ftptop.c: Removed an unused variable.
49359
493602002-09-26  castaglia <castaglia>
49361
49362	* utils/utils.h: Keeping this in sync with include/scoreboard.h
49363
493642002-09-26  castaglia <castaglia>
49365
49366	* src/main.c: Make clearing the scoreboard slot one of the first
49367	things that happens when a child exits.
49368
493692002-09-26  castaglia <castaglia>
49370
49371	* utils/ftpwho.c: Adjusting the spacing of ftpwho fields, trying to
49372	make the output prettier.
49373
493742002-09-26  castaglia <castaglia>
49375
49376	* include/scoreboard.h, src/main.c, src/scoreboard.c: Adjusting some
49377	of the scoreboard entry sizes to be smaller (we can always make them
49378	larger later, if need be).  Also adding the clearing of a scoreboard
49379	slot in the case of a SIGSEGV in the signal handler itself.
49380
493812002-09-26  castaglia <castaglia>
49382
49383	* NEWS, contrib/mod_radius.c: Bug#1687 - Add contrib module for
49384	RADIUS authentication, accounting
49385
493862002-09-26  castaglia <castaglia>
49387
49388	* NEWS, src/dirtree.c: Bug#1732 - No checking for NULL at inet_ascii
49389	and pr_fnmatch.  The fix for this now allows for "inline" comments
49390	in the lines of a proftpd.conf file, e.g.:     Port 21 # Some comment here whereas before, that "# Some comment here" would be tokenized and
49391	treated as normal input into the configuration directive handler.
49392
493932002-09-26  castaglia <castaglia>
49394
49395	* NEWS, include/privs.h: Bug#1395 - Check return values in PRIVS
49396	calls
49397
493982002-09-26  castaglia <castaglia>
49399
49400	* src/main.c: No need to complain of scoreboard slot cleaning error
49401	when we're not a child process (e.g. when the daemon is shutting
49402	down).
49403
494042002-09-25  castaglia <castaglia>
49405
49406	* configure: And the necessary delayed commit of the new configure
49407	script, to match the configure.in tweaks.
49408
494092002-09-25  castaglia <castaglia>
49410
49411	* configure.in: Needing to tweak this, in order to get the
49412	timestamps on configure.in and configure files in the CVS repository
49413	to be what we need them to be.
49414
494152002-09-25  castaglia <castaglia>
49416
49417	* utils/Makefile.in, utils/ftpcount.c, utils/ftpshut.c,
49418	utils/ftptop.c, utils/ftpwho.c, utils/misc.c, utils/scoreboard.c,
49419	utils/utils.h: Populating the new utils/ sub-directory with the
49420	source code files for the ftpcount, ftpwho, ftptop, ftpshut
49421	utilities.
49422
494232002-09-25  castaglia <castaglia>
49424
49425	* NEWS: Forgot to update the NEWS file for the scoreboard changes.
49426
494272002-09-25  castaglia <castaglia>
49428
49429	* Make.rules.in, Makefile.in, config.h.in, configure, configure.in,
49430	contrib/mod_sql.c, include/conf.h, include/log.h, include/privs.h,
49431	include/scoreboard.h, include/version.h, lib/Makefile.in,
49432	modules/Makefile.in, modules/mod_auth.c, modules/mod_core.c,
49433	modules/mod_xfer.c, src/Makefile.in, src/log.c, src/main.c,
49434	src/scoreboard.c, src/support.c: Bug#1713 - Scoreboard changes.
49435	This simple statement covers quite a few changes.
49436
494372002-09-25  jwm <jwm>
49438
49439	* modules/mod_xfer.c: * style * silence a compiler warning with a cast (the Cast Nazi yields
49440	  ground: film at eleven)
49441
494422002-09-25  jwm <jwm>
49443
49444	* src/sets.c: style
49445
494462002-09-25  jwm <jwm>
49447
49448	* lib/glibc-mkstemp.c, lib/strsep.c, lib/vsnprintf.c: * style * silence ranlib warnings if the host OS already has the appropriate   functions
49449
494502002-09-23  castaglia <castaglia>
49451
49452	* src/main.c: Corrections in comments.
49453
494542002-09-23  castaglia <castaglia>
49455
49456	* src/main.c: Make necessary modification to handling of SIGCHLD, in
49457	order to prevent nasty segfaults under non-POSIX, SVR4 systems (e.g.
49458	IRIX).  Explanatory comments in sig_child() handler.
49459
494602002-09-21  jwm <jwm>
49461
49462	* README.LDAP: * update for 2.8.10 * postcard-ware
49463
494642002-09-21  jwm <jwm>
49465
49466	* contrib/mod_ldap.c: mod_ldap is now postcard-ware
49467
494682002-09-19  castaglia <castaglia>
49469
49470	* sample-configurations/basic.conf: Fix the grammar in the default
49471	configuration file a little, and make a minor optimization:
49472	<Directory /*> is not really needed, as <Directory /> suffices.
49473
494742002-09-16  castaglia <castaglia>
49475
49476	* contrib/mod_sql.c: Changed this logging level, so that it does not
49477	show up at DEBUG0 (which is the default log level, or at least
49478	included in the default logging levels).
49479
494802002-09-15  jwm <jwm>
49481
49482	* Makefile.in, NEWS: Bug 1726 - Cygwin's Makefile inconsistency
49483
494842002-09-13  castaglia <castaglia>
49485
49486	* Make.rules.in, NEWS, include/conf.h, include/inet.h,
49487	include/netio.h, lib/Makefile.in, modules/Makefile.in,
49488	modules/mod_core.c, modules/mod_ls.c, modules/mod_xfer.c,
49489	src/Makefile.in, src/data.c, src/ident.c, src/inet.c, src/main.c,
49490	src/netio.c: Adding the NetIO API.
49491
494922002-09-13  castaglia <castaglia>
49493
49494	* NEWS, modules/mod_xfer.c: Bug#1736 - RETR does not handle an
49495	inappropriate REST
49496
494972002-09-13  castaglia <castaglia>
49498
49499	* NEWS, include/dirtree.h, modules/mod_core.c, modules/mod_ls.c,
49500	src/dirtree.c: Bug#1737 - Enhance file hiding via regular
49501	expressions
49502
495032002-09-13  castaglia <castaglia>
49504
49505	* contrib/mod_sql.c: Make this particular mod_sql log message a
49506	little less urgent.
49507
495082002-09-13  castaglia <castaglia>
49509
49510	* modules/mod_auth.c: Slight correction in the config context used
49511	for looking up any configured TimeoutSession.
49512
495132002-09-13  castaglia <castaglia>
49514
49515	* NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c,
49516	src/data.c, src/dirtree.c: Bug#1436 - Feature Enhancement: Timeouts
49517	on a <Virtualhost> basis
49518
495192002-09-13  castaglia <castaglia>
49520
49521	* modules/mod_auth.c: When unable to chdir to a directory, when
49522	logging in, add reporting of errno.
49523
495242002-09-13  castaglia <castaglia>
49525
49526	* NEWS, include/proftpd.h, modules/mod_core.c, src/main.c: Bug#1658
49527	- Separate session/daemon resource limit settings.
49528
495292002-09-13  jwm <jwm>
49530
49531	* configure: Updated configure from last configure.in commit
49532
495332002-09-13  jwm <jwm>
49534
49535	* configure.in: You can't explicitly include sys/sendfile.h when
49536	compiling with large file support.  Submitted by: Jan Kasprzak <kas@informatics.muni.cz>
49537	http://www.geocrawler.com/lists/3/SourceForge/9189/0/9566710/
49538
495392002-09-13  jwm <jwm>
49540
49541	* contrib/mod_ratio.c: * anonymous ratios are now looked up by the e-mail address used * make sure g.user is defined so the ratio is recorded for
49542	*something* Submitted by: Benjamin Schieder <bs1544@bingo-ev.de>
49543	http://www.geocrawler.com/lists/3/SourceForge/9190/75/9539913/
49544
495452002-09-12  castaglia <castaglia>
49546
49547	* modules/mod_log.c: Missed a Boolean...
49548
495492002-09-12  castaglia <castaglia>
49550
49551	* modules/mod_log.c: Fixed minor problem with duplicate logging:
49552	mod_log was a) looking in the wrong context, and b) recursing
49553	through configuration subsets in an attempt to fix its wrong context
49554	starting point.  Should be remedied now.
49555
495562002-09-11  castaglia <castaglia>
49557
49558	* doc/mod_sample.c: Updating the code in the mod_sample.c file to
49559	demonstrate things a little better.
49560
495612002-09-10  castaglia <castaglia>
49562
49563	* modules/mod_xfer.c: Helps if uploads/downloads actually
49564	work...oops. =P
49565
495662002-09-10  castaglia <castaglia>
49567
49568	* NEWS, modules/mod_xfer.c: Bug#1065 - Added MaxRetrieveFileSize,
49569	MaxStoreFileSize directives.
49570
495712002-09-10  castaglia <castaglia>
49572
49573	* NEWS, modules/mod_log.c: Bug#1669 - Filename meta (%f) not
49574	           correctly expanded for some commands in WRITE logging class.  This
49575	           will necessitate discussion on the current state of proftpd's
49576	logging variables.
49577
495782002-09-10  castaglia <castaglia>
49579
49580	* src/main.c: Removed an unused variable.
49581
495822002-09-10  jwm <jwm>
49583
49584	* modules/mod_xfer.c: fixup
49585
495862002-09-10  castaglia <castaglia>
49587
49588	* NEWS, modules/mod_core.c, modules/mod_ls.c, src/data.c,
49589	src/support.c: Bug#1486 - lots of changes made to code, adding
49590	           buffers in an attempt to optimize directory listings and ASCII file
49591	           translation.  We'll see how many bugs are added with this commit =).
49592
495932002-09-10  castaglia <castaglia>
49594
49595	* NEWS, include/conf.h: Bug#1662 - #define _GNU_SOURCE, which will
49596	           quell some compiler warnings (e.g. the crypt() warning when using
49597	mod_sql).
49598
495992002-09-10  jwm <jwm>
49600
49601	* modules/mod_xfer.c: minor format-type fixups
49602
496032002-09-09  jwm <jwm>
49604
49605	* src/main.c: style
49606
496072002-09-09  castaglia <castaglia>
49608
49609	* src/main.c: No comment.
49610
496112002-09-09  castaglia <castaglia>
49612
49613	* src/main.c: Spoke too soon. =P
49614
496152002-09-09  castaglia <castaglia>
49616
49617	* src/main.c: Don't forget to append the "proftpd: " prefix for
49618	non-setproctitle(2) platforms.  Hopefully this ends our fun with
49619	Bug#1649.
49620
496212002-09-09  uid43859 <uid43859>
49622
49623	* lib/pr-syslog.c: Solaris doesn't have the macro LOG_PRI()
49624
496252002-09-09  uid43859 <uid43859>
49626
49627	* src/main.c: fixed & cleaned up #defines
49628
496292002-09-09  jwm <jwm>
49630
49631	* src/main.c: Fixing the fix for Bug#1649 - the #ifdefs didn't
49632	actually change anything
49633
496342002-09-07  castaglia <castaglia>
49635
49636	* lib/pr-syslog.c: Forgot to bracket use of __progname in #ifdefs,
49637	as not every platform's libc supports __progname.
49638
496392002-09-07  castaglia <castaglia>
49640
49641	* src/main.c: Need to match datatypes for the unixpw_persistent
49642	variable in main.c and mod_unixpw.c
49643
496442002-09-07  castaglia <castaglia>
49645
49646	* NEWS: Oops.  Wrong bug number.
49647
496482002-09-07  castaglia <castaglia>
49649
49650	* modules/mod_core.c: Oops.  Forgot to cleanup my debugging/logging.
49651
496522002-09-06  castaglia <castaglia>
49653
49654	* NEWS, modules/mod_core.c, src/main.c: Bug#1652 - add a
49655	           MaxConnectionRate directive, for configuration a connection rate
49656	           limiting mechanism.  This mechanism is really only effective when
49657	           running proftpd in standalone mode; if using inet/xinetd, those
49658	           daemons have their own connection rate limiting mechanisms.
49659
496602002-09-06  castaglia <castaglia>
49661
49662	* NEWS, src/main.c: Bug#1432 - adding check to function handling FTP
49663	           commands received from clients to be more strictly RFC959-compliant:
49664	           leading whitespace before the FTP command is now not allowed.
49665
496662002-09-06  castaglia <castaglia>
49667
49668	* NEWS, modules/mod_core.c, src/main.c: Bug#1253 - added a
49669	           DefaultAddress directive, for explicitly configuring the IP address
49670	to which the "default" server listens.
49671
496722002-09-06  castaglia <castaglia>
49673
49674	* NEWS, src/dirtree.c: Bug#1725 - Still fixing the bugs I introduced
49675	           into match_ip() as a consequence of Bug#1701.  This particular bug
49676	           was caused by an assumption; I'd forgotten to take into account
49677	           globbing characters attached to address strings in the case of a '.'
49678	           suffix/prefix.  The manipulated string was used as an argument to
49679	           inet_getaddr(), which returns a pointer.  I forgot to check for that
49680	           pointer being NULL.
49681
496822002-09-06  castaglia <castaglia>
49683
49684	* NEWS, modules/mod_core.c, modules/mod_site.c: Bug#1663 - Add SITE
49685	CHGRP command
49686
496872002-09-06  castaglia <castaglia>
49688
49689	* NEWS, include/ftp.h, include/modules.h, modules/mod_auth.c,
49690	src/auth.c: Bug#1719 - Adding RFC2228-defined FTP commands and
49691	           response codes; made minor adjustments to allow future RFC2228
49692	           modules (will not change current/default behavior).
49693
496942002-09-06  castaglia <castaglia>
49695
49696	* NEWS, contrib/mod_sql.c: Bug#1593 - added a new mod_sql directive,
49697	           SQLNegativeCache, to toggle whether mod_sql caches negative lookups.
49698	Documentation to be forthcoming.
49699
497002002-09-06  castaglia <castaglia>
49701
49702	* contrib/mod_sql.c, contrib/mod_sql.h, contrib/mod_sql_mysql.c,
49703	contrib/mod_sql_postgres.c: Correcting the OpenSSL exemption clause
49704	to list the proper copyright holder for these files.
49705
497062002-09-05  castaglia <castaglia>
49707
49708	* NEWS: Bug#1724 - The AuthPAM* directive lookups were using
49709	  TOPLEVEL_CONF as their config context lookup, but the directives
49710	  themselves were only allowed in the server config contexts ("server
49711	  config", <VirtualHost>, and <Globa>).  This had the consequence of
49712	  those directives not being properly seen when doing <Anonymous>
49713	  logins.  The fix was to use main_server->conf as the lookup context,
49714	rather than TOPLEVEL_CONF.
49715
497162002-09-05  castaglia <castaglia>
49717
49718	* NEWS, modules/mod_auth.c, modules/mod_core.c, src/dirtree.c:
49719	Bug#1076 - Adding an AllowOverride directive, to provide
49720	           finer-grained control over which users, if any, have their
49721	           .ftpaccess files parsed/honored.
49722
497232002-09-05  castaglia <castaglia>
49724
49725	* Make.rules.in, NEWS, include/conf.h, include/log.h,
49726	include/pr-syslog.h, lib/pr-syslog.c, modules/mod_core.c,
49727	src/log.c, src/main.c: Bug#1682 - Use of chroot(2) and external
49728	           libraries made necessary the implementing of an internal syslog
49729	           client routine for use by proftpd.
49730
497312002-09-04  castaglia <castaglia>
49732
49733	* Makefile.in, NEWS: Bug#1654 - Add DESTDIR in Makefile
49734
497352002-09-04  castaglia <castaglia>
49736
49737	* NEWS, include/version.h, src/auth.c, src/main.c: Starting in on
49738	the work for the 1.2.7 version: Bug#1649 - setproctitle() prepends and appends process name. This is
49739	           a FreeBSD-specific bug (yay portability).  Bug#1666 - Auth modules
49740	can return duplicate supplemental groups
49741
497422002-09-04  flyhmstr <flyhmstr>
49743
49744	* doc/Configuration.html: ML: more fixme's gone
49745
497462002-09-04  castaglia <castaglia>
49747
49748	* ChangeLog, NEWS, include/version.h: Ramping up for the release of
49749	1.2.6.
49750
497512002-09-04  flyhmstr <flyhmstr>
49752
49753	* doc/Configuration.html: ML: updated directive list
49754
497552002-09-02  castaglia <castaglia>
49756
49757	* NEWS: Note version increment of mod_ldap; add processing of
49758	signals in the io_poll() loop.
49759
497602002-08-31  jwm <jwm>
49761
49762	* contrib/mod_ratio.c: openssl exemption
49763
497642002-08-31  jwm <jwm>
49765
49766	* contrib/mod_ldap.c: 2.8.10 - replacement for ldap_build_filter()
49767
497682002-08-31  jwm <jwm>
49769
49770	* src/main.c: would someone please give me an elementary lesson in
49771	checking what exactly i'm committing before committing it?
49772
497732002-08-31  jwm <jwm>
49774
49775	* src/main.c, src/pool.c: style, removing cruft
49776
497772002-08-29  castaglia <castaglia>
49778
49779	* contrib/mod_readme.c: Added OpenSSL exemption clause to this
49780	contrib module's license.
49781
497822002-08-28  castaglia <castaglia>
49783
49784	* NEWS, src/dirtree.c: Fixed bug introduced by bad use of
49785	inet_ntoa(3) in fix for Bug#1701.
49786
497872002-08-24  jwm <jwm>
49788
49789	* contrib/mod_ldap.c: * openssl exemption * version bump to 2.8.9
49790
497912002-08-19  jwm <jwm>
49792
49793	* doc/Configuration.sgml: adding the sgml version of the directive
49794	docs
49795
497962002-08-15  castaglia <castaglia>
49797
49798	* ChangeLog, NEWS, include/version.h: Preparing to release 1.2.6rc2
49799
498002002-08-15  castaglia <castaglia>
49801
49802	* NEWS, src/dirtree.c: Bug#1701 - Reverse lookups not working
49803
498042002-08-14  castaglia <castaglia>
49805
49806	* modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c: Updating
49807	copyright notices.
49808
498092002-08-14  castaglia <castaglia>
49810
49811	* include/inet.h, include/proftpd.h, modules/mod_core.c,
49812	modules/mod_ls.c, modules/mod_xfer.c, src/data.c, src/inet.c,
49813	src/main.c, src/support.c: Code cleanup:  - moved ShowSymlinks from mod_core to mod_ls  - changed PassivePorts, AllowForeignAddress, ShowSymlinks, TimesGMT
49814	   to not use get_param_int() (which uses addresses of stack variables
49815	   instead of heap variables), and using get_param_ptr() instead.   - minor renaming
49816
498172002-08-13  castaglia <castaglia>
49818
49819	* src/log.c: Added minor, but necessary check when reading the
49820	scoreboard header on AIX platforms.  Portability is a PITA.
49821
498222002-08-12  castaglia <castaglia>
49823
49824	* modules/mod_ls.c, src/main.c: Added signal processing for
49825	recursive directory listings Added masking of SIGCHLD in the SIGCHLD
49826	processing function Added debug logging, at level 7, of module
49827	session initialization callbacks
49828
498292002-08-05  castaglia <castaglia>
49830
49831	* config.sub: Added case to handle ELF NetBSD on a shark.
49832
498332002-08-01  castaglia <castaglia>
49834
49835	* src/log.c: Added logging of TransferLog file opening at level 6;
49836	this will aid in debugging errors involving the default TransferLog
49837	("/var/log/xferlog") on systems which may have troubles (e.g. no
49838	/var/log directory, which shows up in the logs as "unable to stat()
49839	/var/log" -- not indicative of the culprit [TransferLog]).
49840
498412002-08-01  castaglia <castaglia>
49842
49843	* include/dirtree.h, src/dirtree.c: Minor fix, matching up datatypes
49844	in function declaration to actual datatype used (caused a complaint
49845	under AIX's xlc).
49846
498472002-07-26  castaglia <castaglia>
49848
49849	* src/main.c: Minor cleanup from previous commit.
49850
498512002-07-26  castaglia <castaglia>
49852
49853	* src/dirtree.c, src/main.c, src/support.c: Fixed minor HUP memory
49854	leak, caused by use of schedule() to schedule an invocation of
49855	main_rehash().  A sched_t object is allocated for the scheduling
49856	from permanent_pool, but that object is never freed.  The fix was to
49857	add a pool member to the sched_t struct, allocated a subpool from
49858	permanent_pool, allocate the sched_t struct from that subpool, and
49859	assign the subpool to the struct's pool member.  That way, the
49860	sched_t object can be destroyed once the scheduled callback has been
49861	invoked.  Also cleaned up some of the main_rehash() code, to make it
49862	more legible.
49863
498642002-07-25  jwm <jwm>
49865
49866	* include/regexp.h: typo/style
49867
498682002-07-24  castaglia <castaglia>
49869
49870	* Make.rules.in, NEWS, include/conf.h, include/pool.h,
49871	include/regexp.h, modules/mod_core.c, src/inet.c, src/main.c,
49872	src/pool.c, src/regexp.c: Bug#1697 - Memory leak involving regexp
49873	and SIGHUP
49874
498752002-07-22  castaglia <castaglia>
49876
49877	* modules/mod_auth.c, modules/mod_core.c: Oops.  Realized that
49878	DeferWelcome should've stayed in mod_core.
49879
498802002-07-22  castaglia <castaglia>
49881
49882	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c:
49883	Rearranging the placement of several configuration directive
49884	handlers, placing the handler functions in the module that actually
49885	uses the configured directive (many were bunched into mod_core).
49886
498872002-07-19  castaglia <castaglia>
49888
49889	* NEWS, lib/pwgrent.c: Bug#1674 - fgetbufline passes NULL pointer to
49890	fgets()
49891
498922002-07-18  castaglia <castaglia>
49893
49894	* modules/mod_core.c, src/main.c: Miscellaneous configuration
49895	handler cleanup.
49896
498972002-07-15  castaglia <castaglia>
49898
49899	* NEWS, modules/mod_xfer.c: Bug#1645 - HiddenStor should close file
49900	before renaming
49901
499022002-07-15  castaglia <castaglia>
49903
49904	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#1681 - Multiple
49905	Include directives in a single file do not get parsed
49906
499072002-07-09  castaglia <castaglia>
49908
49909	* include/proftpd.h, include/support.h, include/timers.h,
49910	src/main.c, src/support.c, src/timers.c: Committed the latest patch
49911	attached to Bug#1556.
49912
499132002-07-03  jwm <jwm>
49914
49915	* configure: new configure
49916
499172002-07-03  jwm <jwm>
49918
49919	* Makefile.in, README.cygwin, configure.in: attach 1428 to bug 1569
49920	- cygwin EXEEXT fixups
49921
499222002-07-02  castaglia <castaglia>
49923
49924	* ChangeLog, NEWS, include/version.h: Preparing for release of
49925	1.2.6rc1
49926
499272002-07-02  castaglia <castaglia>
49928
49929	* include/inet.h, include/options.h, src/data.c, src/inet.c: Fixing
49930	consequences of Bug#1502 and ABOR causing some clients to wait
49931	indefinitely.
49932
499332002-07-01  castaglia <castaglia>
49934
49935	* NEWS, contrib/mod_sql.c: Bug#1543 - Usernames with spaces,
49936	problems to authenticate
49937
499382002-07-01  castaglia <castaglia>
49939
49940	* NEWS, contrib/mod_sql.c: Bug#1628 - group mods (DefaultRoot) only
49941	work for primary group w/mysql
49942
499432002-06-30  castaglia <castaglia>
49944
49945	* src/inet.c: Fixed potential loop problem I inadvertently
49946	introduced in the previous check-in.  Oops.
49947
499482002-06-28  castaglia <castaglia>
49949
49950	* include/proftpd.h, modules/mod_xfer.c, src/data.c, src/inet.c,
49951	src/main.c: Fixing consequences of signal handler changes of
49952	Bug#1556, allowing for child processes to process their received
49953	signals as well (all noted in the bug report).
49954
499552002-06-28  castaglia <castaglia>
49956
49957	* contrib/mod_sql.c: Correctly check cmap.grpgidfield, rather than
49958	cmap.gidfield, when looking up groups by ID.  This was my fault.
49959
499602002-06-27  castaglia <castaglia>
49961
49962	* configure: Updated configure script
49963
499642002-06-27  castaglia <castaglia>
49965
49966	* NEWS, config.h.in, configure.in: Bug#1667 - Move USESHADOW,
49967	AUTOSHADOW defines from command line into config.h
49968
499692002-06-27  castaglia <castaglia>
49970
49971	* contrib/mod_sql.c: Convert some of the configuration handlers to
49972	allocating memory for passing numeric values, rather than squeezing
49973	them into void *.  This fixes a border case where using 0 as the
49974	value for SQLDefault{UID,GID} or SQLMinUser{ID,UID,GID} would cause
49975	that directive setting to not be honored; a value of zero cast as a
49976	void * means that that void * would most likely be interpreted as
49977	NULL upon retrieval.
49978
499792002-06-27  castaglia <castaglia>
49980
49981	* contrib/mod_sql.c: Removed extraneous parameters from logging
49982	calls (caught by __attribute__).
49983
499842002-06-27  castaglia <castaglia>
49985
49986	* NEWS: Removed mod_quota.c due to lack of maintainership, bugs.
49987
499882002-06-27  flyhmstr <flyhmstr>
49989
49990	* doc/Configuration.html: ML:   Updated directive list
49991
499922002-06-27  flyhmstr <flyhmstr>
49993
49994	* modules/mod_core.c: ML: fixing minor typo :)
49995
499962002-06-27  castaglia <castaglia>
49997
49998	* include/log.h, include/proftpd.h, modules/mod_auth.c,
49999	modules/mod_xfer.c: Committed the use of gcc's __attribute__ pragma
50000	for printf-style function argument checking from Bug#1643.  Fixed
50001	the minor printf issues this pragma subsequently found in the
50002	TimeoutSession code, throttling code.
50003
500042002-06-27  castaglia <castaglia>
50005
50006	* NEWS, contrib/mod_sql.c: Bug#1664 - mod_sql segfaults on cache
50007	miss for bogus user.
50008
500092002-06-26  castaglia <castaglia>
50010
50011	* src/inet.c: Use the IPPROTO_TCP macro (that's what it's there
50012	for!) for initializing the value of tcp_proto, instead of manually
50013	setting it to 6.
50014
500152002-06-26  jwm <jwm>
50016
50017	* Makefile.in: #1569 - EXEEXT support
50018
500192002-06-26  castaglia <castaglia>
50020
50021	* NEWS, include/inet.h, src/data.c, src/inet.c: Bug#1502 - 226
50022	Transfer Complete sent out before data connection is closed
50023
500242002-06-25  castaglia <castaglia>
50025
50026	* NEWS, modules/mod_ls.c: Bug#1655 - Add -n listing option to mod_ls
50027
500282002-06-25  castaglia <castaglia>
50029
50030	* config.h.in: Solaris already defines _FILE_OFFSET_BITS in its
50031	system headers (at least 2.8 does); check for a defined
50032	_FILE_OFFSET_BITS before redefining it.
50033
500342002-06-25  castaglia <castaglia>
50035
50036	* src/main.c, src/support.c: Put proper #ifdefs around things to
50037	avoid some compiler warnings.
50038
500392002-06-25  castaglia <castaglia>
50040
50041	* config.h.in: Added lines for endprotoent, setgroups, setprotoent
50042	detection performed by autoconf, removed duplicate HAVE_SETPROCTITLE
50043	line.
50044
500452002-06-25  castaglia <castaglia>
50046
50047	* include/conf.h: Add checking of SIZEOF_UNSIGNED_LONG_LONG to the
50048	list of macros used for determining when to use %lu and when to use
50049	%llu.  FreeBSD does not require the other macros used
50050	(_FILE_OFFSET_BITS or _LARGE_FILES), and so this additional check
50051	(which assumes that if the size of an unsigned long long is 8 bytes,
50052	the underlying platform will support use of %llu -- and we all know
50053	what happens when one assumes) is required for proper LFS detection
50054	and support on FreeBSD (and perhaps other platforms?).
50055
500562002-06-25  castaglia <castaglia>
50057
50058	* contrib/mod_sql.c: Added LFS-specific format macro, fixed
50059	NULL/'\0' comparison (was causing a compiler warning).
50060
500612002-06-25  castaglia <castaglia>
50062
50063	* modules/mod_xfer.c: One more minor LFS-related modification.
50064
500652002-06-25  castaglia <castaglia>
50066
50067	* src/auth.c: Fixed minor indentation/spacing.
50068
500692002-06-25  jwm <jwm>
50070
50071	* contrib/mod_ldap.c: #1659 - LDAP config handlers should use
50072	c->pool instead of permanent_pool
50073
500742002-06-24  castaglia <castaglia>
50075
50076	* modules/mod_auth.c, modules/mod_core.c: Changed use of
50077	permanent_pool to c->pool in configuration handlers where
50078	appropriate.
50079
500802002-06-24  castaglia <castaglia>
50081
50082	* modules/mod_ls.c: Forgot to remove the ShowDotFiles configuration
50083	handler function.
50084
500852002-06-24  castaglia <castaglia>
50086
50087	* NEWS, modules/mod_ls.c, modules/mod_site.c: Removed the deprecated
50088	AllowChmod and ShowDotFiles directives.
50089
500902002-06-23  castaglia <castaglia>
50091
50092	* NEWS, include/dirtree.h, src/dirtree.c: Bug#1171 - Add ability to
50093	handle backslash-escaped lines in configuration file
50094
500952002-06-23  jwm <jwm>
50096
50097	* NEWS: where the hell did I get 1304? this is #1569...
50098
500992002-06-23  jwm <jwm>
50100
50101	* NEWS: updates
50102
501032002-06-23  castaglia <castaglia>
50104
50105	* NEWS: Noting addition/work on Cygwin stuff.
50106
501072002-06-23  castaglia <castaglia>
50108
50109	* README.cygwin: Minor spelling correction.
50110
501112002-06-23  jwm <jwm>
50112
50113	* configure: updated configure for #1304 - Cygwin support
50114
501152002-06-23  jwm <jwm>
50116
50117	* README.cygwin: #1304 - README.cygwin Thanks to Stanislav Sinyagin
50118	<ssinyagin@yahoo.com>
50119
501202002-06-23  castaglia <castaglia>
50121
50122	* include/conf.h, include/data.h, include/default_paths.h,
50123	include/dirtree.h, include/ident.h, include/inet.h,
50124	include/libsupp.h, include/log.h, include/modules.h,
50125	include/options.h, include/pool.h, include/privs.h,
50126	include/proftpd.h, include/sets.h, include/support.h,
50127	include/timers.h, src/auth.c, src/data.c, src/dirtree.c,
50128	src/ident.c, src/inet.c, src/log.c, src/main.c, src/modules.c,
50129	src/pool.c, src/sets.c, src/support.c, src/timers.c: Updated
50130	copyrights.
50131
501322002-06-23  jwm <jwm>
50133
50134	* configure.in, src/auth.c, src/inet.c, src/log.c: cleaned up
50135	versions of #1304 - Cygwin support
50136
501372002-06-22  jwm <jwm>
50138
50139	* modules/mod_xfer.c: minor LFS fix
50140
501412002-06-22  jwm <jwm>
50142
50143	* config.guess, config.sub: update config.guess and config.sub from
50144	http://subversions.gnu.org/cgi-bin/viewcvs/config/config/;
50145	parisc-linux support wasn't in our copies
50146
501472002-06-22  castaglia <castaglia>
50148
50149	* NEWS, lib/Makefile.in, lib/glibc-glob.c, src/data.c,
50150	src/dirtree.c, src/log.c, src/main.c, src/pool.c, src/timers.c:
50151	Bug#1650 - Code cleanup
50152
501532002-06-22  castaglia <castaglia>
50154
50155	* modules/mod_auth.c: Fixed bad patching of the new TimeoutSession
50156	code.
50157
501582002-06-22  castaglia <castaglia>
50159
50160	* NEWS, include/proftpd.h, modules/mod_auth.c: Bug#1306 - Add
50161	timeout for entire session
50162
501632002-06-22  castaglia <castaglia>
50164
50165	* modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
50166	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c,
50167	src/dirtree.c: In the aftermath of Bug#1650, I went through most of
50168	the configuration directive handlers, looking for similar possible
50169	mergedown bugs.  I corrected the lurking mergedown bugs I saw, and
50170	fixed other cases where merging down was inappropriately being
50171	requested.  More cleanup and code consolidation is possible, and
50172	indeed recommended.
50173
501742002-06-21  castaglia <castaglia>
50175
50176	* modules/mod_core.c: Fixed instance of pstrcat() call that did not
50177	properly have NULL as the last argument.
50178
501792002-06-21  castaglia <castaglia>
50180
50181	* NEWS, modules/mod_ls.c: Bug#1650 - LsDefaultOptions doesn't work
50182	inside anon context
50183
501842002-06-21  castaglia <castaglia>
50185
50186	* NEWS, modules/mod_ls.c: Bug#1647 - Unnecessary use of umode_t in
50187	mod_ls
50188
501892002-06-14  jwm <jwm>
50190
50191	* Makefile.in: these symlinks aren't needed
50192
501932002-06-14  jwm <jwm>
50194
50195	* contrib/mod_ldap.c: LDAPHomedirOnDemand cleanup/fixes
50196
501972002-06-14  castaglia <castaglia>
50198
50199	* Makefile.in: Added .cvsignore files to the list of files cleaned
50200	up by 'make distclean'
50201
502022002-06-12  castaglia <castaglia>
50203
50204	* modules/mod_ls.c: Corrected spacing
50205
502062002-06-11  castaglia <castaglia>
50207
50208	* configure: Updated configure script for LFS support detection.
50209
502102002-06-11  castaglia <castaglia>
50211
50212	* NEWS, config.h.in, configure.in, include/conf.h, include/data.h,
50213	include/log.h, include/proftpd.h, include/support.h,
50214	modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
50215	modules/mod_xfer.c, src/data.c, src/log.c, src/support.c: Bug#1534 -
50216	Large File Support
50217
502182002-06-11  castaglia <castaglia>
50219
50220	* configure: Updated configure script
50221
502222002-06-11  castaglia <castaglia>
50223
50224	* Make.rules.in, NEWS, config.h.in, configure.in,
50225	include/libsupp.h, include/proftpd.h, lib/glibc-mkstemp.c,
50226	modules/mod_core.c, modules/mod_xfer.c, src/data.c: Bug#1258 - STOU
50227	not implemented
50228
502292002-06-11  castaglia <castaglia>
50230
50231	* NEWS, src/auth.c: Bug#1463 - Add auth handler dispatch reporting
50232	at new debug level (level 6)
50233
502342002-06-11  castaglia <castaglia>
50235
50236	* src/main.c: Removed relic function prototype (not needed).
50237
502382002-06-11  castaglia <castaglia>
50239
50240	* NEWS, include/options.h, modules/mod_auth.c, modules/mod_core.c,
50241	modules/mod_ls.c, modules/mod_xfer.c, src/dirtree.c, src/log.c,
50242	src/main.c, src/pool.c: Bug#1556 - Signal handlers use unsafe
50243	functions
50244
502452002-06-11  castaglia <castaglia>
50246
50247	* NEWS, include/dirtree.h, include/modules.h, modules/mod_core.c,
50248	src/dirtree.c, src/main.c, src/modules.c: Added Define, <IfDefine>,
50249	<IfModule> configuration directives, -D command-line option
50250
502512002-06-11  castaglia <castaglia>
50252
50253	* NEWS, include/version.h, modules/mod_xfer.c, src/data.c: Bug#1407
50254	- ftp protocol differences
50255
502562002-06-09  castaglia <castaglia>
50257
50258	* NEWS: Fixed version number.  Sheesh.
50259
502602002-06-09  castaglia <castaglia>
50261
50262	* ChangeLog: Updated ChangeLog
50263
502642002-06-09  castaglia <castaglia>
50265
50266	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
50267	include/version.h: Bug#1379 - Replace bzero/bcopy with memset/memcpy
50268	Bug#1576 - SQLHomedirOnDemand segfaults in certain circumstances
50269	Bug#1586 - Bad row count assumption in _sql_getgroup() Bug#1625 -
50270	Compile problem with mod_sql module Preparing for release of 1.2.5 (stable).
50271
502722002-06-06  castaglia <castaglia>
50273
50274	* NEWS, contrib/mod_sql.c: Added the mod_sql-4.08 from Andrew's site
50275
502762002-05-30  castaglia <castaglia>
50277
50278	* NEWS: Updated NEWS
50279
502802002-05-30  castaglia <castaglia>
50281
50282	* include/version.h: Damn, I forgot to update this file.
50283
502842002-05-30  castaglia <castaglia>
50285
50286	* ChangeLog: Updating ChangeLog
50287
502882002-05-30  castaglia <castaglia>
50289
50290	* NEWS, contrib/xferstats.holger-preiss: Bug#1394: ftpstats program
50291	          is not working, cust says "There was no data to process."
50292
502932002-05-30  jwm <jwm>
50294
50295	* contrib/mod_ldap.c: a few memory management fixes
50296
502972002-05-29  jwm <jwm>
50298
50299	* doc/rfc/draft-ietf-ftpext-mlst-15.txt: new version of mlst draft.
50300	the changes don't appear to change anything we currently implement.
50301
503022002-05-27  jwm <jwm>
50303
50304	* contrib/README.ratio, contrib/mod_ratio.c: new mod_ratio from
50305	James Dogopoulos
50306
503072002-05-22  flyhmstr <flyhmstr>
50308
50309	* doc/Configuration.html: ML: replacing the directive guide
50310
503112002-05-21  castaglia <castaglia>
50312
50313	* NEWS, contrib/mod_readme.c, include/data.h, include/dirtree.h,
50314	include/ident.h, include/inet.h, include/libsupp.h, include/log.h,
50315	include/modules.h, include/pool.h, include/proftpd.h,
50316	include/sets.h, include/support.h, include/timers.h,
50317	lib/glibc-glob.c, modules/mod_auth.c, modules/mod_core.c,
50318	modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
50319	modules/mod_xfer.c, src/data.c, src/dirtree.c, src/inet.c,
50320	src/log.c, src/main.c, src/modules.c, src/pool.c, src/support.c,
50321	src/timers.c: Bug#1379 - Replace bzero/bcopy with memset/memcpy
50322	Bug#1521 - Function prototype cleanup
50323
503242002-05-21  castaglia <castaglia>
50325
50326	* NEWS, src/timers.c: Bug#1627 - Sessions not timing out
50327
503282002-05-21  castaglia <castaglia>
50329
50330	* configure: TJ: updated configure script to match configure.in
50331	    (necessary delay in commits *sigh*)
50332
503332002-05-21  castaglia <castaglia>
50334
50335	* configure.in: TJ: changing configure script to check for
50336	    $Libraries$ line in mod_<name>.h files, if present, as well as
50337	    mod_<name>.c files (which are currently scanned)
50338
503392002-05-19  castaglia <castaglia>
50340
50341	* NEWS, modules/mod_xfer.c: TJ: Bug#1595 - ProFTPD closes connection
50342	when accessed from Lynx browser
50343
503442002-05-19  castaglia <castaglia>
50345
50346	* NEWS, include/proftpd.h, src/log.c, src/main.c: TJ: Bug#1612 -
50347	missing/broken ident logging
50348
503492002-05-19  jwm <jwm>
50350
50351	* Makefile.in, contrib/mod_ldap.c: #1626 - install_user is not used
50352	everywhere
50353
503542002-05-18  jwm <jwm>
50355
50356	* contrib/dist/rpm/ftp.pamd: language cleanup/clarification
50357
503582002-05-18  jwm <jwm>
50359
50360	* contrib/dist/rpm/proftpd.init.d: cleanup
50361
503622002-05-15  jwm <jwm>
50363
50364	* contrib/mod_ldap.c: 2.8.4: fix for segfaults when optional
50365	arguments are omitted from LDAPDoGIDLookups directive
50366
503672002-05-13  castaglia <castaglia>
50368
50369	* ChangeLog: TJ: latest ChangeLog
50370
503712002-05-13  castaglia <castaglia>
50372
50373	* NEWS, include/version.h: TJ: updated NEWS, version.h with date of
50374	1.2.5rc2 release
50375
503762002-05-13  castaglia <castaglia>
50377
50378	* configure: TJ: here's the new configure to go with the
50379	configure.in
50380
503812002-05-13  castaglia <castaglia>
50382
50383	* configure.in: TJ: being pedantic, changing the order of functions
50384	    check to be alphabetical.  Also, I need to check configure.in
50385	    separately from, and before, configure.  This is so that when users
50386	    download from CVS, and run ./configure && make, the make program's
50387	    check of the timestamp on configure.in shows an earlier date on
50388	    configure.in than on configure (if both configure.in and configure
50389	    are checked into CVS simultaneously, they will have the same
50390	timestamps, and make will cause the configure script to be run
50391	    again).  What a pain.
50392
503932002-05-13  castaglia <castaglia>
50394
50395	* configure.in: TJ: updated configure.in's copyright information
50396
503972002-05-12  castaglia <castaglia>
50398
50399	* contrib/README.mod_wrap: TJ: updated README for mod_wrap-1.2.3.
50400
504012002-05-12  castaglia <castaglia>
50402
50403	* CREDITS: TJ: updated PGP key fingerprint
50404
504052002-05-12  flyhmstr <flyhmstr>
50406
50407	* doc/Configuration.html, doc/faq.html: ML: updated directive list
50408	and FAQ for rc2
50409
504102002-05-12  castaglia <castaglia>
50411
50412	* config.h.in, configure, configure.in, include/proftpd.h,
50413	modules/mod_xfer.c: TJ: Added missing checks for functions/headers
50414	    to configure, needed/used by include/glibc-glob.c.  Also made small
50415	    amendments to code (volatility of flag variables and minor spacing).
50416
504172002-05-11  flyhmstr <flyhmstr>
50418
50419	* doc/Configuration.html: ML: updated directive list
50420
504212002-05-11  flyhmstr <flyhmstr>
50422
50423	* CREDITS, NEWS: ML: updated NEWS and CREDITS
50424
504252002-05-11  flyhmstr <flyhmstr>
50426
50427	* NEWS: ML: news update
50428
504292002-05-11  flyhmstr <flyhmstr>
50430
50431	* doc/faq.html: ML: adding new format FAQ
50432
504332002-05-10  castaglia <castaglia>
50434
50435	* NEWS: Bug#1580 - RPM can't be built by non-root user
50436
504372002-05-10  flyhmstr <flyhmstr>
50438
50439	* CREDITS, NEWS: ML: updated credits and news
50440
504412002-05-10  castaglia <castaglia>
50442
50443	* NEWS, configure, configure.in: Bug#1546 - PF_ARGV_WRITABLE,
50444	PF_ARGV_WRITEABLE are used mixed.
50445
504462002-05-10  castaglia <castaglia>
50447
50448	* NEWS, modules/mod_core.c, src/dirtree.c: Bug#1608 - src/dirtree.c
50449	produces two unnecessary warnings Bug#1610 - compiling mod_core.c
50450	gives an unneeded/dazzling msg
50451
504522002-05-10  flyhmstr <flyhmstr>
50453
50454	* NEWS: ML: updating NEWS
50455
504562002-05-10  flyhmstr <flyhmstr>
50457
50458	* include/ftp.h: ML: updating licence
50459
504602002-05-10  flyhmstr <flyhmstr>
50461
50462	* doc/license.txt, doc/mod_sample.c: ML:   Removed legacy files   The FAQ is removed because it's superceed by the main FAQ.    Updated the base licence text with additional copyright info,   consistancy typo and the SSL exclusion clause.
50463
504642002-05-10  jwm <jwm>
50465
50466	* NEWS: updating for mod_ldap 2.8.3 release
50467
504682002-05-10  jwm <jwm>
50469
50470	* ChangeLog: updating changelog
50471
504722002-05-10  jwm <jwm>
50473
50474	* contrib/mod_ldap.c: updating to 2.8.3
50475
504762002-05-10  jwm <jwm>
50477
50478	* README.LDAP: new mod_ldap README
50479
504802002-05-10  castaglia <castaglia>
50481
50482	* src/ident.c, src/inet.c: TJ: dealing with consequences of Bug#1588
50483	    fix, which happens to affect identd lookups.  Hopefully these
50484	    changes clear up any remaining difficulties while still retaining
50485	the efficacy of Bug#1588's patch.
50486
504872002-05-09  castaglia <castaglia>
50488
50489	* src/ident.c: TJ: cleaned up get_ident(), adding proper
50490	    cleanup/resource-freeing code at various exit points from the
50491	function
50492
504932002-05-09  castaglia <castaglia>
50494
50495	* src/ident.c: TJ: fixed get_ident() to check for NULL return value
50496	    from inet_openrw(); this was causing segfaults in the case where an
50497	    identd server was not returning a response
50498
504992002-05-09  castaglia <castaglia>
50500
50501	* src/main.c: TJ: mistakenly changed default setting of IdentLookups
50502	    to "off" with prior changes, setting default back to "on"
50503
505042002-05-09  castaglia <castaglia>
50505
50506	* modules/mod_auth.c, modules/mod_core.c, src/main.c, src/timers.c:
50507	TJ: fixed remove_timer() call to check for NULL timers list before
50508	      cycling through the list     changed IdentLookups handler to use pointers (and thus avoid
50509	      compiler warnings about typecasts)     minor reformatting
50510
505112002-05-09  castaglia <castaglia>
50512
50513	* NEWS: TJ: updated NEWS
50514
505152002-05-09  castaglia <castaglia>
50516
50517	* configure, configure.in, include/log.h, include/modules.h,
50518	include/privs.h, modules/mod_auth.c, modules/mod_core.c,
50519	src/dirtree.c, src/main.c: #1544 - Daemon does not switch to
50520	        configured User/Group identity in <VirtualHost> as documented #1581
50521	- uid_t and get_param_int result size
50522
505232002-05-08  flyhmstr <flyhmstr>
50524
50525	* NEWS: ML: news update
50526
505272002-05-08  flyhmstr <flyhmstr>
50528
50529	* doc/Configuration.html: ML: adding new version of the directive
50530	list
50531
505322002-05-08  flyhmstr <flyhmstr>
50533
50534	* doc/Configuration.html: ML: removing old version of directive list
50535
505362002-05-08  castaglia <castaglia>
50537
50538	* ChangeLog: Updated ChangeLog
50539
505402002-05-08  castaglia <castaglia>
50541
50542	* NEWS: TJ: added NEWS entries for recently committed patches for
50543	    (fixed?) bug reports
50544
505452002-05-08  castaglia <castaglia>
50546
50547	* modules/mod_auth.c, src/dirtree.c, src/inet.c, src/main.c,
50548	src/pool.c: #1523 - "Umask" presented in <Global> block messes up
50549	file permissions #1566 - FXP not working properly #1578 - RootLogin
50550	directive does not mergedown properly
50551
505522002-05-08  castaglia <castaglia>
50553
50554	* contrib/dist/rpm/proftpd.init.d, modules/mod_auth.c,
50555	modules/mod_core.c, src/dirtree.c, src/inet.c: #1563 - Proftpd
50556	1.2.4. keeps core dumping sig11 on start #1567 - AuthAliasOnly
50557	parsed incorrectly #1570 - MasqueradeAddress contexts do not match
50558	documentation #1579 - Contrib init.d script makes inappropriate use
50559	of ftpshut #1588 - Port scan of TCP/21 causes segmentation fault
50560	#1601 - Rename terminates ProFTPD (signal 11)
50561
505622002-03-06  flood <flood>
50563
50564	* ChangeLog: Updated ChangeLog.
50565
505662002-03-06  flood <flood>
50567
50568	* NEWS, doc/Configuration.html, modules/mod_core.c, src/main.c:
50569	#1445: PID file contents change when attempting to start        the daemon a second time #1539: losing SGID bit on created
50570	       directories w/ {User,Group}Owner in effect #1537: doc update
50571
505722002-03-01  flood <flood>
50573
50574	* src/log.c: possible sigsegv introduced by patch for bug 1520
50575
505762002-02-28  flood <flood>
50577
50578	* NEWS, src/dirtree.c: #1468 - segfault with empty .ftpaccess
50579
505802002-02-28  flood <flood>
50581
50582	* ChangeLog: Updated ChangeLog.
50583
505842002-02-28  flood <flood>
50585
50586	* NEWS, doc/Configuration.html, include/privs.h, lib/getopt.c,
50587	lib/getopt.h, lib/getopt1.c, modules/mod_auth.c,
50588	modules/mod_core.c, src/dirtree.c, src/main.c, src/support.c: #1459
50589	- server fails to send response in some cases #1533 - use memset
50590	correctly #1517 - doc update #1461 - modules/mod_unixpw.c
50591	pw_getgroups() makes dangerous assumption #1512 - Minor credentials
50592	cleanups #1516 - wrong response to CDUP/XCUP/XCWD #1451 -
50593	add_config_param_str() no longer uses permanent_pool #1523 - umask
50594	allocation in <Global> moved to permanent_pool #1380 - updated
50595	getopt library for Tru64/AIX
50596
505972002-02-28  flood <flood>
50598
50599	* NEWS, doc/Configuration.html, include/dirtree.h, include/log.h,
50600	lib/pwgrent.c, modules/mod_auth.c, modules/mod_core.c,
50601	modules/mod_log.c, modules/mod_xfer.c, src/dirtree.c, src/log.c:
50602	#1476 doc updates #1520 security checks for TransferLogs #1435
50603	AccessDenyMsg for <Anonymous> not working #1492 Bad interaction
50604	between HiddenStor and UserOwner #1493 incorrect parsing of
50605	AuthUserFile #1485 Adds CF_MERGEDOWN_MULTI config_rec flag
50606
506072002-02-26  flood <flood>
50608
50609	* NEWS, include/glibc-glob.h, lib/glibc-glob.c, modules/mod_auth.c,
50610	src/data.c, src/dirtree.c, src/inet.c, src/log.c, src/main.c,
50611	src/support.c: #1378 Replace alloca stuff in glibc-glob.c with
50612	something more standard #1498 <Limit LOGIN> block failing with
50613	mod_ldap #1381 include/glibc-glob.h fix for Tru64 UNIX #1465 can't
50614	      bind to port that hasn't been closed by forked child process #1379
50615	replace bzero/bcopy with memset/memcpy
50616
506172002-02-14  flood <flood>
50618
50619	* NEWS, contrib/ftpasswd: added contrib/ftpasswd utility script
50620	(contributed by TJ)
50621
506222002-02-14  flood <flood>
50623
50624	* NEWS, contrib/INSTALL.mod_wrap, contrib/README.mod_wrap,
50625	contrib/mod_wrap.c: New mod_wrap (1.2.3) removed contrib/genuser.pl
50626	(per TJ)
50627
506282002-01-24  flood <flood>
50629
50630	* ChangeLog: Updated ChangeLog.
50631
506322002-01-24  flood <flood>
50633
50634	* NEWS, src/data.c, src/dirtree.c, src/timers.c: #1318 sendfile()
50635	semantics incorrect under Linux #1450 Timers removed
50636	immediately/alarm() return no longer used for timing #1446
50637	DefaultServer overrides SocketBindTight
50638
506392001-12-18  flood <flood>
50640
50641	* ChangeLog: Updated ChangeLog.
50642
506432001-12-18  flood <flood>
50644
50645	* NEWS, include/version.h: bumped version
50646
506472001-12-18  flood <flood>
50648
50649	* NEWS, doc/Configuration.html, modules/mod_ls.c: New Directive:
50650	UseGlobbing, allows glibc-based filepath globbing to be disabled.
50651
506522001-12-17  flood <flood>
50653
50654	* ChangeLog: Updated ChangeLog.
50655
506562001-12-17  flood <flood>
50657
50658	* ChangeLog, NEWS, modules/mod_xfer.c: - Check retr_file for validity when RESToring
50659
506602001-12-17  flood <flood>
50661
50662	* NEWS, modules/mod_xfer.c: - Bug 1391 - ABOR handler now clears session.xfer
50663
506642001-12-17  flood <flood>
50665
50666	* NEWS, modules/mod_ls.c, modules/mod_xfer.c, src/data.c: - Bug 1392 - Added LOG_CMD_ERR cleanup handler for LIST/NLST/RETR/              STOR/APPE/STOU, to defer clearing of transfer counters.
50667
506682001-12-17  flood <flood>
50669
50670	* NEWS, README.LDAP, contrib/mod_ldap.c: New mod_ldap (2.8.1)
50671
506722001-12-13  flood <flood>
50673
50674	* ChangeLog: Updated ChangeLog.
50675
506762001-12-13  flood <flood>
50677
50678	* NEWS, configure, configure.in, doc/Configuration.html,
50679	include/modules.h, include/support.h, modules/mod_auth.c,
50680	modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
50681	modules/mod_xfer.c, src/auth.c, src/dirtree.c, src/inet.c,
50682	src/main.c, src/support.c, src/timers.c: - Bug 1364 - Immediate chown() after file creation - Bug 1415 - Change allowed contexts for Include - Bug 1430 - Possible bad handling of Directory contexts - Bug 1426 - sigsegv on `ls ///////////' - Bug 1360 - Add getgroups abstraction for auth modules - Bug 1289 - Increase information passed to timer callbacks - Bug 1341 - Bad tracking of forked processes - Bug 1400 - Improper use of MODRET_HASDATA macro - Bug 1416 - PidFile in <Global> context is unnecessary, even
50683	wasteful - Bug 1429 - Trivial fixes to dispatch reporting - Bug 1419 - Remove unnecessary colons from PRIVS_ macros - Bug 1418 - Slight change to exithandler handling to allow module              finalization slot
50684
506852001-12-13  flood <flood>
50686
50687	* contrib/mod_sql.h: forgot to add contrib/mod_sql.h in previous
50688	commit
50689
506902001-11-30  flood <flood>
50691
50692	* ChangeLog: updated ChangeLog
50693
506942001-11-30  flood <flood>
50695
50696	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
50697	contrib/mod_sql_postgres.c, sample-configurations/mod_sql.conf: new
50698	mod_sql (4.07)
50699
507002001-11-29  flood <flood>
50701
50702	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c,
50703	src/main.c, src/support.c: #1396 DenyFilter works only in server
50704	config scope #1410 SIGIO now conditionally compiled #1281 Improper
50705	checking of server context
50706
507072001-11-29  flood <flood>
50708
50709	* ChangeLog: updated ChangeLog
50710
507112001-11-29  flood <flood>
50712
50713	* NEWS, include/modules.h, modules/mod_core.c, src/dirtree.c,
50714	src/main.c: #1368 umask bug hopefully squashed for good #1389 fixed
50715	hang on PWD #1355 added POST_CMD_ERR handler to API
50716
507172001-11-08  flood <flood>
50718
50719	* NEWS, configure, configure.in: #1113-Make.rules for HPUX
50720	incorrectly generated
50721
507222001-11-08  flood <flood>
50723
50724	* NEWS, contrib/README.mod_wrap, contrib/mod_wrap.c: new mod_wrap
50725	(1.2.2) from tj
50726
507272001-11-08  flood <flood>
50728
50729	* NEWS, modules/mod_auth.c: #1334-MaxClients none forbids connect
50730
507312001-10-19  flood <flood>
50732
50733	* ChangeLog: Updated ChangeLog.
50734
507352001-10-19  flood <flood>
50736
50737	* include/version.h: 1.2.4
50738
507392001-10-19  flood <flood>
50740
50741	* NEWS, modules/mod_core.c, src/dirtree.c: 1348-umask argument not
50742	stored correctly
50743
507442001-10-18  flood <flood>
50745
50746	* ChangeLog: Updated ChangeLog
50747
507482001-10-18  flood <flood>
50749
50750	* NEWS, include/version.h: 1.2.3-release
50751
507522001-10-18  flood <flood>
50753
50754	* ChangeLog: Updated ChangeLog.
50755
507562001-10-18  flood <flood>
50757
50758	* NEWS, doc/Configuration.html, modules/mod_core.c,
50759	modules/mod_log.c, modules/mod_site.c, src/main.c: 1344-ExtendedLog
50760	now logs QUIT command 1332-Doc patch 1335-Doc patch 1334-Max* none
50761	fix 1343-better reporting of command dispatching 1242-more verbose
50762	logging of regex
50763
507642001-10-18  flood <flood>
50765
50766	* NEWS, src/dirtree.c: #1247 - Fix Allow/Deny boolean logic.
50767
507682001-09-26  flood <flood>
50769
50770	* NEWS, modules/mod_core.c: #1327 AllowForeignAddress mergedown
50771
507722001-09-26  flood <flood>
50773
50774	* NEWS, include/dirtree.h, modules/mod_core.c, src/dirtree.c: #1280
50775	datatype fixups
50776
507772001-09-26  flood <flood>
50778
50779	* NEWS, modules/mod_ls.c: #1311 - sigsegv under DirFake* directives
50780
507812001-09-26  flood <flood>
50782
50783	* NEWS, include/conf.h: #1305 - limits.h now included
50784
507852001-09-26  flood <flood>
50786
50787	* NEWS, src/inet.c: #1331 - forward-resolve reverse dns
50788
507892001-08-24  flood <flood>
50790
50791	* src/main.c: patched to not display PASS password on proctitle
50792
507932001-08-17  flood <flood>
50794
50795	* ChangeLog: Updated ChangeLog.
50796
507972001-08-17  flood <flood>
50798
50799	* NEWS, include/version.h: 1.2.2-final
50800
508012001-08-16  flood <flood>
50802
50803	* include/conf.h: Double license in header conf.h
50804
508052001-08-16  flood <flood>
50806
50807	* ChangeLog: Updated ChangeLog.
50808
508092001-08-16  flood <flood>
50810
50811	* ChangeLog, NEWS, doc/Configuration.html: Updated docs, moved
50812	mod_test.c to attic
50813
508142001-08-16  flood <flood>
50815
50816	* NEWS, modules/mod_ls.c, modules/mod_xfer.c, src/support.c: 1273 -
50817	DirFakeGroup merges down 1286 - mod_ls displays set[ug]id bits 1266
50818	- APPE could corrupt files 1278 - access_check() does not set errno
50819	properly
50820
508212001-08-16  flood <flood>
50822
50823	* NEWS, contrib/mod_sql.c: new mod_sql
50824
508252001-08-01  flood <flood>
50826
50827	* ChangeLog: Updated ChangeLog.
50828
508292001-08-01  flood <flood>
50830
50831	* NEWS: README.mod_sql update from author
50832
508332001-08-01  flood <flood>
50834
50835	* INSTALL, NEWS, doc/Configuration.html, modules/mod_ls.c: #1187
50836	Upstream update to mod_quota #1217,1262,1111,1216 Documentation
50837	updates #1145 DirFakeUser now applies to STAT as well as LIST/NLST
50838
508392001-08-01  flood <flood>
50840
50841	* NEWS, include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c,
50842	src/dirtree.c, src/main.c: #1219 - gcc 3.0 fix #1232 - UserOwner
50843	changes both uid and gid
50844
508452001-07-04  flood <flood>
50846
50847	* ChangeLog: Updated ChangeLog.
50848
508492001-07-04  flood <flood>
50850
50851	* NEWS, src/log.c: #1230 - size mismatch struct utmpx in Solaris 8
50852	(sparcv9)
50853
508542001-07-03  flood <flood>
50855
50856	* NEWS, modules/mod_auth.c: #1098 - Non~* DefaultRoot bug
50857
508582001-07-03  flood <flood>
50859
50860	* NEWS, modules/mod_xfer.c: #1234 ABOR must always return 226
50861
508622001-07-02  flood <flood>
50863
50864	* NEWS, contrib/mod_sql.c: New mod_sql
50865
508662001-06-20  flood <flood>
50867
50868	* ChangeLog: Updated ChangeLog.
50869
508702001-06-20  flood <flood>
50871
50872	* NEWS, include/version.h: Bump version, final commit for 1.2.2rc3
50873
508742001-06-20  flood <flood>
50875
50876	* NEWS, src/main.c: #1215 - Removes setpgid from fork_server
50877
508782001-06-20  flood <flood>
50879
50880	* NEWS, modules/mod_ls.c: #1145 - DirFakeUser can display currently
50881	logged in user
50882
508832001-06-20  flood <flood>
50884
50885	* NEWS, doc/Configuration.html: #1164,1020,1134,1190,1207 - Doc
50886	updates
50887
508882001-06-19  flood <flood>
50889
50890	* NEWS, src/data.c: #1210 Possible silent truncation in net-ascii
50891	mode
50892
508932001-06-18  flood <flood>
50894
50895	* NEWS, modules/mod_ls.c, src/dirtree.c: #1212 Special files in
50896	directory listings
50897
508982001-06-18  flood <flood>
50899
50900	* ChangeLog: Updated ChangeLog.
50901
509022001-06-18  flood <flood>
50903
50904	* NEWS, modules/mod_core.c: #1189 Directory dups allowed in
50905	Anonymous
50906
509072001-06-18  flood <flood>
50908
50909	* NEWS, modules/mod_auth.c, modules/mod_core.c, modules/mod_ls.c,
50910	src/dirtree.c, src/main.c, src/support.c: #1155 - non rfc behavior
50911	#1193 ~ files not handled correctly #1203 - '!' ACL negation logic
50912	changed #1161 - %F displays free space on CWD #1151 - <Limit>
50913	searching fix for Anon/Vhost root
50914
509152001-06-18  flood <flood>
50916
50917	* ChangeLog: Updated ChangeLog.
50918
509192001-06-18  flood <flood>
50920
50921	* NEWS, include/conf.h, include/data.h, include/default_paths.h,
50922	include/dirtree.h, include/ident.h, include/inet.h,
50923	include/libsupp.h, include/log.h, include/modules.h,
50924	include/options.h, include/pool.h, include/privs.h,
50925	include/proftpd.h, include/sets.h, include/support.h,
50926	include/timers.h, modules/mod_auth.c, modules/mod_core.c,
50927	modules/mod_log.c, modules/mod_ls.c, modules/mod_site.c,
50928	modules/mod_xfer.c, src/auth.c, src/data.c, src/dirtree.c,
50929	src/ident.c, src/inet.c, src/log.c, src/main.c, src/modules.c,
50930	src/pool.c, src/sets.c, src/support.c, src/timers.c: Updated
50931	Copyright/License to allow linking to OpenSSL
50932
509332001-06-03  flood <flood>
50934
50935	* ChangeLog: Updated ChangeLog.
50936
509372001-06-03  flood <flood>
50938
50939	* NEWS, modules/mod_auth.c, modules/mod_core.c, src/main.c: #1185 -
50940	homedir symlink dereference #1189 - duplicated <Directory> contexts
50941	not allowed #1183 - removed redundant find_class()
50942
509432001-06-03  flood <flood>
50944
50945	* NEWS, contrib/dist/rpm/proftpd.init.d,
50946	contrib/xferstats.holger-preiss, include/glibc-glob.h,
50947	modules/mod_core.c, src/main.c: #1201 - Feature addition to
50948	contrib/xferstats.holger-preiss #1132 - glibc2.0 compilation #1090 -
50949	ExtendedLog not reporting errors on all events #1149 - Modification
50950	in rpm init script
50951
509522001-05-31  flood <flood>
50953
50954	* ChangeLog: Updated ChangeLog.
50955
509562001-05-31  flood <flood>
50957
50958	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
50959	contrib/mod_sql_postgres.c: New mod_sql and friends
50960
509612001-05-21  flood <flood>
50962
50963	* ChangeLog: Updated ChangeLog.
50964
509652001-05-21  flood <flood>
50966
50967	* NEWS, contrib/mod_readme.c, include/conf.h, modules/mod_core.c:
50968	Bug 1175 - GNU HURD portability Bug 1177 - mod_readme.c moved to
50969	contrib/ Bug 1176 - PWD/XPWD now G_DIRS and limitable
50970
509712001-05-21  flood <flood>
50972
50973	* NEWS, lib/glibc-glob.c: Bug 1155 - conditional HPUX headers in
50974	glibc-glob.c
50975
509762001-05-17  flood <flood>
50977
50978	* ChangeLog: Updated ChangeLog
50979
509802001-05-17  flood <flood>
50981
50982	* NEWS, include/proftpd.h, lib/getopt.c, lib/pr_fnmatch.c,
50983	lib/pr_fnmatch_loop.c, modules/mod_auth.c, src/inet.c, src/main.c:
50984	#1156 - usernames w/ spaces #1160 - svr4.2mp;UX/4800 has bsd root
50985	socket semantics #1168 - cleanup #1169 - DefaultRoot/DefaultChdir no
50986	longer mutually exclusive #1170 - cleanup #1172 - cleanup
50987
509882001-05-16  flood <flood>
50989
50990	* NEWS, src/inet.c: Bug #1152 - integer array overflow w.r.t.
50991	PassivePorts
50992
509932001-04-24  flood <flood>
50994
50995	* NEWS, modules/mod_ls.c: Bug 1137 - NLST displayed hidden files
50996
509972001-04-23  flood <flood>
50998
50999	* NEWS: Final NEWS update for 1.2.2rc2 (old)
51000
510012001-04-20  flood <flood>
51002
51003	* ChangeLog: Updated ChangeLog.
51004
510052001-04-20  flood <flood>
51006
51007	* NEWS, include/version.h, src/main.c: Bug 1112 - removed in_addr
51008	cast for better compilation on IRIX 6.2.
51009
510102001-04-20  flood <flood>
51011
51012	* NEWS, modules/mod_site.c: Log warning when AllowChmod is used.
51013
510142001-04-18  flood <flood>
51015
51016	* src/data.c: Ooops.  sendfile() Linux subtraction was backwards. ;)
51017
510182001-04-18  flood <flood>
51019
51020	* ChangeLog: Updated ChangeLog.
51021
510222001-04-18  flood <flood>
51023
51024	* NEWS, src/data.c: Bug #1128 - Incorrect sendfile() semantics.
51025
510262001-04-13  flood <flood>
51027
51028	* modules/mod_core.c: Fixed sigsegv on SITE bug, only in cvs
51029	versions.
51030
510312001-04-11  flood <flood>
51032
51033	* modules/mod_log.c, src/dirtree.c, src/log.c: small fixes to dr's
51034	case insensitivity patch.  case sensitivity is actually required in
51035	some places. ;)
51036
510372001-04-11  flood <flood>
51038
51039	* NEWS, lib/glibc-glob.c, src/main.c: Bug 1119 - IRIX6 fix for
51040	glibc-glob.c Bug 1090 - logging now works with PRE_CMD failed
51041	handlers
51042
510432001-04-11  flood <flood>
51044
51045	* ChangeLog: Updated ChangeLog.
51046
510472001-04-11  flood <flood>
51048
51049	* src/dirtree.c: MasqueradeAddress now prints LOG_INFO message.
51050
510512001-04-11  flood <flood>
51052
51053	* NEWS, include/log.h, modules/mod_auth.c, modules/mod_core.c,
51054	modules/mod_log.c, modules/mod_ls.c, src/dirtree.c, src/log.c: Bug
51055	#1093 - world writable log/symlinked log files Bug #1094 -
51056	Auth{User,Group}File disallow relative paths Bug #1096 - Case
51057	insensitivity/RLimit* args
51058
510592001-03-27  flood <flood>
51060
51061	* ChangeLog: Updated ChangeLog.
51062
510632001-03-27  flood <flood>
51064
51065	* doc/Configuration.html: Bugs #1088, 1058 & 1041 - Doc updates for
51066	1.2.2.
51067
510682001-03-27  flood <flood>
51069
51070	* NEWS: Updated NEWS version
51071
510722001-03-24  flood <flood>
51073
51074	* ChangeLog: Final commit for 1.2.2rc1.
51075
510762001-03-24  flood <flood>
51077
51078	* include/version.h: Bumped version number to 1.2.2rc1.
51079
510802001-03-24  flood <flood>
51081
51082	* ChangeLog: Updated ChangeLog.
51083
510842001-03-24  flood <flood>
51085
51086	* NEWS, modules/mod_auth.c: Bug #1085: better logging of two auth
51087	messages in mod_auth.
51088
510892001-03-24  flood <flood>
51090
51091	* NEWS, doc/Configuration.html, modules/mod_xfer.c: Bug #1043:
51092	Possible inf. loop in throttle code.  Bug #1074: Doc fixes Bug
51093	#1070: Doc fixes
51094
510952001-03-23  flood <flood>
51096
51097	* NEWS, contrib/mod_sql.c, contrib/mod_sql_mysql.c,
51098	include/proftpd.h, modules/mod_core.c, src/dirtree.c, src/main.c:
51099	Bug #1075 - Fix for short copy of sub-contexts from <Global> New
51100	mod_sql and mod_sql docs from maintainer New RLimit* directives used
51101	to control resource limits
51102
511032001-03-23  flood <flood>
51104
51105	* modules/mod_core.c, src/auth.c, src/main.c: Slightly better
51106	handling of uid/gid type casts and conversions.
51107
511082001-03-22  flood <flood>
51109
51110	* NEWS, modules/mod_auth.c: Bug #1049 - passwd/group files are now
51111	close/re-opened at USER/PASS.
51112
511132001-03-22  flood <flood>
51114
51115	* src/dirtree.c: Added debugging to umask code.
51116
511172001-03-22  flood <flood>
51118
51119	* include/glibc-glob.h: glibc glob header should now be more
51120	portable
51121
511222001-03-17  flood <flood>
51123
51124	* Make.rules.in, NEWS, acconfig.h, config.h.in, configure,
51125	configure.in, include/conf.h, include/glibc-glob.h,
51126	include/libsupp.h, lib/glibc-glob.c: Bug #1066 - new GNU glob which
51127	protects against DoS attacks.
51128
511292001-03-13  flood <flood>
51130
51131	* ChangeLog: Updated ChangeLog.
51132
511332001-03-13  flood <flood>
51134
51135	* contrib/mod_sql.c: New mod_sql from maintainer.
51136
511372001-03-11  flood <flood>
51138
51139	* ChangeLog: Updated ChangeLog.
51140
511412001-03-11  flood <flood>
51142
51143	* NEWS, modules/mod_core.c, src/main.c: Added MasqueradeAddress
51144	feature.
51145
511462001-03-09  flood <flood>
51147
51148	* NEWS, modules/mod_auth.c, modules/mod_core.c: Bug #1044 - New
51149	directive: AccessDenyMsg
51150
511512001-03-09  flood <flood>
51152
51153	* src/main.c: Bug #1056 (second part) - SIGSEGV is no longer handled
51154	when inside the SIGSEGV handler.
51155
511562001-03-09  flood <flood>
51157
51158	* NEWS: Bug #1055 - ftpwho/ftpcount scan proftpd.conf for scoreboard
51159	path.
51160
511612001-03-09  flood <flood>
51162
51163	* NEWS, config.h.in, configure, configure.in, src/pool.c: Bug #1042
51164	- Directory matching for / Bug #1051 - man pages reference
51165	proftpd.net instead of .org New proftpd.spec.in from RPM maintainer
51166	configure now tests for the limits.h header file
51167
511682001-03-01  flood <flood>
51169
51170	* ChangeLog: Updated ChangeLog.
51171
511722001-03-01  flood <flood>
51173
51174	* NEWS: New NEWS
51175
511762001-03-01  flood <flood>
51177
51178	* ChangeLog: Updated ChangeLog.
51179
511802001-03-01  flood <flood>
51181
51182	* README, README.ports: Updated READMEs.
51183
511842001-03-01  flood <flood>
51185
51186	* NEWS, configure, configure.in, contrib/mod_sql.c,
51187	contrib/mod_sql_mysql.c, include/version.h, modules/mod_core.c: New
51188	mod_sql maintainer stuff.  Attempting to use classes without
51189	"Classes On" emits a warning.
51190
511912001-02-28  flood <flood>
51192
51193	* include/pool.h, modules/mod_auth.c, src/inet.c, src/pool.c: Bug
51194	#1037 - Fix for netbsd sockets.  Bug #1039 - proper copying of
51195	session.groups New MLST draft proposal
51196
511972001-02-28  flood <flood>
51198
51199	* NEWS, configure, configure.in, modules/mod_xfer.c: Bug #1036 -
51200	--disable-shadow now works.  More informative message for REST w/
51201	HiddenStor.  Default CFLAGS changed from -O6 to -O2
51202
512032001-02-27  flood <flood>
51204
51205	* contrib/mod_ldap.c, contrib/mod_sql.c: Updated RPM spec (again) as
51206	well as new mod_ldap and mod_sql contrib modules.
51207
512082001-02-27  flood <flood>
51209
51210	* contrib/mod_sql.c, include/version.h: New RPM .spec and mod_sql.c
51211
512122001-02-26  flood <flood>
51213
51214	* ChangeLog: Updated ChangeLog.
51215
512162001-02-26  flood <flood>
51217
51218	* Makefile.in, NEWS, include/version.h: Final commit to 1.2.0-final
51219	release
51220
512212001-02-26  flood <flood>
51222
51223	* src/support.c: access_check() always succeeds for root now.
51224
512252001-02-26  flood <flood>
51226
51227	* ChangeLog: Updated ChangeLog.
51228
512292001-02-26  flood <flood>
51230
51231	* contrib/mod_ldap.c: New mod_ldap.c
51232
512332001-02-25  flood <flood>
51234
51235	* contrib/mod_sql.c: Patch from mod_sql maintainer.
51236
512372001-02-25  flood <flood>
51238
51239	* CREDITS, doc/Configuration.html: Bug #1034 - Final clean-up for
51240	docs.  CREDITS - added Chuck
51241
512422001-02-24  flood <flood>
51243
51244	* Makefile.in, configure, configure.in, modules/mod_auth.c: Bug
51245	#1033 - access denied text fix Minor tweaks to configure, updates
51246	distclean rule in Makefile
51247
512482001-02-24  flood <flood>
51249
51250	* configure, configure.in, contrib/mod_sql.c: Bug #1031 - update
51251	from mod_sql maintainer New README.mod_sql configure no longer
51252	duplicates additional modules' libraries.
51253
512542001-02-24  flood <flood>
51255
51256	* ChangeLog: Updated ChangeLog.
51257
512582001-02-24  flood <flood>
51259
51260	* CREDITS: Removed mod_sql docs per AAH.  New docs will be added
51261	with more appropriate filenames.
51262
512632001-02-23  flood <flood>
51264
51265	* CREDITS, README, README.ports, configure, configure.in,
51266	contrib/mod_ratio.c, contrib/mod_sql.c, contrib/mod_sql_postgres.c,
51267	lib/Makefile.in: Bug #1024 - minor doc changes.  Bug #1025 - stop
51268	assuming the system has ranlib.  Bug #1028 - mod_sql_postgres.c
51269	patch from maintainer.  Bug #1029 - mod_sql.c patch from maintainer.
51270	Bug #1030 - mod_ratio.c should compile again.
51271
512722001-02-23  flood <flood>
51273
51274	* ChangeLog: Updated ChangeLog.
51275
512762001-02-23  flood <flood>
51277
51278	* NEWS, config.h.in, configure, configure.in, include/modules.h,
51279	include/proftpd.h, modules/mod_auth.c, src/auth.c, src/dirtree.c,
51280	src/main.c: Bug #259 - supplemental groups should now work better
51281	for anonymous logins.
51282
512832001-02-23  flood <flood>
51284
51285	* include/inet.h, src/inet.c, src/main.c: Bug #370 - race condition
51286	under heavy load at child startup
51287
512882001-02-23  flood <flood>
51289
51290	* contrib/mod_sql.c: New mod_sql 3.01 from Andrew Houghton
51291	<aah@acm.org>
51292
512932001-02-23  flood <flood>
51294
51295	* ChangeLog: Updated ChangeLog.
51296
512972001-02-23  flood <flood>
51298
51299	* INSTALL, README, README.AIX, README.FreeBSD, README.modules,
51300	README.ports, configure, configure.in, doc/Configuration.html,
51301	sample-configurations/PFTEST.conf.in,
51302	sample-configurations/PFTEST.group,
51303	sample-configurations/PFTEST.install,
51304	sample-configurations/PFTEST.passwd,
51305	sample-configurations/PFTEST.shadow: Bug #1006 - Fixes in
51306	configure.in  Bug #1022 - Docs updated for mod_sql. Bug #1024 -
51307	Updated INSTALL, README and new READMEs and PFTEST files.
51308
513092001-02-22  flood <flood>
51310
51311	* modules/mod_ls.c: Bug #1016 - Listing "." files should work again
51312	+ tweak to IgnoreHidden.
51313
513142001-02-22  flood <flood>
51315
51316	* ChangeLog: Updated ChangeLog.
51317
513182001-02-22  flood <flood>
51319
51320	* NEWS, include/dirtree.h, modules/mod_core.c, modules/mod_ls.c,
51321	modules/mod_xfer.c, src/dirtree.c: Bug #1023 - Fix for IgnoreHidden
51322	boolean patch problem introduced in rc2.
51323
513242001-02-22  flood <flood>
51325
51326	* ChangeLog: Updated ChangeLog.
51327
513282001-02-22  flood <flood>
51329
51330	* Make.rules.in, Makefile.in, include/.cvsignore,
51331	include/version.h, src/main.c: Build timestamp is now reported at
51332	startup and with --version-status.  Removing includes from CFLAGS
51333	(CPPFLAGS is enough), changed uid/gid cast from unsigned long long
51334	to unsigned long.
51335
513362001-02-22  flood <flood>
51337
51338	* configure: configure needs a new timestamp :)
51339
513402001-02-22  flood <flood>
51341
51342	* ChangeLog: Updated ChangeLog, re-ran autoconf
51343
513442001-02-22  flood <flood>
51345
51346	* NEWS, src/log.c: Logging is now done with a single write() syscall
51347
513482001-02-22  flood <flood>
51349
51350	* modules/mod_core.c, src/main.c: Bug #1009 - FTP logins are now
51351	logged to match logouts.
51352
513532001-02-21  flood <flood>
51354
51355	* ChangeLog: Updated ChangeLog.
51356
513572001-02-21  flood <flood>
51358
51359	* CREDITS, src/log.c: Bug #1021 - fix for ftpwho/ftpcount not
51360	working (_pid_exists() in log.c)
51361
513622001-02-21  flood <flood>
51363
51364	* modules/mod_xfer.c: Bug #1015 - Format string for long long uids.
51365	REST command now returns failure message if used where HiddenStor is
51366	enabled.
51367
513682001-02-21  flood <flood>
51369
51370	* ChangeLog, NEWS: Updated NEWS
51371
513722001-02-21  flood <flood>
51373
51374	* NEWS, doc/Configuration.html, include/ftp.h, modules/mod_xfer.c,
51375	src/log.c: Bug #1003/1017 documentation fixes.  Bug #463 - no longer
51376	possible to REST past the end of a file.  kill(pid,SIGCONT) in log.c
51377	switched to kill(pid,0)
51378
513792001-02-20  flood <flood>
51380
51381	* configure, configure.in, include/version.h, src/main.c: Added
51382	--version-status which displays extended version information.
51383
513842001-02-20  flood <flood>
51385
51386	* src/main.c: Timeout and normal logout syslog messages are now
51387	logged at LOG_INFO instead of LOG_NOTICE.
51388
513892001-02-20  flood <flood>
51390
51391	* ChangeLog: Updated ChangeLog.
51392
513932001-02-20  flood <flood>
51394
51395	* modules/mod_xfer.c: Bug #1012 - Fixed "Unable to throttle
51396	bandwidth: Interrupted system call" issue.
51397
513982001-02-19  flood <flood>
51399
51400	* contrib/mod_sql.c, contrib/mod_sql_mysql.c,
51401	contrib/mod_sql_postgres.c: Added AAH's newly-maintained mod_sql 3.0
51402	back in to CVS.
51403
514042001-02-18  flood <flood>
51405
51406	* ChangeLog: Updated ChangeLog.
51407
514082001-02-16  flood <flood>
51409
51410	* ChangeLog: Updated ChangeLog.
51411
514122001-02-16  flood <flood>
51413
51414	* modules/mod_core.c, src/dirtree.c: Bug #1008 - Port 21 is now
51415	default w/out Port directive.
51416
514172001-02-15  flood <flood>
51418
51419	* src/data.c: spurious #ifdef removed, sendfile() should compile
51420	again
51421
514222001-02-14  flood <flood>
51423
51424	* ChangeLog: Updated ChangeLog.
51425
514262001-02-14  flood <flood>
51427
51428	* acconfig.h, config.h.in, configure, configure.in, src/data.c:
51429	sendfile configure code fixed, HP/UX support for sendfile removed
51430	because HP/UX's implementation is just plain wrong.  Might be added
51431	back in 1.3.
51432
514332001-02-14  flood <flood>
51434
51435	* ChangeLog: Updated ChangeLog.
51436
514372001-02-14  flood <flood>
51438
51439	* modules/mod_xfer.c: Bug #462 - sendfile works again on freebsd
51440
514412001-02-13  flood <flood>
51442
51443	* modules/mod_ls.c, src/dirtree.c: Bug #1007 - IgnoreHidden can now
51444	be turned off.
51445
514462001-02-05  flood <flood>
51447
51448	* ChangeLog: Updated ChangeLog.
51449
514502001-02-05  flood <flood>
51451
51452	* CREDITS, INSTALL, NEWS, README, doc/Configuration.html: Minor doc
51453	changes
51454
514552001-02-05  flood <flood>
51456
51457	* ChangeLog: Updated ChangeLog.
51458
514592001-02-05  flood <flood>
51460
51461	* NEWS: moved mod_tar.c, mod_sqlpw.c, mod_mysql.c and mod_pgsql.c to
51462	attic, mod_test.c to contrib/.  Adjusted README.sqlpw accordingly.
51463
514642001-02-05  flood <flood>
51465
51466	* configure, configure.in, contrib/mod_ratio.c, modules/mod_auth.c,
51467	modules/mod_xfer.c: Bug #279 - Correct use of sendfile. #29 -
51468	updated rpm spec. #433 - initial .ftpaccess in cwd. #453 mod_ratio
51469	now uses new dir_check().  initgroups/getgroups use now requires
51470	--enable-initgroups.
51471
514722001-02-05  flood <flood>
51473
51474	* ChangeLog: Updated ChangeLog.
51475
514762001-02-05  flood <flood>
51477
51478	* src/log.c: Bug #455 - SyslogLevel now works as documented.
51479
514802001-02-05  flood <flood>
51481
51482	* README, configure, configure.in, lib/Makefile.in: Bug #293 -
51483	Compilation under OSX.
51484
514852001-02-03  flood <flood>
51486
51487	* src/data.c: Minor fixes to bug 399's patch. ;)
51488
514892001-02-02  flood <flood>
51490
51491	* ChangeLog: Updated ChangeLog.
51492
514932001-02-02  flood <flood>
51494
51495	* modules/mod_core.c: Bug #407 - Include pathnames must now be
51496	absolute
51497
514982001-02-02  flood <flood>
51499
51500	* include/options.h, modules/mod_xfer.c, src/data.c: Bug #399 -
51501	incorrect handling of CRs during ascii transfers, also made default
51502	buffer size a macron in options.h: TUNABLE_BUFFER_SIZE
51503
515042001-02-02  flood <flood>
51505
51506	* CREDITS, INSTALL, NEWS: Updated minor documentation
51507
515082001-02-01  flood <flood>
51509
51510	* ChangeLog: Updated ChangeLog.
51511
515122001-02-01  flood <flood>
51513
51514	* include/version.h, src/auth.c: Bug #435 - uid/gid checking for -1,
51515	updated version string to 1.2.0rc3
51516
515172001-02-01  flood <flood>
51518
51519	* ChangeLog: Updated ChangeLog.
51520
515212001-02-01  flood <flood>
51522
51523	* src/main.c: Bug #451 - check uid/gid after PRIVS_SETUP
51524
515252001-01-31  flood <flood>
51526
51527	* ChangeLog: Updated ChangeLog.
51528
515292001-01-31  flood <flood>
51530
51531	* configure, configure.in, modules/mod_xfer.c: Bug #35 - call
51532	_aborT() funcs in exit handler.  sendfile() support is now disabled
51533	by default, enable with --enable-sendfile
51534
515352001-01-31  flood <flood>
51536
51537	* ChangeLog: Updated ChangeLog.
51538
515392001-01-31  flood <flood>
51540
51541	* include/dirtree.h, modules/mod_core.c, modules/mod_ls.c,
51542	modules/mod_xfer.c, src/dirtree.c: Bug #410 - IgnoreHidden fix and
51543	cleanup/changes of hiding code.
51544
515452001-01-31  flood <flood>
51546
51547	* modules/mod_auth.c, modules/mod_core.c: Bug #422 - fixed handling
51548	of get_boolean() in config handles #410 - HideNoAccess now takes
51549	boolean argument
51550
515512001-01-29  flood <flood>
51552
51553	* ChangeLog: Updated ChangeLog.
51554
515552001-01-29  flood <flood>
51556
51557	* contrib/mod_ldap.c: New mod_ldap.c from jwm@horde.net
51558
515592001-01-29  flood <flood>
51560
51561	* ChangeLog: Updated ChangeLog.
51562
515632001-01-29  flood <flood>
51564
51565	* modules/mod_core.c, src/dirtree.c: Bug #353 - Allows use of '!'
51566	negation operator in Allow/Deny.
51567
515682001-01-29  flood <flood>
51569
51570	* ChangeLog: Updated ChangeLog.
51571
515722001-01-29  flood <flood>
51573
51574	* doc/Configuration.html, include/inet.h, modules/mod_core.c,
51575	src/inet.c, src/main.c: Bug #188 - Removed use of NAME_MAX in
51576	mod_tar and mod_test.  #349 - Final implementation of PassivePorts.
51577
515782001-01-28  flood <flood>
51579
51580	* ChangeLog: Updated ChangeLog.
51581
515822001-01-28  flood <flood>
51583
51584	* modules/mod_core.c: Bug #436 - MaxClients* directives now merge
51585	downward.
51586
515872001-01-28  flood <flood>
51588
51589	* ChangeLog: Updated ChangeLog.
51590
515912001-01-28  flood <flood>
51592
51593	* doc/Configuration.html, modules/mod_auth.c, src/main.c: Bug #350 -
51594	Enabling classes but not defining a class no longer segfaults. #360
51595	- Proftpd now logs if passwd/group files cannot be opened. #417 -
51596	Command filter regexps no longer apply to the PASS command.
51597
515982001-01-26  flood <flood>
51599
51600	* ChangeLog: Updated ChangeLog.
51601
516022001-01-26  flood <flood>
51603
51604	* modules/mod_core.c: Bug #390 - Added ifdef to regex code in
51605	mod_core
51606
516072001-01-26  flood <flood>
51608
51609	* contrib/dist/rpm/proftpd.init.d: Bug #347 - RPM problem in
51610	contrib/
51611
516122001-01-26  flood <flood>
51613
51614	* src/dirtree.c: Bug #397 - Fixed problem with incorrect config file
51615	line count
51616
516172001-01-26  flood <flood>
51618
51619	* src/support.c: Bug #441 - off-by-one error when reading month from
51620	/etc/shutmsg
51621
516222001-01-26  flood <flood>
51623
51624	* doc/Configuration.html: Bug #429 - Documentation changes
51625
516262001-01-26  flood <flood>
51627
51628	* src/inet.c, src/main.c: Bug #398 - overwriting file descriptor in
51629	inet_openrw()
51630
516312001-01-25  flood <flood>
51632
51633	* ChangeLog: Updated ChangeLog.
51634
516352001-01-25  flood <flood>
51636
51637	* ChangeLog, configure: Updated ChangeLog.
51638
516392001-01-25  flood <flood>
51640
51641	* config.h.in, configure.in, modules/mod_auth.c: Bug #365 - Removed
51642	jail() code from mod_auth.c
51643
516442001-01-25  flood <flood>
51645
51646	* ChangeLog: Updated ChangeLog.
51647
516482001-01-25  flood <flood>
51649
51650	* ChangeLog: Updated ChangeLog.
51651
516522001-01-25  flood <flood>
51653
51654	* ChangeLog: [no log message]
51655
516562001-01-24  flood <flood>
51657
51658	* ChangeLog: [no log message]
51659
516602001-01-24  flood <flood>
51661
51662	* ChangeLog, contrib/mod_ratio.c, src/main.c: Bug #430 - format
51663	string fixes in log_pri and mod_ratio.
51664
516652001-01-24  flood <flood>
51666
51667	* src/dirtree.c, src/log.c, src/main.c: Bug #408 (1) -
51668	add_config_set fix to prevent USER/pool overwrite DoS Bug #408 (2) -
51669	scoreboard memory leak in log_open_run fixed Bug #408 (3) - Fixed
51670	potential format string bug in main.c Bug #434     - Added pool to
51671	pidrec_t to fix large server memory leak
51672
516732000-10-08  macgyver <macgyver>
51674
51675	* acconfig.h, config.h.in, configure, configure.in,
51676	include/support.h, modules/mod_ls.c, src/support.c: Correctly use
51677	NAME_MAX and fpathconf() when appropriate.
51678
516792000-10-08  macgyver <macgyver>
51680
51681	* contrib/README.mod_wrap, contrib/mod_wrap.c: Added in mod_wrap
51682	into contrib.
51683
516842000-10-08  macgyver <macgyver>
51685
51686	* modules/mod_core.c: Correctly log the full path of deleted files.
51687
516882000-10-08  macgyver <macgyver>
51689
51690	* modules/mod_auth.c, modules/mod_core.c: Added in support for
51691	MaxHostsPerUser and fixed a problem with AnonRequirePassword.
51692
516932000-10-08  macgyver <macgyver>
51694
51695	* src/inet.c: Lots of little cleanups.
51696
516972000-10-08  macgyver <macgyver>
51698
51699	* contrib/mod_ratio.c: Fixed a bounds issue when checking the SITE
51700	command.
51701
517022000-08-19  macgyver <macgyver>
51703
51704	* configure, configure.in: Fixed ordering in library duplication
51705	detection code.
51706
517072000-08-18  macgyver <macgyver>
51708
51709	* NEWS: Updates.
51710
517112000-08-18  macgyver <macgyver>
51712
51713	* ChangeLog: Updated ChangeLog.
51714
517152000-08-18  macgyver <macgyver>
51716
51717	* README.PAM: Updated PAM documentation for FreeBSD.
51718
517192000-08-18  macgyver <macgyver>
51720
51721	* src/dirtree.c: Don't only partially match directory names.  This
51722	annoying bug allowed for directory-level configurations to sometimes
51723	not work right.
51724
517252000-08-18  macgyver <macgyver>
51726
51727	* configure, configure.in: Fixed a small typo in PAM detection.
51728
517292000-08-18  macgyver <macgyver>
51730
51731	* acconfig.h, config.h.in, configure, configure.in: PAM and path
51732	modifications.
51733
517342000-08-13  macgyver <macgyver>
51735
51736	* Make.rules.in, acconfig.h, config.h.in, configure, configure.in,
51737	include/conf.h: Some configure and compilation cleanups.
51738
517392000-08-08  macgyver <macgyver>
51740
51741	* include/data.h, modules/mod_xfer.c, src/data.c: Cleaned up
51742	sendfile() implementation to make it simpler and more managable.
51743
517442000-08-07  macgyver <macgyver>
51745
51746	* modules/mod_core.c: Fixed a typo in set_sysloglevel.
51747
517482000-08-05  macgyver <macgyver>
51749
51750	* modules/mod_auth.c: Be a little more anal retentive about cleaning
51751	up after ourselves when it comes to USER/PASS attempts.
51752
517532000-08-05  macgyver <macgyver>
51754
51755	* src/data.c: Formatting cleanups.
51756
517572000-08-05  macgyver <macgyver>
51758
51759	* modules/mod_xfer.c: Removed spurious #if 0.
51760
517612000-08-04  macgyver <macgyver>
51762
51763	* configure, configure.in: Updated HP/UX sendfile() to only actually
51764	check on HP/UX platforms. :)
51765
517662000-08-04  macgyver <macgyver>
51767
51768	* ChangeLog: Updated ChangeLog.
51769
517702000-08-04  macgyver <macgyver>
51771
51772	* doc/Configuration.html: Updated documentation.
51773
517742000-08-03  macgyver <macgyver>
51775
51776	* contrib/README.ratio, contrib/mod_ratio.c: Updated to mod_ratio.
51777
517782000-08-03  macgyver <macgyver>
51779
51780	* contrib/mod_ldap.c: Updated to mod_ldap 2.7.3 to remove
51781	LDAPSearchFilter.
51782
517832000-08-03  macgyver <macgyver>
51784
51785	* modules/mod_auth.c: Oops...more compilation fixes for jail(). :)
51786
517872000-08-03  macgyver <macgyver>
51788
51789	* doc/Configuration.html: Updated documentation.
51790
517912000-08-03  macgyver <macgyver>
51792
51793	* modules/mod_auth.c: Correctly obtain the IP address in jail().
51794
517952000-08-03  macgyver <macgyver>
51796
51797	* modules/mod_auth.c: Typos in jail() support.
51798
517992000-08-03  macgyver <macgyver>
51800
51801	* ChangeLog: Updated ChangeLog.
51802
518032000-08-03  macgyver <macgyver>
51804
51805	* modules/mod_auth.c: Added some debug logging to lockdown().
51806
518072000-08-03  macgyver <macgyver>
51808
51809	* NEWS, config.h.in, configure, configure.in, modules/mod_auth.c:
51810	Added in support for jail() on platforms that support it (currently
51811	FreeBSD 4.x+).
51812
518132000-08-03  macgyver <macgyver>
51814
51815	* ChangeLog, NEWS: Updated ChangeLog and NEWS.
51816
518172000-08-02  macgyver <macgyver>
51818
51819	* doc/Configuration.html: Updated documentation.
51820
518212000-08-02  macgyver <macgyver>
51822
51823	* ChangeLog, NEWS: Updated NEWS and ChangeLog.
51824
518252000-08-02  macgyver <macgyver>
51826
51827	* Make.rules.in, configure, configure.in: Added in --with-libraries
51828	for posterity.
51829
518302000-08-02  macgyver <macgyver>
51831
51832	* configure.in: Added copyright info to the configure scripts.
51833
518342000-08-02  macgyver <macgyver>
51835
51836	* src/log.c: Only log to WTMP or WTMPX, not both.  Modern systems
51837	should all use WTMPX.
51838
518392000-08-02  macgyver <macgyver>
51840
51841	* stamp-h.in: Added in stamp-h.in support.
51842
518432000-08-02  macgyver <macgyver>
51844
51845	* .cvsignore, Makefile.in, configure, configure.in: Added support
51846	for stamp-h.in and automagic rebuilds whenever configure is updated.
51847
518482000-08-02  macgyver <macgyver>
51849
51850	* acconfig.h, config.h.in, configure, configure.in: More sendfile
51851	detection tweaks. :)
51852
518532000-08-02  macgyver <macgyver>
51854
51855	* modules/mod_core.c: Forgot to return HANDLED in add_sysloglevel.
51856
518572000-08-02  macgyver <macgyver>
51858
51859	* ChangeLog: Updated ChangeLog.
51860
518612000-08-02  macgyver <macgyver>
51862
51863	* configure, configure.in: Reworked sendfile detection to be cleaner
51864	and better cached.
51865
518662000-08-02  macgyver <macgyver>
51867
51868	* Make.rules.in, NEWS, configure, configure.in: Added in
51869	--with-includes and made the PAM check for -ldl cache its results.
51870
518712000-08-02  macgyver <macgyver>
51872
51873	* NEWS, include/conf.h, include/data.h, include/default_paths.h,
51874	include/dirtree.h, include/ftp.h, include/ident.h, include/inet.h,
51875	include/libsupp.h, include/log.h, include/modules.h,
51876	include/options.h, include/pool.h, include/privs.h,
51877	include/proftpd.h, include/sets.h, include/timers.h,
51878	modules/mod_core.c, src/log.c: Added SyslogLevel directive, and
51879	cleaned up some header files.
51880
518812000-08-01  macgyver <macgyver>
51882
51883	* modules/mod_core.c, src/main.c: Added support for the PidFile
51884	directive, to make ProFTPD more Apache-like.
51885
518862000-08-01  macgyver <macgyver>
51887
51888	* ChangeLog: Updated ChangeLog.
51889
518902000-08-01  macgyver <macgyver>
51891
51892	* include/proftpd.h, modules/mod_auth.c, src/main.c:
51893	AnonRequirePassword should prevent the password from being displayed
51894	in ftpwho/ftpcount/ps.
51895
518962000-08-01  macgyver <macgyver>
51897
51898	* ChangeLog: Updated ChangeLog.
51899
519002000-08-01  macgyver <macgyver>
51901
51902	* NEWS, modules/mod_log.c: Honor ExtendedLog NONE.
51903
519042000-08-01  macgyver <macgyver>
51905
51906	* NEWS, doc/Configuration.html, modules/mod_site.c: AllowChmod
51907	defaults to 'on' now, to be backward compatible.
51908
519092000-08-01  macgyver <macgyver>
51910
51911	* ChangeLog: Updated ChangeLog.
51912
519132000-08-01  macgyver <macgyver>
51914
51915	* NEWS, modules/mod_auth.c: Moved code around to eliminate a race
51916	with MaxClients.
51917
519182000-08-01  macgyver <macgyver>
51919
51920	* NEWS, contrib/mod_ratio.c, modules/mod_site.c: Fixed a minor bug
51921	in SITE HELP.
51922
519232000-08-01  macgyver <macgyver>
51924
51925	* NEWS, modules/mod_core.c, modules/mod_xfer.c: Added in
51926	DeleteAbortedStores and did some minor cleanups.
51927
519282000-08-01  macgyver <macgyver>
51929
51930	* NEWS: Solaris requires you to have PAM_TTY and PAM_RHOST defined
51931	before you call pam_open_session.  No, it doesn't make sense to me
51932	either. :)
51933
519342000-07-28  macgyver <macgyver>
51935
51936	* lib/pr_fnmatch.c: Optimizations for fnmatch() implementation.
51937
519382000-07-28  macgyver <macgyver>
51939
51940	* contrib/mod_ldap.c: Updated mod_ldap to 2.7.2.
51941
519422000-07-28  macgyver <macgyver>
51943
51944	* modules/mod_xfer.c: Don't check for PORT in cmd_stor if we're in
51945	passive mode.
51946
519472000-07-28  macgyver <macgyver>
51948
51949	* NEWS, modules/mod_site.c: AllowChmod now works in almost any
51950	context.
51951
519522000-07-28  macgyver <macgyver>
51953
51954	* ChangeLog: Updated ChangeLog.
51955
519562000-07-28  macgyver <macgyver>
51957
51958	* NEWS, modules/mod_site.c: AllowChmod works right now.
51959
519602000-07-28  macgyver <macgyver>
51961
51962	* NEWS, acconfig.h, config.h.in, configure, configure.in,
51963	src/data.c: Added --disable-pam, allowing you to disable PAM at
51964	configure-time.  Reorganized sendfile detection a bit and added
51965	support for HP/UX.
51966
519672000-07-27  macgyver <macgyver>
51968
51969	* modules/mod_auth.c: Work around HP/UX's broken compiler in
51970	_do_user_counts().
51971
519722000-07-27  macgyver <macgyver>
51973
51974	* contrib/mod_ldap.c: Updated mod_ldap to latest/greatest.
51975
519762000-07-26  macgyver <macgyver>
51977
51978	* src/main.c: Remove spurious \r\n from various send_response()s.
51979
519802000-07-26  macgyver <macgyver>
51981
51982	* src/main.c: Be verbose about /etc/shutmsg.
51983
519842000-07-26  macgyver <macgyver>
51985
51986	* include/proftpd.h, modules/mod_core.c, modules/mod_ls.c,
51987	modules/mod_xfer.c, src/data.c, src/log.c: Fixed a crash when STOR
51988	called before PORT being issued.  Fixed a crash related to STAT.
51989
519902000-07-26  macgyver <macgyver>
51991
51992	* lib/pwgrent.c: Fixed some warnings on FreeBSD.
51993
519942000-07-26  macgyver <macgyver>
51995
51996	* src/main.c: Better checking for empty strings before attempting to
51997	call a regex.  Handle empty commands cleaner.
51998
519992000-07-26  macgyver <macgyver>
52000
52001	* README.LDAP, contrib/mod_ldap.c: Updated mod_ldap to 2.7.1.
52002
520032000-07-26  macgyver <macgyver>
52004
52005	* lib/pr_fnmatch.c, lib/pr_fnmatch_loop.c: fnmatch.c was renamed to
52006	pr_fnmatch.c, as well as importing the new fnmatch code from glibc.
52007
520082000-07-26  macgyver <macgyver>
52009
52010	* Make.rules.in, config.h.in, configure, configure.in,
52011	include/libsupp.h, lib/Makefile.in, modules/Makefile.in,
52012	src/Makefile.in, src/dirtree.c: New fnmatch code in ProFTPD.
52013	Updated from the latest and greatest glibc code.  ProFTPD now always
52014	uses our builtin fnmatch to eliminate problems with incompatible
52015	implementations as well as namespace collisions.
52016
520172000-07-26  macgyver <macgyver>
52018
52019	* contrib/mod_ratio.c: Transitioned to the new fnmatch() function,
52020	and corrected an error where hosts were being treated in a
52021	case-sensitive fashion.
52022
520232000-07-26  macgyver <macgyver>
52024
52025	* configure, configure.in: Made fnmatch check more robust and
52026	cleaned up gcc detection a bit.
52027
520282000-07-26  macgyver <macgyver>
52029
52030	* configure, configure.in, src/dirtree.c: Hostname checks should be
52031	case insensitive.  Added FNM_CASEFOLD to fnmatch check.
52032
520332000-07-26  macgyver <macgyver>
52034
52035	* config.guess, config.sub: Updated config.guess and config.sub
52036	scripts.
52037
520382000-07-21  macgyver <macgyver>
52039
52040	* ChangeLog: Updated changelog.
52041
520422000-07-21  macgyver <macgyver>
52043
52044	* ChangeLog, NEWS, config.h.in, configure, configure.in,
52045	modules/mod_auth.c: Portability fixes and additions on various
52046	platforms.  Also corrected a problem in configure where a piece of
52047	code was completely bypassed.
52048
520492000-07-21  macgyver <macgyver>
52050
52051	* doc/Configuration.html: Updated configuration documentation.
52052
520532000-07-21  macgyver <macgyver>
52054
52055	* src/main.c: Check for getopt_long was backwards.
52056
520572000-07-21  macgyver <macgyver>
52058
52059	* modules/mod_core.c: Removed unused variables thanks to gcc -Wall.
52060
520612000-07-21  macgyver <macgyver>
52062
52063	* src/main.c: Removed 2 printfs that were just plain wrong in a
52064	situation where a site is administratively shutdown (ala shutmsg,
52065	etc).  Also corrected a getopt_long related issue in show_usage.
52066
520672000-07-21  macgyver <macgyver>
52068
52069	* NEWS: Updated news.
52070
520712000-07-21  macgyver <macgyver>
52072
52073	* ChangeLog: Updated changelog.
52074
520752000-07-21  macgyver <macgyver>
52076
52077	* src/main.c: Command line options are constants.
52078
520792000-07-21  macgyver <macgyver>
52080
52081	* src/main.c: Be mindful of systems without getopt_long.
52082
520832000-07-21  macgyver <macgyver>
52084
52085	* configure, configure.in: Added in better PAM detection for -ldl.
52086
520872000-07-21  macgyver <macgyver>
52088
52089	* README.LDAP, contrib/mod_ldap.c, doc/Configuration.html: Latest
52090	LDAP updates (mod_ldap 2.7).
52091
520922000-07-21  macgyver <macgyver>
52093
52094	* src/data.c: Added many more descriptions around various error
52095	conditions for better RFC compliance.
52096
520972000-07-11  macgyver <macgyver>
52098
52099	* modules/mod_core.c: Fixed a minor typo when there is no regex
52100	engine around.
52101
521022000-07-11  macgyver <macgyver>
52103
52104	* ChangeLog: Updated ChangeLog.
52105
521062000-07-11  macgyver <macgyver>
52107
52108	* NEWS, src/data.c, src/main.c: Don't ignore ServerUseReverseDNS.
52109
521102000-07-11  macgyver <macgyver>
52111
52112	* ChangeLog, contrib/mod_ldap.c, contrib/mod_ratio.c,
52113	lib/pwgrent.c, lib/vsnprintf.c, modules/mod_auth.c,
52114	modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
52115	modules/mod_site.c, modules/mod_xfer.c, src/auth.c, src/dirtree.c,
52116	src/ident.c, src/inet.c, src/log.c, src/pool.c, src/support.c: Minor
52117	updates and buffer cleanups.
52118
521192000-07-11  macgyver <macgyver>
52120
52121	* include/default_paths.h, src/main.c: Added in support for core
52122	file debugging.
52123
521242000-07-11  macgyver <macgyver>
52125
52126	* doc/Configuration.html: Latest and greatest documentation updates.
52127
521282000-07-09  macgyver <macgyver>
52129
52130	* include/log.h, modules/mod_core.c, modules/mod_xfer.c, src/log.c:
52131	Added in support for a completion field in xferlog.
52132
521332000-07-09  macgyver <macgyver>
52134
52135	* doc/Configuration.html: Updated LDAP documentation.
52136
521372000-07-09  macgyver <macgyver>
52138
52139	* contrib/mod_ldap.c: Added in -lresolv.
52140
521412000-07-09  macgyver <macgyver>
52142
52143	* src/support.c: Try to address potential memory issues with people
52144	trying to overflow large path buffers.
52145
521462000-07-08  macgyver <macgyver>
52147
52148	* src/inet.c: Added in some sanity checking so things like
52149	getsockname() don't crash on Solaris when called with invalid
52150	descriptors.
52151
521522000-07-07  macgyver <macgyver>
52153
52154	* ChangeLog, include/version.h: Updated ChangeLog as well as
52155	version.
52156
521572000-07-07  macgyver <macgyver>
52158
52159	* contrib/README.ratio, contrib/mod_ratio.c: Updated to mod_ratio.
52160
521612000-07-07  macgyver <macgyver>
52162
52163	* NEWS, modules/mod_ls.c, src/auth.c, src/data.c, src/log.c,
52164	src/support.c: Fixed various MAXPATHLEN buffers.
52165
521662000-07-07  macgyver <macgyver>
52167
52168	* modules/mod_ls.c: Use access_check to properly check permissions.
52169	More consistent handling of '.' and '..'.  I can't wait to rewrite
52170	this module.
52171
521722000-07-07  macgyver <macgyver>
52173
52174	* modules/mod_core.c, src/support.c: Handle symlinks more
52175	appropriately...follow the link, not the file.
52176
521772000-07-07  macgyver <macgyver>
52178
52179	* NEWS, include/support.h, src/dirtree.c, src/support.c: Added
52180	access_check() to handle correct permission checking.
52181
521822000-07-07  macgyver <macgyver>
52183
52184	* src/auth.c: Minor correction to auth_uid_name and auth_gid_name.
52185
521862000-07-07  macgyver <macgyver>
52187
52188	* src/log.c: Documented design decision behind utmp entries and
52189	strings.
52190
521912000-07-06  macgyver <macgyver>
52192
52193	* doc/Configuration.html: Updates to documentation.
52194
521952000-07-06  macgyver <macgyver>
52196
52197	* modules/Makefile.in: Removed mod_mysql.h dependency.
52198
521992000-07-06  macgyver <macgyver>
52200
52201	* NEWS, doc/Configuration.html, include/proftpd.h,
52202	modules/mod_core.c, modules/mod_xfer.c: Fixed GroupOwner and added
52203	UserOwner.
52204
522052000-07-06  macgyver <macgyver>
52206
52207	* NEWS, config.h.in, configure, configure.in, modules/mod_auth.c,
52208	src/main.c: Added in support to handle large groups efficiently.
52209	This should take care of the 'hangs forever on login' bug.
52210
522112000-07-06  macgyver <macgyver>
52212
52213	* modules/mod_auth.c: Fixed a bug when classes weren't enabled and
52214	DisplayConnect is used.
52215
522162000-07-06  macgyver <macgyver>
52217
52218	* include/inet.h, src/data.c, src/inet.c: AllowForeignAddress
52219	directives now work on passive connections as well.
52220
522212000-07-06  macgyver <macgyver>
52222
52223	* modules/mod_site.c: Typo in AllowChmod implementation. :)
52224
522252000-07-06  macgyver <macgyver>
52226
52227	* Make.rules.in: Minor cleanups.
52228
522292000-07-06  macgyver <macgyver>
52230
52231	* src/main.c: Added in set_proc_title duirng login.
52232
522332000-07-06  macgyver <macgyver>
52234
52235	* modules/mod_auth.c, modules/mod_core.c, modules/mod_xfer.c: Stubs
52236	for unimplemented commands.  Bleh...we need to overhaul this
52237	protocol.
52238
522392000-07-06  macgyver <macgyver>
52240
52241	* doc/Configuration.html: Updated classes documentation.
52242
522432000-07-06  macgyver <macgyver>
52244
52245	* NEWS, modules/mod_xfer.c: Minor typo in cmd_stor.
52246
522472000-07-06  macgyver <macgyver>
52248
52249	* modules/mod_auth.c: Fixed a minor race condition in classes.
52250
522512000-07-06  macgyver <macgyver>
52252
52253	* NEWS, modules/mod_ls.c: Fixed a minor permissions display problem
52254	when DirFakeMode is not in use.
52255
522562000-07-06  macgyver <macgyver>
52257
52258	* src/main.c: Fixed use of 500 instead of R_500.
52259
522602000-07-06  macgyver <macgyver>
52261
52262	* NEWS, config.h.in, configure, configure.in, lib/vsnprintf.c: Made
52263	portable *snprintf libraries more so by supporting floating point
52264	operations and updated ftpcount accordingly.
52265
522662000-07-06  macgyver <macgyver>
52267
52268	* lib/pwgrent.c: A fix for dealing with FreeBSD's (IMO **BROKEN**)
52269	passwd scheme that allows comments and blank lines in passwd files.
52270
522712000-07-06  macgyver <macgyver>
52272
52273	* NEWS, modules/mod_site.c: Added AllowChmod directive.
52274
522752000-07-06  macgyver <macgyver>
52276
52277	* NEWS, doc/Configuration.html, modules/mod_ls.c: DisplayReadme now
52278	accepts patterns.
52279
522802000-07-06  macgyver <macgyver>
52281
52282	* Make.rules.in, NEWS, include/default_paths.h, src/main.c: A PID
52283	file is now created in standalone mode.
52284
522852000-07-06  macgyver <macgyver>
52286
52287	* acconfig.h, config.h.in, configure, configure.in, include/conf.h,
52288	modules/mod_ls.c: Fixed a POSIX issue regarding NAME_MAX usage.
52289
522902000-07-06  macgyver <macgyver>
52291
52292	* NEWS: Updated news.
52293
522942000-07-06  macgyver <macgyver>
52295
52296	* INSTALL: Updated documentation.
52297
522982000-07-03  macgyver <macgyver>
52299
52300	* modules/mod_ls.c: Fixed potential buffer problem in dolist().
52301
523022000-07-03  macgyver <macgyver>
52303
52304	* modules/mod_log.c: Cleaned up mod_log slightly, and added in some
52305	comments about potential buffer problems to be fixed after 1.2.0.
52306
523072000-07-03  macgyver <macgyver>
52308
52309	* README.PAM: Updated PAM documentation to reflect AuthPAM.
52310
523112000-07-03  macgyver <macgyver>
52312
52313	* src/main.c: Security fix in setproctitle().
52314
523152000-03-06  macgyver <macgyver>
52316
52317	* CREDITS: Updated CREDITS
52318
523192000-03-06  macgyver <macgyver>
52320
52321	* INSTALL: An even cooler INSTALL file
52322
523232000-03-06  macgyver <macgyver>
52324
52325	* INSTALL, doc/Configuration.html: Documentation updates
52326
523272000-03-06  macgyver <macgyver>
52328
52329	* NEWS, modules/mod_ls.c: Added in -L option for things like mirror
52330	to work with symlinks
52331
523322000-03-06  macgyver <macgyver>
52333
52334	* configure, configure.in: Fixed a bug in link-testing for -ldl
52335
523362000-03-03  macgyver <macgyver>
52337
52338	* config.h.in, configure, configure.in: Minor cleanups of configure
52339	scripts to remove dependencies on -ldl
52340
523412000-03-01  macgyver <macgyver>
52342
52343	* NEWS, modules/mod_ls.c: Put in a better optimized sreaddir
52344	function
52345
523462000-03-01  macgyver <macgyver>
52347
52348	* modules/mod_auth.c: Cleanup of a couple of typos, and removed some
52349	redundant code
52350
523512000-03-01  macgyver <macgyver>
52352
52353	* include/conf.h: Moved the NAME_MAX stuff into conf.h, for
52354	portability
52355
523562000-03-01  macgyver <macgyver>
52357
52358	* src/pool.c: Commented out references to symbol information in pool
52359	allocations
52360
523612000-02-29  macgyver <macgyver>
52362
52363	* NEWS, acconfig.h, config.h.in, configure, configure.in,
52364	src/main.c: Added in support for tzset, to preserve timezone
52365	information across a chroot
52366
523672000-02-29  macgyver <macgyver>
52368
52369	* NEWS, lib/vsnprintf.c, src/log.c: Removed spurious alloca calls
52370
523712000-02-28  macgyver <macgyver>
52372
52373	* NEWS, doc/Configuration.html, modules/mod_auth.c,
52374	modules/mod_log.c: Added in %A, %F, and %m to LogFormat so we can do
52375	CLF-style logs now
52376
523772000-02-28  macgyver <macgyver>
52378
52379	* ChangeLog, NEWS, src/dirtree.c, src/main.c: Added -t option to
52380	allow for syntax checking of a config file and made config file
52381	errors give line and file information on failure
52382
523832000-02-28  macgyver <macgyver>
52384
52385	* modules/mod_auth.c, modules/mod_core.c: Minor cosmetic cleanups
52386
523872000-02-28  macgyver <macgyver>
52388
52389	* NEWS, modules/mod_core.c: Add %k directive to show amount of data
52390	in a user-friendly way in DisplayQuit
52391
523922000-02-28  macgyver <macgyver>
52393
52394	* modules/mod_auth.c: Make root logins louder
52395
523962000-02-28  macgyver <macgyver>
52397
52398	* NEWS, README.Unixware, config.guess, config.sub: Unixware support
52399	and updated config.guess, config.sub files
52400
524012000-02-28  macgyver <macgyver>
52402
52403	* NEWS, src/inet.c: FreeBSD 4.0 support added
52404
524052000-02-28  macgyver <macgyver>
52406
52407	* NEWS: Added mod_quota
52408
524092000-02-28  macgyver <macgyver>
52410
52411	* modules/mod_xfer.c: Include sys/sendfile.h
52412
524132000-02-28  macgyver <macgyver>
52414
52415	* modules/mod_core.c: Minor cleanups of unused variables
52416
524172000-02-28  macgyver <macgyver>
52418
52419	* NEWS, modules/mod_log.c: Logging of transfer times is more precise
52420
524212000-02-28  macgyver <macgyver>
52422
52423	* modules/mod_core.c: Fixed a typo that called VirtualHost a
52424	VirtualServer
52425
524262000-02-28  macgyver <macgyver>
52427
52428	* NEWS, modules/mod_log.c: Add a warning for invalid classes in
52429	ExtendedLog
52430
524312000-02-28  macgyver <macgyver>
52432
52433	* NEWS, src/main.c: Save environment before doing anything with
52434	set_proc_title.
52435
524362000-02-26  macgyver <macgyver>
52437
52438	* NEWS, contrib/mod_ldap.c: Updated mod_ldap to 2.5.2.
52439
524402000-02-26  macgyver <macgyver>
52441
52442	* NEWS, modules/mod_xfer.c: Updated bandwidth code to use select
52443	instead of usleep.
52444
524452000-02-16  macgyver <macgyver>
52446
52447	* NEWS, src/dirtree.c: Fixed Umask handling for directories.
52448
524492000-02-16  macgyver <macgyver>
52450
52451	* NEWS, modules/mod_xfer.c: Correct the case where there is no
52452	second argument to TYPE L X.
52453
524542000-02-15  macgyver <macgyver>
52455
52456	* src/support.c: Correct calc_fs to actually make the right
52457	calculation when using statvfs.
52458
524592000-02-01  macgyver <macgyver>
52460
52461	* modules/mod_auth.c: Fixed a NULL dereference when AuthUsingAlias
52462	is used outside of <Anonymous> directives.
52463
524642000-01-24  macgyver <macgyver>
52465
52466	* NEWS, modules/mod_auth.c: Fixed a small group permissions problem.
52467
524682000-01-24  macgyver <macgyver>
52469
52470	* src/dirtree.c, src/main.c: Removed references to the fastpathing
52471	of limits.  This topic is too complex to deal with for 1.2.0.
52472
524732000-01-24  macgyver <macgyver>
52474
52475	* src/main.c: This is a stupid message...just disabled my
52476	fastpath...needs more work, and I need to step out for a while. :)
52477
524782000-01-24  macgyver <macgyver>
52479
52480	* src/main.c: Added a fastpath for denying commands in the dispatch
52481	loop.
52482
524832000-01-24  macgyver <macgyver>
52484
52485	* include/proftpd.h, modules/mod_auth.c, modules/mod_core.c: Support
52486	for class listing in ftpcount.  Support for full use of % options in
52487	DisplayConnect.
52488
524892000-01-23  macgyver <macgyver>
52490
52491	* doc/Configuration.html: Documentation for Include directive.
52492
524932000-01-23  macgyver <macgyver>
52494
52495	* modules/mod_core.c: Added 'Include' directive.
52496
524972000-01-23  macgyver <macgyver>
52498
52499	* modules/mod_core.c: DisplayConnect now supports all the % options.
52500	Correct a bug with %z printing in classes.
52501
525022000-01-23  macgyver <macgyver>
52503
52504	* modules/mod_ls.c: Added TimesGMT, and made our listing output more
52505	consistent.
52506
525072000-01-23  macgyver <macgyver>
52508
52509	* doc/Configuration.html: Added documentation for Class/Classes and
52510	TimeGMT.
52511
525122000-01-23  macgyver <macgyver>
52513
52514	* NEWS, modules/mod_ls.c: Fix a stupid dereference in mod_ls.
52515
525162000-01-18  macgyver <macgyver>
52517
52518	* CREDITS: Added a CREDITS file.
52519
525202000-01-18  macgyver <macgyver>
52521
52522	* README: Updated with new web site.
52523
525242000-01-18  macgyver <macgyver>
52525
52526	* ChangeLog, include/version.h: Updated for pre10.
52527
525282000-01-18  macgyver <macgyver>
52529
52530	* NEWS: Updated for pre10 release.
52531
525322000-01-18  macgyver <macgyver>
52533
52534	* doc/Configuration.html, include/dirtree.h, modules/mod_core.c,
52535	src/dirtree.c: Corrected some errors in .ftpaccess handling.
52536
525372000-01-18  macgyver <macgyver>
52538
52539	* config.sub: Recognize BSDI on an UltraSPaRC
52540
525412000-01-18  macgyver <macgyver>
52542
52543	* NEWS, src/inet.c: inet_getname no longer returns NULL in bad host
52544	entry cases.
52545
525462000-01-18  macgyver <macgyver>
52547
52548	* NEWS: Corrected ~ reporting.
52549
525502000-01-15  macgyver <macgyver>
52551
52552	* lib/pwgrent.c: Corrected an allocation error in pwgrent.
52553
525542000-01-03  macgyver <macgyver>
52555
52556	* include/privs.h, include/proftpd.h, modules/mod_auth.c: Added
52557	Simon's patch to handle chdir-ing properly into user accounts.
52558
525592000-01-03  macgyver <macgyver>
52560
52561	* modules/mod_xfer.c: Handle a case with a zero-length file for BSD.
52562
525631999-12-30  macgyver <macgyver>
52564
52565	* src/data.c: Fixed total calculation.
52566
525671999-12-30  macgyver <macgyver>
52568
52569	* NEWS, include/dirtree.h, modules/mod_auth.c, modules/mod_core.c:
52570	Fixed error messages in cases where it's an invalid number of
52571	arguments.
52572
525731999-12-30  macgyver <macgyver>
52574
52575	* ChangeLog, src/data.c: Added a fix for BSD's strange sendfile
52576	behavior.
52577
525781999-12-29  macgyver <macgyver>
52579
52580	* src/data.c: Minor correction to sendfile() semantics on FreeBSD.
52581
525821999-12-28  macgyver <macgyver>
52583
52584	* modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
52585	modules/mod_ls.c, modules/mod_site.c, modules/mod_xfer.c: Ensured
52586	that cmdtable structs remained static to the files they're defined
52587	in.
52588
525891999-12-28  macgyver <macgyver>
52590
52591	* ChangeLog: Updated ChangeLog.
52592
525931999-12-28  macgyver <macgyver>
52594
52595	* src/support.c: Cleaned up sstrncpy properly and backed out
52596	previous incorrect cleanup.
52597
525981999-12-28  macgyver <macgyver>
52599
52600	* NEWS: Updated again.
52601
526021999-12-28  macgyver <macgyver>
52603
52604	* NEWS: Updated NEWS.
52605
526061999-12-28  macgyver <macgyver>
52607
52608	* src/support.c: Cleaned up the implementation of sstrncpy slightly.
52609
526101999-12-28  macgyver <macgyver>
52611
52612	* modules/mod_xfer.c: Disable sendfile() if we're using bandwidth
52613	control.
52614
526151999-12-28  macgyver <macgyver>
52616
52617	* modules/mod_auth.c: Fixed a missing variable in a log_auth entry.
52618
526191999-12-28  macgyver <macgyver>
52620
52621	* INSTALL, README, doc/Configuration.html: Updated documentation to
52622	reflect new web site.
52623
526241999-12-28  macgyver <macgyver>
52625
52626	* configure, configure.in: Fixed the detection of hpsecurity.h
52627
526281999-12-27  macgyver <macgyver>
52629
52630	* NEWS, README.LDAP, contrib/mod_ldap.c, doc/Configuration.html:
52631	Updated mod_ldap.
52632
526331999-12-27  macgyver <macgyver>
52634
52635	* configure, configure.in: Fixed a minor typo in a test case.
52636
526371999-12-27  macgyver <macgyver>
52638
52639	* modules/mod_auth.c: Group handling fixed for complex groups.
52640
526411999-12-27  macgyver <macgyver>
52642
52643	* modules/mod_xfer.c: Corrected a minor misdefinition in
52644	xfer_init_parent.
52645
526461999-12-23  macgyver <macgyver>
52647
52648	* NEWS, lib/pwgrent.c: Generate a meaningful error for bad group
52649	entries.
52650
526511999-12-23  macgyver <macgyver>
52652
52653	* modules/mod_xfer.c: Added more caught cases in sendfile().
52654
526551999-12-09  macgyver <macgyver>
52656
52657	* src/support.c: Small Y2K fix.
52658
526591999-11-29  macgyver <macgyver>
52660
52661	* NEWS, src/data.c: sendfile() doesn't log spurious errors unless in
52662	debug mode.
52663
526641999-10-27  macgyver <macgyver>
52665
52666	* configure, configure.in: Corrected intall_group handling.
52667
526681999-10-27  macgyver <macgyver>
52669
52670	* modules/mod_xfer.c: Minor optimization in sendfile() detection on
52671	Linux.
52672
526731999-10-27  macgyver <macgyver>
52674
52675	* modules/mod_xfer.c: Minor log cleanup for data_sendfile.
52676
526771999-10-27  macgyver <macgyver>
52678
52679	* modules/mod_xfer.c: Moved around some logging for data_sendfile.
52680
526811999-10-27  macgyver <macgyver>
52682
52683	* contrib/.cvsignore: Updated for proftpd.spec.
52684
526851999-10-27  macgyver <macgyver>
52686
52687	* modules/mod_xfer.c: sendfile() should take a more graceful and
52688	tolerant approach to slow connections.  It seems that the problem is
52689	that its too fast.
52690
526911999-10-27  macgyver <macgyver>
52692
52693	* Makefile.in: Minor path correction for proftpd.spec.
52694
526951999-10-27  macgyver <macgyver>
52696
52697	* ChangeLog: Updated.
52698
526991999-10-27  macgyver <macgyver>
52700
52701	* NEWS: Minor cleanups.
52702
527031999-10-27  macgyver <macgyver>
52704
52705	* NEWS, README.LDAP, doc/Configuration.html, include/version.h:
52706	Documentation updates and version bump to pre9.
52707
527081999-10-27  macgyver <macgyver>
52709
52710	* modules/mod_xfer.c: Added support for TYPE L for RFC 959
52711	compliance.
52712
527131999-10-27  macgyver <macgyver>
52714
52715	* doc/rfc/draft-bonachea-sftp-00.txt,
52716	doc/rfc/draft-ietf-ftpext-sec-consider-02.txt, doc/rfc/rfc0959.txt,
52717	doc/rfc/rfc2228.txt: Added RFCs to the documentation.
52718
527191999-10-27  macgyver <macgyver>
52720
52721	* configure, configure.in: Fixed my stupid typo in FreeBSD
52722	setpassent.
52723
527241999-10-27  macgyver <macgyver>
52725
52726	* doc/Configuration.html: Added more directives.
52727
527281999-10-25  macgyver <macgyver>
52729
52730	* doc/Configuration.html: More additions, courtesy of Ben Ritcey.
52731
527321999-10-23  macgyver <macgyver>
52733
52734	* NEWS: Added AuthUsingAlias.
52735
527361999-10-23  macgyver <macgyver>
52737
52738	* doc/Configuration.html, modules/mod_auth.c, modules/mod_core.c:
52739	Added in AuthUsingAlias.
52740
527411999-10-23  macgyver <macgyver>
52742
52743	* configure, configure.in, contrib/dist/rpm/ftp.pamd,
52744	contrib/dist/rpm/proftpd.init.d: Moved around RPM build files.
52745
527461999-10-23  macgyver <macgyver>
52747
52748	* ChangeLog: Updated.
52749
527501999-10-23  macgyver <macgyver>
52751
52752	* NEWS, modules/mod_xfer.c: Minor updates.
52753
527541999-10-23  macgyver <macgyver>
52755
52756	* NEWS, README, acconfig.h, config.h.in, configure, configure.in,
52757	modules/mod_auth.c: Updates for FreeBSD's brokenness with respect to
52758	setpassent.
52759
527601999-10-23  macgyver <macgyver>
52761
52762	* modules/mod_xfer.c: FreeBSD cleanups for sendfile().
52763
527641999-10-23  macgyver <macgyver>
52765
52766	* contrib/mod_ldap.c: Updated mod_ldap.
52767
527681999-10-21  macgyver <macgyver>
52769
52770	* doc/Configuration.html: Updated configuration documentation.
52771
527721999-10-18  macgyver <macgyver>
52773
52774	* NEWS, doc/Configuration.html, include/dirtree.h,
52775	modules/mod_core.c, src/dirtree.c: Added a second argument to the
52776	Umask directive to handle directories.
52777
527781999-10-18  macgyver <macgyver>
52779
52780	* modules/mod_xfer.c: sendfile() now deprecates politely on Linux
52781	2.0.x.
52782
527831999-10-17  macgyver <macgyver>
52784
52785	* doc/Configuration.html: Added in documentation for DisplayReadme.
52786
527871999-10-11  macgyver <macgyver>
52788
52789	* NEWS, config.h.in, configure, configure.in, include/conf.h: Added
52790	in support for setgroupent.
52791
527921999-10-11  macgyver <macgyver>
52793
52794	* modules/mod_auth.c: Fixed the 'no names, just UIDs' bug.
52795
527961999-10-11  macgyver <macgyver>
52797
52798	* ChangeLog: Updated.
52799
528001999-10-11  macgyver <macgyver>
52801
52802	* Make.rules.in, Makefile.in, NEWS, src/Makefile.in: Corrected a
52803	couple of grammatical errors in ftpcount/ftpwho, and seperated them
52804	into their own binaries.
52805
528061999-10-11  macgyver <macgyver>
52807
52808	* NEWS, configure, contrib/mod_ldap.c, contrib/mod_ratio.c,
52809	modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
52810	modules/mod_ls.c, modules/mod_xfer.c, src/log.c, src/main.c: Updated
52811	logging to be more consistent, and generally be more informative.
52812
528131999-10-11  macgyver <macgyver>
52814
52815	* README.PAM: Updated some information for FreeBSD, SuSE, and
52816	others.
52817
528181999-10-10  macgyver <macgyver>
52819
52820	* NEWS, configure.in: install_group slightly more portable.
52821
528221999-10-10  macgyver <macgyver>
52823
52824	* contrib/mod_ldap.c: Updated author/copyright info.
52825
528261999-10-10  macgyver <macgyver>
52827
52828	* contrib/mod_ldap.c, doc/Configuration.html: Added in mod_ldap.
52829
528301999-10-07  macgyver <macgyver>
52831
52832	* NEWS: Updated.
52833
528341999-10-07  macgyver <macgyver>
52835
52836	* modules/mod_auth.c, modules/mod_core.c, src/main.c: Added in some
52837	better/clearer logging support.
52838
528391999-10-06  macgyver <macgyver>
52840
52841	* NEWS, README.PAM: Fixed FreeBSD documentation.
52842
528431999-10-06  macgyver <macgyver>
52844
52845	* modules/mod_auth.c: Fixed potential segfault in
52846	group_expression().
52847
528481999-10-06  macgyver <macgyver>
52849
52850	* doc/Configuration.html: Removed Bandwidth from docs.
52851
528521999-10-06  macgyver <macgyver>
52853
52854	* NEWS: Updated.
52855
528561999-10-05  macgyver <macgyver>
52857
52858	* NEWS: Added a news file.
52859
528601999-10-05  macgyver <macgyver>
52861
52862	* acconfig.h, config.h.in, configure, configure.in, include/data.h,
52863	src/data.c: Added in support for sendfile on BSD platforms.
52864
528651999-10-05  macgyver <macgyver>
52866
52867	* ChangeLog, Makefile.in, doc/mod_sample.c: Miscellaneous
52868	reshuffling.
52869
528701999-10-05  macgyver <macgyver>
52871
52872	* configure, configure.in: Fixed a small typo.
52873
528741999-10-04  macgyver <macgyver>
52875
52876	* ChangeLog: Updated.
52877
528781999-10-04  macgyver <macgyver>
52879
52880	* ChangeLog: [no log message]
52881
528821999-10-04  macgyver <macgyver>
52883
52884	* ChangeLog: Updated the ChangeLog.
52885
528861999-10-04  macgyver <macgyver>
52887
52888	* contrib/mod_ratio.c: Fixed a typo in an snprintf.
52889
528901999-10-04  macgyver <macgyver>
52891
52892	* include/version.h: Updated to pre8.
52893
528941999-10-04  macgyver <macgyver>
52895
52896	* configure, configure.in: Enhanced configure to automagically
52897	create the necessary symlinks.
52898
528991999-10-04  macgyver <macgyver>
52900
52901	* contrib/mod_ratio.c: Added in Johnie Ingram's latest mod_*sql
52902	patches, along with some slight buffer fixes of my own.
52903
529041999-10-01  macgyver <macgyver>
52905
52906	* src/support.c: Fixed a typo with statvfs.
52907
529081999-10-01  macgyver <macgyver>
52909
52910	* ChangeLog: Moved to cvs2cl generation of ChangeLogs.
52911
529121999-10-01  macgyver <macgyver>
52913
52914	* ChangeLog: Updated ChangeLog
52915
529161999-10-01  macgyver <macgyver>
52917
52918	* config.h.in, configure, configure.in, include/data.h,
52919	include/dirtree.h, include/log.h, include/proftpd.h,
52920	modules/mod_auth.c, modules/mod_core.c, modules/mod_log.c,
52921	modules/mod_xfer.c, src/log.c, src/main.c: Added classes support,
52922	new bandwidth support, and sendfile support.
52923
529241999-10-01  macgyver <macgyver>
52925
52926	* src/data.c: Added support for sendfile().
52927
529281999-10-01  macgyver <macgyver>
52929
52930	* include/privs.h, modules/mod_auth.c: Added in support for
52931	setresuid on HP/UX.
52932
529331999-10-01  macgyver <macgyver>
52934
52935	* doc/Configuration.html, modules/mod_xfer.c: Added new Bandwidth
52936	code and documentation.
52937
529381999-10-01  macgyver <macgyver>
52939
52940	* modules/mod_auth.c: Corrected a tricky bug with parsing of
52941	configuration files.  Thanks Klaus.
52942
529431999-10-01  macgyver <macgyver>
52944
52945	* modules/mod_ls.c: Fixed a silly typo with snprintf.
52946
529471999-10-01  macgyver <macgyver>
52948
52949	* modules/mod_core.c: Removed old and naieve bandwidth code.
52950
529511999-10-01  macgyver <macgyver>
52952
52953	* include/dirtree.h, src/dirtree.c: Remove old and naieve bandwidth
52954	code.
52955
529561999-10-01  macgyver <macgyver>
52957
52958	* config.h.in, configure, configure.in: HP/UX security detection
52959	added.
52960
529611999-09-30  macgyver <macgyver>
52962
52963	* modules/mod_auth.c: Fix a potential security hole.
52964
529651999-09-30  macgyver <macgyver>
52966
52967	* modules/mod_ls.c: DirFakeMode available inside <Directory> blocks.
52968
529691999-09-30  macgyver <macgyver>
52970
52971	* configure, configure.in: Corrected configure portability issues.
52972
529731999-09-30  macgyver <macgyver>
52974
52975	* modules/mod_ls.c: Corrected static declarations.
52976
529771999-09-30  macgyver <macgyver>
52978
52979	* src/dirtree.c: Corrected a couple of problems related to IP LIMIT
52980	directives.
52981
529821999-09-30  macgyver <macgyver>
52983
52984	* contrib/mod_readme.c: Deleted spurious mod_readme file.
52985
529861999-09-30  macgyver <macgyver>
52987
52988	* modules/mod_core.c: Fixed compliance with RFC 929 with respect to
52989	RNTO.
52990
529911999-09-29  macgyver <macgyver>
52992
52993	* modules/mod_auth.c, modules/mod_ls.c: Minor bug fixes.
52994
529951999-09-29  macgyver <macgyver>
52996
52997	* src/dirtree.c: Fixed a bug in match_ip that was causing some LIMIT
52998	directives to fail.
52999
530001999-09-28  macgyver <macgyver>
53001
53002	* src/inet.c: Corrected an incorrect call to inet_validate in
53003	inet_getaddr.
53004
530051999-09-26  macgyver <macgyver>
53006
53007	* doc/Configuration.html: Fixed a small typo.
53008
530091999-09-26  macgyver <macgyver>
53010
53011	* ChangeLog: Added in a real ChangeLog.
53012
530131999-09-26  macgyver <macgyver>
53014
53015	* modules/mod_core.c: Added in CommandBufferSize.
53016
530171999-09-26  macgyver <macgyver>
53018
53019	* src/log.c: Corrected minor syslog errors.
53020
530211999-09-26  macgyver <macgyver>
53022
53023	* src/dirtree.c: Fixed a C++ style comment.
53024
530251999-09-26  macgyver <macgyver>
53026
53027	* doc/Configuration.html: Added in updated configuration directives.
53028
530291999-09-18  macgyver <macgyver>
53030
53031	* : Cleaned up usage of fs_readlink.
53032
530331999-09-18  macgyver <macgyver>
53034
53035	* src/pool.c, src/support.c: Minor code beautification.
53036
530371999-09-18  macgyver <macgyver>
53038
53039	* modules/mod_ls.c: Fixed some bad code calling fs_readlink.
53040
530411999-09-17  macgyver <macgyver>
53042
53043	* Makefile.in: Fixed symbolic link installation.
53044
530451999-09-17  macgyver <macgyver>
53046
53047	* contrib/mod_ratio.c, include/support.h, modules/mod_auth.c,
53048	modules/mod_core.c, modules/mod_log.c, modules/mod_ls.c,
53049	modules/mod_xfer.c, src/auth.c, src/dirtree.c, src/log.c,
53050	src/main.c, src/pool.c, src/support.c: Implemented sstrncpy to
53051	handle proper buffer copying issues on all platforms.
53052
530531999-09-17  macgyver <macgyver>
53054
53055	* modules/mod_ls.c: gcc cleanups.
53056
530571999-09-17  macgyver <macgyver>
53058
53059	* modules/mod_log.c: Eliminated some potential problems with
53060	logging.
53061
530621999-09-17  macgyver <macgyver>
53063
53064	* modules/mod_xfer.c: gcc cleanups and a more informative error
53065	message added.
53066
530671999-09-17  macgyver <macgyver>
53068
53069	* src/log.c: More intelligent handling of logfiles to avoid a
53070	potential race condition.
53071
530721999-09-17  macgyver <macgyver>
53073
53074	* modules/mod_core.c: General regex cleanups.  Added
53075	AllowFilter/DenyFilter.  More intelligent handling of logfiles.  gcc
53076	cleanups.  wu-ftp style logging of deleted files.
53077
530781999-09-17  macgyver <macgyver>
53079
53080	* src/pool.c: Fixed gcc warnings.
53081
530821999-09-17  macgyver <macgyver>
53083
53084	* src/main.c: Added AllowFilter/DenyFilter.  Fixed a small typo with
53085	newlines.  Corrected a slight problem with memory debugging.  Fixed
53086	several gcc warnings.
53087
530881999-09-17  macgyver <macgyver>
53089
53090	* include/inet.h, src/inet.c: Check for any potential DNS spoofing
53091	attacks from the outside.
53092
530931999-09-17  macgyver <macgyver>
53094
53095	* include/version.h: Bumped version number.
53096
530971999-09-17  macgyver <macgyver>
53098
53099	* sample-configurations/complex-virtual.conf: Added in a new sample
53100	configuration.
53101
531021999-09-17  macgyver <macgyver>
53103
53104	* .cvsignore, contrib/.cvsignore: Added some more files to ignore.
53105
531061999-09-16  macgyver <macgyver>
53107
53108	* src/main.c: Changed an argument reversal.
53109
531101999-09-16  macgyver <macgyver>
53111
53112	* src/log.c: Cleaned up some ugly code.
53113
531141999-09-16  macgyver <macgyver>
53115
53116	* src/main.c: Fixed a silly, yet insidious, way to overflow a
53117	buffer.
53118
531191999-09-14  macgyver <macgyver>
53120
53121	* modules/mod_xfer.c: Corrected a minor typo .in -> .in.
53122
531231999-09-14  macgyver <macgyver>
53124
53125	* include/proftpd.h, modules/mod_core.c, modules/mod_xfer.c:
53126	Implemented HiddenStor.
53127
531281999-09-12  macgyver <macgyver>
53129
53130	* README.Solaris2.5x: Additional information regarding Solaris 2.5.x
53131	systems added.
53132
531331999-09-12  macgyver <macgyver>
53134
53135	* config.h.in, configure, configure.in, include/conf.h, src/log.c:
53136	Added in support for utmpx under Solaris and like-minded platforms.
53137
531381999-09-12  macgyver <macgyver>
53139
53140	* doc/Configuration.html: Added configuration documentation and 'un'
53141	documentation.
53142
531431999-09-12  macgyver <macgyver>
53144
53145	* contrib/mod_ratio.c, modules/mod_auth.c, modules/mod_core.c,
53146	modules/mod_log.c, modules/mod_ls.c: Initial import of GetConf, and
53147	slight cleanup in all modules.
53148
531491999-09-12  macgyver <macgyver>
53150
53151	* include/version.h: Corrected versioning info.
53152
531531999-09-11  macgyver <macgyver>
53154
53155	* configure, configure.in: Forgot the 'id' issue.
53156
531571999-09-11  macgyver <macgyver>
53158
53159	* configure, configure.in: A couple of more configure fixes.
53160
531611999-09-10  macgyver <macgyver>
53162
53163	* README.PAM, src/log.c: Added PAM README, and modified log.c to
53164	handle log_xfer more like WU-FTPd.
53165
531661999-09-10  macgyver <macgyver>
53167
53168	* INSTALL, README: Moved PAM into the main module set.  It's now a
53169	'core' feature.
53170
531711999-09-10  macgyver <macgyver>
53172
53173	* src/main.c: Added CommandBufferSize option.
53174
531751999-09-10  macgyver <macgyver>
53176
53177	* configure, configure.in: Fixed a small typo with shadow use.
53178
531791999-09-10  macgyver <macgyver>
53180
53181	* configure, configure.in: Updated support for Solaris, and made PAM
53182	sleep quietly when told to do so.
53183
531841999-09-10  macgyver <macgyver>
53185
53186	* src/support.c: Fixed remaining buffer issues in sreplace.
53187
531881999-09-10  macgyver <macgyver>
53189
53190	* src/pool.c: Corrected alignment issues on 64-bit platforms.
53191	Thanks to Todd C. Miller <millert@ee.ethz.ch> for the patch.
53192
531931999-09-10  macgyver <macgyver>
53194
53195	* src/pool.c: Fix for improper strncpy.
53196
531971999-09-09  macgyver <macgyver>
53198
53199	* src/support.c: Corrected a length bug in sreplace.
53200
532011999-09-08  macgyver <macgyver>
53202
53203	* configure, configure.in: Updates to auto-configuring for PAM on
53204	*BSD.
53205
532061999-09-08  macgyver <macgyver>
53207
53208	* configure, configure.in: Fixed setproctitle detection on *BSD
53209	platforms.
53210
532111999-09-08  macgyver <macgyver>
53212
53213	* configure, configure.in: Fixed an extra 'fi' statement.
53214
532151999-09-08  macgyver <macgyver>
53216
53217	* configure, configure.in: Fixed a small typo in PAM detection.
53218
532191999-09-08  macgyver <macgyver>
53220
53221	* Make.rules.in, config.h.in: Added memory debugging support.
53222
532231999-09-08  macgyver <macgyver>
53224
53225	* modules/Makefile.in: Updated for mod_mysql.
53226
532271999-09-08  macgyver <macgyver>
53228
53229	* config.guess: Added in StrongARM support.
53230
532311999-09-08  macgyver <macgyver>
53232
53233	* src/main.c: Added in some debugging code to assist in tracking
53234	down memory problems.
53235
532361999-09-08  macgyver <macgyver>
53237
53238	* src/pool.c: Fixed a couple of bugs introduced by silly typos.
53239
532401999-09-08  macgyver <macgyver>
53241
53242	* src/log.c: Minor buffer cleanups.
53243
532441999-09-08  macgyver <macgyver>
53245
53246	* src/inet.c: Added a helper message for people who misconfigure
53247	their servers.
53248
532491999-09-07  macgyver <macgyver>
53250
53251	* Makefile.in, config.h.in, configure, configure.in,
53252	include/dirtree.h, include/version.h, src/dirtree.c, src/inet.c,
53253	src/log.c, src/main.c, src/modules.c, src/pool.c, src/support.c:
53254	Removed lots of unsafe buffer copies, as well as addressed a couple
53255	of Y2K issues.
53256
532571999-09-07  macgyver <macgyver>
53258
53259	* contrib/.cvsignore: Removed README.linux-privs
53260
532611999-09-07  macgyver <macgyver>
53262
53263	* contrib/mod_ratio.c: Fixed some potential buffer issues.
53264
532651999-09-07  macgyver <macgyver>
53266
53267	* modules/mod_auth.c, modules/mod_log.c, modules/mod_ls.c,
53268	modules/mod_site.c, modules/mod_xfer.c: Removed unsafe buffer copies
53269	that may have been potential problems.  Implemented the 'real' patch
53270	for the MKD/log security issues.
53271
532721999-09-07  macgyver <macgyver>
53273
53274	* modules/mod_core.c: Added in Bandwidth patch for bandwidth
53275	control.  Security cleanups -- removed lots of unsafe buffer copies.
53276
532771999-09-07  macgyver <macgyver>
53278
53279	* modules/Makefile.in: Updated Makefile for new capabilities code.
53280
532811999-08-31  flood <flood>
53282
53283	* include/options.h, include/pool.h, modules/mod_core.c,
53284	modules/mod_ls.c, modules/mod_xfer.c, src/log.c, src/main.c,
53285	src/modules.c, src/pool.c: Mucho patches.
53286
532871999-03-12  flood <flood>
53288
53289	* modules/mod_xfer.c: TYPE A N
53290
532911999-03-12  flood <flood>
53292
53293	* src/inet.c: OpenBSD SO_REUSEADDR patch.
53294
532951999-03-10  flood <flood>
53296
53297	* include/version.h: Version 1.2.0pre3
53298
532991999-03-07  flood <flood>
53300
53301	* include/proftpd.h, modules/mod_core.c, src/dirtree.c, src/main.c:
53302	Added `MultilineRFC2228' directive and changed `ServerIdent'.
53303
533041999-03-05  flood <flood>
53305
53306	* modules/mod_xfer.c, src/timers.c: Oops.  Last nights commit
53307	royally screwed timers.
53308
533091999-03-05  flood <flood>
53310
53311	* Make.rules.in, Makefile.in, acconfig.h, config.h.in, configure,
53312	configure.in, include/proftpd.h, modules/Makefile.in,
53313	modules/mod_core.c, src/data.c, src/main.c: MacGyver's patch to do
53314	argv[] rewriting the Right Way<tm>, and some minor socket error
53315	handling fixes.
53316
533171999-03-05  flood <flood>
53318
53319	* modules/mod_xfer.c, src/ident.c, src/main.c: Fixed ident & i/o
53320	(hanging) problems.
53321
533221999-03-05  flood <flood>
53323
53324	* modules/mod_xfer.c: what did I fix?
53325
533261999-03-05  flood <flood>
53327
53328	* include/timers.h, modules/mod_auth.c, src/main.c, src/support.c,
53329	src/timers.c: timer code fixed
53330
533311999-02-14  flood <flood>
53332
53333	* modules/mod_ls.c: Ugg.. Yet another mod_ls quickfix.
53334
533351999-02-14  flood <flood>
53336
53337	* modules/mod_auth.c: Ooops.  add_userdir should have tested for >
53338	0.
53339
533401999-02-14  flood <flood>
53341
53342	* include/version.h: Version 1.2.0pre2
53343
533441999-02-12  flood <flood>
53345
53346	* Makefile.in, modules/mod_auth.c, modules/mod_core.c,
53347	modules/mod_ls.c, modules/mod_xfer.c, src/main.c: Mondo changes.
53348
533491999-01-27  flood <flood>
53350
53351	* include/support.h, modules/mod_ls.c, src/support.c: More possibly
53352	MKD/CWD 'sploits fixed, and mod_ls workin well.
53353
533541999-01-21  flood <flood>
53355
53356	* modules/mod_ls.c, src/ident.c: NLST now works properly! woo!
53357
533581999-01-19  flood <flood>
53359
53360	* include/data.h, modules/mod_ls.c, src/data.c, src/main.c: Still
53361	working on NLST RFC959 compliane issue.  ncftp client still showing
53362	problems.
53363
533641998-11-01  flood <flood>
53365
53366	* configure, configure.in, contrib/README, contrib/mod_ratio.c,
53367	contrib/mod_readme.c, include/proftpd.h, modules/mod_core.c,
53368	modules/mod_xfer.c, src/dirtree.c: APPE, mod_pam & mod_readme added
53369
533701998-10-30  flood <flood>
53371
53372	* include/proftpd.h, modules/mod_log.c, src/main.c: Fix Debian bug
53373	#28641
53374
533751998-10-30  flood <flood>
53376
53377	* modules/mod_core.c, src/data.c: Fixes to PASV/PORT.
53378
533791998-10-27  flood <flood>
53380
53381	* modules/mod_log.c: %{} argument fix in mod_log.c
53382
533831998-10-23  flood <flood>
53384
53385	* include/pool.h, modules/mod_ls.c, src/main.c, src/pool.c: memory
53386	leak in mod_ls fixed
53387
533881998-10-18  flood <flood>
53389
53390	* Imported source for proftpd 1.2.0
53391
53392