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
0a31161950
Add tests for jingle classes
...
Depends on #135 , #136
2017-06-03 23:46:29 +02:00
23ed0bdbce
Add missing security-info in JingleAction
...
Also fix typo
2017-06-03 23:23:23 +02:00
Florian Schmaus
f5ef42ec56
Merge branch '4.2'
2017-06-02 13:51:56 +02:00
Florian Schmaus
ce36fb468c
Increase getSocket() timeout in Socks5ClientForInitiatorTest
...
This will hopefully reduce the false negatives when running the unit
tests with Travis CI.
2017-06-02 12:03:46 +02:00
Florian Schmaus
6bb001d274
New Jingle API groundwork
...
A start for the new Jingle API. Since Jingle is a single IQ with many
plugable extensions, there are some particularities we need to deal
with, e.g. jingle users have to register with JingleManager.
This is untested code. There may be drangons.
2017-05-30 08:45:27 +02:00
Florian Schmaus
7a5f9e6a03
Merge branch '4.2'
2017-05-25 11:25:36 +02:00
Florian Schmaus
ce1cddc722
More checkstyle whitespace related checks
2017-05-24 14:42:38 +02:00
Alexander Tovstonozhenko
b636883ce6
Fix NPE in hashCode() in Occupant when jid is null
...
Fixes SMACK-764.
2017-05-19 14:09:19 +03:00
Florian Schmaus
5f900d3713
Add PingManager.pingAsync(Jid, long)
...
and SmackFuture API.
2017-05-16 15:53:03 +02:00
Florian Schmaus
5aab471d64
Improve handling of error response "Pongs"
2017-05-16 15:53:03 +02:00
Florian Schmaus
48b5dc5fe7
Conditionially set the IQ type in ThreadedDummyConnection
...
and do not set 'from'.
2017-05-16 15:53:03 +02:00
Florian Schmaus
24f6d86452
Fix typo: s/ProsoydWorkaround/ProsodyWorkaround/
2017-04-19 12:23:17 +02:00
Florian Schmaus
ddf888e607
Do not return null in getLeafNodeProsodyWorkaround
...
and rethrow the original exception.
2017-04-19 12:21:04 +02:00
Florian Schmaus
bfab3ec578
PubSubManager.getLeafNode(): Actually employ the prosody workaround
2017-04-19 11:50:01 +02:00
Florian Schmaus
e6a51f2151
Add PubSubManager.getLeafNode() and improve prosody workaround
...
by using the protected constructor and not reflection.
2017-04-19 11:46:39 +02:00
10927577ad
Fix getOrCreateLeafNode for prosody
2017-04-19 11:34:47 +02:00
Florian Schmaus
c636e72a9d
Change behavior of send()/publish() in LeafNode
...
Previously publish() was "asynchronously" in that sense that the response
of the IQ as *not* awaited, and send() would wait for the
responses. It makes no sense to have that functionality this way.
Instead we now make publish() to the right thing, i.e., wait for an IQ
result, make send() a proxy for publish(), and mark send() deprecated.
In the future, there may be a publishAsync() method which returns a
Future instance.
2017-04-06 15:11:04 +02:00
Florian Schmaus
16ede9806a
Add PubSubManaer.supportsAutomaticNodeCreation()
2017-04-06 12:32:34 +02:00
Florian Schmaus
e73cef8000
Add PubSubManager.tryToPublishAndPossibleAutoCreate(String, I)
2017-04-06 10:14:54 +02:00
Florian Schmaus
8466a5af1a
Improve MUCs subject changed notification filter
...
Filter also messages with bodies or thread element.
2017-04-04 14:27:11 +02:00
Florian Schmaus
a887cde1ce
Allow MUC room subject changes from the MUCs bare JID
...
Fixes SMACK-754.
2017-04-04 14:08:19 +02:00
Florian Schmaus
08c228ef99
Merge branch '4.2'
2017-03-20 14:57:42 +01:00
Florian Schmaus
1e0481b355
Add PubSubManager.getOrCreateLeafNode(String)
2017-03-18 18:31:06 +01:00
Florian Schmaus
0a6843f41f
Make StreamNegotiator weakly reference XMPPConnection
...
by extending Manager.
Because FileTransferNegotiator will hold a strong reference to the
StreamNegotiators, which will eventually prevent XMPPConnection from
being GC'ed if no weak references in StreamNegotiator are used.
Thanks to Werner Glanzer for pointing this out.
2017-03-15 21:17:49 +01:00
Florian Schmaus
a592a12229
Make InBandBytestreamManager use weak references to XMPPConnection
2017-03-15 15:07:41 +01:00
Florian Schmaus
1a93b448db
Smack 4.2.0
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAljDKBtfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFJB7Qf6AlkwpzMqq1g18jzEBFVX/3Sk2QWivEY7t3EhGuSguan2VIfd1fL0P85Q
vLBm6Pw93haIxHXKRUKc8DINwP9yuRMvUotCN2hYVgfqfByHGhDCJLTNZ9atncL5
JToptfhdRy6kgljVZPtpXOMXKBvaO3QOuTuC5cmz8PlidsYw0yUnliPLQ36uPRWX
eaEXXbgmkjJh35WjsaafD/uM86OCqZahfvEf3e8bkPzdAayd0OKU67+v0ArA9P2E
CiRU5vfco/vt2Qo41aLLIEOjSFfVX6Xh/pXxfQvInMAxies0KRLi5vonOmfrWRmi
uIblzcYRXCSaZSgVN2yF8KzmF4pzcw==
=qETn
-----END PGP SIGNATURE-----
Merge tag '4.2.0'
Smack 4.2.0
2017-03-10 23:35:06 +01:00
Florian Schmaus
c81f28a3a2
Update Error Prone to 2.0.18
...
and update errorprone-plugin to 0.0.9.
2017-03-07 11:00:47 +01:00
Florian Schmaus
68cecf2eee
Fix the MUC join presence response filter
...
Error responses do not contain the '110' status. Therefore we have to
filter for them via the stanza id and the from address.
2017-02-20 14:22:19 +01:00
Florian Schmaus
6cfdf2bc6f
Use CopyOnWriteArraySet for pingFailedListeners
...
To prevent
java.util.ConcurrentModificationException
at java.util.HashMap$HashIterator.nextEntry(HashMap.java:788)
at java.util.HashMap$KeyIterator.next(HashMap.java:815)
at org.jivesoftware.smackx.ping.PingManager.pingMyServer(PingManager.java:252)
at org.kontalk.service.msgcenter.MessageCenterService$3.run(MessageCenterService.java:1114)
at java.lang.Thread.run(Thread.java:818)
Thanks to Daniele Ricci for reporting this.
2017-02-15 20:16:40 +01:00
Florian Schmaus
ca54f65b3e
Merge branch '4.2'
2017-02-11 21:02:20 +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
bf1e07e672
Fix chat2.ChatManager's message filter
...
Thanks to Andras Csete for pointing this out.
2017-02-02 12:46:50 +01:00
Florian Schmaus
187fe37cd7
Fix MucEnterConfiguration.Builder.withPresence(Presence) throw ISE
...
when presence is of type available. This inverts the logic to fix
this.
2017-01-30 17:09:29 +01:00
Florian Schmaus
5d0dd49e61
Introduce ToMatchesFilter
...
and refactor the FromMatchesFilter into AbstractFromToMatchesFilter.
2017-01-29 11:08:16 +01:00
Florian Schmaus
33371cffaf
Move ChatStateExtension Provider in its own class
2017-01-23 22:59:53 +01:00
Florian Schmaus
af1bde4fd0
Make MUC invitations 'from' value an EntityJid
...
instead of an EntityFullJid, because according to XEP-0045 § 7.8.1.:
"The <room@service> itself MUST then add a 'from' address to the
<invite/> element whose value is the bare JID, full JID, or occupant
JID of the inviter …"
2017-01-20 17:06:06 +01:00
Florian Schmaus
4d7b9318ce
Add callbacks for block/unblock events to BlockingCommandManager
2017-01-20 08:57:03 +01:00
Florian Schmaus
ff97d2eb35
Make BlockContactsIQProvider idiomatic
...
The jids list doesn't have to be lazy initialized, because every IQ of
that type is guaranteed to contain at least one JID.
Also use ParserUtils.getJidAttribute().
2017-01-20 08:56:56 +01:00
Florian Schmaus
b3662c0682
Make UnblockContactsIQ immutable
...
and make the serialization function idiomatic.
2017-01-20 08:56:50 +01:00
Florian Schmaus
07cba5b974
Make BlockContactsIQ immutable
2017-01-20 08:56:44 +01:00
Florian Schmaus
965cbcc979
Fix memory leak in MultiUserChat.enter(MucEnterConfiguration)
...
Thanks to Aleksander Melnichnikov for reporting this issue.
Fixes SMACK-745
2017-01-20 08:56:37 +01:00
Florian Schmaus
382ed9d871
Smack 4.2.0-rc2
...
-----BEGIN PGP SIGNATURE-----
iQF8BAABCgBmBQJYe7kjXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ5Nzc1MDU5RjNBMjFEQ0UxNkJFNEZCQUUy
MjM5QTdFOEY1ODUyMDUyAAoJECI5p+j1hSBSuGkH/1mU66MNR0/ywbdZ2RKcb9MK
WTHBBOuD/KaqkQOQQ5Fud+ktyahmDd9Nk4TbchIJ56PlEPqJbhnwP8txh1gU+8Zz
jpRHYYQiTEuLSblToVL3afrfd/IQnOrh7VbwkG7S1wkWmOFKCv94wlv/OgZFaICc
RHHJyJbJ0TTuavEkJ141ruNYmq/qYjUjdLmFrqhT3hv3iuiHCT1PK1787wEB0EWS
ciwkw2j/j/2i27XNQRwu7QaLsmUGk8rLnr2/AsYpmsBsjAMqMbNEQEPbIgO9MVef
7dt/GWoqHjH1opVcOw+rRz/cynMii2sSTXiqRVTEZsWlx3uYYz5eKsuiuckZcBs=
=yqh1
-----END PGP SIGNATURE-----
Merge tag '4.2.0-rc2'
Smack 4.2.0-rc2
2017-01-15 20:02:13 +01:00
Florian Schmaus
7c46f58c80
Rename "PacketReplyTimeout" → "ReplyTimeout"
2017-01-12 20:57:19 +01:00
Florian Schmaus
b5415fe841
Don't wait the reply timeout in OfflineMessageManager.getMessages(List<String>)
...
for the last message. We now count the number of messages we want to
retrieve, and don't wait for another message if we have already
received all.
Thanks to King Jeong Hun for reporting this.
2017-01-12 13:40:55 +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
cff91f5a92
Use correct element and namepsace in AccountManager.isSupported()
2017-01-07 10:38:41 +01:00
Florian Schmaus
7167a55f81
AccountManager: Don't fallback to disco#info if not authenticated
2017-01-06 14:56:35 +01:00
Florian Schmaus
50a8ff08e3
Re-activate FormTest integration test
2017-01-04 00:32:52 +01:00
Florian Schmaus
90a5e289f8
s/processPacket/processStanza/ s/PacketCollector/StanzaCollector/
2017-01-03 11:35:04 +01:00
Florian Schmaus
9328182912
Rework Bits of Binary implementation
2017-01-03 11:05:46 +01:00
Florian Schmaus
c688acaa0f
Add XEP-0231: Bits of Binary implementation
...
Fixes SMACK-737
2017-01-03 11:00:05 +01:00
Fernando Ramirez
018a7dd93a
Blocking Command: add blocked error management and refactor SMACK-731
2017-01-02 16:02:10 +01:00
Florian Schmaus
183c605278
Bump JXMPP to 0.5.0
2017-01-02 09:40:46 +01:00
Florian Schmaus
7655ac17f2
Re-activate EntityCaps integration test
2016-12-24 10:27:04 +01:00
Florian Schmaus
ecf1ed7f6b
Fix EntityCapsManager presenceSend
...
capturing all outoing presences of type 'available' would also capture
presences not used for presence broadcast, e.g., MUC presences.
This caused the EntityCaps integration test (localEntityCaps) to fail
if the MUC integration test was run before.
2016-12-23 23:52:29 +01:00
Florian Schmaus
b558a128c3
Merge remote-tracking branch 'my/master'
2016-12-07 21:20:02 +01:00
Florian Schmaus
274e5630c4
Add support for XEP-0133: Service Administration
...
also extend Smack's integration test framework to use XEP-0133 as a
means for of throw away account creation.
Fixes SMACK-742
2016-12-04 21:42:50 +01:00
Florian Schmaus
d976434bb3
Improve message of XMPPErrorException
...
by including the XMPP entity which send the XMPP error reply to us.
Also cleanup the no longer used constructors.
2016-11-29 16:40:08 +01:00
Florian Schmaus
9165e818d9
Add ParenPad and NoWhitespaceAfter checkstyle rules
2016-11-29 12:01:41 +01:00
Florian Schmaus
d6ebb884e7
Ad-Hoc Commands: 'type' attribute is optional
...
Fixes SMACK-741
2016-11-23 17:55:16 +01:00
Florian Schmaus
1b1e88c4c3
Fix UOE being thrown in BlockingCommandManager
...
the manager must use a copy of the BlockListIQ's JID list, since it may
be the empty list which is not modifiable.
Also rename the getter methods from getJids() to getBlockedJids().
2016-11-23 17:52:04 +01:00
Florian Schmaus
54790cd380
Filter MUC 'decline' messages by type 'normal'
...
and not by '!error' as this there are presence stanzas containing the
muc#user namespace also send to the client, which results in a
ClassCastException in the StanzaListener.
2016-11-14 08:50:46 +01:00
Florian Schmaus
5bb0c8c223
Option to automatically rejoin MUC rooms after reconnection
...
Fixes SMACK-572.
2016-11-06 11:14:19 +01:00
Florian Schmaus
095b5c85a1
Also catch SmackException in Socks5BytestreamRequest
...
and use try/multi-catch.
2016-11-05 20:02:25 +01:00
Florian Schmaus
4f7324103c
Throw instead of return in Socks5Client
...
Returning a boolean is not really expressive in such cases. For example,
if it returns 'false' then the callee has no information *what* went
wrong. Instead throw an SmackException with some more information.
2016-11-05 19:56:34 +01:00
Florian Schmaus
32b4e74910
Improve exception message of Socks5 code
2016-11-05 18:24:07 +01:00
Florian Schmaus
1f66f301ba
Improve "Invalid affiliation" exception message
2016-10-03 13:12:05 +02:00
Florian Schmaus
810e7c8b78
Prevent GC of connection within pingServerIfNecessary()
2016-09-05 14:56:40 +02:00
Florian Schmaus
9a16f68433
Remove Socks5ProxyTest.shouldOnlyStartOneServerThread()
...
The unit test relied on Thread.activeCount() which made the whole test
unreliable.
2016-09-01 08:53:24 +02:00
Anno van Vliet
47a4856cae
Filter Errors on Change subject listener.
...
A unauthorized user sents a update room subject message which is
rejected by the server. It responds with an error message which
is not picked up by the ChangeSubjectListener.
2016-08-31 22:30:42 +02:00
Florian Schmaus
98bacb144d
Rework blocking command code.
...
Mostly remove the helper utils. The server is required to present the
client with a consisent state of the block list and corresponding
modifications, so we should not end up with duplicate entires if we
don't check for them.
SMACK-731
2016-08-31 22:16:26 +02:00
Fernando Ramirez
9554c7be26
Add XEP-0191 - Blocking Command implementation
...
SMACK-731
2016-08-31 08:07:36 +02:00
Florian Schmaus
e17ba85c2f
Cleanup FileTransferNegotiatorTest
2016-08-26 10:58:00 +02:00
Florian Schmaus
d37d26547c
Improve MUC code and documentation
...
- use JID types
- make clases immutable
2016-08-03 19:12:57 +02:00
Florian Schmaus
00134c8f50
Smack 4.1.8
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQF8BAABCgBmBQJXnGezXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ5Nzc1MDU5RjNBMjFEQ0UxNkJFNEZCQUUy
MjM5QTdFOEY1ODUyMDUyAAoJECI5p+j1hSBSo3EH/1usQTee7P4ABvL5iB2LtQtB
B2tZdOpDWAyNass7+kP40MX544O2cFxS0NHW6vY+BJCvdn128iWJGYlFY0qLv6ON
+cLYMs4zlBnI/o/V8siCMa/awUnUvBEe6lyHTZc2fLp9x1g/qx9GUZuOznk8CEC4
aF6YBFbcL+uXj6Rx4mVCfBtPur+Nr64Pz2pm6T0kw0PdeFbFY9Bn9rnfPHhGl7vk
4w7f6QJ/VsjmlQUK9s65tLoKdWlmnp7hY5fvdPeAc7jNfsIMPUMxk/JgloXrLPP3
q0g6IKQe/40lWcyDn5doyhhncGxLcdHx4sUP+UM0MRlJyS924xCIhg2wxRkq2Ag=
=Lfdm
-----END PGP SIGNATURE-----
Merge tag '4.1.8'
Smack 4.1.8
2016-07-30 10:43:20 +02:00
Florian Schmaus
aeb385a022
Apply refinements and fixes to the MAM code
...
SMACK-625.
2016-07-23 15:45:45 +02:00
Florian Schmaus
d1fe5c2933
Use loopback address for Socks5 unit tests
...
to prevent using an address that is not reachable for whatever reason.
2016-07-08 16:39:10 +02:00
Florian Schmaus
651f8cf7c0
Improve MucEnterConfiguration javadoc
...
by mentioning how to obtain a builder for it.
2016-07-08 11:18:20 +02:00
Florian Schmaus
d3cc9d12a0
Implement flexible port selection in Socks5ClientTest
2016-07-08 08:07:37 +02:00
Florian Schmaus
66f4b9cdff
Change type of purge/remove IQ (XEP-0013) to 'set'
...
Fixes SMACK-726
2016-07-06 08:38:26 +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
60b07b1d67
Make DiscoverInfoProvider namespace aware
...
Some servers respond to disco#info requests with
<iq id='npGtO-21' type='result' to='phone@xxx/MAXS' from='xxx'>
<query xmlns='http://jabber.org/protocol/disco#info '>
<identity type='pep' name='Prosody' category='pubsub'/>
<identity type='im' name='Prosody' category='server'/>
<feature var='urn:xmpp:blocking'/>
<feature var='urn:xmpp:carbons:2'/>
<feature var='urn:xmpp:carbons:1'/>
<feature var='vcard-temp'/>
<feature var='http://jabber.org/protocol/commands'/ >
<feature var='urn:xmpp:mam:0'/>
<feature var='jabber:iq:private'/>
<feature var='http://jabber.org/protocol/pubsub#publish'/ >
<feature var='http://jabber.org/protocol/disco#info'/ >
<feature var='http://jabber.org/protocol/disco#items'/ >
<feature var='urn:xmpp:ping'/>
<feature var='msgoffline'/>
<feature var='jabber:iq:roster'/>
<feature var='urn:xmpp:archive:auto'/>
<feature var='urn:xmpp:archive:manage'/>
<feature var='urn:xmpp:archive:pref'/>
<feature var='http://jabber.org/protocol/rsm'/ >
<feature xmlns='urn:xmpp:archive'><optional><default/></optional></feature>
</query></iq>
Note the
<feature
xmlns='urn:xmpp:archive'><optional><default/></optional></feature>
which will cause the current parser implementation to parse it as
DiscoInfo Feature resulting in an Exception because some attributes are
missing.
This commit prevents this.
2016-06-03 10:59:10 +02:00
Florian Schmaus
3bd35ecb1a
Do not fully qualify type in javadoc
2016-06-03 10:59:10 +02:00
UltimateZero
df0f805feb
Use empty string nick on empty element tag
...
It will use an empty string in case of an empty element tag.
2016-05-31 08:10:31 +02:00
Florian Schmaus
86e11e69e8
Add Message.toString() providing a short description
2016-05-25 22:58:34 +02:00
Florian Schmaus
3251fe89e2
Fix ChatStateListener javadoc
2016-04-16 00:25:09 +02:00
Florian Schmaus
9b250475ec
Disable AccountManager over insecure connections
...
SMACK-644
2016-04-14 23:19:55 +02:00
Florian Schmaus
0afbee55e0
Improve the Message Correction
...
add missing provider registration and improve a few bits here and there.
SMACK-714
2016-04-14 22:47:12 +02:00
ramabit
ca58c65a26
Implement Last Message Correction (XEP-0308)
...
Fixes SMACK-714
2016-04-14 22:31:56 +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
Craig
189982a9ba
Fixed documentation in PayloadItem.java and ItemsExtension.java
...
Made the formatting similar to that in Item.java
2016-04-08 22:54:18 +02:00
Florian Schmaus
bcdfb5398a
Fix EntityTimeManager.getTime(): Set recipient JID
...
Fixes SMACK-716
2016-02-17 09:13:06 +01:00
Florian Schmaus
f571b6ef5b
Verify Bytestream constructor arguments
2016-02-10 12:37:45 +01:00
Florian Schmaus
4fb3630896
Socks5Client: Throw SmackException instead of IOExecption
...
So that we can wrap the original exception within the
SmackException. It's not possible to wrap it into the IOException
because of the used min Android API level.
2016-02-10 12:36:38 +01:00
Florian Schmaus
0761fe0dec
Pass down Message stanza in ChatStateListener
...
Fixes SMACK-704.
2016-01-23 13:55:09 +01:00
Florian Schmaus
85e818cffb
Smack 4.1.6
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQF8BAABCgBmBQJWo2DDXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxMzU3QjAxODY1QjI1MDNDMTg0NTNEMjA4
Q0FDMkE5Njc4NTQ4RTM1AAoJEIysKpZ4VI41Q0AH/22s1WOI0mgFjQnuSRoZwtNQ
WN7eudnKlnknmNrJwPcbW1EYO/kNj1SQnqv7ed2aVpyeFFOf1/CUIgq57K1hBjA0
gTVtv0vK9pABZOmYY5UYURF6AZqKC2s5grHzOgIQbEhT0IOxc/Kz3/ubRxYwvxQl
lKenkNw75NMViylC0wFQc673SUuwPKyS3PjFm44ASxhbHNIexqagsxNU3MICmCWr
vGuyv2pGuVvVbILdqqoRGJhucHUs8HnYjA/H1lAlXH4FE0k3EXnjtztHaiLXQoxC
I2MbunwlVWcE5099V85wcgBbtMWqgljyz+Yh8MmkPojZTVnWjYPUWybK4G8TREg=
=1rYD
-----END PGP SIGNATURE-----
Merge tag '4.1.6'
Smack 4.1.6
2016-01-23 13:27:16 +01:00
Florian Schmaus
89bd13318a
Fix typo in CapsExtensionProvider: s/elment/element/
2016-01-18 22:08:23 +01:00
Florian Schmaus
e6a9027cc6
Improve StringUtils.escapeForXml()
2016-01-18 22:04:20 +01:00
Florian Schmaus
f2a748db9a
Format test strings of DataLayoutTest
2016-01-18 22:04:20 +01:00
damencho
46f0110949
Fix sending pubsub events for empty item
...
XEP-0060 allows no elements on second level of nodes.
Modified-by: Florian Schmaus <flo@geekplace.eu>
2015-12-18 08:19:21 +01:00
Florian Schmaus
72c7137ff1
Don't request receipts for messages without a body
...
SMACK-709
2015-12-14 11:36:37 +01:00
Florian Schmaus
09364e571c
Ensure that delivery receipts/requests have ID set
...
Fixes SMACK-708.
2015-12-13 22:42:50 +01:00
Florian Schmaus
f34f37a20c
Check for 'null' to avoid NPE in Socks5Proxy
...
Check if serverSocket is null before calling isClosed(), as otherwise
the resulting NPE will cause an endless loop.
Thanks to Michael Grafl for reporting.
Fixes SMACK-707.
2015-12-10 17:10:49 +01:00
Florian Schmaus
45feaecdf7
Make XMPPError imutable and add stanza reference
2015-12-09 10:48:52 +01:00
Florian Schmaus
83eda4c58d
Make EventContentFilter's members 'final'
2015-12-06 22:49:48 +01:00
Florian Schmaus
54ba300dc5
Make EventContentFilter use FlexiableStanzaTypeFilter<Message>
2015-12-06 22:48:22 +01:00
damencho
db72917bb4
Uses voice as default number detail, if no type is available.
2015-12-06 17:37:20 +01:00
Florian Schmaus
3c74ef2fd2
Fix PubSub Affiliation getElementName()
...
must return 'affiliation', not 'subscription'.
Fixes SMACK-705.
2015-12-03 08:17:19 +01:00
Florian Schmaus
fb6aaa073e
Extend MucConfigFormManager and add javadoc
2015-11-22 22:47:10 +01:00
Florian Schmaus
b849d4102b
Allow for multiple 'null' fields in DataForm
2015-11-20 17:39:02 +01:00
Florian Schmaus
b746e5caee
Add support for MUC Item Actor 'nick'
...
Fixes SMACK-691.
2015-09-29 22:28:26 +02:00
Florian Schmaus
f0f655c779
Javadoc fixes in MultiUserChat
2015-09-28 11:16:02 +02:00
Florian Schmaus
194717d75b
Merge branch '4.1'
2015-09-26 12:43:27 +02:00
Florian Schmaus
9c694a0a75
Code cleanup: Fix some warnings
2015-09-24 12:59:17 +02:00
Florian Schmaus
15c1c8ad19
Fix Time class creating invalid XML
...
Fixes SMACK-698.
2015-09-24 09:38:48 +02:00
Florian Schmaus
a00331dbb4
Fix javadoc of MucEnterConfiguration
2015-09-18 23:47:30 +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
d728204890
Add errorprone check and fix found errors
...
Adds gradle-errorprone-plugin 0.0.8, requires Gradle 2.6.
2015-09-13 18:12:33 +02:00
Florian Schmaus
aa832ec1f0
Handle cases where no privacy lists are set.
...
The is when no default or active list is, then don't perform a privacy
list request where list name is 'null'.
Fixes SMACK-697.
2015-09-04 11:22:52 +02:00
Florian Schmaus
7b1b20a13c
Use Localpart in AccountManager
2015-08-20 19:01:33 +02:00
Florian Schmaus
6b7f69b42f
Fix MUCs UserStatusListener
...
use oldPresence instead of packet. This bug was introduced with
e6aa2416e4
.
Fixes SMACK-693.
2015-08-17 18:20:35 +02:00
Florian Schmaus
ef8fa1fa46
Fix MUCRole and MUCAffiliation equal checks in MultiUserChat
2015-08-17 12:52:38 +02:00
Florian Schmaus
33e5c37af8
Refactor PEP to use PubSub API.
...
Fixes SMACK-416.
2015-08-17 12:45:23 +02:00
Florian Schmaus
d711caee38
Use EntityFullJid in MUC's getOccupant(Presence) API
...
instead of String, which will always return null if used with
ocupantsMap.get(String), because String.equals(Object) is only true if
Object is also instanceof String.
Thanks to Adnan Elezovic for reporting.
2015-08-12 10:22:11 +02:00
Vaibhav
3bbffeae28
Make abstract package protected methods in PEPItem public
...
Fixes SMACK-372
2015-07-31 13:37:35 +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
19ebcb814b
Check that service is MUC service in getHostedRooms()
...
and otherwhise throw a NotAMucServiceException.
2015-07-17 09:08:04 +02:00
Florian Schmaus
2e03f0f3f3
Improve HostedRoom API
...
return EntityBareJid instead of Jid.
2015-07-17 09:06:40 +02:00
Florian Schmaus
24365f0f1e
Fix MultiUserChat javadoc
2015-07-15 22:37:49 +02:00
Florian Schmaus
ea00caca31
Fix MultiUserChat.enter() 'nickname' check
...
It's no longer necessary to check if 'nickname' is set. The
MucEnterConfiguration API already enforces that.
2015-07-15 22:36:10 +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
57cc3aa3f8
Add MucEnterConfiguration API
...
Allows to configure the presence used when joining a MUC.
Part of SMACK-648: Improve the MUC API.
2015-07-07 08:52:33 +02:00
Florian Schmaus
a9741a8b10
Use weak map for 'managers' in Socks5BytestreamManager
...
Fixes memory leak and SMACK-678.
2015-06-29 17:07:42 +02:00
Florian Schmaus
ebcbdb75cd
Smack 4.1.2
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQF8BAABCgBmBQJVjpgTXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxMzU3QjAxODY1QjI1MDNDMTg0NTNEMjA4
Q0FDMkE5Njc4NTQ4RTM1AAoJEIysKpZ4VI41g0IH/3dJedDe6D8BySl4YVoFkQEk
Ax6T9oguTHN4o+6wnIjZUMBqycxKbwCppwE8ydrsarpxBicehwLzgaegxqVOtqM/
/7ZNzMiASxzeSCOQpR6dxNYGZp/buY3yaL4hweVh8V+vRVxzk/dXBpl6Syba+G1N
ytpCfeC6bGd+Gf5aQ9SA8rPz3ZP99twFNuKYwZGkC8/ePtieT8YthKwwnaIlCuFL
BZbhgR24W5pDtaCocTBUnI2wTqv2WsEx6+6LNEHsg2pbAwf2hYw12LPk0krvZOOV
PSK/Jtq5qdXrq/vNudvfuVmk5KnhS8BO/WIY+8+EsYBFfP0W7ajZl69KGOxobNQ=
=dg39
-----END PGP SIGNATURE-----
Merge tag '4.1.2'
Smack 4.1.2
Conflicts:
version.gradle
2015-06-27 15:07:04 +02:00
Florian Schmaus
4d7279d036
Improve PubSubNamespace
2015-06-06 17:44:08 +02:00
Florian Schmaus
fce0aeadef
Add support for PubSub affiliation actions as owner
...
SMACK-675.
2015-06-06 17:38:59 +02:00
Florian Schmaus
f7782aa466
Extend PubSub Affiliation class by 'jid'
...
to allow pubsub#owner affiliation operations. SMACK-674.
2015-06-06 17:38:55 +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
c1192f18b4
Add support for vCard PREFIX and SUFFIX elements
...
SMACK-673
2015-06-04 22:29:36 +02:00
Florian Schmaus
1cd268a8f0
Deprecate Forwarded.getForwardedPacket()
2015-06-02 17:30:57 +02:00
Florian Schmaus
9a00e09c0a
Improve NoResponseException messages
2015-06-02 17:30:57 +02:00
Florian Schmaus
c125a3b055
Bump jxmpp to 0.5.0-alpha4
2015-05-27 19:29:51 +02:00
Florian Schmaus
01f08e87c2
Merge branch '4.1'
...
Conflicts:
smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/Socks5BytestreamManager.java
version.gradle
2015-05-24 22:36:11 +02:00
Florian Schmaus
35317a19bd
Remove ConnectionListener from Socks5BytestreamManager
...
and use weak references.
Disabling the Socks5Manager every time the connection is terminated, and
re-enabling it when it got connected again causes unwanted side
effects. Like adding a new feature to the ServiceDiscoveryManager causes
an update of the entity's capabilities, which then triggers a new outgoing
presence (announcing the new caps version).
SMACK-671
2015-05-24 22:33:26 +02:00
Florian Schmaus
385798f9ba
Only add Entity Capabilities extension to available presences
...
Also don't override eventually send presences on
updateLocalEntityCaps(), instead save the last sent Presence stanza and
re-send that stanza.
SMACK-669.
2015-05-22 08:45:53 +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
001e824fb9
Improve PubSub API
...
Use Manager pattern for PubSubManager.
Also improve the API of ServiceDiscoverManager.
2015-05-12 17:56:06 +02:00
Florian Schmaus
9e351f0535
s/MucConfigurationNotSupported/MucConfigurationNotSupportedException/
2015-05-12 11:56:03 +02:00
Florian Schmaus
ff72ea320c
Check if MUC room is hosted on a MUC service
...
when trying to enter a room.
2015-05-12 11:54:54 +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
236dfb009d
Improve logging of parsing errors
2015-05-07 22:40:38 +02:00
Florian Schmaus
fcc62ad131
Add support for MUC roomnick rewrite
...
SMACK-646
2015-04-23 23:11:40 +02:00
Florian Schmaus
5af4f1a5d1
Synchronize MultiUserchat.changeNickname(Resourcepart)
2015-04-23 21:45:33 +02:00
Florian Schmaus
475fed8c51
Fix DeliveryReceiptsManager.autoAddDeliveryReceiptRequests
...
Must use interceptors instead of sending listeners, as those are
invoked *after* the stanza has been put on the wire. Also use the
correct filter, which excludes ack messages.
Fixes SMACK-656.
2015-04-23 21:31:09 +02:00
Florian Schmaus
17103def0b
Change SmackExecutorthreadFactory constructor parameter to XMPPConnection
2015-04-22 09:45:02 +02:00
Florian Schmaus
f274581c27
Add MucBookmarkAutojoinManager
...
Also add MucConfigFormManager and improve the MUC API (SMACK-648). Bump
to jxmpp 0.5.0-alpha3.
Improve and extend PrivateDataManager and BookmarkManager.
2015-04-21 19:31:10 +02:00
Florian Schmaus
265e5c69d5
Use LinkedHashMap for form fields
...
for efficient lookup.
2015-04-12 19:27:22 +02:00
Florian Schmaus
4a16ab9329
Merge branch '4.1'
...
Conflicts:
version.gradle
2015-04-12 18:32:55 +02:00
Florian Schmaus
00ba5ae3df
Replace PrivateDatamanager.getProviderKey with JXMPP method
2015-04-12 18:24:52 +02:00
Florian Schmaus
062e9ee415
Fix javadoc of pubsub.Item
2015-04-12 18:13:19 +02:00
TheHaf
a53894a65b
Fix typo in exception
2015-04-09 21:16:05 +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
Vyacheslav Blinov
cf2027fce7
Fix XEP-0080 geoloc extensions elements formating
...
XEP-0080 states that lon,lat,error,alt,accuracy,bearing and speed are
decimal values, and thus should either be present as decimal, or not present
at all (as they are optional elements).
Usage of String.valueOf(value) in code lead to creating a "null"
string in case number was not present, thus creating an element with
"null" content, which is not a valid decimal value.
2015-04-01 10:45:33 +02:00
Florian Schmaus
64d134052d
Enable javadoc checkstyle
...
and fix violations.
2015-03-29 12:29:32 +02:00
Florian Schmaus
6a5637c2e4
Add JivePropertiesExtension.from(Message)
2015-03-25 10:29:43 +01:00
Florian Schmaus
e1cb837489
Make FileTransferNegotiatorTest extends InitExtensions
2015-03-25 10:29:43 +01:00
Florian Schmaus
0897b76718
Fix unit-tests initialization
...
Remove the TestSuite class. We now have
SmackTestSuite
^
|
InitExtensions
^
|
$UnitTest
where most basic setup is done in a static block within
SmackTestSuite (only stringencoder setup right now).
Also some minor fixes in unit tests.
2015-03-24 21:40:08 +01: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
9ac3633612
javadoc: s/packet/stanza/
2015-03-24 17:15:50 +01:00
Florian Schmaus
164b7c6690
Set localNodeVer after currentCapsVersion is set
2015-03-24 12:05:56 +01:00
Florian Schmaus
49c2c35609
Synchronize SDM methods that change the state
...
Other Managers, e.g. EntityCapsManager, may be notified if e.g. a
feature is added or removed. While they are notified, the state of SDM
must be consistent, therefore synchronize SDM methods that modify the
state.
2015-03-24 11:59:35 +01:00
Florian Schmaus
130a8216d1
EntityCapsManager must not use CapsVersionAndHash.toString()
...
as it would return Object.toString(). Instead the entity version string
was required. Use getLocalNodeVer() instead.
2015-03-24 11:59:31 +01:00
Florian Schmaus
451eb4c826
Add missing break statements
2015-03-23 09:52:01 +01:00
Florian Schmaus
f546d28ad8
Xlint all the things
...
and fix all warnings.
2015-03-23 09:28:49 +01:00
Florian Schmaus
5e86db4f80
Substitute 'packet' with 'stanza(/packet)' in javadoc
2015-03-21 09:36:28 +01:00
Florian Schmaus
0ca4e8b72a
Add EntityCapsManager to startup classes
2015-03-18 22:05:26 +01:00
Florian Schmaus
5188c6f934
Add checkstyle check for space(s) after tab(s)
2015-03-18 21:51:25 +01:00
Florian Schmaus
8878cf3773
Add checkstyle check for trailing whitespace
2015-03-18 21:01:49 +01:00
Florian Schmaus
b8f046706b
Add Integration Test Framework
...
and resurrect a few integration tests.
2015-03-18 11:09:56 +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
meisterfuu
05c97c494b
Add roomDestroyed callback to MUC UserStatusListener
...
Fixes SMACK-619
2015-03-17 09:51:20 +01:00
Ishan Khanna
0d8f3185e5
Add Support for XEP-80: User Location
...
SMACK-610
2015-03-16 20:01:58 +01:00
Florian Schmaus
bc093b620d
Make Provider.parse() just throw Exception
...
instead of throwing XmlPullParserException, IOException and
SmackException.
Add a guard to AbstractXMPPConnection.processPacket() to always re-throw
RuntimeExceptions.
2015-03-13 09:27:18 +01:00
Florian Schmaus
41b74ec13c
Immutable objects must not implemented TypedCloneable
...
also add a note about that to the developers documentation.
2015-03-12 13:12:39 +01:00
Florian Schmaus
516e397679
Improve MUC's Destroy element class
...
- Made jid of type BareJid
- Made it implement TypedCloneable
- Made it implement Serializable
- Made it immutable
Also update its parsing code. And add some convenience methods to
ParserUtils.
2015-03-11 21:31:37 +01:00
Florian Schmaus
369878b6d9
Merge branch '4.1'
...
Conflicts:
version.gradle
2015-03-11 20:51:08 +01:00
Florian Schmaus
f6ba363843
Always include role in MUCItem if it's set
...
As not including "role='none'" when kicking a user will result in an
XMPPErrorException. Also there appears to be nothing in XEP-45 which
says "if role is not set, then it defaults to 'none'".
2015-03-11 12:36:15 +01:00
Florian Schmaus
e85c1881d7
Add TypedCloneable
2015-03-10 22:50:48 +01:00
Florian Schmaus
429af3b642
Add VersionManager to startupClasses
2015-03-10 13:51:04 +01:00
Florian Schmaus
d389b4db20
Fix NPE in EntityCapsManager
...
persistentCache may be null.
2015-03-10 13:22:48 +01:00
Florian Schmaus
c540ac9703
Merge Smack 4.1.0-rc3
...
Conflicts:
smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/socks5/provider/BytestreamsProvider.java
smack-extensions/src/main/java/org/jivesoftware/smackx/muc/MultiUserChat.java
version.gradle
2015-03-07 21:31:56 +01:00
Florian Schmaus
a95d25544c
Improve EmbeddedPacketExtension javadoc
...
parsePacketExtension is deprecated, use parseExtensionElement instead.
2015-03-07 21:12:42 +01:00
Florian Schmaus
48aae12ba3
Remove XMPPException from MultiUserChat.sendMessage
...
as it's not actually thrown.
2015-03-07 20:52:44 +01:00
Florian Schmaus
2db5ebb4b7
Fix BytestreamsProvider: Mode is optional
...
and defaults to TCP.
2015-03-07 20:51:23 +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
183af99ffb
DeliveryReceipt helper methods take Message as argument
...
Since it makes only sense for messages to have delivery receipts.
2015-03-04 21:46:40 +01:00
Florian Schmaus
b813e3aa9e
Return delivery receipts with the same type as the request
...
Message delivery receipts now use the same message type as the
corresponding message with the delivery receipt request.
2015-03-04 15:26:20 +01:00
Florian Schmaus
18d9be0099
Add CapsExtensionProviderTest
2015-03-04 13:08:35 +01:00
Florian Schmaus
85a9b07230
Fix MUC participantStatusListeners
...
Thanks to Anno van Vliet for reporting the issue and proposing the fix.
2015-03-03 17:11:42 +01:00
Florian Schmaus
50cf7f42f3
DataListener is no longer a StanzaListener
...
it's just an IqRequestHandler. So remove the previous code related to it
being a stanza listener.
2015-03-02 16:17:52 +01:00
Anno van Vliet
63fabf78ed
Fixed Data IQ packet receiving
...
Data packets where not received by the InBandByteStream due to a missing
IQRequestHandler
Conflicts:
smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/DataListener.java
smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamManager.java
smack-extensions/src/main/java/org/jivesoftware/smackx/bytestreams/ibb/InBandBytestreamSession.java
2015-03-02 16:17:52 +01:00
Florian Schmaus
dde0cfd7f6
Fix incoming file transfers
...
With bb8dcc9874
the concept if IQ request
handlers was introduced in Smack. This doesn't allow packet/stanza
collectors/listeners to filter for incoming IQ requests. Unfortunately
the file transfer code relied on this being able, so it broke with the
change.
There were two places where the file transfer code was listening for
incoming IQ requests:
- InitationListener(s)
- Negotiator(s)
With this change, we let the InitiationListener signal the existence of
an incoming initation request, send by an IQ of type 'set', using the
newly created EventManager utility.
The negotiator waits for those events to arrive and proceedes as it would
have done when the packet collector was used.
2015-03-02 15:56:26 +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
2250ac20ed
Make VCard XML null value safe
...
The user is able to set (most) values to null. We must take that into
consideration when transforming the VCard to XML.
2015-02-26 08:56:08 +01:00
Florian Schmaus
404b90054b
Use Executors.newSingleThreadScheduledExecutor
...
and remove the calls to setMaximumPoolSize() and steKeepAliveTime()
since they are ineffective on Android.
2015-02-25 16:17:09 +01:00
Florian Schmaus
9006ccf291
Fix VCardManager.saveVCard(VCard)
...
In case the users tries to save a VCard he previously retrieved via
loadVCard() this would previously fail, as the 'to' address is set to
the clients full JID.
2015-02-23 22:39:40 +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
29bda59617
Log warning if account creation over insecure connection
...
Prepare for SMACK-644.
2015-02-21 16:57:16 +01:00
Florian Schmaus
19f96d2c40
Avoid duplicate provider lookup in ItemProvider
...
This also fixes a programming error, since it could be possible that the
provider was removed between the lookup and the usage.
2015-02-20 12:27:54 +01:00
Florian Schmaus
7ebea7ce94
Add StanzaIdFilter, deprecate PacketIDFilter
2015-02-19 16:07:42 +01:00
Florian Schmaus
887c6114b7
Add filter information to NoResponseException
...
in order to aid debugging errors. This made it necessary to override
'toString()' for all filters in Smack.
2015-02-19 12:14:16 +01:00
Florian Schmaus
33cf205bdc
Use Objects.requireNonNull() in BytestreamSIDFilter
2015-02-18 10:06:12 +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
943dc29f92
Move vCard unit test into its own package
2015-02-09 07:35:15 +01:00
Chris Deering
0b4072ad66
Re-implementing the vCard provider using a pull parser. Extended unit tests.
2015-02-09 07:35:15 +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
86ea027301
Add StringUtils.requireNotNullOrEmpty and Objects.requireNonNull
...
and use this in a few places.
2015-01-26 20:47:09 +01:00
Florian Schmaus
2cba6a68eb
Fix DataFormProvider parsing 'fixed' FormFields
...
b71039660b
made FormField.setType(Type)
throw an illegal argument exception if type is fixed, but the
DataFormProvider was not changed, so it still would call
setType(Type.fixed).
Change DataFormProvider so that the non-argument constructer of
FormField is used when type == fixed.
2015-01-26 07:54:12 +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
Florian Schmaus
b265d2d2a2
Add XDataManager.isSupported(String)
...
also make FormField and Option implement NamedElement and some other
minor changes to data form API.
2015-01-21 09:50:50 +01:00
Florian Schmaus
c5db012fc8
Improve privacy parsing and API. Add NumberUtil
...
Make 'order' an long
Parse fall-through case's child elements (message, iq, presence-in,
presence-out)
Remove
privacy.addExtension(new DefaultPacketExtension(parser.getName(), parser.getNamespace()));
at the beginning of PrivacyProvider. Was there since day one for an
unknown reason.
2015-01-21 09:50:44 +01:00
Florian Schmaus
1bc3e10cff
Improve Message Delivery Receipt (XEP-184) API
...
add a new AutoReceiptMode enum that specifies how delivery receipt
requests are handled. Default is to send receipts if the requstor is
subscribed to the user's presence.
Also make sure that messages contain an id if a receipt request is
added to it.
2015-01-20 12:43:11 +01:00
Florian Schmaus
8409dddffd
Add PacketUtil.extensionElementFrom()
...
and deprecate extensionElementfromCollection()
2015-01-19 08:41:21 +01:00
Florian Schmaus
6bf9498904
Add note about getMultiUserChat in MUC's javadoc
2015-01-19 08:38:11 +01:00
Florian Schmaus
440af7675a
Rename SmackConfiguration.DEBUG_ENABLED to DEBUG
2015-01-19 08:26:42 +01:00
Florian Schmaus
c36ffd18c2
Improve VCard API
...
move API out of VCard into VCardManager. Mark old methods as deprecated.
2015-01-17 11:45:02 +01:00
Florian Schmaus
2e23a6f150
Allows PacketCollector's to cancel each other
...
This is useful for cases where a result set is requested, as it's the
case in XEP-13 and XEP-313.
Also adds
XMPPConnection.createPacketCollector(PacketCollector.Configuration).
2015-01-16 20:55:32 +01:00
Florian Schmaus
eb6b8df7c5
Add MultiUserChat.requestVoice()
2015-01-13 13:31:45 +01:00
Florian Schmaus
b0cecee710
Rename IQ.ELEMENT to IQ.IQ_ELEMENT
...
to avoid confusion between the IQ element 'iq' and the IQs child
element. ELEMENT defined in an IQ sublcass should contain the *child*
element.
Add element to StreamInitation and fix FileTransferManager which still
used a packet listener instead of an IQ request handler to handle
incoming stream initiation requests.
2015-01-11 21:54:46 +01:00
Florian Schmaus
f1a1215f35
Make DataForm type an enum
2015-01-10 20:10:46 +01:00
Florian Schmaus
98c69f6895
Add ServiceDiscoveryManager.serverSupportsFeature()
2015-01-10 19:36:33 +01:00
Florian Schmaus
b71039660b
Improve data form API
...
Add
DataForm.getField(String)
DataForm.getHiddenFormTypeField()
2015-01-10 18:05:05 +01:00
Florian Schmaus
e4bc6c2f37
Add support for 'ofrom' type (XEP-33)
...
of Extended Stanza Addressing.
Fixes SMACK-626.
2015-01-10 11:33:59 +01:00
Florian Schmaus
50c7d0bc2c
Don't log whole exceptions in VCardProvider
...
when trying to harden the parser.
2015-01-10 11:26:15 +01:00
Florian Schmaus
8e74f7faed
Improve 'forward' code
...
Move Forwarded into forward.packet and remove deprecated methods. Also
make fields final.
Improve ForwardedProvider:
- use INSTANCE of DelayInformationProvider
- use loop label
- don't throw exceptions in certain cases, instead log
2015-01-09 11:32:00 +01:00
Florian Schmaus
bb8dcc9874
Add IQ request handler API
...
This also moves the logic to send error IQ replies from "when there is
no IQ provider registerd" to "when there is no IQ request handler
registered". Which has for example the advantage that IQ parsing no
longer asks for a connection instance.
2015-01-08 23:15:24 +01:00
Florian Schmaus
fcb4844d10
Improve DeliveryReceiptManager
...
Use anonymous inner classes for packet listeners so that the
processPacket() method is not exposed as part of the Managers public
API.
And some small fixes.
2015-01-08 23:15:18 +01:00
Florian Schmaus
e380872a41
Add 'resumed' bool ConnectionListener's authenticated()
...
It's important to know if the stream was resumed. authenticated() is the
ideal callback for Managers to reset their state (e.g. cached values of
the connection state). But if the stream was resumed, the cached values
don't have to be reset.
2015-01-07 21:11:09 +01:00
Florian Schmaus
3dd1365a5a
Improve Privacy List code
...
notably add a cache for the active and default privacy list to avoid
IQ get/response round-trips.
Also add a few methods to PrivacyListManager to get the privacy list
names. The already existing methods always returned the whole list
together with the name, which caused two round-trips.
Simplified some code.
Properly escape Privacy XML.
2015-01-07 20:54:23 +01:00
Florian Schmaus
82eb9b18dd
Add and use AbstractConnectionClosedListener
2015-01-07 20:11:00 +01:00
vito-c
e31b284afa
Don't append closing body in XHTMLText.toString()
...
Also add XHTMLExtension.from(Message) and change XHTMLManager.addBody()
signature so that it expects a XHTMLText (Modifications to the original
patch by Florian Schmaus).
2015-01-07 15:00:28 +01:00
vito-c
b77d61527c
Add XHTMLText.appendCloseLineItemTag()
2015-01-07 14:38:38 +01:00
Florian Schmaus
717090d272
Rework incoming packet listeners and Roster
...
Differentiate between asynchronous and synchronous ones. Asynchronous
are the ones where the invocation order may not be the same as the order
in which the stanzas arrived.
Since it's no longer guaranteed that when a unit test calls
processPacket(stanza)
the stanza will be completely processed when the call returns, it was
necessary to extend the unit tests (mostly Roster and ChatManager) with
a packet listener that waits for his invocation. Since we now also use
LinkedHashMaps as Map for the packet listeners (SMACK-531, SMACK-424),
adding a packet listeners as last also means that it will be called as
last. We exploit this behavior change now in the unit tests.
Rename 'recvListeners' to 'syncRecvListeners' in AbstractXMPPConnection.
Rename 'rosterInitialized' to 'loaded' in Roster.
Add Roster.isLoaded().
Reset 'loaded' to false in
Roster.setOfflinePresencesAndResetLoaded() (was setOfflinePresences()).
Fixes SMACK-583, SMACK-532, SMACK-424
2015-01-07 14:35:23 +01:00
Florian Schmaus
61cc6a36da
Use async packet listener in AdHocCommandManager
...
also some minor cleanup and logging.
2015-01-07 14:35:22 +01:00
Florian Schmaus
f78a615d09
Add note about AdHocCommandManager's session sweeping
2015-01-07 14:35:22 +01:00
Florian Schmaus
d78b39d117
Remove ValidateElement.EmptyValidateElement
...
because it has the same semantic as BasicValidateElement.
2015-01-07 14:35:22 +01:00
Christoph Fiehe
665e7914f2
Enable OSGi compliance via 'DynamicImport-Package: *'
...
on package layer instead of Declarative Service (DS) approach.
Restructuring and cleanup of initialization process to ensure that all
internal config files are found by the corresponding bundle
classloaders.
SMACK-343
2015-01-03 13:14:02 +01:00
Florian Schmaus
1f38e4ca0d
Use new XmlStringBuilder.append(Collection<? extends Element>) in MUCUser
2015-01-02 00:14:04 +01:00
Florian Schmaus
f2703bc195
Improve SHIM API
...
- HeadersExtension.getHeaders() now returns a List instead of a
Collection
- Use XmlStringBuilder in Header and HeadersExtension toXML()
- Add HeadersProviderTest
- Use Smack formatting
Also remove duplicate parsing code regarding SHIM from HOXT
implementation.
2015-01-02 00:09:30 +01:00
Florian Schmaus
a87323cc33
Make casts in PubSub unnecessary
2015-01-01 17:43:17 +01:00
Florian Schmaus
5c086eeefa
Add Node.getSubscriptionsAsOwner() in PubSub API
...
To retrieve the subscriptions of a PubSub node as owner. Fixes
SMACK-623.
2015-01-01 17:43:14 +01:00
Florian Schmaus
f029b576a5
Add XMPPConnection.addAsyncPacketListener(PacketListener, PacketFilter)
...
and use this method in packet listeners that previously used Async.go().
2014-12-30 20:45:17 +01:00
Florian Schmaus
1d2f9749b6
Use weak ref connection in PrivacyListManager
2014-12-30 20:20:41 +01:00
Florian Schmaus
ecc13e2e91
Invoke MUC invitation listener async
...
Basically the same fix as 191c4429da
was
for file transfer listeners, just for MUC invitation listeners.
2014-12-30 20:04:29 +01:00
Florian Schmaus
e6593cb200
Use createMessage() where possible in MultiUserChat
2014-12-30 12:13:58 +01:00
Florian Schmaus
cba681a967
Add MultiUserChat.toString()
2014-12-30 12:10:12 +01:00
Anno van Vliet
b08dbc1dbc
Support for XEP-0122: Data Forms Validation.
...
Data Forms Validation are a part of Data Fields and implemented as
extensions, added to a Datafield.
Data validation extensions are validated before adding to the message,
using the consistency rules as described in the XEP.
Fixes SMACK-621.
Minor modifications done by Florian Schmaus <flo@geekplace.eu>
2014-12-30 02:03:12 +01:00
Florian Schmaus
019b9dc5d4
Remove unused import in bytestream Open IQ
2014-12-30 01:34:51 +01:00
Florian Schmaus
ff8720698a
Change muc.InvitationListner to use the MUC instance
2014-12-30 01:30:13 +01:00
Florian Schmaus
364fe12b38
Minor refactoring in DataForm.hasHiddenFormTypeField()
2014-12-28 00:14:16 +01:00
Florian Schmaus
755765120d
Make FormField.Type an enum
2014-12-27 21:12:48 +01:00
Florian Schmaus
56bf54eab5
Don't use synchonrizedMap() for INSTANCES
...
in Managers. The getInstanceFor() method is already synchronized.
2014-12-27 20:55:30 +01:00
Florian Schmaus
2b664ee88b
Improve PingManager javadoc
2014-12-26 21:29:46 +01:00
Florian Schmaus
b17ecb4555
Use standard manager pattern in PingManager
...
- No need to use a synchronized map, as the getInstanceFor method is
synchronized
- Put the PingManager in the map where it's created and not in the
constructor
2014-12-26 21:25:30 +01:00
Florian Schmaus
0293ca2bcd
Add MultiUserChat.createOrJoin(String,String,DiscussionHistory,long)
2014-12-26 18:22:06 +01:00
Florian Schmaus
7874daa59b
Use switch-case for Presence.getType()
2014-12-22 16:17:18 +01:00