From owner-freebsd-bugs Wed Aug 28 6:40:13 2002 Delivered-To: freebsd-bugs@hub.freebsd.org Received: from mx1.FreeBSD.org (mx1.FreeBSD.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id 3AF6437B401 for ; Wed, 28 Aug 2002 06:40:04 -0700 (PDT) Received: from freefall.freebsd.org (freefall.FreeBSD.org [216.136.204.21]) by mx1.FreeBSD.org (Postfix) with ESMTP id 4CE7943E72 for ; Wed, 28 Aug 2002 06:40:03 -0700 (PDT) (envelope-from gnats@FreeBSD.org) Received: from freefall.freebsd.org (gnats@localhost [127.0.0.1]) by freefall.freebsd.org (8.12.4/8.12.4) with ESMTP id g7SDe3JU076929 for ; Wed, 28 Aug 2002 06:40:03 -0700 (PDT) (envelope-from gnats@freefall.freebsd.org) Received: (from gnats@localhost) by freefall.freebsd.org (8.12.4/8.12.4/Submit) id g7SDe3kU076928; Wed, 28 Aug 2002 06:40:03 -0700 (PDT) Date: Wed, 28 Aug 2002 06:40:03 -0700 (PDT) Message-Id: <200208281340.g7SDe3kU076928@freefall.freebsd.org> To: freebsd-bugs@FreeBSD.org Cc: From: Maxim Konovalov Subject: Re: bin/42108: ftpd works wrong if ACCT command was used. Reply-To: Maxim Konovalov Sender: owner-freebsd-bugs@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org The following reply was made to PR bin/42108; it has been noted by GNATS. From: Maxim Konovalov To: Alex Masterov Cc: bug-followup@FreeBSD.org, , Subject: Re: bin/42108: ftpd works wrong if ACCT command was used. Date: Wed, 28 Aug 2002 17:33:25 +0400 (MSD) Please try a patch below. It is for RELENG_4_6_2_RELEASE. Yar, could you please review/commit the changes? yylex() returns NOTIMPL for not implemented commands and only for them. NOTIMPL is only user of nack() now and we can move its functionality to NOTIMPL. As far as I understand, OpenBSD has this bug too, so I CC'ed millert@OpenBSD.org, an author of rev. 1.26 ftpcmd.y. Index: ftpcmd.y =================================================================== RCS file: /home/ncvs/src/libexec/ftpd/ftpcmd.y,v retrieving revision 1.16.2.9 diff -u -r1.16.2.9 ftpcmd.y --- ftpcmd.y 15 Apr 2002 15:41:53 -0000 1.16.2.9 +++ ftpcmd.y 28 Aug 2002 13:17:03 -0000 @@ -135,7 +135,7 @@ UMASK IDLE CHMOD MDFIVE - LEXERR + LEXERR NOTIMPL %token STRING %token NUMBER @@ -144,7 +144,7 @@ %type check_login_ro check_login_epsv %type struct_code mode_code type_code form_code %type pathstring pathname password username -%type ALL +%type ALL NOTIMPL %start cmd_list @@ -753,6 +753,10 @@ reply(221, "Goodbye."); dologout(0); } + | NOTIMPL + { + nack($1); + } | error { yyclearin; /* discard lookahead data */ @@ -1294,12 +1298,10 @@ p = lookup(cmdtab, cbuf); cbuf[cpos] = c; if (p != 0) { - if (p->implemented == 0) { - nack(p->name); - return (LEXERR); - } - state = p->state; yylval.s = p->name; + if (p->implemented == 0) + return (NOTIMPL); + state = p->state; return (p->token); } break; @@ -1318,13 +1320,12 @@ p = lookup(sitetab, cp); cbuf[cpos] = c; if (guest == 0 && p != 0) { + yylval.s = p->name; if (p->implemented == 0) { state = CMD; - nack(p->name); - return (LEXERR); + return (NOTIMPL); } state = p->state; - yylval.s = p->name; return (p->token); } state = CMD; %%% -- Maxim Konovalov, maxim@FreeBSD.org To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-bugs" in the body of the message