|
|
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
|
|
#
|
|
|
|
# Filename: package/.../wu-ftpd/ftpcmd_y_fix.patch
|
|
|
|
# Copyright (C) 2004 - 2006 The T2 SDE Project
|
|
|
|
# Copyright (C) 1998 - 2003 Clifford Wolf
|
|
|
|
#
|
|
|
|
# More information can be found in the files COPYING and README.
|
|
|
|
#
|
|
|
|
# This patch file is dual-licensed. It is available under the license the
|
|
|
|
# patched project is licensed under, as long as it is an OpenSource license
|
|
|
|
# as defined at http://www.opensource.org/ (e.g. BSD, X11) or under the terms
|
|
|
|
# of the GNU General Public License as published by the Free Software
|
|
|
|
# Foundation; either version 2 of the License, or (at your option) any later
|
|
|
|
# version.
|
|
|
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
|
|
|
|
--- ./src/ftpcmd.y.orig 2003-01-26 17:59:52.000000000 +0100
|
|
|
|
+++ ./src/ftpcmd.y 2003-01-26 18:03:50.000000000 +0100
|
|
|
|
@@ -194,7 +194,7 @@
|
|
|
|
|
|
|
|
cmd_list: /* empty */
|
|
|
|
| cmd_list cmd
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
fromname = (char *) NULL;
|
|
|
|
restart_point = 0;
|
|
|
|
}
|
|
|
|
@@ -202,14 +202,14 @@
|
|
|
|
;
|
|
|
|
|
|
|
|
cmd: USER SP username CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
user($3);
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "USER %s", $3);
|
|
|
|
free($3);
|
|
|
|
}
|
|
|
|
| PASS SP password CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
if (anonymous)
|
|
|
|
syslog(LOG_INFO, "PASS %s", $3);
|
|
|
|
@@ -220,7 +220,7 @@
|
|
|
|
free($3);
|
|
|
|
}
|
|
|
|
| PORT check_login SP host_port CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "PORT");
|
|
|
|
/* H* port fix, part B: admonish the twit.
|
|
|
|
@@ -252,7 +252,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
| PASV check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
/* Require login for PASV, too. This actually fixes a bug -- telnet to an
|
|
|
|
unfixed wu-ftpd and type PASV first off, and it crashes! */
|
|
|
|
if (log_commands)
|
|
|
|
@@ -265,7 +265,7 @@
|
|
|
|
#endif
|
|
|
|
}
|
|
|
|
| TYPE check_login SP type_code CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "TYPE %s", typenames[cmd_type]);
|
|
|
|
if ($2)
|
|
|
|
@@ -305,7 +305,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
| STRU check_login SP struct_code CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "STRU %s", strunames[$4]);
|
|
|
|
if ($2)
|
|
|
|
@@ -320,7 +320,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
| MODE check_login SP mode_code CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "MODE %s", modenames[$4]);
|
|
|
|
if ($2)
|
|
|
|
@@ -335,21 +335,21 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
| ALLO check_login SP NUMBER CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "ALLO %d", $4);
|
|
|
|
if ($2)
|
|
|
|
reply(202, "ALLO command ignored.");
|
|
|
|
}
|
|
|
|
| ALLO check_login SP NUMBER SP R SP NUMBER CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "ALLO %d R %d", $4, $8);
|
|
|
|
if ($2)
|
|
|
|
reply(202, "ALLO command ignored.");
|
|
|
|
}
|
|
|
|
| RETR check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "RETR %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 != NULL && !restrict_check($4)) {
|
|
|
|
@@ -360,7 +360,7 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| STOR check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "STOR %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 != NULL && !restrict_check($4))
|
|
|
|
@@ -369,7 +369,7 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| APPE check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "APPE %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 != NULL && !restrict_check($4))
|
|
|
|
@@ -378,14 +378,14 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| NLST check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "NLST");
|
|
|
|
if ($2 && !restrict_check("."))
|
|
|
|
send_file_list("");
|
|
|
|
}
|
|
|
|
| NLST check_login SP STRING CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "NLST %s", $4);
|
|
|
|
if ($2 && $4 && !restrict_check($4))
|
|
|
|
@@ -394,7 +394,7 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| LIST check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "LIST");
|
|
|
|
if ($2 && !restrict_check(".")) {
|
|
|
|
@@ -410,7 +410,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
| LIST check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "LIST %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 != NULL && !restrict_list_check($4)) {
|
|
|
|
@@ -428,7 +428,7 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| STAT check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "STAT %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 != NULL && !restrict_check($4))
|
|
|
|
@@ -437,14 +437,14 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| STAT check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "STAT");
|
|
|
|
if ($2)
|
|
|
|
statcmd();
|
|
|
|
}
|
|
|
|
| DELE check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "DELE %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 != NULL && !restrict_check($4))
|
|
|
|
@@ -453,7 +453,7 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| RNTO check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "RNTO %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 && !restrict_check($4)) {
|
|
|
|
@@ -470,21 +470,21 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| ABOR check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "ABOR");
|
|
|
|
if ($2)
|
|
|
|
reply(225, "ABOR command successful.");
|
|
|
|
}
|
|
|
|
| CWD check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "CWD");
|
|
|
|
if ($2 && !restrict_check(home))
|
|
|
|
cwd(home);
|
|
|
|
}
|
|
|
|
| CWD check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "CWD %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 != NULL && !restrict_check($4))
|
|
|
|
@@ -493,14 +493,14 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| HELP check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "HELP");
|
|
|
|
if ($2)
|
|
|
|
help(cmdtab, (char *) NULL);
|
|
|
|
}
|
|
|
|
| HELP check_login SP STRING CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
register char *cp = (char *) $4;
|
|
|
|
|
|
|
|
if (log_commands)
|
|
|
|
@@ -521,14 +521,14 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| NOOP check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "NOOP");
|
|
|
|
if ($2)
|
|
|
|
reply(200, "NOOP command successful.");
|
|
|
|
}
|
|
|
|
| MKD check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "MKD %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 != NULL && !restrict_check($4))
|
|
|
|
@@ -537,7 +537,7 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| RMD check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "RMD %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 != NULL && !restrict_check($4))
|
|
|
|
@@ -546,14 +546,14 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| PWD check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "PWD");
|
|
|
|
if ($2)
|
|
|
|
pwd();
|
|
|
|
}
|
|
|
|
| CDUP check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "CDUP");
|
|
|
|
if ($2)
|
|
|
|
@@ -564,14 +564,14 @@
|
|
|
|
}
|
|
|
|
|
|
|
|
| SITE check_login SP HELP CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE HELP");
|
|
|
|
if ($2)
|
|
|
|
help(sitetab, (char *) NULL);
|
|
|
|
}
|
|
|
|
| SITE check_login SP HELP SP STRING CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE HELP %s", $6);
|
|
|
|
if ($2)
|
|
|
|
@@ -580,7 +580,7 @@
|
|
|
|
free($6);
|
|
|
|
}
|
|
|
|
| SITE check_login SP UMASK CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
mode_t oldmask;
|
|
|
|
|
|
|
|
if (log_commands)
|
|
|
|
@@ -592,7 +592,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
| SITE check_login SP UMASK SP octal_number CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
mode_t oldmask;
|
|
|
|
struct aclmember *entry = NULL;
|
|
|
|
int ok = 1;
|
|
|
|
@@ -620,7 +620,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
| SITE check_login SP CHMOD SP octal_number SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
struct aclmember *entry = NULL;
|
|
|
|
int ok = (anonymous ? 0 : 1);
|
|
|
|
|
|
|
|
@@ -670,7 +670,7 @@
|
|
|
|
free($8);
|
|
|
|
}
|
|
|
|
| SITE check_login SP IDLE CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE IDLE");
|
|
|
|
if ($2)
|
|
|
|
@@ -679,7 +679,7 @@
|
|
|
|
timeout_idle, timeout_maxidle);
|
|
|
|
}
|
|
|
|
| SITE check_login SP IDLE SP NUMBER CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE IDLE %d", $6);
|
|
|
|
if ($2)
|
|
|
|
@@ -694,7 +694,7 @@
|
|
|
|
}
|
|
|
|
}
|
|
|
|
| SITE check_login SP GROUP SP username CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
#ifndef NO_PRIVATE
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE GROUP %s", $6);
|
|
|
|
@@ -704,7 +704,7 @@
|
|
|
|
#endif /* !NO_PRIVATE */
|
|
|
|
}
|
|
|
|
| SITE check_login SP GPASS SP password CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
#ifndef NO_PRIVATE
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE GPASS password");
|
|
|
|
@@ -714,7 +714,7 @@
|
|
|
|
#endif /* !NO_PRIVATE */
|
|
|
|
}
|
|
|
|
| SITE check_login SP GPASS CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
#ifndef NO_PRIVATE
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE GPASS");
|
|
|
|
@@ -723,7 +723,7 @@
|
|
|
|
#endif /* !NO_PRIVATE */
|
|
|
|
}
|
|
|
|
| SITE check_login SP NEWER SP STRING CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE NEWER %s", $6);
|
|
|
|
#ifdef SITE_NEWER
|
|
|
|
@@ -735,7 +735,7 @@
|
|
|
|
free($6);
|
|
|
|
}
|
|
|
|
| SITE check_login SP NEWER SP STRING SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE NEWER %s %s", $6,
|
|
|
|
CHECKNULL($8));
|
|
|
|
@@ -750,7 +750,7 @@
|
|
|
|
free($8);
|
|
|
|
}
|
|
|
|
| SITE check_login SP MINFO SP STRING CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE MINFO %s", $6);
|
|
|
|
#ifdef SITE_NEWER
|
|
|
|
@@ -762,7 +762,7 @@
|
|
|
|
free($6);
|
|
|
|
}
|
|
|
|
| SITE check_login SP MINFO SP STRING SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE MINFO %s %s", $6,
|
|
|
|
CHECKNULL($8));
|
|
|
|
@@ -777,7 +777,7 @@
|
|
|
|
free($8);
|
|
|
|
}
|
|
|
|
| SITE check_login SP INDEX SP STRING CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
/* this is just for backward compatibility since we
|
|
|
|
* thought of INDEX before we thought of EXEC
|
|
|
|
*/
|
|
|
|
@@ -792,7 +792,7 @@
|
|
|
|
free($6);
|
|
|
|
}
|
|
|
|
| SITE check_login SP EXEC SP STRING CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (!restricted_user && $2 != 0 && $6 != NULL) {
|
|
|
|
(void) site_exec((char *) $6);
|
|
|
|
}
|
|
|
|
@@ -801,7 +801,7 @@
|
|
|
|
}
|
|
|
|
|
|
|
|
| STOU check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "STOU %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 && !restrict_check($4))
|
|
|
|
@@ -810,7 +810,7 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| SYST check_login CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SYST");
|
|
|
|
if ($2)
|
|
|
|
@@ -834,7 +834,7 @@
|
|
|
|
* using with RESTART (we just count bytes).
|
|
|
|
*/
|
|
|
|
| SIZE check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SIZE %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 && !restrict_check($4)) {
|
|
|
|
@@ -854,7 +854,7 @@
|
|
|
|
* not necessarily 3 digits)
|
|
|
|
*/
|
|
|
|
| MDTM check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "MDTM %s", CHECKNULL($4));
|
|
|
|
if ($2 && $4 && !restrict_check($4)) {
|
|
|
|
@@ -879,7 +879,7 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| QUIT CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "QUIT");
|
|
|
|
#ifdef TRANSFER_COUNT
|
|
|
|
@@ -893,13 +893,13 @@
|
|
|
|
dologout(0);
|
|
|
|
}
|
|
|
|
| error CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
yyerrok;
|
|
|
|
}
|
|
|
|
;
|
|
|
|
|
|
|
|
rcmd: RNFR check_login SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "RNFR %s", CHECKNULL($4));
|
|
|
|
@@ -912,7 +912,7 @@
|
|
|
|
free($4);
|
|
|
|
}
|
|
|
|
| REST check_login SP byte_size CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "REST %d", (int) restart_point);
|
|
|
|
if ($2) {
|
|
|
|
@@ -924,14 +924,14 @@
|
|
|
|
}
|
|
|
|
|
|
|
|
| SITE check_login SP ALIAS CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE ALIAS");
|
|
|
|
if ($2)
|
|
|
|
alias((char *) NULL);
|
|
|
|
}
|
|
|
|
| SITE check_login SP ALIAS SP STRING CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE ALIAS %s", $6);
|
|
|
|
if ($2)
|
|
|
|
@@ -940,21 +940,21 @@
|
|
|
|
free($6);
|
|
|
|
}
|
|
|
|
| SITE check_login SP GROUPS CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE GROUPS");
|
|
|
|
if ($2)
|
|
|
|
print_groups();
|
|
|
|
}
|
|
|
|
| SITE check_login SP CDPATH CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE CDPATH");
|
|
|
|
if ($2)
|
|
|
|
cdpath();
|
|
|
|
}
|
|
|
|
| SITE check_login SP CHECKMETHOD SP method CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE CHECKMETHOD %s", CHECKNULL($6));
|
|
|
|
if (($2) && ($6 != NULL))
|
|
|
|
@@ -963,14 +963,14 @@
|
|
|
|
free($6);
|
|
|
|
}
|
|
|
|
| SITE check_login SP CHECKMETHOD CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE CHECKMETHOD");
|
|
|
|
if ($2)
|
|
|
|
ShowCheckMethod();
|
|
|
|
}
|
|
|
|
| SITE check_login SP CHECKSUM SP pathname CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE CHECKSUM %s", CHECKNULL($6));
|
|
|
|
if (($2) && ($6 != NULL) && (!restrict_check($6)))
|
|
|
|
@@ -979,7 +979,7 @@
|
|
|
|
free($6);
|
|
|
|
}
|
|
|
|
| SITE check_login SP CHECKSUM CRLF
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (log_commands)
|
|
|
|
syslog(LOG_INFO, "SITE CHECKSUM");
|
|
|
|
if ($2)
|
|
|
|
@@ -991,7 +991,7 @@
|
|
|
|
;
|
|
|
|
|
|
|
|
password: /* empty */
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = (char *) malloc(1);
|
|
|
|
$$[0] = '\0';
|
|
|
|
}
|
|
|
|
@@ -1002,7 +1002,7 @@
|
|
|
|
;
|
|
|
|
|
|
|
|
host_port: NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER COMMA NUMBER
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
register char *a, *p;
|
|
|
|
|
|
|
|
a = (char *) &cliaddr;
|
|
|
|
@@ -1017,91 +1017,91 @@
|
|
|
|
;
|
|
|
|
|
|
|
|
form_code: N
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = FORM_N;
|
|
|
|
}
|
|
|
|
| T
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = FORM_T;
|
|
|
|
}
|
|
|
|
| C
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = FORM_C;
|
|
|
|
}
|
|
|
|
;
|
|
|
|
|
|
|
|
type_code: A
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
cmd_type = TYPE_A;
|
|
|
|
cmd_form = FORM_N;
|
|
|
|
}
|
|
|
|
| A SP form_code
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
cmd_type = TYPE_A;
|
|
|
|
cmd_form = $3;
|
|
|
|
}
|
|
|
|
| E
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
cmd_type = TYPE_E;
|
|
|
|
cmd_form = FORM_N;
|
|
|
|
}
|
|
|
|
| E SP form_code
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
cmd_type = TYPE_E;
|
|
|
|
cmd_form = $3;
|
|
|
|
}
|
|
|
|
| I
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
cmd_type = TYPE_I;
|
|
|
|
}
|
|
|
|
| L
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
cmd_type = TYPE_L;
|
|
|
|
cmd_bytesz = NBBY;
|
|
|
|
}
|
|
|
|
| L SP byte_size
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
cmd_type = TYPE_L;
|
|
|
|
cmd_bytesz = $3;
|
|
|
|
}
|
|
|
|
/* this is for a bug in the BBN ftp */
|
|
|
|
| L byte_size
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
cmd_type = TYPE_L;
|
|
|
|
cmd_bytesz = $2;
|
|
|
|
}
|
|
|
|
;
|
|
|
|
|
|
|
|
struct_code: F
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = STRU_F;
|
|
|
|
}
|
|
|
|
| R
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = STRU_R;
|
|
|
|
}
|
|
|
|
| P
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = STRU_P;
|
|
|
|
}
|
|
|
|
;
|
|
|
|
|
|
|
|
mode_code: S
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = MODE_S;
|
|
|
|
}
|
|
|
|
| B
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = MODE_B;
|
|
|
|
}
|
|
|
|
| C
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
$$ = MODE_C;
|
|
|
|
}
|
|
|
|
;
|
|
|
|
|
|
|
|
pathname: pathstring
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
/*
|
|
|
|
* Problem: this production is used for all pathname
|
|
|
|
* processing, but only gives a 550 error reply.
|
|
|
|
@@ -1193,7 +1193,7 @@
|
|
|
|
;
|
|
|
|
|
|
|
|
octal_number: NUMBER
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
register int ret, dec, multby, digit;
|
|
|
|
|
|
|
|
/*
|
|
|
|
@@ -1218,7 +1218,7 @@
|
|
|
|
;
|
|
|
|
|
|
|
|
check_login: /* empty */
|
|
|
|
- = {
|
|
|
|
+ {
|
|
|
|
if (logged_in)
|
|
|
|
$$ = 1;
|
|
|
|
else {
|