1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-29 09:42:06 +01:00
Commit graph

668 commits

Author SHA1 Message Date
Georg Lukas
b8bd10b056 RoomInfo: use proper boolean parser for muc#roominfo_subjectmod
XML allows both false/true and 0/1 syntax for booleans.

Signed-off-by: Georg Lukas <georg@op-co.de>
2018-11-28 11:11:52 +01:00
Georg Lukas
8b88f9cb20 Bookmarks: use proper boolean parser for autojoin
Some clients (read: Gajim) store boolean values as `0` and `1` instead
of `false` and `true`, which is legal for the XML boolean type.

Signed-off-by: Georg Lukas <georg@op-co.de>
2018-11-28 11:11:52 +01:00
cc1bee4659
SMACK-828: Add support for XEP-0107: User Mood 2018-11-11 16:13:41 +01:00
Florian Schmaus
b7ea226c56 Bump "Error Prone" to 2.3.2
and gradle-errorprone-plugin to 0.6.
2018-10-31 16:06:31 +01:00
Florian Schmaus
2ee621ed10 Factor NickProvider in extra file and fill under correct package 2018-10-21 09:31:15 +02:00
Florian Schmaus
382057f520 Make Nick immutable 2018-10-21 09:01:54 +02:00
Florian Schmaus
2f1f0b6c1a Clear comments in Nick 2018-10-21 08:58:33 +02:00
Florian Schmaus
c053f5a41b Escape nickname in Nick.toXML() 2018-10-21 08:58:16 +02:00
Florian Schmaus
ab120691cb Smack 4.3.1
-----BEGIN PGP SIGNATURE-----
 
 iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlvDIBdfFIAAAAAALgAo
 aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
 NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
 IFKObAgApvEwstvSXhgzlrA46DM6fXezbPEnO1rh8rCPJEAsmfBSnyINSuuhelzw
 zN8L7GAU0jDeuDivxA12vQx5QB8wuCHKgc5pXDKNRi9eUdsyDUMKswcbMMAJWDvq
 I3bm7TOC1D9ZWmfhGmqfulrsVD1Q0wh+P2A1/CWVR5ZZUB5S4fESFZUrnCfJmeXe
 f+INXUiui3otAF6nPxKm782rSfHWvA32i4Obnagh3oPX/c9R7Ftb78Wukrsbaqfg
 +a5iTlBJXLG75/Yozq+JqmWlUvEKv7le0vkF5fF+oc76H4p1U1wqQyIMei/Pwaer
 H/SyMqLPzCiwpUHiunpWD13e5kkeLw==
 =47on
 -----END PGP SIGNATURE-----

Merge tag '4.3.1'

