Browse Source

ffpb: findnode() returns a dummy entry for valid MACs

Helge Jung 9 years ago
parent
commit
b51d62d08e
1 changed files with 11 additions and 1 deletions
  1. 11 1
      modules/ffpb.py

+ 11 - 1
modules/ffpb.py

@@ -175,6 +175,12 @@ def ffpb_findnode(name):
 						if mim.lower() == mac:
 							return node
 
+		return {
+			'hostname': '?-' + mac.replace(':','').lower(),
+			'network': { 'addresses': [ mac2ipv6(mac, 'fdca:ffee:ff12:132:') ], 'mac': mac, },
+			'hardware': { 'model': 'derived-from-mac' },
+		}
+
 	# look through the ALFRED peers
 	for nodeid in alfred_data:
 		node = alfred_data[nodeid]
@@ -205,7 +211,11 @@ def ffpb_findnode(name):
 			peerfile.close()
 
 		if not (peer_mac is None):
-			return { "hostname": peer_name, "network": { "addresses": [ mac2ipv6(peer_mac, "fdca:ffee:ff12:132:") ], "mac": peer_mac } }
+			return {
+				'hostname': peer_name,
+				'network': { 'addresses': [ mac2ipv6(peer_mac, 'fdca:ffee:ff12:132:') ], 'mac': peer_mac },
+				'hardware': { 'model': 'derived-from-vpnkeys' },
+			}
 
 	# do a similar name lookup in the ALFRED data
 	possibilities = difflib.get_close_matches(name, [ x for x in names ], cutoff=0.8)