Commit Graph

3616 Commits

Author SHA1 Message Date
Florian Schmaus 5c8e830157 Log if not all reader/writer threads where terminated 2019-02-09 18:12:01 +01:00
Florian Schmaus 62cba0d96f XMPPTCPConnection: Ensure both writer/reader threads are terminated
This should fix SMACK-855.
2019-02-09 13:36:42 +01:00
Florian Schmaus 5273402b87 Use ranged versions for jXMPP and MiniDNS 2018-12-30 16:30:47 +01:00
Florian Schmaus 1a4ad7b8b5 Mark Local SOCKS5 Proxy thread as daemon thread
Fixes SMACK-849.
2018-12-27 14:42:48 +01:00
Florian Schmaus 4b21f003af Add MultiUserChat.leaveSync()
Fixes SMACK-848.
2018-12-26 21:39:25 +01:00
Florian Schmaus b9c12d44c3 Use InetSocketAddress in log message in XMPPTCPConnection
The inetAddressAndPort String is redundant since
a2743549b8, because we now construct the
InetSocketAddress earlier and can hence use it in the log statement.
2018-12-21 12:09:03 +01:00
Florian Schmaus a2743549b8 Make TCP socket connection attempt interruptable
by introducing SmackFuture.SocketFuture.

Fixes SMACK-847.
2018-12-21 12:03:49 +01:00
Florian Schmaus d1c73eba8d Fix MamManager javadoc
of methods which have been renamed.
2018-12-20 17:00:00 +01:00
Florian Schmaus 48e3127172 Always wait for stream features after authentication
The purpose of the "maybeCompressFeaturesReceived" synchronization
point is to wait for the stream features after authentication. This is
not really reflected by its name and furthermore its
checkIfSuccessOrWait() method was only invoked if compression was
enabled, but we always want to wait for the stream features after
authentication. Hence move the call before the isCompressionEnabled()
check and one layer up in the call stack.

Fixes SMACK-846.
2018-12-20 16:52:44 +01:00
Florian Schmaus f6da386dea Ensure that IQ response 'to' address and ID are set correctly
Fixes SMACK-845.
2018-12-14 17:18:53 +01:00
Florian Schmaus 5ddaa623da Check if unacknowledged stanzas queue is full before adding to it
to avoid an IllegalStateException.

Fixes SMACK-844.
2018-12-08 22:54:13 +01:00
Florian Schmaus 0c134db072 Add ConnectionConfiguration.setHostAddressByNameOrIp(CharSequence fqdnOrIp) 2018-12-04 15:59:11 +01:00
Tairs Rzajevs 0332fa54d1 Fix previous archive page requested incorrectly in MamManager
Previous page should be before the first message in the previous
result set, not the last.

Fixes SMACK-843.
2018-11-29 22:50:59 +01:00
Florian Schmaus fa7297019d Add checkstyle rule for "Boolean.valueOf()" usages 2018-11-29 22:38:11 +01:00
Florian Schmaus dbfc123e5e Use ParserUtils.parseXmlBoolean() where appropriate 2018-11-29 22:29:21 +01:00
Florian Schmaus 7ea7f9e2e9 Add ParserUtils.parseXmlBoolean(String) 2018-11-29 09:02:05 +01:00
Florian Schmaus b675f49b3d
Merge pull request #287 from ge0rg/4.3
Partially fix boolean parser, 4.3 branch
2018-11-28 13:57:22 +01:00
Georg Lukas b8bd10b056 RoomInfo: use proper boolean parser for `muc#roominfo_subjectmod`
XML allows both false/true and 0/1 syntax for booleans.

Signed-off-by: Georg Lukas <georg@op-co.de>
2018-11-28 11:11:52 +01:00
Georg Lukas 8b88f9cb20 Bookmarks: use proper boolean parser for `autojoin`
Some clients (read: Gajim) store boolean values as `0` and `1` instead
of `false` and `true`, which is legal for the XML boolean type.

Signed-off-by: Georg Lukas <georg@op-co.de>
2018-11-28 11:11:52 +01:00
Georg Lukas 229653af30 ParserUtils: fix boolean parser
How could this even happen?

Signed-off-by: Georg Lukas <georg@op-co.de>
2018-11-28 11:11:52 +01:00
asokolov 2900c5ae23 Move xml-not-well-formed (RFC 3920) condition handling to StreamError
Fixes SMACK-842.
2018-11-14 14:53:04 +01:00
Florian Schmaus 5f05da2f77 Smack 4.3.2-SNAPSHOT 2018-10-14 14:22:00 +02:00
Florian Schmaus 6a43481320 Smack 4.3.1 2018-10-14 12:53:11 +02:00
Florian Schmaus cf22371d3e Catch IllegalArgumentException in XmlUtil clinit
Fixes SMACK-833.
2018-10-14 12:10:50 +02:00
Florian Schmaus ec982f65e2 Fix IndexOutOfBoundsException in FormField.getFirstValue()
Fixes SMACK-838.
2018-10-14 12:07:51 +02:00
Florian Schmaus 89c9a41863 Bump MiniDNS to 0.3.3 2018-10-14 11:57:50 +02:00
Florian Schmaus 85731fbe3e
Merge pull request #275 from spslinger/fix-getPresence-ConcurrentModificationException
Fix getPresence ConcurrentModificationException
2018-10-11 14:11:02 +02:00
spslinger 1e21ab763c
Fix getPresence ConcurrentModificationException
Fix for SMACK-841

