summaryrefslogtreecommitdiffstats
path: root/xlators
diff options
context:
space:
mode:
authorAmar Tumballi <amarts@redhat.com>2017-10-11 17:33:20 +0530
committerjiffin tony Thottan <jthottan@redhat.com>2017-10-25 11:35:25 +0000
commitd7006089177d4ff73674ebe84ace651a3457f358 (patch)
tree8a8a80618eaf36b09dc97650450ff1c1b32bea48 /xlators
parent19fe3906c13ad360c07bb94db6b7f63024b30ef1 (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.c40
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;
}