diff options
Diffstat (limited to 'cli/src/cli-cmd-parser.c')
-rw-r--r-- | cli/src/cli-cmd-parser.c | 101 |
1 files changed, 25 insertions, 76 deletions
diff --git a/cli/src/cli-cmd-parser.c b/cli/src/cli-cmd-parser.c index d41493b6cf7..4c86ab488c5 100644 --- a/cli/src/cli-cmd-parser.c +++ b/cli/src/cli-cmd-parser.c @@ -115,9 +115,9 @@ cli_cmd_bricks_parse (const char **words, int wordcount, int brick_index, GF_FREE (tmp_host); goto out; } - if (!valid_internet_address (host_name)) { - cli_out ("internet address '%s' does not comform to " - "standards", host_name); + if (!valid_internet_address (host_name, _gf_false)) { + cli_out ("internet address '%s' does not conform to " + "standards", host_name); } GF_FREE (tmp_host); tmp_list = gf_strdup (brick_list + 1); @@ -635,53 +635,16 @@ out: } int32_t -cli_cmd_valid_ip_list (char *iplist) -{ - int ret = 0; - char *duplist = NULL; - char *addr = NULL; - char *saveptr = NULL; - - GF_ASSERT (iplist); - duplist = gf_strdup (iplist); - - if (!duplist) { - ret = -1; - goto out; - } - - addr = strtok_r (duplist, ",", &saveptr); - if (!addr) { - ret = -1; - goto out; - } - while (addr) { - if (!valid_internet_address (addr) && - !valid_wildcard_internet_address (addr)) { - cli_out ("Invalid ip or wildcard : %s", addr); - ret= -1; - goto out; - } - addr = strtok_r (NULL, ",", &saveptr); - } -out: - if (duplist) - GF_FREE (duplist); - gf_log ("cli", GF_LOG_INFO, "Returning %d", ret); - return ret; -} - -int32_t cli_cmd_volume_set_parse (const char **words, int wordcount, dict_t **options) { - dict_t *dict = NULL; - char *volname = NULL; - int ret = -1; - int count = 0; - char *key = NULL; - char *value = NULL; - int i = 0; - char str[50] = {0,}; + dict_t *dict = NULL; + char *volname = NULL; + int ret = -1; + int count = 0; + char *key = NULL; + char *value = NULL; + int i = 0; + char str[50] = {0,}; GF_ASSERT (words); GF_ASSERT (options); @@ -703,42 +666,28 @@ cli_cmd_volume_set_parse (const char **words, int wordcount, dict_t **options) if (ret) goto out; - if (wordcount == 3) { - if (!strcmp (volname, "help")) { - ret = dict_set_str (dict, "help", volname); - if (ret) - goto out; - } else if (!strcmp (volname, "help-xml")) { - ret = dict_set_str (dict, "help-xml", volname); - if (ret) - goto out; - } else { - ret = -1; + if ((!strcmp (volname, "help") || !strcmp (volname, "help-xml")) + && wordcount == 3 ) { + ret = dict_set_str (dict, volname, volname); + if (ret) goto out; - } + } else if (wordcount < 5) { + ret = -1; + goto out; } - for (i = 3; i < wordcount; i+=2) { - key = (char *) words[i]; - value = (char *) words[i+1]; + key = (char *) words[i]; + value = (char *) words[i+1]; - if ( !key || !value) { - ret = -1; - goto out; - } + if ( !key || !value) { + ret = -1; + goto out; + } count++; - if (!strncmp ("auth.allow", key, sizeof (key)) || - !strncmp ("auth.reject", key, sizeof (key))) { - ret = cli_cmd_valid_ip_list (value); - if (ret) { - gf_log ("cli", GF_LOG_ERROR, - "invalid ips given"); - goto out; - } - } + sprintf (str, "key%d", count); ret = dict_set_str (dict, str, key); if (ret) |