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
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
Florian Schmaus
86548b87bb
Rework Roster IQ and DirectoryRosterStore
...
remove (set|get)ItemStatus. This was always the ask status, which can
only be set to 'subscribe' or is non-existent.
Use the standard (de-)serialization facilities for DirectoryRosterStore.
Fixes Smack-657.
2015-09-29 22:35:50 +02:00
Florian Schmaus
04a0004035
Smack 4.1.4
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQF8BAABCgBmBQJV9nAlXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxMzU3QjAxODY1QjI1MDNDMTg0NTNEMjA4
Q0FDMkE5Njc4NTQ4RTM1AAoJEIysKpZ4VI41sFEIAJlfRspk6S5ymNc4w7u/FT1w
MpHT/cxqIQIBU9J5dYqeW6Y8O6VuUeknCmZBEv7dIVHroTmvfosMauAyRZJXWeeL
FQQTBqDJszYdM88x/d5X6d25lCEBdQkdDh2a5s9AIy9RH0iXE74AypuikbroK+VC
zI3wRPUFq7WnARtmiP2NalSgSNv5ToeicBO+JSniQ+O52ZAlP2FSDfi4uzPPigdP
Ip/V3eF4Bp0YZimcxAnWdnMU+ciVLClRYKgD3+qTEoic7dx3dzeTyrk1NoLRgQl9
mfcNXBgUScHZAoSIkR0QiUx9ktPCJ950qa+XtW3B8NtDOZkXegUL/a8ukQAuz+k=
=qMsC
-----END PGP SIGNATURE-----
Merge tag '4.1.4'
Smack 4.1.4
2015-09-14 09:05:24 +02:00
Florian Schmaus
23b7626c18
Suppress warning if roster isn't set to load
...
automatically.
2015-09-07 09:31:51 +02:00
Florian Schmaus
e0e4fd9b12
Add checkstyle rule for StringBuilder.append(char)
...
And replace all instances where String.Builder.append() is called with a
String of length one with append(char).
Also adds StringUtils.toStringBuilder(Collection, String).
2015-07-27 19:02:11 +02:00
Florian Schmaus
1c716bc1e0
Smack 4.1.3
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQF8BAABCgBmBQJVpgWiXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxMzU3QjAxODY1QjI1MDNDMTg0NTNEMjA4
Q0FDMkE5Njc4NTQ4RTM1AAoJEIysKpZ4VI41G1gH+gIw/seXSSY6vYlVkYEFtR+e
LV/LArN/eN1ZGc+WjN0EysRyqOBqF8HVHuyO7fF67huDRn62s7hufVY//NTctJ5L
m4TXwaEUvgjdul7vm/dZcNRYr0jcSpDTFWx2egkOXt3qE9AhnpbnaIJ5c3q9VVVD
aba88c3NS7quxp0hQm1SNEAmt1CCMPom7YkxdIPKWlLj8N5AF1UuSKwckLLYSUlS
wloBbITb6EjI1IwszhN6e6o3W+7Pz/1zbFjk0CkKUS+TmhHhKil8TonH8Se/9DYD
1SVHxvZa8LHWsU9G/R1Nhl69K2+GHEUbGmXalFmyPIf5ifhYyNimpx9krXQUuLs=
=3/cn
-----END PGP SIGNATURE-----
Merge tag '4.1.3'
Smack 4.1.3
2015-07-15 09:37:46 +02:00
Florian Schmaus
ae944d3546
Only wait in Roster's presence listener if loading
...
otherwhise skip waitUntilLoaded(). This introduces RosterState.
SMACK-681
2015-07-13 12:58:43 +02:00
Florian Schmaus
0555297a6e
Fix Roster.waitUntilLoaded and make it interruptable
...
waitTime and start need to be initialized outside of the while body.
2015-07-03 14:46:55 +02:00
Florian Schmaus
3bb06b8429
Wait in Roster's presence listener until Roster is loaded
...
Fixes SMACK-681.
2015-07-03 14:24:13 +02:00
Florian Schmaus
bfdcfba092
Throw NotConnectedException instead of NoResponseException
...
if the connection is not connected in sendStanzaWithResponseCallback and
in PacketCollector.
Also decrease log level if roster result listener's exeption callback is
invoked with a NotConnectedException.
2015-07-03 13:01:53 +02:00
Florian Schmaus
0cbbedd2f4
Bump jxmpp to 0.5.0-alpha6
2015-06-16 10:08:18 +02:00
Florian Schmaus
58402c5615
Bump jxmpp to 0.5.0-alpha5 and change Roster API
...
to only allow bare JIDs as roster entires.
2015-06-06 11:16:12 +02:00
Florian Schmaus
2f219c7317
Rename processPacket to processStanza
...
and assert that 'stanza' is a Stanza.
2015-06-05 14:04:17 +02:00
Florian Schmaus
2079ba6bd6
Merge branch '4.1'
...
Conflicts:
smack-im/src/main/java/org/jivesoftware/smack/roster/RosterGroup.java
smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/agent/AgentSession.java
smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/OfferRevokeProvider.java
2015-05-27 22:50:55 +02:00
Florian Schmaus
7a3ca4fd68
Fix memory leak caused by RosterGroup
...
SMACK-672
2015-05-27 22:44:27 +02:00
Florian Schmaus
1d1ea5dd10
Improve Roster API
...
Make Roster entries Map from BareJid to RosterEntry, since only
bare JIDs are allowed as roster items as per RFC 6121 § 3.1.1
When a user sends a presence subscription request to a potential
instant messaging and presence contact, the value of the 'to'
attribute MUST be a bare JID <contact@domainpart> rather than a full
JID <contact@domainpart/resourcepart>,…
Also some further Roster API changes regarding JIDs.
2015-05-27 22:34:43 +02:00
Florian Schmaus
c125a3b055
Bump jxmpp to 0.5.0-alpha4
2015-05-27 19:29:51 +02:00
Florian Schmaus
2365c4c208
Add Roster.addSubscribeListener()
...
Remove unnecessary 'Unsubscribe' case in Roster: It is not required to
acknowledge these.
2015-05-21 22:41:21 +02:00
Florian Schmaus
f369a009ac
Rename 'serviceName' to 'xmppServiceDomain'
...
Also use 'null' as default value for the resource, to enforce server
generated resources.
Fixes Smack-665
2015-05-19 09:26:59 +02:00
Florian Schmaus
21c7007212
Make Roster.waitUntilLoaded() package-private
...
there is no point in having it 'protected', since Roster is not
subclassable.
2015-05-15 17:04:10 +02:00
Florian Schmaus
8dd12e7220
Try that Roster is loaded after Roster.getInstaceFor(XMPPConnection)
...
Fixes SMACK-633
2015-05-15 17:02:52 +02:00
Florian Schmaus
bbc7aaae77
Smack 4.1.1
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQF8BAABCgBmBQJVTgmuXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxMzU3QjAxODY1QjI1MDNDMTg0NTNEMjA4
Q0FDMkE5Njc4NTQ4RTM1AAoJEIysKpZ4VI41MXUH/3A5Jc6rzALhnXMT4yj+jXow
rLLX5/ypOvkAXEMRlTf9xd2apz4hT8dMsBcL3JvZscuVmkw0/woh9eV/PFSDoc7t
HA7bMZRqWqUuVOezFD0ggHsJ7zfpcIuxsgoNARQlCRMPHzCLzKhMNctz5UApAdfy
+wPpTMpc3K5SM1bNlM60qp+dbPCqQcLwYP02KrOQASgenVDm6iKFpzx0ieVpPY1M
hOBMyaZg3n2j+267gpqBG6c7PVmEq3deAlB6BOBAsL/Bp1w5B5Smq959LWJLstrU
/LeYJFi1TeIASiFy1vZyTV0Tw+Pe++3gB6ppLqkQhfWV8vXzm0coCXx29qWxAzM=
=pGJt
-----END PGP SIGNATURE-----
Merge tag '4.1.1'
Smack 4.1.1
Conflicts:
smack-extensions/src/main/java/org/jivesoftware/smackx/caps/provider/CapsExtensionProvider.java
smack-im/src/main/java/org/jivesoftware/smack/roster/RosterEntry.java
smack-java7/src/main/java/org/jivesoftware/smack/java7/Java7SmackInitializer.java
version.gradle
2015-05-09 15:42:09 +02:00
Florian Schmaus
65dd6c9777
Fix RosterEntry.setNames(String)
...
also mark the method synchornized, to prevent race conditions with the
name.
Fixes SMACK-662.
2015-04-30 11:43:54 +02:00
Florian Schmaus
e0bc1ccaf2
Fix memory leak in RosterEntry
...
Roster's INSTANCE map has a weak reference to XMPPConnection, which has
a field of RosterEntry(ies), and RosterEntry has a strong reference to
XMPPConnection resulting in a cycle which is preventing XMPPConnection
from getting gc'ed.
SMACK-659.
2015-04-27 07:27:40 +02:00
Florian Schmaus
e3dced6eea
Fix NPE in Roster if 'from' is null
2015-04-12 16:22:41 +02:00
Florian Schmaus
1eb315d6b7
Add Manager.getAuthenticatedConnectionOrThrow()
2015-04-09 19:00:03 +02:00
Florian Schmaus
dddba8f08c
Allow Roster for anonymous connections
...
Fixes SMACK-628.
2015-04-06 13:56:32 +02:00
Florian Schmaus
b4694ec152
Add FinalClass checkstyle check
...
And mark affected classes final.
2015-04-06 10:45:12 +02:00
Florian Schmaus
0a6ac76447
Remove package-info.java from test packages
...
as otherwhise eclipse will complain "The type package-info is already
defined".
2015-04-05 10:48:00 +02:00
Florian Schmaus
de528eee67
Add JavadocPackage checkstyle
...
change from package.html to package-info.java. Add missing
package-info.java with a placeholder description.
2015-04-04 17:16:47 +02:00
Florian Schmaus
dc373f641c
Make Smack Java8's javac and javadoc ready
2015-04-04 17:16:27 +02:00
Florian Schmaus
64d134052d
Enable javadoc checkstyle
...
and fix violations.
2015-03-29 12:29:32 +02:00
Florian Schmaus
c6594aec2f
Lint fixes: Remove dead code, etc.
...
- make method static when possible
- remove never thrown Exception declarations
- other fixes
2015-03-24 18:33:47 +01:00
Florian Schmaus
83b84c5bd3
Merge branch '4.1'
...
Conflicts:
smack-core/src/main/java/org/jivesoftware/smack/StanzaListener.java
smack-core/src/main/java/org/jivesoftware/smack/XMPPConnection.java
smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java
smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java
version.gradle
2015-03-24 17:16:18 +01:00
Florian Schmaus
7c5428ab0e
Javadoc improvements
2015-03-21 18:59:12 +01:00
Florian Schmaus
5e86db4f80
Substitute 'packet' with 'stanza(/packet)' in javadoc
2015-03-21 09:36:28 +01:00
Tomáš Havlas
fae9d129a9
Added support for pre-approved subscription requests (RFC 6121 § 3.4)
...
SMACK-639
2015-03-19 11:31:05 +01:00
Florian Schmaus
8878cf3773
Add checkstyle check for trailing whitespace
2015-03-18 21:01:49 +01:00
Florian Schmaus
b2221d5483
Add more checkstyle tests
...
- Lines containing tab(s) after space
- Usage of printStackTrace
- Usage of println
- Add SupressionCommentFilter module
SuppressionCommentFilter can be enabled with
// CHECKSTYLE:OFF
and disabled with
// CHECKSTYLE:ON
2015-03-17 22:02:44 +01:00
Florian Schmaus
0fde39fa45
's;^\s+$;;' on all source files
...
And add checkstyle test for lines containing only whitespace characters.
2015-03-17 11:33:02 +01:00
Florian Schmaus
0b322419ce
Bump jxmpp to 0.5.0-alpha2
2015-03-11 22:11:57 +01:00
Florian Schmaus
701aa7d9c4
Merge branch '4.1'
...
Conflicts:
smack-core/src/main/java/org/jivesoftware/smack/AbstractXMPPConnection.java
smack-core/src/main/java/org/jivesoftware/smack/PacketCollector.java
smack-core/src/main/java/org/jivesoftware/smack/PacketListener.java
smack-core/src/main/java/org/jivesoftware/smack/XMPPConnection.java
smack-core/src/main/java/org/jivesoftware/smack/debugger/SmackDebugger.java
smack-core/src/main/java/org/jivesoftware/smack/packet/Packet.java
smack-core/src/main/java/org/jivesoftware/smack/util/XmlStringBuilder.java
smack-core/src/test/java/org/jivesoftware/smack/ThreadedDummyConnection.java
smack-extensions/src/main/java/org/jivesoftware/smackx/address/provider/MultipleAddressesProvider.java
smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/DataListener.java
smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/FaultTolerantNegotiator.java
smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/IBBTransferNegotiator.java
smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/Socks5TransferNegotiator.java
smack-extensions/src/main/java/org/jivesoftware/smackx/filetransfer/StreamNegotiator.java
smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java
smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/LeafNode.java
smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/Node.java
smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/PubSubManager.java
smack-extensions/src/main/java/org/jivesoftware/smackx/pubsub/packet/PubSub.java
smack-extensions/src/main/java/org/jivesoftware/smackx/vcardtemp/VCardManager.java
smack-extensions/src/test/java/org/jivesoftware/smackx/receipts/DeliveryReceiptTest.java
smack-im/src/main/java/org/jivesoftware/smack/chat/ChatManager.java
smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/JingleSession.java
smack-jingle-old/src/main/java/org/jivesoftware/smackx/jingleold/provider/JingleProvider.java
smack-legacy/src/main/java/org/jivesoftware/smackx/workgroup/packet/UserID.java
smack-legacy/src/main/java/org/jivesoftware/smackx/xroster/provider/RosterExchangeProvider.java
smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java
version.gradle
2015-03-04 22:42:36 +01:00
Florian Schmaus
ed4fa3390f
Add XMPPConnection.sendStanza(Stanza)
...
and deprecate sendPacket().
2015-03-04 21:46:44 +01:00
Florian Schmaus
75ec271c6c
Rename PacketListener to StanzaListener
...
and add the PacketListener as deprecated interface.
2015-03-02 15:49:56 +01:00
Florian Schmaus
d4a6d8e653
Rename PacketFilter (and implementing classes) and PacketExtension
...
to StanzaFilter and ExtensionElement.
2015-02-28 13:49:38 +01:00
Florian Schmaus
7e68bb7470
Javadoc fixes in Roster
2015-02-23 22:17:31 +01:00
Florian Schmaus
4424ec6c53
Make Roster API not leak internal state
...
Fixes SMACK-645
2015-02-23 22:16:49 +01:00
Florian Schmaus
fbf0ba13ce
Merge Smack 4.1.0-rc2
...
Conflicts:
smack-core/src/main/java/org/jivesoftware/smack/filter/FromMatchesFilter.java
smack-extensions/src/main/java/org/jivesoftware/smackx/iqregister/AccountManager.java
version.gradle
2015-02-21 18:07:45 +01:00
Florian Schmaus
98cfad6cc6
Add RosterLoadedListener
2015-02-17 16:56:04 +01:00
Florian Schmaus
5bb4727c57
Use Jid (and subclasses) from jxmpp-jid
...
Fixes SMACK-634
2015-02-17 16:07:16 +01:00
Florian Schmaus
bc61527bd2
Expose InterruptedException
...
SMACK-632
2015-02-14 14:57:33 +01:00
Florian Schmaus
57c1b57b7c
s/ a XMPP/ an XMPP/
2015-02-12 12:13:19 +01:00
Florian Schmaus
4698805a34
Rename 'Packet' class to 'Stanza'
...
Smack still uses the term 'Packet' in some places. This is just the
first step towards using correct XMPP terms in Smack.
2015-02-06 09:34:51 +01:00
Florian Schmaus
e493500cfe
Consider XMPP service name in isSubscribedToMyPresence()
2015-01-27 09:45:50 +01:00
Florian Schmaus
3299515b36
Make Roster.isRosterVersioningSupported public
2015-01-26 20:47:14 +01:00
Florian Schmaus
7348e8bc8b
Add Roster.getEntriesAndAddListener(RosterListener,RosterEntries)
2015-01-26 20:47:14 +01:00
Florian Schmaus
603f64166b
Improve Roster, RosterEntry and RosterGroup
...
Use final where possible, add javadoc. Fix duplicate comment in
Roster.
Use createPacketCollectorAndSend(packet).nextResultOrThrow when
possible, and only set the entry name if the IQ set is successful.
2015-01-26 16:24:32 +01:00
Florian Schmaus
763139684b
Add javadoc for Roster.reloadAndWait()/setRosterStore()
2015-01-26 11:45:25 +01:00
Florian Schmaus
dc4720a00b
Add '@Override' annotation to Roster's packet listener
2015-01-26 07:54:10 +01:00
Florian Schmaus
0581580831
Make Roster.unfiledEntries a CopyOnWriteArraySet
2015-01-26 07:54:10 +01:00
Florian Schmaus
bb85d2b437
Make Roster.rosterListeners a LinkedHashSet
2015-01-26 07:54:10 +01:00
Florian Schmaus
d5b8647d9d
Create smack-im subproject for XMPP-IM
...
Move Roster and Chat(Manager) code into their own packages within the
new smack-im subproject.
Apply Manager pattern to Roster.
Fixes SMACK-637.
2015-01-26 07:54:05 +01:00