Commit Graph

111 Commits

Author SHA1 Message Date
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 dddf62763e Also store unavailable presences in the map for non-Roster presences
Fixes SMACK-808.
2018-03-13 19:38:07 +01:00
Florian Schmaus 1fd03c396a Make Roster's non-roster presence second-level map bounded
Fixes SMACK-809.
2018-03-13 19:38:07 +01:00
Jesus Fuentes 903f90e1c1 Update/fix javadocs 2018-03-09 07:15:46 -06:00
Paul Schaub 9f47daa7ad
Add missing package-info descriptions. 2018-02-21 16:47:11 +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
Paul Schaub cb18056613 Fix minor codestyle issues 2017-12-17 11:03:46 +01:00
Florian Schmaus 65b4f506dc Add SubscribeAnswer.ApproveAndAlsoRequestIfRequired 2017-11-06 22:41:28 +01:00
Florian Schmaus 9a34e9e870 Add RosterUtil.preApproveSubscriptionIfRequiredAndPossible() 2017-11-06 22:39:10 +01:00
iachimoe c92a95136f Updated comments to indicate that reject_all is default SubscriptionMode 2017-08-26 12:16:07 -05:00
Florian Schmaus 2d4312272c Allow roster pushes from our full JID
SMACK-773
2017-07-03 11:07:26 +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
Florian Schmaus ce1cddc722 More checkstyle whitespace related checks 2017-05-24 14:42:38 +02:00
Florian Schmaus 847890b037 Don't send 'ask' roster item attribute
Fixes SMACK-766.
2017-05-22 16:25:18 +02:00
Florian Schmaus e141de9aa4 Fix possible NPE in roster push listener
Daniele Ricci reporting the following NPE using Smack 4.1.9

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.indexOf(int)' on a null object reference
       at org.jxmpp.util.XmppStringUtils.parseBareJid(XmppStringUtils.java:124)
       at org.jivesoftware.smack.roster.Roster$RosterPushListener.handleIQRequest(Roster.java:1416)
       at org.jivesoftware.smack.AbstractXMPPConnection$2.run(AbstractXMPPConnection.java:1061)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
       at java.lang.Thread.run(Thread.java:818)

This is possibly caused by a service sending roster pushes for unbound
connections, i.e. where getUsers() returns 'null'. We now log such
situations instead throwing an NPE.
2017-03-10 17:47:13 +01:00
Florian Schmaus 4c646436a5 Bump "Error Prone" to 2.0.15
and fix a few things :)
2017-02-11 16:16:41 +01:00
Florian Schmaus ef0af66b21 Enfore spaces for indentation
Although I'm in the tabs camp, Smack uses mostly spaces. Therefore it
is the logical choice for the indentation style.
2017-02-07 22:10:10 +01:00
Florian Schmaus 46e8866440 Improve log message of RosterResultListener 2017-01-30 17:09:30 +01:00
Florian Schmaus 85fcb55bd9 Fix roster handling of outgoing 'unavailable' presence
make sure that the 'to' attribute is not set, as otherwhise the
listener would also be invoked e.g. when the user leaves a MUC.
2017-01-29 11:12:30 +01:00
Florian Schmaus 7c46f58c80 Rename "PacketReplyTimeout" → "ReplyTimeout" 2017-01-12 20:57:19 +01:00
Florian Schmaus d47463a533 Deprecate Chat API, introduce new Chat API
Also add (From|To)TypeFilter and update/fix the documentation in a few places.
2017-01-11 19:48:22 +01:00
Florian Schmaus 90a5e289f8 s/processPacket/processStanza/ s/PacketCollector/StanzaCollector/ 2017-01-03 11:35:04 +01:00
Florian Schmaus 1bce31fcd9 Handle outgoing 'unavailabe' presences in Roster
Fixes SMACK-733
2017-01-03 10:56:01 +01:00
Florian Schmaus 183c605278 Bump JXMPP to 0.5.0 2017-01-02 09:40:46 +01:00
Florian Schmaus 6f66b31fb7 Set default subscription mode to "reject all"
In order to make the defaults of Smack more secure.
2016-12-28 23:42:30 +01:00
Florian Schmaus 7655ac17f2 Re-activate EntityCaps integration test 2016-12-24 10:27:04 +01:00
Florian Schmaus b6a37cb228 Add Roster ItemType.asSymbol() 2016-11-24 10:38:19 +01:00
Florian Schmaus 1d3c48e6ce Add support for IoT Friend approvals
This adds supports for an experimental protocol flow where a pending
friend request's decission is later on deliverd to the requestor after
the owner made its decission.
2016-10-31 14:50:37 +01:00
Florian Schmaus 98655e72aa Fix typo and add URL to Roster javadoc 2016-10-03 13:31:37 +02:00
Florian Schmaus 88bf2528a2 Add RosterUtil.askForSubscriptionIfRequired(Roster, BareJid) 2016-08-09 17:47:09 +02:00
Florian Schmaus f1e24e2273 Rework Roster's SubscribeListener
allow multiple of them to be installed, instead of at most one. Fixes
deadlock in LowLevelRosterIntegration test because
IoTProvisioningManager's SubscribeListener would not come up with a
decission.
2016-07-31 14:50:59 +02:00
Florian Schmaus b91978dcc4 Add (partial) support for IoT XEPs
That is XEP-0323, -0324, -0325, and -0347.

