The NetBSD Project

CVS log for src/libexec/ftpd/conf.c

[BACK] Up to [cvs.NetBSD.org] / src / libexec / ftpd

Request diff between arbitrary revisions


Default branch: MAIN


Revision 1.64.22.1 / (download) - annotate - [select for diffs], Tue Oct 3 10:10:42 2023 UTC (4 months, 4 weeks ago) by martin
Branch: netbsd-8
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored) next main 1.65 (colored)

Pull up following revision(s) (requested by lukem in ticket #1905):

	libexec/ftpd/conf.c: revision 1.65

Fix uninitialized memory usage in count_users()

If the file was previously empty, pids table is not set, the code however used
pids[0] which is uninitialized in this case. In some scenarios it may lead to
propagate garbage value from pids[0] to the file and cause writing outside of
allocated memory.

OK lukem@

Revision 1.64.32.1 / (download) - annotate - [select for diffs], Mon Oct 2 17:22:10 2023 UTC (4 months, 4 weeks ago) by martin
Branch: netbsd-9
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored) next main 1.65 (colored)

Pull up following revision(s) (requested by lukem in ticket #1741):

	libexec/ftpd/conf.c: revision 1.65

Fix uninitialized memory usage in count_users()

If the file was previously empty, pids table is not set, the code however used
pids[0] which is uninitialized in this case. In some scenarios it may lead to
propagate garbage value from pids[0] to the file and cause writing outside of
allocated memory.

OK lukem@

Revision 1.64.40.1 / (download) - annotate - [select for diffs], Mon Oct 2 17:21:07 2023 UTC (4 months, 4 weeks ago) by martin
Branch: netbsd-10
CVS Tags: netbsd-10-0-RC5, netbsd-10-0-RC4, netbsd-10-0-RC3, netbsd-10-0-RC2, netbsd-10-0-RC1
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored) next main 1.65 (colored)

