From b8dbc5d6891ab33eb11b40cc03749602ebe84288 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Sun, 10 Feb 2013 18:42:43 +0200 Subject: [PATCH] WPS: Report only the carrier record from NFC to wpa_supplicant Since there could be multiple carrier records, it is cleaner to report only the WPS carrier record instead of full NFC connection handover select to wpa_supplicant. Signed-hostap: Jouni Malinen --- wpa_supplicant/examples/wps-nfc.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/wpa_supplicant/examples/wps-nfc.py b/wpa_supplicant/examples/wps-nfc.py index a2e8df4c7..1ab59c3a3 100755 --- a/wpa_supplicant/examples/wps-nfc.py +++ b/wpa_supplicant/examples/wps-nfc.py @@ -115,10 +115,25 @@ def wps_handover_init(peer): nfc.llcp.shutdown() client.close() return + if message.type != "urn:nfc:wkt:Hs": + print "Response was not Hs - received: " + message.type + nfc.llcp.shutdown() + client.close() + return + print "Received message" + print message.pretty() + message = nfc.ndef.HandoverSelectMessage(message) print "Handover select received" print message.pretty() - wpas_put_handover_sel(message) + + for carrier in message.carriers: + print "Remote carrier type: " + carrier.type + if carrier.type == "application/vnd.wfa.wsc": + print "WPS carrier type match - send to wpa_supplicant" + wpas_put_handover_sel(carrier.record) + wifi = nfc.ndef.WifiConfigRecord(carrier.record) + print wifi.pretty() print "Remove peer" nfc.llcp.shutdown()