SMACK-727.
2016-07-21 08:51:11 +02:00
Florian Schmaus d07ed60737 Add support for "Caps Optimizations"
Smack's previous entity caps implementation assumed that an entity lost
its entity caps feature as soon as a presence without caps from that
entity was received. But according to XEP-0115 § 8.4, this is a
perfectly normal optimization technique. We now reset the caps state
after an available presence becomes unavailable.

Also introduce PresenceEventListener, which is required for this
feature.

Also make Roster.preApprove() take a BareJid as argument.

Fixes SMACK-723.
2016-06-30 17:01:46 +02:00
Florian Schmaus 78cf3006ea Don't stamp outgoing stanza in ChatManager
Servers are required to stamp the 'from' stanza attribute anyways.
2016-06-03 10:59:10 +02:00
Florian Schmaus fefc8cf332 Log stanza in Roster PresencePacketListener 2016-05-25 22:58:35 +02:00
Florian Schmaus fc3f5ef99e Only reset Roster on clean termination
As otherwise the Roster would be still unitialized after a SM resumption
if the connection was uncleanly terminated.

Thanks to Grigory Fedorov for reporting this.
2016-04-15 17:41:50 +02:00
Florian Schmaus 898912050e Fix missing @param in Roster 2016-04-15 10:23:44 +02:00
Florian Schmaus b94b2586e2 Smack 4.1.7
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQF8BAABCgBmBQJXD/2lXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
 ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxMzU3QjAxODY1QjI1MDNDMTg0NTNEMjA4
 Q0FDMkE5Njc4NTQ4RTM1AAoJEIysKpZ4VI41rggH/0DjBLpCfTSdjjKGFNChc+1V
 dW9PaPGFUiPuTt3T2NEa74jGYe4PsPpy5zDsJ8uYi2aq3LAiCQvfk+F5LXjRJFoa
 eftz0GtPvfP42oFg8wyDAebFtb0OtE7aJueSRkYGhA1+kzHBbJ9s6TxqDWcB0UWC
 puLh/DEWDFGX5njln+l10O7b10G0+bSrvece22eP0sQIv4hvZJoPQ5rOpCR1wibL
 ldp6wXI6C/b/oQS9MjHq9SV10S+5GykBqN/UzcFnwRVHLbasqnXeNFLGOnMtx0g9
 DmOolAYKGBN5m7m0rqEj9R+OyNgtefV8sCHE69iNAlpQhbmTqPd5rIhIXIII4U4=
 =yWKV
 -----END PGP SIGNATURE-----

Merge tag '4.1.7'

Smack 4.1.7
2016-04-14 22:30:34 +02:00
Florian Schmaus e6db731810 Add Roster.setRosterLoadedAtLoginDefault(boolean)
Fixes SMACK-715
2016-02-17 09:22:40 +01:00
Florian Schmaus 529e1eb058 Fix 'test' dependencies
The previously used approach of

project(':smack-core').sourceSets.test.runtimeClasspath

caused the 'eclipse' target to produce duplicate classpath entries in
.classpath when run with Gradle >= 2.6. It also relied on Gradle
internals.

Instead we now use

project(path: ":smack-core", configuration: "testRuntime")
project(path: ":smack-core", configuration: "archives")

to be able to use test classes from other subprojects (usually
smack-core) in e.g. smack-extensions. The 'archives' configuration
includes the test jar.

See also https://discuss.gradle.org/t/11784

Thanks to Lari Hotari for helping with this issue.
2016-02-10 12:39:18 +01:00
Florian Schmaus 8997a7d8f3 Fix typo in RosterEntries
s/rosterEntires/rosterEntries/

Fixes SMACK-666 (the issue of the devil).
2016-01-10 19:00:26 +01:00
Florian Schmaus f79a7d9d5f Fix javadoc warnings 2015-12-19 13:30:15 +01:00
Florian Schmaus feff081547 Add "Roster loading failed" callback 2015-12-09 10:56:24 +01:00
Florian Schmaus 45feaecdf7 Make XMPPError imutable and add stanza reference 2015-12-09 10:48:52 +01:00
Florian Schmaus f3817d6358 Don't cache all presences from entities not in Roster
Fixes SMACK-703
2015-12-04 14:51:46 +01:00
Florian Schmaus a5e9037907 Use contains(BareJid) instead of entries.containsKey in Roster 2015-12-01 18:08:54 +01:00
Florian Schmaus 19469b0faf Fix NPE in ChatManager: Check if null
bareJidChats is a ConcurrentHashMap which does not allow 'null' keys,
thus get(null) returns a NPE. And asEntityBareJidIfPossible may return
'null', this could happen.
2015-11-22 22:46:53 +01:00
Florian Schmaus 6ede7d0409 Make RosterStore handle corrupted stores.
This can happen for example if the store schema changes across Smack
version.

Previously Smack would simply ignore the entry, which would lead to an
inconsistent view of the Roster.
2015-09-30 10:29:01 +02:00
Florian Schmaus d7ac9481c7 Make RosterStore.getEntries() return a List
instead of an Collection.
2015-09-30 10:27:58 +02:00