ChangeLog revision 178826
12007-07-12  Love H�rnquist �strand  <lha@it.su.se>
2
3	* ftp/gssapi.c: Fix pointer vs strict alias rules.
4
52007-06-20  Love H�rnquist �strand  <lha@it.su.se>
6
7	* ftp/security.c: if no mech have no session, its ok, just don't
8	call it.
9
10	* ftp/security.h: provide prototype for sec_userok().
11
12	* move ksetpag after initgroups to make it work on Linux when its
13	without syscall hooks to change sys_setgroups preserve the
14	pag. From Alexsander Bostr�m.
15	
162007-06-09  Love H�rnquist �strand  <lha@it.su.se>
17
18	* ftpd/Makefile.am: don't clean yacc/lex files in CLEANFILES,
19	maintainers clean will do that for us.
20	
212006-10-07  Love H�rnquist �strand  <lha@it.su.se>
22
23	* ftpd/Makefile.am: Add man_MANS to EXTRA_DIST
24
25	* ftp/Makefile.am: Add man_MANS to EXTRA_DIST
26	
272006-08-08  Love H�rnquist �strand  <lha@it.su.se>
28
29	* ftpd/ftpd.c: Add comment by seteuid call isn't not needed.
30
31	* ftpd/ftpd.c: Check return values from seteuid, prompted by MIT
32	advisory.  Thanks to Tom Yu at MIT, and Michael Calmer and Marcus
33	Meissner at SUSE.  Either of CVE-2006-3083 or CVE-2006-3084.
34	
352006-06-27  Love H�rnquist �strand  <lha@it.su.se>
36
37	* ftpd/gss_userok.c (gss_userok): create a local krb5_context and
38	use that instead of the libgssapi context (that might not exist).
39	
402006-05-05  Love H�rnquist �strand  <lha@it.su.se>
41
42	* Rename u_intXX_t to uintXX_t
43
442006-03-23  Love H�rnquist �strand  <lha@it.su.se>
45
46	* ftp/ftp.1: Add undocument flags and spelling, from Ted Percival
47	<Ted.Percival@quest.com>
48	
492006-02-27  Johan Danielsson  <joda@pdc.kth.se>
50
51	* ftpd/ftpd.8: fix grammar in --no-insecure-oob option (partly
52	from Thomas Klausner)
53	
542006-01-24  Love H�rnquist �strand  <lha@it.su.se>
55
56	* ftp/ftp.c: Indent.
57	
582006-01-12  Johan Danielsson  <joda@pdc.kth.se>
59
60	* ftpd/ftpd.c (pass): remove unused variable in the !OTP case
61	
622005-10-22  Love H�rnquist �strand  <lha@it.su.se>
63	
64	* ftpd/ls.c: Check return value from asprintf instead of string !=
65	NULL since it undefined behavior on Linux. From Bj�rn Sandell
66
67	* ftpd/gss_userok.c: Check return value from asprintf instead of
68	string != NULL since it undefined behavior on Linux. From Bj�rn
69	Sandell
70
71	* ftpd/ftpd.c: Check return value from asprintf instead of string
72	!= NULL since it undefined behavior on Linux. From Bj�rn Sandell
73
74	* ftp/gssapi.c: Check return value from asprintf instead of string
75	!= NULL since it undefined behavior on Linux. From Bj�rn Sandell
76	
772005-10-12  Johan Danielsson  <joda@pdc.kth.se>
78
79	* ftp/ftp.1: document -x
80	
81	* ftp/security.h: implement cprotect (from MIT)
82	
83	* ftp/security.c: add -x (encrypt) option; implement cprotect
84	(from MIT); make sure we CCC if switching to clear-text command
85	channel
86
87	* ftp/cmdtab.c: implement cprotect (from MIT)
88	
89	* ftp/ruserpass.c: if doing command line encryption (-x), ignore
90	prot commands in .netrc
91
92	* ftp/ftp_var.h: add -x (encrypt) option
93	
94	* ftp/globals.c: add -x (encrypt) option
95	
96	* ftp/main.c: add -x (encrypt) option
97	
982005-07-19  Love H�rnquist �strand  <lha@it.su.se>
99
100	* ftpd/ftpcmd.y: Fix shadow warning.
101
102	* ftp/security.c: Fix shadow warning.
103	* ftp/security.c: Fix shadow warnings.
104	
105	* ftp/ruserpass.c: Fix shadow warnings.
106
107	* ftp/ftp.c: Fix shadow warnings.
108	
109	* ftp/cmds.c: fix shadow warnings
110
111	* Add Kerberos 5 klist, old patch from Tomas Nystr�m (remove krb4
112	support). Support klist in client for kerberos 5 clase.
113	Clean up delegation of gss tokens and do afslog.
114
1152005-07-13  Love H�rnquist �strand  <lha@it.su.se>
116
117	* ftp/gssapi.c (gss_adat): avoid leaking memory
118	(gss_auth): always try next kname if there is one, independant of
119	min_stat
120
121	* ftp/gssapi.c: avoid const warning, use sin4 instead of sin to
122	avoid shadow warning, free target_name
123
1242005-07-09  Love H�rnquist �strand  <lha@it.su.se>
125
126	* ftp/security.c: keep track of if CCC was passed
127
128	* ftpd/extern.h: variable to keep track of if CCC was passed
129
130	* ftpd/ftpcmd.y: sprinkel check_secure, check if CCC was passed in
131	check_secure
132
1332005-06-02  Love H�rnquist �strand  <lha@it.su.se>
134
135	* ftpd/ftpd.c (filename_check): change signednes of p to avoid
136	warning, move typecasts
137
1382005-05-29  Love H�rnquist �strand  <lha@it.su.se>
139
140	* ftpd/ftpd.c: avoid 'unused variable' warnings
141
1422005-05-10  David Love  <fx@gnu.org>
143
144	* ftpd/pathnames.h: #ifdef protect _PATH_ISSUE
145
1462005-04-25  Love H�rnquist �strand  <lha@it.su.se>
147
148	* ftp/domacro.c: handle string trunctions
149
1502005-04-24  Love H�rnquist �strand  <lha@it.su.se>
151
152	* ftp/security.c: use strlcat
153	
154	* ftp/domacro.c: use strlcpy
155	
1562005-04-20  Love H�rnquist �strand  <lha@it.su.se>
157
158	* ftp/security.c: cast size_t to unsigned long
159
1602005-04-18  Love H�rnquist �strand  <lha@it.su.se>
161
162	* ftpd/ftpd.c (statcmd): cast argument to isdigit to unsigned char
163
164	* ftp/cmds.c (mget): cast char to unsigned char to make sure its
165	not negative when passing it to tolower
166
1672005-04-07  Love H�rnquist �strand  <lha@it.su.se>
168
169	* ftp/ftp.c: fix 3 'var' might be used uninitialized warnings
170
1712005-04-04 Love H�rnquist �strand  <lha@it.su.se>
172
173	* ftp/cmds.c: MacOS is also a unix that doesn't define
174	__unix__/unix While here, rewrite this part of the function to not
175	modify that string, but rather take a copy of it and them modify
176	is, all this just to pacify gcc
177	
1782005-01-09 Love H�rnquist �strand  <lha@it.su.se>
179
180	* ftp/domacro.c: cast argument to is* to unsigned char
181
182	* ftp/ftp.c: cast argument to tolower to unsigned char
183
1842004-08-20 Love H�rnquist �strand  <lha@it.su.se>
185
186	* ftp/ftp.c: send ABOR protect with security layer if its there
187
188	* ftpd/{ftpd_locl.h, extern.h, ftpcmd.y, ftpd.8, ftpd.c}:
189	Remove all traces of setjmp/longjmp.
190	Handle those command that is needed in oobhandler,
191	those are ABOR, STAT, ENC, CONF, MIC.
192	add options to turn off insecure OOB handling and document the option
193
194	Changes inspired by openbsd and netbsd changes but quite diffrent is
195	most places since the code no longer look and is structured the same
196	way.
197
1982004-08-16  Johan Danielsson  <joda@pdc.kth.se>
199
200	* ftp/main.c: reverse help strings for --no-gss-bindings and
201	--no-gss-delegate
202
2032004-06-20  Love H�rnquist �strand  <lha@it.su.se>
204
205	* ftpd/ftpcmd.y: make cbuf 64k to handle lager tickets From:
206	MAAAAA MOOOR <huaraz@btinternet.com>
207	
2082004-03-14  Love H�rnquist �strand  <lha@it.su.se>
209
210	* ftpd/ftpd.c (main): setpag if there is krb4 OR krb5 support
211	
2122003-12-19  Love H�rnquist �strand  <lha@it.su.se>
213
214	* ftp/security.h: add ftp_do_gss_delegate
215	
216	* ftp/main.c (getargs): negative flag for delegating gss creds
217	
218	* ftp/gssapi.c (ftp_do_gss_delegate): delegate creds (default on)
219	
2202003-09-03  Love H�rnquist �strand  <lha@it.su.se>
221
222	* ftp/ftp.c: s/des_read_pw_string/UI_UTIL_read_pw_string/
223	
224	* ftp/cmds.c: s/des_read_pw_string/UI_UTIL_read_pw_string/
225	
2262003-07-19  Love H�rnquist �strand  <lha@it.su.se>
227
228	* ftp/security.h: add ftp_do_gss_bindings
229	
230	* ftp/ftp.1: fix mdoc bug
231	
232	* ftp/ftp.1: document --no-gss-bindings
233
234	* ftp/gssapi.c: Optionally support gss bindings, client does it by
235	default, server not.  This is to make it work for clients behind
236	NAT.
237
238	* ftp/main.c (args): add gss-bindings
239	(main): set ftp_do_gss_bindings to 1 to make client use them
240
241	* ftpd/ftpd.c (args): add gss-bindings
242	
243	* ftpd/ftpd.8: document --gss-bindings
244	
2452003-06-13  Johan Danielsson  <joda@pdc.kth.se>
246
247	* ftp/gssapi.c (gss_adat): fix name allocation bug
248
2492003-05-21  Love H�rnquist �strand  <lha@it.su.se>
250
251	* ftpd/gss_userok.c (gss_userok): release delegated cred handle
252	
253	* ftp/gssapi.c (gss_adat): remove poking inside the delegated
254	handle, also fixes problem where to much memory was allocated
255	
256	* ftpd/gss_userok.c (gss_userok): remove poking inside the
257	delegated handle
258
2592003-05-14  Love H�rnquist �strand  <lha@it.su.se>
260
261	* ftpd/ftpcmd.y: support afslog <cell> and afslog when compiled
262	with krb5
263
2642003-05-07  Love H�rnquist �strand  <lha@it.su.se>
265
266	* ftp/cmdtab.c: include afslog in both the krb4 and krb5 case
267	
268	* ftp/kauth.c: include afslog in both the krb4 and krb5 case
269	
270	* ftp/Makefile.am: always include auth.c
271	
2722003-05-07  Love H�rnquist �strand  <lha@it.su.se>
273	
274	* ftpd/Makefile.am: always include auth.c
275
276	* ftpd/kauth.c: do afslog in the krb5 case too
277	
2782003-04-22  Love H�rnquist �strand  <lha@it.su.se>
279
280	* ftp/ftp.1: replace > with \*[Gt]
281	
2822003-04-16  Love H�rnquist �strand  <lha@it.su.se>
283
284	* ftpd/ftpd.c: make sure argument to is* functions are unsigned
285	
2862003-04-06  Love H�rnquist �strand  <lha@it.su.se>
287
288	* ftpd/ftpd.8: s/kerberos/Kerberos/
289	
2902003-03-23  Assar Westerlund  <assar@kth.se>
291
292	* ftpd/pathnames.h (_PATH_FTPUSERS): conditionalize
293
2942003-03-18  Love H�rnquist �strand  <lha@it.su.se>
295
296	* ftpd/ftpd.c (krb5_verify): always do krb5_afslog, remove setpag
297	(its done in main)
298
299	* ftpd/gss_userok.c: drop setpag
300	
301	* ftpd/ftpd.c (main): set afs PAG
302
303	* ftpd/gss_userok.c: always try krb5_afslog, and while here do a
304	setpag too
305
306	* ftpd/ftpd_locl.h: always include kafs
307	
3082003-03-16  Love H�rnquist �strand  <lha@it.su.se>
309
310	* ftp/gssapi.c (gss_adat): now that gss_export_name exports a
311	principal, bandaid with gss_display_name, and check that oid is
312	GSS_KRB5_NT_PRINCIPAL_NAME, also free memory
313	
3142003-02-25  Love H�rnquist �strand  <lha@it.su.se>
315
316	* ftp/gssapi.c (gss_auth): print out the name we authenticated too
317	
3182003-02-25  Love H�rnquist �strand  <lha@it.su.se>
319
320	* ftpd/ls.c: use readlink with bufsize - 1, From NetBSD
321
322	* ftp/ftp.1: s/utilizes/uses/ from NetBSD
323	
324	* ftpd/ftpd.8: s/utilize/use/ from NetBSD
325	
3262003-02-10  Assar Westerlund  <assar@kth.se>
327
328	* ftpd/ftpd.c (accept_with_timeout): use socklen_t
329
3302002-10-29  Johan Danielsson  <joda@pdc.kth.se>
331
332	* ftp/main.c: reinstate -n flag (from Torbj�rn Granlund)
333
3342002-10-16  Johan Danielsson  <joda@pdc.kth.se>
335
336	* ftp/ftp.c: fix parsing of epsv ports (from Love)
337
3382002-09-05  Johan Danielsson  <joda@pdc.kth.se>
339
340	* ftp/security.c (sec_vfprintf): free encoded data
341
342	* ftp/gssapi.c (gss_decode): release buffer
343
344	* ftp/ftp.c (active_mode): no need to allocate buffer for EPRT
345
3462002-08-28  Johan Danielsson  <joda@pdc.kth.se>
347
348	* ftp/ftp.c (command): clean up va_{start,end}ing (from NetBSD)
349
3502002-08-23  Assar Westerlund  <assar@kth.se>
351
352	* ftp/main.c: start using getarg
353
3542002-08-22  Johan Danielsson  <joda@pdc.kth.se>
355
356	* ftpd/ls.c: uxp/v lacks _S_IFMT, but has S_IFMT
357
3582002-08-20  Johan Danielsson  <joda@pdc.kth.se>
359
360	* ftp/gssapi.c: remove unused variable
361
3622002-04-24  Johan Danielsson  <joda@pdc.kth.se>
363
364	* ftp/ftp.c: fix buffer overrun when receiving long replies
365
3662002-04-02  Johan Danielsson  <joda@pdc.kth.se>
367
368	* ftpd/popen.c: make sure gl_pathc != 0 before referencing
369	gl_pathv
370
3712002-03-15  Johan Danielsson  <joda@pdc.kth.se>
372
373	* ftp/gssapi.c (gss_adat): if accept_sec_context fails, syslog a
374	reason and give a temporary error message
375
3762002-02-28  Johan Danielsson  <joda@pdc.kth.se>
377
378	* ftpd/ftpd.c: if builtin_ls failes, return error
379
380	* ftpd/ls.c (builtin_ls): return status; also don't print fatal
381	error messages to the output stream, instead use syslog
382
3832001-09-14  Johan Danielsson  <joda@pdc.kth.se>
384
385	* ftpd/ls.c: make sure we don't include . in recursive listings
386
3872001-09-13  Johan Danielsson  <joda@pdc.kth.se>
388
389	* ftpd/ftpd.c (dataconn): don't wait forever on accept
390
3912001-09-04  Assar Westerlund  <assar@sics.se>
392
393	* ftp/gssapi.c (gss_adat): leak less memory and check return value
394	from asprintf
395
3962001-08-28  Jacques Vidrine <n@nectar.com>
397
398	* ftpd/ftpd.c, ftpd/ftpd.8: On systems with IP_PORTRANGE, have
399	  ftpd use `high-numbered' ports by default.  Add a -U option
400	  to get the old behavior.
401
4022001-08-28  Johan Danielsson  <joda@pdc.kth.se>
403
404	* ftp/gssapi.c: try using "host" if there's no "ftp" principal
405
4062001-08-26  Johan Danielsson  <joda@pdc.kth.se>
407
408	* ftpd/ls.c: implement -R
409
4102001-08-08  Assar Westerlund  <assar@sics.se>
411
412	* ftpd/ls.c: make -a and -A do the same as in ls(1)
413
4142001-08-05  Assar Westerlund  <assar@sics.se>
415
416	* ftpd/ftpcmd.y: add some (unsigned char) casts to is*
417	* ftp/cmds.c: add some (unsigned char) casts to is*
418	* ftpd/gss_userok.c (gss_userok): make argument to printf type
419	correct
420
4212001-08-05  Assar Westerlund  <assar@sics.se>
422
423	* ftp/cmds.c (setpeer): __NetBSD__ is also a unix-like OS
424
4252001-06-19  Assar Westerlund  <assar@sics.se>
426
427	* ftpd/popen.c, ftpd/ftpd.c: try to handle GLOB_MAXPATH (FreeBSD)
428
4292001-04-19  Johan Danielsson  <joda@pdc.kth.se>
430
431	* ftpd/ftpd.c (do_store): call closefunc before claiming that
432	everything went ok, if the close fails the file might not have
433	been stored properly
434
4352001-03-26  Assar Westerlund  <assar@sics.se>
436
437	* ftpd/ftpd.c, ftpd/popen.c: always use GLOB_LIMIT
438	* ftpd/popen.c (ftpd_popen): use GLOB_LIMIT if defined
439	* ftpd/ftpd.c (send_file_list): use GLOB_LIMIT if defined
440
4412001-02-15  Assar Westerlund  <assar@sics.se>
442
443	* ftp/cmds.c (setpeer): handle both service names and port numbers
444	for the second optional argument.  also make parsing more robust
445
4462001-02-07  Assar Westerlund  <assar@sics.se>
447
448	* ftp/security.c (sec_end): only clean app_data if there is any
449	(*): do realloc consistently
450
4512001-02-05  Assar Westerlund  <assar@sics.se>
452
453	* ftpd/popen.c (ftpd_popen): avoid overwriting the bounds of argv
454	and gargv
455
4562001-01-30  Assar Westerlund  <assar@sics.se>
457
458	* ftpd/gss_userok.c: use gss_krb5_copy_ccache
459
4602001-01-29  Assar Westerlund  <assar@sics.se>
461
462	* ftpd/Makefile.am: move up LIB_otp so we do not end up picking
463 	one from /usr/athena
464
4652001-01-25  Johan Danielsson  <joda@pdc.kth.se>
466
467	* ftpd/ls.c: fix bug in previous; make it easier to build test
468	version
469
4702001-01-19  Johan Danielsson  <joda@pdc.kth.se>
471
472	* ftpd/ls.c (lstat_file): handle case where file lives in `/'
473
4742001-01-18  Johan Danielsson  <joda@pdc.kth.se>
475
476	* ftpd/ftpd.c (pasv): close already open passive port
477
4782000-12-14  Johan Danielsson  <joda@pdc.kth.se>
479
480	* ftpd/ls.c: reverse time and size sort order (pointed out by
481	tege)
482
4832000-12-11  Johan Danielsson  <joda@pdc.kth.se>
484
485	* ftpd/ftpd.c: make it possible to set list of good filename
486	characters from command line
487
4882000-12-10  Johan Danielsson  <joda@pdc.kth.se>
489
490	* ftpd/ftpd.c: some spec-violating mirror software assumes that
491	you can do things like `LIST -CF'; don't pass `--' to ls so this
492	actually works
493
494	* ftpd/ls.c: implement -1CFx flags
495
4962000-12-08  Assar Westerlund  <assar@sics.se>
497
498	* ftpd/gss_userok.c (gss_userok): handle getpwnam failing
499	* ftp/gssapi.c (gss_auth): be more explicit in error message
500
5012000-11-29  Johan Danielsson  <joda@pdc.kth.se>
502
503	* ftpd/ftpd.8: close list
504
5052000-11-15  Assar Westerlund  <assar@sics.se>
506
507	* ftp/main.c: add `-l' for no line-editing
508	* ftp/globals.c (readline): add
509	* ftp/ftp_var.h (lineedit): add variable indicated if we should
510	use readline
511
5122000-11-09  Johan Danielsson  <joda@pdc.kth.se>
513
514	* ftp/security.c (sec_read): fix bug in previous (from Jacques A.
515	Vidrine <n@nectar.com>)
516
5172000-11-05  Johan Danielsson  <joda@pdc.kth.se>
518
519	* ftpd/ftpcmd.y: only allow pasv if logged in
520
5212000-10-23  Johan Danielsson  <joda@pdc.kth.se>
522
523	* ftpd/ftpd.c: change bad filename message slightly
524
525	* common/buffer.c: HAVE_ST_BLKSIZE -> HAVE_STRUCT_STAT_ST_BLKSIZE
526
5272000-10-08  Assar Westerlund  <assar@sics.se>
528
529	* ftp/ftp.c (*): check that fds are not too large to select on
530	* ftp/main.c (cmdscanner): print a newline upon EOF
531
5322000-09-19  Assar Westerlund  <assar@sics.se>
533
534	* ftp/security.h: add some attributes to prototypes of sec*
535	* ftp/extern.h (command): add attributes
536
5372000-08-31  Johan Danielsson  <joda@pdc.kth.se>
538
539	* ftpd/ftpd.c: change redundant password message to something
540	people can understand
541
5422000-07-27  Assar Westerlund  <assar@sics.se>
543
544	* ftpd/gss_userok.c (gss_userok): only do AFS iff KRB4
545	* ftpd/ftpd.c (krb5_verify): only do AFS stuff if KRB4
546
5472000-07-07  Assar Westerlund  <assar@sics.se>
548
549	* ftpd/ftpd.c: do not call setproctitle with a variable as the
550	format string
551
5522000-07-01  Assar Westerlund  <assar@sics.se>
553
554	* ftpd/ftpd_locl.h: krb5.h before kafs.h
555	* ftpd/ftpd.c (krb5_verify): static-ize
556	* ftpd/ftpd.c (krb5_verify): conditionalize on KRB5
557
5582000-06-21  Assar Westerlund  <assar@sics.se>
559
560	* ftpd: support for authenticating passwords with krb5, by Daniel
561	Kouril <kouril@ics.muni.cz>
562
5632000-06-06  Johan Danielsson  <joda@pdc.kth.se>
564
565	* ftpd/ftpcmd.y: change unix test to be negative
566	
5672000-05-18  Assar Westerlund  <assar@sics.se>
568
569	* ftpd/ftpd.c (args): should use `debug'.  From Onno van der
570	Linden <onno@simplex.nl>.
571
5722000-04-25  Assar Westerlund  <assar@sics.se>
573
574	* ftp/ftp.c (login): re-structure code so that we prompt for
575	password for ftp/anonymous
576
5772000-04-11  Assar Westerlund  <assar@sics.se>
578
579	* ftp/ftp.c (login): initialize tmp before calling fgets
580
5812000-04-02  Assar Westerlund  <assar@sics.se>
582
583	* ftpd/ls.c: rename all st_mtime variables to avoid conflict with
584	#define.
585	* ftpd/ftpcmd.y: rename all st_mtime variables to avoid conflict
586	with #define.
587	* ftp/cmds.c: rename all st_mtime variables to avoid conflict with
588	#define.
589
5902000-03-26  Assar Westerlund  <assar@sics.se>
591
592	* ftpd/ls.c, ftpd/ftpcmd.y, ftp/cmds.c: make sure to always call
593	time, ctime, and gmtime with `time_t's.  there were some types
594	(like in lastlog) that we believed to always be time_t.  this has
595	proven wrong on Solaris 8 in 64-bit mode, where they are stored as
596	32-bit quantities but time_t has gone up to 64 bits
597
5982000-03-09  Johan Danielsson  <joda@pdc.kth.se>
599
600	* call list_file for broken usages of nlst too
601
602	* ftpd/ftpd.c: call list_file for broken usages of nlst too
603
6042000-02-07  Assar Westerlund  <assar@sics.se>
605
606	* ftp/security.c (sec_read): more paranoia with return value from
607	sec_get_data
608
6092000-01-08  Assar Westerlund  <assar@sics.se>
610
611	* ftp/ftp.c (hookup): handle ai_canonname being set in any of the
612	addresses returnedby getaddrinfo.  glibc apparently returns the
613	reverse lookup of every address in ai_canonname.
614	* ftp/ruserpass.c (guess_domain): dito
615
6161999-12-21  Assar Westerlund  <assar@sics.se>
617
618	* ftpd/ftpd.c: don't use sa_len as a parameter, it's defined on
619 	Irix
620
6211999-12-21  Johan Danielsson  <joda@pdc.kth.se>
622
623	* ftpd/ftpd.c (dataconn): make sure from points to actual data
624
6251999-12-16  Assar Westerlund  <assar@sics.se>
626
627	* ftp/ruserpass.c (guess_domain): handle ai_canonname not being
628	set
629	* ftp/ftp.c (hookup): handle ai_canonname not being set
630
6311999-12-06  Assar Westerlund  <assar@sics.se>
632
633	* ftp/krb4.c (krb4_auth): the nat-IP address might not be realm
634	bounded.
635
6361999-12-05  Assar Westerlund  <assar@sics.se>
637
638	* ftpd/ftpd.c (dolog): update prototype
639	* ftpd/ftpd.c (dolog): use getnameinfo_verified
640	* ftpd/ftpd.c: replace inaddr2str by getnameinfo
641
6421999-12-04  Assar Westerlund  <assar@sics.se>
643
644	* ftp/ruserpass.c (guess_domain): re-write to use getaddrinfo
645	* ftp/ftp.c (hookup): re-write to use getaddrinfo
646	
6471999-11-30  Assar Westerlund  <assar@sics.se>
648
649	* ftpd/ftpd.c (getdatasock): make sure to keep the port-number of
650 	the outgoing connections.  It has to be `ftp-data' or some people
651 	might get upset.
652
653	* ftpd/ftpd.c (args): set correct variable when `-l' so that
654 	logging actually works
655
6561999-11-29  Assar Westerlund  <assar@sics.se>
657
658	* ftp/security.c (sec_login): check return value from realloc
659	(sec_end): set app_data to NULL
660
6611999-11-25  Assar Westerlund  <assar@sics.se>
662
663	* ftp/krb4.c (krb4_auth): obtain the `local' address when doing
664	NAT.  also turn on passive mode.  From <thn@stacken.kth.se>
665
6661999-11-20  Assar Westerlund  <assar@sics.se>
667
668	* ftpd/ls.c (make_fileinfo): cast to allow for non-const
669 	prototypes of readlink
670
6711999-11-12  Assar Westerlund  <assar@sics.se>
672
673	* ftpd/ftpd.c (args): use arg_counter for `l'
674	
6751999-11-04  Assar Westerlund  <assar@sics.se>
676
677	* ftpd/ls.c (S_ISSOCK, S_ISLNK): fallback definitions for systems
678 	that don't have them (such as ultrix)
679
6801999-10-29  Assar Westerlund  <assar@sics.se>
681
682	* ftpd/ls.c (make_fileinfo): cast uid's and gid's to unsigned in
683 	printf, we don't know what types they might be.
684	(lstat_file): conditionalize the kafs part on KRB4
685
686	* ftpd/ftpd_locl.h: <sys/ioccom.h> is needed for kafs.h
687
6881999-10-28  Assar Westerlund  <assar@sics.se>
689
690	* ftpd/ls.c (lstat_file): don't set st_mode, it should already be
691 	correct
692
693	* ftpd/ls.c: don't use warnx to print errors
694
695	* ftpd/ls.c (builtin_ls): fix typo, 'd' shouldn't imply 'f'
696
697	* ftpd/ls.c (lstat_file): new function for avoiding stating AFS
698 	mount points.  From Love <lha@s3.kth.se>
699	(list_files): use `lstat_file'
700
701	* ftpd/ftpd.c: some const-poisoning
702
703	* ftpd/ftpd.c (args): add `-B' as an alias for `--builtin-ls' to
704 	allow for stupid inetds that only support two arguments.  From
705 	Love <lha@s3.kth.se>
706
7071999-10-26  Assar Westerlund  <assar@sics.se>
708
709	* ftpd/ftpcmd.y (help): it's unnecessary to interpret help strings
710 	as printf commands
711
712	* ftpd/ftpd.c (show_issue): don't interpret contents of
713 	/etc/issue* as printf commands.  From Brian A May
714 	<bmay@dgs.monash.edu.au>
715
7161999-10-21  Johan Danielsson  <joda@pdc.kth.se>
717
718	* ftpd/kauth.c (kauth): complain if protection level isn't
719	`private'
720
721	* ftp/krb4.c (krb4_decode): syslog failure reason
722
723	* ftp/kauth.c (kauth): set private level earlier
724
725	* ftp/security.c: get_command_prot; (sec_prot): partially match
726	`command' and `data'
727
7281999-10-18  Johan Danielsson  <joda@pdc.kth.se>
729
730	* ftpd/ftpd.c: change `-l' flag to use arg_collect (this makes
731	`-ll' work again)
732
733	* ftpd/ftpd.c (list_file): pass filename to ls
734
7351999-10-04  Johan Danielsson  <joda@pdc.kth.se>
736
737	* ftpd/ftpcmd.y: FEAT
738
7391999-10-03  Assar Westerlund  <assar@sics.se>
740
741	* ftpd/ls.c: fall-back definitions for constans and casts for
742 	printfs
743
7441999-10-03  Johan Danielsson  <joda@pdc.kth.se>
745
746	* ftpd/ftpd.c (main): make this use getarg; add `list_file'
747
748	* ftpd/ftpcmd.y (LIST): call list_file
749
750	* ftpd/ls.c: add simple built-in ls
751
752	* ftp/security.c: add `sec_vfprintf2' and `sec_fprintf2' that
753	prints to the data stream
754
755	* ftp/kauth.c (kauth): make sure we're using private protection
756	level
757
758	* ftp/security.c (set_command_prot): set command protection level
759
760	* ftp/security.c: make it possible to set the command protection
761	level with `prot'
762
7631999-09-30  Assar Westerlund  <assar@sics.se>
764
765	* ftpd/ftpd_locl.h: add prototype for fclose to make sunos happy
766
7671999-08-19  Johan Danielsson  <joda@pdc.kth.se>
768
769	* ftpd/ftpd.c (do_login): show issue-file
770	(send_data): change handling of zero-byte files
771
7721999-08-18  Assar Westerlund  <assar@sics.se>
773
774	* ftp/cmds.c (getit): be more suspicious when parsing the result
775 	of MDTM.  Do the comparison of timestamps correctly.
776
7771999-08-13  Assar Westerlund  <assar@sics.se>
778
779	* ftpd/ftpd.c (send_data): avoid calling mmap with `len == 0'.
780  	Some mmap:s rather dislike that (Solaris) and some munmap (Linux)
781 	get grumpy later.
782
783	* ftp/ftp.c (copy_stream): avoid calling mmap with `len == 0'.
784  	Some mmap:s rather dislike that (Solaris) and some munmap (Linux)
785 	get grumpy later.
786
7871999-08-03  Assar Westerlund  <assar@sics.se>
788
789	* ftp/ftp.c (active_mode): hide failure of EPRT by setting verbose
790
791	* ftp/gssapi.c (gss_auth): initialize application_data in bindings
792
7931999-08-02  Assar Westerlund  <assar@sics.se>
794
795	* ftpd/ftpcmd.y: save file names when doing commands that might
796 	get aborted (and longjmp:ed out of) to avoid overwriting them also
797 	remove extra closing brace
798
7991999-08-01  Johan Danielsson  <joda@pdc.kth.se>
800
801	* ftpd/ftpcmd.y: change `site find' to `site locate' (to match
802	what it does, and other implementations) keep find as an alias
803
8041999-07-28  Assar Westerlund  <assar@sics.se>
805
806	* common/socket.c: moved to roken
807
808	* common/socket.c: new file with generic socket functions
809
810	* ftpd/ftpd.c: make it more AF-neutral and v6-capable
811
812	* ftpd/ftpcmd.y: add EPRT and EPSV
813
814	* ftpd/extern.h: update prototypes and variables
815
816	* ftp/krb4.c: update to new types of addresses
817
818	* ftp/gssapi.c: add support for both AF_INET and AF_INET6
819 	addresses
820
821	* ftp/ftp.c: make it more AF-neutral and v6-capable
822
823	* ftp/extern.h (hookup): change prototype
824
825	* common/common.h: add prototypes for functions in socket.c
826
827	* common/Makefile.am (libcommon_a_SOURCES): add socket.c
828
829	* ftp/gssapi.c (gss_auth): check return value from
830 	`gss_import_name' and print error messages if it fails
831
8321999-06-15  Assar Westerlund  <assar@sics.se>
833
834	* ftp/krb4.c (krb4_auth): type correctness
835
8361999-06-02  Johan Danielsson  <joda@pdc.kth.se>
837
838	* ftp/ftp.c (sendrequest): lmode != rmode
839	
8401999-05-21  Assar Westerlund  <assar@sics.se>
841
842	* ftp/extern.h (sendrequest): update prototype
843
844	* ftp/cmds.c: update calls to sendrequest and recvrequest to send
845 	"b" when appropriate
846
847	* ftp/ftp.c (sendrequest): add argument for mode to open file in.
848
8491999-05-08  Assar Westerlund  <assar@sics.se>
850
851	* ftpd/ftpcmd.y: rename getline -> ftpd_getline
852
853	* ftp/main.c (makeargv): fill in unused slots with NULL
854
855Thu Apr  8 15:06:40 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
856
857	* ftpd/ftpd.c: remove definition of KRB_VERIFY_USER (moved to
858 	config.h)
859
860Wed Apr  7 16:15:21 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
861
862	* ftp/gssapi.c (gss_auth): call gss_display_status to get a sane
863 	error message; return AUTH_{CONTINUE,ERROR}, where appropriate
864
865	* ftp/krb4.c: return AUTH_{CONTINUE,ERROR}, where appropriate
866
867	* ftp/security.c (sec_login): if mechanism returns AUTH_CONTINUE,
868 	just continue with the next mechanism, this fixes the case of
869 	having GSSAPI fail because of non-existant of expired tickets
870
871	* ftp/security.h: add AUTH_{OK,CONTINUE,ERROR}
872
873Thu Apr  1 16:59:04 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
874
875	* ftpd/Makefile.am: don't run check-local
876
877	* ftp/Makefile.am: don't run check-local
878
879Mon Mar 22 22:15:18 1999  Assar Westerlund  <assar@sics.se>
880
881	* ftpd/ftpd.c (pass): fall-back for KRB_VERIFY_SECURE
882
883	* ftpd/ftpd.c (pass): 1 -> KRB_VERIFY_SECURE
884
885Thu Mar 18 12:07:09 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
886
887	* ftpd/Makefile.am: clean ftpcmd.c
888
889	* ftpd/ftpd_locl.h: remove krb5.h (breaks in ftpcmd.y)
890
891	* ftpd/ftpd.c: move include of krb5.h here
892
893	* ftpd/Makefile.am: include Makefile.am.common
894
895	* Makefile.am: include Makefile.am.common
896
897	* ftp/Makefile.am: include Makefile.am.common
898
899	* common/Makefile.am: include Makefile.am.common
900
901Tue Mar 16 22:28:37 1999  Assar Westerlund  <assar@sics.se>
902
903	* ftpd/ftpd_locl.h: add krb5.h to get heimdal_version
904
905	* ftpd/ftpd.c: krb_verify_user_multiple -> krb_verify_user
906
907Thu Mar 11 14:54:59 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
908
909	* ftp/Makefile.in: WFLAGS
910
911	* ftp/ruserpass.c: add some if-braces
912
913Wed Mar 10 20:02:55 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
914
915	* ftpd/ftpd_locl.h: remove ifdef HAVE_FNMATCH
916
917Mon Mar  8 21:29:24 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
918
919	* ftpd/ftpd.c: re-add version in greeting message
920
921Mon Mar  1 10:49:38 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
922
923	* ftpd/logwtmp.c: HAVE_UT_* -> HAVE_STRUCT_UTMP*_UT_*
924
925Mon Feb 22 19:20:51 1999  Johan Danielsson  <joda@hella.pdc.kth.se>
926
927	* common/Makefile.in: remove glob
928
929Sat Feb 13 17:19:35 1999  Assar Westerlund  <assar@sics.se>
930
931	* ftpd/ftpd.c (match): remove #ifdef HAVE_FNMATCH.  We have a
932 	fnmatch implementation in roken and therefore always have it.
933
934	* ftp/ftp.c (copy_stream): initialize `werr'
935
936Wed Jan 13 23:52:57 1999  Assar Westerlund  <assar@sics.se>
937
938	* ftpd/ftpcmd.y: moved all check_login and check_login_no_guest to
939 	the end of the rules to ensure we don't generate several
940 	(independent) error messages.  once again, having a yacc-grammar
941 	for FTP with embedded actions doesn't strike me as the most
942 	optimal way of doing it.
943
944Tue Dec  1 14:44:29 1998  Johan Danielsson  <joda@hella.pdc.kth.se>
945
946	* ftpd/Makefile.am: link with extra libs for aix
947
948Sun Nov 22 10:28:20 1998  Assar Westerlund  <assar@sics.se>
949
950	* ftpd/ftpd.c (retrying): support on-the-fly decompression
951
952	* ftpd/Makefile.in (WFLAGS): set
953
954	* ftp/ruserpass.c (guess_domain): new function
955	(ruserpass): use it
956
957	* common/Makefile.in (WFLAGS): set
958
959	* Makefile.in (WFLAGS): set
960
961Sat Nov 21 23:13:03 1998  Assar Westerlund  <assar@sics.se>
962
963	* ftp/security.c: some more type correctness.
964
965	* ftp/gssapi.c (gss_adat): more braces to shut up warnings
966
967Wed Nov 18 21:47:55 1998  Assar Westerlund  <assar@sics.se>
968
969	* ftp/main.c (main): new option `-p' for enable passive mode.
970
971Mon Nov  2 01:57:49 1998  Assar Westerlund  <assar@sics.se>
972
973	* ftp/ftp.c (getreply): remove extra `break'
974
975	* ftp/gssapi.c (gss_auth): fixo typo(copyo?)
976
977	* ftp/security.c (sec_login): fix loop and return value
978
979Tue Sep  1 16:56:42 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
980
981	* ftp/cmds.c (quote1): fix % quoting bug
982
983Fri Aug 14 17:10:06 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
984
985	* ftp/krb4.c: krb_put_int -> KRB_PUT_INT
986
987Tue Jun 30 18:07:15 1998  Assar Westerlund  <assar@sics.se>
988
989	* ftp/security.c (auth): free `app_data'
990	(sec_end): only destroy if it was initialized
991
992Tue Jun  9 21:01:59 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
993
994	* ftp/krb4.c: pass client address to krb_rd_req
995
996Sat May 16 00:02:07 1998  Assar Westerlund  <assar@sics.se>
997
998	* ftpd/Makefile.am: link with DBLIB
999
1000Tue May 12 14:15:32 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
1001
1002	* ftp/gssapi.c: Save client name for userok().
1003
1004	* ftpd/gss_userok.c: Userok for gssapi.
1005
1006Fri May  1 07:15:01 1998  Assar Westerlund  <assar@sics.se>
1007
1008	* ftp/ftp.c: unifdef -DHAVE_H_ERRNO
1009
1010Fri Mar 27 00:46:07 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
1011
1012	* Make compile w/o krb4.
1013
1014Thu Mar 26 03:49:12 1998  Johan Danielsson  <joda@emma.pdc.kth.se>
1015
1016	* ftp/*, ftpd/*: Changes for new framework.
1017
1018	* ftp/gssapi.c: GSS-API backend for the new security framework.
1019
1020	* ftp/krb4.c: Updated for new framework.
1021
1022	* ftp/security.{c,h}: New unified security framework.
1023