Florian Schmaus
8425671b31
Merge commit '198c51356dd81a1521bba46d2d30e505d47062d1'
2023-12-16 13:25:41 +01:00
Florian Schmaus
f6de30c218
Merge branch '4.4'
2023-12-11 11:18:03 +01:00
cmeng-git
bd70d6abc5
[bosh] Fix BOSH debug send message not shown
...
Following logcat are captured with various PR fixes implemented:
// ===== Without any of the PR fixes ===== //
All the sent stanza are missing; fixed by
```
// Fix all BOSH sent debug messages not shown
writer.flush();
```
```
2023-12-11 12:25:33.548 5470-5636/org.atalk.android D/SMACK: RECV (0):
<body xmpp:version='1.0' authid='4867162268865181478' xmlns='http://jabber.org/protocol/httpbind ' sid='53e66759d21e128cc1cba8d00aacb7421f1ea960' wait='60' ver='1.11' polling='2' inactivity='30' hold='1' xmpp:restartlogic='true' requests='2' secure='true' maxpause='120' xmlns:xmpp='urn:xmpp:xbosh' xmlns:stream='http://etherx.jabber.org/streams ' from='atalk.sytes.net'>
<stream:features>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>
PLAIN
</mechanism>
<mechanism>
SCRAM-SHA-1
</mechanism>
<mechanism>
X-OAUTH2
</mechanism>
</mechanisms>
<register xmlns='http://jabber.org/features/iq-register'/ >
</stream:features>
</body>
2023-12-11 12:25:33.748 5470-5636/org.atalk.android D/SMACK: RECV (0):
<body xmlns='http://jabber.org/protocol/httpbind'/ >
2023-12-11 12:25:33.925 5470-5636/org.atalk.android D/SMACK: RECV (0):
<body xmlns='http://jabber.org/protocol/httpbind '>
<challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
cj1DI2QjJHE7JVs6LzElInQnPDhaK3JLMTUzPCtPVicvXmNuV204ei9kV1UzT1lsdCtzRW1ZTkE9PSxzPTdjNktCSnNaTHdTYjNZSytqdVRXb2c9PSxpPTQwOTY=
</challenge>
</body>
2023-12-11 12:25:33.939 5470-5636/org.atalk.android D/SMACK: RECV (0):
<body xmlns='http://jabber.org/protocol/httpbind '>
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
dj1saEFrUzVKMFRBMEJVbTg1djd5dE4xTUpZaE09
</success>
</body>
```
// ===== With only PR fixes: writer.flush(); readerConsumer = null; but withoug the following fixes ===== //
// Initialize the debugger before addBOSHClientResponseListener(new BOSHPacketReader());
// BOSHPacketReader may hold and send response prior to display of the request i.e. \<response/> before \<challenge/>
```
2023-12-11 12:33:54.915 6162-6310/org.atalk.android D/SMACK: SENT (0):
<body ver='1.8' wait='60' xmpp:version='1.0' rid='6195788493952909' xmlns:xmpp='urn:xmpp:xbosh' hold='1' xml:lang='en' ack='1' to='atalk.sytes.net' xmlns='http://jabber.org/protocol/httpbind '>
</body>
2023-12-11 12:33:55.198 6162-6314/org.atalk.android D/SMACK: RECV (0):
<body xmpp:version='1.0' authid='1477509259581416251' xmlns='http://jabber.org/protocol/httpbind ' sid='796ae552c9fea53ff10a1979429396d19745d430' wait='60' ver='1.11' polling='2' inactivity='30' hold='1' xmpp:restartlogic='true' requests='2' secure='true' maxpause='120' xmlns:xmpp='urn:xmpp:xbosh' xmlns:stream='http://etherx.jabber.org/streams ' from='atalk.sytes.net'>
<stream:features>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>
PLAIN
</mechanism>
<mechanism>
SCRAM-SHA-1
</mechanism>
<mechanism>
X-OAUTH2
</mechanism>
</mechanisms>
<register xmlns='http://jabber.org/features/iq-register'/ >
</stream:features>
</body>
2023-12-11 12:33:55.301 6162-6310/org.atalk.android D/SMACK: SENT (0):
<body rid='6195788493952910' sid='796ae552c9fea53ff10a1979429396d19745d430' xmlns='http://jabber.org/protocol/httpbind '>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='SCRAM-SHA-1'>
bixhPXN3YW5AYXRhbGsuc3l0ZXMubmV0LG49c3dhbixyPUJwMTZzKG9dd0xmb1lnN0haRkAjKko7PiReIXhbKiou
</auth>
</body>
2023-12-11 12:33:55.534 6162-6313/org.atalk.android D/SMACK: SENT (0):
<body rid='6195788493952911' ack='6195788493952909' sid='796ae552c9fea53ff10a1979429396d19745d430' xmlns='http://jabber.org/protocol/httpbind '>
<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
Yz1iaXhoUFhOM1lXNUFZWFJoYkdzdWMzbDBaWE11Ym1WMExBPT0scj1CcDE2cyhvXXdMZm9ZZzdIWkZAIypKOz4kXiF4WyoqLlV4eTcvUVBCQUNKbjg1TWdRZHhjQnc9PSxwPVZlT3pkVzExN0tMc3k4THZpQWJZWDlpcW84az0=
</response>
</body>
2023-12-11 12:33:55.538 6162-6314/org.atalk.android D/SMACK: RECV (0):
<body xmlns='http://jabber.org/protocol/httpbind '>
<challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
cj1CcDE2cyhvXXdMZm9ZZzdIWkZAIypKOz4kXiF4WyoqLlV4eTcvUVBCQUNKbjg1TWdRZHhjQnc9PSxzPTdjNktCSnNaTHdTYjNZSytqdVRXb2c9PSxpPTQwOTY=
</challenge>
</body>
2023-12-11 12:33:55.558 6162-6310/org.atalk.android D/SMACK: SENT (0):
<body xmpp:restart='true' rid='6195788493952912' xmlns:xmpp='urn:xmpp:xbosh' sid='796ae552c9fea53ff10a1979429396d19745d430' to='atalk.sytes.net' xmlns='http://jabber.org/protocol/httpbind '>
</body>
2023-12-11 12:33:55.560 6162-6314/org.atalk.android D/SMACK: RECV (0):
<body xmlns='http://jabber.org/protocol/httpbind '>
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
dj1mcFdSekE1SXltdTBrNys4K1hML3JncTVEd2s9
</success>
</body>
```
// ===== With the full PR fixes ===== //
```
2023-12-11 12:21:16.435 4703-5344/org.atalk.android D/SMACK: SENT (4):
<body ver='1.8' wait='60' xmpp:version='1.0' rid='949729322134413' xmlns:xmpp='urn:xmpp:xbosh' hold='1' xml:lang='en' ack='1' to='atalk.sytes.net' xmlns='http://jabber.org/protocol/httpbind '>
</body>
2023-12-11 12:21:16.637 4703-5348/org.atalk.android D/SMACK: RECV (4):
<body xmpp:version='1.0' authid='1761920914298566866' xmlns='http://jabber.org/protocol/httpbind ' sid='25ba67c4b943796418a2b7c064085327ab9c35ac' wait='60' ver='1.11' polling='2' inactivity='30' hold='1' xmpp:restartlogic='true' requests='2' secure='true' maxpause='120' xmlns:xmpp='urn:xmpp:xbosh' xmlns:stream='http://etherx.jabber.org/streams ' from='atalk.sytes.net'>
<stream:features>
<mechanisms xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
<mechanism>
PLAIN
</mechanism>
<mechanism>
SCRAM-SHA-1
</mechanism>
<mechanism>
X-OAUTH2
</mechanism>
</mechanisms>
<register xmlns='http://jabber.org/features/iq-register'/ >
</stream:features>
</body>
2023-12-11 12:21:16.667 4703-5344/org.atalk.android D/SMACK: SENT (4):
<body rid='949729322134414' sid='25ba67c4b943796418a2b7c064085327ab9c35ac' xmlns='http://jabber.org/protocol/httpbind '>
<auth xmlns='urn:ietf:params:xml:ns:xmpp-sasl' mechanism='SCRAM-SHA-1'>
bixhPXN3YW5AYXRhbGsuc3l0ZXMubmV0LG49c3dhbixyPTdiSVxeVnVMU0ZoWT8zVVlSa2psdkVMeks/e3BaQUwp
</auth>
</body>
2023-12-11 12:21:16.683 4703-5348/org.atalk.android D/SMACK: RECV (4):
<body xmlns='http://jabber.org/protocol/httpbind '>
<challenge xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
cj03YklcXlZ1TFNGaFk/M1VZUmtqbHZFTHpLP3twWkFMKUhqVjVlVFUvdzJFaW9yQjlGdHh3T3c9PSxzPTdjNktCSnNaTHdTYjNZSytqdVRXb2c9PSxpPTQwOTY=
</challenge>
</body>
2023-12-11 12:21:16.689 4703-5347/org.atalk.android D/SMACK: SENT (4):
<body rid='949729322134415' ack='949729322134413' sid='25ba67c4b943796418a2b7c064085327ab9c35ac' xmlns='http://jabber.org/protocol/httpbind '>
<response xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
Yz1iaXhoUFhOM1lXNUFZWFJoYkdzdWMzbDBaWE11Ym1WMExBPT0scj03YklcXlZ1TFNGaFk/M1VZUmtqbHZFTHpLP3twWkFMKUhqVjVlVFUvdzJFaW9yQjlGdHh3T3c9PSxwPXdNb2c5N3UzQktON1FHaFVQRzQ3MHVjZXdldz0=
</response>
</body>
2023-12-11 12:21:16.702 4703-5348/org.atalk.android D/SMACK: RECV (4):
<body xmlns='http://jabber.org/protocol/httpbind '>
<success xmlns='urn:ietf:params:xml:ns:xmpp-sasl'>
dj0yTzRqVzJXWHdEUDdvNjdJSkdNU3Rmc0NMTkk9
</success>
</body>
2023-12-11 12:21:16.704 4703-5344/org.atalk.android D/SMACK: SENT (4):
<body xmpp:restart='true' rid='949729322134416' xmlns:xmpp='urn:xmpp:xbosh' sid='25ba67c4b943796418a2b7c064085327ab9c35ac' to='atalk.sytes.net' xmlns='http://jabber.org/protocol/httpbind '>
</body>
```
Link: https://github.com/igniterealtime/Smack/pull/554
2023-12-11 11:16:45 +01:00
Florian Schmaus
90b8eee0d1
[extensions] Drop newlines in test string within GroupChatInvitationElementTest
2023-12-07 15:18:04 +01:00
664a141190
[extensions] Improved Support for Direct MUC Invitations (XEP-0249)
...
[flow: rebase of paul's initial submission which required adjustments]
Co-authored-by: Florian Schmaus <flo@geekplace.eu>
2023-12-07 15:01:44 +01:00
Florian Schmaus
726dbc0d27
[core] Add XmlStringBuilder.jidAttribute(Jid) and optJidAttribute(Jid)
2023-12-07 15:01:43 +01:00
Florian Schmaus
b7218e3a72
Smack 4.5.0-alpha3-SNAPSHOT
2023-12-07 11:57:43 +01:00
Florian Schmaus
39fe3fc5bb
Smack 4.5.0-alpha2
2023-12-07 11:42:18 +01:00
Florian Schmaus
610e5dd803
[omemo-signal-integration-test] Add Bouncy Castle as security provider
2023-12-07 11:40:20 +01:00
Florian Schmaus
9e5564a597
[omemo] Do not swallow the exception in OmemoAesCipher
2023-12-07 11:38:25 +01:00
Florian Schmaus
7135977cb7
[sinttest] Make AbstractMultiUserChatIntegrationTest abstract
2023-12-07 11:26:18 +01:00
Florian Schmaus
f74f47f6d4
Merge branch '4.4'
2023-12-07 11:22:43 +01:00
Florian Schmaus
390f6f0fa7
[core] Fix busy-loop in SmackReactor
...
Fixes SMACK-938.
2023-12-07 11:22:38 +01:00
Florian Schmaus
1e666197a3
[sinttest] Display Java version on startup
2023-12-07 11:20:37 +01:00
Florian Schmaus
9acee05e5e
[core] Improve how the selected keys are copied in SmackReactor
2023-12-07 11:20:37 +01:00
Florian Schmaus
844ebbf4c5
[core] Add milliseconds to ConsoleDebugger's timestamp
2023-12-06 20:55:37 +01:00
Florian Schmaus
688c06020b
[sinttest] Improve message ouf XmppConnectionStressTest
2023-12-06 20:55:02 +01:00
Florian Schmaus
7fcc8a9bd3
[sinttest] Set default timeout to 47 seconds
...
Using 60 seconds makes it sometimes easy to miss that the some action
was 1 minute after the timeout, because only a single digit in the
timestamp changes. Using a prime number as timeout makes this more
obvious.
2023-12-06 20:53:23 +01:00
Florian Schmaus
2337a446a5
Re-work ad-hoc command (XEP-0050) implementation
...
Fixes SMACK-933.
2023-12-06 12:40:53 +01:00
Florian Schmaus
dac06b04c3
[core] Add XmlStringBuilder.setAppendApproach()
2023-11-28 11:04:24 +01:00
Florian Schmaus
04dc212db8
Add smack-examples
2023-11-28 10:46:16 +01:00
Florian Schmaus
5a78534443
[core] Mark LazyStringBuilder's String cache as transient
2023-11-26 21:35:19 +01:00
Florian Schmaus
b35b67c360
[repl] Bump Scala to 2.13.12, Ammonite to 2.5.11, and Scalastyle plugin to 2.1.0
2023-11-26 21:34:14 +01:00
Florian Schmaus
6322f4f826
[core] Add global option to flatten when appending in XmlStringBuilder
...
For certain use cases, this provides a performance improvement,
probably due better cache locality. However, it comes with the cost of
additional memory consumption.
This was initially suggested by Boris Grozev, who also reported a
significant performance problem of
XmlStringBuilder/LazyStringBuilder. However, the main cause of the
performance probelm was the missing caching of LazyStringBuilder. The
length of the lazy string is now cached by LazyStringBuidler since
70e48300a6
("[core] Cache length in LazyStringBuilder"), which
accounts for large performance improvement. A significantly smaller
improvement is achieved by this commit and setting
XmlStringBuilder.FLAT_APPEND to 'true'.
Suggested-by: Boris Grozev <boris@jitsi.org>
2023-11-26 21:34:13 +01:00
Florian Schmaus
70e48300a6
[core] Cache length in LazyStringBuilder
2023-11-26 21:24:17 +01:00
Florian Schmaus
9203907e66
Merge pull request #567 from guusdk/sint_trim-config
...
[sinttest] Trim externally-provided configuration
2023-11-26 17:12:39 +00:00
Florian Schmaus
38dd64835f
Merge branch '4.4'
2023-11-26 17:53:07 +01:00
Florian Schmaus
0fb8bfdf6c
[CHANGELOG] fix markdown listing
2023-11-26 17:52:32 +01:00
Florian Schmaus
472bee8497
[sinttest] drop empty line
2023-11-26 13:58:09 +01:00
Florian Schmaus
535ecd67ee
Merge pull request #573 from Flowdalic/sinttest-ibr
...
[sinttest] Fix IBR-based account registration
2023-11-26 12:56:13 +00:00
Florian Schmaus
915626123d
[sinttest] Fix IBR-based account registration
...
When performing IBR-based account registration, we do not need to
login nor are the admin credentials typically available.
Suggested-by: Guus der Kinderen <guus@goodbytes.nl>
2023-11-26 13:55:35 +01:00
Guus der Kinderen
9055878748
[sinttest] Fix typos in log and exception messages
2023-11-25 20:08:51 +01:00
Florian Schmaus
6859de95d0
Merge pull request #564 from vanitasvitae/bumpLibSignal
...
Bump libsignal-protocol-java to 2.8.1
2023-11-25 19:00:45 +00:00
Florian Schmaus
0469185b62
Merge pull request #517 from Neustradamus/slf4j
...
Add SLF4J 2.0+
2023-11-25 19:00:20 +00:00
Florian Schmaus
2dc12db6f4
Merge pull request #563 from vanitasvitae/bumpPgpainless
...
Bump pgpainless
2023-11-25 19:00:02 +00:00
Florian Schmaus
7eabdaf8f7
Merge pull request #570 from guusdk/SMACK-935_Websocket-open-element
...
Improve handling of expanded Websocket 'open' element
2023-11-25 18:59:40 +00:00
Florian Schmaus
097ab20485
[websocket] Do not swallow exceptions and use QName
...
Follow up on c4d11eae299e ("[websocket] Reduce fragility")
2023-11-25 19:59:05 +01:00
Florian Schmaus
2ebffa7615
Merge remote-tracking branch 'origin/pr/571'
2023-11-25 19:58:54 +01:00
Florian Schmaus
0552440c1a
Merge branch '4.4'
2023-11-25 19:44:29 +01:00
Florian Schmaus
84ec2c8c2f
Smack 4.4.8-SNAPSHOT
2023-11-25 19:30:49 +01:00
Florian Schmaus
6d99ba7ffb
Smack 4.4.7
2023-11-25 19:07:40 +01:00
Florian Schmaus
b5b4418406
Merge branch '4.4'
2023-11-25 17:36:15 +01:00
Florian Schmaus
2e8f83c579
Merge pull request #572 from Flowdalic/sync-entity-caps
...
[caps] Use a synchronous listener for incoming presence stanzas
2023-11-25 13:26:12 +01:00
Florian Schmaus
5560fb4752
[chatmarkers] Deprecate ChatMarkers.isSupportedByServer()
...
Fixes SMACK-934.
2023-11-25 11:24:37 +01:00
Florian Schmaus
a270542397
[core] Improve javadoc for listeners
...
With 92f253cc74
("[core] Replace
AbstractXMPPConnection.inOrderListeners") we changes the behavior of
listeners. This commit documents the expectations to the user.
2023-11-24 12:59:04 +01:00
Florian Schmaus
f593b6d0a0
[core] Whitespace fix in XMPPConnection's javadoc
2023-11-24 12:18:19 +01:00
Florian Schmaus
ccfbf9f346
[caps] Use a synchronous listener for incoming presence stanzas
...
Fixes SMACK-937.
2023-11-24 12:15:32 +01:00
Guus der Kinderen
8c1fa1cc91
[websocket] Reduce fragility
...
Replace string-based comparison with a XML parsing when checking for 'open' and 'close' elements.
2023-11-13 16:03:41 +01:00
Guus der Kinderen
6244a213c8
[websocket] Improve handling of expanded 'open' element
...
Prior to this fix, Smack requires the 'open' element send on a websocket connection to be collapsed. With the change in
this commit, an expanded (eg: `<open ...></open>`) element can also be used.
fixes SMACK-935
2023-10-27 13:33:04 +02:00
Florian Schmaus
c7f3e231d0
Merge pull request #568 from guusdk/intellij-icon
...
Add icon to IntelliJ metadata
2023-10-26 19:08:35 +00:00