1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-22 22:32:06 +01:00
Commit graph

3168 commits

Author SHA1 Message Date
Florian Schmaus
3640339073 Fix ConnectionConfiguration.getEnabledSaslMechanisms()
in case enabledSaslMechanisms is null, because then unmodifiableSet()
will throw an NPE.

Thanks to Nándor Holozsnyák for reporting.
2017-03-15 21:25:37 +01:00
Florian Schmaus
0a6843f41f Make StreamNegotiator weakly reference XMPPConnection
by extending Manager.

Because FileTransferNegotiator will hold a strong reference to the
StreamNegotiators, which will eventually prevent XMPPConnection from
being GC'ed if no weak references in StreamNegotiator are used.

Thanks to Werner Glanzer for pointing this out.
2017-03-15 21:17:49 +01:00
Florian Schmaus
a592a12229 Make InBandBytestreamManager use weak references to XMPPConnection 2017-03-15 15:07:41 +01:00
Florian Schmaus
525feaa161 Add SynchronizationPoint.getFailureException() 2017-03-13 07:37:40 +01:00
Florian Schmaus
fc9748b567 Smack 4.2.1-SNAPSHOT 2017-03-10 23:26:53 +01:00
Florian Schmaus
b9b8b1a780 Smack 4.2.0 2017-03-10 21:39:01 +01:00
Florian Schmaus
b436ab897d Travis CI: Remove MaxPermSize=512M
since we are using only Java8 now, where this option no longer exists.
2017-03-10 17:55:07 +01:00
Florian Schmaus
1cc9cec677 Use thread local variables for (Secure)Randoms 2017-03-10 17:55:07 +01:00
Florian Schmaus
09b6608a3a Fix and improve the HTTP File Upload implementation
Fix a few resource leaks. Improve the API and add an integration
test. Also add compability layer for XEP-0363: HTTP File Upload 0.2.

SMACK-747
2017-03-10 17:54:29 +01:00
Grigory Fedorov
72d4c8b611 Add support for XEP-0363: HTTP File Upload.
Fixes SMACK-747
2017-03-10 17:47:13 +01:00
Florian Schmaus
a8c6de6b98 Improve MamManager javadoc 2017-03-10 17:47:13 +01:00
Daniel Hintze
1c5c8e32d9 Fixing typo + method name in messaging documentation 2017-03-10 17:47:13 +01:00
Florian Schmaus
e141de9aa4 Fix possible NPE in roster push listener
Daniele Ricci reporting the following NPE using Smack 4.1.9

java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.indexOf(int)' on a null object reference
       at org.jxmpp.util.XmppStringUtils.parseBareJid(XmppStringUtils.java:124)
       at org.jivesoftware.smack.roster.Roster$RosterPushListener.handleIQRequest(Roster.java:1416)
       at org.jivesoftware.smack.AbstractXMPPConnection$2.run(AbstractXMPPConnection.java:1061)
       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1113)
       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:588)
       at java.lang.Thread.run(Thread.java:818)

This is possibly caused by a service sending roster pushes for unbound
connections, i.e. where getUsers() returns 'null'. We now log such
situations instead throwing an NPE.
2017-03-10 17:47:13 +01:00
Florian Schmaus
6b7a8142c9 Merge pull request #110 from vfite/BOSH-ERROR
Add parsing non stream errors for BOSH
2017-02-27 13:34:02 +01:00
vfite
fb82e04109 add parsing non stream errors for BOSH 2017-02-27 14:14:04 +02:00
Florian Schmaus
ccd386ebbc Merge pull request #106 from annovanvliet/fixBuild
Make Smack buildable under windows.
2017-02-27 12:04:59 +01:00
Anno van Vliet
382d519766 Make Smack buildable under windows.
Specify UTF-8 as character set. Added some symbolic links to smack-integration-test for consistency sake.
2017-02-26 18:13:10 +01:00
Florian Schmaus
32fd52ea8e Sync MAM API with PubSub API: One MamManager per MAM archive address 2017-02-24 19:33:11 +01:00
Florian Schmaus
00005d87be Improve MamTest
- Use DummyConnection
- Use InitExtensions
2017-02-24 19:32:46 +01:00
Florian Schmaus
1c30881557 build.gradle: Add 'testRuntime' configuration to artifacts
To complete the 'testRuntime' artifact configuration.
2017-02-24 19:27:09 +01:00
Anno van Vliet
c13cddd91a Enable querying MAM by address and node.
Enhance the API to query archives for example from a room or a pubsub
node.
2017-02-24 08:11:57 +01:00
Florian Schmaus
68cecf2eee Fix the MUC join presence response filter
Error responses do not contain the '110' status. Therefore we have to
filter for them via the stanza id and the from address.
2017-02-20 14:22:19 +01:00
Florian Schmaus
6cfdf2bc6f Use CopyOnWriteArraySet for pingFailedListeners
To prevent

java.util.ConcurrentModificationException
  at java.util.HashMap$HashIterator.nextEntry(HashMap.java:788)
  at java.util.HashMap$KeyIterator.next(HashMap.java:815)
  at org.jivesoftware.smackx.ping.PingManager.pingMyServer(PingManager.java:252)
  at org.kontalk.service.msgcenter.MessageCenterService$3.run(MessageCenterService.java:1114)
  at java.lang.Thread.run(Thread.java:818)

