1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-12-26 22:27:58 +01:00
Commit graph

2903 commits

Author SHA1 Message Date
Florian Schmaus
1b1e88c4c3 Fix UOE being thrown in BlockingCommandManager
the manager must use a copy of the BlockListIQ's JID list, since it may
be the empty list which is not modifiable.

Also rename the getter methods from getJids() to getBlockedJids().
2016-11-23 17:52:04 +01:00
Florian Schmaus
da58b20b53 IoT: Prevent control/read-out from non friends
and make the behavior configurable.
2016-11-17 10:25:35 +01:00
Fernando Ramirez
6d74d0383c Add support for XEP-0333: Chat Markers
Fixes SMACK-736
2016-11-15 22:49:26 +01:00
Fernando Ramirez
5372c1bcf4 Add support Multi-User Chat Light
Fixes SMACK-740
2016-11-15 22:41:24 +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
54790cd380 Filter MUC 'decline' messages by type 'normal'
and not by '!error' as this there are presence stanzas containing the
muc#user namespace also send to the client, which results in a
ClassCastException in the StanzaListener.
2016-11-14 08:50:46 +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
489a48bf86 Add TlsTest to smack-repl 2016-11-11 18:16:49 +01:00
Florian Schmaus
5bb0c8c223 Option to automatically rejoin MUC rooms after reconnection
Fixes SMACK-572.
2016-11-06 11:14:19 +01:00
Florian Schmaus
6cf3ad32f9 Remove unnecessary semicolon in StringUtils 2016-11-06 11:14:19 +01:00
Florian Schmaus
095b5c85a1 Also catch SmackException in Socks5BytestreamRequest
and use try/multi-catch.
2016-11-05 20:02:25 +01:00
Florian Schmaus
4f7324103c Throw instead of return in Socks5Client
Returning a boolean is not really expressive in such cases. For example,
if it returns 'false' then the callee has no information *what* went
wrong. Instead throw an SmackException with some more information.
2016-11-05 19:56:34 +01:00
Florian Schmaus
44d6a9d7c1 Improve logging of IoTProvisioningManager 2016-11-05 18:31:26 +01:00
Florian Schmaus
48a46e43ab Use bare JID when using FriendshipDeniedCache
As it only contains bare JIDs.
2016-11-05 18:26:44 +01:00
Florian Schmaus
32b4e74910 Improve exception message of Socks5 code 2016-11-05 18:24:07 +01:00
Fernando Ramirez
e266b1acd8 Push Notifications (XEP-0357) implementation
Fixes SMACK-738
2016-11-01 08:46:59 +01:00
Florian Schmaus
1d3c48e6ce Add support for IoT Friend approvals
This adds supports for an experimental protocol flow where a pending
friend request's decission is later on deliverd to the requestor after
the owner made its decission.
2016-10-31 14:50:37 +01:00
Florian Schmaus
5a2326a856 Add convinient constructors for Message and Presence 2016-10-31 12:24:03 +01:00
Fernando Ramirez
9331a4c677 Order extensions in documentation/extensions/index.md 2016-10-31 11:56:23 +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
042fe3c72c Add XmppTools to the REPL 2016-10-26 21:56:09 +02:00
Florian Schmaus
c379ae07d5 Initialize the Key Store
as otherwhise the following could happen:

WARNING: Connection XMPPTCPConnection[not-authenticated] (0) closed with error
java.security.KeyStoreException: Uninitialized keystore
	at java.security.KeyStore.aliases(KeyStore.java:1233)
	at sun.security.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:127)
	at sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:70)
	at javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:256)
	at org.jivesoftware.smack.tcp.XMPPTCPConnection.proceedTLSReceived(XMPPTCPConnection.java:739)
	at org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1000(XMPPTCPConnection.java:146)
	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1026)
	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:960)
	at org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:975)
	at java.lang.Thread.run(Thread.java:745)

org.jivesoftware.smack.SmackException: java.security.KeyStoreException: Uninitialized keystore
  org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1033)
  org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:960)
  org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:975)
  java.lang.Thread.run(Thread.java:745)
java.security.KeyStoreException: Uninitialized keystore
  java.security.KeyStore.aliases(KeyStore.java:1233)
  sun.security.ssl.SunX509KeyManagerImpl.<init>(SunX509KeyManagerImpl.java:127)
  sun.security.ssl.KeyManagerFactoryImpl$SunX509.engineInit(KeyManagerFactoryImpl.java:70)
  javax.net.ssl.KeyManagerFactory.init(KeyManagerFactory.java:256)
  org.jivesoftware.smack.tcp.XMPPTCPConnection.proceedTLSReceived(XMPPTCPConnection.java:739)
  org.jivesoftware.smack.tcp.XMPPTCPConnection.access$1000(XMPPTCPConnection.java:146)
  org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.parsePackets(XMPPTCPConnection.java:1026)
  org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader.access$300(XMPPTCPConnection.java:960)
  org.jivesoftware.smack.tcp.XMPPTCPConnection$PacketReader$1.run(XMPPTCPConnection.java:975)
  java.lang.Thread.run(Thread.java:745)
