path: root/c/src/libnetworking/rtems_servers/ftpd.h
diff options
authorJoel Sherrill <>2001-01-12 13:51:56 +0000
committerJoel Sherrill <>2001-01-12 13:51:56 +0000
commit3f777d0edfa0ea8413d2c83eacbbda135970cb3c (patch)
tree6ea6b3158c2ccd62d7f599e6720a9b3eb8f2dbdf /c/src/libnetworking/rtems_servers/ftpd.h
parent2001-01-12 Jake Janovetz <> (diff)
2001-01-12 Sergei Organov <>
* rtems_servers/ftpd.c, rtems_servers/ftpd.h: Major enhancements as listed below: - use pool of pre-created threads to handle sessions instead of creating/deleting threads on the fly - LIST output is now similar to what "/bin/ls -al" would output, thus FTP clients such Netscape are happy with it. - LIST NAME now works (both for files and directories) - added support for NLST, CDUP, and MDTM FTP commands to make more FTP clients happy - keep track of CWD for every session separately - ability to specify root directory name for FTPD in configuration table. FTPD will then create illusion for FTP clients that this is actually root directory. - ignore options sent in commands, thus LIST -al FILE works and doesn't try to list "-al" directory. - buffers are allocated on stack instead of heap where possible to eliminate malloc/free calls (avoid possible heap fragmentation troubles). - drop using of task notepad to pass parameters - use function arguments instead - use snprintf() instead of sprintf() as the latter is unsafe - use of PF_INET in socket() instead of AF_INET Here are ftp clients I've tried new FTPD with (all of them running on Debian GNU/Linux 2.2): Lftp 2.1.10 NcFTP 2.4.3 Netscape 4.75 ftp mc 4.5.49
Diffstat (limited to 'c/src/libnetworking/rtems_servers/ftpd.h')
1 files changed, 2 insertions, 0 deletions
diff --git a/c/src/libnetworking/rtems_servers/ftpd.h b/c/src/libnetworking/rtems_servers/ftpd.h
index 6daaaf4d51..cfc5efe69b 100644
--- a/c/src/libnetworking/rtems_servers/ftpd.h
+++ b/c/src/libnetworking/rtems_servers/ftpd.h
@@ -25,6 +25,8 @@ struct rtems_ftpd_configuration
/* for hooks */
int port; /* Well-known port */
struct rtems_ftpd_hook *hooks; /* List of hooks */
+ char const *root; /* Root for FTPD or 0 for / */
+ int tasks_count; /* Max. connections */