Subject: Re: bin/34578 (iscsi_target rejects Windows iscsi initiator.)
To: None <gnats-bugs@netbsd.org>
From: nakamoto <hiroshi-n@iname.com>
List: netbsd-bugs
Date: 11/27/2006 09:10:08
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
>
>
>