Build: #771 was successful Changes by Florian Schmaus <flo@geekplace.eu>
Code commits
Smack (master)
-
Florian Schmaus <flo@geekplace.eu> b857f33ac3d1feaf1d04d6b024fb71d09365cb7d
Merge branch '4.4'
-
Florian Schmaus <flo@geekplace.eu> 02341f6330e9b53938fba3c04f30785cee393fd1 m
Smack 4.4.0-beta3-SNAPSHOT
-
Florian Schmaus <flo@geekplace.eu> 6837c305e86593cf968dabf4fcfd45abb1ce05ec m
Smack 4.4.0-beta2
-
Florian Schmaus <flo@geekplace.eu> 4db7d787f7e4b6e525c9482d7088f673ff795026 m
[tcp] Add code comment why we have to copy the ByteBuffer
-
Florian Schmaus <flo@geekplace.eu> 08fc0ba0b4ecb33e882a9f3c722f5425e8772f0d m
[tcp] Improve pendingWriteInterestAfterRead code comment
-
Florian Schmaus <flo@geekplace.eu> 525ee09ea15d7843e20d2d376f343cd5fe8ab76a m
[tcp] Do not send SM ack after we send a </stream:stream>
Do net put an ack to the queue if it has already been shutdown. Some
servers, like ejabberd, like to request an ack even after we have send
a stream close (and hance the queue was shutdown). If we would not
check here, then the ack would dangle around in the queue, and be send
on the next re-connection attempt even before the stream open.
See the following trace of the MUC bookmarks integration test. The
fact that it is a MUC test does not matter, but this test does
disconnect the connection and reconnect it. Not how the server,
ejabberd in this case, requests an SM ack by sending an <r/> even
though we already send the </stream:stream>:
22:22:05 SENT (4):
<iq id='MD4UC-61' type='set'>
<query xmlns='jabber:iq:private'>
<storage xmlns='storage:bookmarks'>
<conference name='Smack Inttest: 7in7j' autojoin='true' jid='y9jcn5@conference.salem.geekplace.eu'>
<nick>
Nick-P2VXD7
</nick>
</conference>
</storage>
</query>
</iq>
22:22:05 RECV (4):
<r xmlns='urn:xmpp:sm:3'/>
22:22:05 SENT (4):
<a xmlns='urn:xmpp:sm:3' h='29'/>
22:22:05 RECV (4):
<message to='sinttest-7in7j-4@salem.geekplace.eu' from='sinttest-7in7j-4@salem.geekplace.eu' type='headline'>
<event xmlns='http://jabber.org/protocol/pubsub#event'>
<items node='storage:bookmarks'>
<item id='current'>
<storage xmlns='storage:bookmarks'>
<conference name='Smack Inttest: 7in7j' autojoin='true' jid='y9jcn5@conference.salem.geekplace.eu'>
<nick>
Nick-P2VXD7
</nick>
</conference>
</storage>
</item>
</items>
</event>
<addresses xmlns='http://jabber.org/protocol/address'>
<address jid='sinttest-7in7j-4@salem.geekplace.eu/1415073683806426185213090' type='replyto'/>
</addresses>
</message>
22:22:05 RECV (4):
<iq xml:lang='en-US' to='sinttest-7in7j-4@salem.geekplace.eu/1415073683806426185213090' from='sinttest-7in7j-4@salem.geekplace.eu' type='result' id='MD4UC-61'/>
22:22:05 SENT (4):
<presence id='6MS6J-20' type='unavailable'/>
<a xmlns='urn:xmpp:sm:3' h='31'/>
<!-- We have closed the stream -->
</stream:stream>
<!-- But the server still requests an SM ack -->
22:22:05 RECV (4):
<r xmlns='urn:xmpp:sm:3'/>
22:22:05 RECV (4):
</stream:stream>
22:22:05 XMPPConnection closed (XMPPTCPConnection[sinttest-7in7j-4@salem.geekplace.eu/1415073683806426185213090] (4))
22:22:05 SENT (4):
<a xmlns='urn:xmpp:sm:3' h='31'/>
22:22:05 SENT (4):
<stream:stream xmlns='jabber:client' to='salem.geekplace.eu' xmlns:stream='http://etherx.jabber.org/streams' version='1.0' from='sinttest-7in7j-4@salem.geekplace.eu' xml:lang='en-US'>
22:22:05 RECV (4): ?xml version='1.0'?>
<stream:stream id='3379123514446782311' ver
22:22:05 RECV (4): sion='1.0' xml:lang='en' xmlns:stream='http://etherx.jabber.org/streams' xmlns='jabber:client'>
<stream:error>
<invalid-xml xmlns='urn:ietf:params:xml:ns:xmpp-streams'/>
</stream:error>
</stream:stream>
22:22:05 XMPPConnection closed due to an exception (XMPPTCPConnection[sinttest-7in7j-4@salem.geekplace.eu/1415073683806426185213090] (4))
org.jivesoftware.smack.XMPPException$StreamErrorException: invalid-xml You can read more about the meaning of this stream error at http://xmpp.org/rfcs/rfc6120.html#streams-error-conditions
<stream:error><invalid-xml xmlns='urn:ietf:params:xml:ns:xmpp-streams'/></stream:error>
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:981)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$700(XMPPTCPConnection.java:913)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:936)
at java.base/java.lang.Thread.run(Thread.java:834) -
Florian Schmaus <flo@geekplace.eu> 488d01796a5e64e9b62aecf58699daf1c3858f7c m
[tcp] Fix TlsState by aborting the channel selected callback
Instead of breaking in case the SSLEngine signals NEED_WRAP, which
leads to an endless loop while holding the
channelSelectedCallbackLock, we have to return, so that the
asynchronously invoked callback can aquire it, and do its work. -
Florian Schmaus <flo@geekplace.eu> b7824f008d27d1f19ce8aa09cc1d6b4ebf0f3c2c m
Introduce and use XmlStringBuilder.text()
Smack currently does unnecessary escaping of XML text, where it
escapes e.g. '"' to '"'. This bloats the stanza size, especially
if JSON payloads are involved.
Fixes SMACK-892 (although there are probably still places where
XmlStringBuilder.escape() is used when XmlStringBuild.text() could
have been used).- smack-core/src/main/java/org/jivesoftware/smack/packet/Message.java (version b7824f008d27d1f19ce8aa09cc1d6b4ebf0f3c2c) (diffs)
- smack-core/src/main/java/org/jivesoftware/smack/packet/StandardExtensionElement.java (version b7824f008d27d1f19ce8aa09cc1d6b4ebf0f3c2c) (diffs)
- smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java (version b7824f008d27d1f19ce8aa09cc1d6b4ebf0f3c2c) (diffs)
- smack-core/src/test/java/org/jivesoftware/smack/packet/MessageTest.java (version b7824f008d27d1f19ce8aa09cc1d6b4ebf0f3c2c) (diffs)
- smack-experimental/src/main/java/org/jivesoftware/smackx/json/packet/AbstractJsonPacketExtension.java (version b7824f008d27d1f19ce8aa09cc1d6b4ebf0f3c2c) (diffs)
- smack-experimental/src/test/java/org/jivesoftware/smackx/chat_markers/MarkableExtensionTest.java (version b7824f008d27d1f19ce8aa09cc1d6b4ebf0f3c2c) (diffs)
-
Florian Schmaus <flo@geekplace.eu> 9e9d30074ce0fe367faae53b05e8eb12cfc58362 m
Merge pull request #428 from vanitasvitae/pgpainlessalpha12
Bump pgpainless version to 0.1.0 -
Paul Schaub <vanitasvitae@fsfe.org> 4cc0f1d12996df636b52aff130c5c26257d8aa5b m
Bump pgpainless version to 0.1.0