1
0
Fork 0
mirror of https://codeberg.org/Mercury-IM/Smack synced 2024-11-27 16:52:07 +01:00
Commit graph

900 commits

Author SHA1 Message Date
Florian Schmaus
0ca8b726bd PubSub SubcribeForm: Use new StringUtils.formatXEP0082Date to get the correct date string. Note that the previous used SimpleDateFormat "yyyy-MM-dd'T'HH:mm:ss.SSSZ" did not produce XEP-0082 conforming strings, since Z is replace with e.g. '+0100' whereas it should be '+01:00'.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13434 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 13:33:15 +00:00
Florian Schmaus
ca78c5be49 String.isEmpty() only comes with Android API level 9 (or higher). Switching back to old isEmptyString check, making Smack Android compatible again
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13432 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 11:04:00 +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
f0cd048635 Added check for missing field type for multi list in data forms.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13430 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 03:53:53 +00:00
rcollier
457959bc88 SMACK-391 New enum to define date formats and profiles.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13429 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 03:52:08 +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
43619de7aa SMACK-377 Avoid an unnecessary DNS request by using directly the, at this point known IP, instead of using the hostname as argument for the new socket.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13420 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-31 22:31:31 +00:00
Florian Schmaus
c76ed51541 SMACK-385 Reuse the KeyStore in order to reduce memory usage. Extended ServerTrustManager with a 'stores' (Hash)Map that allows the reuse of an existing KeyStore. Before that, every call of KeyStore.getInstance() created a new instance which consumes about 250KiB.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13419 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-31 22:31:04 +00:00
Florian Schmaus
e75f45082b SMACK-270 MultiUserChat relied on finalize() being called in order to remove packet listeners and the association with RoomListenerMultiplexor. The PacketListeners are referenced by Connection, which meant that MultiUserChat is always strongly reachable until the connection dies.
This patch introduces an new MultiUserChat.cleanup() method that is called when userHashLeft() is triggered.

Thanks to Stuart Chalmers and scgmile for reporting this.

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13418 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-31 22:30:49 +00:00
Florian Schmaus
a75d2d7d0d SMACK-375 Properly escape Strings in DiscoverInfo and DiscoverItems for XML.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13417 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-31 22:30:36 +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
b9fe598129 fix typo in PingManager.getInstanceFor() function name
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13410 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-26 09:47:39 +00:00
Florian Schmaus
704ef1f9dc PingManager: Don't register IQProvider since this is done by smack.providers already. This line was actually a leftover from aSmack development.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13406 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-25 00:13:40 +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
6e141eeb68 PingManager: removed debug message that claims to be a error message
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13393 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-11 10:30:52 +00:00
Florian Schmaus
e1bb5a6123 SMACK-278: Call socket.close() in XMPPConnection.shutdown() before
closing the reader and writer streams. This basically prevents the
deadlock reported in SMACK-278.

