Florian Schmaus
e2223254cf
Organize imports everywhere
2019-10-29 21:12:22 +01:00
Florian Schmaus
69767e9538
Rename AbstractIqBuilder subclasses to their designated names
2019-10-29 19:34:18 +01:00
Florian Schmaus
6e32305987
Apply builder pattern to DiscoverInfo
...
This is the first transformation of an IQ type to the builder type.
2019-10-29 11:14:55 +01:00
Florian Schmaus
e2d206e741
Introduce XMPPConnection.add(Message|Presence)Interceptor
...
add deprecate addStanzaInterceptor().
2019-10-25 21:41:55 +02:00
Florian Schmaus
5db6191110
Introduce StanzaBuilder
...
As first step to immutable Stanza types.
2019-10-25 21:41:55 +02:00
Florian Schmaus
8f371c5381
Fix datatype.Scalar equals() and hashCode() methods
...
The previously used Number.equals() and hashCode() was just delegated
to Object and hence did not behave as expected.
2019-10-17 12:24:30 +02:00
Florian Schmaus
b510d373b5
reactor: have synchronized block include peeking at scheduled actions
...
If we do not peek at the scheduled actions in the reactors
synchronized block, then there is a kind of lost-update problem. While
Ractor.schedule() will call wakeup() on the selector, a thread could
have already determined the value of selectWait, while being blocked
at the start of the synchronized reactor section. Once it is able to
enter the section, it will use an outdated selectWait value.
This leads to scheduled actions not being executed on time.
Thanks to Eng ChongMeng for reporting this and suggesting the fix.
2019-10-12 10:22:31 +02:00
Florian Schmaus
05c920ab56
Fix typo in comment
2019-10-12 10:14:17 +02:00
Florian Schmaus
e23babf147
Add Stanza.setNewStanzaId() and ensureStanzaIdSet()
...
Also deprecate setStanzaId() since it was not clear if this would
create a new stanza ID or just ensure that one is set.
2019-10-05 23:16:15 +02:00
Florian Schmaus
30bbdf9fdb
Remove deprecated methods from Stanza class
2019-10-05 23:00:57 +02:00
Florian Schmaus
f0300dc906
Remove deprecated "PacketReplyTimeout" methods in SmackConfiguration
2019-09-25 23:45:29 +02:00
Florian Schmaus
eeb6c52f7e
Move SASL logic into AbstractXMPPConnection
...
Besides the way the transport handles the stream after SASL
<success/>, the SASL logic is independend from the underlying
transport (BOSH, TCP, …). Hence move it up into
AbstractXMPPConnection.
This also has the benefit that we can make some more methods private
or package-private.
Also introduce XmlStringBuilder.optTextChild(), which causes some
associated changes.
2019-09-25 13:49:21 +02:00
Florian Schmaus
3ee4dd7b3a
Move SASL authentication state into SASLMechanism
2019-09-24 10:19:12 +02:00
Florian Schmaus
93aaf6d8d7
Remove SASLAuthentication.init()
2019-09-23 20:01:10 +02:00
Florian Schmaus
bf538129c2
SASL: Add missing InterruptedException to "else if" cascade
2019-09-23 19:54:47 +02:00
Florian Schmaus
5b1d2664af
Clear saslException class field before throwing
...
Thanks to PolFW, who writes:
A SASLErrorException is thrown before we have received the "<success
xmlns='urn:ietf:params:xml:ns:xmpp-sasl'/>". This is because
SASLAuthentication is keeping a reference to a "saslException" so to
clear that after a authentication failure we have to invoke again
connect on the xmpptcpconnection to initialize again the
saslAuthentication. But it doesn't solve the issue because an
AlreadyConnectedException is thrown before the initialisation of the
"this.saslAuthentication.init();"
Note that the user uses one time tokens for authentication.
2019-09-23 19:47:37 +02:00
Florian Schmaus
bd4b91fc26
Introduce AbstractXMPPConnection.outgoingStreamXmlEnvironment
2019-09-23 16:12:48 +02:00
Florian Schmaus
002d060584
XmlStringBuilder: Map all XML serialization to appendXmlTo()
...
this is now the single place where serializatin happens.
2019-09-23 16:12:48 +02:00
Florian Schmaus
6d7b2b70e8
Add util.Consumer and use it in StateDescriptorGraph
2019-09-23 16:12:48 +02:00
Florian Schmaus
b83dacc60a
Merge branch 'master' of github.com:igniterealtime/Smack
2019-09-18 09:59:57 +02:00
Florian Schmaus
3318a44016
XmlStringBuilder: Declare actual return type instead of supertype
2019-09-18 09:01:04 +02:00
Florian Schmaus
5483e95920
LazyStringBuilder: Wrap NPE in RuntimeException
...
instead of using a Logger.
2019-09-18 09:01:04 +02:00
Florian Schmaus
8086a11c6c
XmlStringBuilder: Use potential length for target StringBuilder
2019-09-18 08:55:51 +02:00
Florian Schmaus
fb3a71a14d
Fix ConcurrentModificationException in XmlStringBuilder.appendToXml()
...
We want to append to appendable, not sb, the LazyStringBuilder we are
currently iterating over,
2019-09-18 08:48:39 +02:00
Florian Schmaus
65b6a7bfa2
Merge pull request #330 from ge0rg/errlang
...
Errors: language selection for error description
2019-09-16 17:42:45 +02:00
Florian Schmaus
f2e1d7ddd5
Add XmlEnvironment conscious ParserUtils.getXmlLang()
...
and unify parsing of common stanza attributes where this new method is
used.
2019-09-12 15:15:57 +02:00
Florian Schmaus
86c28e9d13
Use XmlEnvironment.EMPTY instead of null in PacketParserUtils
2019-09-12 15:15:57 +02:00
Florian Schmaus
09e7368313
Delete unused IQ(String) constructor
2019-09-08 18:17:35 +02:00
Florian Schmaus
65576cf3c2
Rework XML Element hierarchy and XmlStringBuilder
...
- Reduce the amount of types that are subtypes of NamedElement. See
javadoc of NamedElement for rationale.
- Work more with XmlEnvironment in XmlStringBuilder.
- Some minor changes to XmlStringBuilder API.
2019-09-07 18:17:08 +02:00
Florian Schmaus
dd4df0a5ef
Improve how XmlStringBuilder handles enclosing XML environments
...
to avoid emitting unnecessary attributes like xmlns.
Also add a test for MediaElement that checks that <uri/> does not
carry a xmlns attribute.
2019-09-04 10:22:56 +02:00
Florian Schmaus
935465a11b
Remove duplicate code in XmlStringBuilder
2019-09-04 10:22:55 +02:00
Florian Schmaus
85ef149c83
Make XmlStringBuilder.prelude() protected
...
as the user should never be required to call it.
2019-09-04 10:22:55 +02:00
Florian Schmaus
1a3067c89b
Enable werror for javadoc and fix javadoc issues
2019-08-30 12:08:30 +02:00
Florian Schmaus
851bd3c5dd
Add IllegalArgumentException to parsing exceptions
...
As it is thrown by many Element constructors.
2019-08-27 09:01:12 +02:00
Florian Schmaus
8f2eefaeb0
Fix whitespace errors in AbstractXMPPConnection
2019-08-22 15:28:54 +02:00
Florian Schmaus
c6b75d8bcc
Merge pull request #308 from adiaholic/SMACK-718
...
Prevent extremely long reply timeouts from being set.
2019-08-22 14:54:15 +02:00
Florian Schmaus
f863bd222c
Merge branch '4.3'
2019-08-22 11:52:41 +02:00
Florian Schmaus
01e0ae230b
Deprecate setHostAddressByNameOrIp() and move logic into setHost()
...
in ConnectionConfiguration.Builder.
2019-08-22 10:55:33 +02:00
Florian Schmaus
d7b7abc7eb
Delete XML whitespace before feeding the Base64 decoder
2019-08-06 12:48:31 +02:00
Florian Schmaus
1bc8a22b28
Add StringUtils.deleteXmlWhitespace(String)
2019-08-05 22:20:21 +02:00
Florian Schmaus
ca7529c192
Use Integer.compare(int, int) now that we are on Android 19
2019-08-04 23:03:42 +02:00
Florian Schmaus
efb206f7bd
Use Locale.getDefault() to initialize the language
2019-08-03 22:20:05 +02:00
Georg Lukas
6a0e0f0f67
Implement xml:lang support in ConnectionConfiguration and AbstractXMPPConnection
...
This patch makes it possible to change the stream-level language as part
of the connection configuration, to allow a properly implemented
entities to provide i18n'ed response messages. The Locale type is used
for this configuration, and the effective language string can be
obtained via `ConnectionConfiguration.getXmlLang()`.
This code does not cover XMPPBOSHConnection!
Signed-off-by: Georg Lukas <georg@op-co.de>
2019-08-03 22:19:45 +02:00
Florian Schmaus
12cbeede57
Use Enum.toString() in XmlStringBuilder.element(String, Enum)
...
as toString() is often overriden by Enums to yield the expected XMPP
wire protocol representation.
2019-08-03 22:15:44 +02:00
Georg Lukas
093b576e0d
Errors: language selection for error description
2019-07-30 16:05:42 +02:00
Florian Schmaus
eecd5b70d3
Merge branch 'master' of github.com:igniterealtime/Smack
2019-07-30 11:35:45 +02:00
Florian Schmaus
8da954f7a4
OpenPGP: Bump Pgpainless to 0.0.1-alpha7
...
Also unify how new Security Providers are installed.
Thanks to Paul Schaub for helping with this.
2019-07-30 09:37:19 +02:00
Florian Schmaus
96e14471d0
Merge pull request #324 from adiaholic/spellcorrection
...
Correcting mini typing error
2019-07-28 18:11:56 +02:00
Florian Schmaus
4ca2c7cc69
Enable MissingJavadocPackage and UnnecessaryParentheses checkstyle checks
2019-07-24 09:18:39 +02:00
Florian Schmaus
91ec6cc955
Javadoc changes for Java 11 compatibility
2019-07-19 23:05:46 +02:00