Addition of extra check in debugcli
This commit is contained in:
@ -195,5 +195,8 @@ admin_test_user(char *user)
|
|||||||
void
|
void
|
||||||
dcb_PrintAdminUsers(DCB *dcb)
|
dcb_PrintAdminUsers(DCB *dcb)
|
||||||
{
|
{
|
||||||
dcb_usersPrint(dcb, users);
|
if (users)
|
||||||
|
dcb_usersPrint(dcb, users);
|
||||||
|
else
|
||||||
|
dcb_printf(dcb, "No administrtion users have been defined.\n");
|
||||||
}
|
}
|
||||||
|
|||||||
@ -67,7 +67,7 @@ CONFIG_CONTEXT *cntxt = (CONFIG_CONTEXT *)userdata;
|
|||||||
CONFIG_CONTEXT *ptr = cntxt;
|
CONFIG_CONTEXT *ptr = cntxt;
|
||||||
CONFIG_PARAMETER *param;
|
CONFIG_PARAMETER *param;
|
||||||
|
|
||||||
if (strcmp(section, "gateway") == 0)
|
if (strcmp(section, "gateway") == 0 || strcasecmp(section, "MaxScale") == 0)
|
||||||
{
|
{
|
||||||
return handle_global_item(name, value);
|
return handle_global_item(name, value);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -238,10 +238,11 @@ convert_arg(char *arg, int arg_type)
|
|||||||
int
|
int
|
||||||
execute_cmd(CLI_SESSION *cli)
|
execute_cmd(CLI_SESSION *cli)
|
||||||
{
|
{
|
||||||
DCB *dcb = cli->session->client;
|
DCB *dcb = cli->session->client;
|
||||||
int argc, i, j, found = 0;
|
int argc, i, j, found = 0;
|
||||||
char *args[MAXARGS];
|
char *args[MAXARGS];
|
||||||
char *saveptr, *delim = " \t\r\n";
|
char *saveptr, *delim = " \t\r\n";
|
||||||
|
unsigned long arg1, arg2, arg3;
|
||||||
|
|
||||||
/* Tokenize the input string */
|
/* Tokenize the input string */
|
||||||
args[0] = strtok_r(cli->cmdbuf, delim, &saveptr);
|
args[0] = strtok_r(cli->cmdbuf, delim, &saveptr);
|
||||||
@ -321,22 +322,40 @@ char *saveptr, *delim = " \t\r\n";
|
|||||||
cmds[i].options[j].fn(dcb);
|
cmds[i].options[j].fn(dcb);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
cmds[i].options[j].fn(dcb, convert_arg(args[2],
|
arg1 = convert_arg(args[2],cmds[i].options[j].arg_types[0]);
|
||||||
cmds[i].options[j].arg_types[0]));
|
if (arg1)
|
||||||
|
cmds[i].options[j].fn(dcb, arg1);
|
||||||
|
else
|
||||||
|
dcb_printf(dcb, "Invalid argument: %s\n",
|
||||||
|
args[2]);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
cmds[i].options[j].fn(dcb, convert_arg(args[2],
|
arg1 = convert_arg(args[2],cmds[i].options[j].arg_types[0]);
|
||||||
cmds[i].options[j].arg_types[0]),
|
arg2 = convert_arg(args[3],cmds[i].options[j].arg_types[1]);
|
||||||
convert_arg(args[3],
|
if (arg1 && arg2)
|
||||||
cmds[i].options[j].arg_types[1]));
|
cmds[i].options[j].fn(dcb, arg1, arg2);
|
||||||
|
else if (arg1 == 0)
|
||||||
|
dcb_printf(dcb, "Invalid argument: %s\n",
|
||||||
|
args[2]);
|
||||||
|
else
|
||||||
|
dcb_printf(dcb, "Invalid argument: %s\n",
|
||||||
|
args[3]);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
cmds[i].options[j].fn(dcb, convert_arg(args[2],
|
arg1 = convert_arg(args[2],cmds[i].options[j].arg_types[0]);
|
||||||
cmds[i].options[j].arg_types[0]),
|
arg2 = convert_arg(args[3],cmds[i].options[j].arg_types[1]);
|
||||||
convert_arg(args[3],
|
arg3 = convert_arg(args[4],cmds[i].options[j].arg_types[2]);
|
||||||
cmds[i].options[j].arg_types[1]),
|
if (arg1 && arg2 && arg3)
|
||||||
convert_arg(args[4],
|
cmds[i].options[j].fn(dcb, arg1, arg2, arg3);
|
||||||
cmds[i].options[j].arg_types[2]));
|
else if (arg1 == 0)
|
||||||
|
dcb_printf(dcb, "Invalid argument: %s\n",
|
||||||
|
args[2]);
|
||||||
|
else if (arg2 == 0)
|
||||||
|
dcb_printf(dcb, "Invalid argument: %s\n",
|
||||||
|
args[3]);
|
||||||
|
else if (arg3 == 0)
|
||||||
|
dcb_printf(dcb, "Invalid argument: %s\n",
|
||||||
|
args[4]);
|
||||||
}
|
}
|
||||||
found = 1;
|
found = 1;
|
||||||
}
|
}
|
||||||
@ -502,7 +521,7 @@ char *err;
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
if ((err = admin_add_user(user, passwd)) == NULL)
|
if ((err = admin_add_user(user, passwd)) == NULL)
|
||||||
dcb_printf(dcb, "User %s has been succesfully added.\n", user);
|
dcb_printf(dcb, "User %s has been successfully added.\n", user);
|
||||||
else
|
else
|
||||||
dcb_printf(dcb, "Failed to add new user. %s\n", err);
|
dcb_printf(dcb, "Failed to add new user. %s\n", err);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user