bug in masked_match function

Yasuma Takeda yasuma at miraclelinux.com
Mon Mar 10 07:47:48 GMT 2003


Hello,

I heard a following problem in Samba-JP.

The masked_match function in lib/access.c is wrong.(CVS HEAD and 2_2)

mask = (uint32)((ALLONES << atoi(slash + 1)) ^ ALLONES);

Example: hosts allow = 10.0.0.0/23

This produces following result. This isn't mask.
mask = 0000 0000 0111 1111 1111 1111 1111 1111

Therefore 'hosts allow' and 'hosts deny' doesn't match.

I don't know why this change was made.
http://cvs.samba.org/cgi-bin/cvsweb/samba/source/lib/access.c.diff?r1=1.19.4.12&r2=1.19.4.13

Please check.

Thanks,
Yasuma Takeda <yasuma at miraclelinux.com>






More information about the samba-technical mailing list