Possible bug in ospf_lsupd_receive

Ondrej Zajicek santiago at crfreenet.org
Mon May 14 18:52:11 CEST 2012


On Mon, May 14, 2012 at 02:37:39PM +0200, Benjamin Paterson wrote:
>    Hi guys,
>    I think there's an endianness problem in ospf_lsupd_receive. On the lines
>    where the program checks lsa->type or uses the LSA_SCOPE macro, it has not
>    previously converted lsa->type to host representation. I saw this problem
>    as I created a new LSA class with type BFF0, which has area scope. It was
>    incorrectly displaying "<WARN> Received LSA with invalid scope" messages
>    and refusing to add the LSAs to the database. I checked and at the line
>    513, if ((LSA_SCOPE(lsa) == LSA_SCOPE_RES)) was evaluating as true because
>    lsa->type was F0BF, which is a reserved type. All the other LSA types are
>    also inverted, but it doesn't pose a problem for the common LSA types as
>    their first hex digit is usually 0 if they are misrepresented (0800 for
>    link LSA, 0120 for router LSA etc).
>    The problem can be fixed by putting ntohlsah(lsa, &lsatmp); before the
>    checks and using &lsatmp instead of lsa for checks.
>    Cheers

Thanks, you are right, i will fix that.


-- 
Elen sila lumenn' omentielvo

Ondrej 'SanTiago' Zajicek (email: santiago at crfreenet.org)
OpenPGP encrypted e-mails preferred (KeyID 0x11DEADC3, wwwkeys.pgp.net)
"To err is human -- to blame it on a computer is even more so."
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 197 bytes
Desc: Digital signature
URL: <http://trubka.network.cz/pipermail/bird-users/attachments/20120514/95cb9a8e/attachment-0001.asc>


More information about the Bird-users mailing list