1 2000-06-14 Tom Yu <tlyu@mit.edu>
3 * ftpcmd.y (nonguest): Return $1, not 1, if (!guest).
5 2000-05-11 Nalin Dahyabhai <nalin@redhat.com>
7 * ftpd.c (gunique): Make sure that path stored in "new" isn't too long.
9 2000-02-18 Ken Raeburn <raeburn@mit.edu>
11 * ftpd.c (reply, lreply): Declare with format attribute under
13 (send_data, receive_data, send_file_list): Declare some variables
14 volatile to protect against getting clobbered by setjmp/longjmp.
15 * popen.c (ftpd_popen): Declare IOP volatile.
17 1999-10-26 Tom Yu <tlyu@mit.edu>
19 * Makefile.in: Clean up usage of CFLAGS, CPPFLAGS, DEFS, DEFINES,
20 LOCAL_INCLUDES such that one can override CFLAGS from the command
21 line without losing CPP search patchs and defines. Some associated
22 Makefile cleanup. [from wsanchez@apple.com]
24 1999-09-21 Ken Raeburn <raeburn@mit.edu>
26 * ftpd.c (checkuser): Only call fclose on file handle if it's not
28 (send_file_list): Don't declare strpbrk function if it's defined
31 Thu Mar 25 23:13:56 1999 Tom Yu <tlyu@mit.edu>
33 * ftpd.c (login): Check that the luid is not the uid we want to
34 change to prior to calling setluid() so that we can run as
37 Wed Mar 24 17:11:32 1999 Tom Yu <tlyu@mit.edu>
39 * ftpcmd.y (urgsafe_getc): New function; like getc() except it
40 retries once if SIOCATMARK returns TRUE.
41 (getline): Use urgsafe_getc() rather than getc() to avoid problems
42 with certain Mac clients that cause the urgent pointer to end up
43 in a location that results in EOF from getc().
45 Fri Mar 12 07:35:01 1999 Tom Yu <tlyu@mit.edu>
47 * ftpd.c (user): Remove extra "%s" in call to sprintf() to avoid
48 dereferencing stack garbage.
50 Mon Mar 8 23:47:51 1999 Tom Yu <tlyu@mit.edu>
52 * ftpd.M: Resync with reality.
54 * Makefile.in (ftpd): Add libpty to link line. Remove mention of
57 * ftpd.c: Fix up hostname logging to use
58 pty_make_sane_hostname().
60 Thu Feb 25 23:31:37 1999 Tom Yu <tlyu@mit.edu>
62 * ftpd.c (reply): Don't call secure_gss_error() or secure_error()
63 from within reply() to avoid setting up an infinite
66 Thu Feb 18 18:34:23 1999 Tom Yu <tlyu@mit.edu>
68 * ftpd.c (login): Add call to setluid() if necessary.
70 Fri Feb 12 21:11:18 1999 Tom Yu <tlyu@mit.edu>
72 * ftpd.c: strcat -> strncat
74 1998-11-13 Theodore Ts'o <tytso@rsts-11.mit.edu>
76 * Makefile.in: Set the myfulldir and mydir variables (which are
77 relative to buildtop and thisconfigdir, respectively.)
79 Mon Oct 26 13:46:47 1998 Dan Winship <danw@mit.edu>
81 * ftpd.c (main): Add -A (require authentication, but not
82 necessarily authorization) and -C (user wants local credentials).
84 (user): Implement -A. Reorganize code a bit. If want_creds (-C) is
85 set, require a password even if authorization succeeds.
87 (kpass): Add krb5 ticket-getting code too. If want_creds is set,
88 don't destroy the tickets after verifying the Kerberos password.
90 (pass): Check krb password before local password, so we can
91 get credentials if we need them. Ignore local password if
92 want_creds is set. In case of "too many failed login attempts",
93 exit via dologout() instead of exit() so on-disk credentials are
96 (auth_data): If user forwards GSSAPI creds and want_creds is set,
97 write them out to a krb5 ccache. If doing krb4 compat, convert
98 them to krb4 tickets as well. (If want_creds is not set, smile and
99 nod at the user and then destroy the creds.)
101 (end_login): If the user has creds on disk, destroy them.
102 (dologout): If the user has creds on disk, destroy them.
104 * ftpd.M: Add -A and -C.
106 Fri Oct 23 18:18:52 1998 Theodore Y. Ts'o <tytso@mit.edu>
108 * ftpd.c (pass): Wait 5 seconds before returning "password
109 incorrect", and only allow three bad passwords. Then
110 return an 421 reply code before closing the connection and
113 * ftpcmd.y (cmd): Don't allow the PORT command to accept a port
114 number lower than 1024; this prevents some nasty ftp
115 "bounce attacks" to SMTP ports, etc.
117 Tue Oct 20 16:29:46 1998 Dan Winship <danw@mit.edu>
119 * ftpd.M: Reality check. Add -a to synopsis, document -c and -u
122 1998-10-08 Geoffrey King <gjking@mit.edu>
124 * ftpd.c: Add support for restricted users, as requested in
125 [krb5-appl/481]. Users that appear in /etc/ftpusers, followed
126 by the keyword "restrict" will be granted access, but a chroot()
127 will be done to their home directory.
129 Tue Sep 29 19:25:09 1998 Theodore Y. Ts'o <tytso@mit.edu>
131 * ftpd.c (auth_data): Don't use h_errno, it's not fully portable,
132 and it's not worth it.
134 1998-08-28 Geoffrey King <gjking@mit.edu>
136 * ftpd.c (login): New function. Essentially, the old pass
137 function has been split into its two logical components, pass and
138 login. Don't reply 230 "User logged in" if the user didn't
139 send a PASS command; this causes the client to get a bit confused.
140 (pass): If auth_ok is true, reply with code 202 to tell the
141 user that a PASS command is not necessary.
142 (auth_ok): New function that returns true if either gss_ok or
143 kerb_ok is true (all the #ifdefs were beginning to clutter things,
144 and it's a good abstraction in case other auth types are ever
145 added in the future).
146 (user): If GSSAPI or Kerberos v4 authentication succeeds, call
147 login immediately, instead of waiting for the client to send "PASS
148 dummy." Also, use #ifdef PARANOID instead of "some paranoid sites
149 may wish to uncomment this"
151 Wed Aug 19 06:47:46 1998 Geoffrey King <gjking@mit.edu>
153 * ftpd.c: Add a new command line option, -c, which tells the
154 server to accept the CCC command.
156 * ftpcmd.y: If the -c option was given, check to make sure the CCC
157 command itself was integrity protected, and then set ccc_ok to
158 allow future commands to be transmitted as cleartext.
159 (getline): Now that CCC is potentially allowed, we must check to
160 see if we are parsing an unprotected command even if a security
161 context is established (i.e. auth_type is set).
163 Wed Aug 12 02:57:07 1998 Geoffrey King <gjking@mit.edu>
165 * ftpcmd.y, ftpd.c: Replace global variable level with clevel and
166 dlevel to allow independence of command and data channel
169 Tue Aug 11 04:30:59 1998 Matthew D Hancher <mdh@mit.edu>
171 * ftpd.c: Add support for extended logging as per PR#481. Using
172 the 'l' command line option twice now logs the major file commands,
173 and using it thrice logs bytecounts for RETR and STOR as well.
175 Fri Aug 7 00:56:30 1998 Matthew D Hancher <mdh@mit.edu>
177 * ftpcmd.y: Replace old KERBEROS #ifdef's with KRB5_KRB4_COMPAT
178 so that K4 compatibility support actually gets compiled in.
180 * ftpd.c: (pass): Make daemon not lose for homedirs on
181 root-squashing filesystems.
182 (auth_data): Fix that godawful "error: No error" message
183 when gss_acquire_cred() fails.
184 (user): Fix getusershell() code so it works more than once.
186 1998-07-11 <hartmans@fundsxpress.com>
188 * ftpd.c (data;): do not declare h_errno; breaks on AIX and
189 possibly with other multithreaded systems.
191 1998-05-26 Theodore Ts'o <tytso@rsts-11.mit.edu>
193 * logwtmp.c: Include paths.h if present, and use _PATH_WTMP to
196 Fri May 8 18:06:52 1998 Theodore Y. Ts'o <tytso@mit.edu>
198 * ftpcmd.y (cmd): Fix Y2K problem in the MDTM command.
200 Fri Apr 10 20:06:31 1998 Tom Yu <tlyu@mit.edu>
202 * ftpd.c (receive_data):
203 (send_data): Add support for sigsetjmp().
204 (main): Use sigaction() if we can to avoid SysV lossage.
205 (send_file_list): Oops missed a sigsetjmp() call.
206 (send_data): Add call to secure_flush() to send a zero length
207 buffer when aborting.
208 (send_file_list): Add call to secure_flush() to send a zero length
209 buffer when aborting.
211 * ftpcmd.y (PBSZ): Remove restriction on shrinking buffer size.
213 Thu Mar 5 13:59:47 1998 Dan Winship <danw@mit.edu>
215 * ftpcmd.y (getline): Don't syslog passwords! (or newlines)
217 Tue Feb 24 21:34:34 1998 Tom Yu <tlyu@mit.edu>
219 * ftpcmd.y: Add production "nonguest" to catch things that
220 anonymous users aren't supposed to do. Replace "check_login" with
221 "nonguest" in a few places to prevent w4r3z d00dz from being
222 lame with world-writable incoming directories.
224 Sun Feb 22 19:37:07 1998 Tom Yu <tlyu@mit.edu>
226 * ftpd.c: Use krb5_seteuid() and krb5_setegid(). [krb5-libs/505]
228 * Makefile.in (ftpd): Fix up KRB4COMPAT_LIBS (was KRB5_BASE_LIBS),
231 Wed Feb 18 15:30:10 1998 Tom Yu <tlyu@mit.edu>
233 * Makefile.in: Remove trailing slash from thisconfigdir. Fix up
234 BUILDTOP for new conventions.
236 Fri Feb 13 22:23:34 1998 Theodore Y. Ts'o <tytso@mit.edu>
238 * ftpd.c: Applied lxs's changes to make ftpd safe for systems
239 where sizeof(off_t) > sizeof(int).
241 Fri Feb 13 15:31:46 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
243 * Makefile.in (thisconfigdir), configure.in: Point the
244 configuration directory at our parent, and remove our
247 Mon Feb 2 17:02:29 1998 Theodore Ts'o <tytso@rsts-11.mit.edu>
249 * Makefile.in: Define BUILDTOP and thisconfigdir in the Makefile
251 Fri Feb 6 13:25:28 1998 Theodore Y. Ts'o <tytso@mit.edu>
253 * popen.c (ftpd_popen): Make sure you can't overrun the argv[] and
254 gargv[] arrays. (Patch submitted by dima@best.net).
256 Thu Jan 29 19:51:02 1998 Dan Winship <danw@mit.edu>
258 * ftpd.c (auth_data): Accept forwarded credentials and dispose of
259 them properly. (And fix some indentation bugs.)
261 Sun Dec 21 18:17:53 1997 Tom Yu <tlyu@mit.edu>
263 * logwtmp.c (ftp_logwtmp): Rename logwtmp to ftp_logwtmp to avoid
264 collision with native logwtmp. Also, return void rather than
267 * ftpd.c: Rename logwtmp to ftp_logwtmp to avoid collision with
270 Thu Dec 11 23:28:07 1997 Tom Yu <tlyu@mit.edu>
272 * ftpd.c: Don't include netdb.h or sys/socket.h if krb.h is
273 included; this works around an Ultrix bug where those headers
274 aren't protected against multiple inclusion.
276 Thu Oct 16 01:23:41 1997 Tom Yu <tlyu@mit.edu>
278 * Makefile.in: Change LOCALINCLUDE and the link line to allow for
281 * ftpd.c: Change KERBEROS to KRB5_KRB4_COMPAT where appropriate.
282 (reply): Fix up braces around the check for auth_type ==
283 "KERBEROS_V4" so that the nesting of if statements is correct.
284 Various and sundry fixes from danw@mit.edu to make it work.
286 Thu Aug 28 23:48:27 1997 Sam Hartman <hartmans@luminous.mesas.com>
288 * ftpd.c (send_file_list): Flush the data before closing it.
290 Sun Aug 17 14:24:09 1997 Ezra Peisach <epeisach@mit.edu>
292 * Makefile.in (SRCS): Add $(srcdir) where needed.
294 Wed Jul 16 19:03:18 1997 Theodore Y. Ts'o <tytso@mit.edu>
296 * ftpd.M: Fix name of srvtab file to be krb5.keytab.
298 Wed Feb 5 20:34:38 1997 Tom Yu <tlyu@mit.edu>
301 * configure.in: Update to new program build procedure.
303 Tue Nov 12 00:04:00 1996 Tom Yu <tlyu@mit.edu>
305 * ftpd.c (ftpd_userok): Don't undconditionally return -1.
307 Thu Nov 7 15:38:51 1996 Theodore Ts'o <tytso@rsts-11.mit.edu>
309 * ftpd.c (ftpd_userok): Check return value of krb5_init_context()
311 Thu Oct 17 23:55:32 1996 Mark Eichin <eichin@cygnus.com>
313 * ftpd.c (auth_data): actually exit the for loop if the ftp key
316 Mon Oct 14 07:54:17 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
318 * ftpd.c (secure_fprintf): Use STDARG routines if
319 present. [krb5-appl/108]
321 Tue Sep 10 14:07:36 1996 Tom Yu <tlyu@mit.edu>
323 * ftpd.M: remove ".so man1/header.doc"
325 Mon Jul 29 22:37:05 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
327 * configure.in: Determine sizeof short, int, long for secure.c
329 Tue Jul 23 23:13:07 1996 Marc Horowitz <marc@mit.edu>
331 * ftpd.c (auth_data): the logic which dealt with multiple acceptor
332 names and fallback was just broken.
334 Wed Jul 10 16:38:01 1996 Marc Horowitz <marc@mit.edu>
336 * ftpd.c (store), ftpcmd.y (STOR, APPE, STOU): rename store() to
337 store_file() to avoid conflict with dbm store() function
338 * ftpd.c (delete), ftpcmd.y (DELE): rename delete() to
339 delete_file() to avoid conflict with the dbm delete() function
341 Thu Jun 13 18:35:19 1996 Kevin L Mitchell <klmitch@mit.edu>
343 * ftpd.c (authdata): misplaced braces caused server to not be able to
344 use ftp principle if it was present. Client looks for ftp
345 first, then tries host; ftpd was looking only for host.
347 Mon Jun 3 16:12:59 1996 Tom Yu <tlyu@mit.edu>
349 * Makefile.in, configure.in: back out previous changes and use
350 Ezra's patches instead.
352 Sun Jun 2 22:08:17 1996 Tom Yu <tlyu@mit.edu>
354 * configure.in, Makefile.in: only link getdtablesize.o if needed
356 Thu Mar 28 21:07:20 1996 Ken Raeburn <raeburn@cygnus.com>
358 * ftpcmd.y: Define unix for HP-UX.
360 Mon Mar 18 12:12:20 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
362 * configure.in: Add AC_HEADER_STDARG
364 * ftpcmd.y, ftpd.c: Declard STDARG if HAVE_STDARG_H is
367 Fri Mar 15 14:16:41 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
369 * ftpd.c (auth_data): Do not fail if last gss_service is not
370 present in keytab. If no services present, return a useful
373 Fri Mar 15 01:24:39 1996 Richard Basch <basch@lehman.com>
375 * configure.in, ftpd.c: Added shadow password support.
377 Wed Mar 13 20:05:52 1996 Mark Eichin <eichin@cygnus.com>
379 * ftpd.c (auth_data): use gethostbyname to canonicalize local host
380 name, just like krb5_sname_to_principal does.
382 Fri Feb 16 15:51:59 1996 Mark Eichin <eichin@cygnus.com>
384 * ftpcmd.y (yylex): error handling changes from kbalk@hp.com.
386 Tue Jan 16 18:44:42 1996 Mark Eichin <eichin@cygnus.com>
388 * ftpd.c (user): 331 is more appropriate for kuserok failure.
390 Wed Feb 7 13:33:41 1996 Ezra Peisach <epeisach@kangaroo.mit.edu>
392 * Makefile.in (clean): Remove ftpd
394 Thu Jan 18 18:39:06 1996 Sam Hartman <hartmans@zygorthian-space-raiders.MIT.EDU>
396 * configure.in: Check for crypt in -lcrypt
398 * ftpd.c: Conditionalize sys_errlist
400 * configure.in: Check to declare sys_errlist.
402 Thu Jan 18 14:55:42 1996 Sam Hartman <hartmans@tertius.mit.edu>
404 * ftpd.c : Only return an unable to acquire credentials error if all possible services fail.
406 Sun Jan 14 02:58:42 1996 Mark Eichin <eichin@cygnus.com>
408 * ftpd.c (auth_data): call gss_release_cred on the server_creds we
409 acquired, before they leave scope.
411 Sun Jan 14 02:47:19 1996 Karri Balk - Contractor <kbalk@cup.hp.com>
413 * ftpd.c (gss_services): list of gssapi service names to try.
414 (auth_data): loop over gss_services.
416 Sun Jan 14 01:54:35 1996 Bill Schoofs <wjs@cray.com>
418 * Makefile.in (DEFINES): define NOCONFIDENTIAL for future use.
419 * ftpcmd.y (CCC): ditch broken CCC code, return proper 534 code.
420 (PBSZ): return proper code 501 for bad PBSZ argument
421 (PROT): recognize PROT E.
422 (cmdtab): add CCC so as to cleanly reject it.
423 (getline): reject CONF as unsupported (but put in code to
424 potentially recognize it in the future.) Reject protected commands
425 of auth_type isn't yet set.
426 * ftpd.c (setlevel): use 536, not 504, for invalid level, and
427 use levelnames to find the proper name.
428 (user): if kuserok succeeds, respond 232, not 231; if it fails,
429 respond 336 (though 331 might be more appropriate.)
430 (auth): fix spelling error.
432 Tue Jan 2 19:19:16 1996 Mark Eichin <eichin@cygnus.com>
434 * ftpd.c: use HAVE_SETEUID and HAVE_SETRESUID to figure out how
435 to emulate seteuid instead of assuming hpux.
436 * configure.in: test for seteuid, setreuid and setresuid.
438 Fri Oct 20 17:17:19 1995 Mark Eichin <eichin@cygnus.com>
440 * ftpd.c (auth_data): supply correct channel bindings to accept,
441 matching the client changes.
443 Thu Oct 19 12:22:28 1995 Mark W. Eichin <eichin@cygnus.com>
445 * configure.in: check WITH_DBM_LNAME since we use an_to_ln.
447 Wed Oct 4 19:26:50 1995 Mark Eichin <eichin@cygnus.com>
449 * ftpd.c (user): use HAVE_GETUSERSHELL.
450 * configure.in: check for getusershell.
452 Mon Oct 2 16:43:54 1995 Mark Eichin <eichin@cygnus.com>
454 * popen.c (ftpd_popen): malloc all strings, not just globbed ones.
456 Sun Oct 1 03:31:24 1995 Mark Eichin <eichin@cygnus.com>
458 * ftpd.c (auth_data): acquire credentials (currently fixed for
459 service "host".) Fix loop reply logic. Add debugging syslogs. Set
460 auth_type *after* 235 success reply, so it doesn't get encrypted.
462 Sun Oct 1 00:58:39 1995 Mark Eichin <eichin@cygnus.com>
464 * Makefile.in: use FTP_BUFSIZ everywhere and make it large for
466 * configure.in: check for headers need to build getdtablesize.
467 * ftpd.c (secure_reply): add GSSAPI hooks.
468 (reply_gss_error): better gssapi error reporting.
471 Sat Sep 30 22:26:25 1995 Mark Eichin <eichin@cygnus.com>
473 * ftpd.c: correct gssapi includes. Fix type of client_name. Use
474 gss_ok instead of kerb_ok for GSSAPI case (to simplify future
475 combined code.) Fix some declarations. Fix arguments to
476 gss_accept_sec_context for type.
477 * ftpcmd.y: correct gssapi includes.
479 Sat Sep 30 21:40:30 1995 Mark Eichin <eichin@cygnus.com>
481 * Makefile.in: hook setenv.c and getdtablesize.c from appl/bsd.
482 Use double-colon rules for clean, depend, install.
483 configure.in: check for yacc, SIGTYPE, UTMP, SIGPROCMASK,
484 WAIT_TYPE, getdtablesize, getcwd, setenv (using the test from
486 * ftpcmd.y: no conf.h. declare level. Use krb5_sigtype directly.
487 * ftpd.c: use getcwd directly, make -s srvtab KERBEROS specific.
488 (user): return 331 as per draft-8, but suggest 53z.
489 (auth_data): return 535 and 335 and quote draft-8 as to why.
490 (secure_gss_error): generic interface for secure.c functions to
491 call reply_gss_error instead.
492 * logwtmp.c: no conf.h, check NO_UT_HOST.
493 * popen.c: no conf.h, no getdtablesize.
494 (ftpd_pclose): Obey USE_SIGPROCMASK.
496 Sat Sep 30 16:43:28 1995 Mark Eichin <eichin@cygnus.com>
498 * configure.in, Makefile.in: new files for port to GSSAPI and
499 build within the Kerberos V5 build tree.
500 * ftpcmd.y, ftpd.c, secure.c: GSSAPI authentication changes based
501 on the IETF CAT working group ***DRAFT*** FTP Security
502 specification, draft number 8, appendix I.
505 **** previous change logs from CNS V4 modifications of Steve Lunt's
506 draft-3 ftp daemon, which this is based on. ****
508 Wed Jul 26 21:03:13 1995 Ken Raeburn <raeburn@cygnus.com>
510 * secure.c: Include string.h.
512 * ftpd.c (main): Cast signal() return value to long instead of
513 int; it's more likely to fit.
515 Thu Feb 2 13:41:24 1995 Ian Lance Taylor <ian@cygnus.com>
517 * ftpcmd.y (NBBY): Explicitly define if __pyrsoft and MIPSEB.
518 (cmd_list): In handling of SYST, undefine BSD if __svr4__ is
521 * ftpd.c: Don't try to use IP_TOS if the IP_TOS argument
522 (IPTOS_LOWDELAY, etc.) is not defined.
524 Wed Jan 18 17:12:22 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
526 * ftpd.8: Include man1/tmac.doc.
528 Wed Jan 11 15:29:10 1995 Ian Lance Taylor <ian@sanguine.cygnus.com>
530 * ftpd.c (authenticate): New variable.
531 (main): Handle -a (require authentication) option.
532 (user): If authenticate is set, reply with an error if kuserok
533 fails or if no Kerberos authentication was used.
534 * ftpcmd.y: Use check_login when parsing the PASV command.
535 * ftpd.8: Document new -a option.
537 Tue Jan 3 01:25:57 1995 Mark Eichin <eichin@cygnus.com>
539 * Makefile.in (clean): explicitly delete ftpcmd.c on clean.
541 Thu Dec 29 15:17:12 1994 Mark Eichin <eichin@cygnus.com>
543 * ftpcmd.y (rcmd): don't declare atol, since it isn't used here
544 anyhow, and it's a macro under linux.
545 (top level): #define NBBY 8 for linux.
547 Thu Dec 29 14:51:41 1994 Mark Eichin <eichin@cygnus.com>
549 * ftpd.c (statcmd): don't use NBBY check -- linux doesn't have it,
550 it is in no spec, and if it isn't 8, it won't work anyway. (Use
551 strcat instead of sprintf, while we're at it...)
553 Tue Dec 27 16:29:24 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
555 * ftpcmd.y (reply, lreply): Declare if STDARG || (__STDC__ && !
557 * ftpd.c: If STDARG is defined, or if __STDC__ is defined and
558 VARARGS is not defined, include <stdarg.h>.
559 (secure_error): Use <stdarg.h> routines if STDARG || (__STDC__ &&
561 (reply, lreply): Likewise.
562 (setproctitle): Just use one argument.
563 * secure.c (secure_error): Declare if STDARG || (__STDC__ && !
566 Fri Dec 23 16:25:44 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
568 * ftpcmd.y (unix): Define if _AIX is defined (AIX compiler does
571 Thu Dec 22 15:05:14 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
573 * ftpd.c (keyfile): New global variable.
574 (main): Move option processing before check of remote socket. Add
575 new options -p, -r, and -s. Handle -p by accepting a remote
577 (kpass): Use keyfile variable rather than KEYFILE. Pass keyfile
578 explicitly to krb_rd_req.
579 (auth_data): Likewise.
580 * ftpd.8: Document new -p, -r, and -s options.
582 Fri Dec 16 11:06:16 1994 Ian Lance Taylor <ian@cygnus.com>
585 * ftpd.c: On HP/UX, define seteuid and setegid as macros which
586 call setresuid and setresgid.
589 * ftpd.c (main): Use a temporary variable rather than calling
591 * ftpcmd.y: Include conf.h.
592 (getline): Cast arguments to Kerberos routines to avoid warnings.
593 (toolong): Declare as type sigtype, and add dummy argument.
596 * cmdtab.y: Include <sys/types.h>.
597 * ftpd.c (initgroups): Define on SCO.
598 (main): Don't handle SIGURG if it is not defined.
599 (pass): Don't try to use crypt on SCO; instead, require Kerberos
600 password or anonymous login.
603 * ftpcmd.y (index): Don't define.
604 (strpbrk, strcpy): Don't declare.
605 * ftpd.c (index, rindex): Don't define.
606 * logwtmp.c (strncpy): Don't declare.
607 * secure.c: Include <netinet/in.h>.
610 * ftpd.c (main): Define LOG_NDELAY and LOG_DAEMON as zero if they
611 are not already defined by <syslog.h>.
614 * ftpd.c (retrieve): Don't refer to st_blksize if NOSTBLKSIZE is
617 * ftpcmd.y: Fix yacc code to use %union and %type.
618 (yylex): Assign to fields of yylval, rather than to yylval
621 General fixes to make it compile on Solaris: Use sigtype for
622 signal handler return values, including conf.h where needed. Add
623 a dummy argument to signal handler functions. Replace index,
624 rindex, bzero and bcopy with ANSI C functions. Cast Kerberos
625 routine arguments to avoid warnings. Also:
626 * ftpd.c: Don't include <varargs.h>. If POSIX is defined, include
627 unistd.h, otherwise define getcwd to call getwd.
628 (L_SET, L_INCR): Define if not defined.
629 (pwd): Use getcwd instead of getwd. If POSIX, change the error
630 handling accordingly.
631 * popen.c (getdtablesize): New function on hpux or __svr4__.
632 (ftpd_pclose): If WAIT_USES_INT, use int instead of union wait.
634 Thu Dec 15 16:13:44 1994 Ian Lance Taylor <ian@sanguine.cygnus.com>
636 * Initial checkin. Based on Steve Lunt's ftp program, which was