ChangeLog revision 72445
12001-02-05  Assar Westerlund  <assar@sics.se>
2
3	* ftpd/popen.c (ftpd_popen): avoid overwriting the bounds of argv
4	and gargv
5
62001-01-30  Assar Westerlund  <assar@sics.se>
7
8	* ftpd/gss_userok.c: use gss_krb5_copy_ccache
9
102001-01-29  Assar Westerlund  <assar@sics.se>
11
12	* ftpd/Makefile.am: move up LIB_otp so we do not end up picking
13 	one from /usr/athena
14
152001-01-25  Johan Danielsson  <joda@pdc.kth.se>
16
17	* ftpd/ls.c: fix bug in previous; make it easier to build test
18	version
19
202001-01-19  Johan Danielsson  <joda@pdc.kth.se>
21
22	* ftpd/ls.c (lstat_file): handle case where file lives in `/'
23
242001-01-18  Johan Danielsson  <joda@pdc.kth.se>
25
26	* ftpd/ftpd.c (pasv): close already open passive port
27
282000-12-14  Johan Danielsson  <joda@pdc.kth.se>
29
30	* ftpd/ls.c: reverse time and size sort order (pointed out by
31	tege)
32
332000-12-11  Johan Danielsson  <joda@pdc.kth.se>
34
35	* ftpd/ftpd.c: make it possible to set list of good filename
36	characters from command line
37
382000-12-10  Johan Danielsson  <joda@pdc.kth.se>
39
40	* ftpd/ftpd.c: some spec-violating mirror software assumes that
41	you can do things like `LIST -CF'; don't pass `--' to ls so this
42	actually works
43
44	* ftpd/ls.c: implement -1CFx flags
45
462000-12-08  Assar Westerlund  <assar@sics.se>
47
48	* ftpd/gss_userok.c (gss_userok): handle getpwnam failing
49	* ftp/gssapi.c (gss_auth): be more explicit in error message
50
512000-11-29  Johan Danielsson  <joda@pdc.kth.se>
52
53	* ftpd/ftpd.8: close list
54
552000-11-15  Assar Westerlund  <assar@sics.se>
56
57	* ftp/main.c: add `-l' for no line-editing
58	* ftp/globals.c (readline): add
59	* ftp/ftp_var.h (lineedit): add variable indicated if we should
60	use readline
61
622000-11-09  Johan Danielsson  <joda@pdc.kth.se>
63
64	* ftp/security.c (sec_read): fix bug in previous (from Jacques A.
65	Vidrine <n@nectar.com>)
66
672000-11-05  Johan Danielsson  <joda@pdc.kth.se>
68
69	* ftpd/ftpcmd.y: only allow pasv if logged in
70
712000-10-23  Johan Danielsson  <joda@pdc.kth.se>
72
73	* ftpd/ftpd.c: change bad filename message slightly
74
75	* common/buffer.c: HAVE_ST_BLKSIZE -> HAVE_STRUCT_STAT_ST_BLKSIZE
76
772000-10-08  Assar Westerlund  <assar@sics.se>
78
79	* ftp/ftp.c (*): check that fds are not too large to select on
80	* ftp/main.c (cmdscanner): print a newline upon EOF
81
822000-09-19  Assar Westerlund  <assar@sics.se>
83
84	* ftp/security.h: add some attributes to prototypes of sec*
85	* ftp/extern.h (command): add attributes
86
872000-08-31  Johan Danielsson  <joda@pdc.kth.se>
88
89	* ftpd/ftpd.c: change redundant password message to something
90	people can understand
91
922000-07-27  Assar Westerlund  <assar@sics.se>
93
94	* ftpd/gss_userok.c (gss_userok): only do AFS iff KRB4
95	* ftpd/ftpd.c (krb5_verify): only do AFS stuff if KRB4
96
972000-07-07  Assar Westerlund  <assar@sics.se>
98
99	* ftpd/ftpd.c: do not call setproctitle with a variable as the
100	format string
101
1022000-07-01  Assar Westerlund  <assar@sics.se>
103
104	* ftpd/ftpd_locl.h: krb5.h before kafs.h
105	* ftpd/ftpd.c (krb5_verify): static-ize
106	* ftpd/ftpd.c (krb5_verify): conditionalize on KRB5
107
1082000-06-21  Assar Westerlund  <assar@sics.se>
109
110	* ftpd: support for authenticating passwords with krb5, by Daniel
111	Kouril <kouril@ics.muni.cz>
112
1132000-06-06  Johan Danielsson  <joda@pdc.kth.se>
114
115	* ftpd/ftpcmd.y: change unix test to be negative
116	
1172000-05-18  Assar Westerlund  <assar@sics.se>
118
119	* ftpd/ftpd.c (args): should use `debug'.  From Onno van der
120	Linden <onno@simplex.nl>.
121
1222000-04-25  Assar Westerlund  <assar@sics.se>
123
124	* ftp/ftp.c (login): re-structure code so that we prompt for
125	password for ftp/anonymous
126
1272000-04-11  Assar Westerlund  <assar@sics.se>
128
129	* ftp/ftp.c (login): initialize tmp before calling fgets
130
1312000-04-02  Assar Westerlund  <assar@sics.se>
132
133	* ftpd/ls.c: rename all st_mtime variables to avoid conflict with
134	#define.
135	* ftpd/ftpcmd.y: rename all st_mtime variables to avoid conflict
136	with #define.
137	* ftp/cmds.c: rename all st_mtime variables to avoid conflict with
138	#define.
139
1402000-03-26  Assar Westerlund  <assar@sics.se>
141
142	* ftpd/ls.c, ftpd/ftpcmd.y, ftp/cmds.c: make sure to always call
143	time, ctime, and gmtime with `time_t's.  there were some types
144	(like in lastlog) that we believed to always be time_t.  this has
145	proven wrong on Solaris 8 in 64-bit mode, where they are stored as
146	32-bit quantities but time_t has gone up to 64 bits
147
1482000-03-09  Johan Danielsson  <joda@pdc.kth.se>
149
150	* call list_file for broken usages of nlst too
151
152	* ftpd/ftpd.c: call list_file for broken usages of nlst too
153
1542000-02-07  Assar Westerlund  <assar@sics.se>
155
156	* ftp/security.c (sec_read): more paranoia with return value from
157	sec_get_data
158
1592000-01-08  Assar Westerlund  <assar@sics.se>
160
161	* ftp/ftp.c (hookup): handle ai_canonname being set in any of the
162	addresses returnedby getaddrinfo.  glibc apparently returns the
163	reverse lookup of every address in ai_canonname.
164	* ftp/ruserpass.c (guess_domain): dito
165
1661999-12-21  Assar Westerlund  <assar@sics.se>
167
168	* ftpd/ftpd.c: don't use sa_len as a parameter, it's defined on
169 	Irix
170
1711999-12-21  Johan Danielsson  <joda@pdc.kth.se>
172
173	* ftpd/ftpd.c (dataconn): make sure from points to actual data
174
1751999-12-16  Assar Westerlund  <assar@sics.se>
176
177	* ftp/ruserpass.c (guess_domain): handle ai_canonname not being
178	set
179	* ftp/ftp.c (hookup): handle ai_canonname not being set
180
1811999-12-06  Assar Westerlund  <assar@sics.se>
182
183	* ftp/krb4.c (krb4_auth): the nat-IP address might not be realm
184	bounded.
185
1861999-12-05  Assar Westerlund  <assar@sics.se>
187
188	* ftpd/ftpd.c (dolog): update prototype
189	* ftpd/ftpd.c (dolog): use getnameinfo_verified
190	* ftpd/ftpd.c: replace inaddr2str by getnameinfo
191
1921999-12-04  Assar Westerlund  <assar@sics.se>
193
194	* ftp/ruserpass.c (guess_domain): re-write to use getaddrinfo
195	* ftp/ftp.c (hookup): re-write to use getaddrinfo
196	
1971999-11-30  Assar Westerlund  <assar@sics.se>
198
199	* ftpd/ftpd.c (getdatasock): make sure to keep the port-number of
200 	the outgoing connections.  It has to be `ftp-data' or some people
201 	might get upset.
202
203	* ftpd/ftpd.c (args): set correct variable when `-l' so that
204 	logging actually works
205
2061999-11-29  Assar Westerlund  <assar@sics.se>
207
208	* ftp/security.c (sec_login): check return value from realloc
209	(sec_end): set app_data to NULL
210
2111999-11-25  Assar Westerlund  <assar@sics.se>
212
213	* ftp/krb4.c (krb4_auth): obtain the `local' address when doing
214	NAT.  also turn on passive mode.  From <thn@stacken.kth.se>
215
2161999-11-20  Assar Westerlund  <assar@sics.se>
217
218	* ftpd/ls.c (make_fileinfo): cast to allow for non-const
219 	prototypes of readlink
220
2211999-11-12  Assar Westerlund  <assar@sics.se>
222
223	* ftpd/ftpd.c (args): use arg_counter for `l'
224	
2251999-11-04  Assar Westerlund  <assar@sics.se>
226
227	* ftpd/ls.c (S_ISSOCK, S_ISLNK): fallback definitions for systems
228 	that don't have them (such as ultrix)
229
2301999-10-29  Assar Westerlund  <assar@sics.se>
231
232	* ftpd/ls.c (make_fileinfo): cast uid's and gid's to unsigned in
233 	printf, we don't know what types they might be.
234	(lstat_file): conditionalize the kafs part on KRB4
235
236	* ftpd/ftpd_locl.h: <sys/ioccom.h> is needed for kafs.h
237
2381999-10-28  Assar Westerlund  <assar@sics.se>
239
240	* ftpd/ls.c (lstat_file): don't set st_mode, it should already be
241 	correct
242
243	* ftpd/ls.c: don't use warnx to print errors
244
245	* ftpd/ls.c (builtin_ls): fix typo, 'd' shouldn't imply 'f'
246
247	* ftpd/ls.c (lstat_file): new function for avoiding stating AFS
248 	mount points.  From Love <lha@s3.kth.se>
249	(list_files): use `lstat_file'
250
251	* ftpd/ftpd.c: some const-poisoning
252
253	* ftpd/ftpd.c (args): add `-B' as an alias for `--builtin-ls' to
254 	allow for stupid inetds that only support two arguments.  From
255 	Love <lha@s3.kth.se>
256
2571999-10-26  Assar Westerlund  <assar@sics.se>
258
259	* ftpd/ftpcmd.y (help): it's unnecessary to interpret help strings
260 	as printf commands
261
262	* ftpd/ftpd.c (show_issue): don't interpret contents of
263 	/etc/issue* as printf commands.  From Brian A May
264 	<bmay@dgs.monash.edu.au>
265
2661999-10-21  Johan Danielsson  <joda@pdc.kth.se>
267
268	* ftpd/kauth.c (kauth): complain if protection level isn't
269	`private'
270
271	* ftp/krb4.c (krb4_decode): syslog failure reason
272
273	* ftp/kauth.c (kauth): set private level earlier
274
275	* ftp/security.c: get_command_prot; (sec_prot): partially match
276	`command' and `data'
277
2781999-10-18  Johan Danielsson  <joda@pdc.kth.se>
279
280	* ftpd/ftpd.c: change `-l' flag to use arg_collect (this makes
281	`-ll' work again)
282
283	* ftpd/ftpd.c (list_file): pass filename to ls
284
2851999-10-04  Johan Danielsson  <joda@pdc.kth.se>
286
287	* ftpd/ftpcmd.y: FEAT
288
2891999-10-03  Assar Westerlund  <assar@sics.se>
290
291	* ftpd/ls.c: fall-back definitions for constans and casts for
292 	printfs
293
2941999-10-03  Johan Danielsson  <joda@pdc.kth.se>
295
296	* ftpd/ftpd.c (main): make this use getarg; add `list_file'
297
298	* ftpd/ftpcmd.y (LIST): call list_file
299
300	* ftpd/ls.c: add simple built-in ls
301
302	* ftp/security.c: add `sec_vfprintf2' and `sec_fprintf2' that
303	prints to the data stream
304
305	* ftp/kauth.c (kauth): make sure we're using private protection
306	level
307
308	* ftp/security.c (set_command_prot): set command protection level
309
310	* ftp/security.c: make it possible to set the command protection
311	level with `prot'
312
3131999-09-30  Assar Westerlund  <assar@sics.se>
314
315	* ftpd/ftpd_locl.h: add prototype for fclose to make sunos happy
316
3171999-08-19  Johan Danielsson  <joda@pdc.kth.se>
318
319	* ftpd/ftpd.c (do_login): show issue-file
320	(send_data): change handling of zero-byte files
321
3221999-08-18  Assar Westerlund  <assar@sics.se>
323
324	* ftp/cmds.c (getit): be more suspicious when parsing the result
325 	of MDTM.  Do the comparison of timestamps correctly.
326
3271999-08-13  Assar Westerlund  <assar@sics.se>
328
329	* ftpd/ftpd.c (send_data): avoid calling mmap with `len == 0'.
330  	Some mmap:s rather dislike that (Solaris) and some munmap (Linux)
331 	get grumpy later.
332
333	* ftp/ftp.c (copy_stream): avoid calling mmap with `len == 0'.
334  	Some mmap:s rather dislike that (Solaris) and some munmap (Linux)
335 	get grumpy later.
336
3371999-08-03  Assar Westerlund  <assar@sics.se>
338
339	* ftp/ftp.c (active_mode): hide failure of EPRT by setting verbose
340
341	* ftp/gssapi.c (gss_auth): initialize application_data in bindings
342
3431999-08-02  Assar Westerlund  <assar@sics.se>
344
345	* ftpd/ftpcmd.y: save file names when doing commands that might
346 	get aborted (and longjmp:ed out of) to avoid overwriting them also
347 	remove extra closing brace
348
3491999-08-01  Johan Danielsson  <joda@pdc.kth.se>
350
351	* ftpd/ftpcmd.y: change `site find' to `site locate' (to match
352	what it does, and other implementations) keep find as an alias
353
3541999-07-28  Assar Westerlund  <assar@sics.se>
355
356	* common/socket.c: moved to roken
357
358	* common/socket.c: new file with generic socket functions
359
360	* ftpd/ftpd.c: make it more AF-neutral and v6-capable
361
362	* ftpd/ftpcmd.y: add EPRT and EPSV
363
364	* ftpd/extern.h: update prototypes and variables
365
366	* ftp/krb4.c: update to new types of addresses
367
368	* ftp/gssapi.c: add support for both AF_INET and AF_INET6
369 	addresses
370
371	* ftp/ftp.c: make it more AF-neutral and v6-capable
372
373	* ftp/extern.h (hookup): change prototype
374
375	* common/common.h: add prototypes for functions in socket.c
376
377	* common/Makefile.am (libcommon_a_SOURCES): add socket.c
378
379	* ftp/gssapi.c (gss_auth): check return value from
380 	`gss_import_name' and print error messages if it fails
381
3821999-06-15  Assar Westerlund  <assar@sics.se>
383
384	* ftp/krb4.c (krb4_auth): type correctness
385
3861999-06-02  Johan Danielsson  <joda@pdc.kth.se>
387
388	* ftp/ftp.c (sendrequest): lmode != rmode
389	
3901999-05-21  Assar Westerlund  <assar@sics.se>
391
392	* ftp/extern.h (sendrequest): update prototype
393
394	* ftp/cmds.c: update calls to sendrequest and recvrequest to send
395 	"b" when appropriate
396
397	* ftp/ftp.c (sendrequest): add argument for mode to open file in.
398
3991999-05-08  Assar Westerlund  <assar@sics.se>
400
401	* ftpd/ftpcmd.y: rename getline -> ftpd_getline
402
403	* ftp/main.c (makeargv): fill in unused slots with NULL
404
405Thu Apr  8 15:06:40 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
406
407	* ftpd/ftpd.c: remove definition of KRB_VERIFY_USER (moved to
408 	config.h)
409
410Wed Apr  7 16:15:21 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
411
412	* ftp/gssapi.c (gss_auth): call gss_display_status to get a sane
413 	error message; return AUTH_{CONTINUE,ERROR}, where appropriate
414
415	* ftp/krb4.c: return AUTH_{CONTINUE,ERROR}, where appropriate
416
417	* ftp/security.c (sec_login): if mechanism returns AUTH_CONTINUE,
418 	just continue with the next mechanism, this fixes the case of
419 	having GSSAPI fail because of non-existant of expired tickets
420
421	* ftp/security.h: add AUTH_{OK,CONTINUE,ERROR}
422
423Thu Apr  1 16:59:04 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
424
425	* ftpd/Makefile.am: don't run check-local
426
427	* ftp/Makefile.am: don't run check-local
428
429Mon Mar 22 22:15:18 1999  Assar Westerlund  <assar@sics.se>
430
431	* ftpd/ftpd.c (pass): fall-back for KRB_VERIFY_SECURE
432
433	* ftpd/ftpd.c (pass): 1 -> KRB_VERIFY_SECURE
434
435Thu Mar 18 12:07:09 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
436
437	* ftpd/Makefile.am: clean ftpcmd.c
438
439	* ftpd/ftpd_locl.h: remove krb5.h (breaks in ftpcmd.y)
440
441	* ftpd/ftpd.c: move include of krb5.h here
442
443	* ftpd/Makefile.am: include Makefile.am.common
444
445	* Makefile.am: include Makefile.am.common
446
447	* ftp/Makefile.am: include Makefile.am.common
448
449	* common/Makefile.am: include Makefile.am.common
450
451Tue Mar 16 22:28:37 1999  Assar Westerlund  <assar@sics.se>
452
453	* ftpd/ftpd_locl.h: add krb5.h to get heimdal_version
454
455	* ftpd/ftpd.c: krb_verify_user_multiple -> krb_verify_user
456
457Thu Mar 11 14:54:59 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
458
459	* ftp/Makefile.in: WFLAGS
460
461	* ftp/ruserpass.c: add some if-braces
462
463Wed Mar 10 20:02:55 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
464
465	* ftpd/ftpd_locl.h: remove ifdef HAVE_FNMATCH
466
467Mon Mar  8 21:29:24 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
468
469	* ftpd/ftpd.c: re-add version in greeting message
470
471Mon Mar  1 10:49:38 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
472
473	* ftpd/logwtmp.c: HAVE_UT_* -> HAVE_STRUCT_UTMP*_UT_*
474
475Mon Feb 22 19:20:51 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
476
477	* common/Makefile.in: remove glob
478
479Sat Feb 13 17:19:35 1999  Assar Westerlund  <assar@sics.se>
480
481	* ftpd/ftpd.c (match): remove #ifdef HAVE_FNMATCH.  We have a
482 	fnmatch implementation in roken and therefore always have it.
483
484	* ftp/ftp.c (copy_stream): initialize `werr'
485
486Wed Jan 13 23:52:57 1999  Assar Westerlund  <assar@sics.se>
487
488	* ftpd/ftpcmd.y: moved all check_login and check_login_no_guest to
489 	the end of the rules to ensure we don't generate several
490 	(independent) error messages.  once again, having a yacc-grammar
491 	for FTP with embedded actions doesn't strike me as the most
492 	optimal way of doing it.
493
494Tue Dec  1 14:44:29 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
495
496	* ftpd/Makefile.am: link with extra libs for aix
497
498Sun Nov 22 10:28:20 1998  Assar Westerlund  <assar@sics.se>
499
500	* ftpd/ftpd.c (retrying): support on-the-fly decompression
501
502	* ftpd/Makefile.in (WFLAGS): set
503
504	* ftp/ruserpass.c (guess_domain): new function
505	(ruserpass): use it
506
507	* common/Makefile.in (WFLAGS): set
508
509	* Makefile.in (WFLAGS): set
510
511Sat Nov 21 23:13:03 1998  Assar Westerlund  <assar@sics.se>
512
513	* ftp/security.c: some more type correctness.
514
515	* ftp/gssapi.c (gss_adat): more braces to shut up warnings
516
517Wed Nov 18 21:47:55 1998  Assar Westerlund  <assar@sics.se>
518
519	* ftp/main.c (main): new option `-p' for enable passive mode.
520
521Mon Nov  2 01:57:49 1998  Assar Westerlund  <assar@sics.se>
522
523	* ftp/ftp.c (getreply): remove extra `break'
524
525	* ftp/gssapi.c (gss_auth): fixo typo(copyo?)
526
527	* ftp/security.c (sec_login): fix loop and return value
528
529Tue Sep  1 16:56:42 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
530
531	* ftp/cmds.c (quote1): fix % quoting bug
532
533Fri Aug 14 17:10:06 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
534
535	* ftp/krb4.c: krb_put_int -> KRB_PUT_INT
536
537Tue Jun 30 18:07:15 1998  Assar Westerlund  <assar@sics.se>
538
539	* ftp/security.c (auth): free `app_data'
540	(sec_end): only destroy if it was initialized
541
542Tue Jun  9 21:01:59 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
543
544	* ftp/krb4.c: pass client address to krb_rd_req
545
546Sat May 16 00:02:07 1998  Assar Westerlund  <assar@sics.se>
547
548	* ftpd/Makefile.am: link with DBLIB
549
550Tue May 12 14:15:32 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
551
552	* ftp/gssapi.c: Save client name for userok().
553
554	* ftpd/gss_userok.c: Userok for gssapi.
555
556Fri May  1 07:15:01 1998  Assar Westerlund  <assar@sics.se>
557
558	* ftp/ftp.c: unifdef -DHAVE_H_ERRNO
559
560Fri Mar 27 00:46:07 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
561
562	* Make compile w/o krb4.
563
564Thu Mar 26 03:49:12 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
565
566	* ftp/*, ftpd/*: Changes for new framework.
567
568	* ftp/gssapi.c: GSS-API backend for the new security framework.
569
570	* ftp/krb4.c: Updated for new framework.
571
572	* ftp/security.{c,h}: New unified security framework.
573