Additionally, we need to tell the PacketReader and PacketWriter that
the socket got closed and that subsequent caused Exceptions can be
ignored. This is done via the socketClosed boolean in XMPP Connection,
that is queried by PacketReader and PacketWriter in case an Exception
is encountered.

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13390 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-06 14:02:44 +00:00
Florian Schmaus
3c2eaba840 KeepAliveTask: Increased the initial heartbeat dealy in order to
prevent a heartbeat timeout in high latency situations (mobile
environments)"

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13389 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-06 14:02:35 +00:00
Florian Schmaus
7770511111 Fixed typo
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13388 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-06 14:01:52 +00:00
Florian Schmaus
cd15d7499d Fix erroneous cast from byte to int in IBBInputStream's read()
method. The casted value needs to be masked with 0xff, because bytes
in java are signed (two's complement)

Fixes SMACK-394

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13387 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-05 12:53:45 +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
9cd16fe3dd SMACK-374 Added patch to fix memory leak.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13372 b35dd754-fafc-0310-a699-88a17e54d16e
2012-11-22 02:51:51 +00:00
rcollier
fc3ec2ab8a SMACK-390 Log exception in parsing extensions of Presence. Valid Presence will still be returned with extensions missing.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13326 b35dd754-fafc-0310-a699-88a17e54d16e
2012-10-30 01:53:44 +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
6dc64671e2 Merge of 3.2 stream back into trunk
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12965 b35dd754-fafc-0310-a699-88a17e54d16e
2012-02-07 04:32:59 +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
62ce8e85dd SMACK-362 Added check for no values on form.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12926 b35dd754-fafc-0310-a699-88a17e54d16e
2011-12-21 14:58:48 +00:00
rcollier
2115a6b545 Moved the EmbeddedExtensionProvider from smackx to smack, since it is not tied to extensions but is a simple utility for aiding in parsing of custom cabinets.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12922 b35dd754-fafc-0310-a699-88a17e54d16e
2011-12-19 17:28:57 +00:00
rcollier
298841cf54 Moved the EmbeddedExtensionProvider from smackx to smack, since it is not tied to extensions but is a simple utility for aiding in parsing of custom cabinets.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12921 b35dd754-fafc-0310-a699-88a17e54d16e
2011-12-19 17:26:47 +00:00
rcollier
be3b4ae9ef Updated url in javadoc. Changed from jabber to xmpp.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12919 b35dd754-fafc-0310-a699-88a17e54d16e
2011-12-19 15:45:24 +00:00
rcollier
01d444ac78 SMACK-353 Fix thread leak issue.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12918 b35dd754-fafc-0310-a699-88a17e54d16e
2011-12-19 15:43:52 +00:00
Tim Jentz
e16cb2b4cc SMACK-354 Provide milliseconds in timestamp colum debugwindow
Applied the smack-354-debug_milliseconds.patch

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12914 b35dd754-fafc-0310-a699-88a17e54d16e
2011-12-16 13:39:24 +00:00
rcollier
197548b548 SMACK-346 Return correct error code on file transfer refusal
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12860 b35dd754-fafc-0310-a699-88a17e54d16e
2011-10-09 01:58:56 +00:00
rcollier
55f4eb68be SMACK-349 The correct byte size is now calculated for outgoing ibb streams, taking into account the base64 encoding.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12859 b35dd754-fafc-0310-a699-88a17e54d16e
2011-10-09 01:38:09 +00:00
rcollier
3b47f94b35 SMACK-263 Applied patch for setting file info for transfer
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12854 b35dd754-fafc-0310-a699-88a17e54d16e
2011-10-08 03:48:29 +00:00
rcollier
c96be693dc Moved utility class to the core, since it is not extension related and useful for all code.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12598 b35dd754-fafc-0310-a699-88a17e54d16e
2011-09-21 23:57:34 +00:00
rcollier
3f89df061d Merged the 3.2 branch back into trunk.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12588 b35dd754-fafc-0310-a699-88a17e54d16e
2011-09-09 01:26:22 +00:00
rcollier
fdd60122d3 SMACK-348 Updated broken links.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12580 b35dd754-fafc-0310-a699-88a17e54d16e
2011-08-18 03:44:41 +00:00
rcollier
eda09cb3ca SMACK-324 Applied recommended patch to remove improper stanza construction.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12579 b35dd754-fafc-0310-a699-88a17e54d16e
2011-08-18 03:28:05 +00:00
rcollier
98d03d2d75 Just cleaning up an import used in the javadoc.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12575 b35dd754-fafc-0310-a699-88a17e54d16e
2011-08-15 01:28:15 +00:00
rcollier
50bf29b122 Updates for Release of 3.2.1
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12557 b35dd754-fafc-0310-a699-88a17e54d16e
2011-07-04 19:51:43 +00:00
Wolf Posdorfer
87ccd0b1c2 clear all rows button now clears all rows
patch by lemon

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12548 b35dd754-fafc-0310-a699-88a17e54d16e
2011-06-29 07:58:13 +00:00
rcollier
402b430291 SMACK-230 Added synchronization since disconnect can be called from multiple threads.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12540 b35dd754-fafc-0310-a699-88a17e54d16e
2011-06-23 19:55:10 +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
Wolf Posdorfer
0c88e19d3b SMACK-273
if RoomListenerMultiplexor is null also return a new one for this connection

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12441 b35dd754-fafc-0310-a699-88a17e54d16e
2011-06-01 07:41:17 +00:00
Wolf Posdorfer
a71d8960e8 SMACK-329
changed <br>-Tag to xhtml compliant <br/>-tag

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12440 b35dd754-fafc-0310-a699-88a17e54d16e
2011-06-01 07:39:05 +00:00
Wolf Posdorfer
5e8f1c029b adding Generics to Iterators without
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12431 b35dd754-fafc-0310-a699-88a17e54d16e
2011-05-30 11:31:02 +00:00
Holger Bergunde
a12167ebfc SMACK-338 this should use IBB as fallback protocol if available
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_2_0@12409 b35dd754-fafc-0310-a699-88a17e54d16e
2011-05-23 14:11:35 +00:00
Holger Bergunde
3558b1bbcb SMACK-324 removed non base64 char from SASL response packet.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12372 b35dd754-fafc-0310-a699-88a17e54d16e
2011-05-12 07:32:46 +00:00
rcollier
84c43c4fdd Updated all version info for 3.2 release.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12329 b35dd754-fafc-0310-a699-88a17e54d16e
2011-05-04 23:41:24 +00:00