Since Smack 4.2.4, the getPresencesInternal method in the Roster class
can return a LruCache object, which is a LinkedHashMap with access
order. This means that any access using get or getOrDefault will be a
modification of the Map. If you loop over the keySet of the Map and
there are more than one, the second call to get will throw a
ConcurrentModificationException!

Since the keys are only used here to obtain the corresponding
values, the simplest solution is to just loop over the values instead.
2018-10-11 12:29:32 +02:00
Florian Schmaus 1aa35bc957 Merge branch '4.3' of github.com:Flowdalic/Smack into 4.3 2018-09-12 20:02:16 +02:00
Florian Schmaus 87fac888c6 Improve MultiUserChat's API to query hosted rooms
Return a Map instead of a List. This makes it possible to check for
the existence of MUC by looking up the MUC's address in the Map's key
set.
2018-09-12 19:56:46 +02:00
Florian Schmaus 77baaa99bc Do not warn on presence from bare MUC JID in MultiUserChat
as such presence messages became a thing in XMPP (e.g. for XEP-0153
avatars for MUC).
2018-09-10 21:00:49 +02:00
Florian Schmaus e7372b05ea
Merge pull request #266 from jitsi/4.3
Disconnect BOSH client on shutdown and clear client instance.
2018-08-30 14:36:52 +02:00
damencho 3ffdb9befd Clears bosh client instance on shutdown. Fixes SMACK-829. 2018-08-27 23:58:49 -05:00
Florian Schmaus 158103c918 Add javadoc for MamQueryArgs.Builder.queryLastPage() 2018-08-16 15:35:59 +02:00
Florian Schmaus a4f1039a06 Fix example in MamManager's javadoc: s/queryRecentPage/queryLastPage/ 2018-08-16 15:35:38 +02:00
Florian Schmaus 6e4b85a6b7 Smack 4.3.1-SNAPSHOT 2018-08-02 16:11:25 +02:00
Florian Schmaus 14f4f8eed9 Smack 4.3.0 2018-08-02 15:29:59 +02:00
Florian Schmaus 4b5708603f Bump MiniDNS to 0.3.2 2018-08-02 12:56:32 +02:00
Florian Schmaus 5a7e656898 Bump JXMPP to 0.6.3 2018-08-02 12:55:51 +02:00
Florian Schmaus 5bf0fd64ac Add ExceptionThrowingCallbackWithHint and javadoc
about parsing exceptions also providing rationale.
2018-08-02 09:40:11 +02:00
Florian Schmaus a3fcbdbf5a Make Stanza.appendErrorIfExists() aware of the enclosing XML namespace
Originally discovered by Paul Schaub:

Fixes an inconvenience, where an IQ with the implicit namespace
`jabber:client` would append the namespace to an error child element
like this:

```
<iq (xmlns='jabber:client) <!-- in parenthesis since the NS is implicit --> ... >
    <error xmlns='jabber:client' <!-- this NS is too much --> ... />
</iq>
``
2018-08-01 13:16:20 +02:00
Florian Schmaus 9596ca8943 Bump AnimalSniffer to 1.4.5 2018-07-30 11:51:20 +02:00
Florian Schmaus 0ffc29aa67
Merge pull request #249 from vanitasvitae/checkHint
Avoid adding multiple storage hints to a message
2018-07-04 14:19:06 +02:00
Paul Schaub 2347c2a025
Avoid adding multiple processing hints to a message 2018-07-04 11:55:58 +02:00
Florian Schmaus 78a5f5089a
Merge pull request #248 from mhariri/fix_bosh_msg_ns
Fix missing body namespace in BOSH messages
2018-07-02 23:02:20 +02:00
Mohsen Hariri 33221c57f9 Fix missing body namespace in BOSH messages
The body's "jabber:client" namespace was missing
in BOSH messages.
2018-07-02 17:20:03 +02:00
Florian Schmaus c73219b797 Add (To|From)TypeFilter.(FROM|TO)_ANY_JID
to filter all stanzas which have a valid jid set as to/from.
2018-06-20 22:17:11 +02:00
Florian Schmaus 61be4d768d Add javadoc describing the XMPPErrorException class 2018-06-20 22:17:11 +02:00
Florian Schmaus 23bb5c5625 Add XMPPErrorException.getStanzaError()
Also deprecate getXMPPError and let StanzaError implement
ExtensionElement.
2018-06-20 22:17:11 +02:00
Florian Schmaus 651ee7b85e Smack 4.3.0-rc2-SNAPSHOT 2018-06-17 14:10:12 +02:00