0c4fd3996c
Rebase on master
2023-12-27 17:22:38 +01:00
a0a7f4e20c
Initial support for XEP-0447: Stateless File Sharing
2023-12-27 17:00:40 +01:00
b3b78caa64
Initial support for XEP-0446: File Metadata Element
...
Solves SMACK-894
2023-12-27 17:00:40 +01:00
Florian Schmaus
b5180f819f
Follow-up commit after merging support for XEP-0446: File Metadata Element
...
This is a follow-up commit after 441d677644
("Initial support for
XEP-0446: File Metadata Element"). It includes the following changes
1. Use idiomatic provider design for FileMetadataElementProvider
2. Add XEP-0264 and XEP-0446 to the list of supported XEPs (both where
added with441d6776447f)
2023-12-16 16:53:34 +01:00
Florian Schmaus
3d6fa5dbae
Merge commit '441d6776447f17140b6499362be7e3e6b1f0397d'
2023-12-16 13:57:01 +01:00
Florian Schmaus
1ad394f256
[urldata] Follow-up on initial merge of XEP-0103/0104 support
...
This is a follow-up on 198c51356d
("Add initial support for XEP-0103
and XEP-0104: URL Address Information"), which
1. adds the entries to the support XEPs table
2. registers the provider
3. renames the package from url_address_information to urldata (aka.
the shortname of XEP-0130).
2023-12-16 13:50:30 +01:00
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
441d677644
Initial support for XEP-0446: File Metadata Element
...
Also adds initial support for XEP-0264: Jingle Content Thumbnails
Solves SMACK-894
2023-12-08 14:46:51 +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