Smack 4.3.1
2018-10-14 14:31:31 +02:00
Florian Schmaus
ec982f65e2 Fix IndexOutOfBoundsException in FormField.getFirstValue()
Fixes SMACK-838.
2018-10-14 12:07:51 +02:00
Florian Schmaus
1aa35bc957 Merge branch '4.3' of github.com:Flowdalic/Smack into 4.3 2018-09-12 20:02:16 +02:00
Florian Schmaus
87fac888c6 Improve MultiUserChat's API to query hosted rooms
Return a Map instead of a List. This makes it possible to check for
the existence of MUC by looking up the MUC's address in the Map's key
set.
2018-09-12 19:56:46 +02:00
Florian Schmaus
271ac7ee7a Use PossibleFromTypeFilter for MultiUserChat's presence listener 2018-09-10 21:05:47 +02:00
Florian Schmaus
77baaa99bc Do not warn on presence from bare MUC JID in MultiUserChat
as such presence messages became a thing in XMPP (e.g. for XEP-0153
avatars for MUC).
2018-09-10 21:00:49 +02:00
Florian Schmaus
0e847f34f3 Remove unused method in pubsub.Subscription 2018-08-21 12:51:52 +02:00
Florian Schmaus
7374caefef Make StringEncoder generic 2018-08-21 11:09:26 +02:00
Florian Schmaus
27164f4c06 Do not use a generic return parameter in PubSubManager.getNode() 2018-08-16 17:23:15 +02:00
Florian Schmaus
528e170b99 Use pepPubSubManager in PepManager.publish() 2018-08-15 20:16:33 +02:00
Florian Schmaus
4d4f92ba86 Rename PEP to Pep 2018-08-15 20:15:57 +02:00
Florian Schmaus
4b3f757ed9 Add a PEP PubSubManager to PEPManager 2018-08-15 20:13:40 +02:00
Florian Schmaus
5569782113 Fix javadoc in PEPManager 2018-08-15 17:58:53 +02:00
Florian Schmaus
a1d4a91fa0 Make PubSubManager.deleteNode(String) "node did not exists" aware 2018-08-15 17:48:54 +02:00
Florian Schmaus
a00aa726fe Introduce CloseableUtil 2018-08-15 17:25:22 +02:00
Florian Schmaus
50385be964 Bump jxmpp to 0.7.0-alpha1 2018-08-02 14:45:26 +02:00
74bebc13e6
requireNotNullOrEmpty -> requireNotNullNorEmpty 2018-07-17 15:10:39 +02:00
Florian Schmaus
ce4f3352a2 Merge branch '4.3' 2018-06-23 17:18:17 +02:00
Florian Schmaus
23bb5c5625 Add XMPPErrorException.getStanzaError()
Also deprecate getXMPPError and let StanzaError implement
ExtensionElement.
2018-06-20 22:17:11 +02:00
Florian Schmaus
8841c4aed2 Remove deprecated method sin SDM and AdHocCommandManager
These methods are related to functionality which is no longer existend
in XEP-0030.
2018-06-14 09:59:46 +02:00
Florian Schmaus
84ef4047a7 Remove depreacted methods in MultiUserChat 2018-06-14 09:58:52 +02:00
Florian Schmaus
9e865fe6ab Merge remote-tracking branch 'ignite/4.3' into 4.3 2018-06-12 13:41:43 +02:00
Florian Schmaus
6ba9218c77 Introduce myRoomJid EntityFullJid in MultiUserChat 2018-06-12 12:16:56 +02:00
Guus der Kinderen
03a267a925 fix: Prevent attempt to construct invalid address
When no join was properly registered, a nickname will not be defined.
In that case, attempting to construct the from address for the 'leave'
presence stanza will result in:

java.lang.IllegalArgumentException: The Resourcepart must not be null

This commit prevents that, by verifying that the nickname is non-null,
before sending that stanza.
2018-06-12 10:09:55 +02:00
Florian Schmaus
5ae164f670 Add Forwarded.extractMessagesFrom(Collection<Forwarded>) 2018-06-06 08:39:09 +02:00
Florian Schmaus
8aa7029b38 Add DataForm.addFields() 2018-06-03 21:19:04 +02:00
Florian Schmaus
d26baeb66f Add Date API methods to FormField values 2018-06-03 17:29:09 +02:00
Florian Schmaus
298bcc8097 Improve FormField.resetValues()
by using clear() instead of removeAll().
2018-06-03 17:29:09 +02:00
Florian Schmaus
2adf8a79af Add CommandsProviderTest 2018-06-03 17:01:19 +02:00
Florian Schmaus
ccf2b8bcf8 Add MultiUserChat.getXmppConnection() 2018-05-31 18:37:08 +02:00
Boris Grozev
fd5e86ce5a fix: Cleans the multiUserChats map. 2018-05-21 14:54:23 -05:00
Florian Schmaus
98a029e9c7 Set name of local SOCKS5 proxy thread 2018-05-13 19:37:41 +02:00
Florian Schmaus
fd97f5ba0b Use a CopyOnWriteArraySet for joinedRooms
Since it is accessed concurrently. And also may cause a
ConcurrentModificationException when the MultiUserChatManager tries to
re-join the joined rooms.

