Commit Graph

143 Commits

Author SHA1 Message Date
Georg Lukas ab70cfec24 Refactoring: All connection classes begin with XMPP now
This commit renames classes as follows:
 * TCPConnection --> XMPPTCPConnection
 * BOSHConnection --> XMPPBOSHConnection

There are two reasons for this rename. First, it is there to indicate
that the classes actually _are_ XMPP connections, using different
transport mechanisms. Second, it makes auto-completion in IDEs easier,
the developer can type XMPP<complete> and choose the right backend.
2014-04-09 20:03:07 +02:00
Florian Schmaus d8a5610d7b Use Locale.US when doing String operations
on machine readable output. The default locale may not provide the
wanted mapping. See also
http://developer.android.com/reference/java/util/Locale.html#default_locale

SMACK-467
2014-04-03 22:50:13 +02:00
Florian Schmaus c4f86762cb Reworked DiscoverInfo and DiscoverItems
- Change the return type from Iterator to List
- Remove the synchronized blocks
2014-03-28 14:46:30 +01:00
Florian Schmaus fcc8414a92 "not connected" is now a checked Exception thrown by sendPacket()
There is a unsolveable race condition between the connection state and
sendPacket(), i.e. the connection could go down, right after the
method calling sendPacket is called, but before sendPacket() is
invoked. Before this change, sendPacket() has thrown an unchecked
IllegalStateException, which could be ignored by the Smack user, who
would also not notice the race condition. We have decided to throw a
checked Exception in this case now, to make the Smack user aware of
this situation.

SMACK-426
2014-03-19 15:56:41 +01:00
Florian Schmaus 64e7b8a868 Move getRoster() to XMPPConnection
Also remove the Exceptions from the signature of getRoster().

Extend ConnectionListener with connected() and authenticated()
callbacks, required by Roster to be notified so that the Roster can be
loaded *after* login.
2014-03-15 11:21:49 +01:00
Florian Schmaus 4b56446e40 Introduce SmackException
SmackException (and it's subclasses) is for all errors/exceptions not
defined by any XMPP specification. XMPPException is now an abstract
class for all errors defined by the XMPP specifications.

Methods that involve an IQ exchange now either return the result, which
is obtained by IQ response, or they throw an XMPPErrorException if an IQ
error was the result of the IQ set/get. If there was no response from
the server within the default packet timeout, a NoResponseException will
be thrown.

XMPP SASL errors are now also reported accordingly.

SMACK-426
2014-03-14 01:46:42 +01:00
Georg Lukas d5195c4004 Update XMPPError to RFC6120
Fixes SMACK-445
2014-03-11 20:40:39 +01:00
Florian Schmaus b8a5437b28 Fix all javadoc warnings 2014-03-10 21:58:12 +01:00
Florian Schmaus 489816c61f Renamed Connection to XMPPConnection 2014-03-10 09:45:50 +01:00
Florian Schmaus 93eea8ab8d Move gradle subproject configuration into the subproject 2014-03-09 14:59:45 +01:00
Florian Schmaus 14b43581dc Move Jingle packet and provider under smackx.jingle
The Jingle integration-tests where also accidentally not within the
smackx package.
2014-03-09 11:20:30 +01:00
Florian Schmaus 84a3fd7bd9 s/XMPPConnection/TCPConnection 2014-03-09 11:20:30 +01:00
Lars Noschinski 6c7296a37b Add and use IQReplyFilter (SMACK-533)
In the absence of checks on the from address, it is possible for other
clients to fake an answer to an IQ request.

This commit adds an IQReplyFilter, which drops all packets which are not
a valid reply to an IQ request. In particular, it checks for packet id,
from address and packet type.

Most(?) places waiting for a reply to an IQ request are converted to use
the IQReplyFilter.

For a discussion of the issues, see the thread "Spoofing of iq ids and
misbehaving servers" from 2014-01 on the jdev@jabber.org mailing list
and following discussion in February and March.
2014-03-07 16:13:07 +01:00
Florian Schmaus a3e64bab18 Created 'tcp' subproject for TCPConnection
Renamed XMPPConnection to TCPConnection, since the other connection type
is also called BOSHConnection.
2014-03-01 14:31:34 +01:00
Florian Schmaus 24b637876f Substitute MXParser with a call to XmlPullParserFactory
This makes Smack more portable, as there are platforms that support the
XmlPullParser interface, but not MXParser (e.g. Android).

Also enable checkstyle check that MXParser is not used.
2014-02-20 13:48:36 +01:00
Florian Schmaus 602a8fc812 Activate the jingle subproject and move integration tests
The jingle subproject builds now. This doesn't change that the code is
outdated with regard to the specification and unmaintained for
years. But hopefully this is the first step to change that. :)

