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

617 commits

Author SHA1 Message Date
Florian Schmaus
4cd53e4419 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.
Conflicts:
	source/org/jivesoftware/smack/SmackConfiguration.java

git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13685 b35dd754-fafc-0310-a699-88a17e54d16e
2013-06-22 17:00:27 +00:00
rcollier
dac68c64a9 Merge from 3.3 branch
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@13663 b35dd754-fafc-0310-a699-88a17e54d16e
2013-05-18 16:56:52 +00:00
rcollier
57051abfea Updated version information for 3.3 release.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13638 b35dd754-fafc-0310-a699-88a17e54d16e
2013-05-04 12:15:17 +00:00
rcollier
fe2e9cdb76 SMACK-344 Patch applied that allows the host and service name to be different for SASL authentication
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13620 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-20 22:05:28 +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
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
ba81a45b8c SMACK-404 Removed unnecessary string construction.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13603 b35dd754-fafc-0310-a699-88a17e54d16e
2013-04-07 15:41:20 +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
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
0fdfd6e75e SMACK-361 Some general code cleanup added some missing hashcode methods and added back some removed public API methods (marked as deprecated).
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13598 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-31 14:24:50 +00:00
rcollier
b0bdd56b20 SMACK-412 Fixed merge error.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13589 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-23 13:27:55 +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
rcollier
999c86ef4c SMACK-225 Modified DNSUtils to return a default HostAddress when no DNS resolver is available. This restores the previous default behaviour.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13587 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-23 11:55:43 +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
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
57a5f88ead SMACK-384 Don't use a semaphore while waiting for PacketReader to be started.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13577 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-22 18:14:08 +00:00
Florian Schmaus
ff64c57b4d Added isFullJID() helper in StringUtils
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13575 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-22 18:13:53 +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
a55b54f20b 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/branches/smack_3_3_0@13568 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-18 19:58:48 +00:00
Florian Schmaus
6dcf8e0123 SMACK-419 PacketWriter: Only flush if queue is empty
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/branches/smack_3_3_0@13567 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-18 19:58:14 +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
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
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
1cdb86989a 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/branches/smack_3_3_0@13539 b35dd754-fafc-0310-a699-88a17e54d16e
2013-03-05 10:35:04 +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
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
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
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
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
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
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
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
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