From e5221d288e41d29d89d52f8deab657d2285a852c Mon Sep 17 00:00:00 2001 From: Niels de Vos Date: Sun, 26 Jun 2016 18:50:27 +0200 Subject: nfs: allow hostnames with dashes in exports/netgroups files Hostnames with dashes (like "vagrant-testVM") are not correctly parsed when reading the exports/netgroups files. This bacomes obvious when running ./run-tests-in-vagrant.sh because it causes tests/basic/mount-nfs-auth.t and tests/basic/netgroup_parsing.t to fail. The regex for hostname (in exports) and the entry and hostname (netgroups) parsing does not include the "-" sign, and hence the hostnames are splitted at it. BUG: 1350237 Change-Id: I38146a283561e1fa386cc841c43fd3b1e30a87ad Signed-off-by: Niels de Vos Reviewed-on: http://review.gluster.org/14809 Smoke: Gluster Build System NetBSD-regression: NetBSD Build System CentOS-regression: Gluster Build System Reviewed-by: Jeff Darcy --- xlators/nfs/server/src/netgroups.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'xlators/nfs/server/src/netgroups.c') diff --git a/xlators/nfs/server/src/netgroups.c b/xlators/nfs/server/src/netgroups.c index e9c0838a5cc..1003b72ef8c 100644 --- a/xlators/nfs/server/src/netgroups.c +++ b/xlators/nfs/server/src/netgroups.c @@ -735,11 +735,16 @@ _parse_ng_host (char *ng_str, struct netgroup_host **ngh) if (ret < 0) goto out; + gf_msg_trace (GF_NG, 0, "parsing host string: %s", ng_str); + ng_host = _netgroup_host_init (); GF_CHECK_ALLOC (ng_host, ret, free_and_out); /* Sets ret to -ENOMEM on * failure. */ while ((match = parser_get_next_match (ng_host_parser)) != NULL) { + gf_msg_trace (GF_NG, 0, "found match: %s (parts=%d)", match, + parts); + switch (parts) { case 0: ng_host->hostname = match; -- cgit