In smack 4.4.7, neither of the BytestreamsProvider or ByteStream classes implementation take care of handling the <streamhost/> host attribute that tags with zoneId, leading to UnparseableStanza Error as shown in below aTalk logcat:
bytestreams.socks5.packet.Bytestream.addStreamHost(Bytestream.java:134)|
bytestreams.socks5.provider.BytestreamsProvider.parse(BytestreamsProvider.java:78)|
04:15:27.034 D RECV (0):
<iq xml:lang='en-US' to='swordfish@atalk.sytes.net/atalk' from='swan@atalk.sytes.net/atalk-7h7ov' type='set' id='W6WIX-40'>
<query xmlns='http://jabber.org/protocol/bytestreams' sid='jsi_2077847670' mode='tcp'>
<streamhost jid='swan@atalk.sytes.net/atalk-7h7ov' host='10.0.2.16' port='7777'/>
<streamhost jid='swan@atalk.sytes.net/atalk-7h7ov' host='fe80::702d:b8ff:fecd:5c6c%dummy0' port='7777'/>
<streamhost jid='swan@atalk.sytes.net/atalk-7h7ov' host='fe80::5054:ff:fe12:3456%eth0' port='7777'/>
<streamhost jid='swan@atalk.sytes.net/atalk-7h7ov' host='fec0::5054:ff:fe12:3456' port='7777'/>
<streamhost jid='swan@atalk.sytes.net/atalk-7h7ov' host='fec0::f11d:c49e:d870:65d' port='7777'/>
<streamhost jid='swan@atalk.sytes.net/atalk-7h7ov' host='fec0::1f02:35fe:929d:e97a' port='7777'/>
<streamhost jid='swan@atalk.sytes.net/atalk-7h7ov' host='fe80::dfcf:b211:5b16:5087%wlan0' port='7777'/>
<streamhost jid='swan@atalk.sytes.net/atalk-7h7ov' host='10.0.2.15' port='7777'/>
<streamhost jid='proxy.atalk.sytes.net/55238004' host='42.60.99.32' port='7777'/>
</query>
</iq>
04:15:27.044 W UnparseableStanza Error: </streamhost><streamhost xmlns='http://jabber.org/protocol/bytestreams' jid='swan@atalk.sytes.net/atalk-7h7ov' host='fe80::5054:ff:fe12:3456%eth0' port='7777'/><streamhost xmlns='http://jabber.org/protocol/bytestreams' jid='swan@atalk.sytes.net/atalk-7h7ov' host='fec0::5054:ff:fe12:3456' port='7777'/><streamhost xmlns='http://jabber.org/protocol/bytestreams' jid='swan@atalk.sytes.net/atalk-7h7ov' host='fec0::f11d:c49e:d870:65d' port='7777'/><streamhost xmlns='http://jabber.org/protocol/bytestreams' jid='swan@atalk.sytes.net/atalk-7h7ov' host='fec0::1f02:35fe:929d:e97a' port='7777'/><streamhost xmlns='http://jabber.org/protocol/bytestreams' jid='swan@atalk.sytes.net/atalk-7h7ov' host='fe80::dfcf:b211:5b16:5087%wlan0' port='7777'/><streamhost xmlns='http://jabber.org/protocol/bytestreams' jid='swan@atalk.sytes.net/atalk-7h7ov' host='10.0.2.15' port='7777'/><streamhost xmlns='http://jabber.org/protocol/bytestreams' jid='proxy.atalk.sytes.net/55238004' host='42.60.99.32' port='7777'/></query></iq>: java.net.UnknownHostException: Unable to resolve host "fe80::702d:b8ff:fecd:5c6c%dummy0": No address associated with hostname
java.lang.IllegalArgumentException: java.net.UnknownHostException: Unable to resolve host "fe80::702d:b8ff:fecd:5c6c%dummy0": No address associated with hostname
at org.minidns.util.InetAddressUtil.ipv6From(InetAddressUtil.java:41)
at org.jivesoftware.smack.util.InternetAddress$Ipv6.<init>(InternetAddress.java:168)
at org.jivesoftware.smack.util.InternetAddress$Ipv6.<init>(InternetAddress.java:163)
at org.jivesoftware.smack.util.InternetAddress.from(InternetAddress.java:93)
at org.jivesoftware.smack.util.InternetAddress.from(InternetAddress.java:77)
at org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream$StreamHost.<init>(Bytestream.java:298)
at org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream.addStreamHost(Bytestream.java:134)
at org.jivesoftware.smackx.bytestreams.socks5.provider.BytestreamsProvider.parse(BytestreamsProvider.java:78)
at org.jivesoftware.smackx.bytestreams.socks5.provider.BytestreamsProvider.parse(BytestreamsProvider.java:37)
at org.jivesoftware.smack.provider.IQProvider.parse(IQProvider.java:64)
at org.jivesoftware.smack.provider.IqProvider.parse(IqProvider.java:40)
at org.jivesoftware.smack.util.PacketParserUtils.parseIQ(PacketParserUtils.java:555)
at org.jivesoftware.smack.util.PacketParserUtils.parseStanza(PacketParserUtils.java:113)
at org.jivesoftware.smack.AbstractXMPPConnection.parseAndProcessStanza(AbstractXMPPConnection.java:1449)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1000(XMPPTCPConnection.java:131)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:972)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:916)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:939)
at java.lang.Thread.run(Thread.java:920)
Caused by: java.net.UnknownHostException: Unable to resolve host "fe80::702d:b8ff:fecd:5c6c%dummy0": No address associated with hostname
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:156)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
at java.net.InetAddress.getByName(InetAddress.java:1106)
at org.minidns.util.InetAddressUtil.ipv6From(InetAddressUtil.java:39)
at org.jivesoftware.smack.util.InternetAddress$Ipv6.<init>(InternetAddress.java:168)
at org.jivesoftware.smack.util.InternetAddress$Ipv6.<init>(InternetAddress.java:163)
at org.jivesoftware.smack.util.InternetAddress.from(InternetAddress.java:93)
at org.jivesoftware.smack.util.InternetAddress.from(InternetAddress.java:77)
at org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream$StreamHost.<init>(Bytestream.java:298)
at org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream.addStreamHost(Bytestream.java:134)
at org.jivesoftware.smackx.bytestreams.socks5.provider.BytestreamsProvider.parse(BytestreamsProvider.java:78)
at org.jivesoftware.smackx.bytestreams.socks5.provider.BytestreamsProvider.parse(BytestreamsProvider.java:37)
at org.jivesoftware.smack.provider.IQProvider.parse(IQProvider.java:64)
at org.jivesoftware.smack.provider.IqProvider.parse(IqProvider.java:40)
at org.jivesoftware.smack.util.PacketParserUtils.parseIQ(PacketParserUtils.java:555)
at org.jivesoftware.smack.util.PacketParserUtils.parseStanza(PacketParserUtils.java:113)
at org.jivesoftware.smack.AbstractXMPPConnection.parseAndProcessStanza(AbstractXMPPConnection.java:1449)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1000(XMPPTCPConnection.java:131)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:972)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:916)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:939)
at java.lang.Thread.run(Thread.java:920)
Caused by: android.system.GaiException: android_getaddrinfo failed: EAI_NODATA (No address associated with hostname)
at libcore.io.Linux.android_getaddrinfo(Native Method)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:136)
at libcore.io.BlockGuardOs.android_getaddrinfo(BlockGuardOs.java:221)
at libcore.io.ForwardingOs.android_getaddrinfo(ForwardingOs.java:136)
at java.net.Inet6AddressImpl.lookupHostByName(Inet6AddressImpl.java:135)
at java.net.Inet6AddressImpl.lookupAllHostAddr(Inet6AddressImpl.java:103)
at java.net.InetAddress.getByName(InetAddress.java:1106)
at org.minidns.util.InetAddressUtil.ipv6From(InetAddressUtil.java:39)
at org.jivesoftware.smack.util.InternetAddress$Ipv6.<init>(InternetAddress.java:168)
at org.jivesoftware.smack.util.InternetAddress$Ipv6.<init>(InternetAddress.java:163)
at org.jivesoftware.smack.util.InternetAddress.from(InternetAddress.java:93)
at org.jivesoftware.smack.util.InternetAddress.from(InternetAddress.java:77)
at org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream$StreamHost.<init>(Bytestream.java:298)
at org.jivesoftware.smackx.bytestreams.socks5.packet.Bytestream.addStreamHost(Bytestream.java:134)
at org.jivesoftware.smackx.bytestreams.socks5.provider.BytestreamsProvider.parse(BytestreamsProvider.java:78)
at org.jivesoftware.smackx.bytestreams.socks5.provider.BytestreamsProvider.parse(BytestreamsProvider.java:37)
at org.jivesoftware.smack.provider.IQProvider.parse(IQProvider.java:64)
at org.jivesoftware.smack.provider.IqProvider.parse(IqProvider.java:40)
at org.jivesoftware.smack.util.PacketParserUtils.parseIQ(PacketParserUtils.java:555)
at org.jivesoftware.smack.util.PacketParserUtils.parseStanza(PacketParserUtils.java:113)
at org.jivesoftware.smack.AbstractXMPPConnection.parseAndProcessStanza(AbstractXMPPConnection.java:1449)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1000(XMPPTCPConnection.java:131)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:972)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:916)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:939)
at java.lang.Thread.run(Thread.java:920)