2016-10-20 21:54:24 +02:00
Florian Schmaus
6e04a9d0ff Use 24h timestamp in debuggers. 2016-10-20 17:44:23 +02:00
Florian Schmaus
98655e72aa Fix typo and add URL to Roster javadoc 2016-10-03 13:31:37 +02:00
Florian Schmaus
1f66f301ba Improve "Invalid affiliation" exception message 2016-10-03 13:12:05 +02:00
Florian Schmaus
810e7c8b78 Prevent GC of connection within pingServerIfNecessary() 2016-09-05 14:56:40 +02:00
Florian Schmaus
9a16f68433 Remove Socks5ProxyTest.shouldOnlyStartOneServerThread()
The unit test relied on Thread.activeCount() which made the whole test
unreliable.
2016-09-01 08:53:24 +02:00
Anno van Vliet
47a4856cae Filter Errors on Change subject listener.
A unauthorized user sents a update room subject message which is
rejected by the server. It responds with an error message which
is not picked up by the ChangeSubjectListener.
2016-08-31 22:30:42 +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
98bacb144d Rework blocking command code.
Mostly remove the helper utils. The server is required to present the
client with a consisent state of the block list and corresponding
modifications, so we should not end up with duplicate entires if we
don't check for them.

SMACK-731
2016-08-31 22:16:26 +02:00
Fernando Ramirez
9554c7be26 Add XEP-0191 - Blocking Command implementation
SMACK-731
2016-08-31 08:07:36 +02:00
Florian Schmaus
0679c89813 travis.yml: Add --stacktrace to 'gradle check' 2016-08-29 12:35:26 +02:00
Florian Schmaus
e17ba85c2f Cleanup FileTransferNegotiatorTest 2016-08-26 10:58:00 +02:00
Florian Schmaus
0a96016727 Use generics in IoTControlManager 2016-08-09 17:47:09 +02:00
Florian Schmaus
88bf2528a2 Add RosterUtil.askForSubscriptionIfRequired(Roster, BareJid) 2016-08-09 17:47:09 +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
f1e24e2273 Rework Roster's SubscribeListener
allow multiple of them to be installed, instead of at most one. Fixes
deadlock in LowLevelRosterIntegration test because
IoTProvisioningManager's SubscribeListener would not come up with a
decission.
2016-07-31 14:50:59 +02:00
Florian Schmaus
5b137616bb Fix NPE in IoTDiscoveryManager 2016-07-31 14:50:59 +02:00
Florian Schmaus
8810f17460 Allow empty username/passwords in integration test 2016-07-31 14:50:59 +02:00
Florian Schmaus
c74d16f68a Merge pull request #86 from esl/ramabit.mam.doc
Add MAM documentation
2016-07-30 11:14:38 +02:00
Florian Schmaus
632acbe33f Smack 4.2.0-beta3-SNAPSHOT 2016-07-30 11:11:54 +02:00
Florian Schmaus
252f1b690c Smack 4.2.0-beta2 2016-07-30 11:00:06 +02:00
Florian Schmaus
00134c8f50 Smack 4.1.8
-----BEGIN PGP SIGNATURE-----
 Version: GnuPG v2
 
 iQF8BAABCgBmBQJXnGezXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w
 ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ5Nzc1MDU5RjNBMjFEQ0UxNkJFNEZCQUUy
 MjM5QTdFOEY1ODUyMDUyAAoJECI5p+j1hSBSo3EH/1usQTee7P4ABvL5iB2LtQtB
 B2tZdOpDWAyNass7+kP40MX544O2cFxS0NHW6vY+BJCvdn128iWJGYlFY0qLv6ON
 +cLYMs4zlBnI/o/V8siCMa/awUnUvBEe6lyHTZc2fLp9x1g/qx9GUZuOznk8CEC4
 aF6YBFbcL+uXj6Rx4mVCfBtPur+Nr64Pz2pm6T0kw0PdeFbFY9Bn9rnfPHhGl7vk
 4w7f6QJ/VsjmlQUK9s65tLoKdWlmnp7hY5fvdPeAc7jNfsIMPUMxk/JgloXrLPP3
 q0g6IKQe/40lWcyDn5doyhhncGxLcdHx4sUP+UM0MRlJyS924xCIhg2wxRkq2Ag=
 =Lfdm
 -----END PGP SIGNATURE-----

Merge tag '4.1.8'

Smack 4.1.8
2016-07-30 10:43:20 +02:00
Florian Schmaus
a87007fb77 Smack 4.1.8 2016-07-30 10:29:30 +02:00
ramabit
656914dcb0 add mam.md in index.md 2016-07-29 17:55:10 -03:00