1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2024-11-05 03:35:59 +01:00
Commit graph

259 commits

Author SHA1 Message Date
Florian Schmaus
b7824f008d Introduce and use XmlStringBuilder.text()
Smack currently does unnecessary escaping of XML text, where it
escapes e.g. '"' to '"'. This bloats the stanza size, especially
if JSON payloads are involved.

Fixes SMACK-892 (although there are probably still places where
XmlStringBuilder.escape() is used when XmlStringBuild.text() could
have been used).
2020-09-17 14:20:11 +02:00
Florian Schmaus
99297e5a76 [mam] Improve MamResultExtension: use MessageView in from() and add QNAME 2020-08-28 09:47:54 +02:00
78f37a909e
Add support for XEP-0420: Stanza Content Encryption 2020-07-23 11:02:28 +02:00
00acdfcb9e
Add QName field in OriginIdElement 2020-07-03 00:24:05 +02:00
Florian Schmaus
f5448c5faa [core] Rework TLS logic
This moves the logic in AbstractXMPPConnection.getSmackTlsContext()
into the ConnectionConfiguration constructor.

Also introduce SslContextFactory and use it in
ConnectionConfiguration.
2020-05-25 15:41:57 +02:00
Florian Schmaus
d65f2c932e Bump Error Prone version to 2.3.4 and fix new bug patterns 2020-05-24 21:10:01 +02:00
Florian Schmaus
1c0bdfae40 [experimental] Delcare methods as static when possible 2020-05-24 18:01:00 +02:00
Florian Schmaus
f045c0dd08 Update Message Archive Management (XEP-0313) support to urn:xmpp:mam:2
Fixes SMACK-890.
2020-05-24 12:42:58 +02:00
Florian Schmaus
ebe5c49e92 [checkstyle] Tighten JavadocMethod checkstyle rule 2020-05-23 22:43:29 +02:00
Florian Schmaus
c4ad857c0d [carbons] Add CarbonExtension.Private.addTo(MessageBuilder), deprecate old 2020-05-21 22:44:14 +02:00
Florian Schmaus
4cb214ef8f
Merge pull request #367 from vanitasvitae/carbonEnable
Allow for offline configuration of CarbonManager
2020-05-15 11:31:23 +02:00
429c89d59a Add support for XEP-0424: Message Retraction
SMACK-886
2020-05-14 17:48:20 +02:00
Florian Schmaus
bdedf5a0a2
Merge pull request #368 from vanitasvitae/fallbackIndication
XEP-0428: Fallback Indication
2020-05-14 17:45:06 +02:00
ffb8729ba7 Allow for offline configuration of CarbonManager 2020-05-13 22:28:48 +02:00
39a6e7e888
Add support for XEP-0428: Fallback Indication
Fixes SMACK-889
2020-05-13 22:18:09 +02:00
Florian Schmaus
ab2d3a2b79 [core] Deprecate AbstractConnectionListener 2020-05-13 22:14:43 +02:00
Florian Schmaus
77e26fc575 Re-work data form API
Apply builder pattern to form fields and replace getVariable() with
getFieldName(). Refer to the field name as "field name" instead of
"variable" everyone, just as XEP-0004 does.

Improve the high-level form API: introduce FilledForm and FillableForm
which perform stronger validation and consistency checks.

Also add FormFieldRegistry to enable processing of 'submit' forms
where the form field types are omitted.

