1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-19 13:02:05 +01:00
Commit graph

54 commits

Author SHA1 Message Date
Florian Schmaus
b16f34f61e SMACK-458 Managers should be kept on disconnects
Smack's Managers should not remove itself when the connection is closed
or should re-add themselves if the connection get reconnected.

This should also fix some NPE's.

We are currently going with two different designs of Manager: 1. The one
with WeakReferences/WeakHashMaps (SDM, EntityCapsManager) and 2. the one
where the managers remove their listeners on connectionClosed() *and*
connectionClosedOnError(), and later add their listeners on
reconnectionSuccessful(). The first design has the Connection instance
only weak referenced. The other design does reference Connection
strongly (e.g. the 'managers' map in IBBManager/S5BManager), but removes
this references when connectionClosed(onError)() is called.

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_2@13788 b35dd754-fafc-0310-a699-88a17e54d16e
2013-10-26 11:17:16 +00:00
Florian Schmaus
bd709dc323 SMACK-452 Correctly parse stream error packets
Modified PacketParserUtils.parseStreamError() to take into account that
there may be an optional text element and an optional application
specific element.

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_2@13767 b35dd754-fafc-0310-a699-88a17e54d16e
2013-10-09 17:02:34 +00:00
Florian Schmaus
30bc5afa2b SMACK-425 Introduced smack.parsing.ParsingExceptionCallback, a callback invoked when a exception is thrown while parsing a stanza. Smack is now able to either rethrow the exception ulitmatly causing a disconnect *or* log/ignore the exception and resume parsing after the faulty stanza.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_1@13688 b35dd754-fafc-0310-a699-88a17e54d16e
2013-06-22 17:01:40 +00:00
rcollier
f0d729ef52 SMACK-415 Added fix for handling the empty tag case.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13624 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-27 15:37:21 +00:00
rcollier
13d87e3d40 SMACK-361 Changed default for filename encoding to Base 32 (which should work on all file systems) and added a Base 64 filename and url safe implementation of the StringEncoder.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13619 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-20 21:55:27 +00:00
rcollier
a3faa41696 SMACK-403 Pulling this contribution until the related specs reach a draft status
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13612 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-16 02:19:38 +00:00
rcollier
3a4b05ac00 SMACK-412 Abstracted the keepalive implementation and set the thread to start and stop on demand.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13610 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-16 01:39:17 +00:00
rcollier
b4432d7627 SMACK-352 Changed or removed copyright notices that should not have been attributed to Jive Software.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13604 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-07 19:15:32 +00:00
rcollier
4155e9ca80 SMACK-391 Reformat some new files to Smack standard
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13602 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-07 13:17:26 +00:00
rcollier
b28037bc79 SMACK-331 Changed methods to existing Smack conventions and moved interface to top level.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13601 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-02 00:23:55 +00:00
rcollier
9da54ecbce SMACK-225 Converted abstract class to interface, added missing hashcode method, fixed typos and some minor name changes and added licensing text
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13600 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-01 13:40:02 +00:00
rcollier
a14178990b SMACK-412 Added the pingMyServer back in, cleaned up unneeded synchronization and removed minimum ping interval.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13588 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-23 11:59:08 +00:00
Florian Schmaus
07a0b8f722 SMACK-413 fixed vCard parsing regarding the PHOTO element. Moved vCard test cases to unit-test where appropriate. Added testcases for vCard PHOTO parsing.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13586 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-23 00:30:59 +00:00
rcollier
e3f842da8c SMACK-361 Updated test case to fix create temp directory on Windows
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13574 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-19 22:42:43 +00:00
rcollier
aab1dcdabe SMACK-412 Split the ping implementation to a server ping to replace keepalive and a simplified ping manager for manual pings of other entities.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13569 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-19 02:37:36 +00:00
Florian Schmaus
2eb13f48d2 SMACK-225 Fixed DNS SRV handling, as per RFC 2782. Added support for multiple DNS SRV resolvers namely javax and org.xbill.dns (aka dnsjava).
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13561 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-18 08:53:11 +00:00
Florian Schmaus
21be8c55ee SMACK-361 Added support for Entity Capabilities.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13560 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-18 08:50:48 +00:00
Florian Schmaus
b907d606d9 SMACK-352 removed duplicated headers, fixed svn keywords
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13459 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-07 19:10:22 +00:00
Florian Schmaus
6bbf425157 SMACK-352
- fixed wrong header
- replaced old Jive license with Apache 2.0 license
- added license header to files without

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13457 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-07 14:19:47 +00:00
rcollier
d1e9d81769 SMACK-341 Updated collectors to use concurrent classes.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13452 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-07 03:42:33 +00:00
rcollier
e0e92eca76 SMACK-407 Time zones now parse correctly.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13442 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-06 03:38:11 +00:00
rcollier
4402b8c7db SMACK-391 Forgot to check in new file.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13438 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 15:57:01 +00:00
Florian Schmaus
bfefbdb777 Implement XEP-0184 delivery notifications
This patch provides three components required to implement XEP-0184:

 * DeliveryReceiptRequest is a PacketExtension to request a receipt
 * DeliveryReceipt is a PacketExtension that contains the receipt
 * DeliveryReceiptManager to handle sending/receiving of requests and
   receipts.

