Recent RADIUS pending request change breaks eapol_test

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This recent from 2025-01-25 commit seems to break eapol_test:
    RADIUS: Drop pending request only when accepting the response
    https://w1.fi/cgit/hostap/commit/?id=726432d7622cc0088ac353d073b59628b590ea44

In short: The second RADIUS round trip triggers the following log
message from eapol_test:
    No matching RADIUS request found (type=0 id=1) - dropping packet

eapol_test does not exit after the above message but continues to wait
for the reply that never arrives. It exists after the timeout (and
honours the -t command line option) or when Ctrl-C is pressed. When
eapol_test is compiled with the previous commit, it works normally.

This is reproducible with at least Radiator and FreeRADIUS. Below is a
log produced with FreeRADIUS 3.2.7 freshly installed on a Mac from
Homebrew. The only change in FreeRADIUS configuration was to enable
the users file entry for 'bob:

    bob Cleartext-Password := "hello"
    Reply-Message := "Hello, %{User-Name}"

eapol_test configuration file:

% cat eapol-eap-md5.conf
network={
        ssid="eduroam"
        key_mgmt=WPA-EAP
        eap=MD5
        #eap=GTC
        identity="bob"
        password="hello"
}

This is the locally compiled eapol_test:

./eapol_test-2.12-devel -v
eapol_test v2.12-devel-hostap_2_11-554-g726432d76

The full log from eapol_test follows. If the eapol_test configuration
is changed to use EAP-GTC instead, eapol_test NAKs EAP-MD5 FreeRADIUS
suggests and asks for EAP-GTC instead. eapol_test then logs the same
'No matching RADIUS request found ...' error and stops the dialogue.
In other words, failure occurs again after the second roundtrip. This
was originally noticed with EAP-TLS and Radiator. With EAP-TLS
eapol_test also cannot continue after two roundtrips.

Here's full log showing EAP-MD5 attempt against FreeRADIUS. To
re-iterate, I don't think this is Radius server problem, but relates
to the aforementioned hostap commit.

% ./eapol_test-2.12-devel -c eapol-eap-md5.conf -s testing123
Reading configuration file 'eapol-eap-md5.conf'
Line: 1 - start of a new network block
ssid - hexdump_ascii(len=7):
     65 64 75 72 6f 61 6d                              eduroam
key_mgmt: 0x1
eap methods - hexdump(len=16): 00 00 00 00 04 00 00 00 00 00 00 00 00 00 00 00
identity - hexdump_ascii(len=3):
     62 6f 62                                          bob
password - hexdump_ascii(len=5):
     68 65 6c 6c 6f                                    hello
Priority group 0
   id=0 ssid='eduroam'
Authentication server 127.0.0.1:1812
RADIUS local address: 127.0.0.1:64196
EAPOL: SUPP_PAE entering state DISCONNECTED
EAPOL: KEY_RX entering state NO_KEY_RECEIVE
EAPOL: SUPP_BE entering state INITIALIZE
EAP: EAP entering state DISABLED
EAPOL: External notification - portValid=0
EAPOL: External notification - portEnabled=1
EAPOL: SUPP_PAE entering state CONNECTING
EAPOL: SUPP_BE entering state IDLE
EAP: EAP entering state INITIALIZE
EAP: EAP entering state IDLE
Sending fake EAP-Request-Identity
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_PAE entering state RESTART
EAP: EAP entering state INITIALIZE
EAP: EAP entering state IDLE
EAPOL: SUPP_PAE entering state AUTHENTICATING
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request id=158 method=1 vendor=0 vendorMethod=0
EAP: EAP entering state IDENTITY
CTRL-EVENT-EAP-STARTED EAP authentication started
EAP: Status notification: started (param=)
EAP: EAP-Request Identity data - hexdump_ascii(len=0):
EAP: using real identity - hexdump_ascii(len=3):
     62 6f 62                                          bob
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
WPA: eapol_test_eapol_send(type=0 len=8)
TX EAP -> RADIUS - hexdump(len=8): 02 9e 00 08 01 62 6f 62
Encapsulating EAP message into a RADIUS packet
Learned identity from EAP-Response-Identity - hexdump(len=3): 62 6f 62
Sending RADIUS message to authentication server
RADIUS message: code=1 (Access-Request) identifier=0 length=120
   Attribute 80 (Message-Authenticator) length=18
      Value: 0d140b13ebdeb20b2bce6ed95a6bcef8
   Attribute 1 (User-Name) length=5
      Value: 'bob'
   Attribute 4 (NAS-IP-Address) length=6
      Value: 127.0.0.1
   Attribute 31 (Calling-Station-Id) length=19
      Value: '02-00-00-00-00-01'
   Attribute 12 (Framed-MTU) length=6
      Value: 1400
   Attribute 61 (NAS-Port-Type) length=6
      Value: 19
   Attribute 6 (Service-Type) length=6
      Value: 2
   Attribute 77 (Connect-Info) length=24
      Value: 'CONNECT 11Mbps 802.11b'
   Attribute 79 (EAP-Message) length=10
      Value: 029e000801626f62
