\000 in "octets" attribute?

Bjørn Mork bjorn at mork.no
Thu Jun 15 15:30:44 CEST 2006


Stefan Winter <stefan.winter at restena.lu> writes:

>> Notice the MS-CHAP-Challenge.  That's why I said "as long as the
>> attribute is of type "octets"".
>>
>> Calling-Station-Id is truncated at the first NUL.
>>
>> MS-CHAP-Challenge is transmitted, even if it contains just a single
>> NUL octet
>
> Okay, could you try to put 0x00 into the Calling-Station-Id 

That will be parsed as the 4 octet string "0x00".

> and \000 into the 
> MS-CHAP-Chellenge? Just to make sure it's not the notation or something, like 
> that MS-CHAP-Challenge transmits the four characters 0,x,0,0. Or something 
> similar. Still an ethereal capture would be great.

Capturing using Proxy-State should illustrate it:

Capturing on lo
Frame 1 (113 bytes on wire, 113 bytes captured)
    Arrival Time: Jun 15, 2006 15:27:14.775347000
    Time delta from previous packet: 0.000000000 seconds
    Time since reference or first frame: 0.000000000 seconds
    Frame Number: 1
    Packet Length: 113 bytes
    Capture Length: 113 bytes
    Protocols in frame: eth:ip:udp:radius
Ethernet II, Src: 00:00:00:00:00:00, Dst: 00:00:00:00:00:00
    Destination: 00:00:00:00:00:00 (00:00:00_00:00:00)
    Source: 00:00:00:00:00:00 (00:00:00_00:00:00)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 127.0.0.1 (127.0.0.1), Dst Addr: 127.0.0.1 (127.0.0.1)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 99
    Identification: 0x0000 (0)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: UDP (0x11)
    Header checksum: 0x3c88 (correct)
    Source: 127.0.0.1 (127.0.0.1)
    Destination: 127.0.0.1 (127.0.0.1)
User Datagram Protocol, Src Port: 32921 (32921), Dst Port: radius (1812)
    Source port: 32921 (32921)
    Destination port: radius (1812)
    Length: 79
    Checksum: 0xfe62 (incorrect, should be 0x4ab0)
Radius Protocol
    Code: Access Request (1)
    Packet identifier: 0x1c (28)
    Length: 71
    Authenticator: 0x05D6BB4C4F13A6F3462324A77500B3CC
    Attribute value pairs
        t:User Name(1) l:18, Value:"ppp1 at example.com"
            User-Name: ppp1 at example.com
        t:User Password(2) l:18, Value:6B46A0A335701FC95CED632EFBD6708E
        t:NAS Port Type(61) l:6, Value:xDSL(16)
        t:Calling Station Id(31) l:6, Value:"blah"
            Calling-Station-Id: blah
        t:Proxy State(33) l:3, Value:00

Frame 2 (65 bytes on wire, 65 bytes captured)
    Arrival Time: Jun 15, 2006 15:27:15.792309000
    Time delta from previous packet: 1.016962000 seconds
    Time since reference or first frame: 1.016962000 seconds
    Frame Number: 2
    Packet Length: 65 bytes
    Capture Length: 65 bytes
    Protocols in frame: eth:ip:udp:radius
Ethernet II, Src: 00:00:00:00:00:00, Dst: 00:00:00:00:00:00
    Destination: 00:00:00:00:00:00 (00:00:00_00:00:00)
    Source: 00:00:00:00:00:00 (00:00:00_00:00:00)
    Type: IP (0x0800)
Internet Protocol, Src Addr: 127.0.0.1 (127.0.0.1), Dst Addr: 127.0.0.1 (127.0.0.1)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00)
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..0. = ECN-Capable Transport (ECT): 0
        .... ...0 = ECN-CE: 0
    Total Length: 51
    Identification: 0x0000 (0)
    Flags: 0x04 (Don't Fragment)
        0... = Reserved bit: Not set
        .1.. = Don't fragment: Set
        ..0. = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: UDP (0x11)
    Header checksum: 0x3cb8 (correct)
    Source: 127.0.0.1 (127.0.0.1)
    Destination: 127.0.0.1 (127.0.0.1)
User Datagram Protocol, Src Port: radius (1812), Dst Port: 32921 (32921)
    Source port: radius (1812)
    Destination port: 32921 (32921)
    Length: 31
    Checksum: 0xfe32 (incorrect, should be 0xf019)
Radius Protocol
    Code: Access Reject (3)
    Packet identifier: 0x1c (28)
    Length: 23
    Authenticator: 0x9696A6B7A298FC56A04A283D9C0124E9
    Attribute value pairs
        t:Proxy State(33) l:3, Value:00




Bjørn




More information about the Freeradius-Users mailing list