mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-11 18:29:05 +01:00
Add helper method for checking client/server compatibility.
This commit is contained in:
@@ -35,4 +35,13 @@ public class MailboxHelper {
|
||||
return API_SERVER_TOO_OLD;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns true if a client and server with the given API versions can
|
||||
* communicate with each other (ie, have any major API versions in common).
|
||||
*/
|
||||
public static boolean isClientCompatibleWithServer(
|
||||
List<MailboxVersion> client, List<MailboxVersion> server) {
|
||||
int common = getHighestCommonMajorVersion(client, server);
|
||||
return common != API_CLIENT_TOO_OLD && common != API_SERVER_TOO_OLD;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -46,7 +46,7 @@ import javax.inject.Inject;
|
||||
import static java.util.logging.Level.WARNING;
|
||||
import static java.util.logging.Logger.getLogger;
|
||||
import static org.briarproject.bramble.api.mailbox.MailboxConstants.CLIENT_SUPPORTS;
|
||||
import static org.briarproject.bramble.api.mailbox.MailboxHelper.getHighestCommonMajorVersion;
|
||||
import static org.briarproject.bramble.api.mailbox.MailboxHelper.isClientCompatibleWithServer;
|
||||
import static org.briarproject.bramble.api.nullsafety.NullSafety.requireNonNull;
|
||||
import static org.briarproject.bramble.api.plugin.Plugin.State.ACTIVE;
|
||||
import static org.briarproject.bramble.api.plugin.TorConstants.ID;
|
||||
@@ -627,8 +627,8 @@ class MailboxClientManager implements Service, EventListener {
|
||||
*/
|
||||
private boolean isMailboxUsable(List<MailboxVersion> contactClient,
|
||||
List<MailboxVersion> server) {
|
||||
return getHighestCommonMajorVersion(contactClient, server) >= 0
|
||||
&& getHighestCommonMajorVersion(CLIENT_SUPPORTS, server) >= 0;
|
||||
return isClientCompatibleWithServer(contactClient, server)
|
||||
&& isClientCompatibleWithServer(CLIENT_SUPPORTS, server);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -637,8 +637,8 @@ class MailboxClientManager implements Service, EventListener {
|
||||
*/
|
||||
@SuppressWarnings("BooleanMethodIsAlwaysInverted")
|
||||
private boolean isOwnMailboxUsable(MailboxProperties ownProperties) {
|
||||
return getHighestCommonMajorVersion(CLIENT_SUPPORTS,
|
||||
ownProperties.getServerSupports()) >= 0;
|
||||
return isClientCompatibleWithServer(CLIENT_SUPPORTS,
|
||||
ownProperties.getServerSupports());
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user