diff options
author | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-01-24 19:20:24 +0000 |
---|---|---|
committer | Joel Sherrill <joel.sherrill@OARcorp.com> | 2001-01-24 19:20:24 +0000 |
commit | 38371dbebba197bb681272383053d0b364262167 (patch) | |
tree | cb5cd34c22329110b93715b1941c3f0663fda3e4 /cpukit/ftpd/ftpd.h | |
parent | 2001-01-24 Ralf Corsepius <corsepiu@faw.uni-ulm.de> (diff) | |
download | rtems-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 'cpukit/ftpd/ftpd.h')
-rw-r--r-- | cpukit/ftpd/ftpd.h | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/cpukit/ftpd/ftpd.h b/cpukit/ftpd/ftpd.h index cfc5efe69b..678baa3d2b 100644 --- a/cpukit/ftpd/ftpd.h +++ b/cpukit/ftpd/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 */ }; /* |