mirror of
https://github.com/vanitasvitae/Smack.git
synced 2025-12-14 06:51:08 +01:00
Merge branch '4.1'
Conflicts: smack-core/src/main/java/org/jivesoftware/smack/StanzaListener.java smack-core/src/main/java/org/jivesoftware/smack/XMPPConnection.java smack-core/src/main/java/org/jivesoftware/smack/packet/Stanza.java smack-core/src/main/java/org/jivesoftware/smack/util/PacketParserUtils.java version.gradle
This commit is contained in:
commit
83b84c5bd3
168 changed files with 780 additions and 687 deletions
|
|
@ -352,7 +352,7 @@ public class EntityCapsManager extends Manager {
|
|||
public void processPacket(Stanza packet) {
|
||||
if (!entityCapsEnabled)
|
||||
return;
|
||||
CapsVersionAndHash capsVersionAndHash = getCapsVersion();
|
||||
CapsVersionAndHash capsVersionAndHash = getCapsVersionAndHash();
|
||||
CapsExtension caps = new CapsExtension(entityNode, capsVersionAndHash.version, capsVersionAndHash.hash);
|
||||
packet.addExtension(caps);
|
||||
}
|
||||
|
|
@ -413,7 +413,7 @@ public class EntityCapsManager extends Manager {
|
|||
*
|
||||
* @return our own caps version
|
||||
*/
|
||||
public CapsVersionAndHash getCapsVersion() {
|
||||
public CapsVersionAndHash getCapsVersionAndHash() {
|
||||
return currentCapsVersion;
|
||||
}
|
||||
|
||||
|
|
@ -425,7 +425,11 @@ public class EntityCapsManager extends Manager {
|
|||
* @return the local NodeVer
|
||||
*/
|
||||
public String getLocalNodeVer() {
|
||||
return entityNode + '#' + getCapsVersion();
|
||||
CapsVersionAndHash capsVersionAndHash = getCapsVersionAndHash();
|
||||
if (capsVersionAndHash == null) {
|
||||
return null;
|
||||
}
|
||||
return entityNode + '#' + capsVersionAndHash.version;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -467,13 +471,14 @@ public class EntityCapsManager extends Manager {
|
|||
|
||||
DiscoverInfo discoverInfo = new DiscoverInfo();
|
||||
discoverInfo.setType(IQ.Type.result);
|
||||
discoverInfo.setNode(getLocalNodeVer());
|
||||
if (connection != null)
|
||||
discoverInfo.setFrom(connection.getUser());
|
||||
sdm.addDiscoverInfoTo(discoverInfo);
|
||||
|
||||
// getLocalNodeVer() will return a result only after currentCapsVersion is set. Therefore
|
||||
// set it first and then call getLocalNodeVer()
|
||||
currentCapsVersion = generateVerificationString(discoverInfo);
|
||||
addDiscoverInfoByNode(entityNode + '#' + currentCapsVersion.version, discoverInfo);
|
||||
final String localNodeVer = getLocalNodeVer();
|
||||
discoverInfo.setNode(localNodeVer);
|
||||
addDiscoverInfoByNode(localNodeVer, discoverInfo);
|
||||
if (lastLocalCapsVersions.size() > 10) {
|
||||
CapsVersionAndHash oldCapsVersion = lastLocalCapsVersions.poll();
|
||||
sdm.removeNodeInformationProvider(entityNode + '#' + oldCapsVersion.version);
|
||||
|
|
@ -484,7 +489,7 @@ public class EntityCapsManager extends Manager {
|
|||
JID_TO_NODEVER_CACHE.put(connection.getUser(), new NodeVerHash(entityNode, currentCapsVersion));
|
||||
|
||||
final List<Identity> identities = new LinkedList<Identity>(ServiceDiscoveryManager.getInstanceFor(connection).getIdentities());
|
||||
sdm.setNodeInformationProvider(entityNode + '#' + currentCapsVersion, new AbstractNodeInformationProvider() {
|
||||
sdm.setNodeInformationProvider(localNodeVer, new AbstractNodeInformationProvider() {
|
||||
List<String> features = sdm.getFeatures();
|
||||
List<ExtensionElement> packetExtensions = sdm.getExtendedInfoAsList();
|
||||
@Override
|
||||
|
|
@ -553,7 +558,7 @@ public class EntityCapsManager extends Manager {
|
|||
/**
|
||||
*
|
||||
* @param info
|
||||
* @return true if the packet extensions is ill-formed
|
||||
* @return true if the stanza(/packet) extensions is ill-formed
|
||||
*/
|
||||
protected static boolean verifyPacketExtensions(DiscoverInfo info) {
|
||||
List<FormField> foundFormTypes = new LinkedList<FormField>();
|
||||
|
|
|
|||
|
|
@ -120,7 +120,7 @@ public class SimpleDirectoryPersistentCache implements EntityCapsPersistentCache
|
|||
}
|
||||
|
||||
/**
|
||||
* Writes the DiscoverInfo packet to an file
|
||||
* Writes the DiscoverInfo stanza(/packet) to an file
|
||||
*
|
||||
* @param file
|
||||
* @param info
|
||||
|
|
@ -136,7 +136,7 @@ public class SimpleDirectoryPersistentCache implements EntityCapsPersistentCache
|
|||
}
|
||||
|
||||
/**
|
||||
* Tries to restore an DiscoverInfo packet from a file.
|
||||
* Tries to restore an DiscoverInfo stanza(/packet) from a file.
|
||||
*
|
||||
* @param file
|
||||
* @return the restored DiscoverInfo
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue