Florian Schmaus
b054c4fe77
Smack 4.3.3
2019-03-14 14:31:09 +01:00
Florian Schmaus
0de0873abb
version.gradle: Add link to SMACK-858
2019-03-14 14:29:23 +01:00
Georg Lukas
e5bbd19ef1
StanzaDroppedListener for XEP-0198 resumption failures
...
If a stream resume fails, smack will re-send all queued stanzas after a
reconnect. However, it does not make sense to re-send them:
* IQs / IQ responses have probably timed out
* MUC messages and PMs will be rejected as you haven't rejoined yet
* regular messages should be amended with a <delay> element
This patch adds a StanzaDroppedListener interface to the
XMPPTCPConnection. If at least one StanzaDroppedListener is provided,
all queued messages will be drained into the StanzaDroppedListener(s).
Otherwise, the original behavior of attempting to transmit them will be
followed.
Discussion: https://discourse.igniterealtime.org/t/xep-0198-resume-failure-reconnect-resending-of-muc-messages/83510/3
Signed-off-by: Georg Lukas <georg@op-co.de>
2019-03-10 21:24:37 +01:00
Florian Schmaus
569f7417a8
Add AuthenticatedConnectionInitiallyEstablished timestamp
2019-03-10 21:24:37 +01:00
Florian Schmaus
c4289b2c18
Add AbstractXMPPConnection.initState()
...
and init/reset the sychronization points there.
This method is called right at the beginning of connect() and at the
end of shutdown().
2019-03-10 21:24:37 +01:00
Florian Schmaus
7518bf9a25
Add descriptive text to StanzaError.toString()
2019-03-10 21:24:37 +01:00
Florian Schmaus
5da6dea138
Throw exception to reduce call sites of notifyConnectionError()
...
in XMPPTCPConnection.
2019-03-10 21:24:37 +01:00
Florian Schmaus
7d2c3ac9f9
Do not call synchronized methods in reader/writer thread
...
This may cause deadlocks with a call to acquire(2) on the introduced
readerWriterSemaphore in initConnection(), which is also synchronized.
2019-03-10 21:24:37 +01:00
Florian Schmaus
3d1a781a22
Show correct reply timeout value in StanzaCollector's NoResponseException
2019-03-05 08:21:59 +01:00
Florian Schmaus
7f0932a481
Reset the MUC self-presence collector on presence stanzas on join
...
To prevent timeouts when joining very large MUCs we now reset the
self-presence collector's timeout for every other (occupant) presence
we receive.
Fixes SMACK-859.
2019-03-04 23:01:52 +01:00
Florian Schmaus
f602de8771
Call shutdown() in connect() on exception
...
to clean up the state build up by connect().
Related to SMACK-855 there is the possiblitiy of a stray (writer)
thread if, for example, tlsHandled.checkifSuccessOrWaitorThrow() in
XMPPTCPConnection.connectInternal() throws. This commit should prevent
that.
2019-03-04 20:14:12 +01:00
Florian Schmaus
f4ebd530e6
Add note about module dependencies to JavaxResolver
...
Related to SMACK-856.
2019-03-02 14:47:28 +01:00
Florian Schmaus
78ee22c261
Revert "Do not set com.sun.jndi.dns.DnsContextFactory in JavaxResolver"
...
This reverts commit ac9641f091
.
Reverted because now an NoInitialContextException is now thrown.
Related to SMACK-856.
2019-03-02 14:42:19 +01:00
Florian Schmaus
456d645e27
Use different version specifier for jxmpp and MiniDNS
...
Fixes SMACK-858.
2019-02-24 22:09:47 +01:00
Florian Schmaus
3bdc1d30b1
Correctly name provider INSTANCE fields
...
and make them 'final' where possible.
2019-02-23 23:59:17 +01:00
Florian Schmaus
5f7cfd04bd
Add further unit test to StableUniqueStanzaIdTest
2019-02-23 23:59:17 +01:00
Florian Schmaus
5a2109e73f
Move cast in extra line in ADD_ORIGIN_ID_INTERCEPTOR
2019-02-23 23:40:27 +01:00
Florian Schmaus
4da4558b29
Make origin-id interceptor static and rename it
2019-02-23 23:39:58 +01:00
Florian Schmaus
27749b2137
Remove unused filter in StableUniqueStanzaIdManager
2019-02-23 23:39:41 +01:00
Florian Schmaus
47f76952e3
Smack 4.3.3-SNAPSHOT
2019-02-22 10:57:48 +01:00
Florian Schmaus
a8044f723a
Smack 4.3.2
2019-02-22 09:22:23 +01:00
Florian Schmaus
e9b514548b
Filter error messages in DeliveryReceiptManager
2019-02-17 22:27:38 +01:00
Florian Schmaus
db8e37d75f
Reduce scope of catched Exceptions in JavaxResolver
2019-02-17 22:27:38 +01:00
Florian Schmaus
eccaf58df1
Add Logger to JavaxResolver
2019-02-17 22:27:38 +01:00
Florian Schmaus
ac9641f091
Do not set com.sun.jndi.dns.DnsContextFactory in JavaxResolver
...
as this is not accessible in newer Java versions (at least 11).
Fixes SMACK-856.
2019-02-17 22:27:38 +01:00
Florian Schmaus
78dcaec75b
Remove null checks for writer/reader fields in XMPPTCPConnection
...
as those are never null since
60f324eb1b
(the previous commit).
2019-02-09 18:20:55 +01:00
Florian Schmaus
60f324eb1b
Make writer/reader fields final in XMPPTCPConnection
2019-02-09 18:12:36 +01:00
Florian Schmaus
09bffb8dca
Fail sync points on exception in XMPPTCPConnection
2019-02-09 18:12:03 +01:00
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