RADIUS: Send 120 bytes to the server
Next RADIUS client retransmit in 3 seconds
EAPOL: SUPP_BE entering state RECEIVE
Received 80 bytes from RADIUS server
Received RADIUS message
RADIUS message: code=11 (Access-Challenge) identifier=0 length=80
   Attribute 80 (Message-Authenticator) length=18
      Value: 91ba4bd72acc1e3943a9e5942527c126
   Attribute 79 (EAP-Message) length=24
      Value: 019f00160410ee71406c9ab65b0acde0e89264cb8041
   Attribute 24 (State) length=18
      Value: 2e64bb522efbbf5ebc29b9c9b8907731
STA 02:00:00:00:00:01: Received RADIUS packet matched with a pending
request, round trip time 0.00 sec

RADIUS packet matching with station
decapsulated EAP packet (code=1 id=159 len=22) from RADIUS server:
EAP-Request-MD5 (4)
EAPOL: Received EAP-Packet frame
EAPOL: SUPP_BE entering state REQUEST
EAPOL: getSuppRsp
EAP: EAP entering state RECEIVED
EAP: Received EAP-Request id=159 method=4 vendor=0 vendorMethod=0
EAP: EAP entering state GET_METHOD
CTRL-EVENT-EAP-PROPOSED-METHOD vendor=0 method=4
EAP: Status notification: accept proposed method (param=MD5)
EAP: Initialize selected EAP method: vendor 0 method 4 (MD5)
CTRL-EVENT-EAP-METHOD EAP vendor 0 method 4 (MD5) selected
EAP: EAP entering state METHOD
EAP-MD5: Challenge - hexdump(len=16): ee 71 40 6c 9a b6 5b 0a cd e0 e8
92 64 cb 80 41
EAP-MD5: Generating Challenge Response
EAP-MD5: Response - hexdump(len=16): a3 d2 98 7d 39 24 e0 d8 ca 06 3e
eb b0 6d 25 fd
EAP: method process -> ignore=FALSE methodState=DONE
decision=COND_SUCC eapRespData=0x600001b64000
EAP: EAP entering state SEND_RESPONSE
EAP: EAP entering state IDLE
EAPOL: SUPP_BE entering state RESPONSE
EAPOL: txSuppRsp
WPA: eapol_test_eapol_send(type=0 len=22)
TX EAP -> RADIUS - hexdump(len=22): 02 9f 00 16 04 10 a3 d2 98 7d 39
24 e0 d8 ca 06 3e eb b0 6d 25 fd
Encapsulating EAP message into a RADIUS packet
  Copied RADIUS State Attribute
Sending RADIUS message to authentication server
RADIUS message: code=1 (Access-Request) identifier=1 length=152
   Attribute 80 (Message-Authenticator) length=18
      Value: f44b6abb07e790689bb91e43ce15665a
   Attribute 1 (User-Name) length=5
      Value: 'bob'
   Attribute 4 (NAS-IP-Address) length=6
      Value: 127.0.0.1
   Attribute 31 (Calling-Station-Id) length=19
      Value: '02-00-00-00-00-01'
   Attribute 12 (Framed-MTU) length=6
      Value: 1400
   Attribute 61 (NAS-Port-Type) length=6
      Value: 19
   Attribute 6 (Service-Type) length=6
      Value: 2
   Attribute 77 (Connect-Info) length=24
      Value: 'CONNECT 11Mbps 802.11b'
   Attribute 79 (EAP-Message) length=24
      Value: 029f00160410a3d2987d3924e0d8ca063eebb06d25fd
   Attribute 24 (State) length=18
      Value: 2e64bb522efbbf5ebc29b9c9b8907731
RADIUS: Send 152 bytes to the server
Next RADIUS client retransmit in 3 seconds
EAPOL: SUPP_BE entering state RECEIVE
Received 49 bytes from RADIUS server
Received RADIUS message
RADIUS message: code=2 (Access-Accept) identifier=1 length=49
   Attribute 80 (Message-Authenticator) length=18
      Value: 5a0a98bd764229fc43eaab7b43f9a4ac
   Attribute 79 (EAP-Message) length=6
      Value: 039f0004
   Attribute 1 (User-Name) length=5
      Value: 'bob'
No matching RADIUS request found (type=0 id=1) - dropping packet
EAPOL: startWhen --> 0
^CSignal 2 received - terminating
EAPOL: EAP key not available
EAPOL: EAP Session-Id not available
WPA: Clear old PMK and PTK
EAP: deinitialize previously used EAP method (4, MD5) at EAP deinit
MPPE keys OK: 0  mismatch: 1
FAILURE


-- 
Heikki Vatiainen
hvn@xxxxxxxxxxxxxxxxxxxx

_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux