diff options
author | Amar Tumballi <amarts@redhat.com> | 2017-10-11 17:33:20 +0530 |
---|---|---|
committer | jiffin tony Thottan <jthottan@redhat.com> | 2017-10-25 11:35:25 +0000 |
commit | d7006089177d4ff73674ebe84ace651a3457f358 (patch) | |
tree | 8a8a80618eaf36b09dc97650450ff1c1b32bea48 /xlators | |
parent | 19fe3906c13ad360c07bb94db6b7f63024b30ef1 (diff) |
protocol-auth: use the proper validation method
Currently, server protocol's init and glusterd's option
validation methods are different, causing an issue. They
should be same for having consistent behavior
Change-Id: Ibbf9a18c7192b2d77f9b7675ae7da9b8d2fe5de4
BUG: 1501315
Signed-off-by: Amar Tumballi <amarts@redhat.com>
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/protocol/server/src/server.c | 40 |
1 files changed, 7 insertions, 33 deletions
diff --git a/xlators/protocol/server/src/server.c b/xlators/protocol/server/src/server.c index e47acb28637..6dc9d0fffb0 100644 --- a/xlators/protocol/server/src/server.c +++ b/xlators/protocol/server/src/server.c @@ -386,9 +386,6 @@ _check_for_auth_option (dict_t *d, char *k, data_t *v, int ret = 0; xlator_t *xl = NULL; char *tail = NULL; - char *tmp_addr_list = NULL; - char *addr = NULL; - char *tmp_str = NULL; xl = tmp; @@ -417,38 +414,15 @@ _check_for_auth_option (dict_t *d, char *k, data_t *v, * valid auth.allow.<xlator> * Now we verify the ip address */ - if (!strcmp (v->data, "*")) { - ret = 0; - goto out; - } - - /* TODO-SUBDIR-MOUNT: fix the format */ - tmp_addr_list = gf_strdup (v->data); - addr = strtok_r (tmp_addr_list, ",", &tmp_str); - if (!addr) - addr = v->data; - - while (addr) { - if (valid_internet_address (addr, _gf_true)) { - ret = 0; - } else { - ret = -1; - gf_msg (xl->name, GF_LOG_ERROR, 0, - PS_MSG_INTERNET_ADDR_ERROR, - "internet address '%s'" - " does not conform to" - " standards.", addr); - goto out; - } - if (tmp_str) - addr = strtok_r (NULL, ",", &tmp_str); - else - addr = NULL; - } + ret = xlator_option_validate_addr_list (xl, "auth-*", v->data, + NULL, NULL); + if (ret) + gf_msg (xl->name, GF_LOG_ERROR, 0, + PS_MSG_INTERNET_ADDR_ERROR, + "internet address '%s' does not conform " + "to standards.", v->data); } out: - GF_FREE (tmp_addr_list); - return ret; } |