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