The integration tests have been moved into SourceSets of 'core' and
'extensions'.
2014-02-19 10:38:30 +01:00
Florian Schmaus d069e1be64 Normalize newlines to '\n'
Change all \r\n into unix style newlines. Add missing newlines at the
end of a file and activate the newline checkstyle module, that enforces
'\n' as newline and a newline at the end of every file.
2014-02-17 23:58:40 +01:00
Florian Schmaus 1e57f1c659 Activate checkstyle and add missing license headers
Delete also all "All rights reserved" statements, as they are
unnecessary and conflict with checkstyle's header check. Delete unused
imports.
2014-02-17 20:09:55 +01:00
Florian Schmaus 201152ef42 Migrate from Ant to Gradle (SMACK-265) 2014-02-14 18:46:33 +01:00
Florian Schmaus 4bc7ce052d Remove RCS header attributes 2014-02-10 12:33:41 +01: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
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 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 67a5e6b98d SMACK-283 Changed the STUNResolver to not use a default server. Thus causing it to fail to initialize if no server is actually configured.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12106 b35dd754-fafc-0310-a699-88a17e54d16e
2011-03-14 01:04:40 +00:00
Wolf Posdorfer f21ae88344 reverting r12099
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12102 b35dd754-fafc-0310-a699-88a17e54d16e
2011-03-11 11:54:11 +00:00
Wolf Posdorfer 4639340c77 adding log4j.properties file into jstun.jar to stop warn4jlog messages
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@12099 b35dd754-fafc-0310-a699-88a17e54d16e
2011-03-11 09:18:58 +00:00
Günther Niess 127319a821 SMACK-279: The XMPPConnection extends the new abstract Connection class
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11613 b35dd754-fafc-0310-a699-88a17e54d16e
2010-02-09 11:55:56 +00:00
Günther Niess 197aa187d9 Fix unmappable character for encoding
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@11253 b35dd754-fafc-0310-a699-88a17e54d16e
2009-09-08 13:12:28 +00:00
Jeff Williams bc9f0179fa Smack-261
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10934 b35dd754-fafc-0310-a699-88a17e54d16e
2008-12-06 02:15:42 +00:00
Matt Tucker f6f1785219 Fixed lib name.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10877 b35dd754-fafc-0310-a699-88a17e54d16e
2008-11-13 18:32:08 +00:00
Matt Tucker 334838d28e HTML and comment cleanup. Small API refactors. Moved use of StringBuffer to StringBuilder.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10865 b35dd754-fafc-0310-a699-88a17e54d16e
2008-11-03 16:28:57 +00:00
Gaston Dombiak b01fc35f91 Renamed jar to NOT contain the version number. Versions of libraries are kepts in versions.txt.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10861 b35dd754-fafc-0310-a699-88a17e54d16e
2008-10-31 04:30:17 +00:00
Gaston Dombiak 4cee472efb Renamed jar to NOT contain the version number. Versions of libraries are kepts in versions.txt.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10860 b35dd754-fafc-0310-a699-88a17e54d16e
2008-10-31 04:26:40 +00:00
Matt Tucker c1ac91664a Fixed library name.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10854 b35dd754-fafc-0310-a699-88a17e54d16e
2008-10-31 01:56:54 +00:00
Jeff Williams 84fcf53512 Significant improvement to Jingle logging messages, and a new SmackLogger that allows for use of java.commons.logging. Improvements to Jingle processing to keep up with recent changes in the XEPs as we approach approval of the standard. (There will be more changes as the standard changes.) Fixes to the way STUN gets used, and a new JSTUN library (including performance and reliability changes we added to it).
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10852 b35dd754-fafc-0310-a699-88a17e54d16e
2008-10-30 21:20:29 +00:00
Gaston Dombiak d23d36974f Updated Jingle implementation. SMACK-240. Thanks to Jeff Williams.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10424 b35dd754-fafc-0310-a699-88a17e54d16e
2008-05-21 16:48:06 +00:00
Gaston Dombiak 646271abac Updated Jingle implementation. SMACK-240. Thanks to Jeff Williams.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10419 b35dd754-fafc-0310-a699-88a17e54d16e
2008-05-21 04:35:42 +00:00
Gaston Dombiak 51fb81926e Updated Jingle implementation. SMACK-240. Thanks to Jeff Williams.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@10407 b35dd754-fafc-0310-a699-88a17e54d16e
2008-05-19 22:54:19 +00:00
Matt Tucker a3e9b99638 Fixing dependencies.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@8276 b35dd754-fafc-0310-a699-88a17e54d16e
2007-05-10 22:55:21 +00:00
Thiago Camargo ac958c9971 [SMACK-223] - More Fixes
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@8217 b35dd754-fafc-0310-a699-88a17e54d16e
2007-05-08 21:29:43 +00:00
Thiago Camargo 904379fd52 [SMACK-223] - Added Window Listener to handle Session Closes
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@8215 b35dd754-fafc-0310-a699-88a17e54d16e
2007-05-08 20:50:18 +00:00
Thiago Camargo 925bd389c2 [SMACK-221][SMACK-222] - Added Keyframe Support and One-Side-Only Session
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@8214 b35dd754-fafc-0310-a699-88a17e54d16e
2007-05-08 20:31:46 +00:00
Thiago Camargo 3e5cfc0a25 Delay Reduced
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@8183 b35dd754-fafc-0310-a699-88a17e54d16e
2007-05-04 05:31:12 +00:00
Thiago Camargo d3ce024c79 [SMACK-220] - New Jingle Based Screen Share API
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@8144 b35dd754-fafc-0310-a699-88a17e54d16e
2007-05-02 19:55:59 +00:00
Thiago Camargo 5cd266befb Remove unused imports.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@8058 b35dd754-fafc-0310-a699-88a17e54d16e
2007-04-18 17:30:14 +00:00
Thiago Camargo 08ae96a721 [SMACK-213] - Add new algorithm to discover usable localhost
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@8057 b35dd754-fafc-0310-a699-88a17e54d16e
2007-04-18 17:26:58 +00:00
Thiago Camargo 574cdab26f [SMACK-215] - Added ICE Types as Enum
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@8038 b35dd754-fafc-0310-a699-88a17e54d16e
2007-04-16 15:44:55 +00:00
Thiago Camargo b47038b82f [SMACK-212] Added capability to try another way to establish the session. If just one side has Relay Server.
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@7987 b35dd754-fafc-0310-a699-88a17e54d16e
2007-04-11 21:49:12 +00:00
Thiago Camargo 60e0222c14 Use Alternative Session Address if default on fail
git-svn-id: http://svn.igniterealtime.org/svn/repos/smack/trunk@7978 b35dd754-fafc-0310-a699-88a17e54d16e
2007-04-11 02:17:50 +00:00