1
0
Fork 0
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:
Florian Schmaus 2015-03-24 17:16:18 +01:00
commit 83b84c5bd3
168 changed files with 780 additions and 687 deletions

View file

@ -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>();

View file

@ -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