From 28f373d89fba7266473c952d9c2bf6ec5f02628c Mon Sep 17 00:00:00 2001 From: Kaushal M Date: Mon, 9 Apr 2012 12:17:16 +0530 Subject: xlator/server,xlator/nfs : Fix authentication for address lists Fixes authentication problems when address lists are given for auth.{allow,reject} and nfs.rpc-auth-{allow,reject}. Change-Id: I9959ebfa6820aef52c883372e1085660560e1e73 BUG: 810179 Signed-off-by: Kaushal M Reviewed-on: http://review.gluster.com/3104 Tested-by: Gluster Build System Reviewed-by: Amar Tumballi Reviewed-by: Vijay Bellur --- rpc/rpc-lib/src/rpcsvc.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'rpc/rpc-lib') diff --git a/rpc/rpc-lib/src/rpcsvc.c b/rpc/rpc-lib/src/rpcsvc.c index 515ec6727..a4f74d8b5 100644 --- a/rpc/rpc-lib/src/rpcsvc.c +++ b/rpc/rpc-lib/src/rpcsvc.c @@ -1884,6 +1884,7 @@ rpcsvc_transport_peer_check_search (dict_t *options, char *pattern, char *clstr) int ret = -1; char *addrtok = NULL; char *addrstr = NULL; + char *dup_addrstr = NULL; char *svptr = NULL; if ((!options) || (!clstr)) @@ -1903,7 +1904,8 @@ rpcsvc_transport_peer_check_search (dict_t *options, char *pattern, char *clstr) goto err; } - addrtok = strtok_r (addrstr, ",", &svptr); + dup_addrstr = gf_strdup (addrstr); + addrtok = strtok_r (dup_addrstr, ",", &svptr); while (addrtok) { /* CASEFOLD not present on Solaris */ @@ -1920,6 +1922,8 @@ rpcsvc_transport_peer_check_search (dict_t *options, char *pattern, char *clstr) ret = -1; err: + if (dup_addrstr) + GF_FREE (dup_addrstr); return ret; } -- cgit