]> git.ipfire.org Git - thirdparty/hostap.git/commitdiff
WPS NFC: Protect nfcpy pretty print calls against exceptions
authorJouni Malinen <jouni@qca.qualcomm.com>
Fri, 29 Nov 2013 11:01:39 +0000 (13:01 +0200)
committerJouni Malinen <j@w1.fi>
Mon, 27 Jan 2014 20:08:14 +0000 (22:08 +0200)
nfcpy does not yet support all the new message formats, so some of the
pretty() calls can result in exceptions.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>

hostapd/wps-ap-nfc.py
wpa_supplicant/examples/wps-nfc.py

index b9e233eb1234456c2611f755092fc11cd8d1b5a0..58e538a45f906880ff4803ad9b3897f4d9297722 100755 (executable)
@@ -92,7 +92,11 @@ class HandoverServer(nfc.handover.HandoverServer):
 
     def process_request(self, request):
         print "HandoverServer - request received"
-        print "Parsed handover request: " + request.pretty()
+        try:
+            print "Parsed handover request: " + request.pretty()
+        except Exception, e:
+            print e
+        print str(request).encode("hex")
 
         sel = nfc.ndef.HandoverSelectMessage(version="1.2")
 
@@ -112,7 +116,10 @@ class HandoverServer(nfc.handover.HandoverServer):
                 sel.add_carrier(message[0], "active", message[1:])
 
         print "Handover select:"
-        print sel.pretty()
+        try:
+            print sel.pretty()
+        except Exception, e:
+            print e
         print str(sel).encode("hex")
 
         print "Sending handover select"
index 5946512d90ac597d3cbdc202943727ea2ce40fb2..35d12706e52ac1bc3ab4a8bc5eeef6add20af6e3 100755 (executable)
@@ -126,7 +126,10 @@ class HandoverServer(nfc.handover.HandoverServer):
     def process_request(self, request):
         self.ho_server_processing = True
         print "HandoverServer - request received"
-        print "Parsed handover request: " + request.pretty()
+        try:
+            print "Parsed handover request: " + request.pretty()
+        except Exception, e:
+            print e
 
         sel = nfc.ndef.HandoverSelectMessage(version="1.2")
 
@@ -147,7 +150,10 @@ class HandoverServer(nfc.handover.HandoverServer):
                 sel.add_carrier(message[0], "active", message[1:])
 
         print "Handover select:"
-        print sel.pretty()
+        try:
+            print sel.pretty()
+        except Exception, e:
+            print e
         print str(sel).encode("hex")
 
         print "Sending handover select"
@@ -170,7 +176,11 @@ def wps_handover_init(llc):
     message.add_carrier(datamsg[0], "active", datamsg[1:])
 
     print "Handover request:"
-    print message.pretty()
+    try:
+        print message.pretty()
+    except Exception, e:
+        print e
+    print str(message).encode("hex")
 
     client = nfc.handover.HandoverClient(llc)
     try:
@@ -199,18 +209,26 @@ def wps_handover_init(llc):
         return
 
     print "Received message"
-    print message.pretty()
+    try:
+        print message.pretty()
+    except Exception, e:
+        print e
+    print str(message).encode("hex")
     message = nfc.ndef.HandoverSelectMessage(message)
     print "Handover select received"
-    print message.pretty()
+    try:
+        print message.pretty()
+    except Exception, e:
+        print e
 
     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_report_handover(data, carrier.record, "INIT")
-            wifi = nfc.ndef.WifiConfigRecord(carrier.record)
-            print wifi.pretty()
+            # nfcpy does not support the new format..
+            #wifi = nfc.ndef.WifiConfigRecord(carrier.record)
+            #print wifi.pretty()
 
     print "Remove peer"
     client.close()