1
0
Fork 0
mirror of https://github.com/vanitasvitae/Smack.git synced 2024-10-18 20:25:59 +02:00

Merge branch '4.4'

This commit is contained in:
Florian Schmaus 2024-04-02 18:48:36 +02:00
commit 4c60986795
4 changed files with 26 additions and 5 deletions

View file

@ -1,5 +1,17 @@
# Smack Changelog # Smack Changelog
# 4.4.8 -- 2024-04-02
### Improvement
[SMACK-941](https://igniterealtime.atlassian.net/browse/SMACK-941) Suppress "roster not loaded while processing presence" warning if its caused by the reflected self-presence
### Bug
[SMACK-938](https://igniterealtime.atlassian.net/browse/SMACK-938) Busy loop in SmackReactor
[SMACK-940](https://igniterealtime.atlassian.net/browse/SMACK-940) Ignore IPv6 Zone IDs in incoming streamhost candidates
# 4.4.7 -- 2023-11-25 # 4.4.7 -- 2023-11-25
### Improvement ### Improvement

View file

@ -298,7 +298,7 @@ public class Bytestream extends IQ {
* @param port port of the stream host. * @param port port of the stream host.
*/ */
public StreamHost(final Jid jid, final String address, int port) { public StreamHost(final Jid jid, final String address, int port) {
this(jid, InternetAddress.from(address), port); this(jid, InternetAddress.fromIgnoringZoneId(address), port);
} }
public StreamHost(Jid jid, InetAddress address, int port) { public StreamHost(Jid jid, InetAddress address, int port) {

View file

@ -51,7 +51,7 @@ public final class JingleS5BTransportCandidate extends JingleContentTransportCan
private final Type type; private final Type type;
public JingleS5BTransportCandidate(String candidateId, String hostString, Jid jid, int port, int priority, Type type) { public JingleS5BTransportCandidate(String candidateId, String hostString, Jid jid, int port, int priority, Type type) {
this(candidateId, InternetAddress.from(hostString), jid, port, priority, type); this(candidateId, InternetAddress.fromIgnoringZoneId(hostString), jid, port, priority, type);
} }
public JingleS5BTransportCandidate(String candidateId, InternetAddress host, Jid jid, int port, int priority, Type type) { public JingleS5BTransportCandidate(String candidateId, InternetAddress host, Jid jid, int port, int priority, Type type) {
@ -176,7 +176,7 @@ public final class JingleS5BTransportCandidate extends JingleContentTransportCan
} }
public Builder setHost(String host) { public Builder setHost(String host) {
InternetAddress inetAddress = InternetAddress.from(host); InternetAddress inetAddress = InternetAddress.fromIgnoringZoneId(host);
return setHost(inetAddress); return setHost(inetAddress);
} }

View file

@ -1652,11 +1652,20 @@ public final class Roster extends Manager {
} }
} }
final Jid from = packet.getFrom();
if (!isLoaded() && rosterLoadedAtLogin) { if (!isLoaded() && rosterLoadedAtLogin) {
XMPPConnection connection = connection();
// Only log the warning, if this is not the reflected self-presence. Otherwise,
// the reflected self-presence may cause a spurious warning in case the
// connection got quickly shut down. See SMACK-941.
if (connection != null && from != null && !from.equals(connection.getUser())) {
LOGGER.warning("Roster not loaded while processing " + packet); LOGGER.warning("Roster not loaded while processing " + packet);
} }
}
final Presence presence = (Presence) packet; final Presence presence = (Presence) packet;
final Jid from = presence.getFrom();
final BareJid key; final BareJid key;
if (from != null) { if (from != null) {