Fixes SMACK-819.
2018-05-10 20:30:24 +02:00
Florian Schmaus
72de6540b2 Add DiscoInfoLookupShortcutMechanism and EntityCapabilitiesChangedListener
to allow for plugable XEP-0115 like mechanisms. For example XEP-0390.
2018-05-10 20:30:23 +02:00
Florian Schmaus
c94962c763 Add toString() to Disco Feature and Identity 2018-05-10 15:25:20 +02:00
Florian Schmaus
e8923b9d16 Enable trailing whitespace checkstyle check
for all source code regions, including javadoc.
2018-05-09 23:26:39 +02:00
Florian Schmaus
e5d93e58a1 Bump PowerMock to 1.7.3
And also drop the powermock-classloading-xstream dependency as it is
currently not used.
2018-05-09 20:16:05 +02:00
Florian Schmaus
a9e45475ab Treat <body/> just like all other extension elements in Message
This turned out to be a rather large change.
2018-05-09 17:13:09 +02:00
Florian Schmaus
cb9a11b74e Fix Forwarded.toXml(String): Set the correct enclosing XML namespace 2018-05-09 17:13:09 +02:00
Florian Schmaus
779ebd5d69
Merge pull request #234 from vanitasvitae/fixDeliveryReceipts
Make receipts id optional (SMACK-815)
2018-05-06 22:00:47 +02:00
95534da53f
Make receipts id optional
(SMACK-815)

Remove @author and change javadoc
2018-04-28 13:24:46 +02:00
Florian Schmaus
5ab2903c32 Change Element.toXml() to toXml(String enclosingNamespace) 2018-04-27 10:05:25 +02:00
Florian Schmaus
6c4a02691e Make PubSub's SimplePayload infer the XML Element name and namespace
Fixes SMACK-816.
2018-04-23 22:00:12 +02:00
Florian Schmaus
cc0022c919 Globally s;Stanza(/Packet);Stanza; and more 'packet' → 'stanza' 2018-04-23 21:10:22 +02:00
Florian Schmaus
2065a7ed01 Add findServicesDiscoverInfo() with service argument
to ServiceDiscoveryManager.
2018-04-23 20:41:33 +02:00
Florian Schmaus
31244ae982 Make PubSub elements namespace aware
Also fixes SMACK-814.
2018-04-23 20:36:41 +02:00
Florian Schmaus
acc64ffc2d Remove unnecessary argument from createMockedConnection()
The server address can be infered from the user JID.
2018-04-23 17:02:28 +02:00
Florian Schmaus
2050845289 Fix Protocol code examples in Javadoc 2018-04-23 17:02:28 +02:00
Florian Schmaus
73168bff69 Use XmlUtil for XML pretty printing in Protocol 2018-04-23 17:02:28 +02:00
Florian Schmaus
4fb34a6952 Add MultiUserChatManager.getMucServiceDomains()
and deprecate getXMPPServiceDomains().
2018-04-23 17:02:28 +02:00
Florian Schmaus
f69cd55970
Merge pull request #232 from TimothyPitt/PubSub_NotificationType
Pub sub notification type
2018-04-16 18:22:08 +02:00
Timothy Pitt
d5aaf8fdab Notification type for pubsub node config 2018-04-16 16:03:02 +02:00
Florian Schmaus
74f14484e6 Smack 4.2.4
-----BEGIN PGP SIGNATURE-----
 
 iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlrTPy5fFIAAAAAALgAo
 aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
 NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
 IFI5aAf/Rb6Y+hqxiHRbsmww74rt7HfgQnOjOjz3bPhgbVH2emzBHzxsU2pBBY87
 iTfCXjXA3qQ9FzluBchLrd9EciDEXq1A/ZblYnR+kch1DK7wvVipTPWIzOHt6ahD
 q7vfS9EmmFBCRjNM4tW8zwaajWWeJAWimXoZFxuy/n+2FORnx0x5NrnIHwYvyUtf
 nY432BOiCg7l6J9sgfcoYDgP0Ot4SkdfUIgGOYonv0lzKW8HkU/OZZwEMbFhlCHU
 s0inbU5ldDDP7xXIinDqHVSKpRlSIkaOJ0zbAQLjFz8h2fCnqDGhpnNbun8Xb7l2
 agsATloOl91tlUV5D+qRWjzkx7pDxA==
 =YqLS
 -----END PGP SIGNATURE-----

Merge tag '4.2.4'

