libglusterfs: Fix valid_host_name for consecutive dots

The valid_host_name() function must reject addresses with consecutive
dots in them.

Change-Id: I1749de80c66e8fbad63b2e014f79e0203906030e
BUG: 977246
Signed-off-by: Kaushal M <kaushal@redhat.com>
Reviewed-on: http://review.gluster.org/5249
Reviewed-by: Amar Tumballi <amarts@redhat.com>
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Vijay Bellur <vbellur@redhat.com>
This commit is contained in:
Kaushal M 2013-06-24 12:50:32 +05:30 committed by Vijay Bellur
parent ac62c953e4
commit 7062eda157
2 changed files with 29 additions and 0 deletions

View File

@ -1784,6 +1784,14 @@ valid_host_name (char *address, int length)
goto out;
}
/* Check for consecutive dots, which is invalid in a hostname and is
* ignored by strtok()
*/
if (strstr (dup_addr, "..")) {
ret = 0;
goto out;
}
/* gen-name */
temp_str = strtok_r (dup_addr, ".", &save_ptr);
do {

21
tests/bugs/bug-977246.t Normal file
View File

@ -0,0 +1,21 @@
#! /bin/bash
# This test checks if address validation, correctly catches hostnames
# with consective dots, such as 'example..org', as invalid
. $(dirname $0)/../include.rc
cleanup;
TEST glusterd
TEST pidof glusterd
TEST $CLI volume create $V0 $H0:$B0/${V0}1
TEST $CLI volume info $V0
TEST $CLI volume start $V0
TEST ! $CLI volume set $V0 auth.allow example..org
TEST $CLI volume stop $V0
cleanup;