mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-21 15:19:53 +01:00
Use client version to register validators, delivery hooks.
This commit is contained in:
@@ -35,13 +35,15 @@ public interface ValidationManager {
|
|||||||
/**
|
/**
|
||||||
* Sets the message validator for the given client.
|
* Sets the message validator for the given client.
|
||||||
*/
|
*/
|
||||||
void registerMessageValidator(ClientId c, MessageValidator v);
|
void registerMessageValidator(ClientId c, int clientVersion,
|
||||||
|
MessageValidator v);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the incoming message hook for the given client. The hook will be
|
* Sets the incoming message hook for the given client. The hook will be
|
||||||
* called once for each incoming message that passes validation.
|
* called once for each incoming message that passes validation.
|
||||||
*/
|
*/
|
||||||
void registerIncomingMessageHook(ClientId c, IncomingMessageHook hook);
|
void registerIncomingMessageHook(ClientId c, int clientVersion,
|
||||||
|
IncomingMessageHook hook);
|
||||||
|
|
||||||
interface MessageValidator {
|
interface MessageValidator {
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
|
||||||
import static org.briarproject.bramble.api.properties.TransportPropertyManager.CLIENT_ID;
|
import static org.briarproject.bramble.api.properties.TransportPropertyManager.CLIENT_ID;
|
||||||
|
import static org.briarproject.bramble.api.properties.TransportPropertyManager.CLIENT_VERSION;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class PropertiesModule {
|
public class PropertiesModule {
|
||||||
@@ -33,7 +34,8 @@ public class PropertiesModule {
|
|||||||
Clock clock) {
|
Clock clock) {
|
||||||
TransportPropertyValidator validator = new TransportPropertyValidator(
|
TransportPropertyValidator validator = new TransportPropertyValidator(
|
||||||
clientHelper, metadataEncoder, clock);
|
clientHelper, metadataEncoder, clock);
|
||||||
validationManager.registerMessageValidator(CLIENT_ID, validator);
|
validationManager.registerMessageValidator(CLIENT_ID, CLIENT_VERSION,
|
||||||
|
validator);
|
||||||
return validator;
|
return validator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -44,7 +46,7 @@ public class PropertiesModule {
|
|||||||
ValidationManager validationManager, ContactManager contactManager,
|
ValidationManager validationManager, ContactManager contactManager,
|
||||||
TransportPropertyManagerImpl transportPropertyManager) {
|
TransportPropertyManagerImpl transportPropertyManager) {
|
||||||
lifecycleManager.registerClient(transportPropertyManager);
|
lifecycleManager.registerClient(transportPropertyManager);
|
||||||
validationManager.registerIncomingMessageHook(CLIENT_ID,
|
validationManager.registerIncomingMessageHook(CLIENT_ID, CLIENT_VERSION,
|
||||||
transportPropertyManager);
|
transportPropertyManager);
|
||||||
contactManager.registerContactHook(transportPropertyManager);
|
contactManager.registerContactHook(transportPropertyManager);
|
||||||
return transportPropertyManager;
|
return transportPropertyManager;
|
||||||
|
|||||||
@@ -38,5 +38,10 @@ class ClientVersion implements Comparable<ClientVersion> {
|
|||||||
if (compare != 0) return compare;
|
if (compare != 0) return compare;
|
||||||
return clientVersion - c.clientVersion;
|
return clientVersion - c.clientVersion;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString() {
|
||||||
|
return clientId.getString() + ":" + clientVersion;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -28,6 +28,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
|
||||||
import static org.briarproject.bramble.api.sync.ClientVersioningManager.CLIENT_ID;
|
import static org.briarproject.bramble.api.sync.ClientVersioningManager.CLIENT_ID;
|
||||||
|
import static org.briarproject.bramble.api.sync.ClientVersioningManager.CLIENT_VERSION;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class SyncModule {
|
public class SyncModule {
|
||||||
@@ -110,7 +111,7 @@ public class SyncModule {
|
|||||||
lifecycleManager.registerClient(clientVersioningManager);
|
lifecycleManager.registerClient(clientVersioningManager);
|
||||||
lifecycleManager.registerService(clientVersioningManager);
|
lifecycleManager.registerService(clientVersioningManager);
|
||||||
contactManager.registerContactHook(clientVersioningManager);
|
contactManager.registerContactHook(clientVersioningManager);
|
||||||
validationManager.registerIncomingMessageHook(CLIENT_ID,
|
validationManager.registerIncomingMessageHook(CLIENT_ID, CLIENT_VERSION,
|
||||||
clientVersioningManager);
|
clientVersioningManager);
|
||||||
return clientVersioningManager;
|
return clientVersioningManager;
|
||||||
}
|
}
|
||||||
@@ -122,7 +123,8 @@ public class SyncModule {
|
|||||||
Clock clock, ValidationManager validationManager) {
|
Clock clock, ValidationManager validationManager) {
|
||||||
ClientVersioningValidator validator = new ClientVersioningValidator(
|
ClientVersioningValidator validator = new ClientVersioningValidator(
|
||||||
clientHelper, metadataEncoder, clock);
|
clientHelper, metadataEncoder, clock);
|
||||||
validationManager.registerMessageValidator(CLIENT_ID, validator);
|
validationManager.registerMessageValidator(CLIENT_ID, CLIENT_VERSION,
|
||||||
|
validator);
|
||||||
return validator;
|
return validator;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -51,8 +51,8 @@ class ValidationManagerImpl implements ValidationManager, Service,
|
|||||||
private final DatabaseComponent db;
|
private final DatabaseComponent db;
|
||||||
private final Executor dbExecutor, validationExecutor;
|
private final Executor dbExecutor, validationExecutor;
|
||||||
private final MessageFactory messageFactory;
|
private final MessageFactory messageFactory;
|
||||||
private final Map<ClientId, MessageValidator> validators;
|
private final Map<ClientVersion, MessageValidator> validators;
|
||||||
private final Map<ClientId, IncomingMessageHook> hooks;
|
private final Map<ClientVersion, IncomingMessageHook> hooks;
|
||||||
private final AtomicBoolean used = new AtomicBoolean(false);
|
private final AtomicBoolean used = new AtomicBoolean(false);
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@@ -81,14 +81,15 @@ class ValidationManagerImpl implements ValidationManager, Service,
|
|||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerMessageValidator(ClientId c, MessageValidator v) {
|
public void registerMessageValidator(ClientId c, int clientVersion,
|
||||||
validators.put(c, v);
|
MessageValidator v) {
|
||||||
|
validators.put(new ClientVersion(c, clientVersion), v);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public void registerIncomingMessageHook(ClientId c,
|
public void registerIncomingMessageHook(ClientId c, int clientVersion,
|
||||||
IncomingMessageHook hook) {
|
IncomingMessageHook hook) {
|
||||||
hooks.put(c, hook);
|
hooks.put(new ClientVersion(c, clientVersion), hook);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void validateOutstandingMessagesAsync() {
|
private void validateOutstandingMessagesAsync() {
|
||||||
@@ -199,9 +200,11 @@ class ValidationManagerImpl implements ValidationManager, Service,
|
|||||||
Message m = messageFactory.createMessage(id, raw);
|
Message m = messageFactory.createMessage(id, raw);
|
||||||
Group g = db.getGroup(txn, m.getGroupId());
|
Group g = db.getGroup(txn, m.getGroupId());
|
||||||
ClientId c = g.getClientId();
|
ClientId c = g.getClientId();
|
||||||
|
int clientVersion = g.getClientVersion();
|
||||||
Metadata meta =
|
Metadata meta =
|
||||||
db.getMessageMetadataForValidator(txn, id);
|
db.getMessageMetadataForValidator(txn, id);
|
||||||
DeliveryResult result = deliverMessage(txn, m, c, meta);
|
DeliveryResult result =
|
||||||
|
deliverMessage(txn, m, c, clientVersion, meta);
|
||||||
if (result.valid) {
|
if (result.valid) {
|
||||||
pending.addAll(getPendingDependents(txn, id));
|
pending.addAll(getPendingDependents(txn, id));
|
||||||
if (result.share) {
|
if (result.share) {
|
||||||
@@ -237,14 +240,16 @@ class ValidationManagerImpl implements ValidationManager, Service,
|
|||||||
|
|
||||||
@ValidationExecutor
|
@ValidationExecutor
|
||||||
private void validateMessage(Message m, Group g) {
|
private void validateMessage(Message m, Group g) {
|
||||||
MessageValidator v = validators.get(g.getClientId());
|
ClientVersion cv =
|
||||||
|
new ClientVersion(g.getClientId(), g.getClientVersion());
|
||||||
|
MessageValidator v = validators.get(cv);
|
||||||
if (v == null) {
|
if (v == null) {
|
||||||
if (LOG.isLoggable(WARNING))
|
if (LOG.isLoggable(WARNING)) LOG.warning("No validator for " + cv);
|
||||||
LOG.warning("No validator for " + g.getClientId().getString());
|
|
||||||
} else {
|
} else {
|
||||||
try {
|
try {
|
||||||
MessageContext context = v.validateMessage(m, g);
|
MessageContext context = v.validateMessage(m, g);
|
||||||
storeMessageContextAsync(m, g.getClientId(), context);
|
storeMessageContextAsync(m, g.getClientId(),
|
||||||
|
g.getClientVersion(), context);
|
||||||
} catch (InvalidMessageException e) {
|
} catch (InvalidMessageException e) {
|
||||||
if (LOG.isLoggable(INFO))
|
if (LOG.isLoggable(INFO))
|
||||||
LOG.log(INFO, e.toString(), e);
|
LOG.log(INFO, e.toString(), e);
|
||||||
@@ -256,12 +261,13 @@ class ValidationManagerImpl implements ValidationManager, Service,
|
|||||||
}
|
}
|
||||||
|
|
||||||
private void storeMessageContextAsync(Message m, ClientId c,
|
private void storeMessageContextAsync(Message m, ClientId c,
|
||||||
MessageContext result) {
|
int clientVersion, MessageContext result) {
|
||||||
dbExecutor.execute(() -> storeMessageContext(m, c, result));
|
dbExecutor.execute(() ->
|
||||||
|
storeMessageContext(m, c, clientVersion, result));
|
||||||
}
|
}
|
||||||
|
|
||||||
@DatabaseExecutor
|
@DatabaseExecutor
|
||||||
private void storeMessageContext(Message m, ClientId c,
|
private void storeMessageContext(Message m, ClientId c, int clientVersion,
|
||||||
MessageContext context) {
|
MessageContext context) {
|
||||||
try {
|
try {
|
||||||
MessageId id = m.getId();
|
MessageId id = m.getId();
|
||||||
@@ -292,7 +298,8 @@ class ValidationManagerImpl implements ValidationManager, Service,
|
|||||||
Metadata meta = context.getMetadata();
|
Metadata meta = context.getMetadata();
|
||||||
db.mergeMessageMetadata(txn, id, meta);
|
db.mergeMessageMetadata(txn, id, meta);
|
||||||
if (allDelivered) {
|
if (allDelivered) {
|
||||||
DeliveryResult result = deliverMessage(txn, m, c, meta);
|
DeliveryResult result =
|
||||||
|
deliverMessage(txn, m, c, clientVersion, meta);
|
||||||
if (result.valid) {
|
if (result.valid) {
|
||||||
pending = getPendingDependents(txn, id);
|
pending = getPendingDependents(txn, id);
|
||||||
if (result.share) {
|
if (result.share) {
|
||||||
@@ -324,10 +331,11 @@ class ValidationManagerImpl implements ValidationManager, Service,
|
|||||||
|
|
||||||
@DatabaseExecutor
|
@DatabaseExecutor
|
||||||
private DeliveryResult deliverMessage(Transaction txn, Message m,
|
private DeliveryResult deliverMessage(Transaction txn, Message m,
|
||||||
ClientId c, Metadata meta) throws DbException {
|
ClientId c, int clientVersion, Metadata meta) throws DbException {
|
||||||
// Deliver the message to the client if it's registered a hook
|
// Deliver the message to the client if it's registered a hook
|
||||||
boolean shareMsg = false;
|
boolean shareMsg = false;
|
||||||
IncomingMessageHook hook = hooks.get(c);
|
ClientVersion cv = new ClientVersion(c, clientVersion);
|
||||||
|
IncomingMessageHook hook = hooks.get(cv);
|
||||||
if (hook != null) {
|
if (hook != null) {
|
||||||
try {
|
try {
|
||||||
shareMsg = hook.incomingMessage(txn, m, meta);
|
shareMsg = hook.incomingMessage(txn, m, meta);
|
||||||
|
|||||||
@@ -53,10 +53,11 @@ public class ValidationManagerImplTest extends BrambleMockTestCase {
|
|||||||
private final Executor dbExecutor = new ImmediateExecutor();
|
private final Executor dbExecutor = new ImmediateExecutor();
|
||||||
private final Executor validationExecutor = new ImmediateExecutor();
|
private final Executor validationExecutor = new ImmediateExecutor();
|
||||||
private final ClientId clientId = getClientId();
|
private final ClientId clientId = getClientId();
|
||||||
|
private final int clientVersion = 123;
|
||||||
private final MessageId messageId = new MessageId(getRandomId());
|
private final MessageId messageId = new MessageId(getRandomId());
|
||||||
private final MessageId messageId1 = new MessageId(getRandomId());
|
private final MessageId messageId1 = new MessageId(getRandomId());
|
||||||
private final MessageId messageId2 = new MessageId(getRandomId());
|
private final MessageId messageId2 = new MessageId(getRandomId());
|
||||||
private final Group group = getGroup(clientId, 123);
|
private final Group group = getGroup(clientId, clientVersion);
|
||||||
private final GroupId groupId = group.getId();
|
private final GroupId groupId = group.getId();
|
||||||
private final long timestamp = System.currentTimeMillis();
|
private final long timestamp = System.currentTimeMillis();
|
||||||
private final byte[] raw = new byte[123];
|
private final byte[] raw = new byte[123];
|
||||||
@@ -85,8 +86,8 @@ public class ValidationManagerImplTest extends BrambleMockTestCase {
|
|||||||
public void setUp() {
|
public void setUp() {
|
||||||
vm = new ValidationManagerImpl(db, dbExecutor, validationExecutor,
|
vm = new ValidationManagerImpl(db, dbExecutor, validationExecutor,
|
||||||
messageFactory);
|
messageFactory);
|
||||||
vm.registerMessageValidator(clientId, validator);
|
vm.registerMessageValidator(clientId, clientVersion, validator);
|
||||||
vm.registerIncomingMessageHook(clientId, hook);
|
vm.registerIncomingMessageHook(clientId, clientVersion, hook);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@Test
|
||||||
|
|||||||
@@ -18,7 +18,8 @@ import javax.inject.Singleton;
|
|||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
|
||||||
import static org.briarproject.briar.blog.BlogManagerImpl.CLIENT_ID;
|
import static org.briarproject.briar.api.blog.BlogManager.CLIENT_ID;
|
||||||
|
import static org.briarproject.briar.api.blog.BlogManager.CLIENT_VERSION;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class BlogModule {
|
public class BlogModule {
|
||||||
@@ -35,10 +36,10 @@ public class BlogModule {
|
|||||||
BlogManager provideBlogManager(BlogManagerImpl blogManager,
|
BlogManager provideBlogManager(BlogManagerImpl blogManager,
|
||||||
LifecycleManager lifecycleManager, ContactManager contactManager,
|
LifecycleManager lifecycleManager, ContactManager contactManager,
|
||||||
ValidationManager validationManager) {
|
ValidationManager validationManager) {
|
||||||
|
|
||||||
lifecycleManager.registerClient(blogManager);
|
lifecycleManager.registerClient(blogManager);
|
||||||
contactManager.registerContactHook(blogManager);
|
contactManager.registerContactHook(blogManager);
|
||||||
validationManager.registerIncomingMessageHook(CLIENT_ID, blogManager);
|
validationManager.registerIncomingMessageHook(CLIENT_ID, CLIENT_VERSION,
|
||||||
|
blogManager);
|
||||||
return blogManager;
|
return blogManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -60,12 +61,11 @@ public class BlogModule {
|
|||||||
MessageFactory messageFactory, BlogFactory blogFactory,
|
MessageFactory messageFactory, BlogFactory blogFactory,
|
||||||
ClientHelper clientHelper, MetadataEncoder metadataEncoder,
|
ClientHelper clientHelper, MetadataEncoder metadataEncoder,
|
||||||
Clock clock) {
|
Clock clock) {
|
||||||
|
|
||||||
BlogPostValidator validator = new BlogPostValidator(groupFactory,
|
BlogPostValidator validator = new BlogPostValidator(groupFactory,
|
||||||
messageFactory, blogFactory, clientHelper, metadataEncoder,
|
messageFactory, blogFactory, clientHelper, metadataEncoder,
|
||||||
clock);
|
clock);
|
||||||
validationManager.registerMessageValidator(CLIENT_ID, validator);
|
validationManager.registerMessageValidator(CLIENT_ID, CLIENT_VERSION,
|
||||||
|
validator);
|
||||||
return validator;
|
return validator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -15,6 +15,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
|
||||||
import static org.briarproject.briar.api.forum.ForumManager.CLIENT_ID;
|
import static org.briarproject.briar.api.forum.ForumManager.CLIENT_ID;
|
||||||
|
import static org.briarproject.briar.api.forum.ForumManager.CLIENT_VERSION;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class ForumModule {
|
public class ForumModule {
|
||||||
@@ -30,7 +31,7 @@ public class ForumModule {
|
|||||||
@Singleton
|
@Singleton
|
||||||
ForumManager provideForumManager(ForumManagerImpl forumManager,
|
ForumManager provideForumManager(ForumManagerImpl forumManager,
|
||||||
ValidationManager validationManager) {
|
ValidationManager validationManager) {
|
||||||
validationManager.registerIncomingMessageHook(CLIENT_ID,
|
validationManager.registerIncomingMessageHook(CLIENT_ID, CLIENT_VERSION,
|
||||||
forumManager);
|
forumManager);
|
||||||
return forumManager;
|
return forumManager;
|
||||||
}
|
}
|
||||||
@@ -53,7 +54,8 @@ public class ForumModule {
|
|||||||
MetadataEncoder metadataEncoder, Clock clock) {
|
MetadataEncoder metadataEncoder, Clock clock) {
|
||||||
ForumPostValidator validator = new ForumPostValidator(clientHelper,
|
ForumPostValidator validator = new ForumPostValidator(clientHelper,
|
||||||
metadataEncoder, clock);
|
metadataEncoder, clock);
|
||||||
validationManager.registerMessageValidator(CLIENT_ID, validator);
|
validationManager.registerMessageValidator(CLIENT_ID, CLIENT_VERSION,
|
||||||
|
validator);
|
||||||
return validator;
|
return validator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
|
||||||
import static org.briarproject.briar.api.introduction.IntroductionManager.CLIENT_ID;
|
import static org.briarproject.briar.api.introduction.IntroductionManager.CLIENT_ID;
|
||||||
|
import static org.briarproject.briar.api.introduction.IntroductionManager.CLIENT_VERSION;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class IntroductionModule {
|
public class IntroductionModule {
|
||||||
@@ -32,13 +33,11 @@ public class IntroductionModule {
|
|||||||
IntroductionValidator provideValidator(ValidationManager validationManager,
|
IntroductionValidator provideValidator(ValidationManager validationManager,
|
||||||
MessageEncoder messageEncoder, MetadataEncoder metadataEncoder,
|
MessageEncoder messageEncoder, MetadataEncoder metadataEncoder,
|
||||||
ClientHelper clientHelper, Clock clock) {
|
ClientHelper clientHelper, Clock clock) {
|
||||||
|
|
||||||
IntroductionValidator introductionValidator =
|
IntroductionValidator introductionValidator =
|
||||||
new IntroductionValidator(messageEncoder, clientHelper,
|
new IntroductionValidator(messageEncoder, clientHelper,
|
||||||
metadataEncoder, clock);
|
metadataEncoder, clock);
|
||||||
validationManager.registerMessageValidator(CLIENT_ID,
|
validationManager.registerMessageValidator(CLIENT_ID, CLIENT_VERSION,
|
||||||
introductionValidator);
|
introductionValidator);
|
||||||
|
|
||||||
return introductionValidator;
|
return introductionValidator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -52,9 +51,8 @@ public class IntroductionModule {
|
|||||||
lifecycleManager.registerClient(introductionManager);
|
lifecycleManager.registerClient(introductionManager);
|
||||||
contactManager.registerContactHook(introductionManager);
|
contactManager.registerContactHook(introductionManager);
|
||||||
validationManager.registerIncomingMessageHook(CLIENT_ID,
|
validationManager.registerIncomingMessageHook(CLIENT_ID,
|
||||||
introductionManager);
|
CLIENT_VERSION, introductionManager);
|
||||||
conversationManager.registerConversationClient(introductionManager);
|
conversationManager.registerConversationClient(introductionManager);
|
||||||
|
|
||||||
return introductionManager;
|
return introductionManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -16,7 +16,8 @@ import javax.inject.Singleton;
|
|||||||
import dagger.Module;
|
import dagger.Module;
|
||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
|
||||||
import static org.briarproject.briar.messaging.MessagingManagerImpl.CLIENT_ID;
|
import static org.briarproject.briar.api.messaging.MessagingManager.CLIENT_ID;
|
||||||
|
import static org.briarproject.briar.api.messaging.MessagingManager.CLIENT_VERSION;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class MessagingModule {
|
public class MessagingModule {
|
||||||
@@ -43,7 +44,8 @@ public class MessagingModule {
|
|||||||
Clock clock) {
|
Clock clock) {
|
||||||
PrivateMessageValidator validator = new PrivateMessageValidator(
|
PrivateMessageValidator validator = new PrivateMessageValidator(
|
||||||
clientHelper, metadataEncoder, clock);
|
clientHelper, metadataEncoder, clock);
|
||||||
validationManager.registerMessageValidator(CLIENT_ID, validator);
|
validationManager.registerMessageValidator(CLIENT_ID, CLIENT_VERSION,
|
||||||
|
validator);
|
||||||
return validator;
|
return validator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -55,8 +57,8 @@ public class MessagingModule {
|
|||||||
MessagingManagerImpl messagingManager) {
|
MessagingManagerImpl messagingManager) {
|
||||||
lifecycleManager.registerClient(messagingManager);
|
lifecycleManager.registerClient(messagingManager);
|
||||||
contactManager.registerContactHook(messagingManager);
|
contactManager.registerContactHook(messagingManager);
|
||||||
validationManager
|
validationManager.registerIncomingMessageHook(CLIENT_ID, CLIENT_VERSION,
|
||||||
.registerIncomingMessageHook(CLIENT_ID, messagingManager);
|
messagingManager);
|
||||||
conversationManager.registerConversationClient(messagingManager);
|
conversationManager.registerConversationClient(messagingManager);
|
||||||
return messagingManager;
|
return messagingManager;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
|
||||||
import static org.briarproject.briar.api.privategroup.PrivateGroupManager.CLIENT_ID;
|
import static org.briarproject.briar.api.privategroup.PrivateGroupManager.CLIENT_ID;
|
||||||
|
import static org.briarproject.briar.api.privategroup.PrivateGroupManager.CLIENT_VERSION;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class PrivateGroupModule {
|
public class PrivateGroupModule {
|
||||||
@@ -32,7 +33,8 @@ public class PrivateGroupModule {
|
|||||||
PrivateGroupManager provideGroupManager(
|
PrivateGroupManager provideGroupManager(
|
||||||
PrivateGroupManagerImpl groupManager,
|
PrivateGroupManagerImpl groupManager,
|
||||||
ValidationManager validationManager) {
|
ValidationManager validationManager) {
|
||||||
validationManager.registerIncomingMessageHook(CLIENT_ID, groupManager);
|
validationManager.registerIncomingMessageHook(CLIENT_ID, CLIENT_VERSION,
|
||||||
|
groupManager);
|
||||||
return groupManager;
|
return groupManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -58,7 +60,8 @@ public class PrivateGroupModule {
|
|||||||
GroupMessageValidator validator = new GroupMessageValidator(
|
GroupMessageValidator validator = new GroupMessageValidator(
|
||||||
privateGroupFactory, clientHelper, metadataEncoder, clock,
|
privateGroupFactory, clientHelper, metadataEncoder, clock,
|
||||||
groupInvitationFactory);
|
groupInvitationFactory);
|
||||||
validationManager.registerMessageValidator(CLIENT_ID, validator);
|
validationManager.registerMessageValidator(CLIENT_ID, CLIENT_VERSION,
|
||||||
|
validator);
|
||||||
return validator;
|
return validator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -19,6 +19,7 @@ import dagger.Module;
|
|||||||
import dagger.Provides;
|
import dagger.Provides;
|
||||||
|
|
||||||
import static org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager.CLIENT_ID;
|
import static org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager.CLIENT_ID;
|
||||||
|
import static org.briarproject.briar.api.privategroup.invitation.GroupInvitationManager.CLIENT_VERSION;
|
||||||
|
|
||||||
@Module
|
@Module
|
||||||
public class GroupInvitationModule {
|
public class GroupInvitationModule {
|
||||||
@@ -39,7 +40,7 @@ public class GroupInvitationModule {
|
|||||||
PrivateGroupManager privateGroupManager,
|
PrivateGroupManager privateGroupManager,
|
||||||
ConversationManager conversationManager) {
|
ConversationManager conversationManager) {
|
||||||
lifecycleManager.registerClient(groupInvitationManager);
|
lifecycleManager.registerClient(groupInvitationManager);
|
||||||
validationManager.registerIncomingMessageHook(CLIENT_ID,
|
validationManager.registerIncomingMessageHook(CLIENT_ID, CLIENT_VERSION,
|
||||||
groupInvitationManager);
|
groupInvitationManager);
|
||||||
contactManager.registerContactHook(groupInvitationManager);
|
contactManager.registerContactHook(groupInvitationManager);
|
||||||
privateGroupManager.registerPrivateGroupHook(groupInvitationManager);
|
privateGroupManager.registerPrivateGroupHook(groupInvitationManager);
|
||||||
@@ -57,7 +58,8 @@ public class GroupInvitationModule {
|
|||||||
GroupInvitationValidator validator = new GroupInvitationValidator(
|
GroupInvitationValidator validator = new GroupInvitationValidator(
|
||||||
clientHelper, metadataEncoder, clock, privateGroupFactory,
|
clientHelper, metadataEncoder, clock, privateGroupFactory,
|
||||||
messageEncoder);
|
messageEncoder);
|
||||||
validationManager.registerMessageValidator(CLIENT_ID, validator);
|
validationManager.registerMessageValidator(CLIENT_ID, CLIENT_VERSION,
|
||||||
|
validator);
|
||||||
return validator;
|
return validator;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -59,11 +59,11 @@ public class SharingModule {
|
|||||||
ValidationManager validationManager, MessageEncoder messageEncoder,
|
ValidationManager validationManager, MessageEncoder messageEncoder,
|
||||||
ClientHelper clientHelper, MetadataEncoder metadataEncoder,
|
ClientHelper clientHelper, MetadataEncoder metadataEncoder,
|
||||||
Clock clock, BlogFactory blogFactory) {
|
Clock clock, BlogFactory blogFactory) {
|
||||||
BlogSharingValidator validator =
|
BlogSharingValidator validator = new BlogSharingValidator(
|
||||||
new BlogSharingValidator(messageEncoder, clientHelper,
|
messageEncoder, clientHelper, metadataEncoder, clock,
|
||||||
metadataEncoder, clock, blogFactory);
|
blogFactory);
|
||||||
validationManager.registerMessageValidator(BlogSharingManager.CLIENT_ID,
|
validationManager.registerMessageValidator(BlogSharingManager.CLIENT_ID,
|
||||||
validator);
|
BlogSharingManager.CLIENT_VERSION, validator);
|
||||||
return validator;
|
return validator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,10 +77,10 @@ public class SharingModule {
|
|||||||
lifecycleManager.registerClient(blogSharingManager);
|
lifecycleManager.registerClient(blogSharingManager);
|
||||||
contactManager.registerContactHook(blogSharingManager);
|
contactManager.registerContactHook(blogSharingManager);
|
||||||
validationManager.registerIncomingMessageHook(
|
validationManager.registerIncomingMessageHook(
|
||||||
BlogSharingManager.CLIENT_ID, blogSharingManager);
|
BlogSharingManager.CLIENT_ID, BlogSharingManager.CLIENT_VERSION,
|
||||||
|
blogSharingManager);
|
||||||
conversationManager.registerConversationClient(blogSharingManager);
|
conversationManager.registerConversationClient(blogSharingManager);
|
||||||
blogManager.registerRemoveBlogHook(blogSharingManager);
|
blogManager.registerRemoveBlogHook(blogSharingManager);
|
||||||
|
|
||||||
return blogSharingManager;
|
return blogSharingManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,12 +108,12 @@ public class SharingModule {
|
|||||||
ValidationManager validationManager, MessageEncoder messageEncoder,
|
ValidationManager validationManager, MessageEncoder messageEncoder,
|
||||||
ClientHelper clientHelper, MetadataEncoder metadataEncoder,
|
ClientHelper clientHelper, MetadataEncoder metadataEncoder,
|
||||||
Clock clock, ForumFactory forumFactory) {
|
Clock clock, ForumFactory forumFactory) {
|
||||||
ForumSharingValidator validator =
|
ForumSharingValidator validator = new ForumSharingValidator(
|
||||||
new ForumSharingValidator(messageEncoder, clientHelper,
|
messageEncoder, clientHelper, metadataEncoder, clock,
|
||||||
metadataEncoder, clock, forumFactory);
|
forumFactory);
|
||||||
validationManager
|
validationManager.registerMessageValidator(
|
||||||
.registerMessageValidator(ForumSharingManager.CLIENT_ID,
|
ForumSharingManager.CLIENT_ID,
|
||||||
validator);
|
ForumSharingManager.CLIENT_VERSION, validator);
|
||||||
return validator;
|
return validator;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -124,14 +124,13 @@ public class SharingModule {
|
|||||||
ValidationManager validationManager,
|
ValidationManager validationManager,
|
||||||
ConversationManager conversationManager, ForumManager forumManager,
|
ConversationManager conversationManager, ForumManager forumManager,
|
||||||
ForumSharingManagerImpl forumSharingManager) {
|
ForumSharingManagerImpl forumSharingManager) {
|
||||||
|
|
||||||
lifecycleManager.registerClient(forumSharingManager);
|
lifecycleManager.registerClient(forumSharingManager);
|
||||||
contactManager.registerContactHook(forumSharingManager);
|
contactManager.registerContactHook(forumSharingManager);
|
||||||
validationManager.registerIncomingMessageHook(
|
validationManager.registerIncomingMessageHook(
|
||||||
ForumSharingManager.CLIENT_ID, forumSharingManager);
|
ForumSharingManager.CLIENT_ID,
|
||||||
|
ForumSharingManager.CLIENT_VERSION, forumSharingManager);
|
||||||
conversationManager.registerConversationClient(forumSharingManager);
|
conversationManager.registerConversationClient(forumSharingManager);
|
||||||
forumManager.registerRemoveForumHook(forumSharingManager);
|
forumManager.registerRemoveForumHook(forumSharingManager);
|
||||||
|
|
||||||
return forumSharingManager;
|
return forumSharingManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user