Bug 851216

Summary: Valid shortened ipv6 notation :: is complaining for not a valid internet-address-list because we have (ret = 0) incase of ":" at the end of ipv6 address
Product: [Red Hat Storage] Red Hat Gluster Storage Reporter: Rahul Hinduja <rhinduja>
Component: unclassifiedAssignee: Bug Updates Notification Mailing List <rhs-bugs>
Status: CLOSED EOL QA Contact: storage-qa-internal <storage-qa-internal>
Severity: medium Docs Contact:
Priority: medium    
Version: 2.0CC: gluster-bugs
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard: glusterd
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-12-03 17:21:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Rahul Hinduja 2012-08-23 14:08:14 UTC
Description of problem:

[Note writing this bug against unclassified as cli is not listed in component]

In IPv6 address format, 00:00:00:00:00:00:00:00 is the valid ipv6 address which is best represented as "::". Setting the "00:00:00:00:00:00:00:00" ipv6 address for authentication of volume is successful but not "::". It complains that "::" is not a valid-internet address

Log Snippet:
============

[2012-08-23 17:39:42.565152] E [options.c:499:xlator_option_validate_addr_list] 0-vol1-server: option auth.addr./root/rahul/a.allow ::: '::' is not a valid internet-address-list
[2012-08-23 17:39:42.565212] W [options.c:773:xl_opt_validate] 0-vol1-server: validate of auth.addr./root/rahul/a.allow returned -1
[2012-08-23 17:39:42.565252] I [options.c:878:xlator_validate_rec] 0-vol1-server: option auth.addr./root/rahul/a.allow ::: '::' is not a valid internet-address-list



Version-Release number of selected component (if applicable):

[root@unused ~]# gluster --version
glusterfs 3.3.0rhs built on Aug 17 2012 07:06:59
Repository revision: git://git.gluster.com/glusterfs.git
Copyright (c) 2006-2011 Gluster Inc. <http://www.gluster.com>
GlusterFS comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of GlusterFS under the terms of the GNU General Public License.
[root@unused ~]# 

How reproducible:
1/1

Steps to Reproduce:
1. Set the volume authentication option as "gluster volume set vol1 auth.allow ::"
2. It reports the error
  
Actual results:

Console Snippet:
================

[root@unused ~]# gluster volume set vol1 auth.allow 0:0:0:0:0:0:0:0
Set volume successful
[root@unused ~]# gluster volume set vol1 auth.allow ::
option auth.addr./root/rahul/a.allow ::: '::' is not a valid internet-address-list
Set volume unsuccessful
[root@unused ~]# 



Expected results:

It should be successful as

[root@unused ~]# gluster volume set vol1 auth.allow ::
Set volume successful
[root@unused ~]# 

Additional info:

Tried following valid shortened notation with "::"

1. ::1 is successful
2. 1:: is unsuccessful
3. 1::1 is successful
4. :: is unsuccessful

I think following code in common-utils.c is causing the issue

valid_ipv6_address (char *address, int length, gf_boolean_t wildcard_acc)

        /* Check for compressed form */
        if (length <= 0 || tmp[length - 1] == ':') {
                ret = 0;
                goto out;
        }

In the above code we are checking tmp[length - 1], so in case of :: ":" is at the end of the array. Hence it fails for 1:: and ::

Comment 2 Vivek Agarwal 2015-12-03 17:21:28 UTC
Thank you for submitting this issue for consideration in Red Hat Gluster Storage. The release for which you requested us to review, is now End of Life. Please See https://access.redhat.com/support/policy/updates/rhs/

If you can reproduce this bug against a currently maintained version of Red Hat Gluster Storage, please feel free to file a new report against the current release.