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 02:00:12
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: Mon, 27 Nov 2006 09:10:08 +0900

 Though I have not checked yet ( I'm now working in the office ), an idea
 came to my mind.
 
 As the original problem was shifting only 31 bits when the mask is
 "0.0.0.0/0", the reproduction of the bug depends on MSB ( or LSB ) of
 the initiator's address.
 I tested the initiator with "192.168.x..x" ( MSB is set) and your IP
 address is "10.x.x.x" ( MSB is not set ).
 
 Hiroshi Nakamoto
 > The following reply was made to PR bin/34578; it has been noted by GNATS.
 >
 > From: Alistair Crooks <agc@pkgsrc.org>
 > To: gnats-bugs@NetBSD.org
 > Cc: gnats-admin@NetBSD.org, netbsd-bugs@NetBSD.org,
 > 	hiroshi-n@iname.com
 > Subject: Re: bin/34578 (iscsi_target rejects Windows iscsi initiator.)
 > Date: Sun, 26 Nov 2006 17:33:58 +0000
 >
 >  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?
 >  
 >  Thanks,
 >  Alistair
 >  
 >
 >