| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
* pppd/ipcp.c, rtems_servers/ftpd.c: Add include files to resolve
warnings.
|
|
|
|
|
|
|
| |
* rtems_servers/ftpd.c: Remove unused variable buf.
* pppd/md5.c: #include <string.h> to make gcc31 happy.
* rtems_telnetd/telnetd.c: #include <string.h> to make gcc31 happy.
* rtems_webserver/webmain.c: Remove unused variable dir, cp.
|
|
|
|
| |
* rtems_servers/ftpd.c: Correct argument so hooks work again.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* rtems_servers/ftp.d: Following changes:
- Hacks with current dir and root dir removed in favor of new libio
support for task-local current and root directories.
- Bug in `close_data_socket()' introduced by previous change fixed.
- `command_pasv()' changed to set timeout on socket we are listening
on and code fixed to don't close socket twice on error.
- `serr()' changed to clear `errno'.
- `data_socket()' changed to clear `errno' before `bind()'.
- `session()' changed to clear `errno' before processing session.
- `close_data_socket()' fixed to close both active and passive sockets
- Initialize info->data_socket to -1 in `daemon()'
- Initialize `fname' to empty string in `exec_command()'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
|
|
| |
sin_port.
|
|
|