Florian Schmaus
9b5dafe541
Enable LeftCurly checkstyle check
2018-04-06 10:25:06 +02:00
Florian Schmaus
5a841ff0a8
Remove support for classpath:org.jivesoftware.smack/disabledClasses
...
when initalizing Smack.
2018-04-06 10:25:06 +02:00
Florian Schmaus
f73641da5a
Better exception messages on Smack initialization
2018-04-06 10:25:06 +02:00
Florian Schmaus
f48b761c33
Log exception when handling debugEnable
2018-04-06 10:25:06 +02:00
Florian Schmaus
ac5508ae37
Remove deprecated CustomSmackConfiguration on intialization
2018-04-06 10:25:06 +02:00
Florian Schmaus
6a42d5baff
Rework FileUtils
2018-04-06 10:25:06 +02:00
Florian Schmaus
b443958bee
Remove setting to disable legacy session establishment
2018-04-02 13:27:01 +02:00
Florian Schmaus
ad87243060
Globally 's;stanza(/packet);stanza;'
2018-03-31 14:17:30 +02:00
Florian Schmaus
1d12be1644
Add XMPPConnection.sendIqRequestAndWaitForResponse(IQ)
2018-03-31 14:15:46 +02:00
Florian Schmaus
a9ca1a0989
Enable ModifierOrder checkstyle check
...
Fixes SMACK-812
2018-03-29 12:35:11 +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
f42d9137b5
Merge branch '4.2'
2018-03-21 15:22:22 +01:00
Florian Schmaus
ac24d6737f
Drop CharsequenceEquals
...
it got duplicated into
- CharsequenceEquals
- CharSequenceEquals
with cb18056613
2018-03-21 15:15:08 +01:00
Florian Schmaus
1d438ec1c2
Merge pull request #214 from fuentesj11/javadoc-update
...
Update/fix javadocs
2018-03-12 16:04:05 +01:00
Jesus Fuentes
903f90e1c1
Update/fix javadocs
2018-03-09 07:15:46 -06:00
Florian Schmaus
7c9060c32b
Merge branch '4.2'
2018-02-27 08:09:34 +01:00
Florian Schmaus
ecc53b1bc8
Add Manager.schedule(Runnable, long, TimeUnit)
...
using Smack's scheduled executor service.
2018-02-26 10:24:01 +01:00
Florian Schmaus
4f88f23f33
Make scheduled executor service static
2018-02-26 10:23:02 +01:00
Florian Schmaus
cd05d5f5d8
Call schedule() instead of directly invoking the scheduled executor
...
in AbstractXMPPConnection.
2018-02-25 11:29:39 +01:00
Florian Schmaus
c90607d7db
Call schedule() instead of directly invoking the scheduled executor
...
in AbstractXMPPConnection.
2018-02-23 18:50:02 +01:00
Florian Schmaus
3bdeca44f2
Merge branch '4.2'
2018-02-23 18:35:34 +01:00
Florian Schmaus
72a2014572
Set core-pool size of single-threaded executor to zero
...
in AbstractXMPPConnection.
2018-02-23 18:22:53 +01:00
Florian Schmaus
a4ab6245f6
Make cached executor service static
2018-02-23 17:04:51 +01:00
Florian Schmaus
abdfe73006
Remove executorService from AbstractXMPPConnection
...
Reduces thread count per connection by one.
2018-02-23 16:48:15 +01:00
Florian Schmaus
793d3c47ad
Move TLS and SASL sync points into subclasses
...
In preperation of subclasses with different connection approaches.
2018-02-23 10:37:17 +01:00
Florian Schmaus
5e25491877
Do not send unavailable on disconnect() when not authenticated
2018-02-23 10:37:12 +01:00
Florian Schmaus
a48e8ef843
Merge branch '4.2'
2018-02-21 20:13:05 +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
20b97eb241
Add javadoc to Provider
2018-02-21 10:37:25 +01:00
Florian Schmaus
6f7d6a7f50
Smack 4.2.3
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlp7XzVfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFKdbQf8CpKmvAUqThaxSKUZKOzlH71BkneT7gdjLvDyvVLXkxZt+arC/Sx9WHXs
OqP6XxxcUKpP9SVItyikEiyq4A4EAlYbtnGcAnJ2Zc04MorEvYtfePgX29WVMKa6
VGZv4PyILAqRMBgQP6+TW++sgqB8JvlVY29e2igfM7mFjOiZdKkEPr2TZ995/XiT
07WFxo72Fe7xXWTVWx5e2hbgC+KPtUFbm0rEBQ3x3seBbRQkn2f3sm8AItj6NKvz
3W9Fzc7n+NY0l+84lX4mSB4Xq851AtOhJPeuSBijgYNM6V8yAXdCAHd0XJSiE89e
/WwRIJAxLy74WzXs0wN3IAieKQhHdw==
=/ZOL
-----END PGP SIGNATURE-----
Merge tag '4.2.3'
Smack 4.2.3
2018-02-10 11:56:52 +01:00
lohse
93683389e3
Bugfix in SOCKS5 authentication
...
Read password bytes from the correct field.
Fixes SMACK-796, introduced with 4c64643
2018-01-19 12:53:57 +01:00
Florian Schmaus
3c4225d167
Merge branch '4.2'
2017-12-25 14:16:43 +01:00
Florian Schmaus
34373e8710
Enable javadoc 'html' doclint
...
Also make all 'test' tasks depend on the 'javadoc' task.
Fixes SMACK-650.
2017-12-25 14:08:18 +01:00
Florian Schmaus
0cf33f9849
Merge branch '4.2'
2017-12-25 12:10:35 +01:00
Florian Schmaus
89c97bb46c
Enable javadoc 'syntax' doclint
...
Addresses SMACK-650 but does not yet fix it completely.
2017-12-25 12:09:46 +01:00
Florian Schmaus
0eeab74990
Merge branch '4.2'
2017-12-25 11:40:45 +01:00
Florian Schmaus
e5e5fca7c1
Merge pull request #191 from vanitasvitae/fixJavadoc
...
Fix javadoc issues in some packages
2017-12-24 14:46:02 +01:00
52398b535f
Fix javadoc issues in some packages
2017-12-23 20:21:19 +01:00
2288825b1c
Retain smack-core API
2017-12-19 15:06:40 +01:00
2f2c2f8663
Fix minor codestyle issues
2017-12-17 11:19:41 +01:00
Florian Schmaus
431e5b3c67
Merge branch '4.2' into master-paul-merged
2017-12-17 11:16:02 +01:00
cb18056613
Fix minor codestyle issues
2017-12-17 11:03:46 +01:00
Florian Schmaus
200f90ffdc
Add IpAddressUtilTest
2017-12-16 12:40:17 +01:00
Florian Schmaus
517fc6e0f2
Add assert to IpAddressUtil.isIPv4LiteralAddress(String)
2017-12-16 12:37:11 +01:00
Florian Schmaus
5147f6e915
Fix IPAddressUtil.isIPv4LiteralAddress(String)
...
Fixes SMACK-791
2017-12-16 12:36:02 +01:00
Florian Schmaus
47940ba5ad
Fix NPE in DNSResolver.lookupSRVRecords0
...
in case hostAddresses was null, the isEmpty() check before the log()
invocation would throw an NPE. Thanks to Ingo Bauersachs for reporting
this.
Fixes SMACK-788.
2017-12-05 20:50:34 +01:00
Florian Schmaus
76a6b9f2a1
Smack 4.2.2
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAloZnf5fFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFLcIQgAsTLRI3sWIZDPRuI5YaU/y6beqqzMp5cQgk/9+9DHGBoziLEU1spkvBs2
Yvlwu3NtHSJsI+ibzYLEFRnzEwuW07vXw7R5J+kRSZrsE40z1HCQRwUIXDkPgghe
MuL6vT6OV+kLqKb33YLSBuT2fj2pzVE6mRmMsnFekay/weEqOGUZaY9Hd5lJ31/9
33fQC0FQfKULQ5t7PbdfX4dDDNWn0n6v+KjvjaskHI0oA+vqPWxPkj8gNXWW8b72
tVV4h5uXQ0ziK3oED79+GH+DSiET9N2PmsZ7woXiFy5H8KbcQDVe5Pazf+Iq2VQ+
Vi6Vxikr6Ak+v2Xkt+e3x9E6mZDI1w==
=CVqq
-----END PGP SIGNATURE-----
Merge tag '4.2.2'
Smack 4.2.2
2017-11-25 18:45:32 +01:00
Florian Schmaus
2edbc64957
Refactor reconnection callbacks into an extra class
...
Fixes SMACK-775
2017-11-25 16:30:18 +01:00
Florian Schmaus
32f681c6e5
Initialize keytsoreType with KeyStore.getDefaultType()
2017-11-22 22:34:56 +01:00
Florian Schmaus
81002c4fbd
Merge branch '4.2'
2017-11-22 08:37:47 +01:00
Florian Schmaus
5ff4387f68
Fix Presence.getPriority() to not return Integer.MIN_VALUE
...
Fixes SMACK-787.
2017-11-21 21:05:10 +01:00
Florian Schmaus
4775f350ae
Add javadoc to Presence.priority
2017-11-21 21:04:13 +01:00
Florian Schmaus
9e11b68144
Add comment style checkstyle rule requiring a space
2017-11-20 08:53:19 +01:00
Florian Schmaus
2341bb4e23
Remove duplicate code in StringUtils
2017-11-16 18:02:02 +01:00
Florian Schmaus
73dd46af21
Remove duplicate numbers from StringUtils.numbersAndLetters
...
Fixes SMACK-784.
2017-11-16 17:48:29 +01:00
Florian Schmaus
fe61922fb7
Merge pull request #179 from damencho/4.2
...
Makes xmpperror descriptive text optional as said in the rfc.
2017-11-09 18:26:14 +01:00
Florian Schmaus
65b4f506dc
Add SubscribeAnswer.ApproveAndAlsoRequestIfRequired
2017-11-06 22:41:28 +01:00
damencho
a0b0b5a63b
Makes xmpperror descriptive text optional as said in the rfc.
2017-10-27 13:14:50 -05:00
Florian Schmaus
384c285fbc
Merge branch '4.2'
2017-10-14 14:56:36 +02:00
Florian Schmaus
01aa6d9c18
DNS: Correctly handle broken SRV records
...
where the SRV RR points to a target DNS name with no associated A or
AAAA RRs.
Fixes SMACK-781.
2017-10-14 13:29:46 +02:00
Florian Schmaus
122bf06ccc
Merge pull request #160 from ibauersachs/parse-error-texts
...
Get descriptive text from error without lang
2017-09-29 19:04:14 +02:00
Florian Schmaus
941f29e928
Improve ReconnectionManager
...
Fixes SMACK-778.
2017-09-29 16:32:32 +02:00
Ingo Bauersachs
699145ee5f
Get descriptive text from error without lang
...
A stanza with <error><text>Some text</text></error>, i.e. without a
xml:lang attribute, did not return the value 'Some text' in
getDescriptiveText().
Insert the empty string as key when the attribute is not present while
parsing the xml. When writing, omit the attribute if the key is the
empty string.
2017-09-27 00:21:40 +02:00
Florian Schmaus
255865f733
Add XmlUtil.prettyFormatXml()
2017-09-10 16:46:26 +02:00
Florian Schmaus
8020fc1416
Make IQRequestHandler the only option to handle IQ requests
...
Previously StanzaListeners and Collectors where able to receive IQ of
type 'get' or 'set' (i.e., IQ requests) when no IQRequestHandler was
registered. By moving the 'return' statement one level down, even
listeners/collectors won't receive them.
2017-08-16 21:06:23 +02:00
Florian Schmaus
2a97d7c5ea
Don't reinvent methods in HashManager
...
use the existing API from StringUtils instead.
Also rename StringUtils.toBytes() to 'toUtf8Bytes()'.
2017-08-16 14:55:25 +02:00
Florian Schmaus
ba323b51f9
Remove API parts scheduled to be removed in Smack 4.3
2017-08-16 14:31:46 +02:00
Florian Schmaus
80eaaf2d71
Fix warnings
2017-08-16 14:10:00 +02:00
Florian Schmaus
6203d163c4
Deprecate old async API
2017-08-16 13:46:42 +02:00
Florian Schmaus
798d158d32
Make SmackFuture.getOrThrow() throw InterruptedException
2017-08-16 13:45:51 +02:00
Florian Schmaus
339ae1c7a0
Merge pull request #163 from ibauersachs/replymode-public
...
Make UnknownIqRequestReplyMode public
2017-08-14 22:57:28 +02:00
Florian Schmaus
997766533f
Merge pull request #161 from ibauersachs/condition-to-type-mappings
...
Make XMPPError Condition to Type mapping consistent
2017-08-14 22:57:12 +02:00
Ingo Bauersachs
25114b3fc1
Add a test to ensure all Conditions have a Type mapping
2017-08-14 21:50:30 +02:00
Ingo Bauersachs
b7542bbde5
Fix too shorts indents of two Javadoc comments
2017-08-14 21:47:53 +02:00
Ingo Bauersachs
47c936e508
Make UnknownIqRequestReplyMode public
...
If it is not made public, then (g|s)etUnknownIqRequestReplyMode cannot
be used.
2017-08-14 21:45:29 +02:00
Ingo Bauersachs
199311eda1
Fix error Condition to Type mappings to match RFC 6120
...
Synchronize the Javadoc table to match the actual implementation.
2017-08-14 21:35:31 +02:00
Florian Schmaus
43abd52d76
Smack 4.2.1
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlmR75tfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFLeXggAjdgj7YVUe22NtamnROBj1c3PaWwgSY0gEjcyDPsOz5qeqNUdQLHbmt2j
XQQpYZWKg1/1uoQHlsixaFKbGVctKRk72aNEodRfd1osta11WTOwZKEb8nI411Tt
7M0Fhf430WZY6nioZiZIorsmid57fftJ2EMPlmjEDp2FD0AVGAXkEhCneGaPtt9Q
hbWbepIy9tApeIH+QgmFLBmPLnFCaSg+X6NUden3Z21bUz5vH8pmcbeUVfsNB7kW
nkkDuNwKHPFLgjuhcq7D+KAKRwNU7n8WEuHseRzM7bMCEB+S/rZok5KPXe/tV4v+
YZKN2e+2yh4j5l4FT/fCzELfWcvrgA==
=MV3G
-----END PGP SIGNATURE-----
Merge tag '4.2.1'
Smack 4.2.1
2017-08-14 21:01:36 +02:00
Florian Schmaus
b497a236f9
Improve StanzaListner javadoc
2017-08-14 14:18:21 +02:00
Florian Schmaus
f4391c07d7
Rework SmackFuture and add async API based on it
2017-08-12 17:35:45 +02:00
Florian Schmaus
0602ae064a
Remove deprecated methods from XMPPConnection
2017-08-12 13:36:47 +02:00
Florian Schmaus
7f851d806c
Use StandardExtensionElement in JingleProvider
...
and some further minor jingle fixes:
- deprecate getJingleTransport() in favor of getTransport()
- Jingle.Builder now checks if the session ID is not empty
2017-08-05 11:13:58 +02:00
Florian Schmaus
b8ee8d808f
Rework Smack debugger.
...
Also fixes SMACK-728.
2017-07-28 12:01:11 +02:00
Florian Schmaus
3d032298a5
Deal with cases wehre HostAddress.fqdn is null
...
Fixes SMACK-772
2017-07-02 18:09:15 +02:00
Florian Schmaus
2b11074950
Merge branch '4.2'
2017-06-17 15:55:38 +02:00
Florian Schmaus
813219179f
Add support for <text/> elements in SM's <failed/> element
...
Also introduce AbstractTextElement and StanzaErrorTextElement.
Fixes SMACK-760.
2017-06-17 11:43:49 +02:00
Florian Schmaus
1448fa4632
Add ParserUtils.getXmlLang(XmlPullParser)
...
and add TODO comment to PacketParserUtils.getLanguageAttribute().
2017-06-17 11:42:09 +02:00
Florian Schmaus
5424c9635f
Add XmlStringBuilder.optXmlLangAttribute(String)
2017-06-17 11:41:35 +02:00
Florian Schmaus
8038b7a3e1
Add TODO comment about renaming XMPPError to StanzaError
2017-06-17 11:41:07 +02:00
Florian Schmaus
08e897113d
Add CustomImportOrder checkstyle rule
...
And matching ImportOrder settings for Eclipse in
resources/eclipse/smack.importorder
2017-06-14 17:12:43 +02:00
Florian Schmaus
f5ef42ec56
Merge branch '4.2'
2017-06-02 13:51:56 +02:00
e86700b040
Add OMEMO support
...
This commit adds the modules smack-omemo and smack-omemo-signal.
smack-omemo is licensed under the Apache license like the rest of the smack project.
smack-omemo-signal on the other hand is licensed under the GPLv3.
Due to the fact, that smack-omemo is not of much use without smack-omemo-signal,
the OMEMO feature can currently only be used by GPLv3 compatible software.
This may change in the future, when a more permissively licensed module becomes available.
Fixes SMACK-743.
2017-06-02 13:40:10 +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
Florian Schmaus
5f900d3713
Add PingManager.pingAsync(Jid, long)
...
and SmackFuture API.
2017-05-16 15:53:03 +02:00
Florian Schmaus
ac626f248a
Add TODOs about the removal of deprecated methods
2017-05-16 15:53:03 +02:00
Florian Schmaus
dcf7406fa4
Add UnknownIqRequestReplyMode
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
45edc969c9
Fix NoWhitespaceAfter checkstyle violation
...
in StringUtils.
2017-05-16 15:52:24 +02:00
Florian Schmaus
b51d5070fc
Log LazyStringBuilder instances throwing a NPE
2017-04-19 20:09:32 +02:00
Florian Schmaus
d421b2fa1b
Fix provided SASL DIGEST-MD5 mechanism
...
In case the server provided nonce contained one or more equals
characters ("=") the part.split("=") call would return more then the
expected two key/value parts. Hence we simply use part.split("=", 2).
Also made the unit test check for this case.
Fixes SMACK-755
2017-04-07 19:06:55 +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
8a8c01a4e5
Fix AbstractError.getDescriptiveText()
2017-03-20 16:57:06 +01:00
Fernando Martinez Herrera
4fb1449077
Fix AbstractJidTypeFilter.accept()
2017-03-20 16:56:12 +01:00
Florian Schmaus
08c228ef99
Merge branch '4.2'
2017-03-20 14:57:42 +01:00
Florian Schmaus
3d1cf61caf
Add comment to ScramMechanism.getChannelBindingName()
2017-03-18 17:49:38 +01:00
Florian Schmaus
43715460c6
Fix SASL SCRAM-SHA-1(-PLUS) priority
...
Fixes SMACK-749.
Thanks to Grigory Fedorov for reporting this and to Kim Alvefur for
helping to diagnose the issue.
2017-03-18 17:49:38 +01:00
Florian Schmaus
b6f7d019c7
Use SASLMechanism.toString() in getRegisterdSASLMechanisms()
...
of SASLAuthentication.
2017-03-18 17:49:38 +01:00
Florian Schmaus
762939068b
Add javadoc for SASLMechanism.getPriority()
2017-03-18 17:49:38 +01:00
Florian Schmaus
de783dce73
Add SASLMechanism.toString()
2017-03-18 17:49:38 +01:00
Florian Schmaus
dcac9531e7
Fix SASLAuthentication.getRegisteredSASLMechanisms
...
by using a LinkedHashMap which is insertion-ordered as compared to
HashMap.
2017-03-18 17:48:52 +01:00
Florian Schmaus
3640339073
Fix ConnectionConfiguration.getEnabledSaslMechanisms()
...
in case enabledSaslMechanisms is null, because then unmodifiableSet()
will throw an NPE.
Thanks to Nándor Holozsnyák for reporting.
2017-03-15 21:25:37 +01:00
Florian Schmaus
525feaa161
Add SynchronizationPoint.getFailureException()
2017-03-13 07:37:40 +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
1cc9cec677
Use thread local variables for (Secure)Randoms
2017-03-10 17:55:07 +01:00
Florian Schmaus
09b6608a3a
Fix and improve the HTTP File Upload implementation
...
Fix a few resource leaks. Improve the API and add an integration
test. Also add compability layer for XEP-0363: HTTP File Upload 0.2.
SMACK-747
2017-03-10 17:54:29 +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
52a52e12d2
Make Body and Subject implement ExtensionElement
2017-03-07 08:53:31 +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
ffe9397e66
Fix SASLMechanism.compareTo(SASLMechanism)
...
Thanks to Aleksander Melnichnikov for pointing this out.
2017-02-02 16:08:37 +01:00
Florian Schmaus
872b254db5
sendStanzaWithResponseCallback: Ensure exactly one callback is called
2017-01-30 21:01:56 +01:00
Florian Schmaus
b142060f9e
sendStanzaWithResponseCallback(): remove listener right away
...
I'm not sure why i've put the removeAsyncStanzaListener() call into
the finally block. If callback.processStanza(Stanza) takes a long
time (or even blocks), then it would appear to the "no response"
handling Runnable as if there was no response, when in fact there was
one.
2017-01-30 17:09:30 +01:00
Florian Schmaus
5d0dd49e61
Introduce ToMatchesFilter
...
and refactor the FromMatchesFilter into AbstractFromToMatchesFilter.
2017-01-29 11:08:16 +01:00
Florian Schmaus
51378aebee
Revert "Throw exception if stanza child contains text"
...
This reverts commit eb9242768c
.
Turns out, that there is in fact not such restriction in the
RFCs (only for <subject/>, <body/> and the a few others).
2017-01-24 22:47:16 +01:00
Florian Schmaus
62d903171f
Remove NOP from FromMatchesFilter
2017-01-24 22:46:00 +01:00
Florian Schmaus
2ac0fc72ba
Handle NameNotFoundException in smack-resolver-javax
2017-01-24 20:14:01 +01:00
Florian Schmaus
1bcb5a2d1a
Also check that srvRecords is not empty
2017-01-24 20:13:40 +01:00
Florian Schmaus
9526926cd3
Log message about missing SRV RRs
2017-01-24 20:13:26 +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
4377e39b5f
Add javadoc about client set resourceparts
2017-01-20 12:24:26 +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
f31cc6e043
Fix IllegalArgumentException on DNS lookup if XMPP domain is wrong
...
Fixes the following exception thrown if the user had entered a non-existend XMPP domain:
java.lang.IllegalArgumentException: Must provide at least one InetAddress
at org.jivesoftware.smack.util.dns.HostAddress.<init>(HostAddress.java:55)
at org.jivesoftware.smack.util.dns.DNSResolver.lookupHostAddress(DNSResolver.java: 56)
at org.jivesoftware.smack.util.DNSUtil.resolveDomain(DNSUtil.java:209)
at org.jivesoftware.smack.util.DNSUtil.resolveXMPPServiceDomain(DNSUtil.java:136)
at org.jivesoftware.smack.AbstractXMPPConnection.populateHostAddresses(AbstractXMP PConnection.java:626)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectUsingConfiguration(XMPPTCPC onnection.java:556)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.connectInternal(XMPPTCPConnection. java:888)
at org.jivesoftware.smack.AbstractXMPPConnection.connect(AbstractXMPPConnection.ja va:377)
Thanks to Grigory Fedorov for reporting.
2017-01-12 13:39:11 +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
b0fef6ffcb
Ensure that populateHostAddressees() doesn't return a list with 'null'
...
Thanks to Grigory Fedorov for reporting this.
2017-01-09 19:36:21 +01:00
Florian Schmaus
bfc14227ca
Propagate stream errors on connect/login to the caller
...
Before this, if there was a stream error response by the server to our
stream open, that error response would only be handled in the reader
thread, and the user would get a message like:
"org.jivesoftware.smack.SmackException$NoResponseException: No
response received within reply timeout. Timeout was
5000ms (~5s). While waiting for SASL mechanisms stream feature from
server"
while the server may actually sent something like
<stream:stream
xmlns='jabber:client'
xmlns:stream='http://etherx.jabber.org/streams '
id='6785787028201586334'
from='jabbim.com'
version='1.0'
xml:lang='en'>
<stream:error>
<policy-violation xmlns='urn:ietf:params:xml:ns:xmpp-streams'>
</policy-violation>
<text xml:lang='en' xmlns='urn:ietf:params:xml:ns:xmpp-streams'>
Too many (2) failed authentications from this IP
address (1xx.66.xx.xxx). The address will be unblocked at 04:24:00
06.01.2017 UTC
</text>
</stream:error>
</stream:stream>
It was necessary to change saslFeatureReceived from SmackException to
XMPPException in order to return the StreamErrorException at this sync
point. But this change in return required the introduction of a
tlsHandled sync point for SmackException (which just acts as a wrapper
for the various exception types that could occurn when establishing
TLS). The tlsHandled sync point is marked successful even if no TLS
was established in case none was required and/or if not supported by
the server.
2017-01-07 10:38:41 +01:00
Florian Schmaus
24bbe63da1
Minor code improvements in DNSutil
2017-01-06 14:49:12 +01:00
Florian Schmaus
96aad6a4aa
Add TODOs about when to remove deprecated methods
2017-01-04 16:00:53 +01:00
Florian Schmaus
e9bbe9a475
Fix OOB exception when setHostAddress(InetAddress) is used.
...
Caused by: java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.charAt(String.java:658)
at org.jivesoftware.smack.util.dns.HostAddress.<init>(HostAddress.java:48)
at org.jivesoftware.smack.util.dns.HostAddress.<init>(HostAddress.java:62)
2017-01-04 15:35:47 +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
70e860fe27
Add SmackConfiguration.addDisabledSmackClasses(String...)
2017-01-03 11:00:05 +01:00
Florian Schmaus
183c605278
Bump JXMPP to 0.5.0
2017-01-02 09:40:46 +01:00
Florian Schmaus
f633313c4a
Add Message.setBody(CharSequence)
2017-01-02 00:47:25 +01:00
Florian Schmaus
3129165a1c
Add ConnectionConfiguration.setHostAddress(InetAddress)
...
In previous Smack versions, it was possible to set the host's IP
address via setHost(String), this is no longer possible (since the
support for DNSSEC was introduced). The new
setHostAddress(InetAddress) allows it again to explicitly specifiy the
XMPP service's host IP.
2016-12-28 23:18:28 +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
8511a9e67b
Fix deadline check
...
The pattern
if (now > deadline) break;
wait(deadline - now);
is insufficient in case "now == deadline" because the result would be
wait() being called with 0, which would mean "wait until
notified". Thus, the timeout would become infinite.
2016-12-19 16:29:16 +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
9d0d8088f4
Don't throw when calling UnparsedIQ.toXML()
...
this causes the debugger to terminate if an unparsed IQ is shown.
2016-11-24 10:38:19 +01:00
Florian Schmaus
1f1bc236fd
Ads support for SCRAM-SHA-1-PLUS
...
Related to SMACK-398.
2016-11-20 19:34:17 +01:00
Florian Schmaus
44744de003
Prepare SASL SCRAM API for other hash functions
2016-11-20 15:28:02 +01:00
Florian Schmaus
e71d159b96
Smack 4.1.9
...
-----BEGIN PGP SIGNATURE-----
iQF8BAABCgBmBQJYMZ8OXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ5Nzc1MDU5RjNBMjFEQ0UxNkJFNEZCQUUy
MjM5QTdFOEY1ODUyMDUyAAoJECI5p+j1hSBSK88H/0L0gxM9Pb4Eki4KLi0iUuMy
QtP0L7r4uLkZxgmOx7pmkY84jIRhkO2zQYubdK4qBzcGzQapHU5J6wOy/HCVVgp7
Roys1krA3hT0sNL+jnDvsnGU1nc5eb4TftP6ie9mm2Io0nYLoMrWfgxK7FN3xUj/
3tQn3cpkH5yIWHkaokXS45BHQEXm+uy7gvV/yqcjziyopKnsbvERLudQzFLBz+0w
z/vljq0W0k22nrLc8syaLhgmY7uyeksqmPXC0EctMgI6HxuJyaFFwtZbATnyzfpk
1+45QcoSkgw/2u03gZPThj/Pk0nV5h1feKYw/ZUx3VWd4UCd5cjM2on4zzWEro0=
=OkN/
-----END PGP SIGNATURE-----
Merge tag '4.1.9'
Smack 4.1.9
2016-11-20 14:53:44 +01:00
Florian Schmaus
eb9242768c
Throw exception if stanza child contains text
2016-11-15 22:41:24 +01:00
Florian Schmaus
5a47f56cd0
Call shutdown() before throwing
...
Follow up on a9d5cd4a61
/
059ee99ba0
(SMACK-739).
2016-11-15 07:20:58 +01:00
Florian Schmaus
059ee99ba0
Move TLS Required check at the end of connect()
...
It was a *very* bad idea to perform the SecurityMode.Required check in
the connection's reader thread and not at the end of
AbstractXMPPConnectin's connect(). :/
This behavior dates back to 8e750912a7
Fixes SMACK-739
2016-11-14 20:31:13 +01:00
Florian Schmaus
a9d5cd4a61
Move TLS Required check at the end of connect()
...
It was a *very* bad idea to perform the SecurityMode.Required check in
the connection's reader thread and not at the end of
AbstractXMPPConnectin's connect(). :/
This behavior dates back to 8e750912a7
Fixes SMACK-739
2016-11-12 11:59:06 +01:00
Florian Schmaus
013f4d630a
Move duplicate code in AbstractXMPPConnection
...
from XMPP(TCP|BOSH)Connection.
2016-11-12 11:03:44 +01:00
Florian Schmaus
6cf3ad32f9
Remove unnecessary semicolon in StringUtils
2016-11-06 11:14:19 +01:00
Florian Schmaus
5a2326a856
Add convinient constructors for Message and Presence
2016-10-31 12:24:03 +01:00
Dmitry Deshevoy
267fc431e5
Fix typo in TLSUtils
2016-10-31 10:50:34 +01:00
Florian Schmaus
a1630d033e
Add support for DNSSEC/DANE
...
This closes the cycle which started with a GSOC 2015 project under the
umbrella of the XSF adding DNSSEC/DANE support to MiniDNS.
Fixes SMACK-366.
2016-10-31 10:45:38 +01:00
Florian Schmaus
6e04a9d0ff
Use 24h timestamp in debuggers.
2016-10-20 17:44:23 +02:00
Florian Schmaus
fca2f59e08
Fix SCRAM-SHA1 mechanism creating invalid c-nonce
...
Because of the condition "c >= 32", Smack would possible return a
c-nonce containing ASCII whitespace characters (32d, 0x20), which are
not allowed in the c-nonce as per RFC 5802.
This commit applies the correct condition: "c > 32".
Fixes SMACK-735.
2016-10-20 17:00:52 +02:00
Andrey Prokopenko
2b83decc89
Handle success SASL messages containing equals sign
...
More strict conformance to RFC 6120 § 6.4.6, correctly handle
success SASL message which consists of a single equals sign.
Fixes SMACK-737.
2016-08-31 22:28:00 +02:00
Florian Schmaus
0e72213760
Add ConnectionConfiguration.setXmppDomain(String)
...
for easier usage and so so that the examples actually work. :)
Also some javadoc improvements.
2016-08-09 17:47:09 +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
e04697d349
Improve Collector javadoc
2016-08-03 19:12:24 +02:00
Florian Schmaus
4d7e4b2ab1
Add Message(String, String) constructor
...
to make simply Smack examples work, e.g.
Message message = new Message("user@example.org", "Hi, how are you?");
2016-07-24 21:21:21 +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
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
d3cc9d12a0
Implement flexible port selection in Socks5ClientTest
2016-07-08 08:07:37 +02:00
Florian Schmaus
45b04800a4
Handle AlreadyConnectedException in ReconnectionManager
...
Fixes SMACK-725.
2016-07-04 08:27:18 +02:00
Florian Schmaus
e943bbbd91
Handle AlreadyLoggedInException in ReconnectionManager
...
Fixes SMACK-725.
2016-07-04 08:27:06 +02:00
Florian Schmaus
1f87185ee8
Do not base64 twice in SASL X-OAUTH2
...
Fixes SMACK-722.
2016-07-04 08:25:01 +02:00
Florian Schmaus
17c9661283
Handle AlreadyLoggedInException in ReconnectionManager
...
Fixes SMACK-725.
2016-07-01 08:18:56 +02:00
Florian Schmaus
ac5d9d56c6
Do not base64 twice in SASL X-OAUTH2
...
Fixes SMACK-722.
2016-06-01 13:10:11 +02:00
Florian Schmaus
86e11e69e8
Add Message.toString() providing a short description
2016-05-25 22:58:34 +02:00
Florian Schmaus
98ec77caee
Use Message in FromMatchesFilterTest
2016-05-25 22:58:34 +02:00
Florian Schmaus
2bf6435881
Make Bind IQ constructor private
2016-05-25 22:58:34 +02:00
Florian Schmaus
03031dfb5d
Add javadoc to SASLError
2016-05-22 22:55:28 +02:00
Florian Schmaus
f4ce4b6e77
Add @see RFC for Presence's priority element
2016-05-21 12:44:13 +02:00
Florian Schmaus
fa10a01831
Fix Presence.setPriority(int): Range is [-128,127]
...
Thanks to Guus der Kinderen for reporting this.
2016-05-21 12:44:13 +02:00
Florian Schmaus
4c63cfafd7
Rework support for Proxy connections
...
in order to improve support for Tor connections.
This makes it possible to establish a connection to an .onion domain by
manually setting host and port in the ConnectionConfiguration and
configuring a Socks5Proxy pointing to a Tor node.
Fixes SMACK-720.
2016-05-10 18:57:04 +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
58d9f4e749
Use Locale.US in XMPPError.Type ↔ String conversion
...
Fixes SMACK-719
2016-04-12 15:05:56 +02:00
Florian Schmaus
8235e8417d
Use simple name in StanzaTypeFilter
2016-04-12 15:05:56 +02:00
rohanag12
d69265774b
Update DefaultExtensionElement.java
...
Removed duplicate word from description
2016-01-30 12:44:43 +05:30
Andrey Starodubtsev
35ba917728
Fix a couple of javadoc warnings
2016-01-18 22:08:43 +01:00
Florian Schmaus
23201d5f0f
Improve logging of failed presence extensions
...
Don't log the exception for now because the stack trace makes to much
noise in the log output. This is mostly caused by Googles outdated
Entity Capabilities implementation.
2016-01-18 22:08:23 +01:00
Florian Schmaus
e6a9027cc6
Improve StringUtils.escapeForXml()
2016-01-18 22:04:20 +01:00
Florian Schmaus
2539c10246
Fix javadoc of ConnectionException
...
Related to SMACK-711.
2016-01-10 19:38:29 +01:00
Florian Schmaus
ac0c05be04
StringUtils: Make randGen and numbersAndLetters final
2016-01-10 18:34:54 +01:00
Florian Schmaus
7a8d66e9e6
Improve logging of failed connection attempts
...
also improve XMPPTCPConnection.connectUsingConfiguration(): Try further
hostAddresses if getAllByName failes.
Fixes SMACK-711
2016-01-10 18:34:54 +01:00
Florian Schmaus
658a671cbe
Make StringUtils.randomString(int) use SecureRandom
2016-01-10 18:21:46 +01:00
Florian Schmaus
f79a7d9d5f
Fix javadoc warnings
2015-12-19 13:30:15 +01:00
Florian Schmaus
45feaecdf7
Make XMPPError imutable and add stanza reference
2015-12-09 10:48:52 +01:00
damencho
035bbea837
Reply with service-unavailable for unhandled IQ requests
...
instead of feature-not-implemented.
Changes to send service-unavailable for not handled iq as said in
RFC6120 § 8.4: https://tools.ietf.org/html/rfc6120#page-128
"""
o If an intended recipient receives an IQ stanza of type "get" or
"set" containing a child element qualified by a namespace it does
not understand, then the entity MUST return an IQ stanza of type
"error" with an error condition of <service-unavailable/>.
"""
2015-12-06 17:09:47 +01:00
Florian Schmaus
3c2dd9b9e6
Improve javadoc of getIQChildElementBuilder()
2015-11-24 10:58:41 +01:00
Florian Schmaus
8dcb3c11ff
Smack 4.1.5
...
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v2
iQF8BAABCgBmBQJWUjTuXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQxMzU3QjAxODY1QjI1MDNDMTg0NTNEMjA4
Q0FDMkE5Njc4NTQ4RTM1AAoJEIysKpZ4VI41zp8H/iRB0CtFvxVBFwRpP2HB0Iyc
VzdxJTVXgJ7s8V3Us2Gmm0chUvs1wybshIdZ090NX7huZ4F1rWrOP7qt9S4soKgX
LNdKTKTTNJ61jktLkG1HjA8yJr1Zu+XFK10Ne8997N9TnhbcVYAhsuTb8SRE8dlE
G1Qihe2guJCCnWJhz9bsCXyAFt/fM5rSb/sgs/kXkE1W5bYeMHpFMvqMfab8NPBP
fkt/NSxfqLfrRJneynnSwGSvRitDxpfRCcxLktTdDO31eryayIyiQIhaUhFYIGJQ
tKx0/7HdCkgdUueBdtoQ/O02rjJ+kYqN2F3CErcIbB//3R6WKNF61XzOY81egYc=
=dklO
-----END PGP SIGNATURE-----
Merge tag '4.1.5'
Smack 4.1.5
2015-11-22 23:14:02 +01:00
Florian Schmaus
81fb1ed93c
Make executorService blocking in AbstractXMPPConnection
...
Otherwise AbstractXMPPConnection.processPacket() will throw a
RejectedExecutionException if the underlying queue is full.
Fixes SMACK-702.
2015-11-21 17:31:39 +01:00
Florian Schmaus
227ef2c5ae
Add StandardExtensionElement
...
replaces DefaultExtensionElement which is now deprecated.
Also changes Stanza (and MultiMap) API so that there can be duplicate extension
elements, as this change is required for StandardExtensionElement and by
the XMPP standard.
2015-10-19 08:21:42 +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
e9f7710759
Fix spelling in ConnectionConfiguration
2015-09-27 23:12:18 +02:00
Florian Schmaus
e1f09032d9
Fix javadoc link in ConnectionConfiguration.Builder
2015-09-27 23:11:56 +02:00
Florian Schmaus
9c694a0a75
Code cleanup: Fix some warnings
2015-09-24 12:59:17 +02:00
Dave Cridland
9c772add93
SASL Proxy Auth support
...
This adds the ability to provide a distinct authorization identifier for use
by SASL mechanisms. Not all SASL mechanisms support this operation, in
particular CRAM-MD5.
Both the javax and provided SASL implementations are extended, and an authzid
parameter added to the authenticate method.
The authorization identifier is passed as a EntityBareJid in order to assure the
correct form.
Resolves SMACK-677.
Minor-Modifications-By: Florian Schmaus <flo@geekplace.eu>
2015-09-21 20:39:23 +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
b1e4884fbb
Remove erroneous next() from AbstractJsonExtensionProvider
...
Fixes SMACK-695.
2015-08-24 11:09:59 +02:00
Florian Schmaus
33e5c37af8
Refactor PEP to use PubSub API.
...
Fixes SMACK-416.
2015-08-17 12:45:23 +02:00
Florian Schmaus
9884eee85d
Provide a hint in NotConnectedException
...
that connect() needs to be called prior login().
SMACK-686
2015-07-29 08:20:46 +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
7032688123
Rework Proxy API
...
Instead of extending SocketFactory, the proxy support classes now
implement ProxySocketConnection. This removes a lot of unnecessary
code.
Also re-enables proxy support, which was broken in previous versions
because none of extended SocketFactories did override
createSocket() (SMACK-683).
2015-07-17 08:50:19 +02:00
Florian Schmaus
46f9b9ab39
Improve StringUtils.escapeForXML()
...
use CharSequence as input.
2015-07-15 19:56:46 +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
710948c8f7
Add support for XEP-360: Nonzas
...
SMACK-682
2015-07-14 22:43:58 +02:00
Florian Schmaus
734695c80e
Improve StringUtils.collectionToString()
...
Use generics, and iterator and append(char) instead of append(String).
2015-07-14 13:40:23 +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
e6a403fb1c
Re-escape XML text in parseContentDepth()
...
SMACK-680.
2015-07-02 16:10:50 +02:00
Florian Schmaus
9ea5c0a2ce
"Smackify" HOXT code: Use Smack programming idioms
2015-07-01 13:39:04 +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
65788389ea
Reset ReconnectionManager's 'attempts' to 0
...
on successful reconnects. Fixes SMACK-668.
2015-06-27 14:25:19 +02:00
Florian Schmaus
a997283304
Make AbstractXMPPConnection.getConfiguration public
2015-06-26 14:04:46 +02:00
Florian Schmaus
989076a166
Make synchronization point return the exception
...
instead of a boolean value.
2015-06-13 19:26:57 +02:00
Florian Schmaus
13224a9662
More information in closed on error log
2015-06-09 22:25:19 +02:00
Florian Schmaus
a85ba5311e
Add more information to NotConnectedException
2015-06-09 22:16:01 +02:00
Florian Schmaus
bad52fad21
Deprecate setServiceName in favor of setXmppDomain
2015-06-08 14:42:05 +02:00
Florian Schmaus
4a857fe67a
Assert that a Stanza is a Stanza in sendStanza
2015-06-06 11:16:12 +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
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
8840236b72
Gracefully disconnect XMPPTCPConnection
...
That is, wait with a timeout for a closing stream element if we have
sent a closing stream element to the server. See RFC 6120 § 4.4.
Fixes SMACK-633.
2015-05-27 17:36:04 +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
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
c120bc1cbc
Handle empty array in SASLMechanism.authenticate()
...
like null array.
Thanks to Anthony Sorvari for reporting.
Fixes SMACK-670.
2015-05-22 08:24:54 +02:00
Florian Schmaus
8db0403138
Improve writing XML elements to socket
...
Instead of allocating one big continuous memory block before "writing"
the XMPP stream element to the socket, write the single CharSequences of
LazyStringBuilder/XmlStringBuilder.
Also change Obserable writer to only notify the listeners after a
flush *or* if a certain limit has been reached since the last
notification. Otherwise the debugger would "print" every single XML part
as result of this change.
2015-05-21 22:41:21 +02:00
Florian Schmaus
3c2ba0ec43
Add AbstractXMPPConnection.getUsedSaslMechanism()
...
and improve isAnonymous(). Also some minor changes to
SASLAuthentication.
2015-05-19 09:26:59 +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
0c8199650b
Improve parsing exception callback.
...
Fixes SMACK-631.
2015-05-18 12:38:25 +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
36cc05a507
Use Resourcepart as type for the resource
2015-05-04 20:53:00 +02:00
Florian Schmaus
9354e4fb74
Rework and improve authentication API and internals
...
Add
- performSaslAnonymousAuthentication()
- performSaslExternalAuthentication(SSLContext)
- addEnabledSaslMechanism(String)
- addEnabledSaslMechanisms(Collection<String>)
to ConnectionConfiguration.Builder.
Instead of providing a special API call for anonymous authentication,
Smack now has a configuration builder method to set anonymous/external
authentication. This also removes a lot of duplicate code within
Smack.
Also move SASLAnonymous into o.j.smack.sasl.core.
Fixes SMACK-629.
2015-05-03 22:00:41 +02:00
Florian Schmaus
4eb322608e
Add ConnectionConfiguration.setProxyInfo(ProxyInfo)
...
Fixes SMACK-661.
2015-04-27 17:51:18 +02:00
Florian Schmaus
a4be67ff5d
Fix ReconnectionManager RANDOM_INCREASING_DELAY policy
...
which was using the same value. Fixes SMACK-660.
2015-04-27 17:35:00 +02:00
Florian Schmaus
f579fb2c77
Throw exception if smack-java7 is loaded on Android
2015-04-25 22:53:46 +02:00
Florian Schmaus
17103def0b
Change SmackExecutorthreadFactory constructor parameter to XMPPConnection
2015-04-22 09:45:02 +02:00
Florian Schmaus
7c3f4b7129
Add AbstractXMPPConnection.toString()
2015-04-22 09:28:30 +02:00
Florian Schmaus
189f524195
Make SynchronizationPoint interruptible
...
SMACK-632
2015-04-12 18:33:43 +02:00
Florian Schmaus
4a16ab9329
Merge branch '4.1'
...
Conflicts:
version.gradle
2015-04-12 18:32:55 +02:00
Florian Schmaus
1eb315d6b7
Add Manager.getAuthenticatedConnectionOrThrow()
2015-04-09 19:00:03 +02:00
Florian Schmaus
9a69f992c4
Deprecate SynchronizationPoint.reportFailure()
...
assert and document that an exception must be set when calling
reportFailure(E).
2015-04-07 08:52:48 +02:00
Florian Schmaus
cca34fd872
First check condition, then remaining wait in SynchronizationPoint
...
as otherwhise SynchronizationPoint may report NoResponseException when
there was in fact a success or failure reported in case there are
multiple threads waiting for the condition.
2015-04-07 08:51:03 +02:00
Florian Schmaus
83aa6838d9
Use signalAll in SynchronizationPoint
...
to prevent a thread from not being notified about a change of the state
of the SynchronizationPoint.
If two threads are waiting for a change, which could happen e.g. because
of a connectivity change and one thread does instantShutdown() while the
other handles connectionClosedOnError(), then only one thread, usually
the one handling connectionClosedOnError(), would be notified and
resumed.
Fixes SMACK-652.
2015-04-07 08:51:03 +02:00
Florian Schmaus
57fa631480
Add javadoc to SynchronizationPoint
2015-04-07 08:50:52 +02:00
Florian Schmaus
6c637d5784
Don't automatically login() on connect()
...
if the connection was authenticated before.
Fixes SMACK-647.
2015-04-06 13:51:47 +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
stawny
9d0ea3cf70
Resurrect integration tests: Chat Test
2015-04-04 17:19:31 +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
5272680d47
Add XmlStringBuilder API for Date
...
Fixes XEP-0080 GeoLoc timestamp element formating
2015-03-30 20:56:36 +02:00
Florian Schmaus
64d134052d
Enable javadoc checkstyle
...
and fix violations.
2015-03-29 12:29:32 +02:00
Florian Schmaus
72f41e20b1
Don't rethrow RuntimeExceptions in parseAndProcessStanza
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
40a2a28ebe
Enable -Werror and add XmppHostnameVerifier
...
We now treat warnings as errors (-Werror).
In order to do so, it was necessary to remove Java7HostnameVerifier
since it depended on internal properietary API. XmppHostnameVerifier
take the place of it.
2015-03-23 14:20:03 +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
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
f410ece468
Call connection created listeners in constructor
...
Fixes SMACK-638.
2015-03-19 08:21:47 +01:00
Florian Schmaus
5188c6f934
Add checkstyle check for space(s) after tab(s)
2015-03-18 21:51:25 +01:00
lucastucchi
a7616f2a03
Add the possibility to choose reconnection policy
...
Until now the reconnection used a fixed policy using random
increasing delay as the number of attempts grows. Even if
that policy is still the default one, it is now possible to
select a fixed delay policy that always waits a fixed amount
of time before trying to reconnect
2015-03-18 21:16:32 +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
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
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
e85c1881d7
Add TypedCloneable
2015-03-10 22:50: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
9c5b7d263e
Include conditionText in XMPPError.toXML()
2015-03-06 09:10:49 +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
18d9be0099
Add CapsExtensionProviderTest
2015-03-04 13:08:35 +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
21c0be5e2a
Fixed AbstractXMPPConnection.cachedExecutorService
...
the combination with concurrencyLevel and LinkedBlockingQueue never
worked as intented. The idea was that the cachedExecutorService would
spawn new threads until maximumPoolSize (=concurrencyLevel) is reached,
and then start queing the Runnables.
But this was not the case, since ThreadPoolExecutor does not take into
consideration if the worker threads is busy, i.e. executing a Runnable,
or idle, i.e. waiting for a Runnable.
This means that if a busy Worker would execute a Runnable, which would
block, because it's waiting for an event (e.g. an incoming IQ
request), then the handling of those incoming IQ request would be
queued by ThreadPoolExecutor, because no fewer threads then corePoolSize
are running and the task can be queued (since the LinkedBlockingQueue is
unbounded).
2015-03-02 15:50:13 +01:00
Florian Schmaus
caa7b9acb8
Improve message of StreamErrorException
2015-03-02 15:50:12 +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
49e1c837b2
Adjust AbstractListFilter.toString()
...
to produce a similar styled output like the other toString() methods and
add unit-test for the method.
2015-02-26 08:47:43 +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
39382b8b38
Shorten Smack's executor service names
...
instead of
"Smack Executor - Foo 42 (2)"
use
"Smack-Foo 42 (2)"
since sometimes the space for the name is limited (e.g. busybox's 'ps
-t').
2015-02-25 16:09:41 +01:00
Florian Schmaus
e9dd3e2fa6
Add copy constructor to Message and Presence
...
and also implement Cloneable and add clone() methods.
2015-02-23 22:15:59 +01:00
Florian Schmaus
afba123ba3
Javadoc improvements in MultiMap and Stanza
2015-02-23 10:49:33 +01:00
Florian Schmaus
b74b8c5757
Make Stanza constructors 'protected'
2015-02-23 10:48:43 +01:00
Florian Schmaus
180a3bb4ca
Fix SASL X-OAUTH2: Use Base64.encode() instead of decode()
2015-02-23 08:49:30 +01:00
Florian Schmaus
8b0ccd7420
Minor javadoc fixes and improvements
2015-02-22 10:41:53 +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
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
5bb4727c57
Use Jid (and subclasses) from jxmpp-jid
...
Fixes SMACK-634
2015-02-17 16:07:16 +01:00
Florian Schmaus
b910d026cd
Remove toString form XMPPException subclasses
...
and getMessage(), to use the implementations in Exception instead.
2015-02-16 14:51:37 +01:00
Florian Schmaus
0ee2d9ed1e
Remove deprecated Packet class
2015-02-14 16:21:26 +01:00
Florian Schmaus
bc61527bd2
Expose InterruptedException
...
SMACK-632
2015-02-14 14:57:33 +01:00
Florian Schmaus
26f4528698
Rename SecurityMode.enabled to 'ifpossible'
...
Using the term 'enabled' was a terriable choice from a security
perspective, as it gives the user the impression that the security is
"enabled". In fact this setting is only slightly better then
"disabled".
Make that fact clear in the javadoc too.
2015-02-13 17:01:09 +01:00
Florian Schmaus
0d19b56fbb
Support all primitive types in IntrospectionProvider
...
Fixes SMACK-453
2015-02-12 14:01:01 +01:00
Florian Schmaus
90ccd6c40e
Use string switch/case in IntrospectionProvider
2015-02-12 13:36:14 +01:00
Florian Schmaus
57c1b57b7c
s/ a XMPP/ an XMPP/
2015-02-12 12:13:19 +01:00
Florian Schmaus
a927d55bb1
Improve XMPPConnection javadoc
...
It's an interface
State that it does intentionally not declare any state changing
methods (e.g. connect(), disconnect())
2015-02-12 12:09:53 +01:00
Florian Schmaus
2853ec39b4
Fix XMPPConnection javadoc
...
The XMPPConnection interface does not define methods to manipulate the
connection state (e.g. connect(), disconnect()). The example should use
the connection type as declared type.
2015-02-11 17:37:34 +01:00
Florian Schmaus
a0cf121d7a
Make cached executor service use linked blocking queue
...
Since e6045c6593
the cached executor
services maximum pool size is limited to concurrencyLevel (was
previously Integer.MAX_VALUE). In order to prevent
RejectExecutionException we need to use an queue which max size is
greater than 1 (i.e. nont an SynchronousQueue).
Connection closed with error java.util.concurrent.RejectedExecutionException: Task org.jivesoftware.smack.tcp.XMPPTCPConnection$2@41dce200 rejected from java.util.concurrent.ThreadPoolExecutor@41d59150[Running, pool size = 3, active threads = 3, queued tasks = 0, completed tasks = 4]
at java.util.concurrent.ThreadPoolExecutor$AbortPolicy.rejectedExecution(ThreadPoolExecutor.java:2011)
at java.util.concurrent.ThreadPoolExecutor.reject(ThreadPoolExecutor.java:793)
at java.util.concurrent.ThreadPoolExecutor.execute(ThreadPoolExecutor.java:1339)
at org.jivesoftware.smack.AbstractXMPPConnection.asyncGo(AbstractXMPPConnection.java:1583)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.processHandledCount(XMPPTCPConnection.java:1655)
at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$2300(XMPPTCPConnection.java:137)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1083)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$200(XMPPTCPConnection.java:896)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:911)
at java.lang.Thread.run(Thread.java:841)
2015-02-09 07:35:15 +01:00
Florian Schmaus
e0a2441c62
Add Stanza.hasStanzaIdSet()
2015-02-09 07:35:07 +01:00
Florian Schmaus
1190edad0f
Add 'Packet' interface
...
to aid transition to the new 'Stanza' class ('Packet' was renamed to
'Stanza' a few commits before this).
2015-02-06 09:34:58 +01:00
Florian Schmaus
a5beb7bd79
Add Stanza.getExtensions(String,String)
2015-02-06 09:34:58 +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
9fc26f1d83
Use MultiMap for Stanza extension elements
2015-02-05 11:04:38 +01:00
Florian Schmaus
5c16fdb017
Make Presence.getMode() return available if null
2015-02-03 19:32:08 +01:00
Florian Schmaus
4013c68584
Use Objects.requireNonNull() in Presence
...
Also make Objects.requireNonNull() throw NullPointerException to match
the original API behavior.
2015-02-03 19:32:04 +01:00
Florian Schmaus
4a769b0262
Throw IAE in IQReplyFilter if there is no local JID
...
available yet.
2015-01-30 09:37:55 +01:00
Florian Schmaus
5a56ff011b
Add XMPPConnection.getStreamId()
...
and remove getConnectionID().
Also make streamId a field of AbstractXMPPConnection. Most XMPP
connection types have a streamId, it appears to be optional when BOSH
is used though.
2015-01-28 17:14:33 +01:00
Florian Schmaus
37081b2810
Send more information with the stream open tag
2015-01-28 09:31:28 +01:00
Florian Schmaus
ed4d815fba
Make Message.setType(Type) not throw if type is null
...
RFC 6121 § 5.2.2:
"""
If an application receives a message with no 'type' attribute or the
application does not understand the value of the 'type' attribute
provided, it MUST consider the message to be of type "normal" (i.e.,
"normal" is the default).
"""
2015-01-26 20:47:14 +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
7aa784a494
SCRAM-SHA1: Always calculate serverSignature
...
Otherwise we may get an NPE if the key was cached:
Connection closed with error java.lang.NullPointerException: Attempt to get length of null array
at org.jivesoftware.smack.util.stringencoder.Base64.encodeToString(Base64.java:43)
at org.jivesoftware.smack.sasl.core.SCRAMSHA1Mechanism.evaluateChallenge(SCRAMSHA1Mechanism.java:201)
at org.jivesoftware.smack.sasl.SASLMechanism.challengeReceived(SASLMechanism.java:230)
at org.jivesoftware.smack.SASLAuthentication.challengeReceived(SASLAuthentication.java:328)
at org.jivesoftware.smack.SASLAuthentication.authenticated(SASLAuthentication.java:347)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$200(XMPPTCPConnection.java:894)
at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:909)
at java.lang.Thread.run(Thread.java:818)
2015-01-26 07:54:13 +01:00
Florian Schmaus
1407f10f7f
Make connect() return a self-reference
2015-01-26 07:54:13 +01:00
Florian Schmaus
4b10f36e9e
Report failed DNS SRV lookup in ConnectionException
...
instead of just logging a warning if the XMPP domain has no DNS SRV
lookups, create the failedAddresses list now within DNSUtil and add the
information that the SRV lookup failed.
2015-01-26 07:54:12 +01:00
Florian Schmaus
30ec2bd072
Cleanup XMPPTCPConnection, mostly exception handling
...
In initConnection, only initReaderAndWriter() throws IOException.
connectUsingConfiguration doesn't need to take an argument.
PacketReader.init does not throw a SmackException.
Use Async.go() in PacketWriter, just like it's already done in PacketReader.
2015-01-26 07:54:12 +01:00
Florian Schmaus
d9c97fabfb
Make connectUsingConfiguration more robust
...
If 'return' is not reached, then always throw a
ConnectionException.
Also make it clear that populateHostAddresses adds at least one address.
2015-01-26 07:54:11 +01:00
Florian Schmaus
e6045c6593
Add AbstractXMPPConnection.setConcurrencyLevel(int)
...
Also limit the max pool size of the remove callbacks service and use the
same keep alive time for idle threads as the cached executor service
uses.
Note that it would be possible to merge those two. But this could lead
to tasks from the cached executor service blocking the removal of
callbacks, which we don't want.
2015-01-26 07:54:11 +01:00
Florian Schmaus
605c29a6fc
Fix javadox in XMPPConnection
2015-01-26 07:54:11 +01:00
Florian Schmaus
cbb477ebeb
Add AbstractXMPPConnection.setReplyToUnkownIq(boolean)
...
and some javadoc related to IQ request handlers.
2015-01-26 07:54:11 +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
e722018808
Improve IQ.Type javadoc
2015-01-21 23:48:46 +01:00