From a89b9301ad68348deebc55f073870561bd82b784 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Sat, 23 Jan 2016 12:25:23 +0100 Subject: [PATCH 1/8] Smack 4.1.7-SNAPSHOT --- version.gradle | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/version.gradle b/version.gradle index 96c20e1b8..90443c7a5 100644 --- a/version.gradle +++ b/version.gradle @@ -1,7 +1,7 @@ allprojects { ext { - shortVersion = '4.1.6' - isSnapshot = false + shortVersion = '4.1.7' + isSnapshot = true jxmppVersion = '0.4.2' smackMinAndroidSdk = 8 } From bcdfb5398a2f6e00d10ee3141b2e686532e88aef Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Wed, 17 Feb 2016 09:13:06 +0100 Subject: [PATCH 2/8] Fix EntityTimeManager.getTime(): Set recipient JID Fixes SMACK-716 --- .../java/org/jivesoftware/smackx/time/EntityTimeManager.java | 2 ++ 1 file changed, 2 insertions(+) diff --git a/smack-extensions/src/main/java/org/jivesoftware/smackx/time/EntityTimeManager.java b/smack-extensions/src/main/java/org/jivesoftware/smackx/time/EntityTimeManager.java index 5af549fc2..56cd9f416 100644 --- a/smack-extensions/src/main/java/org/jivesoftware/smackx/time/EntityTimeManager.java +++ b/smack-extensions/src/main/java/org/jivesoftware/smackx/time/EntityTimeManager.java @@ -108,6 +108,8 @@ public class EntityTimeManager extends Manager { return null; Time request = new Time(); + // TODO Add Time(Jid) constructor and use this constructor instead + request.setTo(jid); Time response = (Time) connection().createPacketCollectorAndSend(request).nextResultOrThrow(); return response; } From cf3024668e77c9df38dfb8451c8386cf3921c456 Mon Sep 17 00:00:00 2001 From: Tomas Nosek Date: Mon, 8 Feb 2016 10:07:14 +0100 Subject: [PATCH 3/8] Fix XMPPTCPConnection.setEnabledSSL(Protocols|Ciphers) The problem caused by opening input/ output stream before setting ssl parameters to SSLSession and fixed by changing order of this operations. Fixes SMACK-712. Minor-Modifications-By: Florian Schmaus --- .../org/jivesoftware/smack/tcp/XMPPTCPConnection.java | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java index 20d9e4495..8a1d6e5a1 100644 --- a/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java +++ b/smack-tcp/src/main/java/org/jivesoftware/smack/tcp/XMPPTCPConnection.java @@ -751,12 +751,16 @@ public class XMPPTCPConnection extends AbstractXMPPConnection { // Secure the plain connection socket = context.getSocketFactory().createSocket(plain, host, plain.getPort(), true); - // Initialize the reader and writer with the new secured version - initReaderAndWriter(); final SSLSocket sslSocket = (SSLSocket) socket; + // Immediately set the enabled SSL protocols and ciphers. See SMACK-712 why this is + // important (at least on certain platforms) and it seems to be a good idea anyways to + // prevent an accidental implicit handshake. TLSUtils.setEnabledProtocolsAndCiphers(sslSocket, config.getEnabledSSLProtocols(), config.getEnabledSSLCiphers()); + // Initialize the reader and writer with the new secured version + initReaderAndWriter(); + // Proceed to do the handshake sslSocket.startHandshake(); From e6db731810bc667a592879f36c4bcaf10c35124f Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Wed, 17 Feb 2016 09:22:40 +0100 Subject: [PATCH 4/8] Add Roster.setRosterLoadedAtLoginDefault(boolean) Fixes SMACK-715 --- .../java/org/jivesoftware/smack/roster/Roster.java | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java b/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java index 65db297df..016fcf778 100644 --- a/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java +++ b/smack-im/src/main/java/org/jivesoftware/smack/roster/Roster.java @@ -896,6 +896,18 @@ public class Roster extends Manager { } } + /** + * Sets if the roster will be loaded from the server when logging in for newly created instances + * of {@link Roster}. + * + * @param rosterLoadedAtLoginDefault if the roster will be loaded from the server when logging in. + * @see #setRosterLoadedAtLogin(boolean) + * @since 4.1.7 + */ + public static void setRosterLoadedAtLoginDefault(boolean rosterLoadedAtLoginDefault) { + Roster.rosterLoadedAtLoginDefault = rosterLoadedAtLoginDefault; + } + /** * Sets if the roster will be loaded from the server when logging in. This * is the common behaviour for clients but sometimes clients may want to differ this From e1dfb5348332b2bf589d2ba7b310d48b037cd18b Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Sun, 10 Apr 2016 20:08:10 +0200 Subject: [PATCH 5/8] Check answer data in MiniDnsResolver for the correct RR type. --- .../smack/util/dns/minidns/MiniDnsResolver.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/minidns/MiniDnsResolver.java b/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/minidns/MiniDnsResolver.java index 36a04620d..6b2b78d36 100644 --- a/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/minidns/MiniDnsResolver.java +++ b/smack-resolver-minidns/src/main/java/org/jivesoftware/smack/util/dns/minidns/MiniDnsResolver.java @@ -1,6 +1,6 @@ /** * - * Copyright 2014 Florian Schmaus + * Copyright 2014-2016 Florian Schmaus * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -32,6 +32,7 @@ import de.measite.minidns.Question; import de.measite.minidns.Record; import de.measite.minidns.Record.CLASS; import de.measite.minidns.Record.TYPE; +import de.measite.minidns.record.Data; import de.measite.minidns.record.SRV; @@ -81,7 +82,11 @@ public class MiniDnsResolver implements SmackInitializer, DNSResolver { return res; } for (Record record : message.getAnswers()) { - SRV srv = (SRV) record.getPayload(); + Data data = record.getPayload(); + if (!(data instanceof SRV)) { + continue; + } + SRV srv = (SRV) data; res.add(new SRVRecord(srv.getName(), srv.getPort(), srv.getPriority(), srv.getWeight())); } return res; From 8235e8417dd8d02f68d5548544843afc50abd7ee Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Wed, 16 Mar 2016 10:02:21 +0100 Subject: [PATCH 6/8] Use simple name in StanzaTypeFilter --- .../java/org/jivesoftware/smack/filter/StanzaTypeFilter.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/smack-core/src/main/java/org/jivesoftware/smack/filter/StanzaTypeFilter.java b/smack-core/src/main/java/org/jivesoftware/smack/filter/StanzaTypeFilter.java index 799edb010..8b8971cda 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/filter/StanzaTypeFilter.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/filter/StanzaTypeFilter.java @@ -57,6 +57,6 @@ public final class StanzaTypeFilter implements StanzaFilter { @Override public String toString() { - return getClass().getSimpleName() + ": " + packetType.getName(); + return getClass().getSimpleName() + ": " + packetType.getSimpleName(); } } From 58d9f4e749e6c14c993c434825769b04027d2b68 Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Tue, 12 Apr 2016 15:03:23 +0200 Subject: [PATCH 7/8] =?UTF-8?q?Use=20Locale.US=20in=20XMPPError.Type=20?= =?UTF-8?q?=E2=86=94=20String=20conversion?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes SMACK-719 --- .../main/java/org/jivesoftware/smack/packet/XMPPError.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/smack-core/src/main/java/org/jivesoftware/smack/packet/XMPPError.java b/smack-core/src/main/java/org/jivesoftware/smack/packet/XMPPError.java index 8a259838f..aa26628dc 100644 --- a/smack-core/src/main/java/org/jivesoftware/smack/packet/XMPPError.java +++ b/smack-core/src/main/java/org/jivesoftware/smack/packet/XMPPError.java @@ -19,6 +19,7 @@ package org.jivesoftware.smack.packet; import java.util.Arrays; import java.util.HashMap; import java.util.List; +import java.util.Locale; import java.util.Map; import java.util.logging.Logger; @@ -240,13 +241,11 @@ public class XMPPError extends AbstractError { @Override public String toString() { - // Locale.US not required, since Type consists only of ASCII chars - return name().toLowerCase(); + return name().toLowerCase(Locale.US); } public static Type fromString(String string) { - // Locale.US not required, since Type consists only of ASCII chars - string = string.toUpperCase(); + string = string.toUpperCase(Locale.US); return Type.valueOf(string); } } From 145fa02a48646ab154ee482b664703bfa2bbac4f Mon Sep 17 00:00:00 2001 From: Florian Schmaus Date: Thu, 14 Apr 2016 22:18:36 +0200 Subject: [PATCH 8/8] Smack 4.1.7 --- resources/releasedocs/changelog.html | 20 ++++++++++++++++++++ version.gradle | 2 +- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/resources/releasedocs/changelog.html b/resources/releasedocs/changelog.html index 7e189a858..b844e1e00 100644 --- a/resources/releasedocs/changelog.html +++ b/resources/releasedocs/changelog.html @@ -141,6 +141,26 @@ hr {
+

4.1.7 -- 2016-04-14

+ +

Bug +

+
    +
  • [SMACK-712] - XMPPTCPConnection's setEnabledSSL(Protocols|Ciphers) has no effect +
  • +
  • [SMACK-716] - EntityTimeManager.getTime() does not set the recipients JID +
  • +
  • [SMACK-719] - XMPPError should use Locale.US in toUpperCase() +
  • +
+ +

Improvement +

+
    +
  • [SMACK-715] - Add Roster.setRosterLoadedAtLoginDefault(boolean) +
  • +
+

4.1.6 -- 2016-01-23

Bug diff --git a/version.gradle b/version.gradle index 90443c7a5..26b5c5a05 100644 --- a/version.gradle +++ b/version.gradle @@ -1,7 +1,7 @@ allprojects { ext { shortVersion = '4.1.7' - isSnapshot = true + isSnapshot = false jxmppVersion = '0.4.2' smackMinAndroidSdk = 8 }