Pull up following revision(s) (requested by lukem in ticket #388):

	libexec/ftpd/conf.c: revision 1.65

Fix uninitialized memory usage in count_users()

If the file was previously empty, pids table is not set, the code however used
pids[0] which is uninitialized in this case. In some scenarios it may lead to
propagate garbage value from pids[0] to the file and cause writing outside of
allocated memory.

OK lukem@

Revision 1.65 / (download) - annotate - [select for diffs], Fri Sep 29 14:49:03 2023 UTC (5 months ago) by shm
Branch: MAIN
CVS Tags: HEAD
Changes since 1.64: +3 -3 lines
Diff to previous 1.64 (colored)

Fix uninitialized memory usage in count_users()

If the file was previously empty, pids table is not set, the code however used
pids[0] which is uninitialized in this case. In some scenarios it may lead to
propagate garbage value from pids[0] to the file and cause writing outside of
allocated memory.

OK lukem@

Revision 1.63.2.1 / (download) - annotate - [select for diffs], Wed Jan 16 05:32:29 2013 UTC (11 years, 1 month ago) by yamt
Branch: yamt-pagecache
CVS Tags: yamt-pagecache-tag8
Changes since 1.63: +3 -2 lines
Diff to previous 1.63 (colored) next main 1.64 (colored)

sync with (a bit old) head

Revision 1.63.8.1 / (download) - annotate - [select for diffs], Tue Nov 20 03:00:45 2012 UTC (11 years, 3 months ago) by tls
Branch: tls-maxphys
Changes since 1.63: +3 -2 lines
Diff to previous 1.63 (colored) next main 1.64 (colored)

Resync to 2012-11-19 00:00:00 UTC

Revision 1.64 / (download) - annotate - [select for diffs], Sun Nov 4 20:46:46 2012 UTC (11 years, 3 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base9, yamt-pagecache-base8, yamt-pagecache-base7, tls-maxphys-base, tls-earlyentropy-base, tls-earlyentropy, riastradh-xf86-video-intel-2-7-1-pre-2-21-15, riastradh-drm2-base3, riastradh-drm2-base2, riastradh-drm2-base1, riastradh-drm2-base, riastradh-drm2, prg-localcount2-base3, prg-localcount2-base2, prg-localcount2-base1, prg-localcount2-base, prg-localcount2, phil-wifi-base, phil-wifi-20200421, phil-wifi-20200411, phil-wifi-20200406, phil-wifi-20191119, phil-wifi-20190609, phil-wifi, pgoyette-localcount-base, pgoyette-localcount-20170426, pgoyette-localcount-20170320, pgoyette-localcount-20170107, pgoyette-localcount-20161104, pgoyette-localcount-20160806, pgoyette-localcount-20160726, pgoyette-localcount, pgoyette-compat-merge-20190127, pgoyette-compat-base, pgoyette-compat-20190127, pgoyette-compat-20190118, pgoyette-compat-1226, pgoyette-compat-1126, pgoyette-compat-1020, pgoyette-compat-0930, pgoyette-compat-0906, pgoyette-compat-0728, pgoyette-compat-0625, pgoyette-compat-0521, pgoyette-compat-0502, pgoyette-compat-0422, pgoyette-compat-0415, pgoyette-compat-0407, pgoyette-compat-0330, pgoyette-compat-0322, pgoyette-compat-0315, pgoyette-compat, perseant-stdc-iso10646-base, perseant-stdc-iso10646, netbsd-9-base, netbsd-9-3-RELEASE, netbsd-9-2-RELEASE, netbsd-9-1-RELEASE, netbsd-9-0-RELEASE, netbsd-9-0-RC2, netbsd-9-0-RC1, netbsd-8-base, netbsd-8-2-RELEASE, netbsd-8-1-RELEASE, netbsd-8-1-RC1, netbsd-8-0-RELEASE, netbsd-8-0-RC2, netbsd-8-0-RC1, netbsd-7-nhusb-base-20170116, netbsd-7-nhusb-base, netbsd-7-nhusb, netbsd-7-base, netbsd-7-2-RELEASE, netbsd-7-1-RELEASE, netbsd-7-1-RC2, netbsd-7-1-RC1, netbsd-7-1-2-RELEASE, netbsd-7-1-1-RELEASE, netbsd-7-1, netbsd-7-0-RELEASE, netbsd-7-0-RC3, netbsd-7-0-RC2, netbsd-7-0-RC1, netbsd-7-0-2-RELEASE, netbsd-7-0-1-RELEASE, netbsd-7-0, netbsd-7, netbsd-10-base, matt-nb8-mediatek-base, matt-nb8-mediatek, localcount-20160914, is-mlppp-base, is-mlppp, cjep_sun2x-base1, cjep_sun2x-base, cjep_sun2x, cjep_staticlib_x-base1, cjep_staticlib_x-base, cjep_staticlib_x, bouyer-socketcan-base1, bouyer-socketcan-base, bouyer-socketcan, agc-symver-base, agc-symver
Branch point for: netbsd-9, netbsd-8, netbsd-10
Changes since 1.63: +3 -2 lines
Diff to previous 1.63 (colored)

include pwd.h for password stuff

Revision 1.63 / (download) - annotate - [select for diffs], Sun Aug 14 11:46:28 2011 UTC (12 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: yamt-pagecache-base6, yamt-pagecache-base5, yamt-pagecache-base4, yamt-pagecache-base3, yamt-pagecache-base2, yamt-pagecache-base, netbsd-6-base, netbsd-6-1-RELEASE, netbsd-6-1-RC4, netbsd-6-1-RC3, netbsd-6-1-RC2, netbsd-6-1-RC1, netbsd-6-1-5-RELEASE, netbsd-6-1-4-RELEASE, netbsd-6-1-3-RELEASE, netbsd-6-1-2-RELEASE, netbsd-6-1-1-RELEASE, netbsd-6-1, netbsd-6-0-RELEASE, netbsd-6-0-RC2, netbsd-6-0-RC1, netbsd-6-0-6-RELEASE, netbsd-6-0-5-RELEASE, netbsd-6-0-4-RELEASE, netbsd-6-0-3-RELEASE, netbsd-6-0-2-RELEASE, netbsd-6-0-1-RELEASE, netbsd-6-0, netbsd-6, matt-nb6-plus-nbase, matt-nb6-plus-base, matt-nb6-plus
Branch point for: yamt-pagecache, tls-maxphys
Changes since 1.62: +5 -5 lines
Diff to previous 1.62 (colored)

remove gcc-4.5 hack

Revision 1.61.6.1 / (download) - annotate - [select for diffs], Wed May 13 19:18:37 2009 UTC (14 years, 9 months ago) by jym
Branch: jym-xensuspend
Changes since 1.61: +23 -18 lines
Diff to previous 1.61 (colored) next main 1.62 (colored)

Sync with HEAD.

Third (and last) commit. See http://mail-index.netbsd.org/source-changes/2009/05/13/msg221222.html

Revision 1.62 / (download) - annotate - [select for diffs], Sun Mar 15 07:48:36 2009 UTC (14 years, 11 months ago) by lukem
Branch: MAIN
CVS Tags: matt-premerge-20091211, matt-mips64-premerge-20101231, jym-xensuspend-nbase, jym-xensuspend-base, cherry-xenmp-base, cherry-xenmp, bouyer-quota2-nbase, bouyer-quota2-base, bouyer-quota2
Changes since 1.61: +23 -18 lines
Diff to previous 1.61 (colored)

Fix WARNS=4 issues (const & sign mismatches, etc)
Ensure various ftpd.conf values can't exceed their underlying types.

Revision 1.60.2.1 / (download) - annotate - [select for diffs], Mon Jun 23 04:29:54 2008 UTC (15 years, 8 months ago) by wrstuden
Branch: wrstuden-revivesa
Changes since 1.60: +3 -3 lines
Diff to previous 1.60 (colored) next main 1.61 (colored)

Sync w/ -current. 34 merge conflicts to follow.

Revision 1.59.2.2 / (download) - annotate - [select for diffs], Tue Jun 17 09:13:39 2008 UTC (15 years, 8 months ago) by yamt
Branch: yamt-pf42
Changes since 1.59.2.1: +3 -3 lines
Diff to previous 1.59.2.1 (colored) to branchpoint 1.59 (colored) next main 1.60 (colored)

sync with head.

Revision 1.61 / (download) - annotate - [select for diffs], Mon Jun 9 00:33:39 2008 UTC (15 years, 8 months ago) by lukem
Branch: MAIN
CVS Tags: yamt-pf42-base4, wrstuden-revivesa-base-3, wrstuden-revivesa-base-2, wrstuden-revivesa-base-1, wrstuden-revivesa-base, netbsd-5-base, netbsd-5-2-RELEASE, netbsd-5-2-RC1, netbsd-5-2-3-RELEASE, netbsd-5-2-2-RELEASE, netbsd-5-2-1-RELEASE, netbsd-5-2, netbsd-5-1-RELEASE, netbsd-5-1-RC4, netbsd-5-1-RC3, netbsd-5-1-RC2, netbsd-5-1-RC1, netbsd-5-1-5-RELEASE, netbsd-5-1-4-RELEASE, netbsd-5-1-3-RELEASE, netbsd-5-1-2-RELEASE, netbsd-5-1-1-RELEASE, netbsd-5-1, netbsd-5-0-RELEASE, netbsd-5-0-RC4, netbsd-5-0-RC3, netbsd-5-0-RC2, netbsd-5-0-RC1, netbsd-5-0-2-RELEASE, netbsd-5-0-1-RELEASE, netbsd-5-0, netbsd-5, matt-nb5-pq3-base, matt-nb5-pq3, matt-nb5-mips64-u2-k2-k4-k7-k8-k9, matt-nb5-mips64-u1-k1-k5, matt-nb5-mips64-premerge-20101231, matt-nb5-mips64-premerge-20091211, matt-nb5-mips64-k15, matt-nb5-mips64, matt-nb4-mips64-k7-u2a-k9b, matt-mips64-base2
Branch point for: jym-xensuspend
Changes since 1.60: +3 -3 lines
Diff to previous 1.60 (colored)

Don't use non-standard "u_<foo>" types.
Strip trailing whitespace (as well as ':'s) off PAM password prompts.
Improve some debug logging related to PAM.

Revision 1.59.2.1 / (download) - annotate - [select for diffs], Sun May 18 12:30:43 2008 UTC (15 years, 9 months ago) by yamt
Branch: yamt-pf42
Changes since 1.59: +2 -9 lines
Diff to previous 1.59 (colored)

sync with head.

Revision 1.60 / (download) - annotate - [select for diffs], Mon Apr 28 20:23:03 2008 UTC (15 years, 10 months ago) by martin
Branch: MAIN
CVS Tags: yamt-pf42-base3, yamt-pf42-base2, hpcarm-cleanup-nbase
Branch point for: wrstuden-revivesa
Changes since 1.59: +2 -9 lines
Diff to previous 1.59 (colored)

Remove clause 3 and 4 from TNF licenses

Revision 1.58.8.1 / (download) - annotate - [select for diffs], Mon Mar 24 07:14:46 2008 UTC (15 years, 11 months ago) by keiichi
Branch: keiichi-mipv6
Changes since 1.58: +12 -6 lines
Diff to previous 1.58 (colored) next main 1.59 (colored)

sync with head.

Revision 1.58.4.1 / (download) - annotate - [select for diffs], Sun Mar 23 00:41:23 2008 UTC (15 years, 11 months ago) by matt
Branch: matt-armv6
Changes since 1.58: +12 -6 lines
Diff to previous 1.58 (colored) next main 1.59 (colored)

sync with HEAD

Revision 1.59 / (download) - annotate - [select for diffs], Sun Mar 9 20:11:43 2008 UTC (15 years, 11 months ago) by lukem
Branch: MAIN
CVS Tags: yamt-pf42-baseX, yamt-pf42-base, matt-armv6-nbase, keiichi-mipv6-base
Branch point for: yamt-pf42
Changes since 1.58: +12 -6 lines
Diff to previous 1.58 (colored)

Switch from lockf() to (more portable) fcntl() locking

Revision 1.58 / (download) - annotate - [select for diffs], Sun Dec 17 20:04:09 2006 UTC (17 years, 2 months ago) by christos
Branch: MAIN
CVS Tags: matt-mips64-base, matt-mips64, matt-armv6-prevmlocking, matt-armv6-base, hpcarm-cleanup-base, hpcarm-cleanup, cube-autoconf-base, cube-autoconf
Branch point for: matt-armv6, keiichi-mipv6
Changes since 1.57: +3 -3 lines
Diff to previous 1.57 (colored)

fix volatile and initialization issues, from Anon Ymous

Revision 1.57 / (download) - annotate - [select for diffs], Wed Feb 1 14:20:12 2006 UTC (18 years, 1 month ago) by christos
Branch: MAIN
CVS Tags: wrstuden-fixsa-newbase, wrstuden-fixsa-base-1, wrstuden-fixsa-base, wrstuden-fixsa, netbsd-4-base, netbsd-4-0-RELEASE, netbsd-4-0-RC5, netbsd-4-0-RC4, netbsd-4-0-RC3, netbsd-4-0-RC2, netbsd-4-0-RC1, netbsd-4-0-1-RELEASE, netbsd-4-0, netbsd-4, abandoned-netbsd-4-base, abandoned-netbsd-4
Changes since 1.56: +14 -14 lines
Diff to previous 1.56 (colored)

debug -> ftpd_debug
xstrdup -> ftpd_strdup

Revision 1.56 / (download) - annotate - [select for diffs], Sun Oct 2 23:03:04 2005 UTC (18 years, 5 months ago) by lukem
Branch: MAIN
Changes since 1.55: +3 -3 lines
Diff to previous 1.55 (colored)

Fix comment about DEFAULT_UMASK.
Pointed out in private mail by Tetsuya Isaki and Dmitry Sivachenko.

Revision 1.55 / (download) - annotate - [select for diffs], Wed Aug 24 15:51:41 2005 UTC (18 years, 6 months ago) by ginsbach
Branch: MAIN
Changes since 1.54: +6 -2 lines
Diff to previous 1.54 (colored)

* Add recvbufsize configuration option
  This allows for setting the passive socket's SO_RCVBUF.  Option works
  similarly to the current sendbufsize configuration option.
* Change how recveive_data() works
  When reading data from the socket for passive transfers to the server,
  receive_data() now works very similar to send_data_with_read().  Reads
  from the network are now done using either the filesystem block size or
  the configuration option readsize chunks.
* Crank version.h
  [Changes discussed with lukem.]

Revision 1.54 / (download) - annotate - [select for diffs], Thu Mar 3 22:19:47 2005 UTC (19 years ago) by ginsbach
Branch: MAIN
CVS Tags: netbsd-3-base, netbsd-3-1-RELEASE, netbsd-3-1-RC4, netbsd-3-1-RC3, netbsd-3-1-RC2, netbsd-3-1-RC1, netbsd-3-1-1-RELEASE, netbsd-3-1, netbsd-3-0-RELEASE, netbsd-3-0-RC6, netbsd-3-0-RC5, netbsd-3-0-RC4, netbsd-3-0-RC3, netbsd-3-0-RC2, netbsd-3-0-RC1, netbsd-3-0-3-RELEASE, netbsd-3-0-2-RELEASE, netbsd-3-0-1-RELEASE, netbsd-3-0, netbsd-3
Changes since 1.53: +7 -3 lines
Diff to previous 1.53 (colored)

* Add hidesymlinks configuration option
  This adds a -L to all ls command arguments so that the file or directory
  the link references is listed rather than the link itself.  This was
  inspired by IRIX ftpd's -S option.
  [Discussed with lukem some time ago.]
* Crank version.h [right Luke? :-)]

Revision 1.53 / (download) - annotate - [select for diffs], Sat Dec 11 18:37:26 2004 UTC (19 years, 2 months ago) by christos
Branch: MAIN
Changes since 1.52: +4 -4 lines
Diff to previous 1.52 (colored)

change _PATH_FOO to _NAME_FOO where FOO is not a path. I'll discuss with
luke what is the best way to fix this.

Revision 1.46.2.1 / (download) - annotate - [select for diffs], Tue Aug 31 01:35:24 2004 UTC (19 years, 6 months ago) by jmc
Branch: netbsd-1-6
Changes since 1.46: +95 -187 lines
Diff to previous 1.46 (colored) next main 1.47 (colored)

Pullup rev 1.47-1.52 (requested by he in ticket #1739)

Update to NetBSD ftpd 20040809.  Fixes SA#2004-009.

Revision 1.31.2.3 / (download) - annotate - [select for diffs], Thu Aug 26 05:00:02 2004 UTC (19 years, 6 months ago) by jmc
Branch: netbsd-1-5
Changes since 1.31.2.2: +116 -197 lines
Diff to previous 1.31.2.2 (colored) to branchpoint 1.31 (colored) next main 1.32 (colored)

Pullup rev 1.41-1.52 (requested by he in ticket #158)

Update to NetBSD ftpd 20040809.  Fixes SA#2004-009.

Revision 1.51.2.1 / (download) - annotate - [select for diffs], Thu Aug 12 20:44:20 2004 UTC (19 years, 6 months ago) by jmc
Branch: netbsd-2-0
CVS Tags: netbsd-2-base, netbsd-2-1-RELEASE, netbsd-2-1-RC6, netbsd-2-1-RC5, netbsd-2-1-RC4, netbsd-2-1-RC3, netbsd-2-1-RC2, netbsd-2-1-RC1, netbsd-2-1, netbsd-2-0-RELEASE, netbsd-2-0-RC5, netbsd-2-0-RC4, netbsd-2-0-RC3, netbsd-2-0-RC2, netbsd-2-0-RC1, netbsd-2-0-3-RELEASE, netbsd-2-0-2-RELEASE, netbsd-2-0-1-RELEASE, netbsd-2
Changes since 1.51: +3 -4 lines
Diff to previous 1.51 (colored) next main 1.52 (colored)

Pullup rev 1.52 (requested by lukem in ticket #757)

* Fix yacc parser error recovery so that setjmp(3)/longjmp(3) is unnecessary.
* Fix SIGURG handler to set an urgflag that's later tested, rather than
  abusing setjmp(3)/longjmp(3).
* Use "volatile sig_atomic_t" as the type of variables modified by sig handlers.
* Use sigaction(3) instead of signal(3) to set the signal handlers.
* Only set the main SIGALRM handler once.  If we need to change it,
  cache the old handler and restore appropriately...
* Remove a bunch of signal races by improving the signal handlers.
* Fix memory leak with 'ESPV ALL'.
* Clean up the debug message in reply(); use vsnprintf(3) instead of vsyslog(3).
* Rework parsing of OOB commands to _not_ use the yacc parser, since the
  latter isn't reentrant and the hacks to work around that are ugly.
  We now examine urgflag at appropriate locations and call handleoobcmd()
  if it's set.  Since the only OOB commands we currently implement are
  ABOR and STAT, this isn't an issue.

Revision 1.52 / (download) - annotate - [select for diffs], Mon Aug 9 12:56:47 2004 UTC (19 years, 6 months ago) by lukem
Branch: MAIN
Changes since 1.51: +3 -4 lines
Diff to previous 1.51 (colored)

Fixes from (or inspired by) OpenBSD:
* Fix yacc parser error recovery so that setjmp(3)/longjmp(3) is unnecessary.
* Fix SIGURG handler to set an urgflag that's later tested, rather than
  abusing setjmp(3)/longjmp(3).
* Use "volatile sig_atomic_t" as the type of variables modified by sig handlers.
* Use sigaction(3) instead of signal(3) to set the signal handlers.
* Only set the main SIGALRM handler once.  If we need to change it,
  cache the old handler and restore appropriately...
* Remove a bunch of signal races by improving the signal handlers.
* Fix memory leak with 'ESPV ALL'.

My stuff:
* Clean up the debug message in reply(); use vsnprintf(3) instead of vsyslog(3).
* Rework parsing of OOB commands to _not_ use the yacc parser, since the
  latter isn't reentrant and the hacks to work around that are ugly.
  We now examine urgflag at appropriate locations and call handleoobcmd()
  if it's set.  Since the only OOB commands we currently implement are
  ABOR and STAT, this isn't an issue.  (I also can't find the reference in
  RFC2228 where MIC, CONF & ENC are OOB-only commands.  Go figure.)
  I could clean up the is_oob stuff some more, but the remaining stuff
  in ftpcmd.y is harmless and it's unnecessary churn right this moment.

Revision 1.51 / (download) - annotate - [select for diffs], Fri Nov 29 14:39:59 2002 UTC (21 years, 3 months ago) by lukem
Branch: MAIN
CVS Tags: netbsd-2-0-base, fvdl_fs64_base
Branch point for: netbsd-2-0
Changes since 1.50: +61 -198 lines
Diff to previous 1.50 (colored)

- convert to using libc's strsuftoll(3)
- use LLT (aka 'long long type') for all numeric class parameters
- improve description of various ftpd.conf(5) options
- statcmd(): print out:  mmapsize readsize writesize sendbufsize sendlowat

Revision 1.50 / (download) - annotate - [select for diffs], Sat Nov 16 03:10:34 2002 UTC (21 years, 3 months ago) by itojun
Branch: MAIN
Changes since 1.49: +47 -29 lines
Diff to previous 1.49 (colored)

audit use of strto* - beware of ERANGE, as well as typecast on result.

Revision 1.49 / (download) - annotate - [select for diffs], Thu Oct 3 02:56:47 2002 UTC (21 years, 5 months ago) by lukem
Branch: MAIN
Changes since 1.48: +3 -3 lines
Diff to previous 1.48 (colored)

Enable GLOB_BRACE for ftpd.conf(5)'s `notify' directive.
Now it's much easier to list multiple files...

Revision 1.48 / (download) - annotate - [select for diffs], Tue Jun 18 09:59:47 2002 UTC (21 years, 8 months ago) by aidan
Branch: MAIN
Changes since 1.47: +20 -62 lines
Diff to previous 1.47 (colored)

Added CONF_LL macro, which understands raw 'strsuftoll' conf variables.

Revision 1.47 / (download) - annotate - [select for diffs], Thu May 30 00:24:47 2002 UTC (21 years, 9 months ago) by enami
Branch: MAIN
Changes since 1.46: +72 -2 lines
Diff to previous 1.46 (colored)

Add optional mmap(2)/write(2) support for binary file transfer.
The default is read(2)/write(2).  Note that the sosend_loan needs
some more work for better performance when a file isn't cached.

Revision 1.46 / (download) - annotate - [select for diffs], Tue Dec 4 13:54:12 2001 UTC (22 years, 3 months ago) by lukem
Branch: MAIN
CVS Tags: netbsd-1-6-base, netbsd-1-6-RELEASE, netbsd-1-6-RC3, netbsd-1-6-RC2, netbsd-1-6-RC1, netbsd-1-6-PATCH002-RELEASE, netbsd-1-6-PATCH002-RC4, netbsd-1-6-PATCH002-RC3, netbsd-1-6-PATCH002-RC2, netbsd-1-6-PATCH002-RC1, netbsd-1-6-PATCH002, netbsd-1-6-PATCH001-RELEASE, netbsd-1-6-PATCH001-RC3, netbsd-1-6-PATCH001-RC2, netbsd-1-6-PATCH001-RC1, netbsd-1-6-PATCH001
Branch point for: netbsd-1-6
Changes since 1.45: +10 -2 lines
Diff to previous 1.45 (colored)

Add two new ftpd.conf(5) directives:
- 'denyquick'; deny a connection so tagged by ftpusers(5) after the USER
  command instead of the PASS command. whilst this might provide some
  info leakage of accounts names if you have some `real' or `chroot'
  users enabled and not others, it does prevent accidental entering of
  such passwords if you have all such users denied. This option is
  strongly recommended on anonymous-only servers.
  Functionality requested by Rob Windsor in [bin/12602]
- 'private'; don't display class related information in the output of STAT.
  For paranoid admins.

Revision 1.45 / (download) - annotate - [select for diffs], Sat Dec 1 10:25:29 2001 UTC (22 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.44: +14 -13 lines
Diff to previous 1.44 (colored)

- enable case insensitive fnmatch(3)ing for hostname globs in ftpusers(5)
- enable WARNS=2

Revision 1.44 / (download) - annotate - [select for diffs], Wed Sep 19 00:50:52 2001 UTC (22 years, 5 months ago) by lukem
Branch: MAIN
Changes since 1.43: +4 -4 lines
Diff to previous 1.43 (colored)

a few changes from Mike Heffner <mheffner@vt.edu> in private email:
- totally clear a glob buffer before use, because FreeBSD depends on
  some of the other fields being cleared (other than just gl_offs)
- in strend(), ensure that the source string isn't too large
- remove unnecessarily complicated sizing of proctitle, since snprintf()
  will truncate it anyway

Revision 1.43 / (download) - annotate - [select for diffs], Tue Jun 26 19:30:44 2001 UTC (22 years, 8 months ago) by lukem
Branch: MAIN
Changes since 1.42: +4 -3 lines
Diff to previous 1.42 (colored)

s/tise/tize/ in docco, add "advertize" as synonym for "advertise"

Revision 1.42 / (download) - annotate - [select for diffs], Fri May 25 23:40:25 2001 UTC (22 years, 9 months ago) by kristerw
Branch: MAIN
Changes since 1.41: +4 -3 lines
Diff to previous 1.41 (colored)

Initialize a pointer needed when expanding the %C "display file escape
sequence".

Revision 1.41 / (download) - annotate - [select for diffs], Wed Apr 25 01:46:25 2001 UTC (22 years, 10 months ago) by lukem
Branch: MAIN
Changes since 1.40: +3 -3 lines
Diff to previous 1.40 (colored)

crank copyrights of files changed this year
remove superfluous byte_count update in send_file_list
crank version

Revision 1.18.2.1 / (download) - annotate - [select for diffs], Sun Apr 1 16:08:06 2001 UTC (22 years, 11 months ago) by he
Branch: netbsd-1-4
Changes since 1.18: +5 -3 lines
Diff to previous 1.18 (colored) next main 1.19 (colored)

Pull up revision 1.39 (requested by christos):
  Fixes buffer overflow problems in glob(3).  Adds and uses GLOB_LIMIT
  to prevent denial of service attacks.

Revision 1.31.2.2 / (download) - annotate - [select for diffs], Thu Mar 29 14:14:17 2001 UTC (22 years, 11 months ago) by lukem
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-PATCH003, netbsd-1-5-PATCH002, netbsd-1-5-PATCH001
Changes since 1.31.2.1: +199 -93 lines
Diff to previous 1.31.2.1 (colored) to branchpoint 1.31 (colored)

sync ftpd to -current with the following revisions (for lukem/christos):
	Makefile	1.43-1.44
	cmds.c		1.7-1.8,  1.10-1.12
	conf.c		1.35-1.40
	extern.h	1.32-1.38
	ftpcmd.y	1.53-1.59
	ftpd.8		1.58-1.63
	ftpd.c		1.102-1.104,  1.106-1.122
	ftpd.conf.5	1.12-1.15
	ftpusers.5	1.8
	logwtmp.c	1.16
	popen.c		1.23-1.25
	version.h	1.28

a quick summary of user-visible changes;
	- fix glob DoS by using GLOB_LIMIT
	- add ftpd.conf directives `advertise', `maxfilesize', `sanenames'
	- add flags: -P dataport, -X - wuftpd style log entries,
	  -q/-Q - (en|dis)able pidfiles, -u/-U - (en|dis)able utmp,
	  -w/-W - (en|dis)able wtmp

Revision 1.40 / (download) - annotate - [select for diffs], Sun Mar 18 22:42:22 2001 UTC (22 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.39: +5 -3 lines
Diff to previous 1.39 (colored)

don't leak globbed memory.

Revision 1.39 / (download) - annotate - [select for diffs], Fri Mar 16 20:42:12 2001 UTC (22 years, 11 months ago) by christos
Branch: MAIN
Changes since 1.38: +5 -3 lines
Diff to previous 1.38 (colored)

Use GLOB_LIMIT. Also fix a bug where gl_offs was not initialized and could
contain trash.

Revision 1.38 / (download) - annotate - [select for diffs], Fri Mar 16 20:35:35 2001 UTC (22 years, 11 months ago) by lukem
Branch: MAIN
Changes since 1.37: +4 -2 lines
Diff to previous 1.37 (colored)

don't support t(erabyte) as a suffix in strsuftoll() #ifdef NO_LONG_LONG

Revision 1.37 / (download) - annotate - [select for diffs], Mon Dec 18 02:32:50 2000 UTC (23 years, 2 months ago) by lukem
Branch: MAIN
Changes since 1.36: +106 -29 lines
Diff to previous 1.36 (colored)

Features:

* Add ftpd.conf(5) directive `advertise'; change the address that is
  advertised to the client for PASV transfers. this may be useful in
  certain firewall/NAT environments.

  Feature requested in [bin/9606] by Scott Presnell.

* Add -X option; syslog wu-ftpd style xferlog messages, prefixed with
  `xferlog: '.  An example line from syslog (wrapped):
	Dec 16 18:50:24 odysseus ftpd[571]: xferlog: Sat Dec 16 18:50:24 2000
	2 localhost 3747328 /pub/WLW2K601.EXE b _ o a lukem@ FTP 0 * c

  These messages can be converted to a wu-ftpd style xferlog file
  suitable for parsing with third-party tools with something like:
	grep 'xferlog: ' /var/log/xferlog | \
	    sed -e 's/^.*xferlog: //' >wuxferlog

  The format is the same as the wu-ftpd xferlog entries (with the leading
  syslog stuff), but different from the wu-ftpd syslogged xferlog entries
  because the latter is not as easy to convert into the standard xferlog
  file format.

  The choice to only syslog the xferlog messages rather than append to
  a /var/log/xferlog file was made because the latter doesn't work to
  well in the situation where the logfile is rotated and compressed and
  a long-running ftpd still has a file-descriptor to the now nonexistant
  xferlog file, and the log message will then get lost.

  Feature requested in [bin/11651] by Hubert Feyrer.


Fixes:

* In ftpd(8), clarify the -a and -c options.

* More clarifications in ftpd.conf(5).

* Ensure that all ftpd.conf commands set a parameter back to sane defaults
  if an argument of `none' or bad settings are given.

* Support the `chroot' directive for `REAL' users too (for consistency).

* For `GUEST' users, store the supplied password in pw->pw_passwd for use
  later in the xferlog.

* If show_chdir_messages() is given a code of -1, flush the cache of
  visited directories.  Invoke show_chdir_messages(-1) in end_login().

* Only syslog session stats if logging is requested.

* Rename logcmd() -> logxfer(), and dolog() -> logremotehost().

* Use cprintf() instead of fprintf() where appropriate.

* Minor KNF, and make a couple of functions static that were declared static.

Revision 1.36 / (download) - annotate - [select for diffs], Thu Nov 16 13:15:13 2000 UTC (23 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.35: +95 -75 lines
Diff to previous 1.35 (colored)

- new ftpd.conf directives:
	maxfilesize	set the maximum size of uploaded files
	sanenames	if set, only permit uploaded filenames that contain
			characters from the set "-+,._A-Za-z0-9" and that
			don't start with `.'

- new/changed command line options:
	-e emailaddr	define email address for %E (see below)
	-P dataport	use dataport as the dataport (instead of ctrlport-1)
	-q		use pid files to count users	[default]
	-Q		don't use pid files to count users
	-u		write entries to utmp
	-U		don't write entries to utmp	[default]
	-w		write entries to wtmp		[default]
	-W		don't write entries to wtmp

	  NOTE:	-U used to mean `write utmp entries'. Its meaning has changed
		so that it's orthogonal with -q/-Q and -w/-W. This isn't
		considered a major problem, because using -U isn't going to
		enable something you don't want, but will disable something
		you did want (which is safer).

- new display file escape sequences:
	%E	email address
	%s	literal `s' if the previous %M or %N wasn't ``1''.
	%S	literal `S' if the previous %M or %N wasn't ``1''.

- expand the description of building ~ftp/incoming to cover the
  appropriate ftpd.conf(5) directives (which are defaults, but it pays
  to explicitly explain them)

- replace strsuftoi() with strsuftoll(), which returns a long long if
  supported, otherwise a long

- rework the way that check_modify and check_upload are done in the yacc
  parser; they're merged into a common check_write() function which is
  called explicitly

- merge all ftpclass `flag variables' into a single bitfield-based flag element

- move various common bits of parse_conf() into a couple of macros

- clean up some comments

Revision 1.35 / (download) - annotate - [select for diffs], Wed Nov 15 02:32:30 2000 UTC (23 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.34: +7 -4 lines
Diff to previous 1.34 (colored)

changes to improve portability:
* replace union sockunion {} with struct sockinet {}, and modify the code
  accordingly. this is possibly more portable, as it doesn't rely upon
  the structure alignment within the union for our own stuff.  uses local
  su_len unless HAVE_SOCKADDR_SA_LEN is defined (set ifdef BSD4_4)
  (XXX: haven't tested the ipv6 stuff)
* always use getaddrinfo() and getnameinfo() instead of maintaining two code
  paths. (lukemftpd will provide replacements for these on older systems)
* use lockf() instead of open(.., O_EXLOCK) to lock the pid file
* minor KNF
* clean up long long support: create helper #defines and use as appropriate:
        #define		NO_LONG_LONG	! NO_LONG_LONG
        -------		------------	--------------
        LLF		"%ld"		"%lld"
        LLFP(x)		"%" x "ld"	"%" x "lld"
        LLT		long		long long
        ULLF		"%lu"		"%llu"
        ULLFP(x)	"%" x "lu"	"%" x "llu"
        ULLT		unsigned long	unsigned long long
        STRTOLL(x,y,z)	strtol(x,y,z)	strtoll(x,y,z)

Revision 1.31.2.1 / (download) - annotate - [select for diffs], Tue Jul 25 08:38:37 2000 UTC (23 years, 7 months ago) by lukem
Branch: netbsd-1-5
CVS Tags: netbsd-1-5-RELEASE, netbsd-1-5-BETA2, netbsd-1-5-BETA, netbsd-1-5-ALPHA2
Changes since 1.31: +72 -7 lines
Diff to previous 1.31 (colored)

user visible changes (besides checking the cvs log):
* make checkportcmd the default
* add -r; force permanent drop of root privs after login
* add -V vers; change version string to vers
* add -H; act as -h `hostname`
* permanently drop root privs if it makes sense to do so (e.g; logging in as
  guest/chroot user on a port > 1024)
* fix reference to draft-ietf-ftpext-mlst-11
* add ftpd.conf directives: chroot, homedir
* fix base64_encode() and generation of the unique fact
* crank version to 20000723

Revision 1.34 / (download) - annotate - [select for diffs], Sun Jul 23 14:40:48 2000 UTC (23 years, 7 months ago) by lukem
Branch: MAIN
Changes since 1.33: +3 -3 lines
Diff to previous 1.33 (colored)

* make checkportcmd the default. this breaks third-party proxy ftp but
  prevents the ftp bounce attack, and we should be secure out of the
  box, not require users to tweak obscure stuff.
* allow the version string reported to clients to be changed with '-V vers'.
  if vers is empty or `-', don't report a version.
* if -r is given, permanently drop root privs
* if not a REAL user (i.e, GUEST or CHROOT), and ftpd is running on a port
  > IPPORT_RESERVED+1, permanently drop root privs
* don't bother reverting to root privs to logout of wtmp/utmp; since the
  file descriptor is already open this isn't necessary.
* fix the binding of the port for the PORT/LPRT/EPRT connection to be the
  ctrl_addr.su_port-1, not hardcoded to `20' (this was broken in the ipv6
  merge). if root privs have been dropped, and this would be a port <
  IPPORT_RESERVED, use a random port instead (which isn't RFC959 compliant
  but it doesn't appear that many clients care).
* prevent login of a new user if privs have been dropped and already logged
  in as a REAL user (existing check already stops GUEST & CHROOT users).
* move the port check stuff into a separate port_check() function, and use
  for PORT, LPRT, and EPRT checks. inspired by freebsd
* minor KNF
* minor man page cleanup

Revision 1.33 / (download) - annotate - [select for diffs], Mon Jul 17 02:30:52 2000 UTC (23 years, 7 months ago) by lukem
Branch: MAIN
Changes since 1.32: +69 -4 lines
Diff to previous 1.32 (colored)

* add two new ftpd.conf(5) directives:
	chroot	specify dir to chroot to for GUEST and CHROOT users, to
		override -a anondir or the user's homedir.
	homedir	specify dir to change to upon login; also used for ~ expansion
		and $HOME for subprocesses)
  both of these can take % escapes: %u (username), %d (homedir), %c (class).
* fix NLST to take a pathname not a STRING, so that ~ expansion works
* modify CWD to use the homedir parsed from curclass.homedir
* implement format_path(dst, src), to parse src expanding % escapes (see above)
  into dst.
* rename format_file() to display_file()

Revision 1.32 / (download) - annotate - [select for diffs], Sun Jul 9 02:24:30 2000 UTC (23 years, 7 months ago) by sommerfeld
Branch: MAIN
Changes since 1.31: +4 -4 lines
Diff to previous 1.31 (colored)

More -Wformat cleanups.

Revision 1.30.2.1 / (download) - annotate - [select for diffs], Thu Jun 22 15:58:15 2000 UTC (23 years, 8 months ago) by minoura
Branch: minoura-xpg4dl
Changes since 1.30: +21 -28 lines
Diff to previous 1.30 (colored) next main 1.31 (colored)

Sync w/ netbsd-1-5-base.

Revision 1.31 / (download) - annotate - [select for diffs], Mon Jun 19 15:15:03 2000 UTC (23 years, 8 months ago) by lukem
Branch: MAIN
CVS Tags: netbsd-1-5-base
Branch point for: netbsd-1-5
Changes since 1.30: +21 -28 lines
Diff to previous 1.30 (colored)

various fixes suggested by Robert Elz:
* implement closedataconn() and use appropriately (including in mlsd())
* only put leading space in front of MLST output (not MLSD output)
* MLSD: only output pdir and cdir entries when the type fact is requested.
* change error code for giving MLSD a non-directory from 550 to 501
* remove MLSx Type fact support for UNIX.* for now; it's not standardised yet.
* do a check_login when MLSD and MLST are given no args
* detect & complain about null facts in OPTS MLST
* cache getgroups() at login instead of calling each time in fact_perm()

other mods:
* implement cprintf(); as per fprintf() but increments total_bytes{,_out}
* implement CPUTC(); as per putc() but increments total_bytes{,_out}
* implement base64_encode()
* fact_unique() display base64 encoding of dev_t and ino_t rather than
  hex output; should scale if size of those changes
* change reply() so that a negative code acts as the initial line in a reply,
  code == 0 prefixes the line with 4 spaces, and code > 0 works as before.
  deprecate lreply(code, ) and lreply(0, ) in favour of reply(-code, ) and
  reply(0, ) respectively.
* use cprintf() and CPUTC() appropriately (often instead of printf(),
  lreply(-2, ) or lreply(-1, ).
  now we actually account for the data sent by MLST and MLSD.
* remove DEBUG support for sending MLSD output to control connection instead
  of data connection (my ftp client now supports MLSD :-)

Revision 1.30 / (download) - annotate - [select for diffs], Sat May 20 02:20:18 2000 UTC (23 years, 9 months ago) by lukem
Branch: MAIN
CVS Tags: minoura-xpg4dl-base
Branch point for: minoura-xpg4dl
Changes since 1.29: +13 -23 lines
Diff to previous 1.29 (colored)

convert to ANSI C as per style guide

Revision 1.29 / (download) - annotate - [select for diffs], Thu Jan 13 00:04:31 2000 UTC (24 years, 1 month ago) by lukem
Branch: MAIN
Changes since 1.28: +8 -2 lines
Diff to previous 1.28 (colored)

suppress verbose messages from CWD and post-login if the first
character of the anonymous password is `-'.

Revision 1.28 / (download) - annotate - [select for diffs], Wed Jan 12 22:39:27 2000 UTC (24 years, 1 month ago) by lukem
Branch: MAIN
Changes since 1.27: +50 -5 lines
Diff to previous 1.27 (colored)

* add ftpd.conf directive `portrange class min max', which allows specification
  of the port range used by passive connections. based on work in [bin/9158]
  from Takahiro Kambe <taca@sky.yamashina.kyoto.jp>
* change the way global variables are defined and extern-ed to be more
  consistent.

Revision 1.27 / (download) - annotate - [select for diffs], Mon Jan 10 08:03:50 2000 UTC (24 years, 1 month ago) by lukem
Branch: MAIN
Changes since 1.26: +6 -5 lines
Diff to previous 1.26 (colored)

fix problem where ftpd.conf lines would match everything if there was
no template defined. noted by Vebjorn Ljosa <ljosa@initio.no>

Revision 1.26 / (download) - annotate - [select for diffs], Sun Jan 9 10:08:45 2000 UTC (24 years, 1 month ago) by lukem
Branch: MAIN
Changes since 1.25: +22 -7 lines
Diff to previous 1.25 (colored)

* new ftpd.conf directive:
	template class [refclass]
  following directives for refclass will apply to class as well.
  this makes setting up a `template' class with many default settings
  easy, whilst allowing for class-specific overrides
* prevent crash when the optional limitfile wasn't given to limit
* document count_users()
* document default setting of limit in ftpd.conf(5)
* crank version

Revision 1.25 / (download) - annotate - [select for diffs], Sat Jan 8 11:09:56 2000 UTC (24 years, 1 month ago) by lukem
Branch: MAIN
Changes since 1.24: +136 -20 lines
Diff to previous 1.24 (colored)

features:
* add connection limits (`limit' keyword in ftpd.conf)
* move initialisation of curclass from parse_conf() to new function
  init_curclass()
* implement count_users(), which determines the number of users in a given
  class. a file - /var/run/ftpd.pids-<class> - is used to store a list
  of pids in use (effectively an array of pid_t's), and its size is reduced
  as necessary.
* new % modifiers in format_file:
	%c	class
	%M	maximum connection count
	%N	current connection count
* always end_login()s, even for refused connections

bugs fixed:
* remove \n from %T output
* fix some inconsistencies in the man pages
* ensure that both `ftp' *and* `anonymous' are allowed in ftpusers.
  (this was accidently broken in a recent commit to be ``or'' not ``and'')
* use MAXPATHLEN not MAXPATHLEN+1
* crank copyright date on modified files
* crank version

Revision 1.21.4.1 / (download) - annotate - [select for diffs], Mon Dec 27 18:30:11 1999 UTC (24 years, 2 months ago) by wrstuden
Branch: wrstuden-devbsize
Changes since 1.21: +286 -94 lines
Diff to previous 1.21 (colored) next main 1.22 (colored)

Pull up to last week's -current.

Revision 1.24 / (download) - annotate - [select for diffs], Sun Dec 12 14:05:54 1999 UTC (24 years, 2 months ago) by lukem
Branch: MAIN
CVS Tags: wrstuden-devbsize-base, wrstuden-devbsize-19991221
Changes since 1.23: +192 -23 lines
Diff to previous 1.23 (colored)

* change format of /etc/ftpusers lines from
	userglob [allow|deny]
  to
	userglob[@host] [allow|deny  [classname]]
  where class is a userdefined classname.
  - if host is given it may either be a CIDR address (e.g, `1.2.3.0/24') or a
    hostglob (e.g, `*.foo.com'), and the remote host is matched against that.
  - if classname is given, use that to match entries in ftpd.conf (defaults
    to `guest' for `anonymous'/`ftp' logins, `chroot' for users found in
    /etc/ftpchroot, and `real' for everyone else.

* implement new /etc/ftpd.conf directives:
    classtype classname type	set type of classname to GUEST, CHROOT, or REAL
    motd classname file		file to use instead of /etc/motd
    rateget classname rate	set rateget throttle to rate
    rateput classname rate	set rateput throttle to rate
    upload classname		allow/deny uploads (STOU, STOR, APPE). if
				denied, also acts as `modify deny'.

* implement new `SITE' commands:
    RATEGET	as per /etc/ftpd.conf rateget, but cannot exceed that
    RATEPUT	as per /etc/ftpd.conf rateput, but cannot exceed that

* implement format_file(), which outputs a file to the user, parsing %
  escapes. use to print /etc/ftpwelcome, /etc/motd, and the `display' file.

* implement strsuftoi() (from ftp(1)), which parses a number and
  optional suffix (for use with rateget, etc)

* don't bother seteuid(0) ; bind(...) ; seteuid(pw->pw_uid), since
  we don't need reserved ports (at wasn't getting them anyway).

* update & reorder copyrights

* use strlcpy() as appropriate

Revision 1.23 / (download) - annotate - [select for diffs], Tue Dec 7 05:30:54 1999 UTC (24 years, 2 months ago) by lukem
Branch: MAIN
Changes since 1.22: +91 -73 lines
Diff to previous 1.22 (colored)

* change ftpd_popen() to take char *argv[] instead of char *cmd.
  the string tokenisation must be performed by the caller (which is
  generally easy because it's almost always a static command).
* change do_conversion() to return a char *argv[] instead of char *cmd.
  tokenisation of the command is done internally.
* change retrieve() to take char *argv[] instead of char *cmd.
  (to take advantage of the above changes).  fixes [bin/8173]
* use fparseln() instead of fgetln()
* store conversions in listed order (rather than reverse order)
* use stringlists instead of handrolling code to manage an argv.

Revision 1.22 / (download) - annotate - [select for diffs], Sun Nov 28 04:38:41 1999 UTC (24 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.21: +8 -3 lines
Diff to previous 1.21 (colored)

check return val of sl_init() and sl_add()

Revision 1.21 / (download) - annotate - [select for diffs], Wed Aug 25 20:07:33 1999 UTC (24 years, 6 months ago) by christos
Branch: MAIN
CVS Tags: comdex-fall-1999-base, comdex-fall-1999
Branch point for: wrstuden-devbsize
Changes since 1.20: +3 -3 lines
Diff to previous 1.20 (colored)

more kerberos5 fixes

Revision 1.20 / (download) - annotate - [select for diffs], Tue May 18 08:14:17 1999 UTC (24 years, 9 months ago) by lukem
Branch: MAIN
Changes since 1.19: +8 -4 lines
Diff to previous 1.19 (colored)

* fix a problem in retrieve() where arguments to commands weren't working
  (this was broken in the last commit). problem noticed by simonb@
* don't display the stderr output of the internal ls.
* modify usage of lreply so that generally only one `XXX-' code per
  `block' is displayed; the rest of the lines have four spaces instead.
  i find this easier to read.
* fix a couple places where byte accounting wasn't correct

Revision 1.19 / (download) - annotate - [select for diffs], Mon May 17 15:14:54 1999 UTC (24 years, 9 months ago) by lukem
Branch: MAIN
Changes since 1.18: +4 -5 lines
Diff to previous 1.18 (colored)

features/fixes:
* implement xferstats. full stats are displayed for `STAT', and a
  summary is displayed upon exit (and syslogged).  inspired by wu-ftpd.
* wrap data xfers in {send,receive}_data with alarm() timeouts. this
  should remove the majority of the `hanging ftpd' problems that
  people were still seeing.  inspired by wu-ftpd.
* link with ../../bin/ls, so that bin/ls is not required under a
  chroot()ed area for `LIST' to work.  based on [bin/4497] from
  "Soren S.  Jorvang" <soren@t.dk>
* migrate code from util.c into ftpd.c, so that it doesn't conflict
  with ls' util.c.
* remove man page comment about ~ftp/bin/ls being necessary.
* bump version to 7.2.0.
* syslog xfer time with xfer stats.
* if appropriate, syslog error message with command.

internal code stuff:
* change arguments of various functions from `char *' to `const char *'.
* define PLURAL(x) macro, which returns `' if x == 1, `s' otherwise.
  use macro appropriately
* lreply(): a code of -1 means ``send line as is''. a code of 0
  means ``send line with 4 space prefix''. don't print a space after
  the `-' for any other code.
* logcmd(): add `const struct timeval *elapsed' and `const char *error'
  for more flexible error reporting

Revision 1.18 / (download) - annotate - [select for diffs], Wed Feb 24 16:45:13 1999 UTC (25 years ago) by explorer
Branch: MAIN
CVS Tags: netbsd-1-4-base, netbsd-1-4-RELEASE, netbsd-1-4-PATCH003, netbsd-1-4-PATCH002, netbsd-1-4-PATCH001
Branch point for: netbsd-1-4
Changes since 1.17: +6 -2 lines
Diff to previous 1.17 (colored)

Make this build with KERBEROS5 defined.

Revision 1.17 / (download) - annotate - [select for diffs], Fri Feb 5 21:40:49 1999 UTC (25 years, 1 month ago) by lukem
Branch: MAIN
Changes since 1.16: +3 -3 lines
Diff to previous 1.16 (colored)

* actually commit the changes which add support for recognising RFC 2228
  commands (even if we don't do anything with them)
* in logcmd(), syslog why realpath() failed (if it did).

Revision 1.16 / (download) - annotate - [select for diffs], Mon Dec 28 04:54:00 1998 UTC (25 years, 2 months ago) by lukem
Branch: MAIN
Changes since 1.15: +2 -3 lines
Diff to previous 1.15 (colored)

* replace LOG(CMD|BYTES) macros with logcmd(), which is a cleaner
  solution with less code replication. use realpath() in logcmd() so
  that all logged filenames are sane.
* support `REST STREAM' in `FEAT' reply (from draft-ietf-ftpext-mlst-05)
* in 'HELP', suffix unimplemented commands with `-' instead of `*'; the
  former is easier to differentiate from `+'.
* deprecate curdir() now that logcmd() doesn't use it.
* ensure all filename buffers are at least MAXPATHLEN+1 in size.
* move jmp_buf errcatch out of extern.h, removing need to #include <setjmp.h>
  in every file.

Revision 1.15 / (download) - annotate - [select for diffs], Sun Sep 6 10:39:40 1998 UTC (25 years, 6 months ago) by lukem
Branch: MAIN
Changes since 1.14: +6 -3 lines
Diff to previous 1.14 (colored)

* complete fix for `multiple replies returned for single parse error'
  problem; move `hasyyerrored' state flag out of yylex() so that
  check_{login,modify} can also set it.
* check result of check_login for PORT command
* set initial timeout before the "setjmp(); for(;;) yyparse()",
  otherwise an invalid command after login incorrectly sets the timeout
  to 5 minutes (rather than what was set in ftpd.conf)
* replace (char *)0 with NULL
* move yyerror() from ftpd.c to ftpcmd.y
* remove need for -Dunix, by using the version string from ftpd.c
  (instead of `BSD-199506')
* move all extern-ed vars into extern.h

Revision 1.14 / (download) - annotate - [select for diffs], Tue Jun 30 20:18:52 1998 UTC (25 years, 8 months ago) by tv
Branch: MAIN
Changes since 1.13: +9 -2 lines
Diff to previous 1.13 (colored)

Add the ability to disable passive connects in ftpd.conf (breaks RFC1123,
STD3, but needed in some firewall environments).

Revision 1.13 / (download) - annotate - [select for diffs], Wed Jun 3 13:21:42 1998 UTC (25 years, 9 months ago) by mouse
Branch: MAIN
Changes since 1.12: +3 -3 lines
Diff to previous 1.12 (colored)

Show/log the strerror(errno) string when getcwd fails

Revision 1.12 / (download) - annotate - [select for diffs], Wed Jun 3 09:21:46 1998 UTC (25 years, 9 months ago) by hubertf
Branch: MAIN
Changes since 1.11: +3 -3 lines
Diff to previous 1.11 (colored)

Fix some problems with failed getcwd commands, reported in PR bin/5531
by Saitoh Masanobu <msaitoh@spa.is.uec.ac.jp>.

Revision 1.11 / (download) - annotate - [select for diffs], Wed Apr 1 14:31:59 1998 UTC (25 years, 11 months ago) by kleink
Branch: MAIN
Changes since 1.10: +3 -2 lines
Diff to previous 1.10 (colored)

Need <time.h> for time(), localtime() and ctime() prototypes.

Revision 1.7.2.3 / (download) - annotate - [select for diffs], Mon Nov 17 16:43:03 1997 UTC (26 years, 3 months ago) by mrg
Branch: netbsd-1-3
CVS Tags: netbsd-1-3-RELEASE, netbsd-1-3-PATCH003-CANDIDATE2, netbsd-1-3-PATCH003-CANDIDATE1, netbsd-1-3-PATCH003-CANDIDATE0, netbsd-1-3-PATCH003, netbsd-1-3-PATCH002, netbsd-1-3-PATCH001, netbsd-1-3-BETA
Changes since 1.7.2.2: +3 -3 lines
Diff to previous 1.7.2.2 (colored) to branchpoint 1.7 (colored) next main 1.8 (colored)

pull up from trunk:  fixes from lukem.

Revision 1.10 / (download) - annotate - [select for diffs], Sun Nov 16 12:04:21 1997 UTC (26 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.9: +3 -3 lines
Diff to previous 1.9 (colored)

log debug stuff using LOG_DEBUG not LOG_INFO

Revision 1.7.2.2 / (download) - annotate - [select for diffs], Tue Nov 11 14:27:45 1997 UTC (26 years, 3 months ago) by mrg
Branch: netbsd-1-3
Changes since 1.7.2.1: +12 -7 lines
Diff to previous 1.7.2.1 (colored) to branchpoint 1.7 (colored)

pull up from trunk:  cleanup and a fix to previous (from lukem).

Revision 1.9 / (download) - annotate - [select for diffs], Tue Nov 11 12:42:24 1997 UTC (26 years, 3 months ago) by lukem
Branch: MAIN
Changes since 1.8: +12 -7 lines
Diff to previous 1.8 (colored)

* change checkportcmd syntax to `checkportcmd class [off]' (as per `modify')
* display current setting of checkportcmd in STAT
* ensure that curclass.checkportcmd is initialised to 0
* document default setting of checkportcmd in ftpd(8)
* cleanup code a bit, putting code for "checkportcmd" in alphabetical order

Revision 1.7.2.1 / (download) - annotate - [select for diffs], Tue Nov 11 06:18:53 1997 UTC (26 years, 3 months ago) by mrg
Branch: netbsd-1-3
Changes since 1.7: +4 -2 lines
Diff to previous 1.7 (colored)

pull up from trunk:  add a "checkportcmd <class>" option that stops ftp bounce attacks.

Revision 1.8 / (download) - annotate - [select for diffs], Tue Nov 11 05:48:05 1997 UTC (26 years, 3 months ago) by mrg
Branch: MAIN
Changes since 1.7: +4 -2 lines
Diff to previous 1.7 (colored)

add a "checkportcmd <class>" option that stops ftp bounce attacks.

Revision 1.7 / (download) - annotate - [select for diffs], Sun Oct 19 18:15:23 1997 UTC (26 years, 4 months ago) by mycroft
Branch: MAIN
CVS Tags: netbsd-1-3-base
Branch point for: netbsd-1-3
Changes since 1.6: +3 -3 lines
Diff to previous 1.6 (colored)

Use S_IS*(), not S_IF*.

Revision 1.6 / (download) - annotate - [select for diffs], Tue Sep 23 13:56:39 1997 UTC (26 years, 5 months ago) by lukem
Branch: MAIN
Changes since 1.5: +3 -3 lines
Diff to previous 1.5 (colored)

implement '-c confdir', which allows the specification of an alternate
directory to look for the various configuration files, overriding /etc.
From Matthias Scheler <tron@lyssa.owl.de> in [bin/4133]

Revision 1.5 / (download) - annotate - [select for diffs], Thu Aug 14 02:06:15 1997 UTC (26 years, 6 months ago) by lukem
Branch: MAIN
Changes since 1.4: +40 -11 lines
Diff to previous 1.4 (colored)

* don't depend upon buffer returned by fgetln() to remain. fix mainly
  from Tatoku Ogaito <tacha@tera.fukui-med.ac.jp> in [bin/3967]
* fgetln() doesn't \0 terminate its string. look for the \n and replace
  it with \0 (if no \n, ignore the line - it's most likely corrupt)
* more intensive checks on strdup() returns (not a current mem leak,
  but depended upon code elsewhere to cleanup - not good)
* cleanup some syslog error messages

Revision 1.4 / (download) - annotate - [select for diffs], Thu Jul 31 00:08:04 1997 UTC (26 years, 7 months ago) by jtc
Branch: MAIN
Changes since 1.3: +4 -4 lines
Diff to previous 1.3 (colored)

Fix files using old TNF copyright notice

Revision 1.3 / (download) - annotate - [select for diffs], Sun Jun 22 22:33:12 1997 UTC (26 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.2: +3 -3 lines
Diff to previous 1.2 (colored)

missed some warnings.

Revision 1.2 / (download) - annotate - [select for diffs], Wed Jun 18 19:05:47 1997 UTC (26 years, 8 months ago) by christos
Branch: MAIN
Changes since 1.1: +12 -6 lines
Diff to previous 1.1 (colored)

- Pass gcc -Wall
- Fix incorrect const poisoning
- Fix ftpd_popen to dynamically allocate strings to avoid buffer overruns.

Revision 1.1 / (download) - annotate - [select for diffs], Sat Jun 14 08:43:27 1997 UTC (26 years, 8 months ago) by lukem
Branch: MAIN

* implement /etc/ftpd.conf, which adds support for the following features,
  controllable on a per class (which is one of: real, chroot, guest,
  all or none) basis:
    * on-the-fly execution of a command to build the file (a ``conversion''),
      providing support for "get dirname.tar" and the like.
    * displaying the contents of a file when a directory is entered
      for the first time.
    * maximum value for timeout (replaces -T).
    * control usage of CHMOD, DELE, MKD, RMD, UMASK; replacing -DINSECURE_GUEST.
    * notifying the user of the existance of a files matching a glob
      pattern when a directory is entered for the first time.
    * default value for timeout (replaces -t).
    * default umask (replaces -DGUEST_CMASK and -u).
  The conversion, display, and notify functionality was based on code by
  Simon Burge <simonb@telstra.com.au>.
* clean up and re-order parts of the man page into subsections.
* STAT displays the settings defined for the class of the current user.
* bump version from 6.00 to 7.00, because of ftpd.conf.
* deprecate -DGUEST_CMASK and -DINSECURE_GUEST in the Makefile, and
  -t, -T and -u, as ftpd.conf allows finer control of these.
* add "nostderr" argument to ftpd_popen(), because you don't want the
  stderr stream mixing with the stdout stream during a conversion,
  as this can corrupt the stream.

This form allows you to request diff's between any two revisions of a file. You may select a symbolic revision name using the selection box or you may type in a numeric name using the type-in text box.




CVSweb <webmaster@jp.NetBSD.org>