Florian Schmaus
75b1d8ce13
Add AbstractError.Builder.setDescriptiveEnText(String, Exception)
2019-04-09 09:33:32 +02:00
Florian Schmaus
1122bf394c
Add ExceptionUtil
2019-04-09 09:33:32 +02:00
Florian Schmaus
3075430713
Use IQ.isRequestIQ() in IQ
2019-04-09 09:33:32 +02:00
Florian Schmaus
d1f2631771
Use IQ.isResponseIQ() in AbstractXMPPConnection
2019-04-09 09:33:32 +02:00
Florian Schmaus
87e0ac9ba1
Add IQ.isResponseIQ()
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
d6b6fdca17
Add ConnectionConfiguration.setXmppAddressAndPassword()
2019-04-07 16:44:04 +02:00
Florian Schmaus
38384a1eed
Improve javadoc of ConnectionConfiguration
2019-04-07 16:43:48 +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
927eb5e7d7
Add MemoryLeakTest(Util)
...
to check for the correct operation of what was implemented with
SMACK-383.
2019-03-25 18:58:58 +01:00
Florian Schmaus
a23adfab6e
Merge branch '4.3'
2019-03-24 00:16:24 +01:00
Oliver Mihatsch
007a04c4fe
Better error messages when using a Proxy to connect to the XMPP server.
2019-03-24 00:12:32 +01:00
Oliver Mihatsch
3450ffad2b
Do not use "CONNECT" in the Host header field.
2019-03-24 00:09:54 +01:00
Florian Schmaus
8e52e80399
Synchronize later in notifyConnectionError(Exception)
...
especially *after* the sync points have been notified so that a
potential thread currently callin gconnect()/login() throws and leaves
the synchronized section.
This commit is more or less equivalent to
3ded023629
of the 4.3 branch.
2019-03-16 10:43:41 +01:00
Florian Schmaus
daab6039a1
Smack 4.3.3
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAlyKV9tfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFL4vQf/Qfg3VzNEnmk0+KjOtuvfAbhMfzE92gfo15vE0PPEIe9VA0Pzkvqhva4k
Efw7BhD2zx8hWvo0d5FfkdII89hSYnOCiSmhiX1Ln9q/gUqFW0TDAKpsMfAl7jAK
Fap8M7uUStP9T6fF/gq01djYCYoWA/4v1lGKv4J4b9gWCqzGIF2sK0M7of7VERnr
pEXJSUM228rk6EYjVmX/9Ujo1Y+xaNMFFZZSbKYrirAqjP540v0OPBCRQyB8qFaI
NTcNJ+qESe6Q80mw5V+y/kD6kX0LERSDB+pigzOOOlmfMtD1uADR84tAynuTKNAU
7/5K/YSQxceRY6RTgD17Al5lHIH5nw==
=ToR+
-----END PGP SIGNATURE-----
Merge tag '4.3.3'
Smack 4.3.3
2019-03-14 18:23:33 +01:00
Florian Schmaus
569f7417a8
Add AuthenticatedConnectionInitiallyEstablished timestamp
2019-03-10 21:24:37 +01:00
Florian Schmaus
c4289b2c18
Add AbstractXMPPConnection.initState()
...
and init/reset the sychronization points there.
This method is called right at the beginning of connect() and at the
end of shutdown().
2019-03-10 21:24:37 +01:00
Florian Schmaus
7518bf9a25
Add descriptive text to StanzaError.toString()
2019-03-10 21:24:37 +01:00
Florian Schmaus
7d2c3ac9f9
Do not call synchronized methods in reader/writer thread
...
This may cause deadlocks with a call to acquire(2) on the introduced
readerWriterSemaphore in initConnection(), which is also synchronized.
2019-03-10 21:24:37 +01:00
Florian Schmaus
3d1a781a22
Show correct reply timeout value in StanzaCollector's NoResponseException
2019-03-05 08:21:59 +01:00
Florian Schmaus
f602de8771
Call shutdown() in connect() on exception
...
to clean up the state build up by connect().
Related to SMACK-855 there is the possiblitiy of a stray (writer)
thread if, for example, tlsHandled.checkifSuccessOrWaitorThrow() in
XMPPTCPConnection.connectInternal() throws. This commit should prevent
that.
2019-03-04 20:14:12 +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
9f3d2d2f28
Log if reported XMPP domain does not match expected
2019-02-16 21:54:11 +01:00
Florian Schmaus
12bd76a011
s/@since 4.4/@since 4.4.0/
2019-02-16 17:17:50 +01:00
Florian Schmaus
85f7e1d39c
Remove deprecated methods scheduled for removal in Smack 4.4
2019-02-16 17:17:25 +01:00
Florian Schmaus
8df69bd3ce
Use XmlEnvironment in parsing/provider subsystem
2019-02-15 23:21:30 +01:00
Florian Schmaus
a13829aa74
Add javadoc to Smack(Message|Wrapped)Exception
2019-02-10 21:55:07 +01:00
Florian Schmaus
394f3d133a
Make SmackException abstract
2019-02-10 21:53:31 +01:00
Florian Schmaus
7e76712c46
Make SASLAuthentication.authenticationFailed(Exception) private
2019-02-10 21:51:01 +01:00
Florian Schmaus
7fce6b5a98
Introduce SmackMessageException
2019-02-10 21:50:39 +01:00
Florian Schmaus
b51a6c54e8
Introduce SmackSaslException
2019-02-10 21:50:39 +01:00
Florian Schmaus
7dee3b88a2
Introduce SmackParsingException
2019-02-10 19:01:47 +01:00
Florian Schmaus
163ca2b009
Merge branch '4.3'
2019-02-09 20:15:09 +01:00
Florian Schmaus
78dcaec75b
Remove null checks for writer/reader fields in XMPPTCPConnection
...
as those are never null since
60f324eb1b
(the previous commit).
2019-02-09 18:20:55 +01:00
Florian Schmaus
09bffb8dca
Fail sync points on exception in XMPPTCPConnection
2019-02-09 18:12:03 +01:00
Florian Schmaus
083dac8b83
Rework exceptions in the parsing / provider subsystem
2019-02-05 13:18:03 +01:00
Florian Schmaus
4c42d0cd32
Add concurrent but in-order listeners to XMPPConnection
2019-02-05 13:18:03 +01:00
Florian Schmaus
fee3ed81ca
Introduce XmlEnvironment
2019-02-05 13:18:03 +01:00
Florian Schmaus
dc780ffd6c
Make sendStanza() final
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
7a3f6f29cc
Merge branch '4.3'
2018-12-21 13:21:50 +01:00
Florian Schmaus
a2743549b8
Make TCP socket connection attempt interruptable
...
by introducing SmackFuture.SocketFuture.
Fixes SMACK-847.
2018-12-21 12:03:49 +01:00
Florian Schmaus
fb2a9b2167
Merge branch '4.3'
2018-12-14 23:09:59 +01:00
Florian Schmaus
f6da386dea
Ensure that IQ response 'to' address and ID are set correctly
...
Fixes SMACK-845.
2018-12-14 17:18:53 +01:00
Florian Schmaus
0c134db072
Add ConnectionConfiguration.setHostAddressByNameOrIp(CharSequence fqdnOrIp)
2018-12-04 15:59:11 +01:00
Florian Schmaus
62a0c6f26e
Merge branch '4.3'
2018-11-29 22:39:55 +01:00
Florian Schmaus
fa7297019d
Add checkstyle rule for "Boolean.valueOf()" usages
2018-11-29 22:38:11 +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
Florian Schmaus
4358251e89
Merge branch '4.3'
2018-11-14 15:02:24 +01:00
asokolov
2900c5ae23
Move xml-not-well-formed (RFC 3920) condition handling to StreamError
...
Fixes SMACK-842.
2018-11-14 14:53:04 +01:00
Florian Schmaus
5c090c35d4
Ensure sync listeners not being called after they removed themselves
2018-11-11 16:55:57 +01:00
Florian Schmaus
49b7e8b905
Merge pull request #280 from MarcelHeckel/bosh_connection_with_compression
...
Enables the HTTP compression in JBOSH
2018-11-09 13:52:16 +01:00
Marcel Heckel
1ea10831b6
Enables the HTTP compression in JBOSH
...
Adds an extra parameter "compressionEnabled" to ConnectionConfiguration
that is used to set the setCompressionEnabled() of BOSHClientConfig
2018-11-08 13:36:45 +01:00
Florian Schmaus
0adcf889bf
Merge pull request #278 from vanitasvitae/omemoFileBasedStoreUrlEncode
...
Use new BareJidEncoder class in FileBasedOmemoStore
2018-11-08 07:38:43 +01:00
9302b08854
Use new BareJidEncoder class in FileBasedOmemoStore
2018-11-07 18:17:25 +01:00
Florian Schmaus
b7ea226c56
Bump "Error Prone" to 2.3.2
...
and gradle-errorprone-plugin to 0.6.
2018-10-31 16:06:31 +01:00
Florian Schmaus
367580d37b
Make sure StanzaCollector is cancelled
...
even if nextResult(long) throws an InterruptedException when called in
nextResultOrThrow(long).
2018-10-22 11:34:49 +02: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
127510692d
Remove unnecessary supress "deprecation" warning in ReconnectionManager
2018-10-03 20:09:19 +02:00
Florian Schmaus
09279b8ac0
Add AbstractBlockingQueueWithShutdown.putAll(Collection)
2018-09-11 21:56:45 +02:00
Florian Schmaus
5097f01b7a
Make StreamOpen.toXML(String) 'null' aware
2018-09-11 09:42:08 +02:00
Florian Schmaus
45736e8ead
Remove NORMAL_OR_CHAT_OR_GROUPCHAT MessageTypeFilter
...
Type 'groupchat' message stanzas are not like others, they usually
require special handling. Hence such a filter is usually an indication
that multiple concepts are intermixed.
2018-09-06 18:42:41 +02:00
Miguel Hincapie
547138b325
Improve ChatMarkersManager
...
* Created filters to be used with incoming and outgoing message stanzas
* Added a list of ChatMarkersListener and its add and remove methods.
* Added a stanza listener for outgoing messages.
* Added a stanza listener for incoming messages.
* Added discover feature for XEP-0333.
* Added methods to inform a message was: received, displayed or ack
* Added javadoc autor tag.
2018-09-06 18:39:00 +02:00
Florian Schmaus
c0b1fee700
Add "rule of thumb" to StanzaFilter javadoc
2018-08-25 12:55:51 +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
1136e8a2e9
Log exception in ProviderFileLoader
2018-08-13 16:40:16 +02:00
Florian Schmaus
6fb95d6226
Close stream in FileUtils.addLines()
2018-08-13 16:39:56 +02:00
Florian Schmaus
5517d03fae
Close stream in UrlInitializer
2018-08-13 16:39:28 +02:00
Florian Schmaus
1e376d4ada
Link to Manager from javadoc-overview.html
2018-08-02 17:14:33 +02:00
Florian Schmaus
51e800c034
Smack 4.3.0
...
-----BEGIN PGP SIGNATURE-----
iQGTBAABCgB9FiEEl3UFnzoh3OFr5PuuIjmn6PWFIFIFAltjB1dfFIAAAAAALgAo
aXNzdWVyLWZwckBub3RhdGlvbnMub3BlbnBncC5maWZ0aGhvcnNlbWFuLm5ldDk3
NzUwNTlGM0EyMURDRTE2QkU0RkJBRTIyMzlBN0U4RjU4NTIwNTIACgkQIjmn6PWF
IFISagf/bFhu9Getz7tvo3R+Z2brTszQSKVIvXf6DFKXWapUwOLeZp6EQGQXbnym
UOz1ykMnkCrgKRyNmPFwG2ZBcHWdL0/2nvyfm0e6nhd5gsoTJoqH8gMtVNlIsa47
lGatkr0JhsyHUREtMbnRmGMEh5M+pMGGWGLqHIFXJIZJ2/IV2cMlBx0jPFpd+Toc
IKXfe8euZp6Ic8JKk4V7SIcpTJw9zsihsXP3zwwDjn0xft89tI8lpT6MfaWL9q+Z
bUSEoEv27gJvK1iFbxKR4A1TGnmesl8GMBeWhU2+aF8PardYuc3+0qjD9yah6o6p
hlg4um1bgWixqRgGWfkcbhDHS1E04A==
=+uoq
-----END PGP SIGNATURE-----
Merge tag '4.3.0'
Smack 4.3.0
2018-08-02 16:17:58 +02:00
Florian Schmaus
9bb724d65d
Add Possible(From|To)TypeFilter
2018-08-02 11:39:25 +02:00
Florian Schmaus
5bf0fd64ac
Add ExceptionThrowingCallbackWithHint and javadoc
...
about parsing exceptions also providing rationale.
2018-08-02 09:40:11 +02:00
Florian Schmaus
a3fcbdbf5a
Make Stanza.appendErrorIfExists() aware of the enclosing XML namespace
...
Originally discovered by Paul Schaub:
Fixes an inconvenience, where an IQ with the implicit namespace
`jabber:client` would append the namespace to an error child element
like this:
```
<iq (xmlns='jabber:client) <!-- in parenthesis since the NS is implicit --> ... >
<error xmlns='jabber:client' <!-- this NS is too much --> ... />
</iq>
``
2018-08-01 13:16:20 +02:00
d78733e23a
Remove duplicate FileUtils methods
2018-07-30 16:05:58 +02:00
Florian Schmaus
166b8be8a9
Merge pull request #243 from vanitasvitae/tempDir
...
Add utility method to get temp directory
2018-07-30 10:57:24 +02:00
f0af00ee43
XEP-0373, XEP-0374: OpenPGP for XMPP: Instant Messaging
...
Fixes SMACK-826
2018-07-29 18:52:45 +02:00
74bebc13e6
requireNotNullOrEmpty -> requireNotNullNorEmpty
2018-07-17 15:10:39 +02:00
4afe573a68
Add Objects.requireNonNullOrEmpty
2018-07-17 11:39:51 +02:00
4ee034bf40
Add utility method to get temp directory
2018-07-03 10:39:54 +02:00
Florian Schmaus
ce4f3352a2
Merge branch '4.3'
2018-06-23 17:18:17 +02:00
Florian Schmaus
c73219b797
Add (To|From)TypeFilter.(FROM|TO)_ANY_JID
...
to filter all stanzas which have a valid jid set as to/from.
2018-06-20 22:17:11 +02:00
Florian Schmaus
61be4d768d
Add javadoc describing the XMPPErrorException class
2018-06-20 22:17:11 +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
9e18ba2327
Remove deprecated methods in XMPPConnection
2018-06-14 10:00:37 +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
d958b42eff
Add StanzaCollector.getCollectedStanzasAfterCancelled()
2018-06-11 22:08:15 +02:00
Florian Schmaus
1dec29617e
Fix StanzaCollector's Exception message: s/Packet/Stanza/
2018-06-11 22:08:15 +02:00
Florian Schmaus
77707737df
Make StanzaCollector's cancelled field volatile
2018-06-11 22:08:15 +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
f2ea3e0d5b
Add XmlUnitUtils.assertXmlSimilar()
2018-06-03 21:19:38 +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
168e9398e3
Add method to delete directory
2018-05-21 12:35:25 +02:00
27c77fcb1c
Add utility methods
...
ParserUtils: getShortAttribute
XmlStringBuilder: attribute(String, long), optAttribute(String, Long)
2018-05-20 11:27:52 +02:00
Florian Schmaus
84f282befe
Add XMPPConnection trySendStanza()
2018-05-16 14:49:53 +02:00
Florian Schmaus
c7697ea9d0
Add ArrayBlockingQueueWithShutdown.tryPut(E)
2018-05-16 07:57:50 +02:00
Florian Schmaus
cb27b02658
Make SmackFuture use Smack's cached executor service
...
instead of SmackFuture using it's own executor service.
2018-05-10 20:30:24 +02:00
Florian Schmaus
a22ec4b112
Use java.text.Normalizer for SASLPrep
2018-05-10 20:30:23 +02:00
Florian Schmaus
0e31bc8f73
Fix Stanza.overrideExtension(ExtensionElement)
...
Also fixes SMACK-818.
2018-05-10 15:34:24 +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
93c2b2be26
Do not return a Message "default" language if there is none
2018-05-09 17:13:08 +02:00
Florian Schmaus
b4b75a3cca
Make <subject/> (XML) language optional
2018-05-09 16:48:53 +02:00
Florian Schmaus
4b8f7ca6b6
Make <body/> (XML) language optional
2018-05-09 16:47:28 +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
901b316c06
Add and register BodyElementProvider
2018-05-06 18:47:44 +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
cc0022c919
Globally s;Stanza(/Packet);Stanza; and more 'packet' → 'stanza'
2018-04-23 21:10:22 +02:00
Florian Schmaus
98109e7b86
Record request stanza in XMPPErrorException
2018-04-23 20:56:54 +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
f11134dc4c
Remove deprecated reconnection callbacks in ConnectionListener
...
Fixes SMACK-776.
2018-04-07 21:15:20 +02:00
Florian Schmaus
0a99291d59
Make asyncGo() and schedule() static
...
in AbstractXMPPConnection.
2018-04-07 21:11:55 +02:00
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