Smack 4.2.4
2018-04-15 14:48:22 +02:00
Florian Schmaus
5f58529c3a Switch argument of VCard.setJabberId() to CharSequence
instead of String.
2018-04-13 10:09:14 +02:00
2614c0d5c1
Add support for XEP-0319: Last User Interaction (SMACK-636) 2018-04-09 20:59:39 +02:00
Timothy Pitt
832c0a92aa Added pubsub Node.modifySubscriptionsAsOwner with test 2018-04-09 18:03:53 +02:00
Florian Schmaus
476fdf99a1 Inroduce AsyncButOrdered 2018-04-08 21:21:50 +02:00
Florian Schmaus
2efec89050 Rename XMPPError to StanzaError
Fixes SMACK-769.
2018-04-07 22:59:25 +02:00
Florian Schmaus
0e15a903d9 Do not silently swallow exceptions in ChatStateManager 2018-04-06 19:38:12 +02:00
Florian Schmaus
19a445ea02 Remove unnecessary check in ChatStateManager 2018-04-06 19:38:12 +02:00
Florian Schmaus
9d53363413 Synchronize ChatStateManager's chatStateListeners 2018-04-06 19:38:12 +02:00
Florian Schmaus
1d88c857b5 Change FormField value(s) type from String to CharSequence 2018-04-06 13:24:54 +02:00
Florian Schmaus
9b5dafe541 Enable LeftCurly checkstyle check 2018-04-06 10:25:06 +02:00
Florian Schmaus
6a42d5baff Rework FileUtils 2018-04-06 10:25:06 +02:00
Fernando Ramirez
632c172f6d Add pubsub publishing and altaccuracy parameter to geoloc 2018-04-04 15:04:42 +02:00
Florian Schmaus
ad87243060 Globally 's;stanza(/packet);stanza;' 2018-03-31 14:17:30 +02:00
Florian Schmaus
a9ca1a0989 Enable ModifierOrder checkstyle check
Fixes SMACK-812
2018-03-29 12:35:11 +02:00
Florian Schmaus
bd08f11c4a Add DataValidationTest.testNamespacePrefix() 2018-03-28 19:37:26 +02:00
Florian Schmaus
702b9a5139 Use an extra variable for 'name' in DataValidationProvider 2018-03-28 19:35:41 +02:00
Florian Schmaus
3132d9a224 Bump errorprone to 2.2.0 2018-03-28 15:56:04 +02:00
Florian Schmaus
b5209f4701 Enable RedundantModifier checkstyle check 2018-03-28 14:02:21 +02:00
Florian Schmaus
193688e553 Merge branch '4.2' 2018-03-28 12:51:28 +02:00
Florian Schmaus
5b9254aff5
Merge pull request #209 from fuentesj11/rename-deprecate-xmppconnection-methods
Rename and deprecate XMPPConnection methods
2018-03-28 12:11:32 +02:00
Jesus Fuentes
a70063dc89 Rename and deprecate XMPPConnection methods
Rename and deprecate XMPPConnections methods as described in SMACK-802
2018-03-22 15:40:40 -05:00
Florian Schmaus
a9bf2a3504 Put ChatStateManager in INSTANCES in getInstanceFor()
like it is done everywhere else.
2018-03-22 17:09:51 +01:00
Florian Schmaus
d6cc291252 Move listeners into constructor in ChatStateManager 2018-03-22 17:07:32 +01:00
a3d430f334 Migrate the ChatState package to chat2 API
Fixes SMACK-761
2018-03-22 16:22:59 +01:00
Florian Schmaus
5a29be4c67 Use Jid in pubsub.Subscription 2018-03-21 14:47:45 +01:00
Florian Schmaus
ffaca31178 Use XmlStringBuilder for pubsub.Subscription 2018-03-21 14:47:45 +01:00
Florian Schmaus
7c9060c32b Merge branch '4.2' 2018-02-27 08:09:34 +01:00
Florian Schmaus
27808e9e8c Make PingManager use Manager.schedule() 2018-02-26 10:24:35 +01:00
Florian Schmaus
3bdeca44f2 Merge branch '4.2' 2018-02-23 18:35:34 +01:00
Florian Schmaus
20014d56b4 Use true/false instead of 1/0 in boolean type FormFields 2018-02-23 11:50:54 +01:00
Florian Schmaus
026f3a2f8c Merge branch '4.2' 2018-02-22 14:54:48 +01:00
Florian Schmaus
ec4be1963a Deprecate legacy disco-publish API of ServiceDiscoveryManager 2018-02-21 20:43:56 +01:00
Florian Schmaus
41f5cf8435 Remove unused LOGGER from ServiceDiscoveryManager 2018-02-21 20:21:10 +01:00
Florian Schmaus
a48e8ef843 Merge branch '4.2' 2018-02-21 20:13:05 +01:00
Florian Schmaus
98708d67a2 Make ServiceDiscoveryManager.findService() consider all services
with the same matching feature announced.

