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
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
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
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
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
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
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
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
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
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
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
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