summaryrefslogtreecommitdiffstats
path: root/c/src/libnetworking/rtems_servers/ftpd.h
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>2001-01-24 19:20:24 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>2001-01-24 19:20:24 +0000
commit38371dbebba197bb681272383053d0b364262167 (patch)
treecb5cd34c22329110b93715b1941c3f0663fda3e4 /c/src/libnetworking/rtems_servers/ftpd.h
parent2001-01-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff)
downloadrtems-38371dbebba197bb681272383053d0b364262167.tar.bz2
2001-01-24 Sergei Organov <osv@javad.ru>
* rtems_servers/ftpd.c, rtems_servers/ftpd.h: Major enhancements as listed below: - Timeouts on sockets implemented. 'idle' field added to configuration. No timeout by default to keep backward compatibility. Note: SITE IDLE command not implemented yet. - Basic global access control implemented. 'access' field added to configuration. No access limitations by default to keep backward compatibility. - Anchor data socket for active mode (using self IP and port 20.) - Fixed default data port support (still not tested). - Don't allow IP address different from originating host in PORT command to improve security. - Fixed bug in MDTM command. - Check for correctness of parsing of argument in command_port(). - Fixed squeeze_path() to don't allow names like 'NAME/smth' where 'NAME' is not a directory. - Command parsing a little bit improved: command names are now converted to upper-case to be more compatible with RFC (command names are not case-sensitive.) - Reformat comments so that they have RTEMS look-and-feel. - Fixed DELE, SITE CHMOD, RMD, MKD broken by previous changes - True ASCII mode implemented (doesn't work for hooks and /dev/null) - Passive mode implemented, PASV command added. - Default port for data connection could be used (untested, can't find ftp client that doesn't send PORT command) - SYST reply changed to UNIX, as former RTEMS isn't registered name. - Reply codes reviewed and fixed.
Diffstat (limited to 'c/src/libnetworking/rtems_servers/ftpd.h')
-rw-r--r--c/src/libnetworking/rtems_servers/ftpd.h13
1 files changed, 13 insertions, 0 deletions
diff --git a/c/src/libnetworking/rtems_servers/ftpd.h b/c/src/libnetworking/rtems_servers/ftpd.h
index cfc5efe69b..678baa3d2b 100644
--- a/c/src/libnetworking/rtems_servers/ftpd.h
+++ b/c/src/libnetworking/rtems_servers/ftpd.h
@@ -10,6 +10,14 @@
#define FTPD_CONTROL_PORT 21
+/* FTPD access control flags */
+enum
+{
+ FTPD_NO_WRITE = 0x1,
+ FTPD_NO_READ = 0x2,
+ FTPD_NO_RW = FTPD_NO_WRITE | FTPD_NO_READ
+};
+
typedef int (*rtems_ftpd_hookfunction)(unsigned char *, unsigned long);
struct rtems_ftpd_hook
@@ -27,6 +35,11 @@ struct rtems_ftpd_configuration
struct rtems_ftpd_hook *hooks; /* List of hooks */
char const *root; /* Root for FTPD or 0 for / */
int tasks_count; /* Max. connections */
+ int idle; /* Idle timeout in seoconds
+ or 0 for no (inf) timeout */
+ int access; /* 0 - r/w, 1 - read-only,
+ 2 - write-only,
+ 3 - browse-only */
};
/*