X-Git-Url: http://git.tuebingen.mpg.de/?p=paraslash.git;a=blobdiff_plain;f=command.c;h=0434a80f3826cfacc8cacb028062b6ac80749499;hp=69983c3f13ac155909d2e4fb84ce53b62a51711d;hb=02691a995a6ee0fe4d9078f1d82465edd4814f74;hpb=e3728fb63092fa2afdb9044cf3610c677f34b890 diff --git a/command.c b/command.c index 69983c3f..0434a80f 100644 --- a/command.c +++ b/command.c @@ -1,26 +1,17 @@ /* * Copyright (C) 1997-2007 Andre Noll * - * This program is free software; you can redistribute it and/or modify - * it 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. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111, USA. + * Licensed under the GPL v2. For licencing details see COPYING. */ /** \file command.c does client authentication and executes server commands */ #include /* gettimeofday */ +#include "para.h" /* gettimeofday */ + #include "server.cmdline.h" -#include "afs.h" +#include "afs_common.h" +#include "afh.h" #include "server.h" #include "vss.h" #include "send.h" @@ -31,8 +22,10 @@ #include "daemon.h" #include "string.h" #include "fd.h" +#include "list.h" #include "user_list.h" #include "server_command_list.h" +#include "afs_command_list.h" /** commands including options must be shorter than this */ #define MAX_COMMAND_LEN 4096 @@ -479,6 +472,10 @@ static struct server_command *get_cmd_ptr(char *name, char **handler) for (; cmd->name; cmd++) if (!strcmp(cmd->name, name)) return cmd; + /* not found, look for commands supported by afs */ + for (cmd = afs_cmds; cmd; cmd++) + if (!strcmp(cmd->name, name)) + return cmd; return NULL; } @@ -499,7 +496,10 @@ int com_help(int fd, int argc, char **argv) mmd_unlock(); ret = send_list_of_commands(fd, cmd, handler); free(handler); - return ret; + if (ret < 0) + return ret; + cmd = afs_cmds; + ret = send_list_of_commands(fd, cmd, "afs"); } /* argument given for help */ cmd = get_cmd_ptr(argv[1], &handler);