# HG changeset patch
# User Marseille
# Date 1264034817 -3600
# Node ID 115665c0d25af557e1a1cc7edc537a67510894ae
# Parent 77cb07054bb25fb8c0749bf6b0ceabab431cbe7f
Replace smack with asmack
diff -r 77cb07054bb2 -r 115665c0d25a .classpath
--- a/.classpath Wed Jan 20 16:43:54 2010 +0100
+++ b/.classpath Thu Jan 21 01:46:57 2010 +0100
@@ -1,29 +1,10 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
diff -r 77cb07054bb2 -r 115665c0d25a libs/asmack-jse.jar
Binary file libs/asmack-jse.jar has changed
diff -r 77cb07054bb2 -r 115665c0d25a libs/jingle-namespace.patch
--- a/libs/jingle-namespace.patch Wed Jan 20 16:43:54 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,100 +0,0 @@
-diff -Nru source-org/org/jivesoftware/smackx/jingle/JingleManager.java source/org/jivesoftware/smackx/jingle/JingleManager.java
---- source-org/org/jivesoftware/smackx/jingle/JingleManager.java 2009-09-25 18:06:18.671020248 +0200
-+++ source/org/jivesoftware/smackx/jingle/JingleManager.java 2009-09-25 18:28:51.645104395 +0200
-@@ -255,7 +255,7 @@
- */
- public static void setJingleServiceEnabled() {
- ProviderManager providerManager = ProviderManager.getInstance();
-- providerManager.addIQProvider("jingle", "urn:xmpp:tmp:jingle", new JingleProvider());
-+ providerManager.addIQProvider("jingle", "urn:xmpp:jingle:1", new JingleProvider());
-
- // Enable the Jingle support on every established connection
- // The ServiceDiscoveryManager class should have been already
-@@ -623,4 +623,4 @@
- }
- }
- }
--}
-\ Pas de fin de ligne à la fin du fichier.
-+}
-diff -Nru source-org/org/jivesoftware/smackx/packet/JingleContentDescription.java source/org/jivesoftware/smackx/packet/JingleContentDescription.java
---- source-org/org/jivesoftware/smackx/packet/JingleContentDescription.java 2009-09-25 18:06:18.676020534 +0200
-+++ source/org/jivesoftware/smackx/packet/JingleContentDescription.java 2009-09-25 18:29:00.788020599 +0200
-@@ -172,7 +172,7 @@
- */
- public static class Audio extends JingleContentDescription {
-
-- public static final String NAMESPACE = "urn:xmpp:tmp:jingle:apps:rtp";
-+ public static final String NAMESPACE = "urn:xmpp:jingle:apps:rtp:1";
-
- public Audio() {
- super();
-diff -Nru source-org/org/jivesoftware/smackx/packet/JingleContentInfo.java source/org/jivesoftware/smackx/packet/JingleContentInfo.java
---- source-org/org/jivesoftware/smackx/packet/JingleContentInfo.java 2009-09-25 18:06:18.677020522 +0200
-+++ source/org/jivesoftware/smackx/packet/JingleContentInfo.java 2009-09-25 18:29:10.384025608 +0200
-@@ -96,7 +96,7 @@
- */
- public static class Audio extends JingleContentInfo {
-
-- public static final String NAMESPACE = "urn:xmpp:tmp:jingle:apps:rtp";
-+ public static final String NAMESPACE = "urn:xmpp:jingle:apps:rtp:1";
-
- public Audio(final ContentInfo mi) {
- super(mi);
-diff -Nru source-org/org/jivesoftware/smackx/packet/JingleDescription.java source/org/jivesoftware/smackx/packet/JingleDescription.java
---- source-org/org/jivesoftware/smackx/packet/JingleDescription.java 2009-09-25 18:06:18.677020522 +0200
-+++ source/org/jivesoftware/smackx/packet/JingleDescription.java 2009-09-25 18:42:05.559023786 +0200
-@@ -179,7 +179,7 @@
- */
- public static class Audio extends JingleDescription {
-
-- public static final String NAMESPACE = "urn:xmpp:tmp:jingle:apps:rtp";
-+ public static final String NAMESPACE = "urn:xmpp:jingle:apps:rtp:1";
-
- public Audio() {
- super();
-diff -Nru source-org/org/jivesoftware/smackx/packet/JingleError.java source/org/jivesoftware/smackx/packet/JingleError.java
---- source-org/org/jivesoftware/smackx/packet/JingleError.java 2009-09-25 18:06:18.677020522 +0200
-+++ source/org/jivesoftware/smackx/packet/JingleError.java 2009-09-25 18:29:32.331099677 +0200
-@@ -27,7 +27,7 @@
-
- public class JingleError implements PacketExtension {
-
-- public static String NAMESPACE = "urn:xmpp:tmp:jingle:errors";
-+ public static String NAMESPACE = "urn:xmpp:jingle:errors:1";
-
- public static final JingleError OUT_OF_ORDER = new JingleError("out-of-order");
-
-diff -Nru source-org/org/jivesoftware/smackx/packet/Jingle.java source/org/jivesoftware/smackx/packet/Jingle.java
---- source-org/org/jivesoftware/smackx/packet/Jingle.java 2009-09-25 18:06:18.676020534 +0200
-+++ source/org/jivesoftware/smackx/packet/Jingle.java 2009-09-25 18:29:39.937485756 +0200
-@@ -44,7 +44,7 @@
-
- // static
-
-- public static final String NAMESPACE = "urn:xmpp:tmp:jingle";
-+ public static final String NAMESPACE = "urn:xmpp:jingle:1";
-
- public static final String NODENAME = "jingle";
-
-diff -Nru source-org/org/jivesoftware/smackx/packet/JingleTransport.java source/org/jivesoftware/smackx/packet/JingleTransport.java
---- source-org/org/jivesoftware/smackx/packet/JingleTransport.java 2009-09-25 18:06:18.676020534 +0200
-+++ source/org/jivesoftware/smackx/packet/JingleTransport.java 2009-09-25 18:44:09.198082560 +0200
-@@ -270,7 +270,7 @@
- * RTP-ICE profile
- */
- public static class Ice extends JingleTransport {
-- public static final String NAMESPACE = "urn:xmpp:tmp:jingle:transports:ice-udp";
-+ public static final String NAMESPACE = "urn:xmpp:jingle:transports:ice-udp:1";
-
- public Ice() {
- super();
-@@ -352,7 +352,7 @@
- * Raw UDP profile.
- */
- public static class RawUdp extends JingleTransport {
-- public static final String NAMESPACE = "http://www.xmpp.org/extensions/xep-0177.html#ns";
-+ public static final String NAMESPACE = "urn:xmpp:jingle:transports:ice-udp:1";
-
- public RawUdp() {
- super();
diff -r 77cb07054bb2 -r 115665c0d25a libs/jstun-android.patch
--- a/libs/jstun-android.patch Wed Jan 20 16:43:54 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,677 +0,0 @@
-diff -Nru src-stun/de/javawi/jstun/attribute/ChangedAddress.java src/de/javawi/jstun/attribute/ChangedAddress.java
---- src-stun/de/javawi/jstun/attribute/ChangedAddress.java 2009-03-08 13:37:27.000000000 +0100
-+++ src/de/javawi/jstun/attribute/ChangedAddress.java 2009-10-03 14:47:30.504972058 +0200
-@@ -11,11 +11,9 @@
-
- package de.javawi.jstun.attribute;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
-+import android.util.Log;
-
- public class ChangedAddress extends MappedResponseChangedSourceAddressReflectedFrom {
-- private static final Logger LOGGER = LoggerFactory.getLogger(ChangedAddress.class);
-
- public ChangedAddress() {
- super(MessageAttribute.MessageAttributeType.ChangedAddress);
-@@ -24,7 +22,7 @@
- public static MessageAttribute parse(byte[] data) throws MessageAttributeParsingException {
- ChangedAddress ca = new ChangedAddress();
- MappedResponseChangedSourceAddressReflectedFrom.parse(ca, data);
-- LOGGER.debug("Message Attribute: Changed Address parsed: " + ca.toString() + ".");
-+ Log.d("Jstun-ChangedAddress", "Message Attribute: Changed Address parsed: " + ca.toString() + ".");
- return ca;
- }
- }
-diff -Nru src-stun/de/javawi/jstun/attribute/MappedAddress.java src/de/javawi/jstun/attribute/MappedAddress.java
---- src-stun/de/javawi/jstun/attribute/MappedAddress.java 2009-03-08 13:36:42.000000000 +0100
-+++ src/de/javawi/jstun/attribute/MappedAddress.java 2009-10-03 14:47:23.989081351 +0200
-@@ -11,11 +11,9 @@
-
- package de.javawi.jstun.attribute;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
-+import android.util.Log;
-
- public class MappedAddress extends MappedResponseChangedSourceAddressReflectedFrom {
-- private static final Logger LOGGER = LoggerFactory.getLogger(MappedAddress.class);
- public MappedAddress() {
- super(MessageAttribute.MessageAttributeType.MappedAddress);
- }
-@@ -23,7 +21,7 @@
- public static MessageAttribute parse(byte[] data) throws MessageAttributeParsingException {
- MappedAddress ma = new MappedAddress();
- MappedResponseChangedSourceAddressReflectedFrom.parse(ma, data);
-- LOGGER.debug("Message Attribute: Mapped Address parsed: " + ma.toString() + ".");
-+ Log.d("Jstun-MappedAddress", "Message Attribute: Mapped Address parsed: " + ma.toString() + ".");
- return ma;
- }
- }
-diff -Nru src-stun/de/javawi/jstun/attribute/MessageAttribute.java src/de/javawi/jstun/attribute/MessageAttribute.java
---- src-stun/de/javawi/jstun/attribute/MessageAttribute.java 2009-03-08 13:35:52.000000000 +0100
-+++ src/de/javawi/jstun/attribute/MessageAttribute.java 2009-10-03 14:48:48.776972620 +0200
-@@ -11,15 +11,12 @@
-
- package de.javawi.jstun.attribute;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
--
-+import android.util.Log;
- import de.javawi.jstun.util.Utility;
- import de.javawi.jstun.util.UtilityException;
-
-
- public abstract class MessageAttribute implements MessageAttributeInterface {
-- private static final Logger LOGGER = LoggerFactory.getLogger(MessageAttribute.class);
- MessageAttributeType type;
-
- public MessageAttribute() {
-@@ -104,7 +101,7 @@
- if (type <= 0x7fff) {
- throw new UnknownMessageAttributeException("Unkown mandatory message attribute", intToType(type));
- } else {
-- LOGGER.debug("MessageAttribute with type " + type + " unkown.");
-+ Log.d("Jstun-MessageAttribute", "MessageAttribute with type " + type + " unkown.");
- ma = Dummy.parse(valueArray);
- break;
- }
-diff -Nru src-stun/de/javawi/jstun/attribute/ReflectedFrom.java src/de/javawi/jstun/attribute/ReflectedFrom.java
---- src-stun/de/javawi/jstun/attribute/ReflectedFrom.java 2009-03-08 13:34:16.000000000 +0100
-+++ src/de/javawi/jstun/attribute/ReflectedFrom.java 2009-10-03 14:48:06.624977962 +0200
-@@ -11,11 +11,9 @@
-
- package de.javawi.jstun.attribute;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
-+import android.util.Log;
-
- public class ReflectedFrom extends MappedResponseChangedSourceAddressReflectedFrom {
-- private static final Logger LOGGER = LoggerFactory.getLogger(ReflectedFrom.class);
-
- public ReflectedFrom() {
- super(MessageAttribute.MessageAttributeType.ReflectedFrom);
-@@ -24,7 +22,7 @@
- public static ReflectedFrom parse(byte[] data) throws MessageAttributeParsingException {
- ReflectedFrom result = new ReflectedFrom();
- MappedResponseChangedSourceAddressReflectedFrom.parse(result, data);
-- LOGGER.debug("Message Attribute: ReflectedFrom parsed: " + result.toString() + ".");
-+ Log.d("Jstun-ReflectedFrom", "Message Attribute: ReflectedFrom parsed: " + result.toString() + ".");
- return result;
- }
-
-diff -Nru src-stun/de/javawi/jstun/attribute/ResponseAddress.java src/de/javawi/jstun/attribute/ResponseAddress.java
---- src-stun/de/javawi/jstun/attribute/ResponseAddress.java 2009-03-08 13:35:02.000000000 +0100
-+++ src/de/javawi/jstun/attribute/ResponseAddress.java 2009-10-03 14:49:42.388979100 +0200
-@@ -11,12 +11,9 @@
-
- package de.javawi.jstun.attribute;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
--
-+import android.util.Log;
-
- public class ResponseAddress extends MappedResponseChangedSourceAddressReflectedFrom {
-- private static final Logger LOGGER = LoggerFactory.getLogger(ResponseAddress.class);
- public ResponseAddress() {
- super(MessageAttribute.MessageAttributeType.ResponseAddress);
- }
-@@ -24,7 +21,7 @@
- public static MessageAttribute parse(byte[] data) throws MessageAttributeParsingException {
- ResponseAddress ra = new ResponseAddress();
- MappedResponseChangedSourceAddressReflectedFrom.parse(ra, data);
-- LOGGER.debug("Message Attribute: Response Address parsed: " + ra.toString() + ".");
-+ Log.d("Jstun-ResponseAddress", "Message Attribute: Response Address parsed: " + ra.toString() + ".");
- return ra;
- }
- }
-diff -Nru src-stun/de/javawi/jstun/attribute/SourceAddress.java src/de/javawi/jstun/attribute/SourceAddress.java
---- src-stun/de/javawi/jstun/attribute/SourceAddress.java 2009-03-08 13:33:15.000000000 +0100
-+++ src/de/javawi/jstun/attribute/SourceAddress.java 2009-10-03 14:50:35.312972305 +0200
-@@ -11,12 +11,9 @@
-
- package de.javawi.jstun.attribute;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
--
-+import android.util.Log;
-
- public class SourceAddress extends MappedResponseChangedSourceAddressReflectedFrom {
-- private static final Logger LOGGER = LoggerFactory.getLogger(SourceAddress.class);
- public SourceAddress() {
- super(MessageAttribute.MessageAttributeType.SourceAddress);
- }
-@@ -24,7 +21,7 @@
- public static MessageAttribute parse(byte[] data) throws MessageAttributeParsingException {
- SourceAddress sa = new SourceAddress();
- MappedResponseChangedSourceAddressReflectedFrom.parse(sa, data);
-- LOGGER.debug("Message Attribute: Source Address parsed: " + sa.toString() + ".");
-+ Log.d("Jstun-SourceAddress", "Message Attribute: Source Address parsed: " + sa.toString() + ".");
- return sa;
- }
- }
-\ No newline at end of file
-diff -Nru src-stun/de/javawi/jstun/header/MessageHeader.java src/de/javawi/jstun/header/MessageHeader.java
---- src-stun/de/javawi/jstun/header/MessageHeader.java 2009-03-08 13:54:30.000000000 +0100
-+++ src/de/javawi/jstun/header/MessageHeader.java 2009-10-03 14:52:58.156973579 +0200
-@@ -14,8 +14,7 @@
- import java.util.Iterator;
- import java.util.TreeMap;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
-+import android.util.Log;
-
- import de.javawi.jstun.attribute.MessageAttribute;
- import de.javawi.jstun.attribute.MessageAttributeParsingException;
-@@ -38,7 +37,6 @@
- * |
- * +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- */
-- private static final Logger LOGGER = LoggerFactory.getLogger(MessageHeader.class);
- MessageHeaderType type;
- byte[] id = new byte[16];
-
-@@ -169,12 +167,12 @@
- System.arraycopy(data, 0, typeArray, 0, 2);
- int type = Utility.twoBytesToInteger(typeArray);
- switch (type) {
-- case BINDINGREQUEST: mh.setType(MessageHeaderType.BindingRequest); LOGGER.debug("Binding Request received."); break;
-- case BINDINGRESPONSE: mh.setType(MessageHeaderType.BindingResponse); LOGGER.debug("Binding Response received."); break;
-- case BINDINGERRORRESPONSE: mh.setType(MessageHeaderType.BindingErrorResponse); LOGGER.debug("Binding Error Response received."); break;
-- case SHAREDSECRETREQUEST: mh.setType(MessageHeaderType.SharedSecretRequest); LOGGER.debug("Shared Secret Request received."); break;
-- case SHAREDSECRETRESPONSE: mh.setType(MessageHeaderType.SharedSecretResponse); LOGGER.debug("Shared Secret Response received."); break;
-- case SHAREDSECRETERRORRESPONSE: mh.setType(MessageHeaderType.SharedSecretErrorResponse); LOGGER.debug("Shared Secret Error Response received.");break;
-+ case BINDINGREQUEST: mh.setType(MessageHeaderType.BindingRequest); Log.d("Jstun-MessageHeader", "Binding Request received."); break;
-+ case BINDINGRESPONSE: mh.setType(MessageHeaderType.BindingResponse); Log.d("Jstun-MessageHeader", "Binding Response received."); break;
-+ case BINDINGERRORRESPONSE: mh.setType(MessageHeaderType.BindingErrorResponse); Log.d("Jstun-MessageHeader", "Binding Error Response received."); break;
-+ case SHAREDSECRETREQUEST: mh.setType(MessageHeaderType.SharedSecretRequest); Log.d("Jstun-MessageHeader", "Shared Secret Request received."); break;
-+ case SHAREDSECRETRESPONSE: mh.setType(MessageHeaderType.SharedSecretResponse); Log.d("Jstun-MessageHeader", "Shared Secret Response received."); break;
-+ case SHAREDSECRETERRORRESPONSE: mh.setType(MessageHeaderType.SharedSecretErrorResponse); Log.d("Jstun-MessageHeader", "Shared Secret Error Response received.");break;
- default: throw new MessageHeaderParsingException("Message type " + type + "is not supported");
- }
- return mh;
-diff -Nru src-stun/de/javawi/jstun/test/BindingLifetimeTest.java src/de/javawi/jstun/test/BindingLifetimeTest.java
---- src-stun/de/javawi/jstun/test/BindingLifetimeTest.java 2009-03-08 13:43:27.000000000 +0100
-+++ src/de/javawi/jstun/test/BindingLifetimeTest.java 2009-10-03 14:55:31.104990854 +0200
-@@ -21,8 +21,8 @@
- import java.util.Timer;
- import java.util.TimerTask;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
-+import android.util.Log;
-+
-
- import de.javawi.jstun.attribute.ChangeRequest;
- import de.javawi.jstun.attribute.ErrorCode;
-@@ -36,7 +36,6 @@
- import de.javawi.jstun.util.UtilityException;
-
- public class BindingLifetimeTest {
-- private static final Logger LOGGER = LoggerFactory.getLogger(BindingLifetimeTest.class);
- String stunServer;
- int port;
- int timeout = 300; //ms
-@@ -70,7 +69,7 @@
- }
- BindingLifetimeTask task = new BindingLifetimeTask();
- timer.schedule(task, binarySearchLifetime);
-- LOGGER.debug("Timer scheduled initially: " + binarySearchLifetime + ".");
-+ Log.d("Jstun-BindingLifetimeTest", "Timer scheduled initially: " + binarySearchLifetime + ".");
- }
-
- private boolean bindingCommunicationInitialSocket() throws UtilityException, IOException, MessageHeaderParsingException, MessageAttributeParsingException {
-@@ -82,7 +81,7 @@
-
- DatagramPacket send = new DatagramPacket(data, data.length, InetAddress.getByName(stunServer), port);
- initialSocket.send(send);
-- LOGGER.debug("Binding Request sent.");
-+ Log.d("Jstun-BindingLifetimeTest", "Binding Request sent.");
-
- MessageHeader receiveMH = new MessageHeader();
- while (!(receiveMH.equalTransactionID(sendMH))) {
-@@ -94,11 +93,11 @@
- ma = (MappedAddress) receiveMH.getMessageAttribute(MessageAttribute.MessageAttributeType.MappedAddress);
- ErrorCode ec = (ErrorCode) receiveMH.getMessageAttribute(MessageAttribute.MessageAttributeType.ErrorCode);
- if (ec != null) {
-- LOGGER.debug("Message header contains an Errorcode message attribute.");
-+ Log.d("Jstun-BindingLifetimeTest", "Message header contains an Errorcode message attribute.");
- return true;
- }
- if (ma == null) {
-- LOGGER.debug("Response does not contain a Mapped Address message attribute.");
-+ Log.d("Jstun-BindingLifetimeTest", "Response does not contain a Mapped Address message attribute.");
- return true;
- }
- return false;
-@@ -127,7 +126,7 @@
- try {
- lifetimeQuery();
- } catch (Exception e) {
-- LOGGER.debug("Unhandled Exception. BindLifetimeTasks stopped.");
-+ Log.d("Jstun-BindingLifetimeTest", "Unhandled Exception. BindLifetimeTasks stopped.");
- e.printStackTrace();
- }
- }
-@@ -150,7 +149,7 @@
-
- DatagramPacket send = new DatagramPacket(data, data.length, InetAddress.getByName(stunServer), port);
- socket.send(send);
-- LOGGER.debug("Binding Request sent.");
-+ Log.d("Jstun-BindingLifetimeTest", "Binding Request sent.");
-
- MessageHeader receiveMH = new MessageHeader();
- while (!(receiveMH.equalTransactionID(sendMH))) {
-@@ -161,30 +160,30 @@
- }
- ErrorCode ec = (ErrorCode) receiveMH.getMessageAttribute(MessageAttribute.MessageAttributeType.ErrorCode);
- if (ec != null) {
-- LOGGER.debug("Message header contains errorcode message attribute.");
-+ Log.d("Jstun-BindingLifetimeTest", "Message header contains errorcode message attribute.");
- return;
- }
-- LOGGER.debug("Binding Response received.");
-+ Log.d("Jstun-BindingLifetimeTest", "Binding Response received.");
- if (upperBinarySearchLifetime == (lowerBinarySearchLifetime + 1)) {
-- LOGGER.debug("BindingLifetimeTest completed. UDP binding lifetime: " + binarySearchLifetime + ".");
-+ Log.d("Jstun-BindingLifetimeTest", "BindingLifetimeTest completed. UDP binding lifetime: " + binarySearchLifetime + ".");
- completed = true;
- return;
- }
- lifetime = binarySearchLifetime;
-- LOGGER.debug("Lifetime update: " + lifetime + ".");
-+ Log.d("Jstun-BindingLifetimeTest", "Lifetime update: " + lifetime + ".");
- lowerBinarySearchLifetime = binarySearchLifetime;
- binarySearchLifetime = (upperBinarySearchLifetime + lowerBinarySearchLifetime) / 2;
- if (binarySearchLifetime > 0) {
- BindingLifetimeTask task = new BindingLifetimeTask();
- timer.schedule(task, binarySearchLifetime);
-- LOGGER.debug("Timer scheduled: " + binarySearchLifetime + ".");
-+ Log.d("Jstun-BindingLifetimeTest", "Timer scheduled: " + binarySearchLifetime + ".");
- } else {
- completed = true;
- }
- } catch (SocketTimeoutException ste) {
-- LOGGER.debug("Read operation at query socket timeout.");
-+ Log.d("Jstun-BindingLifetimeTest", "Read operation at query socket timeout.");
- if (upperBinarySearchLifetime == (lowerBinarySearchLifetime + 1)) {
-- LOGGER.debug("BindingLifetimeTest completed. UDP binding lifetime: " + binarySearchLifetime + ".");
-+ Log.d("Jstun-BindingLifetimeTest", "BindingLifetimeTest completed. UDP binding lifetime: " + binarySearchLifetime + ".");
- completed = true;
- return;
- }
-@@ -196,7 +195,7 @@
- }
- BindingLifetimeTask task = new BindingLifetimeTask();
- timer.schedule(task, binarySearchLifetime);
-- LOGGER.debug("Timer scheduled: " + binarySearchLifetime + ".");
-+ Log.d("Jstun-BindingLifetimeTest", "Timer scheduled: " + binarySearchLifetime + ".");
- } else {
- completed = true;
- }
-diff -Nru src-stun/de/javawi/jstun/test/demo/ice/ICENegociator.java src/de/javawi/jstun/test/demo/ice/ICENegociator.java
---- src-stun/de/javawi/jstun/test/demo/ice/ICENegociator.java 2009-03-08 13:40:52.000000000 +0100
-+++ src/de/javawi/jstun/test/demo/ice/ICENegociator.java 2009-10-03 14:57:51.400971966 +0200
-@@ -23,9 +23,7 @@
- import java.util.List;
- import java.util.Vector;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
--
-+import android.util.Log;
- import de.javawi.jstun.attribute.MessageAttributeException;
- import de.javawi.jstun.header.MessageHeaderParsingException;
- import de.javawi.jstun.test.DiscoveryInfo;
-@@ -35,7 +33,6 @@
- import de.javawi.jstun.util.UtilityException;
-
- public class ICENegociator {
-- private static final Logger LOGGER = LoggerFactory.getLogger(ICENegociator.class);
- // type preference must be an integer from 0 (=lowest) to 126 (=highest) (inclusive)
- private final static int LOCAL_PREFERENCE = 0;
- private final static int SERVER_REFLEXIVE_PREFERENCE = 42;
-@@ -91,29 +88,29 @@
- candidates.add(cand);
- }
- } catch (MessageHeaderParsingException mhpe) {
-- LOGGER.debug("MessageHeaderParsingException while gathering candidate addresses.");
-+ Log.d("Jstun-ICENegociator", "MessageHeaderParsingException while gathering candidate addresses.");
- mhpe.printStackTrace();
- } catch (MessageAttributeException mae) {
-- LOGGER.debug("MessageAttributeException while gathering candidate addresses.");
-+ Log.d("Jstun-ICENegociator", "MessageAttributeException while gathering candidate addresses.");
- mae.printStackTrace();
- } catch (UtilityException ue) {
-- LOGGER.debug("UtilityException while gathering candidate addresses.");
-+ Log.d("Jstun-ICENegociator", "UtilityException while gathering candidate addresses.");
- ue.printStackTrace();
- } catch (UnknownHostException uhe) {
-- LOGGER.debug("MessageHeaderParsingException while gathering candidate addresses.");
-+ Log.d("Jstun-ICENegociator", "MessageHeaderParsingException while gathering candidate addresses.");
- uhe.printStackTrace();
- } catch (SocketException se) {
-- LOGGER.debug("SocketException while gathering candidate addresses.");
-+ Log.d("Jstun-ICENegociator", "SocketException while gathering candidate addresses.");
- se.printStackTrace();
- } catch (IOException ioe) {
-- LOGGER.debug("IOException while gathering candidate addresses.");
-+ Log.d("Jstun-ICENegociator", "IOException while gathering candidate addresses.");
- ioe.printStackTrace();
- }
- }
- }
- }
- } catch (SocketException se) {
-- LOGGER.debug("SocketException while enumatering over the network cards.");
-+ Log.d("Jstun-ICENegociator", "SocketException while enumatering over the network cards.");
- se.printStackTrace();
- }
- }
-diff -Nru src-stun/de/javawi/jstun/test/demo/StunServer.java src/de/javawi/jstun/test/demo/StunServer.java
---- src-stun/de/javawi/jstun/test/demo/StunServer.java 2009-03-08 13:52:00.000000000 +0100
-+++ src/de/javawi/jstun/test/demo/StunServer.java 2009-10-03 14:57:05.248972557 +0200
-@@ -23,8 +23,7 @@
- import java.util.logging.Level;
- import java.util.logging.SimpleFormatter;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
-+import android.util.Log;
-
- import de.javawi.jstun.attribute.ChangeRequest;
- import de.javawi.jstun.attribute.ChangedAddress;
-@@ -47,7 +46,6 @@
- * The server requires a machine that is dual-homed to be functional.
- */
- public class StunServer {
-- private static final Logger LOGGER = LoggerFactory.getLogger(StunServer.class);
- Vector sockets;
-
- public StunServer(int primaryPort, InetAddress primary, int secondaryPort, InetAddress secondary) throws SocketException {
-@@ -99,12 +97,12 @@
- try {
- DatagramPacket receive = new DatagramPacket(new byte[200], 200);
- receiverSocket.receive(receive);
-- LOGGER.debug(receiverSocket.getLocalAddress().getHostAddress() + ":" + receiverSocket.getLocalPort() + " datagram received from " + receive.getAddress().getHostAddress() + ":" + receive.getPort());
-+ Log.d("Jstun-StunServer", receiverSocket.getLocalAddress().getHostAddress() + ":" + receiverSocket.getLocalPort() + " datagram received from " + receive.getAddress().getHostAddress() + ":" + receive.getPort());
- MessageHeader receiveMH = MessageHeader.parseHeader(receive.getData());
- try {
- receiveMH.parseAttributes(receive.getData());
- if (receiveMH.getType() == MessageHeaderType.BindingRequest) {
-- LOGGER.debug(receiverSocket.getLocalAddress().getHostAddress() + ":" + receiverSocket.getLocalPort() + " Binding Request received from " + receive.getAddress().getHostAddress() + ":" + receive.getPort());
-+ Log.d("Jstun-StunServer", receiverSocket.getLocalAddress().getHostAddress() + ":" + receiverSocket.getLocalPort() + " Binding Request received from " + receive.getAddress().getHostAddress() + ":" + receive.getPort());
- ChangeRequest cr = (ChangeRequest) receiveMH.getMessageAttribute(MessageAttributeType.ChangeRequest);
- if (cr == null) throw new MessageAttributeException("Message attribute change request is not set.");
- ResponseAddress ra = (ResponseAddress) receiveMH.getMessageAttribute(MessageAttributeType.ResponseAddress);
-@@ -123,7 +121,7 @@
- ca.setPort(changedPortIP.getLocalPort());
- sendMH.addMessageAttribute(ca);
- if (cr.isChangePort() && (!cr.isChangeIP())) {
-- LOGGER.debug("Change port received in Change Request attribute");
-+ Log.d("Jstun-StunServer", "Change port received in Change Request attribute");
- // Source address attribute
- SourceAddress sa = new SourceAddress();
- sa.setAddress(new Address(changedPort.getLocalAddress().getAddress()));
-@@ -139,9 +137,9 @@
- send.setAddress(receive.getAddress());
- }
- changedPort.send(send);
-- LOGGER.debug(changedPort.getLocalAddress().getHostAddress() + ":" + changedPort.getLocalPort() + " send Binding Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
-+ Log.d("Jstun-StunServer", changedPort.getLocalAddress().getHostAddress() + ":" + changedPort.getLocalPort() + " send Binding Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
- } else if ((!cr.isChangePort()) && cr.isChangeIP()) {
-- LOGGER.debug("Change ip received in Change Request attribute");
-+ Log.d("Jstun-StunServer", "Change ip received in Change Request attribute");
- // Source address attribute
- SourceAddress sa = new SourceAddress();
- sa.setAddress(new Address(changedIP.getLocalAddress().getAddress()));
-@@ -157,9 +155,9 @@
- send.setAddress(receive.getAddress());
- }
- changedIP.send(send);
-- LOGGER.debug(changedIP.getLocalAddress().getHostAddress() + ":" + changedIP.getLocalPort() + " send Binding Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
-+ Log.d("Jstun-StunServer", changedIP.getLocalAddress().getHostAddress() + ":" + changedIP.getLocalPort() + " send Binding Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
- } else if ((!cr.isChangePort()) && (!cr.isChangeIP())) {
-- LOGGER.debug("Nothing received in Change Request attribute");
-+ Log.d("Jstun-StunServer", "Nothing received in Change Request attribute");
- // Source address attribute
- SourceAddress sa = new SourceAddress();
- sa.setAddress(new Address(receiverSocket.getLocalAddress().getAddress()));
-@@ -175,9 +173,9 @@
- send.setAddress(receive.getAddress());
- }
- receiverSocket.send(send);
-- LOGGER.debug(receiverSocket.getLocalAddress().getHostAddress() + ":" + receiverSocket.getLocalPort() + " send Binding Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
-+ Log.d("Jstun-StunServer", receiverSocket.getLocalAddress().getHostAddress() + ":" + receiverSocket.getLocalPort() + " send Binding Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
- } else if (cr.isChangePort() && cr.isChangeIP()) {
-- LOGGER.debug("Change port and ip received in Change Request attribute");
-+ Log.d("Jstun-StunServer", "Change port and ip received in Change Request attribute");
- // Source address attribute
- SourceAddress sa = new SourceAddress();
- sa.setAddress(new Address(changedPortIP.getLocalAddress().getAddress()));
-@@ -193,7 +191,7 @@
- send.setAddress(receive.getAddress());
- }
- changedPortIP.send(send);
-- LOGGER.debug(changedPortIP.getLocalAddress().getHostAddress() + ":" + changedPortIP.getLocalPort() + " send Binding Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
-+ Log.d("Jstun-StunServer", changedPortIP.getLocalAddress().getHostAddress() + ":" + changedPortIP.getLocalPort() + " send Binding Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
- }
- }
- } catch (UnknownMessageAttributeException umae) {
-@@ -212,7 +210,7 @@
- send.setPort(receive.getPort());
- send.setAddress(receive.getAddress());
- receiverSocket.send(send);
-- LOGGER.debug(changedPortIP.getLocalAddress().getHostAddress() + ":" + changedPortIP.getLocalPort() + " send Binding Error Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
-+ Log.d("Jstun-StunServer", changedPortIP.getLocalAddress().getHostAddress() + ":" + changedPortIP.getLocalPort() + " send Binding Error Response to " + send.getAddress().getHostAddress() + ":" + send.getPort());
- }
- } catch (IOException ioe) {
- ioe.printStackTrace();
-diff -Nru src-stun/de/javawi/jstun/test/DiscoveryTest.java src/de/javawi/jstun/test/DiscoveryTest.java
---- src-stun/de/javawi/jstun/test/DiscoveryTest.java 2009-03-08 13:45:49.000000000 +0100
-+++ src/de/javawi/jstun/test/DiscoveryTest.java 2009-10-03 14:56:26.816979238 +0200
-@@ -20,8 +20,7 @@
- import java.net.SocketTimeoutException;
- import java.net.UnknownHostException;
-
--import org.slf4j.Logger;
--import org.slf4j.LoggerFactory;
-+import android.util.Log;
-
- import de.javawi.jstun.attribute.ChangeRequest;
- import de.javawi.jstun.attribute.ChangedAddress;
-@@ -35,7 +34,6 @@
- import de.javawi.jstun.util.UtilityException;
-
- public class DiscoveryTest {
-- private static final Logger LOGGER = LoggerFactory.getLogger(DiscoveryTest.class);
- InetAddress iaddress;
- String stunServer;
- int port;
-@@ -93,7 +91,7 @@
- byte[] data = sendMH.getBytes();
- DatagramPacket send = new DatagramPacket(data, data.length);
- socketTest1.send(send);
-- LOGGER.debug("Test 1: Binding Request sent.");
-+ Log.d("Jstun-DiscoveryTest", "Test 1: Binding Request sent.");
-
- MessageHeader receiveMH = new MessageHeader();
- while (!(receiveMH.equalTransactionID(sendMH))) {
-@@ -108,35 +106,35 @@
- ErrorCode ec = (ErrorCode) receiveMH.getMessageAttribute(MessageAttribute.MessageAttributeType.ErrorCode);
- if (ec != null) {
- di.setError(ec.getResponseCode(), ec.getReason());
-- LOGGER.debug("Message header contains an Errorcode message attribute.");
-+ Log.d("Jstun-DiscoveryTest", "Message header contains an Errorcode message attribute.");
- return false;
- }
- if ((ma == null) || (ca == null)) {
- di.setError(700, "The server is sending an incomplete response (Mapped Address and Changed Address message attributes are missing). The client should not retry.");
-- LOGGER.debug("Response does not contain a Mapped Address or Changed Address message attribute.");
-+ Log.d("Jstun-DiscoveryTest", "Response does not contain a Mapped Address or Changed Address message attribute.");
- return false;
- } else {
- di.setPublicIP(ma.getAddress().getInetAddress());
- if ((ma.getPort() == socketTest1.getLocalPort()) && (ma.getAddress().getInetAddress().equals(socketTest1.getLocalAddress()))) {
-- LOGGER.debug("Node is not natted.");
-+ Log.d("Jstun-DiscoveryTest", "Node is not natted.");
- nodeNatted = false;
- } else {
-- LOGGER.debug("Node is natted.");
-+ Log.d("Jstun-DiscoveryTest", "Node is natted.");
- }
- return true;
- }
- } catch (SocketTimeoutException ste) {
- if (timeSinceFirstTransmission < 7900) {
-- LOGGER.debug("Test 1: Socket timeout while receiving the response.");
-+ Log.d("Jstun-DiscoveryTest", "Test 1: Socket timeout while receiving the response.");
- timeSinceFirstTransmission += timeout;
- int timeoutAddValue = (timeSinceFirstTransmission * 2);
- if (timeoutAddValue > 1600) timeoutAddValue = 1600;
- timeout = timeoutAddValue;
- } else {
- // node is not capable of udp communication
-- LOGGER.debug("Test 1: Socket timeout while receiving the response. Maximum retry limit exceed. Give up.");
-+ Log.d("Jstun-DiscoveryTest", "Test 1: Socket timeout while receiving the response. Maximum retry limit exceed. Give up.");
- di.setBlockedUDP();
-- LOGGER.debug("Node is not capable of UDP communication.");
-+ Log.d("Jstun-DiscoveryTest", "Node is not capable of UDP communication.");
- return false;
- }
- }
-@@ -164,7 +162,7 @@
- byte[] data = sendMH.getBytes();
- DatagramPacket send = new DatagramPacket(data, data.length);
- sendSocket.send(send);
-- LOGGER.debug("Test 2: Binding Request sent.");
-+ Log.d("Jstun-DiscoveryTest", "Test 2: Binding Request sent.");
-
- int localPort = sendSocket.getLocalPort();
- InetAddress localAddress = sendSocket.getLocalAddress();
-@@ -185,29 +183,29 @@
- ErrorCode ec = (ErrorCode) receiveMH.getMessageAttribute(MessageAttribute.MessageAttributeType.ErrorCode);
- if (ec != null) {
- di.setError(ec.getResponseCode(), ec.getReason());
-- LOGGER.debug("Message header contains an Errorcode message attribute.");
-+ Log.d("Jstun-DiscoveryTest", "Message header contains an Errorcode message attribute.");
- return false;
- }
- if (!nodeNatted) {
- di.setOpenAccess();
-- LOGGER.debug("Node has open access to the Internet (or, at least the node is behind a full-cone NAT without translation).");
-+ Log.d("Jstun-DiscoveryTest", "Node has open access to the Internet (or, at least the node is behind a full-cone NAT without translation).");
- } else {
- di.setFullCone();
-- LOGGER.debug("Node is behind a full-cone NAT.");
-+ Log.d("Jstun-DiscoveryTest", "Node is behind a full-cone NAT.");
- }
- return false;
- } catch (SocketTimeoutException ste) {
- if (timeSinceFirstTransmission < 7900) {
-- LOGGER.debug("Test 2: Socket timeout while receiving the response.");
-+ Log.d("Jstun-DiscoveryTest", "Test 2: Socket timeout while receiving the response.");
- timeSinceFirstTransmission += timeout;
- int timeoutAddValue = (timeSinceFirstTransmission * 2);
- if (timeoutAddValue > 1600) timeoutAddValue = 1600;
- timeout = timeoutAddValue;
- } else {
-- LOGGER.debug("Test 2: Socket timeout while receiving the response. Maximum retry limit exceed. Give up.");
-+ Log.d("Jstun-DiscoveryTest", "Test 2: Socket timeout while receiving the response. Maximum retry limit exceed. Give up.");
- if (!nodeNatted) {
- di.setSymmetricUDPFirewall();
-- LOGGER.debug("Node is behind a symmetric UDP firewall.");
-+ Log.d("Jstun-DiscoveryTest", "Node is behind a symmetric UDP firewall.");
- return false;
- } else {
- // not is natted
-@@ -238,7 +236,7 @@
- byte[] data = sendMH.getBytes();
- DatagramPacket send = new DatagramPacket(data, data.length);
- socketTest1.send(send);
-- LOGGER.debug("Test 1 redo with changed address: Binding Request sent.");
-+ Log.d("Jstun-DiscoveryTest", "Test 1 redo with changed address: Binding Request sent.");
-
- MessageHeader receiveMH = new MessageHeader();
- while (!(receiveMH.equalTransactionID(sendMH))) {
-@@ -251,30 +249,30 @@
- ErrorCode ec = (ErrorCode) receiveMH.getMessageAttribute(MessageAttribute.MessageAttributeType.ErrorCode);
- if (ec != null) {
- di.setError(ec.getResponseCode(), ec.getReason());
-- LOGGER.debug("Message header contains an Errorcode message attribute.");
-+ Log.d("Jstun-DiscoveryTest", "Message header contains an Errorcode message attribute.");
- return false;
- }
- if (ma2 == null) {
- di.setError(700, "The server is sending an incomplete response (Mapped Address message attribute is missing). The client should not retry.");
-- LOGGER.debug("Response does not contain a Mapped Address message attribute.");
-+ Log.d("Jstun-DiscoveryTest", "Response does not contain a Mapped Address message attribute.");
- return false;
- } else {
- if ((ma.getPort() != ma2.getPort()) || (!(ma.getAddress().getInetAddress().equals(ma2.getAddress().getInetAddress())))) {
- di.setSymmetric();
-- LOGGER.debug("Node is behind a symmetric NAT.");
-+ Log.d("Jstun-DiscoveryTest", "Node is behind a symmetric NAT.");
- return false;
- }
- }
- return true;
- } catch (SocketTimeoutException ste2) {
- if (timeSinceFirstTransmission < 7900) {
-- LOGGER.debug("Test 1 redo with changed address: Socket timeout while receiving the response.");
-+ Log.d("Jstun-DiscoveryTest", "Test 1 redo with changed address: Socket timeout while receiving the response.");
- timeSinceFirstTransmission += timeout;
- int timeoutAddValue = (timeSinceFirstTransmission * 2);
- if (timeoutAddValue > 1600) timeoutAddValue = 1600;
- timeout = timeoutAddValue;
- } else {
-- LOGGER.debug("Test 1 redo with changed address: Socket timeout while receiving the response. Maximum retry limit exceed. Give up.");
-+ Log.d("Jstun-DiscoveryTest", "Test 1 redo with changed address: Socket timeout while receiving the response. Maximum retry limit exceed. Give up.");
- return false;
- }
- }
-@@ -301,7 +299,7 @@
- byte[] data = sendMH.getBytes();
- DatagramPacket send = new DatagramPacket(data, data.length);
- sendSocket.send(send);
-- LOGGER.debug("Test 3: Binding Request sent.");
-+ Log.d("Jstun-DiscoveryTest", "Test 3: Binding Request sent.");
-
- int localPort = sendSocket.getLocalPort();
- InetAddress localAddress = sendSocket.getLocalAddress();
-@@ -322,25 +320,25 @@
- ErrorCode ec = (ErrorCode) receiveMH.getMessageAttribute(MessageAttribute.MessageAttributeType.ErrorCode);
- if (ec != null) {
- di.setError(ec.getResponseCode(), ec.getReason());
-- LOGGER.debug("Message header contains an Errorcode message attribute.");
-+ Log.d("Jstun-DiscoveryTest", "Message header contains an Errorcode message attribute.");
- return;
- }
- if (nodeNatted) {
- di.setRestrictedCone();
-- LOGGER.debug("Node is behind a restricted NAT.");
-+ Log.d("Jstun-DiscoveryTest", "Node is behind a restricted NAT.");
- return;
- }
- } catch (SocketTimeoutException ste) {
- if (timeSinceFirstTransmission < 7900) {
-- LOGGER.debug("Test 3: Socket timeout while receiving the response.");
-+ Log.d("Jstun-DiscoveryTest", "Test 3: Socket timeout while receiving the response.");
- timeSinceFirstTransmission += timeout;
- int timeoutAddValue = (timeSinceFirstTransmission * 2);
- if (timeoutAddValue > 1600) timeoutAddValue = 1600;
- timeout = timeoutAddValue;
- } else {
-- LOGGER.debug("Test 3: Socket timeout while receiving the response. Maximum retry limit exceed. Give up.");
-+ Log.d("Jstun-DiscoveryTest", "Test 3: Socket timeout while receiving the response. Maximum retry limit exceed. Give up.");
- di.setPortRestrictedCone();
-- LOGGER.debug("Node is behind a port restricted NAT.");
-+ Log.d("Jstun-DiscoveryTest", "Node is behind a port restricted NAT.");
- return;
- }
- }
diff -r 77cb07054bb2 -r 115665c0d25a libs/new-android-r1.diff
--- a/libs/new-android-r1.diff Wed Jan 20 16:43:54 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,436 +0,0 @@
-Index: source/org/jivesoftware/smack/XMPPConnection.java
-===================================================================
---- source/org/jivesoftware/smack/XMPPConnection.java (révision 10982)
-+++ source/org/jivesoftware/smack/XMPPConnection.java (copie de travail)
-@@ -1082,7 +1082,7 @@
- catch (Exception ex) {
- try {
- debuggerClass =
-- Class.forName("org.jivesoftware.smack.debugger.LiteDebugger");
-+ Class.forName("org.jivesoftware.smack.debugger.ConsoleDebugger");
- }
- catch (Exception ex2) {
- ex2.printStackTrace();
-Index: source/org/jivesoftware/smack/sasl/SASLMechanism.java
-===================================================================
---- source/org/jivesoftware/smack/sasl/SASLMechanism.java (révision 10982)
-+++ source/org/jivesoftware/smack/sasl/SASLMechanism.java (copie de travail)
-@@ -20,24 +20,18 @@
-
- package org.jivesoftware.smack.sasl;
-
--import org.jivesoftware.smack.XMPPException;
--import org.jivesoftware.smack.SASLAuthentication;
--import org.jivesoftware.smack.util.Base64;
--
- import java.io.IOException;
--import java.util.Map;
- import java.util.HashMap;
-+import java.util.Map;
-+
-+import javax.security.auth.callback.Callback;
- import javax.security.auth.callback.CallbackHandler;
- import javax.security.auth.callback.UnsupportedCallbackException;
--import javax.security.auth.callback.Callback;
--import javax.security.auth.callback.NameCallback;
--import javax.security.auth.callback.PasswordCallback;
--import javax.security.sasl.RealmCallback;
--import javax.security.sasl.RealmChoiceCallback;
--import javax.security.sasl.Sasl;
--import javax.security.sasl.SaslClient;
--import javax.security.sasl.SaslException;
-
-+import org.jivesoftware.smack.SASLAuthentication;
-+import org.jivesoftware.smack.XMPPException;
-+import org.jivesoftware.smack.util.Base64;
-+
- /**
- * Base class for SASL mechanisms. Subclasses must implement these methods:
- *
-@@ -56,7 +50,7 @@
- public abstract class SASLMechanism implements CallbackHandler {
-
- private SASLAuthentication saslAuthentication;
-- protected SaslClient sc;
-+ //protected SaslClient sc;
- protected String authenticationId;
- protected String password;
- protected String hostname;
-@@ -88,7 +82,7 @@
-
- String[] mechanisms = { getName() };
- Map props = new HashMap();
-- sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, this);
-+ //sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, this);
- authenticate();
- }
-
-@@ -105,7 +99,7 @@
- public void authenticate(String username, String host, CallbackHandler cbh) throws IOException, XMPPException {
- String[] mechanisms = { getName() };
- Map props = new HashMap();
-- sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
-+ //sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
- authenticate();
- }
-
-@@ -113,17 +107,17 @@
- StringBuilder stanza = new StringBuilder();
- stanza.append("");
-- try {
-- if(sc.hasInitialResponse()) {
-- byte[] response = sc.evaluateChallenge(new byte[0]);
-- String authenticationText = Base64.encodeBytes(response,Base64.DONT_BREAK_LINES);
-- if(authenticationText != null && !authenticationText.equals("")) {
-- stanza.append(authenticationText);
-- }
-- }
-- } catch (SaslException e) {
-- throw new XMPPException("SASL authentication failed", e);
-- }
-+// try {
-+// if(sc.hasInitialResponse()) {
-+// byte[] response = sc.evaluateChallenge(new byte[0]);
-+// String authenticationText = Base64.encodeBytes(response,Base64.DONT_BREAK_LINES);
-+// if(authenticationText != null && !authenticationText.equals("")) {
-+// stanza.append(authenticationText);
-+// }
-+// }
-+// } catch (SaslException e) {
-+// throw new XMPPException("SASL authentication failed", e);
-+// }
- stanza.append("");
-
- // Send the authentication to the server
-@@ -142,12 +136,12 @@
- // Build the challenge response stanza encoding the response text
- StringBuilder stanza = new StringBuilder();
-
-- byte response[];
-- if(challenge != null) {
-- response = sc.evaluateChallenge(Base64.decode(challenge));
-- } else {
-- response = sc.evaluateChallenge(null);
-- }
-+ byte response[] = null;
-+// if(challenge != null) {
-+// response = sc.evaluateChallenge(Base64.decode(challenge));
-+// } else {
-+// response = sc.evaluateChallenge(null);
-+// }
-
- String authenticationText = Base64.encodeBytes(response,Base64.DONT_BREAK_LINES);
- if(authenticationText.equals("")) {
-@@ -179,21 +173,21 @@
- */
- public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
- for (int i = 0; i < callbacks.length; i++) {
-- if (callbacks[i] instanceof NameCallback) {
-- NameCallback ncb = (NameCallback)callbacks[i];
-- ncb.setName(authenticationId);
-- } else if(callbacks[i] instanceof PasswordCallback) {
-- PasswordCallback pcb = (PasswordCallback)callbacks[i];
-- pcb.setPassword(password.toCharArray());
-- } else if(callbacks[i] instanceof RealmCallback) {
-- RealmCallback rcb = (RealmCallback)callbacks[i];
-- rcb.setText(hostname);
-- } else if(callbacks[i] instanceof RealmChoiceCallback){
-- //unused
-- //RealmChoiceCallback rccb = (RealmChoiceCallback)callbacks[i];
-- } else {
-+// if (callbacks[i] instanceof NameCallback) {
-+// NameCallback ncb = (NameCallback)callbacks[i];
-+// ncb.setName(authenticationId);
-+// } else if(callbacks[i] instanceof PasswordCallback) {
-+// PasswordCallback pcb = (PasswordCallback)callbacks[i];
-+// pcb.setPassword(password.toCharArray());
-+// } else if(callbacks[i] instanceof RealmCallback) {
-+// RealmCallback rcb = (RealmCallback)callbacks[i];
-+// rcb.setText(hostname);
-+// } else if(callbacks[i] instanceof RealmChoiceCallback){
-+// //unused
-+// //RealmChoiceCallback rccb = (RealmChoiceCallback)callbacks[i];
-+// } else {
- throw new UnsupportedCallbackException(callbacks[i]);
-- }
-+ //}
- }
- }
- }
-Index: source/org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java
-===================================================================
---- source/org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java (révision 10982)
-+++ source/org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java (copie de travail)
-@@ -25,8 +25,6 @@
- import java.io.IOException;
- import java.util.Map;
- import java.util.HashMap;
--import javax.security.sasl.Sasl;
--import javax.security.sasl.SaslClient;
- import javax.security.auth.callback.CallbackHandler;
-
- /**
-@@ -62,8 +60,8 @@
- public void authenticate(String username, String host, CallbackHandler cbh) throws IOException, XMPPException {
- String[] mechanisms = { getName() };
- Map props = new HashMap();
-- props.put(Sasl.SERVER_AUTH,"TRUE");
-- sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
-+ //props.put(Sasl.SERVER_AUTH,"TRUE");
-+ //sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
- authenticate();
- }
-
-@@ -81,8 +79,8 @@
- public void authenticate(String username, String host, String password) throws IOException, XMPPException {
- String[] mechanisms = { getName() };
- Map props = new HashMap();
-- props.put(Sasl.SERVER_AUTH,"TRUE");
-- sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, this);
-+ //props.put(Sasl.SERVER_AUTH,"TRUE");
-+ //sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, this);
- authenticate();
- }
-
-Index: source/org/jivesoftware/smack/ConnectionConfiguration.java
-===================================================================
---- source/org/jivesoftware/smack/ConnectionConfiguration.java (révision 10982)
-+++ source/org/jivesoftware/smack/ConnectionConfiguration.java (copie de travail)
-@@ -57,13 +57,13 @@
-
- private boolean compressionEnabled = false;
-
-- private boolean saslAuthenticationEnabled = true;
-+ private boolean saslAuthenticationEnabled = false;
- /**
- * Used to get information from the user
- */
- private CallbackHandler callbackHandler;
-
-- private boolean debuggerEnabled = XMPPConnection.DEBUG_ENABLED;
-+ private boolean debuggerEnabled = true;//XMPPConnection.DEBUG_ENABLED;
-
- // Flag that indicates if a reconnection should be attempted when abruptly disconnected
- private boolean reconnectionAllowed = true;
-@@ -517,7 +517,7 @@
- * logging into the server.
- */
- public void setSASLAuthenticationEnabled(boolean saslAuthenticationEnabled) {
-- this.saslAuthenticationEnabled = saslAuthenticationEnabled;
-+ //this.saslAuthenticationEnabled = saslAuthenticationEnabled;
- }
-
- /**
-Index: source/org/jivesoftware/smack/util/DNSUtil.java
-===================================================================
---- source/org/jivesoftware/smack/util/DNSUtil.java (révision 10982)
-+++ source/org/jivesoftware/smack/util/DNSUtil.java (copie de travail)
-@@ -24,9 +24,6 @@
-
- import javax.naming.NamingEnumeration;
- import javax.naming.directory.Attribute;
--import javax.naming.directory.Attributes;
--import javax.naming.directory.DirContext;
--import javax.naming.directory.InitialDirContext;
-
- /**
- * Utilty class to perform DNS lookups for XMPP services.
-@@ -41,13 +38,13 @@
- */
- private static Map cache = new Cache(100, 1000*60*10);
-
-- private static DirContext context;
-+// private static DirContext context;
-
- static {
- try {
- Hashtable env = new Hashtable();
- env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
-- context = new InitialDirContext(env);
-+ // context = new InitialDirContext(env);
- }
- catch (Exception e) {
- // Ignore.
-@@ -79,64 +76,7 @@
- * server can be reached at for the specified domain.
- */
- public static HostAddress resolveXMPPDomain(String domain) {
-- if (context == null) {
- return new HostAddress(domain, 5222);
-- }
-- String key = "c" + domain;
-- // Return item from cache if it exists.
-- if (cache.containsKey(key)) {
-- HostAddress address = (HostAddress)cache.get(key);
-- if (address != null) {
-- return address;
-- }
-- }
-- String bestHost = domain;
-- int bestPort = 5222;
-- int bestPriority = 0;
-- int bestWeight = 0;
-- try {
-- Attributes dnsLookup = context.getAttributes("_xmpp-client._tcp." + domain, new String[]{"SRV"});
-- Attribute srvAttribute = dnsLookup.get("SRV");
-- NamingEnumeration srvRecords = srvAttribute.getAll();
-- while(srvRecords.hasMore()) {
-- String srvRecord = (String) srvRecords.next();
-- String [] srvRecordEntries = srvRecord.split(" ");
-- int priority = Integer.parseInt(srvRecordEntries[srvRecordEntries.length - 4]);
-- int port = Integer.parseInt(srvRecordEntries[srvRecordEntries.length-2]);
-- int weight = Integer.parseInt(srvRecordEntries[srvRecordEntries.length - 3]);
-- String host = srvRecordEntries[srvRecordEntries.length-1];
--
-- // Randomize the weight.
-- weight *= Math.random() * weight;
--
-- if ((bestPriority == 0) || (priority < bestPriority)) {
-- // Choose a server with the lowest priority.
-- bestPriority = priority;
-- bestWeight = weight;
-- bestHost = host;
-- bestPort = port;
-- } else if (priority == bestPriority) {
-- // When we have like priorities then randomly choose a server based on its weight
-- // The weights were randomized above.
-- if (weight > bestWeight) {
-- bestWeight = weight;
-- bestHost = host;
-- bestPort = port;
-- }
-- }
-- }
-- }
-- catch (Exception e) {
-- // Ignore.
-- }
-- // Host entries in DNS should end with a ".".
-- if (bestHost.endsWith(".")) {
-- bestHost = bestHost.substring(0, bestHost.length()-1);
-- }
-- HostAddress address = new HostAddress(bestHost, bestPort);
-- // Add item to cache.
-- cache.put(key, address);
-- return address;
- }
-
- /**
-@@ -157,49 +97,7 @@
- * server can be reached at for the specified domain.
- */
- public static HostAddress resolveXMPPServerDomain(String domain) {
-- if (context == null) {
- return new HostAddress(domain, 5269);
-- }
-- String key = "s" + domain;
-- // Return item from cache if it exists.
-- if (cache.containsKey(key)) {
-- HostAddress address = (HostAddress)cache.get(key);
-- if (address != null) {
-- return address;
-- }
-- }
-- String host = domain;
-- int port = 5269;
-- try {
-- Attributes dnsLookup =
-- context.getAttributes("_xmpp-server._tcp." + domain, new String[]{"SRV"});
-- String srvRecord = (String)dnsLookup.get("SRV").get();
-- String [] srvRecordEntries = srvRecord.split(" ");
-- port = Integer.parseInt(srvRecordEntries[srvRecordEntries.length-2]);
-- host = srvRecordEntries[srvRecordEntries.length-1];
-- }
-- catch (Exception e) {
-- // Attempt lookup with older "jabber" name.
-- try {
-- Attributes dnsLookup =
-- context.getAttributes("_jabber._tcp." + domain, new String[]{"SRV"});
-- String srvRecord = (String)dnsLookup.get("SRV").get();
-- String [] srvRecordEntries = srvRecord.split(" ");
-- port = Integer.parseInt(srvRecordEntries[srvRecordEntries.length-2]);
-- host = srvRecordEntries[srvRecordEntries.length-1];
-- }
-- catch (Exception e2) {
-- // Ignore.
-- }
-- }
-- // Host entries in DNS should end with a ".".
-- if (host.endsWith(".")) {
-- host = host.substring(0, host.length()-1);
-- }
-- HostAddress address = new HostAddress(host, port);
-- // Add item to cache.
-- cache.put(key, address);
-- return address;
- }
-
- /**
-@@ -253,4 +151,4 @@
- return port == address.port;
- }
- }
--}
-\ No newline at end of file
-+}
-Index: source/org/jivesoftware/smack/util/PacketParserUtils.java
-===================================================================
---- source/org/jivesoftware/smack/util/PacketParserUtils.java (révision 10982)
-+++ source/org/jivesoftware/smack/util/PacketParserUtils.java (copie de travail)
-@@ -25,7 +25,7 @@
- import org.jivesoftware.smack.provider.ProviderManager;
- import org.xmlpull.v1.XmlPullParser;
-
--import java.beans.PropertyDescriptor;
-+//import java.beans.PropertyDescriptor;
- import java.io.ByteArrayInputStream;
- import java.io.ObjectInputStream;
- import java.util.ArrayList;
-@@ -428,26 +428,26 @@
- {
- boolean done = false;
- Object object = objectClass.newInstance();
-- while (!done) {
-- int eventType = parser.next();
-- if (eventType == XmlPullParser.START_TAG) {
-- String name = parser.getName();
-- String stringValue = parser.nextText();
-- PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass);
-- // Load the class type of the property.
-- Class propertyType = descriptor.getPropertyType();
-- // Get the value of the property by converting it from a
-- // String to the correct object type.
-- Object value = decode(propertyType, stringValue);
-- // Set the value of the bean.
-- descriptor.getWriteMethod().invoke(object, value);
-- }
-- else if (eventType == XmlPullParser.END_TAG) {
-- if (parser.getName().equals(elementName)) {
-- done = true;
-- }
-- }
-- }
-+// while (!done) {
-+// int eventType = parser.next();
-+// if (eventType == XmlPullParser.START_TAG) {
-+// String name = parser.getName();
-+// String stringValue = parser.nextText();
-+// PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass);
-+// // Load the class type of the property.
-+// Class propertyType = descriptor.getPropertyType();
-+// // Get the value of the property by converting it from a
-+// // String to the correct object type.
-+// Object value = decode(propertyType, stringValue);
-+// // Set the value of the bean.
-+// descriptor.getWriteMethod().invoke(object, value);
-+// }
-+// else if (eventType == XmlPullParser.END_TAG) {
-+// if (parser.getName().equals(elementName)) {
-+// done = true;
-+// }
-+// }
-+// }
- return object;
- }
-
diff -r 77cb07054bb2 -r 115665c0d25a libs/patch-smack-android-sasl.diff
--- a/libs/patch-smack-android-sasl.diff Wed Jan 20 16:43:54 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2074 +0,0 @@
-diff -Nbdru org/jivesoftware/smack/ConnectionConfiguration.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/ConnectionConfiguration.java
---- org/jivesoftware/smack/ConnectionConfiguration.java 2009-06-26 21:11:24.609252239 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/ConnectionConfiguration.java 2009-06-25 22:41:46.281648000 +0200
-@@ -63,7 +63,7 @@
- */
- private CallbackHandler callbackHandler;
-
-- private boolean debuggerEnabled = XMPPConnection.DEBUG_ENABLED;
-+ private boolean debuggerEnabled = false;
-
- // Flag that indicates if a reconnection should be attempted when abruptly disconnected
- private boolean reconnectionAllowed = true;
-diff -Nbdru org/jivesoftware/smack/debugger/LiteDebugger.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/debugger/LiteDebugger.java
---- org/jivesoftware/smack/debugger/LiteDebugger.java 2009-06-26 21:11:22.316252115 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/debugger/LiteDebugger.java 1970-01-01 01:00:00.000000000 +0100
-@@ -1,336 +0,0 @@
--/**
-- * $RCSfile$
-- * $Revision: 7071 $
-- * $Date: 2007-02-12 01:59:05 +0100 (Mon, 12 Feb 2007) $
-- *
-- * Copyright 2003-2007 Jive Software.
-- *
-- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
-- * you may not use this file except in compliance with the License.
-- * You may obtain a copy of the License at
-- *
-- * http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package org.jivesoftware.smack.debugger;
--
--import java.awt.*;
--import java.awt.datatransfer.*;
--import java.awt.event.*;
--import java.io.*;
--
--import javax.swing.*;
--
--import org.jivesoftware.smack.*;
--import org.jivesoftware.smack.packet.*;
--import org.jivesoftware.smack.util.*;
--
--/**
-- * The LiteDebugger is a very simple debugger that allows to debug sent, received and
-- * interpreted messages.
-- *
-- * @author Gaston Dombiak
-- */
--public class LiteDebugger implements SmackDebugger {
--
-- private static final String NEWLINE = "\n";
--
-- private JFrame frame = null;
-- private XMPPConnection connection = null;
--
-- private PacketListener listener = null;
--
-- private Writer writer;
-- private Reader reader;
-- private ReaderListener readerListener;
-- private WriterListener writerListener;
--
-- public LiteDebugger(XMPPConnection connection, Writer writer, Reader reader) {
-- this.connection = connection;
-- this.writer = writer;
-- this.reader = reader;
-- createDebug();
-- }
--
-- /**
-- * Creates the debug process, which is a GUI window that displays XML traffic.
-- */
-- private void createDebug() {
-- frame = new JFrame("Smack Debug Window -- " + connection.getServiceName() + ":" +
-- connection.getPort());
--
-- // Add listener for window closing event
-- frame.addWindowListener(new WindowAdapter() {
-- public void windowClosing(WindowEvent evt) {
-- rootWindowClosing(evt);
-- }
-- });
--
-- // We'll arrange the UI into four tabs. The first tab contains all data, the second
-- // client generated XML, the third server generated XML, and the fourth is packet
-- // data from the server as seen by Smack.
-- JTabbedPane tabbedPane = new JTabbedPane();
--
-- JPanel allPane = new JPanel();
-- allPane.setLayout(new GridLayout(3, 1));
-- tabbedPane.add("All", allPane);
--
-- // Create UI elements for client generated XML traffic.
-- final JTextArea sentText1 = new JTextArea();
-- final JTextArea sentText2 = new JTextArea();
-- sentText1.setEditable(false);
-- sentText2.setEditable(false);
-- sentText1.setForeground(new Color(112, 3, 3));
-- sentText2.setForeground(new Color(112, 3, 3));
-- allPane.add(new JScrollPane(sentText1));
-- tabbedPane.add("Sent", new JScrollPane(sentText2));
--
-- // Add pop-up menu.
-- JPopupMenu menu = new JPopupMenu();
-- JMenuItem menuItem1 = new JMenuItem("Copy");
-- menuItem1.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- // Get the clipboard
-- Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
-- // Set the sent text as the new content of the clipboard
-- clipboard.setContents(new StringSelection(sentText1.getText()), null);
-- }
-- });
--
-- JMenuItem menuItem2 = new JMenuItem("Clear");
-- menuItem2.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- sentText1.setText("");
-- sentText2.setText("");
-- }
-- });
--
-- // Add listener to the text area so the popup menu can come up.
-- MouseListener popupListener = new PopupListener(menu);
-- sentText1.addMouseListener(popupListener);
-- sentText2.addMouseListener(popupListener);
-- menu.add(menuItem1);
-- menu.add(menuItem2);
--
-- // Create UI elements for server generated XML traffic.
-- final JTextArea receivedText1 = new JTextArea();
-- final JTextArea receivedText2 = new JTextArea();
-- receivedText1.setEditable(false);
-- receivedText2.setEditable(false);
-- receivedText1.setForeground(new Color(6, 76, 133));
-- receivedText2.setForeground(new Color(6, 76, 133));
-- allPane.add(new JScrollPane(receivedText1));
-- tabbedPane.add("Received", new JScrollPane(receivedText2));
--
-- // Add pop-up menu.
-- menu = new JPopupMenu();
-- menuItem1 = new JMenuItem("Copy");
-- menuItem1.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- // Get the clipboard
-- Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
-- // Set the sent text as the new content of the clipboard
-- clipboard.setContents(new StringSelection(receivedText1.getText()), null);
-- }
-- });
--
-- menuItem2 = new JMenuItem("Clear");
-- menuItem2.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- receivedText1.setText("");
-- receivedText2.setText("");
-- }
-- });
--
-- // Add listener to the text area so the popup menu can come up.
-- popupListener = new PopupListener(menu);
-- receivedText1.addMouseListener(popupListener);
-- receivedText2.addMouseListener(popupListener);
-- menu.add(menuItem1);
-- menu.add(menuItem2);
--
-- // Create UI elements for interpreted XML traffic.
-- final JTextArea interpretedText1 = new JTextArea();
-- final JTextArea interpretedText2 = new JTextArea();
-- interpretedText1.setEditable(false);
-- interpretedText2.setEditable(false);
-- interpretedText1.setForeground(new Color(1, 94, 35));
-- interpretedText2.setForeground(new Color(1, 94, 35));
-- allPane.add(new JScrollPane(interpretedText1));
-- tabbedPane.add("Interpreted", new JScrollPane(interpretedText2));
--
-- // Add pop-up menu.
-- menu = new JPopupMenu();
-- menuItem1 = new JMenuItem("Copy");
-- menuItem1.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- // Get the clipboard
-- Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
-- // Set the sent text as the new content of the clipboard
-- clipboard.setContents(new StringSelection(interpretedText1.getText()), null);
-- }
-- });
--
-- menuItem2 = new JMenuItem("Clear");
-- menuItem2.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- interpretedText1.setText("");
-- interpretedText2.setText("");
-- }
-- });
--
-- // Add listener to the text area so the popup menu can come up.
-- popupListener = new PopupListener(menu);
-- interpretedText1.addMouseListener(popupListener);
-- interpretedText2.addMouseListener(popupListener);
-- menu.add(menuItem1);
-- menu.add(menuItem2);
--
-- frame.getContentPane().add(tabbedPane);
--
-- frame.setSize(550, 400);
-- frame.setVisible(true);
--
-- // Create a special Reader that wraps the main Reader and logs data to the GUI.
-- ObservableReader debugReader = new ObservableReader(reader);
-- readerListener = new ReaderListener() {
-- public void read(String str) {
-- int index = str.lastIndexOf(">");
-- if (index != -1) {
-- receivedText1.append(str.substring(0, index + 1));
-- receivedText2.append(str.substring(0, index + 1));
-- receivedText1.append(NEWLINE);
-- receivedText2.append(NEWLINE);
-- if (str.length() > index) {
-- receivedText1.append(str.substring(index + 1));
-- receivedText2.append(str.substring(index + 1));
-- }
-- }
-- else {
-- receivedText1.append(str);
-- receivedText2.append(str);
-- }
-- }
-- };
-- debugReader.addReaderListener(readerListener);
--
-- // Create a special Writer that wraps the main Writer and logs data to the GUI.
-- ObservableWriter debugWriter = new ObservableWriter(writer);
-- writerListener = new WriterListener() {
-- public void write(String str) {
-- sentText1.append(str);
-- sentText2.append(str);
-- if (str.endsWith(">")) {
-- sentText1.append(NEWLINE);
-- sentText2.append(NEWLINE);
-- }
-- }
-- };
-- debugWriter.addWriterListener(writerListener);
--
-- // Assign the reader/writer objects to use the debug versions. The packet reader
-- // and writer will use the debug versions when they are created.
-- reader = debugReader;
-- writer = debugWriter;
--
-- // Create a thread that will listen for all incoming packets and write them to
-- // the GUI. This is what we call "interpreted" packet data, since it's the packet
-- // data as Smack sees it and not as it's coming in as raw XML.
-- listener = new PacketListener() {
-- public void processPacket(Packet packet) {
-- interpretedText1.append(packet.toXML());
-- interpretedText2.append(packet.toXML());
-- interpretedText1.append(NEWLINE);
-- interpretedText2.append(NEWLINE);
-- }
-- };
-- }
--
-- /**
-- * Notification that the root window is closing. Stop listening for received and
-- * transmitted packets.
-- *
-- * @param evt the event that indicates that the root window is closing
-- */
-- public void rootWindowClosing(WindowEvent evt) {
-- connection.removePacketListener(listener);
-- ((ObservableReader)reader).removeReaderListener(readerListener);
-- ((ObservableWriter)writer).removeWriterListener(writerListener);
-- }
--
-- /**
-- * Listens for debug window popup dialog events.
-- */
-- private class PopupListener extends MouseAdapter {
-- JPopupMenu popup;
--
-- PopupListener(JPopupMenu popupMenu) {
-- popup = popupMenu;
-- }
--
-- public void mousePressed(MouseEvent e) {
-- maybeShowPopup(e);
-- }
--
-- public void mouseReleased(MouseEvent e) {
-- maybeShowPopup(e);
-- }
--
-- private void maybeShowPopup(MouseEvent e) {
-- if (e.isPopupTrigger()) {
-- popup.show(e.getComponent(), e.getX(), e.getY());
-- }
-- }
-- }
--
-- public Reader newConnectionReader(Reader newReader) {
-- ((ObservableReader)reader).removeReaderListener(readerListener);
-- ObservableReader debugReader = new ObservableReader(newReader);
-- debugReader.addReaderListener(readerListener);
-- reader = debugReader;
-- return reader;
-- }
--
-- public Writer newConnectionWriter(Writer newWriter) {
-- ((ObservableWriter)writer).removeWriterListener(writerListener);
-- ObservableWriter debugWriter = new ObservableWriter(newWriter);
-- debugWriter.addWriterListener(writerListener);
-- writer = debugWriter;
-- return writer;
-- }
--
-- public void userHasLogged(String user) {
-- boolean isAnonymous = "".equals(StringUtils.parseName(user));
-- String title =
-- "Smack Debug Window -- "
-- + (isAnonymous ? "" : StringUtils.parseBareAddress(user))
-- + "@"
-- + connection.getServiceName()
-- + ":"
-- + connection.getPort();
-- title += "/" + StringUtils.parseResource(user);
-- frame.setTitle(title);
-- }
--
-- public Reader getReader() {
-- return reader;
-- }
--
-- public Writer getWriter() {
-- return writer;
-- }
--
-- public PacketListener getReaderListener() {
-- return listener;
-- }
--
-- public PacketListener getWriterListener() {
-- return null;
-- }
--}
-diff -Nbdru org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java
---- org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java 2009-06-26 21:11:23.436473310 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java 2009-06-26 20:56:01.656252399 +0200
-@@ -25,8 +25,9 @@
- import java.io.IOException;
- import java.util.Map;
- import java.util.HashMap;
--import javax.security.sasl.Sasl;
--import javax.security.sasl.SaslClient;
-+
-+import security.javax.security.sasl.Sasl;
-+
- import javax.security.auth.callback.CallbackHandler;
-
- /**
-@@ -63,7 +64,7 @@
- String[] mechanisms = { getName() };
- Map props = new HashMap();
- props.put(Sasl.SERVER_AUTH,"TRUE");
-- sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
-+ sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, (javax.security.auth.callback.CallbackHandler)cbh);
- authenticate();
- }
-
-diff -Nbdru org/jivesoftware/smack/sasl/SASLMechanism.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/sasl/SASLMechanism.java
---- org/jivesoftware/smack/sasl/SASLMechanism.java 2009-06-26 21:11:23.436473310 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/sasl/SASLMechanism.java 2009-06-26 21:23:03.244251498 +0200
-@@ -20,23 +20,25 @@
-
- package org.jivesoftware.smack.sasl;
-
--import org.jivesoftware.smack.XMPPException;
--import org.jivesoftware.smack.SASLAuthentication;
--import org.jivesoftware.smack.util.Base64;
--
- import java.io.IOException;
--import java.util.Map;
- import java.util.HashMap;
--import javax.security.auth.callback.CallbackHandler;
--import javax.security.auth.callback.UnsupportedCallbackException;
-+import java.util.Map;
-+
- import javax.security.auth.callback.Callback;
--import javax.security.auth.callback.NameCallback;
-+import javax.security.auth.callback.CallbackHandler;
- import javax.security.auth.callback.PasswordCallback;
--import javax.security.sasl.RealmCallback;
--import javax.security.sasl.RealmChoiceCallback;
--import javax.security.sasl.Sasl;
--import javax.security.sasl.SaslClient;
--import javax.security.sasl.SaslException;
-+import javax.security.auth.callback.UnsupportedCallbackException;
-+
-+import org.jivesoftware.smack.SASLAuthentication;
-+import org.jivesoftware.smack.XMPPException;
-+import org.jivesoftware.smack.util.Base64;
-+
-+import security.javax.security.auth.callback.NameCallback;
-+import security.javax.security.sasl.RealmCallback;
-+import security.javax.security.sasl.RealmChoiceCallback;
-+import security.javax.security.sasl.Sasl;
-+import security.javax.security.sasl.SaslClient;
-+import security.javax.security.sasl.SaslException;
-
- /**
- * Base class for SASL mechanisms. Subclasses must implement these methods:
-@@ -148,12 +150,13 @@
- } else {
- response = sc.evaluateChallenge(null);
- }
--
-- String authenticationText = Base64.encodeBytes(response,Base64.DONT_BREAK_LINES);
-+ String authenticationText = "";
-+ if (response != null) {
-+ authenticationText = Base64.encodeBytes(response,Base64.DONT_BREAK_LINES);
- if(authenticationText.equals("")) {
- authenticationText = "=";
- }
--
-+ }
- stanza.append("");
- stanza.append(authenticationText);
- stanza.append("");
-diff -Nbdru org/jivesoftware/smack/SASLAuthentication.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/SASLAuthentication.java
---- org/jivesoftware/smack/SASLAuthentication.java 2009-06-26 21:11:24.597252589 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/SASLAuthentication.java 2009-06-26 21:31:16.445251493 +0200
-@@ -84,17 +84,15 @@
-
- // Register SASL mechanisms supported by Smack
- registerSASLMechanism("EXTERNAL", SASLExternalMechanism.class);
-- registerSASLMechanism("GSSAPI", SASLGSSAPIMechanism.class);
- registerSASLMechanism("DIGEST-MD5", SASLDigestMD5Mechanism.class);
- registerSASLMechanism("CRAM-MD5", SASLCramMD5Mechanism.class);
- registerSASLMechanism("PLAIN", SASLPlainMechanism.class);
- registerSASLMechanism("ANONYMOUS", SASLAnonymous.class);
-
-- supportSASLMechanism("GSSAPI",0);
-- supportSASLMechanism("DIGEST-MD5",1);
-- supportSASLMechanism("CRAM-MD5",2);
-- supportSASLMechanism("PLAIN",3);
-- supportSASLMechanism("ANONYMOUS",4);
-+ supportSASLMechanism("DIGEST-MD5",0);
-+ supportSASLMechanism("CRAM-MD5",1);
-+ supportSASLMechanism("PLAIN",2);
-+ supportSASLMechanism("ANONYMOUS",3);
-
- }
-
-diff -Nbdru org/jivesoftware/smack/util/DNSUtil.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/util/DNSUtil.java
---- org/jivesoftware/smack/util/DNSUtil.java 2009-06-26 21:11:24.585252398 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/util/DNSUtil.java 2009-06-26 00:41:16.932251881 +0200
-@@ -22,12 +22,6 @@
- import java.util.Hashtable;
- import java.util.Map;
-
--import javax.naming.NamingEnumeration;
--import javax.naming.directory.Attribute;
--import javax.naming.directory.Attributes;
--import javax.naming.directory.DirContext;
--import javax.naming.directory.InitialDirContext;
--
- /**
- * Utilty class to perform DNS lookups for XMPP services.
- *
-@@ -41,13 +35,13 @@
- */
- private static Map cache = new Cache(100, 1000*60*10);
-
-- private static DirContext context;
-+// private static DirContext context;
-
- static {
- try {
- Hashtable env = new Hashtable();
- env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
-- context = new InitialDirContext(env);
-+ // context = new InitialDirContext(env);
- }
- catch (Exception e) {
- // Ignore.
-@@ -79,65 +73,8 @@
- * server can be reached at for the specified domain.
- */
- public static HostAddress resolveXMPPDomain(String domain) {
-- if (context == null) {
- return new HostAddress(domain, 5222);
- }
-- String key = "c" + domain;
-- // Return item from cache if it exists.
-- if (cache.containsKey(key)) {
-- HostAddress address = (HostAddress)cache.get(key);
-- if (address != null) {
-- return address;
-- }
-- }
-- String bestHost = domain;
-- int bestPort = 5222;
-- int bestPriority = 0;
-- int bestWeight = 0;
-- try {
-- Attributes dnsLookup = context.getAttributes("_xmpp-client._tcp." + domain, new String[]{"SRV"});
-- Attribute srvAttribute = dnsLookup.get("SRV");
-- NamingEnumeration srvRecords = srvAttribute.getAll();
-- while(srvRecords.hasMore()) {
-- String srvRecord = (String) srvRecords.next();
-- String [] srvRecordEntries = srvRecord.split(" ");
-- int priority = Integer.parseInt(srvRecordEntries[srvRecordEntries.length - 4]);
-- int port = Integer.parseInt(srvRecordEntries[srvRecordEntries.length-2]);
-- int weight = Integer.parseInt(srvRecordEntries[srvRecordEntries.length - 3]);
-- String host = srvRecordEntries[srvRecordEntries.length-1];
--
-- // Randomize the weight.
-- weight *= Math.random() * weight;
--
-- if ((bestPriority == 0) || (priority < bestPriority)) {
-- // Choose a server with the lowest priority.
-- bestPriority = priority;
-- bestWeight = weight;
-- bestHost = host;
-- bestPort = port;
-- } else if (priority == bestPriority) {
-- // When we have like priorities then randomly choose a server based on its weight
-- // The weights were randomized above.
-- if (weight > bestWeight) {
-- bestWeight = weight;
-- bestHost = host;
-- bestPort = port;
-- }
-- }
-- }
-- }
-- catch (Exception e) {
-- // Ignore.
-- }
-- // Host entries in DNS should end with a ".".
-- if (bestHost.endsWith(".")) {
-- bestHost = bestHost.substring(0, bestHost.length()-1);
-- }
-- HostAddress address = new HostAddress(bestHost, bestPort);
-- // Add item to cache.
-- cache.put(key, address);
-- return address;
-- }
-
- /**
- * Returns the host name and port that the specified XMPP server can be
-@@ -157,50 +94,8 @@
- * server can be reached at for the specified domain.
- */
- public static HostAddress resolveXMPPServerDomain(String domain) {
-- if (context == null) {
- return new HostAddress(domain, 5269);
- }
-- String key = "s" + domain;
-- // Return item from cache if it exists.
-- if (cache.containsKey(key)) {
-- HostAddress address = (HostAddress)cache.get(key);
-- if (address != null) {
-- return address;
-- }
-- }
-- String host = domain;
-- int port = 5269;
-- try {
-- Attributes dnsLookup =
-- context.getAttributes("_xmpp-server._tcp." + domain, new String[]{"SRV"});
-- String srvRecord = (String)dnsLookup.get("SRV").get();
-- String [] srvRecordEntries = srvRecord.split(" ");
-- port = Integer.parseInt(srvRecordEntries[srvRecordEntries.length-2]);
-- host = srvRecordEntries[srvRecordEntries.length-1];
-- }
-- catch (Exception e) {
-- // Attempt lookup with older "jabber" name.
-- try {
-- Attributes dnsLookup =
-- context.getAttributes("_jabber._tcp." + domain, new String[]{"SRV"});
-- String srvRecord = (String)dnsLookup.get("SRV").get();
-- String [] srvRecordEntries = srvRecord.split(" ");
-- port = Integer.parseInt(srvRecordEntries[srvRecordEntries.length-2]);
-- host = srvRecordEntries[srvRecordEntries.length-1];
-- }
-- catch (Exception e2) {
-- // Ignore.
-- }
-- }
-- // Host entries in DNS should end with a ".".
-- if (host.endsWith(".")) {
-- host = host.substring(0, host.length()-1);
-- }
-- HostAddress address = new HostAddress(host, port);
-- // Add item to cache.
-- cache.put(key, address);
-- return address;
-- }
-
- /**
- * Encapsulates a hostname and port.
-diff -Nbdru org/jivesoftware/smack/util/PacketParserUtils.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/util/PacketParserUtils.java
---- org/jivesoftware/smack/util/PacketParserUtils.java 2009-06-26 21:11:24.585252398 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/util/PacketParserUtils.java 2009-06-25 22:34:41.252416000 +0200
-@@ -25,7 +25,7 @@
- import org.jivesoftware.smack.provider.ProviderManager;
- import org.xmlpull.v1.XmlPullParser;
-
--import java.beans.PropertyDescriptor;
-+//import java.beans.PropertyDescriptor;
- import java.io.ByteArrayInputStream;
- import java.io.ObjectInputStream;
- import java.util.ArrayList;
-@@ -428,26 +428,26 @@
- {
- boolean done = false;
- Object object = objectClass.newInstance();
-- while (!done) {
-- int eventType = parser.next();
-- if (eventType == XmlPullParser.START_TAG) {
-- String name = parser.getName();
-- String stringValue = parser.nextText();
-- PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass);
-- // Load the class type of the property.
-- Class propertyType = descriptor.getPropertyType();
-- // Get the value of the property by converting it from a
-- // String to the correct object type.
-- Object value = decode(propertyType, stringValue);
-- // Set the value of the bean.
-- descriptor.getWriteMethod().invoke(object, value);
-- }
-- else if (eventType == XmlPullParser.END_TAG) {
-- if (parser.getName().equals(elementName)) {
-- done = true;
-- }
-- }
-- }
-+// while (!done) {
-+// int eventType = parser.next();
-+// if (eventType == XmlPullParser.START_TAG) {
-+// String name = parser.getName();
-+// String stringValue = parser.nextText();
-+// PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass);
-+// // Load the class type of the property.
-+// Class propertyType = descriptor.getPropertyType();
-+// // Get the value of the property by converting it from a
-+// // String to the correct object type.
-+// Object value = decode(propertyType, stringValue);
-+// // Set the value of the bean.
-+// descriptor.getWriteMethod().invoke(object, value);
-+// }
-+// else if (eventType == XmlPullParser.END_TAG) {
-+// if (parser.getName().equals(elementName)) {
-+// done = true;
-+// }
-+// }
-+// }
- return object;
- }
-
-diff -Nbdru org/jivesoftware/smack/XMPPConnection.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/XMPPConnection.java
---- org/jivesoftware/smack/XMPPConnection.java 2009-06-26 21:11:24.601252412 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smack/XMPPConnection.java 2009-06-25 22:34:41.252416000 +0200
-@@ -1082,7 +1082,7 @@
- catch (Exception ex) {
- try {
- debuggerClass =
-- Class.forName("org.jivesoftware.smack.debugger.LiteDebugger");
-+ Class.forName("org.jivesoftware.smack.debugger.ConsoleDebugger");
- }
- catch (Exception ex2) {
- ex2.printStackTrace();
-diff -Nbdru org/jivesoftware/smackx/debugger/EnhancedDebugger.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smackx/debugger/EnhancedDebugger.java
---- org/jivesoftware/smackx/debugger/EnhancedDebugger.java 2009-06-26 21:11:18.348252001 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smackx/debugger/EnhancedDebugger.java 1970-01-01 01:00:00.000000000 +0100
-@@ -1,1005 +0,0 @@
--/**
-- * $RCSfile$
-- * $Revision: 11024 $
-- * $Date: 2009-06-04 13:58:25 +0200 (Thu, 04 Jun 2009) $
-- *
-- * Copyright 2003-2007 Jive Software.
-- *
-- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
-- * you may not use this file except in compliance with the License.
-- * You may obtain a copy of the License at
-- *
-- * http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package org.jivesoftware.smackx.debugger;
--
--import org.jivesoftware.smack.ConnectionListener;
--import org.jivesoftware.smack.PacketListener;
--import org.jivesoftware.smack.XMPPConnection;
--import org.jivesoftware.smack.debugger.SmackDebugger;
--import org.jivesoftware.smack.packet.IQ;
--import org.jivesoftware.smack.packet.Message;
--import org.jivesoftware.smack.packet.Packet;
--import org.jivesoftware.smack.packet.Presence;
--import org.jivesoftware.smack.util.*;
--
--import javax.swing.*;
--import javax.swing.event.ListSelectionEvent;
--import javax.swing.event.ListSelectionListener;
--import javax.swing.table.DefaultTableModel;
--import javax.swing.text.BadLocationException;
--import javax.xml.transform.*;
--import javax.xml.transform.stream.StreamResult;
--import javax.xml.transform.stream.StreamSource;
--import java.awt.*;
--import java.awt.datatransfer.Clipboard;
--import java.awt.datatransfer.StringSelection;
--import java.awt.event.ActionEvent;
--import java.awt.event.ActionListener;
--import java.awt.event.MouseAdapter;
--import java.awt.event.MouseEvent;
--import java.io.Reader;
--import java.io.StringReader;
--import java.io.StringWriter;
--import java.io.Writer;
--import java.net.URL;
--import java.text.SimpleDateFormat;
--import java.util.Date;
--
--/**
-- * The EnhancedDebugger is a debugger that allows to debug sent, received and interpreted messages
-- * but also provides the ability to send ad-hoc messages composed by the user.
-- *
-- * A new EnhancedDebugger will be created for each connection to debug. All the EnhancedDebuggers
-- * will be shown in the same debug window provided by the class EnhancedDebuggerWindow.
-- *
-- * @author Gaston Dombiak
-- */
--public class EnhancedDebugger implements SmackDebugger {
--
-- private static final String NEWLINE = "\n";
--
-- private static ImageIcon packetReceivedIcon;
-- private static ImageIcon packetSentIcon;
-- private static ImageIcon presencePacketIcon;
-- private static ImageIcon iqPacketIcon;
-- private static ImageIcon messagePacketIcon;
-- private static ImageIcon unknownPacketTypeIcon;
--
-- {
-- URL url;
-- // Load the image icons
-- url =
-- Thread.currentThread().getContextClassLoader().getResource("images/nav_left_blue.png");
-- if (url != null) {
-- packetReceivedIcon = new ImageIcon(url);
-- }
-- url =
-- Thread.currentThread().getContextClassLoader().getResource("images/nav_right_red.png");
-- if (url != null) {
-- packetSentIcon = new ImageIcon(url);
-- }
-- url =
-- Thread.currentThread().getContextClassLoader().getResource("images/photo_portrait.png");
-- if (url != null) {
-- presencePacketIcon = new ImageIcon(url);
-- }
-- url =
-- Thread.currentThread().getContextClassLoader().getResource(
-- "images/question_and_answer.png");
-- if (url != null) {
-- iqPacketIcon = new ImageIcon(url);
-- }
-- url = Thread.currentThread().getContextClassLoader().getResource("images/message.png");
-- if (url != null) {
-- messagePacketIcon = new ImageIcon(url);
-- }
-- url = Thread.currentThread().getContextClassLoader().getResource("images/unknown.png");
-- if (url != null) {
-- unknownPacketTypeIcon = new ImageIcon(url);
-- }
-- }
--
-- private DefaultTableModel messagesTable = null;
-- private JTextArea messageTextArea = null;
-- private JFormattedTextField userField = null;
-- private JFormattedTextField statusField = null;
--
-- private XMPPConnection connection = null;
--
-- private PacketListener packetReaderListener = null;
-- private PacketListener packetWriterListener = null;
-- private ConnectionListener connListener = null;
--
-- private Writer writer;
-- private Reader reader;
-- private ReaderListener readerListener;
-- private WriterListener writerListener;
--
-- private Date creationTime = new Date();
--
-- // Statistics variables
-- private DefaultTableModel statisticsTable = null;
-- private int sentPackets = 0;
-- private int receivedPackets = 0;
-- private int sentIQPackets = 0;
-- private int receivedIQPackets = 0;
-- private int sentMessagePackets = 0;
-- private int receivedMessagePackets = 0;
-- private int sentPresencePackets = 0;
-- private int receivedPresencePackets = 0;
-- private int sentOtherPackets = 0;
-- private int receivedOtherPackets = 0;
--
-- JTabbedPane tabbedPane;
--
-- public EnhancedDebugger(XMPPConnection connection, Writer writer, Reader reader) {
-- this.connection = connection;
-- this.writer = writer;
-- this.reader = reader;
-- createDebug();
-- EnhancedDebuggerWindow.addDebugger(this);
-- }
--
-- /**
-- * Creates the debug process, which is a GUI window that displays XML traffic.
-- */
-- private void createDebug() {
-- // We'll arrange the UI into six tabs. The first tab contains all data, the second
-- // client generated XML, the third server generated XML, the fourth allows to send
-- // ad-hoc messages and the fifth contains connection information.
-- tabbedPane = new JTabbedPane();
--
-- // Add the All Packets, Sent, Received and Interpreted panels
-- addBasicPanels();
--
-- // Add the panel to send ad-hoc messages
-- addAdhocPacketPanel();
--
-- // Add the connection information panel
-- addInformationPanel();
--
-- // Create a thread that will listen for all incoming packets and write them to
-- // the GUI. This is what we call "interpreted" packet data, since it's the packet
-- // data as Smack sees it and not as it's coming in as raw XML.
-- packetReaderListener = new PacketListener() {
-- SimpleDateFormat dateFormatter = new SimpleDateFormat("hh:mm:ss aaa");
--
-- public void processPacket(final Packet packet) {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- addReadPacketToTable(dateFormatter, packet);
-- }
-- });
--
-- }
-- };
--
-- // Create a thread that will listen for all outgoing packets and write them to
-- // the GUI.
-- packetWriterListener = new PacketListener() {
-- SimpleDateFormat dateFormatter = new SimpleDateFormat("hh:mm:ss aaa");
--
-- public void processPacket(final Packet packet) {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- addSentPacketToTable(dateFormatter, packet);
-- }
-- });
--
-- }
-- };
--
-- // Create a thread that will listen for any connection closed event
-- connListener = new ConnectionListener() {
-- public void connectionClosed() {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- statusField.setValue("Closed");
-- EnhancedDebuggerWindow.connectionClosed(EnhancedDebugger.this);
-- }
-- });
--
-- }
--
-- public void connectionClosedOnError(final Exception e) {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- statusField.setValue("Closed due to an exception");
-- EnhancedDebuggerWindow.connectionClosedOnError(EnhancedDebugger.this, e);
-- }
-- });
--
-- }
-- public void reconnectingIn(final int seconds){
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- statusField.setValue("Attempt to reconnect in " + seconds + " seconds");
-- }
-- });
-- }
--
-- public void reconnectionSuccessful() {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- statusField.setValue("Reconnection stablished");
-- EnhancedDebuggerWindow.connectionEstablished(EnhancedDebugger.this);
-- }
-- });
-- }
--
-- public void reconnectionFailed(Exception e) {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- statusField.setValue("Reconnection failed");
-- }
-- });
-- }
-- };
-- }
--
-- private void addBasicPanels() {
-- JSplitPane allPane = new JSplitPane(JSplitPane.VERTICAL_SPLIT);
-- allPane.setOneTouchExpandable(true);
--
-- messagesTable =
-- new DefaultTableModel(
-- new Object[]{"Hide", "Timestamp", "", "", "Message", "Id", "Type", "To", "From"},
-- 0) {
-- private static final long serialVersionUID = 8136121224474217264L;
-- public boolean isCellEditable(int rowIndex, int mColIndex) {
-- return false;
-- }
--
-- public Class getColumnClass(int columnIndex) {
-- if (columnIndex == 2 || columnIndex == 3) {
-- return Icon.class;
-- }
-- return super.getColumnClass(columnIndex);
-- }
--
-- };
-- JTable table = new JTable(messagesTable);
-- // Allow only single a selection
-- table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-- // Hide the first column
-- table.getColumnModel().getColumn(0).setMaxWidth(0);
-- table.getColumnModel().getColumn(0).setMinWidth(0);
-- table.getTableHeader().getColumnModel().getColumn(0).setMaxWidth(0);
-- table.getTableHeader().getColumnModel().getColumn(0).setMinWidth(0);
-- // Set the column "timestamp" size
-- table.getColumnModel().getColumn(1).setMaxWidth(300);
-- table.getColumnModel().getColumn(1).setPreferredWidth(70);
-- // Set the column "direction" icon size
-- table.getColumnModel().getColumn(2).setMaxWidth(50);
-- table.getColumnModel().getColumn(2).setPreferredWidth(30);
-- // Set the column "packet type" icon size
-- table.getColumnModel().getColumn(3).setMaxWidth(50);
-- table.getColumnModel().getColumn(3).setPreferredWidth(30);
-- // Set the column "Id" size
-- table.getColumnModel().getColumn(5).setMaxWidth(100);
-- table.getColumnModel().getColumn(5).setPreferredWidth(55);
-- // Set the column "type" size
-- table.getColumnModel().getColumn(6).setMaxWidth(200);
-- table.getColumnModel().getColumn(6).setPreferredWidth(50);
-- // Set the column "to" size
-- table.getColumnModel().getColumn(7).setMaxWidth(300);
-- table.getColumnModel().getColumn(7).setPreferredWidth(90);
-- // Set the column "from" size
-- table.getColumnModel().getColumn(8).setMaxWidth(300);
-- table.getColumnModel().getColumn(8).setPreferredWidth(90);
-- // Create a table listener that listen for row selection events
-- SelectionListener selectionListener = new SelectionListener(table);
-- table.getSelectionModel().addListSelectionListener(selectionListener);
-- table.getColumnModel().getSelectionModel().addListSelectionListener(selectionListener);
-- allPane.setTopComponent(new JScrollPane(table));
-- messageTextArea = new JTextArea();
-- messageTextArea.setEditable(false);
-- // Add pop-up menu.
-- JPopupMenu menu = new JPopupMenu();
-- JMenuItem menuItem1 = new JMenuItem("Copy");
-- menuItem1.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- // Get the clipboard
-- Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
-- // Set the sent text as the new content of the clipboard
-- clipboard.setContents(new StringSelection(messageTextArea.getText()), null);
-- }
-- });
-- menu.add(menuItem1);
-- // Add listener to the text area so the popup menu can come up.
-- messageTextArea.addMouseListener(new PopupListener(menu));
-- allPane.setBottomComponent(new JScrollPane(messageTextArea));
-- allPane.setDividerLocation(150);
--
-- tabbedPane.add("All Packets", allPane);
-- tabbedPane.setToolTipTextAt(0, "Sent and received packets processed by Smack");
--
-- // Create UI elements for client generated XML traffic.
-- final JTextArea sentText = new JTextArea();
-- sentText.setWrapStyleWord(true);
-- sentText.setLineWrap(true);
-- sentText.setEditable(false);
-- sentText.setForeground(new Color(112, 3, 3));
-- tabbedPane.add("Raw Sent Packets", new JScrollPane(sentText));
-- tabbedPane.setToolTipTextAt(1, "Raw text of the sent packets");
--
-- // Add pop-up menu.
-- menu = new JPopupMenu();
-- menuItem1 = new JMenuItem("Copy");
-- menuItem1.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- // Get the clipboard
-- Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
-- // Set the sent text as the new content of the clipboard
-- clipboard.setContents(new StringSelection(sentText.getText()), null);
-- }
-- });
--
-- JMenuItem menuItem2 = new JMenuItem("Clear");
-- menuItem2.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- sentText.setText("");
-- }
-- });
--
-- // Add listener to the text area so the popup menu can come up.
-- sentText.addMouseListener(new PopupListener(menu));
-- menu.add(menuItem1);
-- menu.add(menuItem2);
--
-- // Create UI elements for server generated XML traffic.
-- final JTextArea receivedText = new JTextArea();
-- receivedText.setWrapStyleWord(true);
-- receivedText.setLineWrap(true);
-- receivedText.setEditable(false);
-- receivedText.setForeground(new Color(6, 76, 133));
-- tabbedPane.add("Raw Received Packets", new JScrollPane(receivedText));
-- tabbedPane.setToolTipTextAt(
-- 2,
-- "Raw text of the received packets before Smack process them");
--
-- // Add pop-up menu.
-- menu = new JPopupMenu();
-- menuItem1 = new JMenuItem("Copy");
-- menuItem1.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- // Get the clipboard
-- Clipboard clipboard = Toolkit.getDefaultToolkit().getSystemClipboard();
-- // Set the sent text as the new content of the clipboard
-- clipboard.setContents(new StringSelection(receivedText.getText()), null);
-- }
-- });
--
-- menuItem2 = new JMenuItem("Clear");
-- menuItem2.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- receivedText.setText("");
-- }
-- });
--
-- // Add listener to the text area so the popup menu can come up.
-- receivedText.addMouseListener(new PopupListener(menu));
-- menu.add(menuItem1);
-- menu.add(menuItem2);
--
-- // Create a special Reader that wraps the main Reader and logs data to the GUI.
-- ObservableReader debugReader = new ObservableReader(reader);
-- readerListener = new ReaderListener() {
-- public void read(final String str) {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- if (EnhancedDebuggerWindow.PERSISTED_DEBUGGER &&
-- !EnhancedDebuggerWindow.getInstance().isVisible()) {
-- // Do not add content if the parent is not visible
-- return;
-- }
--
-- int index = str.lastIndexOf(">");
-- if (index != -1) {
-- if (receivedText.getLineCount() >= EnhancedDebuggerWindow.MAX_TABLE_ROWS)
-- {
-- try {
-- receivedText.replaceRange("", 0, receivedText.getLineEndOffset(0));
-- }
-- catch (BadLocationException e) {
-- e.printStackTrace();
-- }
-- }
-- receivedText.append(str.substring(0, index + 1));
-- receivedText.append(NEWLINE);
-- if (str.length() > index) {
-- receivedText.append(str.substring(index + 1));
-- }
-- }
-- else {
-- receivedText.append(str);
-- }
-- }
-- });
-- }
-- };
-- debugReader.addReaderListener(readerListener);
--
-- // Create a special Writer that wraps the main Writer and logs data to the GUI.
-- ObservableWriter debugWriter = new ObservableWriter(writer);
-- writerListener = new WriterListener() {
-- public void write(final String str) {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- if (EnhancedDebuggerWindow.PERSISTED_DEBUGGER &&
-- !EnhancedDebuggerWindow.getInstance().isVisible()) {
-- // Do not add content if the parent is not visible
-- return;
-- }
--
-- if (sentText.getLineCount() >= EnhancedDebuggerWindow.MAX_TABLE_ROWS) {
-- try {
-- sentText.replaceRange("", 0, sentText.getLineEndOffset(0));
-- }
-- catch (BadLocationException e) {
-- e.printStackTrace();
-- }
-- }
--
-- sentText.append(str);
-- if (str.endsWith(">")) {
-- sentText.append(NEWLINE);
-- }
-- }
-- });
--
--
-- }
-- };
-- debugWriter.addWriterListener(writerListener);
--
-- // Assign the reader/writer objects to use the debug versions. The packet reader
-- // and writer will use the debug versions when they are created.
-- reader = debugReader;
-- writer = debugWriter;
--
-- }
--
-- private void addAdhocPacketPanel() {
-- // Create UI elements for sending ad-hoc messages.
-- final JTextArea adhocMessages = new JTextArea();
-- adhocMessages.setEditable(true);
-- adhocMessages.setForeground(new Color(1, 94, 35));
-- tabbedPane.add("Ad-hoc message", new JScrollPane(adhocMessages));
-- tabbedPane.setToolTipTextAt(3, "Panel that allows you to send adhoc packets");
--
-- // Add pop-up menu.
-- JPopupMenu menu = new JPopupMenu();
-- JMenuItem menuItem = new JMenuItem("Message");
-- menuItem.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- adhocMessages.setText(
-- "");
-- }
-- });
-- menu.add(menuItem);
--
-- menuItem = new JMenuItem("IQ Get");
-- menuItem.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- adhocMessages.setText(
-- "");
-- }
-- });
-- menu.add(menuItem);
--
-- menuItem = new JMenuItem("IQ Set");
-- menuItem.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- adhocMessages.setText(
-- "");
-- }
-- });
-- menu.add(menuItem);
--
-- menuItem = new JMenuItem("Presence");
-- menuItem.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- adhocMessages.setText(
-- "");
-- }
-- });
-- menu.add(menuItem);
-- menu.addSeparator();
--
-- menuItem = new JMenuItem("Send");
-- menuItem.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- if (!"".equals(adhocMessages.getText())) {
-- AdHocPacket packetToSend = new AdHocPacket(adhocMessages.getText());
-- connection.sendPacket(packetToSend);
-- }
-- }
-- });
-- menu.add(menuItem);
--
-- menuItem = new JMenuItem("Clear");
-- menuItem.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- adhocMessages.setText(null);
-- }
-- });
-- menu.add(menuItem);
--
-- // Add listener to the text area so the popup menu can come up.
-- adhocMessages.addMouseListener(new PopupListener(menu));
-- }
--
-- private void addInformationPanel() {
-- // Create UI elements for connection information.
-- JPanel informationPanel = new JPanel();
-- informationPanel.setLayout(new BorderLayout());
--
-- // Add the Host information
-- JPanel connPanel = new JPanel();
-- connPanel.setLayout(new GridBagLayout());
-- connPanel.setBorder(BorderFactory.createTitledBorder("Connection information"));
--
-- JLabel label = new JLabel("Host: ");
-- label.setMinimumSize(new java.awt.Dimension(150, 14));
-- label.setMaximumSize(new java.awt.Dimension(150, 14));
-- connPanel.add(
-- label,
-- new GridBagConstraints(0, 0, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
-- JFormattedTextField field = new JFormattedTextField(connection.getServiceName());
-- field.setMinimumSize(new java.awt.Dimension(150, 20));
-- field.setMaximumSize(new java.awt.Dimension(150, 20));
-- field.setEditable(false);
-- field.setBorder(null);
-- connPanel.add(
-- field,
-- new GridBagConstraints(1, 0, 1, 1, 1.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
--
-- // Add the Port information
-- label = new JLabel("Port: ");
-- label.setMinimumSize(new java.awt.Dimension(150, 14));
-- label.setMaximumSize(new java.awt.Dimension(150, 14));
-- connPanel.add(
-- label,
-- new GridBagConstraints(0, 1, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
-- field = new JFormattedTextField(connection.getPort());
-- field.setMinimumSize(new java.awt.Dimension(150, 20));
-- field.setMaximumSize(new java.awt.Dimension(150, 20));
-- field.setEditable(false);
-- field.setBorder(null);
-- connPanel.add(
-- field,
-- new GridBagConstraints(1, 1, 1, 1, 0.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
--
-- // Add the connection's User information
-- label = new JLabel("User: ");
-- label.setMinimumSize(new java.awt.Dimension(150, 14));
-- label.setMaximumSize(new java.awt.Dimension(150, 14));
-- connPanel.add(
-- label,
-- new GridBagConstraints(0, 2, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
-- userField = new JFormattedTextField();
-- userField.setMinimumSize(new java.awt.Dimension(150, 20));
-- userField.setMaximumSize(new java.awt.Dimension(150, 20));
-- userField.setEditable(false);
-- userField.setBorder(null);
-- connPanel.add(
-- userField,
-- new GridBagConstraints(1, 2, 1, 1, 0.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
--
-- // Add the connection's creationTime information
-- label = new JLabel("Creation time: ");
-- label.setMinimumSize(new java.awt.Dimension(150, 14));
-- label.setMaximumSize(new java.awt.Dimension(150, 14));
-- connPanel.add(
-- label,
-- new GridBagConstraints(0, 3, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
-- field = new JFormattedTextField(new SimpleDateFormat("yyyy.MM.dd hh:mm:ss aaa"));
-- field.setMinimumSize(new java.awt.Dimension(150, 20));
-- field.setMaximumSize(new java.awt.Dimension(150, 20));
-- field.setValue(creationTime);
-- field.setEditable(false);
-- field.setBorder(null);
-- connPanel.add(
-- field,
-- new GridBagConstraints(1, 3, 1, 1, 0.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
--
-- // Add the connection's creationTime information
-- label = new JLabel("Status: ");
-- label.setMinimumSize(new java.awt.Dimension(150, 14));
-- label.setMaximumSize(new java.awt.Dimension(150, 14));
-- connPanel.add(
-- label,
-- new GridBagConstraints(0, 4, 1, 1, 0.0, 0.0, 21, 0, new Insets(0, 0, 0, 0), 0, 0));
-- statusField = new JFormattedTextField();
-- statusField.setMinimumSize(new java.awt.Dimension(150, 20));
-- statusField.setMaximumSize(new java.awt.Dimension(150, 20));
-- statusField.setValue("Active");
-- statusField.setEditable(false);
-- statusField.setBorder(null);
-- connPanel.add(
-- statusField,
-- new GridBagConstraints(1, 4, 1, 1, 0.0, 0.0, 10, 2, new Insets(0, 0, 0, 0), 0, 0));
-- // Add the connection panel to the information panel
-- informationPanel.add(connPanel, BorderLayout.NORTH);
--
-- // Add the Number of sent packets information
-- JPanel packetsPanel = new JPanel();
-- packetsPanel.setLayout(new GridLayout(1, 1));
-- packetsPanel.setBorder(BorderFactory.createTitledBorder("Transmitted Packets"));
--
-- statisticsTable =
-- new DefaultTableModel(new Object[][]{{"IQ", 0, 0}, {"Message", 0, 0},
-- {"Presence", 0, 0}, {"Other", 0, 0}, {"Total", 0, 0}},
-- new Object[]{"Type", "Received", "Sent"}) {
-- private static final long serialVersionUID = -6793886085109589269L;
-- public boolean isCellEditable(int rowIndex, int mColIndex) {
-- return false;
-- }
-- };
-- JTable table = new JTable(statisticsTable);
-- // Allow only single a selection
-- table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
-- packetsPanel.add(new JScrollPane(table));
--
-- // Add the packets panel to the information panel
-- informationPanel.add(packetsPanel, BorderLayout.CENTER);
--
-- tabbedPane.add("Information", new JScrollPane(informationPanel));
-- tabbedPane.setToolTipTextAt(4, "Information and statistics about the debugged connection");
-- }
--
-- public Reader newConnectionReader(Reader newReader) {
-- ((ObservableReader) reader).removeReaderListener(readerListener);
-- ObservableReader debugReader = new ObservableReader(newReader);
-- debugReader.addReaderListener(readerListener);
-- reader = debugReader;
-- return reader;
-- }
--
-- public Writer newConnectionWriter(Writer newWriter) {
-- ((ObservableWriter) writer).removeWriterListener(writerListener);
-- ObservableWriter debugWriter = new ObservableWriter(newWriter);
-- debugWriter.addWriterListener(writerListener);
-- writer = debugWriter;
-- return writer;
-- }
--
-- public void userHasLogged(final String user) {
-- final EnhancedDebugger debugger = this;
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- userField.setText(user);
-- EnhancedDebuggerWindow.userHasLogged(debugger, user);
-- // Add the connection listener to the connection so that the debugger can be notified
-- // whenever the connection is closed.
-- connection.addConnectionListener(connListener);
-- }
-- });
--
-- }
--
-- public Reader getReader() {
-- return reader;
-- }
--
-- public Writer getWriter() {
-- return writer;
-- }
--
-- public PacketListener getReaderListener() {
-- return packetReaderListener;
-- }
--
-- public PacketListener getWriterListener() {
-- return packetWriterListener;
-- }
--
-- /**
-- * Updates the statistics table
-- */
-- private void updateStatistics() {
-- statisticsTable.setValueAt(Integer.valueOf(receivedIQPackets), 0, 1);
-- statisticsTable.setValueAt(Integer.valueOf(sentIQPackets), 0, 2);
--
-- statisticsTable.setValueAt(Integer.valueOf(receivedMessagePackets), 1, 1);
-- statisticsTable.setValueAt(Integer.valueOf(sentMessagePackets), 1, 2);
--
-- statisticsTable.setValueAt(Integer.valueOf(receivedPresencePackets), 2, 1);
-- statisticsTable.setValueAt(Integer.valueOf(sentPresencePackets), 2, 2);
--
-- statisticsTable.setValueAt(Integer.valueOf(receivedOtherPackets), 3, 1);
-- statisticsTable.setValueAt(Integer.valueOf(sentOtherPackets), 3, 2);
--
-- statisticsTable.setValueAt(Integer.valueOf(receivedPackets), 4, 1);
-- statisticsTable.setValueAt(Integer.valueOf(sentPackets), 4, 2);
-- }
--
-- /**
-- * Adds the received packet detail to the messages table.
-- *
-- * @param dateFormatter the SimpleDateFormat to use to format Dates
-- * @param packet the read packet to add to the table
-- */
-- private void addReadPacketToTable(final SimpleDateFormat dateFormatter, final Packet packet) {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- String messageType;
-- String from = packet.getFrom();
-- String type = "";
-- Icon packetTypeIcon;
-- receivedPackets++;
-- if (packet instanceof IQ) {
-- packetTypeIcon = iqPacketIcon;
-- messageType = "IQ Received (class=" + packet.getClass().getName() + ")";
-- type = ((IQ) packet).getType().toString();
-- receivedIQPackets++;
-- }
-- else if (packet instanceof Message) {
-- packetTypeIcon = messagePacketIcon;
-- messageType = "Message Received";
-- type = ((Message) packet).getType().toString();
-- receivedMessagePackets++;
-- }
-- else if (packet instanceof Presence) {
-- packetTypeIcon = presencePacketIcon;
-- messageType = "Presence Received";
-- type = ((Presence) packet).getType().toString();
-- receivedPresencePackets++;
-- }
-- else {
-- packetTypeIcon = unknownPacketTypeIcon;
-- messageType = packet.getClass().getName() + " Received";
-- receivedOtherPackets++;
-- }
--
-- // Check if we need to remove old rows from the table to keep memory consumption low
-- if (EnhancedDebuggerWindow.MAX_TABLE_ROWS > 0 &&
-- messagesTable.getRowCount() >= EnhancedDebuggerWindow.MAX_TABLE_ROWS) {
-- messagesTable.removeRow(0);
-- }
--
-- messagesTable.addRow(
-- new Object[]{
-- formatXML(packet.toXML()),
-- dateFormatter.format(new Date()),
-- packetReceivedIcon,
-- packetTypeIcon,
-- messageType,
-- packet.getPacketID(),
-- type,
-- "",
-- from});
-- // Update the statistics table
-- updateStatistics();
-- }
-- });
-- }
--
-- /**
-- * Adds the sent packet detail to the messages table.
-- *
-- * @param dateFormatter the SimpleDateFormat to use to format Dates
-- * @param packet the sent packet to add to the table
-- */
-- private void addSentPacketToTable(final SimpleDateFormat dateFormatter, final Packet packet) {
-- SwingUtilities.invokeLater(new Runnable() {
-- public void run() {
-- String messageType;
-- String to = packet.getTo();
-- String type = "";
-- Icon packetTypeIcon;
-- sentPackets++;
-- if (packet instanceof IQ) {
-- packetTypeIcon = iqPacketIcon;
-- messageType = "IQ Sent (class=" + packet.getClass().getName() + ")";
-- type = ((IQ) packet).getType().toString();
-- sentIQPackets++;
-- }
-- else if (packet instanceof Message) {
-- packetTypeIcon = messagePacketIcon;
-- messageType = "Message Sent";
-- type = ((Message) packet).getType().toString();
-- sentMessagePackets++;
-- }
-- else if (packet instanceof Presence) {
-- packetTypeIcon = presencePacketIcon;
-- messageType = "Presence Sent";
-- type = ((Presence) packet).getType().toString();
-- sentPresencePackets++;
-- }
-- else {
-- packetTypeIcon = unknownPacketTypeIcon;
-- messageType = packet.getClass().getName() + " Sent";
-- sentOtherPackets++;
-- }
--
-- // Check if we need to remove old rows from the table to keep memory consumption low
-- if (EnhancedDebuggerWindow.MAX_TABLE_ROWS > 0 &&
-- messagesTable.getRowCount() >= EnhancedDebuggerWindow.MAX_TABLE_ROWS) {
-- messagesTable.removeRow(0);
-- }
--
-- messagesTable.addRow(
-- new Object[]{
-- formatXML(packet.toXML()),
-- dateFormatter.format(new Date()),
-- packetSentIcon,
-- packetTypeIcon,
-- messageType,
-- packet.getPacketID(),
-- type,
-- to,
-- ""});
--
-- // Update the statistics table
-- updateStatistics();
-- }
-- });
-- }
--
-- private String formatXML(String str) {
-- try {
-- // Use a Transformer for output
-- TransformerFactory tFactory = TransformerFactory.newInstance();
-- // Surround this setting in a try/catch for compatibility with Java 1.4. This setting is required
-- // for Java 1.5
-- try {
-- tFactory.setAttribute("indent-number", 2);
-- }
-- catch (IllegalArgumentException e) {
-- // Ignore
-- }
-- Transformer transformer = tFactory.newTransformer();
-- transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
-- transformer.setOutputProperty(OutputKeys.INDENT, "yes");
-- transformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", "2");
--
-- // Transform the requested string into a nice formatted XML string
-- StreamSource source = new StreamSource(new StringReader(str));
-- StringWriter sw = new StringWriter();
-- StreamResult result = new StreamResult(sw);
-- transformer.transform(source, result);
-- return sw.toString();
--
-- }
-- catch (TransformerConfigurationException tce) {
-- // Error generated by the parser
-- System.out.println("\n** Transformer Factory error");
-- System.out.println(" " + tce.getMessage());
--
-- // Use the contained exception, if any
-- Throwable x = tce;
-- if (tce.getException() != null)
-- x = tce.getException();
-- x.printStackTrace();
--
-- }
-- catch (TransformerException te) {
-- // Error generated by the parser
-- System.out.println("\n** Transformation error");
-- System.out.println(" " + te.getMessage());
--
-- // Use the contained exception, if any
-- Throwable x = te;
-- if (te.getException() != null)
-- x = te.getException();
-- x.printStackTrace();
--
-- }
-- return str;
-- }
--
-- /**
-- * Returns true if the debugger's connection with the server is up and running.
-- *
-- * @return true if the connection with the server is active.
-- */
-- boolean isConnectionActive() {
-- return connection.isConnected();
-- }
--
-- /**
-- * Stops debugging the connection. Removes any listener on the connection.
-- */
-- void cancel() {
-- connection.removeConnectionListener(connListener);
-- connection.removePacketListener(packetReaderListener);
-- connection.removePacketWriterListener(packetWriterListener);
-- ((ObservableReader) reader).removeReaderListener(readerListener);
-- ((ObservableWriter) writer).removeWriterListener(writerListener);
-- messagesTable = null;
-- }
--
-- /**
-- * An ad-hoc packet is like any regular packet but with the exception that it's intention is
-- * to be used only to send packets.
-- *
-- * The whole text to send must be passed to the constructor. This implies that the client of
-- * this class is responsible for sending a valid text to the constructor.
-- */
-- private class AdHocPacket extends Packet {
--
-- private String text;
--
-- /**
-- * Create a new AdHocPacket with the text to send. The passed text must be a valid text to
-- * send to the server, no validation will be done on the passed text.
-- *
-- * @param text the whole text of the packet to send
-- */
-- public AdHocPacket(String text) {
-- this.text = text;
-- }
--
-- public String toXML() {
-- return text;
-- }
--
-- }
--
-- /**
-- * Listens for debug window popup dialog events.
-- */
-- private class PopupListener extends MouseAdapter {
--
-- JPopupMenu popup;
--
-- PopupListener(JPopupMenu popupMenu) {
-- popup = popupMenu;
-- }
--
-- public void mousePressed(MouseEvent e) {
-- maybeShowPopup(e);
-- }
--
-- public void mouseReleased(MouseEvent e) {
-- maybeShowPopup(e);
-- }
--
-- private void maybeShowPopup(MouseEvent e) {
-- if (e.isPopupTrigger()) {
-- popup.show(e.getComponent(), e.getX(), e.getY());
-- }
-- }
-- }
--
-- private class SelectionListener implements ListSelectionListener {
--
-- JTable table;
--
-- // It is necessary to keep the table since it is not possible
-- // to determine the table from the event's source
-- SelectionListener(JTable table) {
-- this.table = table;
-- }
--
-- public void valueChanged(ListSelectionEvent e) {
-- if (table.getSelectedRow() == -1) {
-- // Clear the messageTextArea since there is none packet selected
-- messageTextArea.setText(null);
-- }
-- else {
-- // Set the detail of the packet in the messageTextArea
-- messageTextArea.setText(
-- (String) table.getModel().getValueAt(table.getSelectedRow(), 0));
-- // Scroll up to the top
-- messageTextArea.setCaretPosition(0);
-- }
-- }
-- }
--}
-diff -Nbdru org/jivesoftware/smackx/debugger/EnhancedDebuggerWindow.java /home/nikita/devel/beem-ui/src/org/jivesoftware/smackx/debugger/EnhancedDebuggerWindow.java
---- org/jivesoftware/smackx/debugger/EnhancedDebuggerWindow.java 2009-06-26 21:11:18.348252001 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smackx/debugger/EnhancedDebuggerWindow.java 1970-01-01 01:00:00.000000000 +0100
-@@ -1,375 +0,0 @@
--/**
-- * $RCSfile$
-- * $Revision: 7071 $
-- * $Date: 2007-02-12 01:59:05 +0100 (Mon, 12 Feb 2007) $
-- *
-- * Copyright 2003-2007 Jive Software.
-- *
-- * All rights reserved. Licensed under the Apache License, Version 2.0 (the "License");
-- * you may not use this file except in compliance with the License.
-- * You may obtain a copy of the License at
-- *
-- * http://www.apache.org/licenses/LICENSE-2.0
-- *
-- * Unless required by applicable law or agreed to in writing, software
-- * distributed under the License is distributed on an "AS IS" BASIS,
-- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-- * See the License for the specific language governing permissions and
-- * limitations under the License.
-- */
--
--package org.jivesoftware.smackx.debugger;
--
--import org.jivesoftware.smack.SmackConfiguration;
--import org.jivesoftware.smack.provider.ProviderManager;
--
--import javax.swing.*;
--import java.awt.*;
--import java.awt.event.*;
--import java.net.URL;
--import java.util.ArrayList;
--import java.util.Collections;
--import java.util.Vector;
--
--/**
-- * The EnhancedDebuggerWindow is the main debug window that will show all the EnhancedDebuggers.
-- * For each connection to debug there will be an EnhancedDebugger that will be shown in the
-- * EnhancedDebuggerWindow.
-- *
-- * This class also provides information about Smack like for example the Smack version and the
-- * installed providers.
-- *
-- * @author Gaston Dombiak
-- */
--public class EnhancedDebuggerWindow {
--
-- private static EnhancedDebuggerWindow instance;
--
-- private static ImageIcon connectionCreatedIcon;
-- private static ImageIcon connectionActiveIcon;
-- private static ImageIcon connectionClosedIcon;
-- private static ImageIcon connectionClosedOnErrorIcon;
--
-- public static boolean PERSISTED_DEBUGGER = false;
-- /**
-- * Keeps the max number of rows to keep in the tables. A value less than 0 means that packets
-- * will never be removed. If you are planning to use this debugger in a
-- * production environment then you should set a lower value (e.g. 50) to prevent the debugger
-- * from consuming all the JVM memory.
-- */
-- public static int MAX_TABLE_ROWS = 150;
--
-- {
-- URL url;
--
-- url =
-- Thread.currentThread().getContextClassLoader().getResource(
-- "images/trafficlight_off.png");
-- if (url != null) {
-- connectionCreatedIcon = new ImageIcon(url);
-- }
-- url =
-- Thread.currentThread().getContextClassLoader().getResource(
-- "images/trafficlight_green.png");
-- if (url != null) {
-- connectionActiveIcon = new ImageIcon(url);
-- }
-- url =
-- Thread.currentThread().getContextClassLoader().getResource(
-- "images/trafficlight_red.png");
-- if (url != null) {
-- connectionClosedIcon = new ImageIcon(url);
-- }
-- url = Thread.currentThread().getContextClassLoader().getResource("images/warning.png");
-- if (url != null) {
-- connectionClosedOnErrorIcon = new ImageIcon(url);
-- }
--
-- }
--
-- private JFrame frame = null;
-- private JTabbedPane tabbedPane = null;
-- private java.util.List debuggers = new ArrayList();
--
-- private EnhancedDebuggerWindow() {
-- }
--
-- /**
-- * Returns the unique EnhancedDebuggerWindow instance available in the system.
-- *
-- * @return the unique EnhancedDebuggerWindow instance
-- */
-- public static EnhancedDebuggerWindow getInstance() {
-- if (instance == null) {
-- instance = new EnhancedDebuggerWindow();
-- }
-- return instance;
-- }
--
-- /**
-- * Adds the new specified debugger to the list of debuggers to show in the main window.
-- *
-- * @param debugger the new debugger to show in the debug window
-- */
-- synchronized static void addDebugger(EnhancedDebugger debugger) {
-- getInstance().showNewDebugger(debugger);
-- }
--
-- /**
-- * Shows the new debugger in the debug window.
-- *
-- * @param debugger the new debugger to show
-- */
-- private void showNewDebugger(EnhancedDebugger debugger) {
-- if (frame == null) {
-- createDebug();
-- }
-- debugger.tabbedPane.setName("Connection_" + tabbedPane.getComponentCount());
-- tabbedPane.add(debugger.tabbedPane, tabbedPane.getComponentCount() - 1);
-- tabbedPane.setIconAt(tabbedPane.indexOfComponent(debugger.tabbedPane), connectionCreatedIcon);
-- frame.setTitle(
-- "Smack Debug Window -- Total connections: " + (tabbedPane.getComponentCount() - 1));
-- // Keep the added debugger for later access
-- debuggers.add(debugger);
-- }
--
-- /**
-- * Notification that a user has logged in to the server. A new title will be set
-- * to the tab of the given debugger.
-- *
-- * @param debugger the debugger whose connection logged in to the server
-- * @param user the user@host/resource that has just logged in
-- */
-- synchronized static void userHasLogged(EnhancedDebugger debugger, String user) {
-- int index = getInstance().tabbedPane.indexOfComponent(debugger.tabbedPane);
-- getInstance().tabbedPane.setTitleAt(
-- index,
-- user);
-- getInstance().tabbedPane.setIconAt(
-- index,
-- connectionActiveIcon);
-- }
--
-- /**
-- * Notification that the connection was properly closed.
-- *
-- * @param debugger the debugger whose connection was properly closed.
-- */
-- synchronized static void connectionClosed(EnhancedDebugger debugger) {
-- getInstance().tabbedPane.setIconAt(
-- getInstance().tabbedPane.indexOfComponent(debugger.tabbedPane),
-- connectionClosedIcon);
-- }
--
-- /**
-- * Notification that the connection was closed due to an exception.
-- *
-- * @param debugger the debugger whose connection was closed due to an exception.
-- * @param e the exception.
-- */
-- synchronized static void connectionClosedOnError(EnhancedDebugger debugger, Exception e) {
-- int index = getInstance().tabbedPane.indexOfComponent(debugger.tabbedPane);
-- getInstance().tabbedPane.setToolTipTextAt(
-- index,
-- "Connection closed due to the exception: " + e.getMessage());
-- getInstance().tabbedPane.setIconAt(
-- index,
-- connectionClosedOnErrorIcon);
-- }
--
-- synchronized static void connectionEstablished(EnhancedDebugger debugger) {
-- getInstance().tabbedPane.setIconAt(
-- getInstance().tabbedPane.indexOfComponent(debugger.tabbedPane),
-- connectionActiveIcon);
-- }
--
-- /**
-- * Creates the main debug window that provides information about Smack and also shows
-- * a tab panel for each connection that is being debugged.
-- */
-- private void createDebug() {
--
-- frame = new JFrame("Smack Debug Window");
--
-- if (!PERSISTED_DEBUGGER) {
-- // Add listener for window closing event
-- frame.addWindowListener(new WindowAdapter() {
-- public void windowClosing(WindowEvent evt) {
-- rootWindowClosing(evt);
-- }
-- });
-- }
--
-- // We'll arrange the UI into tabs. The last tab contains Smack's information.
-- // All the connection debugger tabs will be shown before the Smack info tab.
-- tabbedPane = new JTabbedPane();
--
-- // Create the Smack info panel
-- JPanel informationPanel = new JPanel();
-- informationPanel.setLayout(new BoxLayout(informationPanel, BoxLayout.Y_AXIS));
--
-- // Add the Smack version label
-- JPanel versionPanel = new JPanel();
-- versionPanel.setLayout(new BoxLayout(versionPanel, BoxLayout.X_AXIS));
-- versionPanel.setMaximumSize(new Dimension(2000, 31));
-- versionPanel.add(new JLabel(" Smack version: "));
-- JFormattedTextField field = new JFormattedTextField(SmackConfiguration.getVersion());
-- field.setEditable(false);
-- field.setBorder(null);
-- versionPanel.add(field);
-- informationPanel.add(versionPanel);
--
-- // Add the list of installed IQ Providers
-- JPanel iqProvidersPanel = new JPanel();
-- iqProvidersPanel.setLayout(new GridLayout(1, 1));
-- iqProvidersPanel.setBorder(BorderFactory.createTitledBorder("Installed IQ Providers"));
-- Vector providers = new Vector();
-- for (Object provider : ProviderManager.getInstance().getIQProviders()) {
-- if (provider.getClass() == Class.class) {
-- providers.add(((Class) provider).getName());
-- }
-- else {
-- providers.add(provider.getClass().getName());
-- }
-- }
-- // Sort the collection of providers
-- Collections.sort(providers);
-- JList list = new JList(providers);
-- iqProvidersPanel.add(new JScrollPane(list));
-- informationPanel.add(iqProvidersPanel);
--
-- // Add the list of installed Extension Providers
-- JPanel extensionProvidersPanel = new JPanel();
-- extensionProvidersPanel.setLayout(new GridLayout(1, 1));
-- extensionProvidersPanel.setBorder(BorderFactory.createTitledBorder("Installed Extension Providers"));
-- providers = new Vector();
-- for (Object provider : ProviderManager.getInstance().getExtensionProviders()) {
-- if (provider.getClass() == Class.class) {
-- providers.add(((Class) provider).getName());
-- }
-- else {
-- providers.add(provider.getClass().getName());
-- }
-- }
-- // Sort the collection of providers
-- Collections.sort(providers);
-- list = new JList(providers);
-- extensionProvidersPanel.add(new JScrollPane(list));
-- informationPanel.add(extensionProvidersPanel);
--
-- tabbedPane.add("Smack Info", informationPanel);
--
-- // Add pop-up menu.
-- JPopupMenu menu = new JPopupMenu();
-- // Add a menu item that allows to close the current selected tab
-- JMenuItem menuItem = new JMenuItem("Close");
-- menuItem.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- // Remove the selected tab pane if it's not the Smack info pane
-- if (tabbedPane.getSelectedIndex() < tabbedPane.getComponentCount() - 1) {
-- int index = tabbedPane.getSelectedIndex();
-- // Notify to the debugger to stop debugging
-- EnhancedDebugger debugger = debuggers.get(index);
-- debugger.cancel();
-- // Remove the debugger from the root window
-- tabbedPane.remove(debugger.tabbedPane);
-- debuggers.remove(debugger);
-- // Update the root window title
-- frame.setTitle(
-- "Smack Debug Window -- Total connections: "
-- + (tabbedPane.getComponentCount() - 1));
-- }
-- }
-- });
-- menu.add(menuItem);
-- // Add a menu item that allows to close all the tabs that have their connections closed
-- menuItem = new JMenuItem("Close All Not Active");
-- menuItem.addActionListener(new ActionListener() {
-- public void actionPerformed(ActionEvent e) {
-- ArrayList debuggersToRemove = new ArrayList();
-- // Remove all the debuggers of which their connections are no longer valid
-- for (int index = 0; index < tabbedPane.getComponentCount() - 1; index++) {
-- EnhancedDebugger debugger = debuggers.get(index);
-- if (!debugger.isConnectionActive()) {
-- // Notify to the debugger to stop debugging
-- debugger.cancel();
-- debuggersToRemove.add(debugger);
-- }
-- }
-- for (EnhancedDebugger debugger : debuggersToRemove) {
-- // Remove the debugger from the root window
-- tabbedPane.remove(debugger.tabbedPane);
-- debuggers.remove(debugger);
-- }
-- // Update the root window title
-- frame.setTitle(
-- "Smack Debug Window -- Total connections: "
-- + (tabbedPane.getComponentCount() - 1));
-- }
-- });
-- menu.add(menuItem);
-- // Add listener to the text area so the popup menu can come up.
-- tabbedPane.addMouseListener(new PopupListener(menu));
--
-- frame.getContentPane().add(tabbedPane);
--
-- frame.setSize(650, 400);
--
-- if (!PERSISTED_DEBUGGER) {
-- frame.setVisible(true);
-- }
-- }
--
-- /**
-- * Notification that the root window is closing. Stop listening for received and
-- * transmitted packets in all the debugged connections.
-- *
-- * @param evt the event that indicates that the root window is closing
-- */
-- public void rootWindowClosing(WindowEvent evt) {
-- // Notify to all the debuggers to stop debugging
-- for (EnhancedDebugger debugger : debuggers) {
-- debugger.cancel();
-- }
-- // Release any reference to the debuggers
-- debuggers.removeAll(debuggers);
-- // Release the default instance
-- instance = null;
-- }
--
-- /**
-- * Listens for debug window popup dialog events.
-- */
-- private class PopupListener extends MouseAdapter {
--
-- JPopupMenu popup;
--
-- PopupListener(JPopupMenu popupMenu) {
-- popup = popupMenu;
-- }
--
-- public void mousePressed(MouseEvent e) {
-- maybeShowPopup(e);
-- }
--
-- public void mouseReleased(MouseEvent e) {
-- maybeShowPopup(e);
-- }
--
-- private void maybeShowPopup(MouseEvent e) {
-- if (e.isPopupTrigger()) {
-- popup.show(e.getComponent(), e.getX(), e.getY());
-- }
-- }
-- }
--
-- public void setVisible(boolean visible) {
-- if (frame != null) {
-- frame.setVisible(visible);
-- }
-- }
--
-- public boolean isVisible() {
-- return frame != null && frame.isVisible();
-- }
--}
-diff -Nbdru org/jivesoftware/smackx/debugger/package.html /home/nikita/devel/beem-ui/src/org/jivesoftware/smackx/debugger/package.html
---- org/jivesoftware/smackx/debugger/package.html 2009-06-26 21:11:18.352250912 +0200
-+++ /home/nikita/devel/beem-ui/src/org/jivesoftware/smackx/debugger/package.html 1970-01-01 01:00:00.000000000 +0100
-@@ -1 +0,0 @@
--Smack optional Debuggers.
-\ No newline at end of file
diff -r 77cb07054bb2 -r 115665c0d25a libs/smack-android-r1.diff
--- a/libs/smack-android-r1.diff Wed Jan 20 16:43:54 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,407 +0,0 @@
-Index: org/jivesoftware/smack/XMPPConnection.java
-===================================================================
---- org/jivesoftware/smack/XMPPConnection.java (revision 10869)
-+++ org/jivesoftware/smack/XMPPConnection.java (working copy)
-@@ -1082,7 +1082,7 @@
- catch (Exception ex) {
- try {
- debuggerClass =
-- Class.forName("org.jivesoftware.smack.debugger.LiteDebugger");
-+ Class.forName("org.jivesoftware.smack.debugger.ConsoleDebugger");
- }
- catch (Exception ex2) {
- ex2.printStackTrace();
-Index: org/jivesoftware/smack/sasl/SASLMechanism.java
-===================================================================
---- org/jivesoftware/smack/sasl/SASLMechanism.java (revision 10869)
-+++ org/jivesoftware/smack/sasl/SASLMechanism.java (working copy)
-@@ -20,24 +20,18 @@
-
- package org.jivesoftware.smack.sasl;
-
--import org.jivesoftware.smack.XMPPException;
--import org.jivesoftware.smack.SASLAuthentication;
--import org.jivesoftware.smack.util.Base64;
--
- import java.io.IOException;
--import java.util.Map;
- import java.util.HashMap;
-+import java.util.Map;
-+
-+import javax.security.auth.callback.Callback;
- import javax.security.auth.callback.CallbackHandler;
- import javax.security.auth.callback.UnsupportedCallbackException;
--import javax.security.auth.callback.Callback;
--import javax.security.auth.callback.NameCallback;
--import javax.security.auth.callback.PasswordCallback;
--import javax.security.sasl.RealmCallback;
--import javax.security.sasl.RealmChoiceCallback;
--import javax.security.sasl.Sasl;
--import javax.security.sasl.SaslClient;
--import javax.security.sasl.SaslException;
-
-+import org.jivesoftware.smack.SASLAuthentication;
-+import org.jivesoftware.smack.XMPPException;
-+import org.jivesoftware.smack.util.Base64;
-+
- /**
- * Base class for SASL mechanisms. Subclasses must implement these methods:
- *
-@@ -56,7 +50,7 @@
- public abstract class SASLMechanism implements CallbackHandler {
-
- private SASLAuthentication saslAuthentication;
-- protected SaslClient sc;
-+ //protected SaslClient sc;
- protected String authenticationId;
- protected String password;
- protected String hostname;
-@@ -88,7 +82,7 @@
-
- String[] mechanisms = { getName() };
- Map props = new HashMap();
-- sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, this);
-+ //sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, this);
- authenticate();
- }
-
-@@ -105,7 +99,7 @@
- public void authenticate(String username, String host, CallbackHandler cbh) throws IOException, XMPPException {
- String[] mechanisms = { getName() };
- Map props = new HashMap();
-- sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
-+ //sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
- authenticate();
- }
-
-@@ -113,17 +107,17 @@
- StringBuilder stanza = new StringBuilder();
- stanza.append("");
-- try {
-- if(sc.hasInitialResponse()) {
-- byte[] response = sc.evaluateChallenge(new byte[0]);
-- String authenticationText = Base64.encodeBytes(response,Base64.DONT_BREAK_LINES);
-- if(authenticationText != null && !authenticationText.equals("")) {
-- stanza.append(authenticationText);
-- }
-- }
-- } catch (SaslException e) {
-- throw new XMPPException("SASL authentication failed", e);
-- }
-+// try {
-+// if(sc.hasInitialResponse()) {
-+// byte[] response = sc.evaluateChallenge(new byte[0]);
-+// String authenticationText = Base64.encodeBytes(response,Base64.DONT_BREAK_LINES);
-+// if(authenticationText != null && !authenticationText.equals("")) {
-+// stanza.append(authenticationText);
-+// }
-+// }
-+// } catch (SaslException e) {
-+// throw new XMPPException("SASL authentication failed", e);
-+// }
- stanza.append("");
-
- // Send the authentication to the server
-@@ -142,12 +136,12 @@
- // Build the challenge response stanza encoding the response text
- StringBuilder stanza = new StringBuilder();
-
-- byte response[];
-- if(challenge != null) {
-- response = sc.evaluateChallenge(Base64.decode(challenge));
-- } else {
-- response = sc.evaluateChallenge(null);
-- }
-+ byte response[] = null;
-+// if(challenge != null) {
-+// response = sc.evaluateChallenge(Base64.decode(challenge));
-+// } else {
-+// response = sc.evaluateChallenge(null);
-+// }
-
- String authenticationText = Base64.encodeBytes(response,Base64.DONT_BREAK_LINES);
- if(authenticationText.equals("")) {
-@@ -179,21 +173,21 @@
- */
- public void handle(Callback[] callbacks) throws IOException, UnsupportedCallbackException {
- for (int i = 0; i < callbacks.length; i++) {
-- if (callbacks[i] instanceof NameCallback) {
-- NameCallback ncb = (NameCallback)callbacks[i];
-- ncb.setName(authenticationId);
-- } else if(callbacks[i] instanceof PasswordCallback) {
-- PasswordCallback pcb = (PasswordCallback)callbacks[i];
-- pcb.setPassword(password.toCharArray());
-- } else if(callbacks[i] instanceof RealmCallback) {
-- RealmCallback rcb = (RealmCallback)callbacks[i];
-- rcb.setText(hostname);
-- } else if(callbacks[i] instanceof RealmChoiceCallback){
-- //unused
-- //RealmChoiceCallback rccb = (RealmChoiceCallback)callbacks[i];
-- } else {
-+// if (callbacks[i] instanceof NameCallback) {
-+// NameCallback ncb = (NameCallback)callbacks[i];
-+// ncb.setName(authenticationId);
-+// } else if(callbacks[i] instanceof PasswordCallback) {
-+// PasswordCallback pcb = (PasswordCallback)callbacks[i];
-+// pcb.setPassword(password.toCharArray());
-+// } else if(callbacks[i] instanceof RealmCallback) {
-+// RealmCallback rcb = (RealmCallback)callbacks[i];
-+// rcb.setText(hostname);
-+// } else if(callbacks[i] instanceof RealmChoiceCallback){
-+// //unused
-+// //RealmChoiceCallback rccb = (RealmChoiceCallback)callbacks[i];
-+// } else {
- throw new UnsupportedCallbackException(callbacks[i]);
-- }
-+ //}
- }
- }
- }
-Index: org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java
-===================================================================
---- org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java (revision 10869)
-+++ org/jivesoftware/smack/sasl/SASLGSSAPIMechanism.java (working copy)
-@@ -25,8 +25,6 @@
- import java.io.IOException;
- import java.util.Map;
- import java.util.HashMap;
--import javax.security.sasl.Sasl;
--import javax.security.sasl.SaslClient;
- import javax.security.auth.callback.CallbackHandler;
-
- /**
-@@ -62,8 +60,8 @@
- public void authenticate(String username, String host, CallbackHandler cbh) throws IOException, XMPPException {
- String[] mechanisms = { getName() };
- Map props = new HashMap();
-- props.put(Sasl.SERVER_AUTH,"TRUE");
-- sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
-+ //props.put(Sasl.SERVER_AUTH,"TRUE");
-+ //sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, cbh);
- authenticate();
- }
-
-@@ -81,8 +79,8 @@
- public void authenticate(String username, String host, String password) throws IOException, XMPPException {
- String[] mechanisms = { getName() };
- Map props = new HashMap();
-- props.put(Sasl.SERVER_AUTH,"TRUE");
-- sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, this);
-+ //props.put(Sasl.SERVER_AUTH,"TRUE");
-+ //sc = Sasl.createSaslClient(mechanisms, username, "xmpp", host, props, this);
- authenticate();
- }
-
-Index: org/jivesoftware/smack/ConnectionConfiguration.java
-===================================================================
---- org/jivesoftware/smack/ConnectionConfiguration.java (revision 10869)
-+++ org/jivesoftware/smack/ConnectionConfiguration.java (working copy)
-@@ -57,13 +57,13 @@
-
- private boolean compressionEnabled = false;
-
-- private boolean saslAuthenticationEnabled = true;
-+ private boolean saslAuthenticationEnabled = false;
- /**
- * Used to get information from the user
- */
- private CallbackHandler callbackHandler;
-
-- private boolean debuggerEnabled = XMPPConnection.DEBUG_ENABLED;
-+ private boolean debuggerEnabled = true;//XMPPConnection.DEBUG_ENABLED;
-
- // Flag that indicates if a reconnection should be attempted when abruptly disconnected
- private boolean reconnectionAllowed = true;
-@@ -517,7 +517,7 @@
- * logging into the server.
- */
- public void setSASLAuthenticationEnabled(boolean saslAuthenticationEnabled) {
-- this.saslAuthenticationEnabled = saslAuthenticationEnabled;
-+ //this.saslAuthenticationEnabled = saslAuthenticationEnabled;
- }
-
- /**
-Index: org/jivesoftware/smack/util/DNSUtil.java
-===================================================================
---- org/jivesoftware/smack/util/DNSUtil.java (revision 10869)
-+++ org/jivesoftware/smack/util/DNSUtil.java (working copy)
-@@ -19,9 +19,6 @@
-
- package org.jivesoftware.smack.util;
-
--import javax.naming.directory.Attributes;
--import javax.naming.directory.DirContext;
--import javax.naming.directory.InitialDirContext;
- import java.util.Hashtable;
- import java.util.Map;
-
-@@ -38,13 +35,13 @@
- */
- private static Map cache = new Cache(100, 1000*60*10);
-
-- private static DirContext context;
-+ //private static DirContext context;
-
- static {
- try {
- Hashtable env = new Hashtable();
- env.put("java.naming.factory.initial", "com.sun.jndi.dns.DnsContextFactory");
-- context = new InitialDirContext(env);
-+// context = new InitialDirContext(env);
- }
- catch (Exception e) {
- // Ignore.
-@@ -69,39 +66,8 @@
- * server can be reached at for the specified domain.
- */
- public static HostAddress resolveXMPPDomain(String domain) {
-- if (context == null) {
- return new HostAddress(domain, 5222);
-- }
-- String key = "c" + domain;
-- // Return item from cache if it exists.
-- if (cache.containsKey(key)) {
-- HostAddress address = (HostAddress)cache.get(key);
-- if (address != null) {
-- return address;
-- }
-- }
-- String host = domain;
-- int port = 5222;
-- try {
-- Attributes dnsLookup =
-- context.getAttributes("_xmpp-client._tcp." + domain, new String[]{"SRV"});
-- String srvRecord = (String)dnsLookup.get("SRV").get();
-- String [] srvRecordEntries = srvRecord.split(" ");
-- port = Integer.parseInt(srvRecordEntries[srvRecordEntries.length-2]);
-- host = srvRecordEntries[srvRecordEntries.length-1];
-- }
-- catch (Exception e) {
-- // Ignore.
-- }
-- // Host entries in DNS should end with a ".".
-- if (host.endsWith(".")) {
-- host = host.substring(0, host.length()-1);
-- }
-- HostAddress address = new HostAddress(host, port);
-- // Add item to cache.
-- cache.put(key, address);
-- return address;
-- }
-+ }
-
- /**
- * Returns the host name and port that the specified XMPP server can be
-@@ -121,50 +87,8 @@
- * server can be reached at for the specified domain.
- */
- public static HostAddress resolveXMPPServerDomain(String domain) {
-- if (context == null) {
- return new HostAddress(domain, 5269);
-- }
-- String key = "s" + domain;
-- // Return item from cache if it exists.
-- if (cache.containsKey(key)) {
-- HostAddress address = (HostAddress)cache.get(key);
-- if (address != null) {
-- return address;
-- }
-- }
-- String host = domain;
-- int port = 5269;
-- try {
-- Attributes dnsLookup =
-- context.getAttributes("_xmpp-server._tcp." + domain, new String[]{"SRV"});
-- String srvRecord = (String)dnsLookup.get("SRV").get();
-- String [] srvRecordEntries = srvRecord.split(" ");
-- port = Integer.parseInt(srvRecordEntries[srvRecordEntries.length-2]);
-- host = srvRecordEntries[srvRecordEntries.length-1];
-- }
-- catch (Exception e) {
-- // Attempt lookup with older "jabber" name.
-- try {
-- Attributes dnsLookup =
-- context.getAttributes("_jabber._tcp." + domain, new String[]{"SRV"});
-- String srvRecord = (String)dnsLookup.get("SRV").get();
-- String [] srvRecordEntries = srvRecord.split(" ");
-- port = Integer.parseInt(srvRecordEntries[srvRecordEntries.length-2]);
-- host = srvRecordEntries[srvRecordEntries.length-1];
-- }
-- catch (Exception e2) {
-- // Ignore.
-- }
-- }
-- // Host entries in DNS should end with a ".".
-- if (host.endsWith(".")) {
-- host = host.substring(0, host.length()-1);
-- }
-- HostAddress address = new HostAddress(host, port);
-- // Add item to cache.
-- cache.put(key, address);
-- return address;
-- }
-+ }
-
- /**
- * Encapsulates a hostname and port.
-Index: org/jivesoftware/smack/util/PacketParserUtils.java
-===================================================================
---- org/jivesoftware/smack/util/PacketParserUtils.java (revision 10869)
-+++ org/jivesoftware/smack/util/PacketParserUtils.java (working copy)
-@@ -25,7 +25,7 @@
- import org.jivesoftware.smack.provider.ProviderManager;
- import org.xmlpull.v1.XmlPullParser;
-
--import java.beans.PropertyDescriptor;
-+//import java.beans.PropertyDescriptor;
- import java.io.ByteArrayInputStream;
- import java.io.ObjectInputStream;
- import java.util.ArrayList;
-@@ -428,26 +428,26 @@
- {
- boolean done = false;
- Object object = objectClass.newInstance();
-- while (!done) {
-- int eventType = parser.next();
-- if (eventType == XmlPullParser.START_TAG) {
-- String name = parser.getName();
-- String stringValue = parser.nextText();
-- PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass);
-- // Load the class type of the property.
-- Class propertyType = descriptor.getPropertyType();
-- // Get the value of the property by converting it from a
-- // String to the correct object type.
-- Object value = decode(propertyType, stringValue);
-- // Set the value of the bean.
-- descriptor.getWriteMethod().invoke(object, value);
-- }
-- else if (eventType == XmlPullParser.END_TAG) {
-- if (parser.getName().equals(elementName)) {
-- done = true;
-- }
-- }
-- }
-+// while (!done) {
-+// int eventType = parser.next();
-+// if (eventType == XmlPullParser.START_TAG) {
-+// String name = parser.getName();
-+// String stringValue = parser.nextText();
-+// PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass);
-+// // Load the class type of the property.
-+// Class propertyType = descriptor.getPropertyType();
-+// // Get the value of the property by converting it from a
-+// // String to the correct object type.
-+// Object value = decode(propertyType, stringValue);
-+// // Set the value of the bean.
-+// descriptor.getWriteMethod().invoke(object, value);
-+// }
-+// else if (eventType == XmlPullParser.END_TAG) {
-+// if (parser.getName().equals(elementName)) {
-+// done = true;
-+// }
-+// }
-+// }
- return object;
- }
-
diff -r 77cb07054bb2 -r 115665c0d25a libs/smack-android.diff
--- a/libs/smack-android.diff Wed Jan 20 16:43:54 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,148 +0,0 @@
-Only in .: smack-android.diff
-Only in ..\..\smack_src_3_0_4/source/org: apache
-diff -r -u ./source/org/jivesoftware/smack/PacketReader.java ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/PacketReader.java
---- ./source/org/jivesoftware/smack/PacketReader.java 2007-12-31 09:28:46.453125000 -0500
-+++ ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/PacketReader.java 2007-12-30 21:17:14.343750000 -0500
-@@ -25,9 +25,9 @@
- import org.jivesoftware.smack.provider.IQProvider;
- import org.jivesoftware.smack.provider.ProviderManager;
- import org.jivesoftware.smack.util.PacketParserUtils;
--import org.xmlpull.mxp1.MXParser;
- import org.xmlpull.v1.XmlPullParser;
- import org.xmlpull.v1.XmlPullParserException;
-+import org.kxml2.io.KXmlParser;
-
- import java.io.IOException;
- import java.util.*;
-@@ -249,7 +249,7 @@
- */
- private void resetParser() {
- try {
-- parser = new MXParser();
-+ parser = new KXmlParser();
- parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);
- parser.setInput(connection.reader);
- }
-diff -r -u ./source/org/jivesoftware/smack/SmackConfiguration.java ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/SmackConfiguration.java
---- ./source/org/jivesoftware/smack/SmackConfiguration.java 2007-12-31 09:28:46.593750000 -0500
-+++ ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/SmackConfiguration.java 2007-12-30 21:17:14.359375000 -0500
-@@ -20,8 +20,8 @@
-
- package org.jivesoftware.smack;
-
--import org.xmlpull.mxp1.MXParser;
- import org.xmlpull.v1.XmlPullParser;
-+import org.kxml2.io.KXmlParser;
-
- import java.io.InputStream;
- import java.net.URL;
-@@ -72,7 +72,7 @@
- InputStream systemStream = null;
- try {
- systemStream = url.openStream();
-- XmlPullParser parser = new MXParser();
-+ XmlPullParser parser = new KXmlParser();
- parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);
- parser.setInput(systemStream, "UTF-8");
- int eventType = parser.getEventType();
-diff -r -u ./source/org/jivesoftware/smack/XMPPConnection.java ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/XMPPConnection.java
---- ./source/org/jivesoftware/smack/XMPPConnection.java 2007-12-31 09:28:46.593750000 -0500
-+++ ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/XMPPConnection.java 2007-12-30 21:34:37.296875000 -0500
-@@ -1113,14 +1113,14 @@
- SSLContext context = SSLContext.getInstance("TLS");
- // Verify certificate presented by the server
- context.init(null, // KeyManager not required
-- new javax.net.ssl.TrustManager[]{new ServerTrustManager(serviceName, configuration)},
-+ new javax.net.ssl.TrustManager[]{new OpenTrustManager()},
- new java.security.SecureRandom());
- Socket plain = socket;
- // Secure the plain connection
- socket = context.getSocketFactory().createSocket(plain,
- plain.getInetAddress().getHostName(), plain.getPort(), true);
-- socket.setSoTimeout(0);
-- socket.setKeepAlive(true);
-+ //socket.setSoTimeout(0);
-+ //socket.setKeepAlive(true);
- // Initialize the reader and writer with the new secured version
- initReaderAndWriter();
- // Proceed to do the handshake
-diff -r -u ./source/org/jivesoftware/smack/provider/ProviderManager.java ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/provider/ProviderManager.java
---- ./source/org/jivesoftware/smack/provider/ProviderManager.java 2007-12-31 09:28:46.843750000 -0500
-+++ ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/provider/ProviderManager.java 2007-12-30 21:17:14.343750000 -0500
-@@ -22,8 +22,8 @@
-
- import org.jivesoftware.smack.packet.IQ;
- import org.jivesoftware.smack.packet.PacketExtension;
--import org.xmlpull.mxp1.MXParser;
- import org.xmlpull.v1.XmlPullParser;
-+import org.kxml2.io.KXmlParser;
-
- import java.io.InputStream;
- import java.net.URL;
-@@ -164,7 +164,7 @@
- InputStream providerStream = null;
- try {
- providerStream = url.openStream();
-- XmlPullParser parser = new MXParser();
-+ XmlPullParser parser = new KXmlParser();
- parser.setFeature(XmlPullParser.FEATURE_PROCESS_NAMESPACES, true);
- parser.setInput(providerStream, "UTF-8");
- int eventType = parser.getEventType();
-diff -r -u ./source/org/jivesoftware/smack/util/PacketParserUtils.java ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/util/PacketParserUtils.java
---- ./source/org/jivesoftware/smack/util/PacketParserUtils.java 2007-12-31 09:28:46.953125000 -0500
-+++ ..\..\smack_src_3_0_4/source/org/jivesoftware/smack/util/PacketParserUtils.java 2007-12-30 21:45:08.093750000 -0500
-@@ -426,29 +426,30 @@
- public static Object parseWithIntrospection(String elementName,
- Class objectClass, XmlPullParser parser) throws Exception
- {
-- boolean done = false;
-- Object object = objectClass.newInstance();
-- while (!done) {
-- int eventType = parser.next();
-- if (eventType == XmlPullParser.START_TAG) {
-- String name = parser.getName();
-- String stringValue = parser.nextText();
-- PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass);
-- // Load the class type of the property.
-- Class propertyType = descriptor.getPropertyType();
-- // Get the value of the property by converting it from a
-- // String to the correct object type.
-- Object value = decode(propertyType, stringValue);
-- // Set the value of the bean.
-- descriptor.getWriteMethod().invoke(object, value);
-- }
-- else if (eventType == XmlPullParser.END_TAG) {
-- if (parser.getName().equals(elementName)) {
-- done = true;
-- }
-- }
-- }
-- return object;
-+// boolean done = false;
-+// Object object = objectClass.newInstance();
-+// while (!done) {
-+// int eventType = parser.next();
-+// if (eventType == XmlPullParser.START_TAG) {
-+// String name = parser.getName();
-+// String stringValue = parser.nextText();
-+// PropertyDescriptor descriptor = new PropertyDescriptor(name, objectClass);
-+// // Load the class type of the property.
-+// Class propertyType = descriptor.getPropertyType();
-+// // Get the value of the property by converting it from a
-+// // String to the correct object type.
-+// Object value = decode(propertyType, stringValue);
-+// // Set the value of the bean.
-+// descriptor.getWriteMethod().invoke(object, value);
-+// }
-+// else if (eventType == XmlPullParser.END_TAG) {
-+// if (parser.getName().equals(elementName)) {
-+// done = true;
-+// }
-+// }
-+// }
-+// return object;
-+ return null;
- }
-
- /**
-Only in ..\..\smack_src_3_0_4: target
diff -r 77cb07054bb2 -r 115665c0d25a libs/smack.jar
Binary file libs/smack.jar has changed
diff -r 77cb07054bb2 -r 115665c0d25a libs/smackx-debug.jar
Binary file libs/smackx-debug.jar has changed
diff -r 77cb07054bb2 -r 115665c0d25a libs/smackx-jingle.jar
Binary file libs/smackx-jingle.jar has changed
diff -r 77cb07054bb2 -r 115665c0d25a libs/smackx.jar
Binary file libs/smackx.jar has changed