Florian Schmaus
6aa195eb88
SMACK-382 Prevent memory leak in AdHocCommandManager by only creating the Thread if it's actually needed
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13582 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-22 18:15:21 +00:00
Florian Schmaus
bd70a95f8c
SMACK-384 Don't use a semaphore while waiting for PacketReader to be started.
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13581 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-22 18:15:13 +00:00
Florian Schmaus
a7d73993b0
SMACK-430 Re-activated code that throws an exception if createOutgoingFileTransfer() was called with a bare JID
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13580 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-22 18:15:06 +00:00
Florian Schmaus
3891c738ad
Added isFullJID() helper in StringUtils
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13579 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-22 18:14:58 +00:00
Florian Schmaus
26338a2754
SMACK-417 If both PacketReader and PacketWriter fail at the same time, connectionClosedonError() is called two times
...
Refactored notifyConnectionError() and notifyReconnection() from PacketReader to XMPPConnection. Made PacketReader.done and PacketWriter.done volatile. Prevent duplicate connectionClosedonError() calls by making the method synchronzied and protected them with an enter guard: if (packetReader.done && packetWriter.done) return;
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13566 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-18 19:57:28 +00:00
Florian Schmaus
cb44042d3c
SMACK-419 PacketWriter: Only flush if queue is empty
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13565 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-18 19:56:58 +00:00
Florian Schmaus
848d393b73
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/trunk@13559 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-18 08:42:26 +00:00
Florian Schmaus
9123578ea5
SMACK-361 Added support for Entity Capabilities.
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13558 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-18 08:40:35 +00:00
Florian Schmaus
1167523c4f
SMACK-423 Parse unhandled IQ stanzas of type 'request' to dummy IQ class, so that the contents can be examined later on.
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13538 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-05 10:32:23 +00:00
Florian Schmaus
5c6f257027
SMACK-388
...
Use ScheduledExecutorService.
Set ping received when pinging another entity.
Refactored PacketListener and ConnectionListeners as anonymous inner-classes
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13531 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-27 22:49:04 +00:00
Florian Schmaus
c6248ec000
SMACK-389 Plugable compression framework
...
This commit adds the ability to plug-in different compression handlers
for different compression methods. It is also possible to add more
then one handler for the same method. The order how the handlers are
added determines which handler is tried first for usage. This is used
for the 'zlib' compression method, which now can be either provided by
Java7 or by JZlib (just like it was done before).
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13522 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-26 09:26:41 +00:00
Florian Schmaus
5dea9d3ee1
SMACK-379 Removed mandatory session establishment, since it was dropped from the newer XMPP-IM RFC (a.k.a. RFC 6121)
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13521 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-26 08:44:32 +00:00
Florian Schmaus
da1987a98b
SMACK-376 Allow supplying a custom SSLContext for encrypted connections.
...
The provided TrustManager / SSLContext implementation is very flexible,
but it does not allow to query the user about accepting possibly
invalid SSL certificates. By supplying a custom SSLContext with a
TrustManager implementing such a query mechanism it is possible to
implement this behaviour.
The patch adds ConnectionConfiguration.customSSLContext with appropriate
getter/setter methods and uses the custom context in XMPPConnection.
Signed-Off-By: Georg Lukas <georg@op-co.de>
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13520 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-26 08:44:17 +00:00
Florian Schmaus
c57843eeee
Aligned integration test config file 'test-case.xml' settings to reflect the defaults in SmackTestCase. Renamed the file to test-case.example.xml and added remark about the usage of the file
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13480 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-14 11:43:53 +00:00
Florian Schmaus
091015aa4b
SMACK-358: Support account creation parameters for LoginTest.testLoginWithNoResource()
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13479 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-14 11:43:41 +00:00
Florian Schmaus
b2a0a2154b
Updated eclipse settings: if else, javadoc line length
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13478 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-14 11:43:24 +00:00
Florian Schmaus
4060a97b65
SMACK-345: Improved detection of last activity. Properly synchronized access to lastMessageSent and registerd last activity namespace with ServiceDiscoveryManager. Improved LastActivity Provider
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13475 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-14 00:00:54 +00:00
Florian Schmaus
ddabe436b4
PingManager: Fixed imports
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13474 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-14 00:00:26 +00:00
Florian Schmaus
577fda6e62
Makefile: added javadoc target
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13473 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-14 00:00:02 +00:00
Florian Schmaus
1a170c1561
ServiceDiscoveryManager: Use 'Set' as data structure for features to prevent reporting duplicate features
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13465 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-11 17:22:42 +00:00
Florian Schmaus
7723b9fcfd
ServiceDiscoveryManager: Anounce 'disco#info' and 'disco#items' on service discovery queries in accordance with XEP-0030
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13464 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-11 17:22:31 +00:00
Florian Schmaus
c309e27853
Fix NPE in Testcases where 'createOfflineConnections() == true'. The change 13453 created the username and password array, which needs to be initilized even if the connection and the login is done manually
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13460 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-07 19:10:32 +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
a686b4c092
Update MultiUserChat to use the correct namespace according to the latest version of XEP-0045.
...
Newer versions for XEP-0045 (MUC) use muc#admin for all onwer related operations.
Fixes SMACK-371. Credits and thanks go to Colby White for reporting this.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13458 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-07 19:08:05 +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
14f139f642
Fixed small problem in one field and removed possible NPE on get from any field.
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13454 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-07 03:57:38 +00:00
rcollier
8c0b062629
Updates to SmackTestCase to properly provide the username and password for each connection. Test cases manually logging in now use these methods instead of wrongly assuming the username/password pattern.
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13453 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-07 03:47:49 +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
Florian Schmaus
04cea9e28c
SMACK-395 Forgot to actually add the discovered proxies
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13441 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 21:59:07 +00:00
Florian Schmaus
592135c0e9
SMACK-395 Socks5BytestreamManager.establishConnection(): Don't bail out with an Exception uf the local XMPP service does not support Service Discovery (e.g. talk.google.com). Instead remember the Exception and give the local proxy (if enabled) a chance.
...
Also compute the digest only if it's really needed, that is when streamHosts is not empty.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13440 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 21:36:39 +00:00
Florian Schmaus
55893400c7
Makefile: Added integration-est target and JAVA_TOOL_OPTIONS to set the correct file encoding
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13439 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 21:36:32 +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
010ab0d07a
VCardTest: Use VCard.equal() in order to test equality and not the String representation, since the elements within the vcard could be in a different order
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13435 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 13:33:28 +00:00
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
d1893d541e
eclipse: removed old junit from classpath. Smack testcases need junit 3.8.2 or higher in order to run correct
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13433 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-04 13:32:57 +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
2afd3bdfa3
Remove .settings from the 'all' target in Makefile
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13422 b35dd754-fafc-0310-a699-88a17e54d16e
2013-02-01 17:20:38 +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
e3f84cdbe6
Eclipse config: Disable 'save actions'
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13415 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-29 22:49:07 +00:00
Florian Schmaus
054656c771
Add eclipse configuration and Makefile. The eclipse configuration can be activated with the 'eclipse' make target ('make eclipse').
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13414 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-29 22:04:09 +00:00
Florian Schmaus
d8f11a0b71
SMACK-388 register PingProvider with smack.providers. The static register code was removed with 13406 ( http://fisheye.igniterealtime.org/changelog/smack?cs=13406 )
...
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13413 b35dd754-fafc-0310-a699-88a17e54d16e
2013-01-28 09:57:09 +00:00