Consider for example PubSub where usually the service itself announces
the PubSub feature as part of PEP, and where an additional PubSub
component exists. The old logic will just lookup the first matching
service with a PubSub feature announcement and check if for a matching
identiy. If we look for a real PubSub service, but stumble first over
user's service with PEP, then findService() will return 'null' although
there would have been a valid PubSub service.

Fixes SMACK-805.
2018-02-21 20:09:11 +01:00
Florian Schmaus
64f41364f9
Merge pull request #207 from vanitasvitae/descriptions
Add missing package-info.java descriptions.
2018-02-21 20:08:39 +01:00
9f47daa7ad
Add missing package-info descriptions. 2018-02-21 16:47:11 +01:00
Florian Schmaus
245a3b3851 Use the correct ad-hoc action in ServiceAdministrationManager
Fixes SMACK-804. Thanks to Holger Weiß for his help with the issue.

Smack would always use the 'next' action only 'execute' (which is
always allowed) and 'complete' where candidates.

Example XMPP trace:

SENT: <iq to='salem.geekplace.eu' id='f0JiQ-45' type='set'><command xmlns='http://jabber.org/protocol/commands' node='http://jabber.org/protocol/admin#add-user' action='execute'></command></iq><r xmlns='urn:xmpp:sm:3'/>

RECV: <iq xml:lang='en' to='sinttest-admin@salem.geekplace.eu/one-phx8g' from='salem.geekplace.eu' type='result' id='f0JiQ-45'>
<command status='executing' sessionid='2018-02-21T14:48:13.508812Z' node='http://jabber.org/protocol/admin#add-user' xmlns='http://jabber.org/protocol/commands'>
<actions execute='complete'>
  <complete/>
</actions>
<x type='form' xmlns='jabberdata'>
<title>Add User</title>
<field var='FORM_TYPE' type='hidden'><value>http://jabber.org/protocol/admin</value></field>
<field var='accountjid' type='jid-single' label='Jabber ID'><required/></field>
<field var='password' type='text-private' label='Password'><required/></field>
<field var='password-verify' type='text-private' label='Password Verification'><required/></field>
</x>
</command>
</iq>

SENT:
<iq to='salem.geekplace.eu' id='f0JiQ-49' type='set'>
<command xmlns='http://jabber.org/protocol/commands' node='http://jabber.org/protocol/admin#add-user' sessionid='2018-02-21T14:48:13.508812Z' action='next'>
<x xmlns='jabberdata' type='submit'>
<field var='FORM_TYPE' type='hidden'><value>http://jabber.org/protocol/admin</value></field>
<field var='accountjid' type='jid-single'><value>smack-inttest-one-phx8g@salem.geekplace.eu</value></field>
<field var='password' type='text-private'><value>L2Cz2gKeVsBAEBRJ</value></field>
<field var='password-verify' type='text-private'><value>L2Cz2gKeVsBAEBRJ</value></field>
</x>
</command>
</iq>

RECV:
<iq xml:lang='en' to='sinttest-admin@salem.geekplace.eu/one-phx8g' from='salem.geekplace.eu' type='error' id='f0JiQ-49'>
<command action='next' sessionid='2018-02-21T14:48:13.508812Z' node='http://jabber.org/protocol/admin#add-user' xmlns='http://jabber.org/protocol/commands'>
<x type='submit' xmlns='jabberdata'>
<field var='FORM_TYPE' type='hidden'><value>http://jabber.org/protocol/admin</value></field>
<field var='accountjid' type='jid-single'><value>smack-inttest-one-phx8g@salem.geekplace.eu</value></field>
<field var='password' type='text-private'><value>L2Cz2gKeVsBAEBRJ</value></field>
<field var='password-verify' type='text-private'><value>L2Cz2gKeVsBAEBRJ</value></field>
</x>
</command>
<error code='400' type='modify'><bad-request xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/><text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>Unexpected action</text>
</error>
</iq>
2018-02-21 16:34:03 +01:00
Florian Schmaus
d6be4a7782 Set Java source and target compatibility to Java 8
Fixes SMACK-801.
2018-02-10 14:11:27 +01:00