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