@@ -1271,7 +1271,7 @@ class EIR_AdvertisingInterval(EIR_Element):
12711271
12721272
12731273class EIR_Appearance (EIR_Element ):
1274- name = "EIR_Appearance2 "
1274+ name = "EIR_Appearance "
12751275 fields_desc = [
12761276 BitEnumField ('category' , 0 , 10 , tot_size = - 2 , enum = {
12771277 0x000 : 'Unknown' ,
@@ -1359,6 +1359,205 @@ def extract_padding(self, s):
13591359 return s [:plen ], s [plen :]
13601360
13611361
1362+ class EIR_URI (EIR_Element ):
1363+ name = 'EIR URI'
1364+ fields_desc = [
1365+ ByteEnumField ('scheme' , 0 , {
1366+ 0x01 : '' ,
1367+ 0x02 : 'aaa:' ,
1368+ 0x03 : 'aaas:' ,
1369+ 0x04 : 'about:' ,
1370+ 0x05 : 'acap:' ,
1371+ 0x06 : 'acct:' ,
1372+ 0x07 : 'cap:' ,
1373+ 0x08 : 'cid:' ,
1374+ 0x09 : 'coap:' ,
1375+ 0x0A : 'coaps:' ,
1376+ 0x0B : 'crid:' ,
1377+ 0x0C : 'data:' ,
1378+ 0x0D : 'dav:' ,
1379+ 0x0E : 'dict:' ,
1380+ 0x0F : 'dns:' ,
1381+ 0x10 : 'file:' ,
1382+ 0x11 : 'ftp:' ,
1383+ 0x12 : 'geo:' ,
1384+ 0x13 : 'go:' ,
1385+ 0x14 : 'gopher:' ,
1386+ 0x15 : 'h323:' ,
1387+ 0x16 : 'http:' ,
1388+ 0x17 : 'https:' ,
1389+ 0x18 : 'iax:' ,
1390+ 0x19 : 'icap:' ,
1391+ 0x1A : 'im:' ,
1392+ 0x1B : 'imap:' ,
1393+ 0x1C : 'info:' ,
1394+ 0x1D : 'ipp:' ,
1395+ 0x1E : 'ipps:' ,
1396+ 0x1F : 'iris:' ,
1397+ 0x20 : 'iris.beep:' ,
1398+ 0x21 : 'iris.xpc:' ,
1399+ 0x22 : 'iris.xpcs:' ,
1400+ 0x23 : 'iris.lwz:' ,
1401+ 0x24 : 'jabber:' ,
1402+ 0x25 : 'ldap:' ,
1403+ 0x26 : 'mailto:' ,
1404+ 0x27 : 'mid:' ,
1405+ 0x28 : 'msrp:' ,
1406+ 0x29 : 'msrps:' ,
1407+ 0x2A : 'mtqp:' ,
1408+ 0x2B : 'mupdate:' ,
1409+ 0x2C : 'news:' ,
1410+ 0x2D : 'nfs:' ,
1411+ 0x2E : 'ni:' ,
1412+ 0x2F : 'nih:' ,
1413+ 0x30 : 'nntp:' ,
1414+ 0x31 : 'opaquelocktoken:' ,
1415+ 0x32 : 'pop:' ,
1416+ 0x33 : 'pres:' ,
1417+ 0x34 : 'reload:' ,
1418+ 0x35 : 'rtsp:' ,
1419+ 0x36 : 'rtsps:' ,
1420+ 0x37 : 'rtspu:' ,
1421+ 0x38 : 'service:' ,
1422+ 0x39 : 'session:' ,
1423+ 0x3A : 'shttp:' ,
1424+ 0x3B : 'sieve:' ,
1425+ 0x3C : 'sip:' ,
1426+ 0x3D : 'sips:' ,
1427+ 0x3E : 'sms:' ,
1428+ 0x3F : 'snmp:' ,
1429+ 0x40 : 'soap.beep:' ,
1430+ 0x41 : 'soap.beeps:' ,
1431+ 0x42 : 'stun:' ,
1432+ 0x43 : 'stuns:' ,
1433+ 0x44 : 'tag:' ,
1434+ 0x45 : 'tel:' ,
1435+ 0x46 : 'telnet:' ,
1436+ 0x47 : 'tftp:' ,
1437+ 0x48 : 'thismessage:' ,
1438+ 0x49 : 'tn3270:' ,
1439+ 0x4A : 'tip:' ,
1440+ 0x4B : 'turn:' ,
1441+ 0x4C : 'turns:' ,
1442+ 0x4D : 'tv:' ,
1443+ 0x4E : 'urn:' ,
1444+ 0x4F : 'vemmi:' ,
1445+ 0x50 : 'ws:' ,
1446+ 0x51 : 'wss:' ,
1447+ 0x52 : 'xcon:' ,
1448+ 0x53 : 'xconuserid:' ,
1449+ 0x54 : 'xmlrpc.beep:' ,
1450+ 0x55 : 'xmlrpc.beeps:' ,
1451+ 0x56 : 'xmpp:' ,
1452+ 0x57 : 'z39.50r:' ,
1453+ 0x58 : 'z39.50s:' ,
1454+ 0x59 : 'acr:' ,
1455+ 0x5A : 'adiumxtra:' ,
1456+ 0x5B : 'afp:' ,
1457+ 0x5C : 'afs:' ,
1458+ 0x5D : 'aim:' ,
1459+ 0x5E : 'apt:' ,
1460+ 0x5F : 'attachment:' ,
1461+ 0x60 : 'aw:' ,
1462+ 0x61 : 'barion:' ,
1463+ 0x62 : 'beshare:' ,
1464+ 0x63 : 'bitcoin:' ,
1465+ 0x64 : 'bolo:' ,
1466+ 0x65 : 'callto:' ,
1467+ 0x66 : 'chrome:' ,
1468+ 0x67 : 'chromeextension:' ,
1469+ 0x68 : 'comeventbriteattendee:' ,
1470+ 0x69 : 'content:' ,
1471+ 0x6A : 'cvs:' ,
1472+ 0x6B : 'dlnaplaysingle:' ,
1473+ 0x6C : 'dlnaplaycontainer:' ,
1474+ 0x6D : 'dtn:' ,
1475+ 0x6E : 'dvb:' ,
1476+ 0x6F : 'ed2k:' ,
1477+ 0x70 : 'facetime:' ,
1478+ 0x71 : 'feed:' ,
1479+ 0x72 : 'feedready:' ,
1480+ 0x73 : 'finger:' ,
1481+ 0x74 : 'fish:' ,
1482+ 0x75 : 'gg:' ,
1483+ 0x76 : 'git:' ,
1484+ 0x77 : 'gizmoproject:' ,
1485+ 0x78 : 'gtalk:' ,
1486+ 0x79 : 'ham:' ,
1487+ 0x7A : 'hcp:' ,
1488+ 0x7B : 'icon:' ,
1489+ 0x7C : 'ipn:' ,
1490+ 0x7D : 'irc:' ,
1491+ 0x7E : 'irc6:' ,
1492+ 0x7F : 'ircs:' ,
1493+ 0x80 : 'itms:' ,
1494+ 0x81 : 'jar:' ,
1495+ 0x82 : 'jms:' ,
1496+ 0x83 : 'keyparc:' ,
1497+ 0x84 : 'lastfm:' ,
1498+ 0x85 : 'ldaps:' ,
1499+ 0x86 : 'magnet:' ,
1500+ 0x87 : 'maps:' ,
1501+ 0x88 : 'market:' ,
1502+ 0x89 : 'message:' ,
1503+ 0x8A : 'mms:' ,
1504+ 0x8B : 'mshelp:' ,
1505+ 0x8C : 'mssettingspower:' ,
1506+ 0x8D : 'msnim:' ,
1507+ 0x8E : 'mumble:' ,
1508+ 0x8F : 'mvn:' ,
1509+ 0x90 : 'notes:' ,
1510+ 0x91 : 'oid:' ,
1511+ 0x92 : 'palm:' ,
1512+ 0x93 : 'paparazzi:' ,
1513+ 0x94 : 'pkcs11:' ,
1514+ 0x95 : 'platform:' ,
1515+ 0x96 : 'proxy:' ,
1516+ 0x97 : 'psyc:' ,
1517+ 0x98 : 'query:' ,
1518+ 0x99 : 'res:' ,
1519+ 0x9A : 'resource:' ,
1520+ 0x9B : 'rmi:' ,
1521+ 0x9C : 'rsync:' ,
1522+ 0x9D : 'rtmfp:' ,
1523+ 0x9E : 'rtmp:' ,
1524+ 0x9F : 'secondlife:' ,
1525+ 0xA0 : 'sftp:' ,
1526+ 0xA1 : 'sgn:' ,
1527+ 0xA2 : 'skype:' ,
1528+ 0xA3 : 'smb:' ,
1529+ 0xA4 : 'smtp:' ,
1530+ 0xA5 : 'soldat:' ,
1531+ 0xA6 : 'spotify:' ,
1532+ 0xA7 : 'ssh:' ,
1533+ 0xA8 : 'steam:' ,
1534+ 0xA9 : 'submit:' ,
1535+ 0xAA : 'svn:' ,
1536+ 0xAB : 'teamspeak:' ,
1537+ 0xAC : 'teliaeid:' ,
1538+ 0xAD : 'things:' ,
1539+ 0xAE : 'udp:' ,
1540+ 0xAF : 'unreal:' ,
1541+ 0xB0 : 'ut2004:' ,
1542+ 0xB1 : 'ventrilo:' ,
1543+ 0xB2 : 'viewsource:' ,
1544+ 0xB3 : 'webcal:' ,
1545+ 0xB4 : 'wtai:' ,
1546+ 0xB5 : 'wyciwyg:' ,
1547+ 0xB6 : 'xfire:' ,
1548+ 0xB7 : 'xri:' ,
1549+ 0xB8 : 'ymsgr:' ,
1550+ 0xB9 : 'example:' ,
1551+ 0xBA : 'mssettingscloudstorage:'
1552+ }),
1553+ StrLenField ('uri_hier_part' , None , length_from = EIR_Element .length_from )
1554+ ]
1555+
1556+ @property
1557+ def uri (self ):
1558+ return EIR_URI .scheme .i2s [self .scheme ] + self .uri_hier_part .decode ('utf-8' )
1559+
1560+
13621561class HCI_Command_Hdr (Packet ):
13631562 name = "HCI Command header"
13641563 fields_desc = [XBitField ("ogf" , 0 , 6 , tot_size = - 2 ),
@@ -2452,6 +2651,7 @@ class HCI_LE_Meta_Long_Term_Key_Request(Packet):
24522651bind_layers (EIR_Hdr , EIR_AdvertisingInterval , type = 0x1a )
24532652bind_layers (EIR_Hdr , EIR_ServiceData32BitUUID , type = 0x20 )
24542653bind_layers (EIR_Hdr , EIR_ServiceData128BitUUID , type = 0x21 )
2654+ bind_layers (EIR_Hdr , EIR_URI , type = 0x24 )
24552655bind_layers (EIR_Hdr , EIR_Manufacturer_Specific_Data , type = 0xff )
24562656bind_layers (EIR_Hdr , EIR_Raw )
24572657
0 commit comments