Florian Schmaus
68d7d738b6
Remove all tabs and add checkstyle rule that enforces no-tabs
...
Fixes SMACK-866.
2019-05-07 21:24:00 +02:00
Florian Schmaus
505493d889
Add XmlStringBuilder.optAttribute(String, Number)
2019-05-07 10:18:55 +02:00
Florian Schmaus
4133eb175c
Replace XPP3 by XmlPullParser interface wrapping StAX and XPP3
...
Introducing Smack's own XmlPullParser interface which tries to stay as
compatible as possible to XPP3. The interface is used to either wrap
StAX's XMLStreamReader if Smack is used on Java SE, and XPP3's
XmlPullParser if Smack is used on on Android.
Fixes SMACK-591.
Also introduce JUnit 5 and non-strict javadoc projects.
2019-05-06 22:10:50 +02:00
Florian Schmaus
474ea68d4a
Remove unused method in Smack's Base64 API
2019-04-09 10:56:47 +02:00
Florian Schmaus
62fd897cf7
Add support for XEP-0418: DNS Queries over XMPP (DoX)
...
Fixes SMACK-862.
2019-04-09 10:56:47 +02:00
Florian Schmaus
1122bf394c
Add ExceptionUtil
2019-04-09 09:33:32 +02:00
Florian Schmaus
7d5274dad1
Use java.util.Base64 and remove build-in Base64 API
2019-04-09 09:33:32 +02:00
Florian Schmaus
89c0fa4b99
Let StringUtils.(insecure)randomString() return empty string
...
in case length is zero. Also do throw a NegativeArraySizeException if
length is negative instead of returning null.
This fixes the following sporadic test issue:
org.jivesoftware.smackx.ox.PainlessOpenPgpProviderTest > encryptDecryptTest FAILED
java.lang.AssertionError
at org.jivesoftware.smack.util.XmlStringBuilder.escape(XmlStringBuilder.java:425)
at org.jivesoftware.smackx.ox.element.EncryptedOpenPgpContentElement.addCommonXml(EncryptedOpenPgpContentElement.java:65)
at org.jivesoftware.smackx.ox.element.CryptElement.toXML(CryptElement.java:51)
at org.jivesoftware.smackx.ox.element.CryptElement.toXML(CryptElement.java:31)
at org.jivesoftware.smack.packet.Element.toXML(Element.java:41)
at org.jivesoftware.smackx.ox.element.OpenPgpContentElement.toInputStream(OpenPgpContentElement.java:186)
at org.jivesoftware.smackx.ox.crypto.PainlessOpenPgpProvider.encrypt(PainlessOpenPgpProvider.java:136)
at org.jivesoftware.smackx.ox.PainlessOpenPgpProviderTest.encryptDecryptTest(PainlessOpenPgpProviderTest.java:155)
because EncryptedOpenPgpContentElement rpad field was sometimes
'null' in case the random function returned '0' as length.
2019-03-25 18:58:58 +01:00
Florian Schmaus
14f288a763
Introduce RandomUtil
...
and use it in EncryptedOpenPgpContentElement
2019-03-25 18:58:58 +01:00
Florian Schmaus
488e20476e
Improve message of StressTestFailedException.NotAllMessagesReceivedException
2019-02-17 21:47:16 +01:00
Florian Schmaus
b3ed9bc29f
Add BooleansUtils
2019-02-17 18:21:57 +01:00
Florian Schmaus
8df69bd3ce
Use XmlEnvironment in parsing/provider subsystem
2019-02-15 23:21:30 +01:00
Florian Schmaus
7dee3b88a2
Introduce SmackParsingException
2019-02-10 19:01:47 +01:00
Florian Schmaus
083dac8b83
Rework exceptions in the parsing / provider subsystem
2019-02-05 13:18:03 +01:00
Florian Schmaus
fee3ed81ca
Introduce XmlEnvironment
2019-02-05 13:18:03 +01:00
Florian Schmaus
5705f18f58
Remove SmackDaneVerifier.finish(SSLSocket)
2019-02-05 13:18:03 +01:00
Florian Schmaus
658fd08d20
Use try-with-resources where possible
...
and make StanzaCollector implement AutoCloseable.
2019-02-05 13:18:03 +01:00
Florian Schmaus
e98d42790a
SmackReactor/NIO, Java8/Android19, Pretty print XML, FSM connections
...
This commit adds
- SmackReactor / NIO
- a framework for finite state machine connections
- support for Java 8
- pretty printed XML debug output
It also
- reworks the integration test framework
- raises the minimum Android API level to 19
- introduces XmppNioTcpConnection
Furthermore fixes SMACK-801 (at least partly). Java 8 language
features are available, but not all runtime library methods. For that
we would need to raise the Android API level to 24 or higher.
2019-02-05 13:18:03 +01:00
Florian Schmaus
62a0c6f26e
Merge branch '4.3'
2018-11-29 22:39:55 +01:00
Florian Schmaus
7ea7f9e2e9
Add ParserUtils.parseXmlBoolean(String)
2018-11-29 09:02:05 +01:00
Georg Lukas
229653af30
ParserUtils: fix boolean parser
...
How could this even happen?
Signed-off-by: Georg Lukas <georg@op-co.de>
2018-11-28 11:11:52 +01:00
Paul Schaub
9302b08854
Use new BareJidEncoder class in FileBasedOmemoStore
2018-11-07 18:17:25 +01:00
Florian Schmaus
00ce194109
Use Enum.toString() instead of Enum.name() in XmlStringBuilder.optElement()
2018-10-19 11:12:57 +02:00
Florian Schmaus
ab120691cb
Smack 4.3.1
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlvDIBdfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFKObAgApvEwstvSXhgzlrA46DM6fXezbPEnO1rh8rCPJEAsmfBSnyINSuuhelzw
zN8L7GAU0jDeuDivxA12vQx5QB8wuCHKgc5pXDKNRi9eUdsyDUMKswcbMMAJWDvq
I3bm7TOC1D9ZWmfhGmqfulrsVD1Q0wh+P2A1/CWVR5ZZUB5S4fESFZUrnCfJmeXe
f+INXUiui3otAF6nPxKm782rSfHWvA32i4Obnagh3oPX/c9R7Ftb78Wukrsbaqfg
+a5iTlBJXLG75/Yozq+JqmWlUvEKv7le0vkF5fF+oc76H4p1U1wqQyIMei/Pwaer
H/SyMqLPzCiwpUHiunpWD13e5kkeLw==
=47on
-----END PGP SIGNATURE-----
Merge tag '4.3.1'
Smack 4.3.1
2018-10-14 14:31:31 +02:00
Florian Schmaus
cf22371d3e
Catch IllegalArgumentException in XmlUtil clinit
...
Fixes SMACK-833.
2018-10-14 12:10:50 +02:00
Florian Schmaus
b60a772df1
Remove unnecessary getNamespace() call in XmlStringBuilder
2018-10-03 20:09:56 +02:00
Florian Schmaus
09279b8ac0
Add AbstractBlockingQueueWithShutdown.putAll(Collection)
2018-09-11 21:56:45 +02:00
Florian Schmaus
7374caefef
Make StringEncoder generic
2018-08-21 11:09:26 +02:00
Florian Schmaus
fb3009adb2
Add FileUtils.maybeCreateFileWithParentDirectories(File)
2018-08-17 13:00:34 +02:00
Florian Schmaus
a70ae7ab8e
Add FileUtils.maybeDeleteFileOrThrow(File)
2018-08-17 13:00:34 +02:00
Florian Schmaus
3e65cb31c3
Consolidate FileUtils from smack-openpgp into smack-core
2018-08-15 17:36:29 +02:00
Florian Schmaus
a00aa726fe
Introduce CloseableUtil
2018-08-15 17:25:22 +02:00
Florian Schmaus
6fb95d6226
Close stream in FileUtils.addLines()
2018-08-13 16:39:56 +02:00
Paul Schaub
d78733e23a
Remove duplicate FileUtils methods
2018-07-30 16:05:58 +02:00
Paul Schaub
f0af00ee43
XEP-0373, XEP-0374: OpenPGP for XMPP: Instant Messaging
...
Fixes SMACK-826
2018-07-29 18:52:45 +02:00
Paul Schaub
74bebc13e6
requireNotNullOrEmpty -> requireNotNullNorEmpty
2018-07-17 15:10:39 +02:00
Paul Schaub
4afe573a68
Add Objects.requireNonNullOrEmpty
2018-07-17 11:39:51 +02:00
Florian Schmaus
ce4f3352a2
Merge branch '4.3'
2018-06-23 17:18:17 +02:00
Florian Schmaus
23bb5c5625
Add XMPPErrorException.getStanzaError()
...
Also deprecate getXMPPError and let StanzaError implement
ExtensionElement.
2018-06-20 22:17:11 +02:00
Florian Schmaus
c83f6ec9c8
Merge branch '4.3'
2018-06-17 14:10:52 +02:00
Florian Schmaus
37b5260cdd
Fix DNSUtil.setDaneProvider()
...
Fixes SMACK-820.
2018-06-12 19:06:18 +02:00
Florian Schmaus
f290197f6a
Merge branch '4.3'
2018-06-12 15:49:43 +02:00
Florian Schmaus
1edc00b334
Merge remote-tracking branch 'ignite/master'
2018-06-12 15:49:00 +02:00
Florian Schmaus
9e865fe6ab
Merge remote-tracking branch 'ignite/4.3' into 4.3
2018-06-12 13:41:43 +02:00
Florian Schmaus
c792be9267
Add StringUtils.requireNullOrNotEmpty()
2018-06-07 17:55:00 +02:00
Florian Schmaus
414d730962
Optimize XmlStringBuilder.element() for the empty element case
...
For example RSM (XEP-0059) gives <before/> a different semantic as
<before>UID</before>.
2018-06-07 17:15:16 +02:00
Florian Schmaus
8f691e4b1d
Add ArrayBlockingQueueWithShutdown.tryTake()
2018-05-31 17:20:09 +02:00
Florian Schmaus
751c7b0d40
Improve ArrayBlockingQueueWithShutdown.tryPut()
...
to return the internal state when the operation is performed.
2018-05-31 17:19:36 +02:00
Florian Schmaus
a89f3458f2
Merge pull request #239 from vanitasvitae/fileutils
...
Add method to delete directory
2018-05-22 09:40:21 +02:00
Boris Grozev
fd5e86ce5a
fix: Cleans the multiUserChats map.
2018-05-21 14:54:23 -05:00
Paul Schaub
168e9398e3
Add method to delete directory
2018-05-21 12:35:25 +02:00
Paul Schaub
27c77fcb1c
Add utility methods
...
ParserUtils: getShortAttribute
XmlStringBuilder: attribute(String, long), optAttribute(String, Long)
2018-05-20 11:27:52 +02:00
Florian Schmaus
c7697ea9d0
Add ArrayBlockingQueueWithShutdown.tryPut(E)
2018-05-16 07:57:50 +02:00
Florian Schmaus
a22ec4b112
Use java.text.Normalizer for SASLPrep
2018-05-10 20:30:23 +02:00
Florian Schmaus
e8923b9d16
Enable trailing whitespace checkstyle check
...
for all source code regions, including javadoc.
2018-05-09 23:26:39 +02:00
Florian Schmaus
96f75a1857
Fix TODO in PacketParserUtils
2018-05-09 17:13:09 +02:00
Florian Schmaus
0df7734efc
Slightly improve PacketParserUtils.parseSessionFeature()
2018-05-09 17:13:09 +02:00
Florian Schmaus
49417d2e20
Remove deprecated methods in PacketParserUtils
2018-05-09 17:13:09 +02:00
Florian Schmaus
6d76e8a1ae
Remove PacketParserutils.getLanguageAttribute(XmlPullParser)
2018-05-09 17:13:09 +02:00
Florian Schmaus
a9e45475ab
Treat <body/> just like all other extension elements in Message
...
This turned out to be a rather large change.
2018-05-09 17:13:09 +02:00
Florian Schmaus
cd5daa6fd7
Do net set a default language when parsing Message stanzas
...
the fallback is (usually) not needed, as most XMPP XML streams have a default
xml:lang set (See RFC 6120 § 4.7.4.).
2018-05-09 17:13:09 +02:00
Florian Schmaus
ad932caf78
Do not use a reflection based initializer for core elements
...
like Message.Body from smack-core.
2018-05-09 16:45:14 +02:00
Florian Schmaus
09c6a9e2bc
Add Objects.equals(Object, Object)
2018-05-09 12:37:09 +02:00
Florian Schmaus
82cbc40327
Bump MiniDNS to 0.3.0
2018-05-05 10:53:52 +02:00
Florian Schmaus
5ab2903c32
Change Element.toXml() to toXml(String enclosingNamespace)
2018-04-27 10:05:25 +02:00
Florian Schmaus
a91ca2aebf
Bump MiniDNS to 0.3.0-alpha1
...
Also add minidns-core as dependency to smack-core. This requires
increasing the minimum required Android SDK level to 9, as this is
what MiniDNS requires.
2018-04-27 10:05:25 +02:00
Florian Schmaus
6c4a02691e
Make PubSub's SimplePayload infer the XML Element name and namespace
...
Fixes SMACK-816.
2018-04-23 22:00:12 +02:00
Florian Schmaus
73168bff69
Use XmlUtil for XML pretty printing in Protocol
2018-04-23 17:02:28 +02:00
Florian Schmaus
476fdf99a1
Inroduce AsyncButOrdered
2018-04-08 21:21:50 +02:00
Florian Schmaus
2efec89050
Rename XMPPError to StanzaError
...
Fixes SMACK-769.
2018-04-07 22:59:25 +02:00
Florian Schmaus
6a42d5baff
Rework FileUtils
2018-04-06 10:25:06 +02:00
Florian Schmaus
ad87243060
Globally 's;stanza(/packet);stanza;'
2018-03-31 14:17:30 +02:00
Florian Schmaus
a9ca1a0989
Enable ModifierOrder checkstyle check
...
Fixes SMACK-812
2018-03-29 12:35:11 +02:00
Florian Schmaus
b5209f4701
Enable RedundantModifier checkstyle check
2018-03-28 14:02:21 +02:00
Florian Schmaus
3bdeca44f2
Merge branch '4.2'
2018-02-23 18:35:34 +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
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
Paul Schaub
52398b535f
Fix javadoc issues in some packages
2017-12-23 20:21:19 +01:00
Paul Schaub
2288825b1c
Retain smack-core API
2017-12-19 15:06:40 +01:00
Paul Schaub
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
Paul Schaub
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
81002c4fbd
Merge branch '4.2'
2017-11-22 08:37:47 +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
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
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
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
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
f4391c07d7
Rework SmackFuture and add async API based on it
2017-08-12 17:35:45 +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
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