Thanks to Daniele Ricci for reporting this.
2017-02-15 20:16:40 +01:00
Florian Schmaus
bb3eeb9af0 Travis CI: Don't build with Oracle JDK 7
since the bump of Error Prone to 2.0.15, the JDK 7 javac is no longer
supported. Note that we still generate version 51 (Java 7) class
files.
2017-02-11 20:40:15 +01:00
Florian Schmaus
4d58fc136b Smack 4.2.0-rc4-SNAPSHOT 2017-02-11 20:39:54 +01:00
Florian Schmaus
5f7be5abf3 Smack 4.2.0-rc3 2017-02-11 16:59:18 +01:00
Florian Schmaus
4c646436a5 Bump "Error Prone" to 2.0.15
and fix a few things :)
2017-02-11 16:16:41 +01:00
Florian Schmaus
ef0af66b21 Enfore spaces for indentation
Although I'm in the tabs camp, Smack uses mostly spaces. Therefore it
is the logical choice for the indentation style.
2017-02-07 22:10:10 +01:00
Florian Schmaus
ffe9397e66 Fix SASLMechanism.compareTo(SASLMechanism)
Thanks to Aleksander Melnichnikov for pointing this out.
2017-02-02 16:08:37 +01:00
Florian Schmaus
bf1e07e672 Fix chat2.ChatManager's message filter
Thanks to Andras Csete for pointing this out.
2017-02-02 12:46:50 +01:00
Florian Schmaus
684d33b773 Fix Carbon Listener setup
We can't always setup the carbons listener in the constructor of the
manager, as the our local XMPP address may not be available yet. So
setup the carbons listener on a connection listener *and* in the
constructor.
2017-02-01 10:59:44 +01:00
Florian Schmaus
872b254db5 sendStanzaWithResponseCallback: Ensure exactly one callback is called 2017-01-30 21:01:56 +01:00
Florian Schmaus
46e8866440 Improve log message of RosterResultListener 2017-01-30 17:09:30 +01:00
Florian Schmaus
b142060f9e sendStanzaWithResponseCallback(): remove listener right away
I'm not sure why i've put the removeAsyncStanzaListener() call into
the finally block. If callback.processStanza(Stanza) takes a long
time (or even blocks), then it would appear to the "no response"
handling Runnable as if there was no response, when in fact there was
one.
2017-01-30 17:09:30 +01:00
Florian Schmaus
187fe37cd7 Fix MucEnterConfiguration.Builder.withPresence(Presence) throw ISE
when presence is of type available. This inverts the logic to fix
this.
2017-01-30 17:09:29 +01:00
Florian Schmaus
85fcb55bd9 Fix roster handling of outgoing 'unavailable' presence
make sure that the 'to' attribute is not set, as otherwhise the
listener would also be invoked e.g. when the user leaves a MUC.
2017-01-29 11:12:30 +01:00
Florian Schmaus
5d0dd49e61 Introduce ToMatchesFilter
and refactor the FromMatchesFilter into AbstractFromToMatchesFilter.
2017-01-29 11:08:16 +01:00
Florian Schmaus
51378aebee Revert "Throw exception if stanza child contains text"
This reverts commit eb9242768c.

Turns out, that there is in fact not such restriction in the
RFCs (only for <subject/>, <body/> and the a few others).
2017-01-24 22:47:16 +01:00
Florian Schmaus
62d903171f Remove NOP from FromMatchesFilter 2017-01-24 22:46:00 +01:00
Florian Schmaus
2ac0fc72ba Handle NameNotFoundException in smack-resolver-javax 2017-01-24 20:14:01 +01:00
Florian Schmaus
1bcb5a2d1a Also check that srvRecords is not empty 2017-01-24 20:13:40 +01:00
Florian Schmaus
9526926cd3 Log message about missing SRV RRs 2017-01-24 20:13:26 +01:00
Florian Schmaus
35ac228125 Add CarbonCopyReceivedListener 2017-01-24 08:46:08 +01:00
Florian Schmaus
33371cffaf Move ChatStateExtension Provider in its own class 2017-01-23 22:59:53 +01:00
Florian Schmaus
af1bde4fd0 Make MUC invitations 'from' value an EntityJid
instead of an EntityFullJid, because according to XEP-0045 § 7.8.1.:

"The <room@service> itself MUST then add a 'from' address to the
<invite/> element whose value is the bare JID, full JID, or occupant
JID of the inviter …"
2017-01-20 17:06:06 +01:00
Florian Schmaus
a4ae941a7c Fix memory leak in MUC-light
Basically the same fix as for MUC in
965cbcc979
2017-01-20 16:48:21 +01:00
Florian Schmaus
4377e39b5f Add javadoc about client set resourceparts 2017-01-20 12:24:26 +01:00
Florian Schmaus
4d7b9318ce Add callbacks for block/unblock events to BlockingCommandManager 2017-01-20 08:57:03 +01:00
Florian Schmaus
ff97d2eb35 Make BlockContactsIQProvider idiomatic
The jids list doesn't have to be lazy initialized, because every IQ of
that type is guaranteed to contain at least one JID.

Also use ParserUtils.getJidAttribute().
2017-01-20 08:56:56 +01:00
Florian Schmaus
b3662c0682 Make UnblockContactsIQ immutable
and make the serialization function idiomatic.
2017-01-20 08:56:50 +01:00