diff options
| author | Sachidananda <sac@gluster.com> | 2011-01-25 05:32:01 +0000 | 
|---|---|---|
| committer | Anand V. Avati <avati@dev.gluster.com> | 2011-01-27 12:18:05 -0800 | 
| commit | 066b1809876ba156d925edcb8fb470ee90319d3c (patch) | |
| tree | 0bb4be38efac8773cf1604460288838e684989a3 /rpc | |
| parent | 7691550a5bd281e9d21771b37066d44434e92934 (diff) | |
Move hostname, ip address validating functions to libglusterfs.
hostname and ip address validation functions are duplicated in several
source files. Move them to libglusterfs.
Signed-off-by: Sachidananda Urs <sac@gluster.com>
Signed-off-by: Anand V. Avati <avati@dev.gluster.com>
BUG: 2249 (Problems with hostname validation)
URL: http://bugs.gluster.com/cgi-bin/bugzilla3/show_bug.cgi?id=2249
Diffstat (limited to 'rpc')
| -rw-r--r-- | rpc/rpc-lib/src/rpc-transport.c | 122 | 
1 files changed, 0 insertions, 122 deletions
diff --git a/rpc/rpc-lib/src/rpc-transport.c b/rpc/rpc-lib/src/rpc-transport.c index 249c9398f79..61e31e9038e 100644 --- a/rpc/rpc-lib/src/rpc-transport.c +++ b/rpc/rpc-lib/src/rpc-transport.c @@ -42,128 +42,6 @@  #define GF_OPTION_LIST_EMPTY(_opt) (_opt->value[0] == NULL)  #endif -/* RFC 1123 & 952 */ -static char -valid_host_name (char *address, int length) -{ -        int i = 0; -        char ret = 1; - -        if ((length > 75) || (length == 1)) { -                ret = 0; -                goto out; -        } - -        if (!isalnum (address[length - 1])) { -                ret = 0; -                goto out; -        } - -        for (i = 0; i < length; i++) { -                if (!isalnum (address[i]) && (address[i] != '.') -                    && (address[i] != '-')) { -                        ret = 0; -                        goto out; -                } -        } - -out: -        return ret; -} - -static char -valid_ipv4_address (char *address, int length) -{ -        int octets = 0; -        int value = 0; -        char *tmp = NULL, *ptr = NULL, *prev = NULL, *endptr = NULL; -        char ret = 1; - -        tmp = gf_strdup (address); -        prev = strtok_r (tmp, ".", &ptr); - -        while (prev != NULL) -        { -                octets++; -                value = strtol (prev, &endptr, 10); -                if ((value > 255) || (value < 0) || (endptr != NULL)) { -                        ret = 0; -                        goto out; -                } - -                prev = strtok_r (NULL, ".", &ptr); -        } - -        if (octets != 4) { -                ret = 0; -        } - -out: -        GF_FREE (tmp); -        return ret; -} - - -static char -valid_ipv6_address (char *address, int length) -{ -        int hex_numbers = 0; -        int value = 0; -        char *tmp = NULL, *ptr = NULL, *prev = NULL, *endptr = NULL; -        char ret = 1; - -        tmp = gf_strdup (address); -        prev = strtok_r (tmp, ":", &ptr); - -        while (prev != NULL) -        { -                hex_numbers++; -                value = strtol (prev, &endptr, 16); -                if ((value > 0xffff) || (value < 0) -                    || (endptr != NULL && *endptr != '\0')) { -                        ret = 0; -                        goto out; -                } - -                prev = strtok_r (NULL, ":", &ptr); -        } - -        if (hex_numbers > 8) { -                ret = 0; -        } - -out: -        GF_FREE (tmp); -        return ret; -} - - -static char -valid_internet_address (char *address) -{ -        char ret = 0; -        int length = 0; - -        if (address == NULL) { -                goto out; -        } - -        length = strlen (address); -        if (length == 0) { -                goto out; -        } - -        if (valid_ipv4_address (address, length) -            || valid_ipv6_address (address, length) -            || valid_host_name (address, length)) { -                ret = 1; -        } - -out: -        return ret; -} - -  int  __volume_option_value_validate (char *name,                                  data_pair_t *pair,  | 
