X-Git-Url: http://average.org/gitweb/?a=blobdiff_plain;f=gps303%2Fzmsg.py;fp=gps303%2Fzmsg.py;h=7ab3ce4caf755271bd91531cc81f9103240d8b35;hb=3dea189c7bb47f02db07b52fdcda53fdb986fd2b;hp=cdd23fcd5eb7e1d36d02d0c5527ff3f7bc4d4074;hpb=513eaed4a832748bd77294679939627eaaf69612;p=loctrkd.git diff --git a/gps303/zmsg.py b/gps303/zmsg.py index cdd23fc..7ab3ce4 100644 --- a/gps303/zmsg.py +++ b/gps303/zmsg.py @@ -6,8 +6,11 @@ from struct import pack, unpack __all__ = "Bcast", "Resp" def pack_peer(peeraddr): - saddr, port = peeraddr - addr = ip.ip_address(saddr) + saddr, port, _x, _y = peeraddr + addr6 = ip.ip_address(saddr) + addr = addr6.ipv4_mapped + if addr is None: + addr = addr6 return pack("B", addr.version) + (addr.packed + b"\0\0\0\0\0\0\0\0\0\0\0\0")[:16] + pack("!H", port) def unpack_peer(buffer):