summaryrefslogtreecommitdiffstats
path: root/libexec/ftpd
Commit message (Collapse)AuthorAgeFilesLines
* Make format string a string literal. (Discovered by clang.)emaste2011-01-041-1/+1
| | | | MFC After: 1 week
* Handle failure from ftpd_popen in statfilecmd().emaste2011-01-041-0/+4
| | | | | Reviewed by: attilio MFC after: 1 week
* expand checkuser() to support the propagation of error codes back tocsjp2011-01-031-8/+27
| | | | | | | | | | | the caller. Currently, checkuser() does not differentiate between the failure to open the file and the absence of a user in the file. Check to see if there was an error opening the file. If there are any errors, terminate the connection. Currently, the only exception to this rule is ENOENT, since there is nothing that says the /etc/ftpuser and /etc/ftpchroot has to exist. MFC after: 3 weeks
* mdoc: drop redundant .Pp and .LP callsuqs2010-10-081-2/+0
| | | | They have no effect when coming in pairs, or before .Bl/.Bd
* Check that gl_pathc is bigger than zero before derefencing gl_pathv.delphij2010-03-251-1/+2
| | | | | | | | | When gl_pathc == 0, the content of gl_pathv is undefined. PR: bin/144761 Submitted by: David BERARD <contact davidberard fr> Obtained from: OpenBSD MFC after: 1 week
* Set ut_line to "ftpd" for ftpd.ed2010-02-091-0/+1
| | | | | | | | This makes it a little easier to figure out which application was responsible for this log entry. Ideally we should add an ut_process or something similar. Suggested by: Vincent Poy <vincepoy gmail com>
* Remove stale references to utmp(5) and its corresponding filenames.ed2010-01-211-2/+1
| | | | I removed utmp and its manpage, but not other manpages referring to it.
* Really disable wtmp logging when chrooting.ed2010-01-182-6/+9
| | | | | | | | Also perform a small cleanup to ftpd_logwtmp(). Just use a NULL parameter for the username to indicate a logout, instead of an empty string. Reported by: Alexey Shuvaev <shuvaev physik uni-wuerzburg de>
* Port ftpd to utmpx.ed2010-01-132-52/+38
| | | | | | | | Unfortunately I have to partially wreck its functionality, though. ftpd used to keep a file descriptor to the wtmp, which allowed it to work from within a chroot. The current utmpx implementation doesn't offer a way to do this. Maybe we can address this in the future, if it turns out to be a real issue.
* Move variable externs into extern.h so they are checked against the definitions.obrien2009-04-073-30/+29
|
* o Fix typo: indentical -> identical.maxim2009-01-301-1/+1
| | | | | | PR: docs/131149 Submitted by: Patrick Oonk MFC after: 1 week
* Prevent cross-site forgery attacks on ftpd(8) due to splittingcperciva2008-12-233-8/+29
| | | | | | | | | | | | | long commands into multiple requests. [08:12] Avoid calling uninitialized function pointers in protocol switch code. [08:13] Merry Christmas everybody... Approved by: so (cperciva) Approved by: re (kensmith) Security: FreeBSD-SA-08:12.ftpd, FreeBSD-SA-08:13.protosw
* Remove references to S/Key and list OPIE.trhodes2007-04-201-8/+7
|
* Reword the description of the UTF8 option (-8) so I can swearyar2007-04-191-14/+13
| | | | | | to myself that I understand it. Bump document date.
* Add support for RFC 2389 (FEAT) and RFC 2640 (UTF8) to ftpd(8).yar2007-04-183-3/+45
| | | | | | | | | | | | | | The support for RFC 2640 (UTF8) is optional and rudimentary. The server just advertises its capability to handle UTF-8 file names and relies on its own 8-bit cleanness, as well as on the backward compatibility of UTF-8 with ASCII. So uploaded files will have UTF-8 names, but the initial server contents should be prepared in UTF-8 by hand, no on-the-fly conversion of file names will be done. PR: bin/111714 Submitted by: Zhang Weiwu <see email in the PR> MFC after: 1 week
* Let automatic TCP send buffer sizing do its job for ftpd(8): stopyar2007-02-091-9/+1
| | | | | setting the SO_SNDBUF socket option. Using a hard-coded value for it was a poor idea anyway in the face of diverse network conditions.
* Fix compilation of ftpcmd.y without -DINET6.yar2006-06-052-1/+8
| | | | | | | Respect MK_INET6_SUPPORT in Makefile. Requested by: Attila Nagy <bra at fsn dot hu> MFC after: 1 week
* Reimplementation of world/kernel build options. For details, see:ru2006-03-171-1/+3
| | | | | | | | http://lists.freebsd.org/pipermail/freebsd-current/2006-March/061725.html The src.conf(5) manpage is to follow in a few days. Brought to you by: imp, jhb, kris, phk, ru (all bugs are mine)
* - Reduce needless DNS query by lookup only appropriate addressume2006-03-011-10/+20
| | | | | | | | | | family. [1] - Specify appropriate hints to getaddrinfo(3). [1] - Obtain address family from peername in inet mode. Submitted by: Rostislav Krasny <rosti.bsd__at__gmail.com> [1] Tested by: yar, Rostislav Krasny <rosti.bsd__at__gmail.com> MFC after: 1 week
* Touch .Dd because the last commit was content-related.yar2006-01-291-1/+1
|
* In the daemon code, check for and report possible errorsyar2006-01-211-14/+22
| | | | | | | | | | from accept(2) and fork(2). Also close all unneeded fds in the child process, namely listening sockets for all address families and the fd initially obtained from accept(2). (The main ftpd code operates on stdin/stdout anyway as it has been designed for running from inetd.) MFC after: 5 days
* The daemon's child shouldn't go on with the for loopyar2006-01-211-6/+7
| | | | | | | over ctl_sock's -- it is solely the parent daemon's job. So just break out of the loop in the child. MFC after: 5 days
* Use pidfile(3) provided by libutil to manage the deamon's pid file.yar2006-01-212-30/+25
| | | | | | | By default, create a pid file at the standard location, /var/run/ftpd.pid, in accord with the expected behavior of a stock system daemon. MFC after: 5 days
* Add some consistency checks to the signal-related code.yar2005-02-161-0/+6
| | | | MFC: along with rev. 1.202
* A call to maskurg() makes sense only when a transfer is under way,yar2005-02-161-3/+5
| | | | | | | the function will emit an annoying log message otherwise. Reported by: kris MFC: along with rev. 1.202
* Fix most cases where the address of an int is passed to a function expecting astefanf2005-02-141-5/+8
| | | | socklen_t * argument.
* Respect the `logging' flag.yar2005-01-191-1/+1
| | | | | Pointed out by: Nick Leuta MFC after: 3 days
* Improve handling SIGURG and OOB commands on the control channel.yar2005-01-191-134/+269
| | | | | | | | | | | | | | | | | | | | | | | | The major change is to process STAT sent as an OOB command w/o breaking the current data transfer. As a side effect, this gives better error checking in the code performing data transfers. A lesser, but in no way cosmetic, change is using the flag `recvurg' in the only signal-safe way that has been blessed by SUSv3. The other flag, `transflag,' becomes private to the SIGURG machinery, serves debugging purposes only, and may be dropped in the future. The `byte_count' global variable is now accounting bytes actually transferred over the network. This can give status messages looking strange, like "X of Y bytes transferred," where X > Y, but that has more sense than trying to compensate for combinations of data formats on the server and client when transferring ASCII type data. BTW, getting the size of a file in advance is unreliable for a number of reasons in the first place. See question 18.8 of the Infrequently Asked Questions in comp.lang.c for details. PR: bin/52072 Tested by: Nick Leuta (earlier versions), a stress-testing tool (final) MFC after: 1 month
* Sort sections.ru2005-01-181-6/+6
|
* Replace err(3) calls when in daemon mode by syslog(3), too.yar2005-01-101-4/+8
| | | | | | | A daemon has no stderr to send its complains to. Pointed out by: Nick Leuta MFC after: 1 week
* NOPAM -> NO_PAMru2004-12-211-1/+1
|
* Do a small style(9) fix before I'm hacking the code itself.yar2004-12-161-1/+0
|
* free(3) is void already.yar2004-12-161-1/+1
|
* Never emit a message to stderr: use syslog instead.yar2004-12-121-9/+15
| | | | | | | | | | When in inetd mode, this prevents bogus messages from appearing on the control channel. When running as a daemon, we shouldn't write to the terminal we used to have at all. PR: bin/74823 MFC after: 1 week
* When looking for a virtual host to handle the connection,yar2004-11-221-2/+3
| | | | | | stop the search on the first match for efficiency. Submitted by: Nick Leuta
* Calling pam_chauthtok() isn't really needed sinceyar2004-11-221-7/+3
| | | | | | an FTP user has no chance to change password anyway. Submitted by: Nick Leuta
* Don't log the chroot dir on every command since it's constant for a session.yar2004-11-221-9/+8
| | | | | | | Log it once at the beginning of the session instead. OTOH, log wd each time for the sake of better auditing and consistent log format. Proposed by: Nick Leuta <skynick -at- mail.sc.ru>
* Always log remote IP.yar2004-11-221-13/+9
| | | | PR: bin/59773
* Treat host name buffers consistently.yar2004-11-221-12/+23
|
* Make chrootdir global and use it in log messagesyar2004-11-181-9/+4
| | | | | | regarding restricted users. MFC after: 2 weeks
* Nitpicking on style(9) and whitespace.yar2004-11-181-13/+13
| | | | Tested with: md5(1)
* Use __FBSDID.yar2004-11-184-8/+12
|
* Don't say, "file: permission denied," if the operationyar2004-11-181-1/+1
| | | | is disabled entirely.
* Use uniform punctuation, capitalization, and language styleyar2004-11-182-45/+44
| | | | | in server messages wherever this doesn't contradict to a particular message format.
* Apply __printflike() to the appendf() prototype so the compileryar2004-11-181-1/+1
| | | | can detect format errors.
* Fix perror_reply() vs. reply() usage.yar2004-11-182-3/+3
|
* '\n' needs not to appear in reply() strings.yar2004-11-181-3/+3
|
* Log pathname arguments to ftp commands as the user specified them;yar2004-11-181-33/+55
| | | | | | | | | | | add the working directory pathname to the log message if any of such arguments isn't absolute. This has advantage over the old way of logging that an admin can see what users are actually trying to do, and where. The old code was also not too robust when it came to a chrooted session and an absolute pathname. Pointed out by: Nick Leuta MFC after: 2 weeks
* Use S_ISDIR() macro instead of a hand-rolled test.yar2004-11-181-1/+1
|
* getcwd() won't leave a error string in the buffer, unlike getwd().yar2004-11-181-1/+1
|
OpenPOWER on IntegriCloud