Removed some commands from anonymous users.
git-svn-id: svn://svn.h5l.se/heimdal/trunk/heimdal@802 ec53bebd-3082-4978-b11e-865c3cabbd6b
This commit is contained in:
@@ -138,14 +138,14 @@ static int yylex (void);
|
|||||||
AUTH ADAT PROT PBSZ CCC MIC
|
AUTH ADAT PROT PBSZ CCC MIC
|
||||||
CONF ENC
|
CONF ENC
|
||||||
|
|
||||||
KAUTH KLIST FIND
|
KAUTH KLIST FIND URL
|
||||||
|
|
||||||
LEXERR
|
LEXERR
|
||||||
|
|
||||||
%token <s> STRING
|
%token <s> STRING
|
||||||
%token <i> NUMBER
|
%token <i> NUMBER
|
||||||
|
|
||||||
%type <i> check_login octal_number byte_size
|
%type <i> check_login check_login_no_guest octal_number byte_size
|
||||||
%type <i> struct_code mode_code type_code form_code
|
%type <i> struct_code mode_code type_code form_code
|
||||||
%type <s> pathstring pathname password username
|
%type <s> pathstring pathname password username
|
||||||
|
|
||||||
@@ -366,23 +366,25 @@ cmd
|
|||||||
}else
|
}else
|
||||||
statcmd();
|
statcmd();
|
||||||
}
|
}
|
||||||
| DELE check_login SP pathname CRLF
|
| DELE check_login_no_guest SP pathname CRLF
|
||||||
{
|
{
|
||||||
if ($2 && $4 != NULL)
|
if ($2 && $4 != NULL)
|
||||||
delete($4);
|
delete($4);
|
||||||
if ($4 != NULL)
|
if ($4 != NULL)
|
||||||
free($4);
|
free($4);
|
||||||
}
|
}
|
||||||
| RNTO SP pathname CRLF
|
| RNTO check_login_no_guest SP pathname CRLF
|
||||||
{
|
{
|
||||||
|
if($2){
|
||||||
if (fromname) {
|
if (fromname) {
|
||||||
renamecmd(fromname, $3);
|
renamecmd(fromname, $4);
|
||||||
free(fromname);
|
free(fromname);
|
||||||
fromname = (char *) 0;
|
fromname = (char *) 0;
|
||||||
} else {
|
} else {
|
||||||
reply(503, "Bad sequence of commands.");
|
reply(503, "Bad sequence of commands.");
|
||||||
}
|
}
|
||||||
free($3);
|
}
|
||||||
|
free($4);
|
||||||
}
|
}
|
||||||
| ABOR CRLF
|
| ABOR CRLF
|
||||||
{
|
{
|
||||||
@@ -436,7 +438,7 @@ cmd
|
|||||||
if ($4 != NULL)
|
if ($4 != NULL)
|
||||||
free($4);
|
free($4);
|
||||||
}
|
}
|
||||||
| RMD check_login SP pathname CRLF
|
| RMD check_login_no_guest SP pathname CRLF
|
||||||
{
|
{
|
||||||
if ($2 && $4 != NULL)
|
if ($2 && $4 != NULL)
|
||||||
removedir($4);
|
removedir($4);
|
||||||
@@ -471,7 +473,7 @@ cmd
|
|||||||
reply(200, "Current UMASK is %03o", oldmask);
|
reply(200, "Current UMASK is %03o", oldmask);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
| SITE SP UMASK check_login SP octal_number CRLF
|
| SITE SP UMASK check_login_no_guest SP octal_number CRLF
|
||||||
{
|
{
|
||||||
int oldmask;
|
int oldmask;
|
||||||
|
|
||||||
@@ -486,7 +488,7 @@ cmd
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
| SITE SP CHMOD check_login SP octal_number SP pathname CRLF
|
| SITE SP CHMOD check_login_no_guest SP octal_number SP pathname CRLF
|
||||||
{
|
{
|
||||||
if ($4 && ($8 != NULL)) {
|
if ($4 && ($8 != NULL)) {
|
||||||
if ($6 > 0777)
|
if ($6 > 0777)
|
||||||
@@ -526,6 +528,9 @@ cmd
|
|||||||
char *p;
|
char *p;
|
||||||
size_t s;
|
size_t s;
|
||||||
|
|
||||||
|
if(guest)
|
||||||
|
reply(500, "Can't be done as guest.");
|
||||||
|
else{
|
||||||
if($4 && $6 != NULL){
|
if($4 && $6 != NULL){
|
||||||
p = strpbrk($6, " \t");
|
p = strpbrk($6, " \t");
|
||||||
if(p){
|
if(p){
|
||||||
@@ -538,6 +543,7 @@ cmd
|
|||||||
}else
|
}else
|
||||||
kauth($6, NULL);
|
kauth($6, NULL);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
if($6 != NULL)
|
if($6 != NULL)
|
||||||
free($6);
|
free($6);
|
||||||
}
|
}
|
||||||
@@ -553,6 +559,10 @@ cmd
|
|||||||
if($6 != NULL)
|
if($6 != NULL)
|
||||||
free($6);
|
free($6);
|
||||||
}
|
}
|
||||||
|
| SITE SP URL CRLF
|
||||||
|
{
|
||||||
|
reply(200, "http://www.pdc.kth.se/kth-krb/");
|
||||||
|
}
|
||||||
| STOU check_login SP pathname CRLF
|
| STOU check_login SP pathname CRLF
|
||||||
{
|
{
|
||||||
if ($2 && $4 != NULL)
|
if ($2 && $4 != NULL)
|
||||||
@@ -625,7 +635,7 @@ cmd
|
|||||||
}
|
}
|
||||||
;
|
;
|
||||||
rcmd
|
rcmd
|
||||||
: RNFR check_login SP pathname CRLF
|
: RNFR check_login_no_guest SP pathname CRLF
|
||||||
{
|
{
|
||||||
char *renamefrom();
|
char *renamefrom();
|
||||||
|
|
||||||
@@ -822,6 +832,13 @@ octal_number
|
|||||||
;
|
;
|
||||||
|
|
||||||
|
|
||||||
|
check_login_no_guest : check_login
|
||||||
|
{
|
||||||
|
$$ = $1 && !guest;
|
||||||
|
if($1 && !$$)
|
||||||
|
reply(550, "Permission denied");
|
||||||
|
}
|
||||||
|
|
||||||
check_login
|
check_login
|
||||||
: /* empty */
|
: /* empty */
|
||||||
{
|
{
|
||||||
@@ -925,6 +942,8 @@ struct tab sitetab[] = {
|
|||||||
|
|
||||||
{ "FIND", FIND, STR1, 1, "<sp> globexpr" },
|
{ "FIND", FIND, STR1, 1, "<sp> globexpr" },
|
||||||
|
|
||||||
|
{ "URL", URL, ARGS, 1, "?" },
|
||||||
|
|
||||||
{ NULL, 0, 0, 0, 0 }
|
{ NULL, 0, 0, 0, 0 }
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1318,7 +1337,7 @@ help(struct tab *ctab, char *s)
|
|||||||
}
|
}
|
||||||
lreply(214, buf);
|
lreply(214, buf);
|
||||||
}
|
}
|
||||||
reply(214, "Direct comments to ftp-bugs@%s.", hostname);
|
reply(214, "Direct comments to kth-krb-bugs@pdc.kth.se");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
upper(s);
|
upper(s);
|
||||||
|
Reference in New Issue
Block a user