Subject: Re: bin/34578 (iscsi_target rejects Windows iscsi initiator.)
To: None <agc@NetBSD.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org,>
From: nakamoto <hiroshi-n@iname.com>
List: netbsd-bugs
Date: 11/27/2006 00:45:11
The following reply was made to PR bin/34578; it has been noted by GNATS.

From: nakamoto <hiroshi-n@iname.com>
To: Alistair Crooks <agc@pkgsrc.org>
Cc: gnats-bugs@NetBSD.org, gnats-admin@NetBSD.org,
	netbsd-bugs@NetBSD.org
Subject: Re: bin/34578 (iscsi_target rejects Windows iscsi initiator.)
Date: Mon, 27 Nov 2006 08:31:07 +0900

 > On Sun, Nov 26, 2006 at 02:55:02PM +0000, nakamoto wrote:
 >   
 >> The following reply was made to PR bin/34578; it has been noted by GNATS.
 >>
 >> From: nakamoto <hiroshi-n@iname.com>
 >> To: gnats-bugs@NetBSD.org
 >> Cc: agc@NetBSD.org, gnats-admin@netbsd.org, netbsd-bugs@netbsd.org
 >> Subject: Re: bin/34578 (iscsi_target rejects Windows iscsi initiator.)
 >> Date: Sun, 26 Nov 2006 22:38:24 +0900
 >>
 >>  I checked the source file from 4.0_BETA and I noticed allow_netmask()
 >>  (netmask.c) had a bug.
 >>  (I did it a while ago, but I did not know how to report the fix.)
 >>  It works with any netmasks other than "0.0.0.0/0" ( "any", "all" ).
 >>  When it meets "0.0.0.0/0", it executes some strange code to avoid
 >>  shifting 32 bits,
 >>  
 >>  After I modified the function as the following, the bug disappeared.
 >>  If you do not see the problem, it might already have been fixed.
 >>  
 >>  Hiroshi Nakamoto
 >>     
 >
 > Thanks for the bug report. I did a quick diff, and found that your changes
 > modify the number of bits to 32 when /0 is seen, and also moved the check
 > for a zero length netmask much later in the function (although this has
 > no functional effect, since the number of bits is not modified in between).
 >
 > The netmask.c file also has some code in there to help debugging - by compiling
 > with -DALLOW_NETMASK_DEBUG, and also using the path to the include directory:
 >
 > [17:17:37] agc@inspiron1300 ...dist/iscsi/src 137 > cc -g netmask.c -DALLOW_NETMASK_DEBUG=1 -I../include -o n
 > [17:18:05] agc@inspiron1300 ...dist/iscsi/src 138 > ./n 0/0 10.4.3.7
 > addr 10.4.3.7 0, mask 0.0.0.0 0, slash 1
 > mask 0/0 matches addr 10.4.3.7
 >
 > [17:18:15] agc@inspiron1300 ...dist/iscsi/src 139 > ./n any 10.4.3.7
 > addr 10.4.3.7 0, mask 0.0.0.0 0, slash 1
 > mask any matches addr 10.4.3.7
 >
 > [17:20:09] agc@inspiron1300 ...dist/iscsi/src 140 > ./n any 10.0.0.0
 > addr 10.0.0.0 0, mask 0.0.0.0 0, slash 1
 > mask any matches addr 10.0.0.0
 >
 > [17:20:20] agc@inspiron1300 ...dist/iscsi/src 141 >
 >
 > (The above was produced by using unmodified code from that in the NetBSD
 > CVS repository)
 >
 > So, although the function hasn't been changed, I can't reproduce the
 > problem, either in debugging, or in practice with the MS initiator.
 >
 > Are you using IPv6 to connect up?
 >   
 Though IPv6 is enabled, I did use IPv4 to connecto from Windows XP iSCSI 
 initiator.
 
 I have never succeeded in connectiion when iSCSI target configuration is 
 set to "any","all".
 I always got "mask 0.0.0.0/0 does not match" messages.
 I will reisntall NetBSD 4 and test again.
 
 Hiroshi Nakmaoto