Implementation:

For requesting a receipt, just add a new DeliveryReceiptRequest() to
your message or use the helper function:

    DeliveryReceiptManager.addDeliveryReceiptRequest(packet);

Register a ReceiptReceivedListener to find out if your packet arrived:

    DeliveryReceiptManager.getInstanceFor(myConnection)
	.registerReceiptReceivedListener(new ReceiptReceivedListener() {
	    @Override public void onReceiptReceived(String fromJid,
				    String toJid, String receiptId) {
		// receipt received for packet id receiptId
	    }

To answer a receipt request, you can either check incoming packets
manually:

    if (DeliveryReceiptManager.hasDeliveryReceiptRequest(packet)) {
	// send receipt
    }

Or you can enable automatic receipt transmission with:

    DeliveryReceiptManager.getInstanceFor(myConnection)
	    .setAutoReceiptsEnabled(true);

Signed-Off-By: Georg Lukas <georg@op-co.de>

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13431 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 09:53:56 +00:00
rcollier
1d36ae8db4 SMACK-391 Moved all date parsing into StringUtils and made it much more robust in handling multiple valid and invalid formats.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13428 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 03:45:37 +00:00
Florian Schmaus
401c37bd28 SMACK-404 Changed StringUtils.decodeBase64(String) behavior so that the method does not try to detect and decompress a gzip-compressed input. Refactored every use of the Base64.(de|en)code* methods to use the StringUtils (de|en)codeBase64 methods instead.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13416 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-29 22:49:20 +00:00
Florian Schmaus
2a1f4e8376 SMACK-403 add support for
XEP-0297 Stanza Forwarding and XEP-0280 Message Carbons
and
XEP-0297: Stanza Forwarding implementation

This patch adds Forwarded.java, a class to wrap messages forwarded
from a different entity. A forwarded stanza contains of a Packet and
an optional timestamp.

WARNING: The current implementation only allows to forward Message
packets, as there is no universal way to parse a Packet from SMACK.

XEP-0280 Message Carbons implementation

This patch adds Carbon.java, a class to wrap the packet extension
defined in XEP-0280 to store copies of messages sent to or received
by a user to his other client(s).

The CarbonManager allows to register XEP-0280 support with the SDM,
to enable and disable the feature and to manipulate messages
accordingly.

Signed-Off-By: Georg Lukas <georg@op-co.de>

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13411 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-28 09:38:02 +00:00
Florian Schmaus
4018fa3c7b SMACK-388 Moved PingProvider, Ping and Pong under ../smackx/ping package
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13394 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-15 19:56:25 +00:00
Florian Schmaus
efacd34b2e Fix issue with Socks5ProxyTest: The read() method throws an Exception if the socket is closed. Catch this Exception and report the testcase as successful.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13385 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-04 11:47:53 +00:00
Florian Schmaus
8c14f0cb55 Added XEP-199 aka. "XMPP Ping" support to smack. Fixes SMACK-388.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13384 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-04 11:43:35 +00:00
rcollier
e08c8afe44 SMACK-363 Applied code cleanup patches for many generics related issues.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13325 b35dd754-fafc-0310-a699-88a17e54d16e
2012-10-26 10:47:55 +00:00
rcollier
a92d37a32b SMACK-349 Couple of fixes to test cases based on changes in base64 encoding buffer sizes.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12957 b35dd754-fafc-0310-a699-88a17e54d16e
2012-01-27 21:30:09 +00:00
rcollier
ec66d6ea52 Added a few more tests for pubsub configuration
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12587 b35dd754-fafc-0310-a699-88a17e54d16e
2011-09-08 21:32:06 +00:00
rcollier
da5434505b SMACK-129 - Added a property in smack-config file for the default packet collector size and set it much lower than the previous default. Also made the max size for packet collectors configurable from the constructor.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12509 b35dd754-fafc-0310-a699-88a17e54d16e
2011-06-18 18:18:03 +00:00
rcollier
22d04c26e3 Merge trunk (3.2 release) up to the 3.2 branch for development on 3.2.x releases.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12370 b35dd754-fafc-0310-a699-88a17e54d16e
2011-05-12 02:06:35 +00:00
rcollier
85e5402979 SMACK-330 Added missing node attribute in the item element for pubsub.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12304 b35dd754-fafc-0310-a699-88a17e54d16e
2011-04-29 02:36:58 +00:00
rcollier
750cfa64b0 Fixed bug with setting the form value in ConfigureForm.setChildrenAssociationPolicy. It was trying to set a single string value instead of a list.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12213 b35dd754-fafc-0310-a699-88a17e54d16e
2011-03-30 02:34:21 +00:00
rcollier
2c55c2ac65 SMACK-334 FileTransferNegotiator now passes the correct type in the stream-method variable.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12212 b35dd754-fafc-0310-a699-88a17e54d16e
2011-03-30 00:43:35 +00:00
rcollier
8a8b8ccd79 SMACK-163 Fixed NPE in accessing form field information.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12200 b35dd754-fafc-0310-a699-88a17e54d16e
2011-03-29 00:44:38 +00:00
rcollier
9176bf4a83 Added some new tests and disabled a couple that appear to give false negatives.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12196 b35dd754-fafc-0310-a699-88a17e54d16e
2011-03-28 13:20:27 +00:00
rcollier
2150d07435 Merged the 3.2 Beta branch into trunk.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12107 b35dd754-fafc-0310-a699-88a17e54d16e
2011-03-14 01:53:42 +00:00
rcollier
75094d0199 SMACK-269 Test cases to support chat lookups.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12029 b35dd754-fafc-0310-a699-88a17e54d16e
2011-02-21 19:13:16 +00:00
Henning Staib
a5693609b2 add the ability to register for roster events before logging in (SMACK-156)
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11826 b35dd754-fafc-0310-a699-88a17e54d16e
2010-08-15 16:32:09 +00:00
Henning Staib
7a3818783b add support for localized Message subjects (fixes SMACK-310)
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11825 b35dd754-fafc-0310-a699-88a17e54d16e
2010-08-15 15:45:57 +00:00
Henning Staib
cb5310c984 improve Message parser robustness and I18N for Message bodies (fixes SMACK-207 and SMACK-307)
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11824 b35dd754-fafc-0310-a699-88a17e54d16e
2010-08-15 15:13:05 +00:00
Henning Staib
7e01c66374 improved Delay Information Parser (fixes SMACK-243)
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11823 b35dd754-fafc-0310-a699-88a17e54d16e
2010-08-15 13:20:48 +00:00
Henning Staib
8b54f34153 merged branch improve_bytestreams in trunk
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11821 b35dd754-fafc-0310-a699-88a17e54d16e
2010-08-15 11:57:11 +00:00
Henning Staib
3e16b35162 moved ibb and socks5bytestream packages in the bytestream package
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/improve_bytestreams@11819 b35dd754-fafc-0310-a699-88a17e54d16e
2010-08-15 11:27:13 +00:00
Henning Staib
8cb01900c9 applied patches for extracted api for socks5 bytestreams and in-band bytestream
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/improve_bytestreams@11818 b35dd754-fafc-0310-a699-88a17e54d16e
2010-08-15 10:49:11 +00:00
Günther Niess
446a601b73 SMACK-304: Extend the IQ API to create IQ responses
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11669 b35dd754-fafc-0310-a699-88a17e54d16e
2010-03-24 19:44:02 +00:00
Günther Niess
e5ddf55311 Unit test for handling empty groups (SMACK-294)
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11640 b35dd754-fafc-0310-a699-88a17e54d16e
2010-02-18 13:38:57 +00:00