Florian Schmaus
a7b3303f3e
Bump ErrorProne to 2.5.1 and refactor Providers a bit
...
This also resulted in a refactoring of the Providers and parsing
Exceptions. NumberFormatException and ParseException can now be thrown
directly, the wrapping in a SmackParsingException is down at a higher
layer, i.e. in AbstractProvider.
2021-01-29 09:26:15 +01:00
Florian Schmaus
0c013e4f29
Merge branch '4.4'
2021-01-25 19:48:16 +01:00
Florian Schmaus
9ab50c374d
[extensions] Use StanzaView as parameter type in BoBDataExtension.from()
...
BoBDataExtensions can also appear in IQs (Registration IQ), and
potentially also Presence stanzas.
Fixes SMACK-901.
2021-01-25 14:29:21 +01:00
Florian Schmaus
d64a9d9029
[xdata] Fix NPE in DataForm.Builder.addItem()
...
Fixes SMACK-900.
2021-01-12 09:41:46 +01:00
Florian Schmaus
1bfb9f34f1
Merge branch '4.4'
2021-01-12 09:22:42 +01:00
Florian Schmaus
df3ca4100b
[caps] Check for null in EntityCapsManager.addCapsExtension()
...
To avoid a NPE, we check for null in addCapsExtension.
Fixes SMACK-899.
2021-01-12 09:01:19 +01:00
Florian Schmaus
35a71f0131
Merge branch '4.4'
2021-01-06 13:51:38 +01:00
Florian Schmaus
d64ee785bd
[extensions] Add BoBDataExtension getBobData() and getContentId()
...
Those two methods where missing after the BoB API redesign.
Fixes SMACK-896.
2021-01-06 13:47:09 +01:00
Florian Schmaus
d8642847ea
Smack 4.4.0
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAl/Msl5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFIq8gf9GZp0Cl9Gr+seA/C8nczE/cNRKfHnDR224klbjlGrnojb+bL2QgeKG6wN
u/eL3+UMus8uw3+R8NKARawqt/r6mbk4bgdGEbzoByLO6iiPYTr7TuZmTOQyZa5L
tMNkFIvfvMzDeDDqI4z4uTgT3s7YBg0d4BT7cL8T6RaZGHF57OxqhWnKxMuaiTXH
HJzVTPrtAcYg17QZl5+mrhiWyynE5+4QGeluYHlh7vvsniwNOqrwO1vWHg2BX003
DjaHK+6oLjKxVljCklXxE7Wsx0VcMrBfv2qZwW3Q4ZzZVcrAn8TC4HrUtR8DL176
DpGlEhmmdr3xKKX0JQ9RmIod+xSabw==
=4wGX
-----END PGP SIGNATURE-----
Merge tag '4.4.0'
Smack 4.4.0
2020-12-06 12:16:44 +01:00
Florian Schmaus
a4bb5bfda8
[ibb] Use UInt16 for 'seq' and fix its handling
...
Fixes a off-by-one error when incrementing 'seq'. Thanks to Kim
Alvefur <zash@zash.se> for spotting this.
2020-12-05 23:04:17 +01:00
Florian Schmaus
3f3a7cb540
Merge branch '4.4'
2020-11-09 21:23:25 +01:00
Guus der Kinderen
59cf449799
Provide more detailed code comment.
2020-11-09 21:21:27 +01:00
Guus der Kinderen
0ff8040895
FileTransfer: replace Error.none with null
...
This fixes an inconsistent representation of a 'no error' representation, that
causes a file transfer in which not enough bytes were transferred to _not_ be
marked as having a problem.
2020-11-09 21:21:27 +01:00
Florian Schmaus
71f5cfe3da
Merge branch '4.4'
2020-11-09 11:08:47 +01:00
Florian Schmaus
1f5ada4822
Add org.jivesoftware.smack.Smack with getVersion() and ensureInitialized()
2020-11-09 08:46:57 +01:00
Florian Schmaus
df96c57093
[address] Get rid of PacketCopy workaround
...
PacketCopy subclassing Stanza was always a peculiarity. The only
subclasses of Stanza should be Message, Presence, and IQ.
2020-11-09 08:46:56 +01:00
Florian Schmaus
7e311ab9df
[muc] Prevent race condition on enter() by waiting
...
This prevents a race condition of enter() with the presence listern by
waiting until all presences have been processed.
Reported-by: Guus der Kinderen <guus@goodbytes.nl>
2020-11-09 08:46:56 +01:00
Florian Schmaus
f12fe2264a
[muc] Only retrieve MUCUser once in Presence listener
2020-11-08 19:37:41 +01:00
Florian Schmaus
cfccc78ba0
[muc] Rename local variable 'presence' to 'reflectedSelfPresence'
...
To increase readability, and with that maintainability, we rename
'presence' to 'reflectedSelfPresence' in MultiUserChat.enter(), to
make it clear what kind of presence this variable holds.
Also mark the variable as final.
2020-11-03 22:31:22 +01:00
Guus der Kinderen
55d7b9d4eb
Fix pubsub options rendering
...
The exiting code generates an unintentional nested 'options' child element:
```
<iq to='pubsub.example.org' id='FQTHU-126' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub '>
<options node='sinttest-multisubscribe-nodename-13pnc'>
<options jid='smack-inttest-two-13pnc@example.org'
node='sinttest-multisubscribe-nodename-13pnc'/>
</options>
</pubsub>
</iq>
```
This commit removes the undesired nesting, resulting in:
```
<iq to='pubsub.example.org' id='FQTHU-126' type='get'>
<pubsub xmlns='http://jabber.org/protocol/pubsub '>
<options jid='smack-inttest-two-13pnc@example.org'
node='sinttest-multisubscribe-nodename-13pnc'/>
</pubsub>
</iq>
```
2020-10-27 10:23:17 +01:00
Florian Schmaus
5782fff2a4
Merge branch '4.4'
2020-09-23 21:42:51 +02:00
Florian Schmaus
6d39a4e3ac
[bob] Add BoBDataExtension, remove BoBExtension
...
BoBExtension extending XHTMLExtension was poorly designed and only
worked for a single paragraphy.
Fixes SMACK-770.
2020-09-23 19:57:13 +02:00
Florian Schmaus
fe7d3bec30
Make Forwarded a generic type
...
Fixes SMACK-821.
2020-09-23 17:48:04 +02:00
Florian Schmaus
d00656493a
[jingle] Use correct XmlStringBuilder constructor in JingleReason
2020-08-26 11:34:57 +02:00
Florian Schmaus
3003094130
Merge pull request #412 from Flowdalic/data-form-type-annotations
...
[xdata] Parse forms of any kind without field type annotations
2020-07-23 17:24:48 +02:00
Florian Schmaus
1bd097ed9b
Merge pull request #411 from Flowdalic/sasl
...
SASL / getFeature()
2020-07-23 16:09:57 +02:00
Florian Schmaus
103ffabc08
[xdata] Parse forms of any kind without field type annotations
...
We previously only looked in the registry for 'submit' type forms. But
also 'result' type forms may be send without field type
annotations. Same is true, but less likely, for 'form' type forms.
2020-07-23 15:47:17 +02:00
Florian Schmaus
329948b442
Add XMPP.(get|has)Feature(Class|QName) and deprecate (String, String)
2020-07-23 14:32:14 +02:00
Florian Schmaus
b7fe56fb9b
[xdata] Add message to IllegalArgumentException
2020-07-06 11:51:12 +02:00
Florian Schmaus
3e8666cd91
[xdata] Fix case in FillableForm
2020-07-06 11:51:12 +02:00
Florian Schmaus
ed02bcf0d4
[ibb] Ensure InBandBytestreamManager is a singleton
...
InBandBytestreamManager followed an unusual pattern: Within the
connectionTermianted() callback, it would remove itself from the
'managers' map. This allowed for multiple instances of an
InBandBytestreamManager to exist for the same connection, causing all
kinds of issues.
This fixes the issue by changing InBandBytestreamManager to use the
Smack-idiomatic pattern used by managers.
We also do no longer reset the listeners if the connection is
termianted, as listeners (and handlers) typically persist until they
are explicitly removed by the user.
As positive side-effect, the number of indeterministic unit-tests,
caused by using Thread.sleep(), is reduced. The executor service in
InitiationListener was also removed, because the IQ handler is already
called asynchronously to the connections main loop.
Thanks to Anno van Vliet for reporting this.
2020-07-03 22:01:15 +02:00
99cb60dac7
Add missing rightangle bracket to FormNode addXml()
2020-06-15 16:15:27 +02:00
Florian Schmaus
3f9ca68134
Delete TypedCloneable
2020-06-14 17:38:51 +02:00
Florian Schmaus
18c2c37ad0
Rename XmlUnitUtils to XmlAssertUtil
2020-06-14 16:53:21 +02:00
Florian Schmaus
9d6665735f
[pubsub] Rework NodeExtension.toXML()
2020-06-14 16:52:13 +02:00
damencho
8e337d7810
[muc] Make providesMucService() use the KNOWN_MUC_SERVICES cache
...
This reduces the number of disco#info queries on MUC join in some
situations.
2020-06-12 15:54:14 +02:00
Florian Schmaus
ccc785062e
[extensions] Deprecate old-style PepManager PEP listeners
2020-05-25 20:32:47 +02:00
Florian Schmaus
d65f2c932e
Bump Error Prone version to 2.3.4 and fix new bug patterns
2020-05-24 21:10:01 +02:00
Florian Schmaus
9a8ee3c8e3
[core] Improve NumberUtil's exception message and fix javadoc
2020-05-24 13:08:03 +02:00
Florian Schmaus
ebe5c49e92
[checkstyle] Tighten JavadocMethod checkstyle rule
2020-05-23 22:43:29 +02:00
Florian Schmaus
a137944e50
[disco/caps] Fix DiscoverInfo.asBuilder()
...
The method would not copy the extensions elements, which would lead to
a false calculation of the caps hash by EntityCapsManager.
2020-05-22 15:38:16 +02:00
Florian Schmaus
0db6406262
[softwareinfo] Separate static and non-static fields by empty line
2020-05-22 15:36:39 +02:00
Florian Schmaus
54d6bc8658
[softwareinfo] Remove SoftwareInfoManager.isSupported(Jid)
...
SoftwareInfoManager.fromJid(Jid) will return 'null' if the jid in
question does not announce or support this.
2020-05-22 15:35:56 +02:00
Florian Schmaus
027358fc63
[softwareinfo] Remove unnecessary throws declarations
2020-05-22 15:34:27 +02:00
Florian Schmaus
b3c57ef918
[xhtmlim] Use stanza builder API, deprecate old
2020-05-21 22:45:28 +02:00
Florian Schmaus
2679c72f0f
[disco] Move logic that was previously in EntityCapsManager in SDM
2020-05-18 09:15:15 +02:00
Florian Schmaus
46ba273689
[disco] Delay the entity caps renewal
...
This avoids the calculation of the caps hash while the managers become
registered with the connection and add their features.
2020-05-18 09:15:14 +02:00
Florian Schmaus
f00acbff89
Merge pull request #340 from adiaholic/XEP-0232
...
Add support for XEP-0232 : Software Information
2020-05-16 12:08:35 +02:00
Aditya Borikar
17ca4c541b
Add support for XEP-0232: Software Information
...
By making use of an extended data format, service discovery responses
can be used to constitute software information.
Solves SMACK-853.
2020-05-16 14:02:25 +05:30
Florian Schmaus
9fd5bc7873
[pubsub] Make Fillable(Configure|Subscribe)Form constructors package-private
...
Those are not meant to be used directly.
2020-05-15 11:54:49 +02:00