Smack also now does omit the form field type declaration on 'submit'
type forms, as it is allowed by XEP-0004.
2020-05-13 20:14:41 +02:00
Florian Schmaus
661b2743d9 mam: use new DataForm API in MamQueryIQ
Use the new API introduced with e58e6fa75 ("xdata: add more helper
methods to DataForm") in MamQueryIQ.
2020-04-18 19:03:00 +02:00
Florian Schmaus
77d12d4758 fastening: set ENABLED_BY_DEFAULT to false
If it is announced as feature, entities sending fastened messages
expect the recipient to react somehow on those. And this is not the
case if this is just enabled in Smack.

Hence we disable it per default and require smack users to explicitly
enable it after they have setup the according stanza listeners.
2020-04-15 09:34:04 +02:00
e0f7ddf5a8
Add support for XEP-0422: Message Fastening
SMACK-884
2020-04-13 18:17:26 +02:00
72a9cb65a6 OriginIdElement: Add proper equals() method 2020-04-13 17:38:47 +02:00
Florian Schmaus
7a57bb7c09 Rename Stanza.getExtension(String, String) to getExtensionElement() 2020-04-12 12:09:04 +02:00
Florian Schmaus
9879dea0bf Refer to static fields by their declaring type 2020-04-12 12:08:31 +02:00
Florian Schmaus
0479a75d1d Remove unnecessarily suppressed warnings 2020-04-12 12:07:59 +02:00
Florian Schmaus
8c4513a618 dox: make setDefaultDnsOverXmppResolver() static 2020-04-12 12:06:18 +02:00
Florian Schmaus
c10a56dc84 mam: remove unused import 2020-04-12 12:06:00 +02:00
Florian Schmaus
516c68bdb4 test: remove InitExtensions
And replace it with SmackTestSuite.
2020-04-12 09:34:08 +02:00
Florian Schmaus
28e763f938 extensions/experimental: line separator according to import order 2020-04-12 09:33:14 +02:00
Florian Schmaus
390f7823e1 mam: add javadoc for parameter 2020-04-09 15:22:33 +02:00
Florian Schmaus
b8b084970e mam: remove deprecated method in MamManager 2020-04-09 15:21:50 +02:00
Florian Schmaus
1e5ea1fdbe mam: remove dead code in MamManager 2020-04-09 15:20:00 +02:00
Florian Schmaus
353e43407f mam: support of advanced configuration
Fixes SMACK-822.

Co-authored-by: Jagmeet Singh <jagmeets@zeta.tech>
2020-04-09 15:18:02 +02:00
Florian Schmaus
10aee6c787 http-file-upload: make order of parameters more logical 2020-04-08 14:33:09 +02:00
Florian Schmaus
9c7f62ec07
Merge pull request #319 from adiaholic/SMACK-867
Extend HttpFileUploadManager with InputStream parameter
2020-04-08 14:30:35 +02:00
adiaholic
dfa61c3058 Extend HttpFileUploadManager with InputStream parameter
Add support for InputStreams as Android is tending towards
inputStreams over file uploads.
Solves SMACK-867
2020-04-08 12:02:16 +05:30
Florian Schmaus
07da9ffb48 Do not have Stanza.getExtension(String, String) return a generic type
Returning a generic would allow for

List<ExtensionElement> list = stanza.getExtension("foo", "bar");

to compile (Note the we are calling getExtension(), not
getExtension*s*()).

Users are encouraged to use the type safe getExtension(Class<? extends
ExtensionElement) variant instead.

Fixes SMACK-825.
2020-04-05 22:10:05 +02:00
Florian Schmaus
12e20c2d6c Remove deprecated methods/fields scheduled for removal in Smack 4.4 2020-04-04 13:03:48 +02:00
Florian Schmaus
4dd3800d82 Remove Bouncycastle as direct dependency
By not directly depending on Bouncycastle (BC), we avoid conflicts between
different bouncycastle versions. It is also part of the developers job
to take care that all required security primitives are available. If
they are provide by BC or some other security provider should not be
up to Smack to decide.

We now only add BC as test dependency to satisfy this requirement when
the unit tests are executed.
2020-03-13 16:58:45 +01:00
Florian Schmaus
78be8f3a04 junit: bump to 5.6.0 2020-02-23 19:12:54 +01:00
Florian Schmaus
eb4c2c5572 s/occured/occurred/ 2019-10-30 12:02:36 +01:00
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
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
a2acb7b66e
Merge pull request #345 from vanitasvitae/enableStanzaId
Make adding originId by default configurable
2019-09-16 17:40:16 +02:00
Florian Schmaus
9b186f2541 Add support for XEP-0328: JID Prep
Fixes SMACK-878.
2019-09-08 18:29:46 +02:00
Florian Schmaus
34f1c2b79e errorprone: Enable MethodCanBeStatic 2019-09-07 23:01:39 +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