Florian Schmaus
e63ba07e5c
Cast with generic declared
2020-04-12 12:07:02 +02:00
Florian Schmaus
516c68bdb4
test: remove InitExtensions
...
And replace it with SmackTestSuite.
2020-04-12 09:34:08 +02:00
Florian Schmaus
28e763f938
extensions/experimental: line separator according to import order
2020-04-12 09:33:14 +02:00
Florian Schmaus
463dfac48d
extensions: finish conversion to JUnit5, drop JUnit4
2020-04-11 22:10:19 +02:00
Florian Schmaus
b5f9d4d7a3
Introduce test fixtures
...
This also removes the powermock dependency. Although powermock is a
fine library, it currently prevents dropping Junit4. And since we only
use the Whitebox API of powermock, this simply replaced powermock's
Whitebox with our own.
2020-04-11 22:05:36 +02:00
adiaholic
4991c952e7
Correct code example inside UserTuneElement
.
2020-04-09 18:38:21 +05:30
Florian Schmaus
eaa94be7e6
Merge pull request #356 from vanitasvitae/improveAttention
...
Improve attention
2020-04-09 14:28:54 +02:00
Florian Schmaus
e70506152e
Merge pull request #357 from vanitasvitae/nicktest
...
Add Nick JUnit test
2020-04-09 14:28:08 +02:00
b5caf13c8a
Add Nick JUnit test
2020-04-08 22:15:29 +02:00
ffbd97ff10
Add AttentionElementTest
2020-04-08 22:09:13 +02:00
adiaholic
340e186cf6
Make use of pep
instead of pubsub
in GeoLocationManager
...
This mini assignment kicked-off with replacing `pubsub` with `pep`,
but later transformed into something more.
The alterations and additions in this commit:
a) GeoLocation.
1) Add Documentation.
2) Add `EMPTY_GEO_LOCATION` to be used while
`stopPublishingGeoLocation()` is called.
b) Add GeoLocation IntegrationTest.
c) Add GeoLocation Listener.
d) GeoLocationManager.
1) Add Documentation.
2) Replace `pubsub` with `pep`.
3) Add methods to add-and-remove GeoLocationListeners.
4) Enable GeoLocation by default.
e) Add `package.info` for GeoLocation Integration Test.
2020-04-08 23:05:09 +05:30
adiaholic
5169e887ad
Replace JUnit4 with JUnit5 in smack-extensions
.
...
This commit concludes migration of `smack-extensions` module,
from JUnit4 to JUnit5.
2020-04-07 15:46:21 +05:30
Florian Schmaus
078cb5cc8f
Merge pull request #366 from vanitasvitae/offlineMessage
...
Prevent multi-instancing of OfflineMessageManager
2020-04-06 09:22:26 +02:00
Florian Schmaus
69e9f3c044
Remove deprecated GroupChatInvitation.getFrom()
2020-04-05 22:14:27 +02:00
Florian Schmaus
0967019a5f
Remove deprecated Forwarded.getForwardedPacket()
...
This method was deprecated with 1cd268a8f
("Deprecate
Forwarded.getForwardedPacket()").
2020-04-05 22:13:14 +02:00
Florian Schmaus
07da9ffb48
Do not have Stanza.getExtension(String, String) return a generic type
...
Returning a generic would allow for
List<ExtensionElement> list = stanza.getExtension("foo", "bar");
to compile (Note the we are calling getExtension(), not
getExtension*s*()).
Users are encouraged to use the type safe getExtension(Class<? extends
ExtensionElement) variant instead.
Fixes SMACK-825.
2020-04-05 22:10:05 +02:00
3fb4438566
Reorder smack-extensions providers xml
...
Fix rfc number
2020-04-04 13:03:35 +02:00
Florian Schmaus
4beaae7d6a
disco: avoid boxing to Integer when not necessary
2020-03-13 16:41:27 +01:00
Florian Schmaus
863d0bf403
Fix NPE in ServiceDiscoveryManager
2020-03-09 14:41:52 +01:00
Florian Schmaus
78be8f3a04
junit: bump to 5.6.0
2020-02-23 19:12:54 +01:00
5ed594fe73
Prevent multi-instancing of OfflineMessageManager
2020-02-17 01:43:40 +01:00
e81c4814ed
Make use of XmlStringBuilder in AttentionElement
2020-01-06 18:41:30 +01:00
Florian Schmaus
a7a298c5d8
Use standard stanza listeners in MultiUserChat
...
Those, relatively new, listeners guarantee that the individual
listeners are not invoked in concurrently while preserving the
order. Exactly what MultiUserChat previously did with AsyncButOrdered,
which is now no longer needed and hence can be removed.
2019-11-07 14:36:50 +01:00
Florian Schmaus
eb4c2c5572
s/occured/occurred/
2019-10-30 12:02:36 +01:00
Florian Schmaus
ee699f24dd
Remove DiscoverInfo.Identity(Identity) copy constructor
...
as there is no need to copy an immutable type.
2019-10-30 08:24:13 +01:00
Florian Schmaus
63a4212f7e
Remove clone() from DiscoverInfo.Identity
...
there is no need to clone immutable types.
2019-10-30 08:22:47 +01:00
Florian Schmaus
e2223254cf
Organize imports everywhere
2019-10-29 21:12:22 +01:00
Florian Schmaus
69767e9538
Rename AbstractIqBuilder subclasses to their designated names
2019-10-29 19:34:18 +01:00
Florian Schmaus
6e32305987
Apply builder pattern to DiscoverInfo
...
This is the first transformation of an IQ type to the builder type.
2019-10-29 11:14:55 +01:00
Florian Schmaus
36072fb25a
test: created mocked connectionwith stanza factory
2019-10-29 10:40:41 +01:00
Florian Schmaus
4b01892129
Remove unused DiscoverInfo instances in PingTest
2019-10-27 07:51:25 +01:00
Florian Schmaus
e2d206e741
Introduce XMPPConnection.add(Message|Presence)Interceptor
...
add deprecate addStanzaInterceptor().
2019-10-25 21:41:55 +02:00
Florian Schmaus
5db6191110
Introduce StanzaBuilder
...
As first step to immutable Stanza types.
2019-10-25 21:41:55 +02:00
Florian Schmaus
926c5892ad
Fix 260c5539b
("Add support for XEP-0118: UserTune")
...
Fix a bug in the EqualsBuilder usage in UserTuneElement. Properly
synchronize listeners using CopyOnWriteSet. Make methods and fields
static where sensible and possible. Make
disableUserTuneNotifications() public (why was it private?). And a few
other minor fixes.
2019-10-17 12:27:33 +02:00
adiaholic
260c5539b5
Add support for XEP-0118: UserTune
...
This commit will enable user to communicate
information about music to which user is listening.
This feature is less of a requirement and more like fun to me.
An attempt at solving SMACK-257.
Incase you see any chances of improvement,
please let me know :)
2019-10-17 12:24:30 +02:00
Florian Schmaus
e23babf147
Add Stanza.setNewStanzaId() and ensureStanzaIdSet()
...
Also deprecate setStanzaId() since it was not clear if this would
create a new stanza ID or just ensure that one is set.
2019-10-05 23:16:15 +02:00
Florian Schmaus
eeb6c52f7e
Move SASL logic into AbstractXMPPConnection
...
Besides the way the transport handles the stream after SASL
<success/>, the SASL logic is independend from the underlying
transport (BOSH, TCP, …). Hence move it up into
AbstractXMPPConnection.
This also has the benefit that we can make some more methods private
or package-private.
Also introduce XmlStringBuilder.optTextChild(), which causes some
associated changes.
2019-09-25 13:49:21 +02:00
Florian Schmaus
c3247ef006
Use optElement() instead of optAppend() in StreamInitiation.toXML()
2019-09-24 23:29:26 +02:00
Florian Schmaus
afd61670a4
pubsub: Add removal comment in ConfigureForm
2019-09-16 22:04:57 +02:00
Florian Schmaus
34f1c2b79e
errorprone: Enable MethodCanBeStatic
2019-09-07 23:01:39 +02:00
Florian Schmaus
65576cf3c2
Rework XML Element hierarchy and XmlStringBuilder
...
- Reduce the amount of types that are subtypes of NamedElement. See
javadoc of NamedElement for rationale.
- Work more with XmlEnvironment in XmlStringBuilder.
- Some minor changes to XmlStringBuilder API.
2019-09-07 18:17:08 +02:00
Florian Schmaus
dd4df0a5ef
Improve how XmlStringBuilder handles enclosing XML environments
...
to avoid emitting unnecessary attributes like xmlns.
Also add a test for MediaElement that checks that <uri/> does not
carry a xmlns attribute.
2019-09-04 10:22:56 +02:00
Florian Schmaus
1a3067c89b
Enable werror for javadoc and fix javadoc issues
2019-08-30 12:08:30 +02:00
Florian Schmaus
4249c1a845
Improve PepManager.publish()
...
by using PubSubManager.tryToPublishAndPossibleAutoCreate().
This also swaps the parameters of the method.
Thanks to Guus der Kinderen for suggesting this.
2019-08-28 22:59:30 +02:00
Florian Schmaus
bf0c69c93e
Merge pull request #333 from adiaholic/docFix
...
DocFix in `NodeInformationProvider`
2019-08-22 15:16:00 +02:00
Florian Schmaus
f863bd222c
Merge branch '4.3'
2019-08-22 11:52:41 +02:00
Florian Schmaus
ca7529c192
Use Integer.compare(int, int) now that we are on Android 19
2019-08-04 23:03:42 +02:00
adiaholic
144e99c020
DocFix in NodeInformationProvider
2019-08-04 19:39:55 +05:30
Florian Schmaus
3e74d11b45
Disable MucMemoryLeakTest
...
Although it it not that unreliable, it causes false negatives once in
a while. This is because the standard Java SE API does not provide a
way to force a *full* garbage collection run, we need to resort to
unreliable hacks to trigger one.
The test itself is still useful to diagnose or refute alleged memory
leaks.
This commit also move the test from JUnit 4 to Junit 5.
2019-08-03 22:25:21 +02:00
Florian Schmaus
d2f9617418
Merge pull request #326 from adiaholic/bugFix
...
Return obtained XmlStringBuilder instead of null
2019-07-28 17:50:09 +02:00
adiaholic
41a3ec05c7
Returning obtained XmlStringBuilder instead of null
2019-07-28 16:36:12 +05:30
Florian Schmaus
4ca2c7cc69
Enable MissingJavadocPackage and UnnecessaryParentheses checkstyle checks
2019-07-24 09:18:39 +02:00
Florian Schmaus
91ec6cc955
Javadoc changes for Java 11 compatibility
2019-07-19 23:05:46 +02:00
Florian Schmaus
fda9408cf3
Use XmlStringBuilder in PubSub's SubscribeExtension
2019-07-05 11:31:12 +02:00
Florian Schmaus
9c0da3ed07
Change SubscribeExtension's jid field type from String to Jid
...
and make it final.
2019-07-05 11:24:02 +02:00
Florian Schmaus
df5899e72b
Introduce SmackConfiguration.SMACK_URL(_STRING)
2019-07-04 15:51:28 +02:00
Florian Schmaus
f3b856c80b
Improve shouldFailIfInitiatorCannotConnectToSocks5Proxy() unit test
...
If run in parallel with other unit tests, especially onces that open
up a proxy, this test could fail, because another unit test actually
had an proxy running on the very address this unit test assumes to be
no proxy running.
We now use an IP address from RFC 5737's TEST-NET-1 address block,
which should never be available.
2019-07-04 15:49:47 +02:00
0ad1a0bd4c
Add note about BookmarkManager to MUCManager
2019-07-03 23:37:51 +02:00
Florian Schmaus
a3f6fa65a4
Disallow null or empty string in PubSubManager.getNode(String)
2019-06-12 22:31:55 +02:00
Florian Schmaus
ef88bb17d0
Disallow empty string as node in DiscoverInfo
2019-06-12 22:31:29 +02:00
Florian Schmaus
c6c904cc3e
Add support for XEP-0350: Data Forms Geolocation Element
...
Fixes SMACK-871.
2019-06-12 17:13:05 +02:00
Florian Schmaus
fa0c16d75c
Introduce EqualsUtil and HashCode.(Builder|Cache)
2019-06-12 14:51:17 +02:00
Florian Schmaus
92b02afbff
Improve exceptions of Socks5Proxy
2019-06-11 12:47:40 +02:00
Florian Schmaus
818ee8a727
Make Objects.requireNonNull() throw IllegalArgumentException
...
and not NullPointerException. Altough this differs from
java.util.Objects behavior, throwing an IllegalArgumentException
appears more sensible and makes it easier to catch it in Smack's
parsing function.
2019-06-11 12:47:40 +02:00
Florian Schmaus
9bb36fc63c
Make Socks5TestProxy a subclass of Socks5Proxy
...
to reduce the duplicated code. This also means we are now testing the
real implementation.
2019-06-11 12:47:39 +02:00
Florian Schmaus
6e1193edaf
Use QName instead of XmppStringUtils.generateKey()
2019-06-11 12:47:39 +02:00
Florian Schmaus
ce70308099
Introduce UInt(16|32) datatypes
2019-06-11 12:47:39 +02:00
Florian Schmaus
c0183775fe
Add support for XEP-0221: Data Forms Media Element
...
Fixes SMACK-824.
2019-06-11 12:47:39 +02:00
Florian Schmaus
1f8b7273a8
Improve junit test in Socks5ByteStreamManager
...
It could be that the test is flapping. This helps to see the origin of
the unexpected exception.
2019-06-11 12:47:39 +02:00
Florian Schmaus
4d36e3b521
Introduce FormFieldChildElement and make FormField immutable
2019-06-11 12:47:39 +02:00
Florian Schmaus
1a99801501
Fix typo in FormField's javadoc: s/fold/field/
2019-06-05 10:54:17 +02:00
Florian Schmaus
9a2cca2bd3
Merge branch 'master' of github.com:Flowdalic/Smack
2019-06-03 17:41:49 +02:00
Florian Schmaus
b288768f77
Introduce util.InternetAddress
...
and use it where sensible. Also fixes a few unit tests along the way.
2019-06-03 17:41:10 +02:00
Florian Schmaus
619b8e6f4a
Add secure(OnlineAttackSafe|Unique|OfflineAttackSafe)RandomString()
...
and replace usages of java.util.UUID in Smack with
secureUniqueRandomString() because it uses a thread-local secure random
number generator.
2019-06-02 20:08:03 +02:00
Florian Schmaus
58fc39714f
Use assertThrows() in Socks5ByteStreamManagerTest
2019-06-02 11:00:37 +02:00
Florian Schmaus
839e347676
Rename NumberUtil.checkIfInUInt32Range() to requireUInt32
2019-06-02 10:46:53 +02:00
Florian Schmaus
726a2de273
Deprecate ParserUtils.getQName()
2019-06-02 10:44:50 +02:00
Florian Schmaus
af6ee76f4c
Remove empty lines in Socks5BytestreamManager
2019-06-02 10:41:39 +02:00
Florian Schmaus
49aa7ce21b
Do not swallow exception in Socks5BytestreamManager
2019-06-02 10:41:27 +02:00
Florian Schmaus
9352225f44
Rework SOCKS5 unit tests so that they can be run in parallel
...
As result it is now also possible to start multiple local SOCKS5
proxies with different port, which is usually not necessary in real
life but useful for unit tests.
2019-06-02 10:38:19 +02:00
Florian Schmaus
d337474a86
Add DiscoverItems.Item.toString()
2019-05-23 23:06:39 +02:00
Florian Schmaus
02f7cfcf27
Improve session sweeping logic in AdHocCommandManager
...
Fixes SMACK-624.
2019-05-20 10:41:01 +02:00
Florian Schmaus
02e2eba556
Socks5Proxy: Remove empty line
2019-05-18 13:24:48 +02:00
Florian Schmaus
48010f3b82
Socks5Proxy: Log if server thread termination was interrupted
2019-05-18 13:24:30 +02:00
Florian Schmaus
11ae6d6960
Socks5Proxy: Use CloseableUtil to close server socket
2019-05-18 13:24:05 +02:00
Florian Schmaus
ab99f629a3
Socks5Proxy: Include server socket in thread name
2019-05-18 13:23:24 +02:00
Florian Schmaus
f7762c5db7
Add "whitespace after comma" checkstyle rule
2019-05-17 21:56:46 +02:00
Florian Schmaus
7e25c3ada5
Merge branch '4.3'
2019-05-16 20:52:27 +02:00
Florian Schmaus
60db42e2f4
Merge pull request #299 from magnetsystems/autojoin-callback-on-reconnect
...
Autojoin callback on reconnect
2019-05-08 13:43:46 +02:00
Florian Schmaus
f4ee7dd541
Update PowerMock to 2.0.2
...
and set Mockito 2's mock-maker-inline as MockMaker to allow mocking of
final classes.
2019-05-08 12:44:48 +02:00
Florian Schmaus
d2f5efcb20
Use StandardCharsets.(UTF_8|US_ASCII)
...
This also gets rid of a ton of UnsupportedEncodingException s.
2019-05-08 12:44:48 +02:00
Florian Schmaus
2a4d110b22
Add Socks5Exception and improve SOCKS5 bytestream exception messages
...
The exception message now also contains the stream hosts and their
exception.
2019-05-08 11:07:18 +02:00
Florian Schmaus
fd89a5e5a5
Add StreamHost.toString()
2019-05-08 09:24:23 +02:00
Florian Schmaus
7f0dc72dab
Update errorprone(-plugin) and make Unused(Variable|Method) an error
2019-05-07 23:09:00 +02:00
Florian Schmaus
68d7d738b6
Remove all tabs and add checkstyle rule that enforces no-tabs
...
Fixes SMACK-866.
2019-05-07 21:24:00 +02:00
Florian Schmaus
e1ed035beb
Remove xmlunit-lagacy and add xmlunit-assertj
2019-05-07 19:06:16 +02:00
Florian Schmaus
4a3dda93af
Merge pull request #315 from adiaholic/doc-fix-in-index
...
Minor changes in documentation.
2019-05-06 22:57:59 +02:00
Florian Schmaus
4133eb175c
Replace XPP3 by XmlPullParser interface wrapping StAX and XPP3
...
Introducing Smack's own XmlPullParser interface which tries to stay as
compatible as possible to XPP3. The interface is used to either wrap
StAX's XMLStreamReader if Smack is used on Java SE, and XPP3's
XmlPullParser if Smack is used on on Android.
Fixes SMACK-591.
Also introduce JUnit 5 and non-strict javadoc projects.
2019-05-06 22:10:50 +02:00
Eng ChongMeng
dd903bec95
SMACK-868: Fix XHTMLText producing invalid XML
2019-05-06 00:39:41 +02:00
adiaholic
1554a33518
Changed XEP-031 to XEP-0131
2019-05-04 14:18:46 +05:30
Florian Schmaus
4e7cd83220
Fix (Privacy|Time)ProviderTest
...
XML attributes must be separated by a whitespace.
2019-04-29 08:52:36 +02:00
Florian Schmaus
d97fb126a1
Add PubSubManager.getInstanceFor() just like all other Managers
...
and deprecate PubSubManager.getInstance().
2019-04-16 11:21:22 +02:00
Florian Schmaus
9c30e4f3cc
Merge branch '4.3'
2019-04-16 09:27:48 +02:00
Florian Schmaus
488055948d
Add missing 'synchronized' keywords to Manager.getInstanceFor()
...
Fixes SMACK-865.
2019-04-15 09:48:52 +02:00
V Lau
f1fb03d08c
Add a success callback for auto-join on reconnect.
...
When auto-join on reconnection is success, invoke a callback.
Conform to the proper copyright format.
2019-04-09 14:21:11 -07:00
Florian Schmaus
0ec7e84cbc
Update link to XMPP Registry for Service Discovery Identities
2019-04-09 14:26:15 +02:00
Florian Schmaus
9ad162af6e
Use correct field in ServiceDiscoveryManager.getIdentities()
...
Fixes SMACK-863.
2019-04-09 12:14:12 +02:00
Florian Schmaus
0d17f195b0
Use EntityFullJid as JID type in MultiUserChat.getJoinedRooms()
...
Got a user who put in a EntityBareJid and wondered why the returned
list was empty.
2019-04-07 22:13:38 +02:00
Florian Schmaus
927eb5e7d7
Add MemoryLeakTest(Util)
...
to check for the correct operation of what was implemented with
SMACK-383.
2019-03-25 18:58:58 +01:00
Florian Schmaus
0cd3318b12
Merge pull request #301 from adiaholic/JIRA836
...
Saving an instance of ServiceDiscoveryManager in MultiUserChatManager.
2019-03-24 11:39:20 +01:00
Florian Schmaus
989dbb14e8
Merge pull request #296 from MarcelHeckel/PingManager_ConnectionOkOnAnyPacket
...
PingManager: con. assumed ok for any packed within the ping interval
2019-03-20 20:00:54 +01:00
adiaholic
d6e25730d0
Saving an instance of ServiceDiscoveryManager in MultiUserChatManager.
...
Previously, the costly method 'ServiceDiscoveryManager.getInstance()'
was called at multiple instances inside MultiUserChatManager.
In this commit I wish to replace this call by saving a private final
instance of 'ServiceDiscoveryManager' which will is an attempt at
solving SMACK-836.
2019-03-18 13:10:20 +05:30
Florian Schmaus
daab6039a1
Smack 4.3.3
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlyKV9tfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFL4vQf/Qfg3VzNEnmk0+KjOtuvfAbhMfzE92gfo15vE0PPEIe9VA0Pzkvqhva4k
Efw7BhD2zx8hWvo0d5FfkdII89hSYnOCiSmhiX1Ln9q/gUqFW0TDAKpsMfAl7jAK
Fap8M7uUStP9T6fF/gq01djYCYoWA/4v1lGKv4J4b9gWCqzGIF2sK0M7of7VERnr
pEXJSUM228rk6EYjVmX/9Ujo1Y+xaNMFFZZSbKYrirAqjP540v0OPBCRQyB8qFaI
NTcNJ+qESe6Q80mw5V+y/kD6kX0LERSDB+pigzOOOlmfMtD1uADR84tAynuTKNAU
7/5K/YSQxceRY6RTgD17Al5lHIH5nw==
=ToR+
-----END PGP SIGNATURE-----
Merge tag '4.3.3'
Smack 4.3.3
2019-03-14 18:23:33 +01:00
Heckel
3d3d89612f
PingManager: Assume server ping successful if stanzas where received
...
We assume that the connection is good even if there was no ping
result but a stanzas within the ping interval.
In some case we have produced so much load, that the ping result
was not delivered in time because so many other packets were
delivered before.
2019-03-14 12:42:46 +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
825a5836eb
Merge branch '4.3'
2019-02-17 22:28:01 +01:00
Florian Schmaus
e9b514548b
Filter error messages in DeliveryReceiptManager
2019-02-17 22:27:38 +01:00
Florian Schmaus
85f7e1d39c
Remove deprecated methods scheduled for removal in Smack 4.4
2019-02-16 17:17:25 +01:00
Florian Schmaus
8df69bd3ce
Use XmlEnvironment in parsing/provider subsystem
2019-02-15 23:21:30 +01:00
Florian Schmaus
b3801b984a
Use PacketParserUtils in OpenIQProviderTest
2019-02-15 23:16:11 +01:00
Florian Schmaus
394f3d133a
Make SmackException abstract
2019-02-10 21:53:31 +01:00
Florian Schmaus
7fce6b5a98
Introduce SmackMessageException
2019-02-10 21:50:39 +01:00
Florian Schmaus
7dee3b88a2
Introduce SmackParsingException
2019-02-10 19:01:47 +01:00
Florian Schmaus
083dac8b83
Rework exceptions in the parsing / provider subsystem
2019-02-05 13:18:03 +01:00
Florian Schmaus
fee3ed81ca
Introduce XmlEnvironment
2019-02-05 13:18:03 +01:00
Florian Schmaus
658fd08d20
Use try-with-resources where possible
...
and make StanzaCollector implement AutoCloseable.
2019-02-05 13:18:03 +01:00
Florian Schmaus
e98d42790a
SmackReactor/NIO, Java8/Android19, Pretty print XML, FSM connections
...
This commit adds
- SmackReactor / NIO
- a framework for finite state machine connections
- support for Java 8
- pretty printed XML debug output
It also
- reworks the integration test framework
- raises the minimum Android API level to 19
- introduces XmppNioTcpConnection
Furthermore fixes SMACK-801 (at least partly). Java 8 language
features are available, but not all runtime library methods. For that
we would need to raise the Android API level to 24 or higher.
2019-02-05 13:18:03 +01:00
Florian Schmaus
ee8728479d
Merge branch '4.3'
2018-12-27 14:43:31 +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
e4c31541e0
Make MultiUserChat.leave() behave as leaveSync()
...
and mark leaveSync() as deprecated.
Fixes SMACK-848.
2018-12-26 21:50:36 +01:00
Florian Schmaus
a9de8e2f76
Merge branch '4.3'
2018-12-26 21:40:10 +01:00
Florian Schmaus
4b21f003af
Add MultiUserChat.leaveSync()
...
Fixes SMACK-848.
2018-12-26 21:39:25 +01:00
Florian Schmaus
62a0c6f26e
Merge branch '4.3'
2018-11-29 22:39:55 +01:00
Florian Schmaus
fa7297019d
Add checkstyle rule for "Boolean.valueOf()" usages
2018-11-29 22:38:11 +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
cc1bee4659
SMACK-828: Add support for XEP-0107: User Mood
2018-11-11 16:13:41 +01:00
Florian Schmaus
b7ea226c56
Bump "Error Prone" to 2.3.2
...
and gradle-errorprone-plugin to 0.6.
2018-10-31 16:06:31 +01:00
Florian Schmaus
2ee621ed10
Factor NickProvider in extra file and fill under correct package
2018-10-21 09:31:15 +02:00
Florian Schmaus
382057f520
Make Nick immutable
2018-10-21 09:01:54 +02:00
Florian Schmaus
2f1f0b6c1a
Clear comments in Nick
2018-10-21 08:58:33 +02:00
Florian Schmaus
c053f5a41b
Escape nickname in Nick.toXML()
2018-10-21 08:58:16 +02:00
Florian Schmaus
ab120691cb
Smack 4.3.1
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlvDIBdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFKObAgApvEwstvSXhgzlrA46DM6fXezbPEnO1rh8rCPJEAsmfBSnyINSuuhelzw
zN8L7GAU0jDeuDivxA12vQx5QB8wuCHKgc5pXDKNRi9eUdsyDUMKswcbMMAJWDvq
I3bm7TOC1D9ZWmfhGmqfulrsVD1Q0wh+P2A1/CWVR5ZZUB5S4fESFZUrnCfJmeXe
f+INXUiui3otAF6nPxKm782rSfHWvA32i4Obnagh3oPX/c9R7Ftb78Wukrsbaqfg
+a5iTlBJXLG75/Yozq+JqmWlUvEKv7le0vkF5fF+oc76H4p1U1wqQyIMei/Pwaer
H/SyMqLPzCiwpUHiunpWD13e5kkeLw==
=47on
-----END PGP SIGNATURE-----
Merge tag '4.3.1'
Smack 4.3.1
2018-10-14 14:31:31 +02:00
Florian Schmaus
ec982f65e2
Fix IndexOutOfBoundsException in FormField.getFirstValue()
...
Fixes SMACK-838.
2018-10-14 12:07:51 +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
271ac7ee7a
Use PossibleFromTypeFilter for MultiUserChat's presence listener
2018-09-10 21:05:47 +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
0e847f34f3
Remove unused method in pubsub.Subscription
2018-08-21 12:51:52 +02:00
Florian Schmaus
7374caefef
Make StringEncoder generic
2018-08-21 11:09:26 +02:00
Florian Schmaus
27164f4c06
Do not use a generic return parameter in PubSubManager.getNode()
2018-08-16 17:23:15 +02:00
Florian Schmaus
528e170b99
Use pepPubSubManager in PepManager.publish()
2018-08-15 20:16:33 +02:00
Florian Schmaus
4d4f92ba86
Rename PEP to Pep
2018-08-15 20:15:57 +02:00
Florian Schmaus
4b3f757ed9
Add a PEP PubSubManager to PEPManager
2018-08-15 20:13:40 +02:00
Florian Schmaus
5569782113
Fix javadoc in PEPManager
2018-08-15 17:58:53 +02:00
Florian Schmaus
a1d4a91fa0
Make PubSubManager.deleteNode(String) "node did not exists" aware
2018-08-15 17:48:54 +02:00
Florian Schmaus
a00aa726fe
Introduce CloseableUtil
2018-08-15 17:25:22 +02:00
Florian Schmaus
50385be964
Bump jxmpp to 0.7.0-alpha1
2018-08-02 14:45:26 +02:00
74bebc13e6
requireNotNullOrEmpty -> requireNotNullNorEmpty
2018-07-17 15:10:39 +02:00
Florian Schmaus
ce4f3352a2
Merge branch '4.3'
2018-06-23 17:18:17 +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
8841c4aed2
Remove deprecated method sin SDM and AdHocCommandManager
...
These methods are related to functionality which is no longer existend
in XEP-0030.
2018-06-14 09:59:46 +02:00
Florian Schmaus
84ef4047a7
Remove depreacted methods in MultiUserChat
2018-06-14 09:58:52 +02:00
Florian Schmaus
9e865fe6ab
Merge remote-tracking branch 'ignite/4.3' into 4.3
2018-06-12 13:41:43 +02:00
Florian Schmaus
6ba9218c77
Introduce myRoomJid EntityFullJid in MultiUserChat
2018-06-12 12:16:56 +02:00
Guus der Kinderen
03a267a925
fix: Prevent attempt to construct invalid address
...
When no join was properly registered, a nickname will not be defined.
In that case, attempting to construct the from address for the 'leave'
presence stanza will result in:
java.lang.IllegalArgumentException: The Resourcepart must not be null
This commit prevents that, by verifying that the nickname is non-null,
before sending that stanza.
2018-06-12 10:09:55 +02:00
Florian Schmaus
5ae164f670
Add Forwarded.extractMessagesFrom(Collection<Forwarded>)
2018-06-06 08:39:09 +02:00
Florian Schmaus
8aa7029b38
Add DataForm.addFields()
2018-06-03 21:19:04 +02:00
Florian Schmaus
d26baeb66f
Add Date API methods to FormField values
2018-06-03 17:29:09 +02:00
Florian Schmaus
298bcc8097
Improve FormField.resetValues()
...
by using clear() instead of removeAll().
2018-06-03 17:29:09 +02:00
Florian Schmaus
2adf8a79af
Add CommandsProviderTest
2018-06-03 17:01:19 +02:00
Florian Schmaus
ccf2b8bcf8
Add MultiUserChat.getXmppConnection()
2018-05-31 18:37:08 +02:00
Boris Grozev
fd5e86ce5a
fix: Cleans the multiUserChats map.
2018-05-21 14:54:23 -05:00
Florian Schmaus
98a029e9c7
Set name of local SOCKS5 proxy thread
2018-05-13 19:37:41 +02:00
Florian Schmaus
fd97f5ba0b
Use a CopyOnWriteArraySet for joinedRooms
...
Since it is accessed concurrently. And also may cause a
ConcurrentModificationException when the MultiUserChatManager tries to
re-join the joined rooms.
Fixes SMACK-819.
2018-05-10 20:30:24 +02:00
Florian Schmaus
72de6540b2
Add DiscoInfoLookupShortcutMechanism and EntityCapabilitiesChangedListener
...
to allow for plugable XEP-0115 like mechanisms. For example XEP-0390.
2018-05-10 20:30:23 +02:00
Florian Schmaus
c94962c763
Add toString() to Disco Feature and Identity
2018-05-10 15:25:20 +02:00
Florian Schmaus
e8923b9d16
Enable trailing whitespace checkstyle check
...
for all source code regions, including javadoc.
2018-05-09 23:26:39 +02:00
Florian Schmaus
e5d93e58a1
Bump PowerMock to 1.7.3
...
And also drop the powermock-classloading-xstream dependency as it is
currently not used.
2018-05-09 20:16:05 +02:00
Florian Schmaus
a9e45475ab
Treat <body/> just like all other extension elements in Message
...
This turned out to be a rather large change.
2018-05-09 17:13:09 +02:00
Florian Schmaus
cb9a11b74e
Fix Forwarded.toXml(String): Set the correct enclosing XML namespace
2018-05-09 17:13:09 +02:00
Florian Schmaus
779ebd5d69
Merge pull request #234 from vanitasvitae/fixDeliveryReceipts
...
Make receipts id optional (SMACK-815)
2018-05-06 22:00:47 +02:00
95534da53f
Make receipts id optional
...
(SMACK-815)
Remove @author and change javadoc
2018-04-28 13:24:46 +02:00
Florian Schmaus
5ab2903c32
Change Element.toXml() to toXml(String enclosingNamespace)
2018-04-27 10:05:25 +02:00
Florian Schmaus
6c4a02691e
Make PubSub's SimplePayload infer the XML Element name and namespace
...
Fixes SMACK-816.
2018-04-23 22:00:12 +02:00
Florian Schmaus
cc0022c919
Globally s;Stanza(/Packet);Stanza; and more 'packet' → 'stanza'
2018-04-23 21:10:22 +02:00
Florian Schmaus
2065a7ed01
Add findServicesDiscoverInfo() with service argument
...
to ServiceDiscoveryManager.
2018-04-23 20:41:33 +02:00
Florian Schmaus
31244ae982
Make PubSub elements namespace aware
...
Also fixes SMACK-814.
2018-04-23 20:36:41 +02:00
Florian Schmaus
acc64ffc2d
Remove unnecessary argument from createMockedConnection()
...
The server address can be infered from the user JID.
2018-04-23 17:02:28 +02:00
Florian Schmaus
2050845289
Fix Protocol code examples in Javadoc
2018-04-23 17:02:28 +02:00
Florian Schmaus
73168bff69
Use XmlUtil for XML pretty printing in Protocol
2018-04-23 17:02:28 +02:00
Florian Schmaus
4fb34a6952
Add MultiUserChatManager.getMucServiceDomains()
...
and deprecate getXMPPServiceDomains().
2018-04-23 17:02:28 +02:00
Florian Schmaus
f69cd55970
Merge pull request #232 from TimothyPitt/PubSub_NotificationType
...
Pub sub notification type
2018-04-16 18:22:08 +02:00
Timothy Pitt
d5aaf8fdab
Notification type for pubsub node config
2018-04-16 16:03:02 +02:00
Florian Schmaus
74f14484e6
Smack 4.2.4
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlrTPy5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFI5aAf/Rb6Y+hqxiHRbsmww74rt7HfgQnOjOjz3bPhgbVH2emzBHzxsU2pBBY87
iTfCXjXA3qQ9FzluBchLrd9EciDEXq1A/ZblYnR+kch1DK7wvVipTPWIzOHt6ahD
q7vfS9EmmFBCRjNM4tW8zwaajWWeJAWimXoZFxuy/n+2FORnx0x5NrnIHwYvyUtf
nY432BOiCg7l6J9sgfcoYDgP0Ot4SkdfUIgGOYonv0lzKW8HkU/OZZwEMbFhlCHU
s0inbU5ldDDP7xXIinDqHVSKpRlSIkaOJ0zbAQLjFz8h2fCnqDGhpnNbun8Xb7l2
agsATloOl91tlUV5D+qRWjzkx7pDxA==
=YqLS
-----END PGP SIGNATURE-----
Merge tag '4.2.4'
Smack 4.2.4
2018-04-15 14:48:22 +02:00
Florian Schmaus
5f58529c3a
Switch argument of VCard.setJabberId() to CharSequence
...
instead of String.
2018-04-13 10:09:14 +02:00
2614c0d5c1
Add support for XEP-0319: Last User Interaction (SMACK-636)
2018-04-09 20:59:39 +02:00
Timothy Pitt
832c0a92aa
Added pubsub Node.modifySubscriptionsAsOwner with test
2018-04-09 18:03:53 +02:00
Florian Schmaus
476fdf99a1
Inroduce AsyncButOrdered
2018-04-08 21:21:50 +02:00
Florian Schmaus
2efec89050
Rename XMPPError to StanzaError
...
Fixes SMACK-769.
2018-04-07 22:59:25 +02:00
Florian Schmaus
0e15a903d9
Do not silently swallow exceptions in ChatStateManager
2018-04-06 19:38:12 +02:00
Florian Schmaus
19a445ea02
Remove unnecessary check in ChatStateManager
2018-04-06 19:38:12 +02:00
Florian Schmaus
9d53363413
Synchronize ChatStateManager's chatStateListeners
2018-04-06 19:38:12 +02:00
Florian Schmaus
1d88c857b5
Change FormField value(s) type from String to CharSequence
2018-04-06 13:24:54 +02:00
Florian Schmaus
9b5dafe541
Enable LeftCurly checkstyle check
2018-04-06 10:25:06 +02:00
Florian Schmaus
6a42d5baff
Rework FileUtils
2018-04-06 10:25:06 +02:00
Fernando Ramirez
632c172f6d
Add pubsub publishing and altaccuracy parameter to geoloc
2018-04-04 15:04:42 +02:00
Florian Schmaus
ad87243060
Globally 's;stanza(/packet);stanza;'
2018-03-31 14:17:30 +02:00
Florian Schmaus
a9ca1a0989
Enable ModifierOrder checkstyle check
...
Fixes SMACK-812
2018-03-29 12:35:11 +02:00
Florian Schmaus
bd08f11c4a
Add DataValidationTest.testNamespacePrefix()
2018-03-28 19:37:26 +02:00
Florian Schmaus
702b9a5139
Use an extra variable for 'name' in DataValidationProvider
2018-03-28 19:35:41 +02:00
Florian Schmaus
3132d9a224
Bump errorprone to 2.2.0
2018-03-28 15:56:04 +02:00
Florian Schmaus
b5209f4701
Enable RedundantModifier checkstyle check
2018-03-28 14:02:21 +02:00
Florian Schmaus
193688e553
Merge branch '4.2'
2018-03-28 12:51:28 +02:00
Florian Schmaus
5b9254aff5
Merge pull request #209 from fuentesj11/rename-deprecate-xmppconnection-methods
...
Rename and deprecate XMPPConnection methods
2018-03-28 12:11:32 +02:00
Jesus Fuentes
a70063dc89
Rename and deprecate XMPPConnection methods
...
Rename and deprecate XMPPConnections methods as described in SMACK-802
2018-03-22 15:40:40 -05:00
Florian Schmaus
a9bf2a3504
Put ChatStateManager in INSTANCES in getInstanceFor()
...
like it is done everywhere else.
2018-03-22 17:09:51 +01:00
Florian Schmaus
d6cc291252
Move listeners into constructor in ChatStateManager
2018-03-22 17:07:32 +01:00
a3d430f334
Migrate the ChatState package to chat2 API
...
Fixes SMACK-761
2018-03-22 16:22:59 +01:00
Florian Schmaus
5a29be4c67
Use Jid in pubsub.Subscription
2018-03-21 14:47:45 +01:00
Florian Schmaus
ffaca31178
Use XmlStringBuilder for pubsub.Subscription
2018-03-21 14:47:45 +01:00
Florian Schmaus
7c9060c32b
Merge branch '4.2'
2018-02-27 08:09:34 +01:00
Florian Schmaus
27808e9e8c
Make PingManager use Manager.schedule()
2018-02-26 10:24:35 +01:00
Florian Schmaus
3bdeca44f2
Merge branch '4.2'
2018-02-23 18:35:34 +01:00
Florian Schmaus
20014d56b4
Use true/false instead of 1/0 in boolean type FormFields
2018-02-23 11:50:54 +01:00
Florian Schmaus
026f3a2f8c
Merge branch '4.2'
2018-02-22 14:54:48 +01:00
Florian Schmaus
ec4be1963a
Deprecate legacy disco-publish API of ServiceDiscoveryManager
2018-02-21 20:43:56 +01:00
Florian Schmaus
41f5cf8435
Remove unused LOGGER from ServiceDiscoveryManager
2018-02-21 20:21:10 +01:00
Florian Schmaus
a48e8ef843
Merge branch '4.2'
2018-02-21 20:13:05 +01:00
Florian Schmaus
98708d67a2
Make ServiceDiscoveryManager.findService() consider all services
...
with the same matching feature announced.
Consider for example PubSub where usually the service itself announces
the PubSub feature as part of PEP, and where an additional PubSub
component exists. The old logic will just lookup the first matching
service with a PubSub feature announcement and check if for a matching
identiy. If we look for a real PubSub service, but stumble first over
user's service with PEP, then findService() will return 'null' although
there would have been a valid PubSub service.
Fixes SMACK-805.
2018-02-21 20:09:11 +01:00
Florian Schmaus
64f41364f9
Merge pull request #207 from vanitasvitae/descriptions
...
Add missing package-info.java descriptions.
2018-02-21 20:08:39 +01:00
9f47daa7ad
Add missing package-info descriptions.
2018-02-21 16:47:11 +01:00
Florian Schmaus
245a3b3851
Use the correct ad-hoc action in ServiceAdministrationManager
...
Fixes SMACK-804. Thanks to Holger Weiß for his help with the issue.
Smack would always use the 'next' action only 'execute' (which is
always allowed) and 'complete' where candidates.
Example XMPP trace:
SENT: <iq to='salem.geekplace.eu' id='f0JiQ-45' type='set'><command xmlns='http://jabber.org/protocol/commands ' node='http://jabber.org/protocol/admin#add-user ' action='execute'></command></iq><r xmlns='urn:xmpp:sm:3'/>
RECV: <iq xml:lang='en' to='sinttest-admin@salem.geekplace.eu/one-phx8g' from='salem.geekplace.eu' type='result' id='f0JiQ-45'>
<command status='executing' sessionid='2018-02-21T14:48:13.508812Z' node='http://jabber.org/protocol/admin#add-user ' xmlns='http://jabber.org/protocol/commands '>
<actions execute='complete'>
<complete/>
</actions>
<x type='form' xmlns='jabber❌ data'>
<title>Add User</title>
<field var='FORM_TYPE' type='hidden'><value>http://jabber.org/protocol/admin </value></field>
<field var='accountjid' type='jid-single' label='Jabber ID'><required/></field>
<field var='password' type='text-private' label='Password'><required/></field>
<field var='password-verify' type='text-private' label='Password Verification'><required/></field>
</x>
</command>
</iq>
SENT:
<iq to='salem.geekplace.eu' id='f0JiQ-49' type='set'>
<command xmlns='http://jabber.org/protocol/commands ' node='http://jabber.org/protocol/admin#add-user ' sessionid='2018-02-21T14:48:13.508812Z' action='next'>
<x xmlns='jabber❌ data' type='submit'>
<field var='FORM_TYPE' type='hidden'><value>http://jabber.org/protocol/admin </value></field>
<field var='accountjid' type='jid-single'><value>smack-inttest-one-phx8g@salem.geekplace.eu</value></field>
<field var='password' type='text-private'><value>L2Cz2gKeVsBAEBRJ</value></field>
<field var='password-verify' type='text-private'><value>L2Cz2gKeVsBAEBRJ</value></field>
</x>
</command>
</iq>
RECV:
<iq xml:lang='en' to='sinttest-admin@salem.geekplace.eu/one-phx8g' from='salem.geekplace.eu' type='error' id='f0JiQ-49'>
<command action='next' sessionid='2018-02-21T14:48:13.508812Z' node='http://jabber.org/protocol/admin#add-user ' xmlns='http://jabber.org/protocol/commands '>
<x type='submit' xmlns='jabber❌ data'>
<field var='FORM_TYPE' type='hidden'><value>http://jabber.org/protocol/admin </value></field>
<field var='accountjid' type='jid-single'><value>smack-inttest-one-phx8g@salem.geekplace.eu</value></field>
<field var='password' type='text-private'><value>L2Cz2gKeVsBAEBRJ</value></field>
<field var='password-verify' type='text-private'><value>L2Cz2gKeVsBAEBRJ</value></field>
</x>
</command>
<error code='400' type='modify'><bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Unexpected action</text>
</error>
</iq>
2018-02-21 16:34:03 +01:00
Florian Schmaus
d6be4a7782
Set Java source and target compatibility to Java 8
...
Fixes SMACK-801.
2018-02-10 14:11:27 +01:00
Florian Schmaus
5333bde2e8
Merge branch '4.2'
2018-02-10 12:14:09 +01:00
Florian Schmaus
278c15d52d
Deprecate some chat2 ChatManager APIs
...
because their functional interfaces clashes. This helps to prepare
Smack for Java 8 where such a construct results in a compile time error.
2018-02-10 12:10:19 +01:00
Florian Schmaus
3c4225d167
Merge branch '4.2'
2017-12-25 14:16:43 +01:00
Florian Schmaus
34373e8710
Enable javadoc 'html' doclint
...
Also make all 'test' tasks depend on the 'javadoc' task.
Fixes SMACK-650.
2017-12-25 14:08:18 +01:00
Florian Schmaus
0eeab74990
Merge branch '4.2'
2017-12-25 11:40:45 +01:00
52398b535f
Fix javadoc issues in some packages
2017-12-23 20:21:19 +01:00
2f2c2f8663
Fix minor codestyle issues
2017-12-17 11:19:41 +01:00
Florian Schmaus
431e5b3c67
Merge branch '4.2' into master-paul-merged
2017-12-17 11:16:02 +01:00
cb18056613
Fix minor codestyle issues
2017-12-17 11:03:46 +01:00
Florian Schmaus
a25971d02b
Add AffiliationsExtensionTest
2017-12-05 20:50:34 +01:00
Florian Schmaus
ca1852f6e0
Fix AffiliationsExtension.toXml()
...
Fixes SMACK-789.
2017-12-05 20:50:34 +01:00
Florian Schmaus
76a6b9f2a1
Smack 4.2.2
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAloZnf5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFLcIQgAsTLRI3sWIZDPRuI5YaU/y6beqqzMp5cQgk/9+9DHGBoziLEU1spkvBs2
Yvlwu3NtHSJsI+ibzYLEFRnzEwuW07vXw7R5J+kRSZrsE40z1HCQRwUIXDkPgghe
MuL6vT6OV+kLqKb33YLSBuT2fj2pzVE6mRmMsnFekay/weEqOGUZaY9Hd5lJ31/9
33fQC0FQfKULQ5t7PbdfX4dDDNWn0n6v+KjvjaskHI0oA+vqPWxPkj8gNXWW8b72
tVV4h5uXQ0ziK3oED79+GH+DSiET9N2PmsZ7woXiFy5H8KbcQDVe5Pazf+Iq2VQ+
Vi6Vxikr6Ak+v2Xkt+e3x9E6mZDI1w==
=CVqq
-----END PGP SIGNATURE-----
Merge tag '4.2.2'
Smack 4.2.2
2017-11-25 18:45:32 +01:00
Florian Schmaus
2edbc64957
Refactor reconnection callbacks into an extra class
...
Fixes SMACK-775
2017-11-25 16:30:18 +01:00
Florian Schmaus
81002c4fbd
Merge branch '4.2'
2017-11-22 08:37:47 +01:00
Florian Schmaus
9e11b68144
Add comment style checkstyle rule requiring a space
2017-11-20 08:53:19 +01:00
Florian Schmaus
52bd680bb5
Fix OfflineMessageManager.getMessages(List<STring>)
...
by implementing a new logic how the messages are retrieved.
Previously in case the node list has exactly one item, the method
would perform an unnecessary call to nextResult() causing a delay.
Fixes SMACK-785.
2017-11-18 15:58:08 +01:00
Florian Schmaus
0da3ebf385
Make MUC invitation rejected filter also filter by room address
...
Fixes SMACK-783.
2017-11-12 12:20:08 +01:00
Florian Schmaus
a66c42834f
Add findServicesDiscoveryInfo() variant
...
which does not log some exceptions, but instead comes with an optional
output paramater which returns the encountered exceptions.
2017-11-09 18:16:08 +01:00
Florian Schmaus
5ef6853db6
Improve MultiUserChat's leave() and destroy() login
...
Remove the "if (!joined) return" guard in leave() this allows to
resync the instances state with the real world state in case they ever
get out of sync.
Also call userHasLeft() in even if leave() throws and in certain
situations if destroy() throws.
Thanks to Дамян Минков and Ingo Bauersachs for pointing this out.
2017-11-07 20:38:19 +01:00
Florian Schmaus
0a4cd79d4e
Call MultiUserChat.userHasLeft() before invoking listeners
...
in case a listener throws, userHasLeft() will eventually have set the
MutliUserChat instance to the right state.
2017-11-07 20:34:43 +01:00
Florian Schmaus
d93d214f0e
Remove duplicate code in MultiUserChat
2017-11-07 20:34:43 +01:00
damencho
44e4607259
Fix memory leak in MutliUserChat.removeConnectionCallback().
...
Fix memory leak by removing subject listener
in MutliUserChat.removeConnectionCallback().
Fixes SMACK-782.
2017-11-07 20:34:43 +01:00
Florian Schmaus
65b4f506dc
Add SubscribeAnswer.ApproveAndAlsoRequestIfRequired
2017-11-06 22:41:28 +01:00
Florian Schmaus
384c285fbc
Merge branch '4.2'
2017-10-14 14:56:36 +02:00
Florian Schmaus
0729392ab8
Fix isSupported discovery of "Push Notifications"
...
Fixes SMACK-780.
2017-10-14 14:12:28 +02:00
Florian Schmaus
9bb0ed150b
Merge pull request #165 from pocman/patch-1
...
Keep 4.1.9 chat.sendMessage(String) behavior
2017-08-16 15:18:52 +02:00
Florian Schmaus
ba323b51f9
Remove API parts scheduled to be removed in Smack 4.3
2017-08-16 14:31:46 +02:00
Florian Schmaus
80eaaf2d71
Fix warnings
2017-08-16 14:10:00 +02:00
Florian Schmaus
43abd52d76
Smack 4.2.1
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlmR75tfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFLeXggAjdgj7YVUe22NtamnROBj1c3PaWwgSY0gEjcyDPsOz5qeqNUdQLHbmt2j
XQQpYZWKg1/1uoQHlsixaFKbGVctKRk72aNEodRfd1osta11WTOwZKEb8nI411Tt
7M0Fhf430WZY6nioZiZIorsmid57fftJ2EMPlmjEDp2FD0AVGAXkEhCneGaPtt9Q
hbWbepIy9tApeIH+QgmFLBmPLnFCaSg+X6NUden3Z21bUz5vH8pmcbeUVfsNB7kW
nkkDuNwKHPFLgjuhcq7D+KAKRwNU7n8WEuHseRzM7bMCEB+S/rZok5KPXe/tV4v+
YZKN2e+2yh4j5l4FT/fCzELfWcvrgA==
=MV3G
-----END PGP SIGNATURE-----
Merge tag '4.2.1'
Smack 4.2.1
2017-08-14 21:01:36 +02:00
Florian Schmaus
772e45da92
Introduce NotAPubSubNodeException
...
Fixes SMACK-759.
2017-08-14 20:23:35 +02:00
Florian Schmaus
f4391c07d7
Rework SmackFuture and add async API based on it
2017-08-12 17:35:45 +02:00
Florian Schmaus
0602ae064a
Remove deprecated methods from XMPPConnection
2017-08-12 13:36:47 +02:00
Thomas
b70e80b1ad
Keep 4.1.9 chat.sendMessage(String) behavior
...
chat2.Chat.send(String) should have the same behavior as chat.Chat.sendMessage(String)
2017-08-11 10:30:05 +02:00
Florian Schmaus
7f851d806c
Use StandardExtensionElement in JingleProvider
...
and some further minor jingle fixes:
- deprecate getJingleTransport() in favor of getTransport()
- Jingle.Builder now checks if the session ID is not empty
2017-08-05 11:13:58 +02:00
Ingo Bauersachs
c9b9558cd4
Make add/remove for presence interceptors consistent
2017-08-01 16:17:35 +02:00
Florian Schmaus
ed9eae4793
Improve JingleS5BTransportInfo by introducing abstract class
...
Introduce a abstract class for shared functionality. And remove static
lazy getters.
2017-07-30 19:29:11 +02:00
Ingo Bauersachs
0b8788a9fc
Fix parameter ordering in BoBHash construction
2017-07-20 22:50:34 +02:00
Florian Schmaus
104146c5ed
Add Jingle.getSoleContentOrThrow()
2017-07-17 21:05:56 +02:00
Florian Schmaus
8f808b38e1
Merge pull request #153 from vanitasvitae/fixReason
...
Allow parsing of JingleReason.AlternativeSession
2017-07-08 08:24:17 +02:00
58c32639b5
Allow parsing of JingleReason.AlternativeSession
...
The JingleReasonProvider was faulty and ignored the
<alternative-session> element.
2017-07-06 16:55:12 +02:00
8bd3856fa1
Fix typos in filetransfer package
2017-07-06 14:01:28 +02:00
99c1c93c2a
Fix shouldPreserveAddressOrderOnInsertions test
...
The test failed because the ArrayList - in contrast
to the underlying Set - did not check for duplicates
on insert. Under certain circumstances this lead to
an index out of bounds exception because the list in
the test contained duplicated entries which were not
present in the set of the Socks5Proxy.
I fixed the issue by only inserting the address when
it was not in the list before.
2017-07-04 21:50:08 +02:00
7e76bc1ae5
More changes to the Jingle package:
...
- Change visibility of some Socks5Bytestreams code.
- Add central ThreadPool
- Move FullJidAndSessionId in own class
- More complete JingleSession class
- More complete JingleUtil class
- Improved tests
2017-07-03 10:35:46 +02:00
5bd01b7385
Add Jingle File Transfer elements and JingleUtil class
2017-06-30 15:03:13 +02:00
Florian Schmaus
541c9ecfdd
Fix compile errors in jingle code
...
Which where introduced by merging
20eabca1b3
after
b14aca744f
2017-06-29 18:09:25 +02:00
Florian Schmaus
1d53889874
Merge pull request #145 from vanitasvitae/singleJingleTransport
...
Switch to single transport instead of list
2017-06-28 21:02:52 +02:00
20eabca1b3
Also replace list with single transport-info info
2017-06-26 15:04:22 +02:00
e2b8ffdf22
Switch to single transport instead of list
2017-06-21 13:42:02 +02:00
b14aca744f
Add Jingle SOCKS5Bytestream transport method
2017-06-19 10:11:08 +02:00
Florian Schmaus
08a4ee4eb2
Reworked some Jingle unit tests to use Junit's "expected="
...
Also don't use randomString() because then the unit tests also depend
on the correct behavior of it.
2017-06-17 16:08:32 +02:00
Florian Schmaus
2b11074950
Merge branch '4.2'
2017-06-17 15:55:38 +02:00
Florian Schmaus
05148ab0ad
Merge pull request #142 from vanitasvitae/jingleIBB
...
Add Jingle InBandBytestream transports
2017-06-16 23:32:59 +02:00
Florian Schmaus
aaad697b02
Merge pull request #140 from vanitasvitae/TransportInfo
...
Add JingleContentTransportInfo class
2017-06-16 23:25:23 +02:00
Florian Schmaus
6712cc91c8
Merge pull request #139 from vanitasvitae/JingleErrors
...
Remove unused errors and add missing ones
2017-06-16 23:19:50 +02:00
5699373cd9
Add method to set Reason
2017-06-16 22:54:32 +02:00
Florian Schmaus
759a7d7a70
Fix InitationListenerTest's timeouts
...
Don't use Thread.sleep(), isntead we use Mockito's timeout() method.
2017-06-16 22:51:14 +02:00
287976e0e0
Add Jingle InBandBytestream transports
2017-06-16 22:43:50 +02:00
Florian Schmaus
08e897113d
Add CustomImportOrder checkstyle rule
...
And matching ImportOrder settings for Eclipse in
resources/eclipse/smack.importorder
2017-06-14 17:12:43 +02:00
e33bb5a741
Reorder imports
2017-06-14 00:01:05 +02:00
a604266336
Create alternative-session JingleReason
2017-06-14 00:00:27 +02:00
62167a7857
Reorder imports
2017-06-13 23:58:41 +02:00
4ae8434852
Remove unused errors and add missing ones
2017-06-13 23:57:59 +02:00
d49dc71bae
Add JingleContentTransportInfo class
2017-06-08 15:04:25 +02:00
Florian Schmaus
acc98b4b2f
Merge pull request #137 from vanitasvitae/jingleTests
...
Add tests for jingle classes
2017-06-05 19:06:29 +02:00
Florian Schmaus
349d1ba2ae
Merge pull request #136 from vanitasvitae/jingleManagerFixes
...
Fix typos and xml issues in jingle package
2017-06-05 11:04:52 +02:00
23190604bd
Fix typos and xml issues
2017-06-04 20:41:27 +02:00