diff --git a/briar-api/src/net/sf/briar/api/AuthorConstants.java b/briar-api/src/net/sf/briar/api/AuthorConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..f9a358d8a4ab2ea7a6c36c42dc030b4d81871323 --- /dev/null +++ b/briar-api/src/net/sf/briar/api/AuthorConstants.java @@ -0,0 +1,13 @@ +package net.sf.briar.api; + +public interface AuthorConstants { + + /** The maximum length of an author's name in UTF-8 bytes. */ + int MAX_AUTHOR_NAME_LENGTH = 50; + + /** The maximum length of a public key in bytes. */ + int MAX_PUBLIC_KEY_LENGTH = 97; + + /** The maximum length of a signature in bytes. */ + int MAX_SIGNATURE_LENGTH = 104; +} diff --git a/briar-api/src/net/sf/briar/api/TransportPropertyConstants.java b/briar-api/src/net/sf/briar/api/TransportPropertyConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..4967fe210717e9c3731e1d9103079af467e57630 --- /dev/null +++ b/briar-api/src/net/sf/briar/api/TransportPropertyConstants.java @@ -0,0 +1,10 @@ +package net.sf.briar.api; + +public interface TransportPropertyConstants { + + /** The maximum number of properties per transport. */ + int MAX_PROPERTIES_PER_TRANSPORT = 100; + + /** The maximum length of a property's key or value in UTF-8 bytes. */ + int MAX_PROPERTY_LENGTH = 100; +} diff --git a/briar-api/src/net/sf/briar/api/plugins/InvitationConstants.java b/briar-api/src/net/sf/briar/api/invitation/InvitationConstants.java similarity index 88% rename from briar-api/src/net/sf/briar/api/plugins/InvitationConstants.java rename to briar-api/src/net/sf/briar/api/invitation/InvitationConstants.java index 57c5a6beb6405ca3430fe09ea834fa6d6ac1e1ca..e5ecebf134c06bb30c7e087635a948b4914f1905 100644 --- a/briar-api/src/net/sf/briar/api/plugins/InvitationConstants.java +++ b/briar-api/src/net/sf/briar/api/invitation/InvitationConstants.java @@ -1,4 +1,4 @@ -package net.sf.briar.api.plugins; +package net.sf.briar.api.invitation; public interface InvitationConstants { diff --git a/briar-api/src/net/sf/briar/api/messaging/MessagingConstants.java b/briar-api/src/net/sf/briar/api/messaging/MessagingConstants.java index 5373427cc004f02f8ff4416a0ca0c48b65882245..f6cd09977e74a48255d05e986c43be7738d58adb 100644 --- a/briar-api/src/net/sf/briar/api/messaging/MessagingConstants.java +++ b/briar-api/src/net/sf/briar/api/messaging/MessagingConstants.java @@ -14,21 +14,9 @@ public interface MessagingConstants { /** The maximum number of groups a user may subscribe to. */ int MAX_SUBSCRIPTIONS = 3000; - /** The maximum number of properties per transport. */ - int MAX_PROPERTIES_PER_TRANSPORT = 100; - - /** The maximum length of a property's key or value in UTF-8 bytes. */ - int MAX_PROPERTY_LENGTH = 100; - /** The maximum length of a group's name in UTF-8 bytes. */ int MAX_GROUP_NAME_LENGTH = 50; - /** The maximum length of a public key in bytes. */ - int MAX_PUBLIC_KEY_LENGTH = 97; - - /** The maximum length of an author's name in UTF-8 bytes. */ - int MAX_AUTHOR_NAME_LENGTH = 50; - /** * The maximum length of a message body in bytes. To allow for future * changes in the protocol, this is smaller than the maximum packet length @@ -42,9 +30,6 @@ public interface MessagingConstants { /** The maximum length of a message's subject line in UTF-8 bytes. */ int MAX_SUBJECT_LENGTH = 100; - /** The maximum length of a signature in bytes. */ - int MAX_SIGNATURE_LENGTH = 120; - /** The length of a message's random salt in bytes. */ int SALT_LENGTH = 8; diff --git a/briar-core/src/net/sf/briar/crypto/CryptoComponentImpl.java b/briar-core/src/net/sf/briar/crypto/CryptoComponentImpl.java index cbe3a978dc14d1901cd90d195d21921314c88f75..e8ae752a46e62e7276436265953aad7f788db038 100644 --- a/briar-core/src/net/sf/briar/crypto/CryptoComponentImpl.java +++ b/briar-core/src/net/sf/briar/crypto/CryptoComponentImpl.java @@ -2,7 +2,7 @@ package net.sf.briar.crypto; import static javax.crypto.Cipher.DECRYPT_MODE; import static javax.crypto.Cipher.ENCRYPT_MODE; -import static net.sf.briar.api.plugins.InvitationConstants.CODE_BITS; +import static net.sf.briar.api.invitation.InvitationConstants.CODE_BITS; import static net.sf.briar.api.transport.TransportConstants.TAG_LENGTH; import static net.sf.briar.util.ByteUtils.MAX_32_BIT_UNSIGNED; diff --git a/briar-core/src/net/sf/briar/invitation/AliceConnector.java b/briar-core/src/net/sf/briar/invitation/AliceConnector.java index fc3ae0fdf25f14c344f32c5825632295571f924a..5e72fc30e291518365228744154fde7177d84c4a 100644 --- a/briar-core/src/net/sf/briar/invitation/AliceConnector.java +++ b/briar-core/src/net/sf/briar/invitation/AliceConnector.java @@ -2,7 +2,7 @@ package net.sf.briar.invitation; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; -import static net.sf.briar.api.plugins.InvitationConstants.CONNECTION_TIMEOUT; +import static net.sf.briar.api.invitation.InvitationConstants.CONNECTION_TIMEOUT; import java.io.IOException; import java.io.InputStream; diff --git a/briar-core/src/net/sf/briar/invitation/BobConnector.java b/briar-core/src/net/sf/briar/invitation/BobConnector.java index da574f2badb293ec39855bcbcc24e998915d6222..593c1017f4c7a99d2dd0e0836dda7072ae815e95 100644 --- a/briar-core/src/net/sf/briar/invitation/BobConnector.java +++ b/briar-core/src/net/sf/briar/invitation/BobConnector.java @@ -2,7 +2,7 @@ package net.sf.briar.invitation; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; -import static net.sf.briar.api.plugins.InvitationConstants.CONNECTION_TIMEOUT; +import static net.sf.briar.api.invitation.InvitationConstants.CONNECTION_TIMEOUT; import java.io.IOException; import java.io.InputStream; diff --git a/briar-core/src/net/sf/briar/invitation/Connector.java b/briar-core/src/net/sf/briar/invitation/Connector.java index 4dcf3c3d0c21ce1f862baa32688143faa193d776..c9592538ab8f93dbbd59a8bd38a64bde0be68816 100644 --- a/briar-core/src/net/sf/briar/invitation/Connector.java +++ b/briar-core/src/net/sf/briar/invitation/Connector.java @@ -2,12 +2,13 @@ package net.sf.briar.invitation; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_AUTHOR_NAME_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_PROPERTY_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_PUBLIC_KEY_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_SIGNATURE_LENGTH; -import static net.sf.briar.api.plugins.InvitationConstants.CONNECTION_TIMEOUT; -import static net.sf.briar.api.plugins.InvitationConstants.HASH_LENGTH; +import static net.sf.briar.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; +import static net.sf.briar.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; +import static net.sf.briar.api.AuthorConstants.MAX_SIGNATURE_LENGTH; +import static net.sf.briar.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; +import static net.sf.briar.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; +import static net.sf.briar.api.invitation.InvitationConstants.CONNECTION_TIMEOUT; +import static net.sf.briar.api.invitation.InvitationConstants.HASH_LENGTH; import java.io.IOException; import java.security.GeneralSecurityException; @@ -259,6 +260,8 @@ abstract class Connector extends Thread { r.setMaxStringLength(MAX_PROPERTY_LENGTH); Map<String, String> p = r.readMap(String.class, String.class); r.resetMaxStringLength(); + if(p.size() > MAX_PROPERTIES_PER_TRANSPORT) + throw new FormatException(); remoteProps.put(id, new TransportProperties(p)); } r.readListEnd(); diff --git a/briar-core/src/net/sf/briar/invitation/ConnectorGroup.java b/briar-core/src/net/sf/briar/invitation/ConnectorGroup.java index 19033ca576a83f6214936fbdee3e8f0e015311cd..cc0602789d4cba4e5976f69fddf935a03e074de4 100644 --- a/briar-core/src/net/sf/briar/invitation/ConnectorGroup.java +++ b/briar-core/src/net/sf/briar/invitation/ConnectorGroup.java @@ -2,7 +2,7 @@ package net.sf.briar.invitation; import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.WARNING; -import static net.sf.briar.api.plugins.InvitationConstants.CONFIRMATION_TIMEOUT; +import static net.sf.briar.api.invitation.InvitationConstants.CONFIRMATION_TIMEOUT; import java.util.ArrayList; import java.util.Collection; diff --git a/briar-core/src/net/sf/briar/messaging/AuthorReader.java b/briar-core/src/net/sf/briar/messaging/AuthorReader.java index 6a04f0d5e18ab318e185edef403eba0d8da4ca28..a2123b43787a106ca04022f2e8a2399d6704bf1b 100644 --- a/briar-core/src/net/sf/briar/messaging/AuthorReader.java +++ b/briar-core/src/net/sf/briar/messaging/AuthorReader.java @@ -1,7 +1,7 @@ package net.sf.briar.messaging; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_AUTHOR_NAME_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_PUBLIC_KEY_LENGTH; +import static net.sf.briar.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; +import static net.sf.briar.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; import static net.sf.briar.api.messaging.Types.AUTHOR; import java.io.IOException; diff --git a/briar-core/src/net/sf/briar/messaging/GroupReader.java b/briar-core/src/net/sf/briar/messaging/GroupReader.java index c594a7f6ff7a5ecf636bd84055fd6f35529fe06a..ac3b20583d0f8afb6f2dd49d042dce6b0a638e00 100644 --- a/briar-core/src/net/sf/briar/messaging/GroupReader.java +++ b/briar-core/src/net/sf/briar/messaging/GroupReader.java @@ -1,7 +1,7 @@ package net.sf.briar.messaging; +import static net.sf.briar.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_PUBLIC_KEY_LENGTH; import static net.sf.briar.api.messaging.Types.GROUP; import java.io.IOException; diff --git a/briar-core/src/net/sf/briar/messaging/MessageFactoryImpl.java b/briar-core/src/net/sf/briar/messaging/MessageFactoryImpl.java index 5eb28cc36462d5595ea9bbd28883b1bcef94d548..a04838b789014e0b8ce95ced7b497ca97af97f1d 100644 --- a/briar-core/src/net/sf/briar/messaging/MessageFactoryImpl.java +++ b/briar-core/src/net/sf/briar/messaging/MessageFactoryImpl.java @@ -1,9 +1,9 @@ package net.sf.briar.messaging; +import static net.sf.briar.api.AuthorConstants.MAX_SIGNATURE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_BODY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_SIGNATURE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_SUBJECT_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.SALT_LENGTH; import static net.sf.briar.api.messaging.Types.AUTHOR; diff --git a/briar-core/src/net/sf/briar/messaging/MessageReader.java b/briar-core/src/net/sf/briar/messaging/MessageReader.java index 5c39e0eede79cbdfcf25887044a3aec177b132d8..2a5397cd6798eb702afdc0a54fd43016e82b8c0c 100644 --- a/briar-core/src/net/sf/briar/messaging/MessageReader.java +++ b/briar-core/src/net/sf/briar/messaging/MessageReader.java @@ -1,9 +1,9 @@ package net.sf.briar.messaging; +import static net.sf.briar.api.AuthorConstants.MAX_SIGNATURE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_BODY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_SIGNATURE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_SUBJECT_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.SALT_LENGTH; import static net.sf.briar.api.messaging.Types.MESSAGE; diff --git a/briar-core/src/net/sf/briar/messaging/PacketReaderImpl.java b/briar-core/src/net/sf/briar/messaging/PacketReaderImpl.java index f5eaa98e48be9a3d017fc7cdd2f6f44fbed3b7f6..682f1824d5874c2e33f1228dfe1248c07b04f952 100644 --- a/briar-core/src/net/sf/briar/messaging/PacketReaderImpl.java +++ b/briar-core/src/net/sf/briar/messaging/PacketReaderImpl.java @@ -1,8 +1,8 @@ package net.sf.briar.messaging; +import static net.sf.briar.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; +import static net.sf.briar.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_PROPERTIES_PER_TRANSPORT; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_PROPERTY_LENGTH; import static net.sf.briar.api.messaging.Types.ACK; import static net.sf.briar.api.messaging.Types.MESSAGE; import static net.sf.briar.api.messaging.Types.OFFER; diff --git a/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnection.java b/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnection.java index 18000e59c12152ed9c015367cbe4c80344eb522f..9e396f1103ff827f78dd30e19874adcec91f3e67 100644 --- a/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnection.java +++ b/briar-core/src/net/sf/briar/messaging/duplex/DuplexConnection.java @@ -24,9 +24,7 @@ import java.util.logging.Logger; import net.sf.briar.api.ContactId; import net.sf.briar.api.FormatException; import net.sf.briar.api.TransportId; -import net.sf.briar.api.crypto.CryptoExecutor; import net.sf.briar.api.db.DatabaseComponent; -import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.db.DbException; import net.sf.briar.api.db.event.ContactRemovedEvent; import net.sf.briar.api.db.event.DatabaseEvent; @@ -97,8 +95,7 @@ abstract class DuplexConnection implements DatabaseListener { private volatile PacketWriter writer = null; - DuplexConnection(@DatabaseExecutor Executor dbExecutor, - @CryptoExecutor Executor cryptoExecutor, + DuplexConnection(Executor dbExecutor, Executor cryptoExecutor, MessageVerifier messageVerifier, DatabaseComponent db, ConnectionRegistry connRegistry, ConnectionReaderFactory connReaderFactory, diff --git a/briar-core/src/net/sf/briar/messaging/duplex/IncomingDuplexConnection.java b/briar-core/src/net/sf/briar/messaging/duplex/IncomingDuplexConnection.java index 61fe58c97a7ae61d036bc4ddbe853afaeda39cf3..1ec9ad384fa8665bf9ca2bc6f259b44923ceec5f 100644 --- a/briar-core/src/net/sf/briar/messaging/duplex/IncomingDuplexConnection.java +++ b/briar-core/src/net/sf/briar/messaging/duplex/IncomingDuplexConnection.java @@ -3,9 +3,7 @@ package net.sf.briar.messaging.duplex; import java.io.IOException; import java.util.concurrent.Executor; -import net.sf.briar.api.crypto.CryptoExecutor; import net.sf.briar.api.db.DatabaseComponent; -import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.messaging.MessageVerifier; import net.sf.briar.api.messaging.PacketReaderFactory; import net.sf.briar.api.messaging.PacketWriterFactory; @@ -19,8 +17,7 @@ import net.sf.briar.api.transport.ConnectionWriterFactory; class IncomingDuplexConnection extends DuplexConnection { - IncomingDuplexConnection(@DatabaseExecutor Executor dbExecutor, - @CryptoExecutor Executor cryptoExecutor, + IncomingDuplexConnection(Executor dbExecutor, Executor cryptoExecutor, MessageVerifier messageVerifier, DatabaseComponent db, ConnectionRegistry connRegistry, ConnectionReaderFactory connReaderFactory, diff --git a/briar-core/src/net/sf/briar/messaging/duplex/OutgoingDuplexConnection.java b/briar-core/src/net/sf/briar/messaging/duplex/OutgoingDuplexConnection.java index e59adb983f933102ef8bafd437d005b01a5ce424..f1767773ceaaea6758acfe33c95e8dd71951344e 100644 --- a/briar-core/src/net/sf/briar/messaging/duplex/OutgoingDuplexConnection.java +++ b/briar-core/src/net/sf/briar/messaging/duplex/OutgoingDuplexConnection.java @@ -3,9 +3,7 @@ package net.sf.briar.messaging.duplex; import java.io.IOException; import java.util.concurrent.Executor; -import net.sf.briar.api.crypto.CryptoExecutor; import net.sf.briar.api.db.DatabaseComponent; -import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.messaging.MessageVerifier; import net.sf.briar.api.messaging.PacketReaderFactory; import net.sf.briar.api.messaging.PacketWriterFactory; @@ -19,8 +17,7 @@ import net.sf.briar.api.transport.ConnectionWriterFactory; class OutgoingDuplexConnection extends DuplexConnection { - OutgoingDuplexConnection(@DatabaseExecutor Executor dbExecutor, - @CryptoExecutor Executor cryptoExecutor, + OutgoingDuplexConnection(Executor dbExecutor, Executor cryptoExecutor, MessageVerifier messageVerifier, DatabaseComponent db, ConnectionRegistry connRegistry, ConnectionReaderFactory connReaderFactory, diff --git a/briar-core/src/net/sf/briar/messaging/simplex/IncomingSimplexConnection.java b/briar-core/src/net/sf/briar/messaging/simplex/IncomingSimplexConnection.java index 2ec4cd2d3be0d9282d4d2f48b905af3b22614841..8f829064c9c82ace60a5909426d598b28633c3fa 100644 --- a/briar-core/src/net/sf/briar/messaging/simplex/IncomingSimplexConnection.java +++ b/briar-core/src/net/sf/briar/messaging/simplex/IncomingSimplexConnection.java @@ -11,9 +11,7 @@ import java.util.logging.Logger; import net.sf.briar.api.ContactId; import net.sf.briar.api.FormatException; import net.sf.briar.api.TransportId; -import net.sf.briar.api.crypto.CryptoExecutor; import net.sf.briar.api.db.DatabaseComponent; -import net.sf.briar.api.db.DatabaseExecutor; import net.sf.briar.api.db.DbException; import net.sf.briar.api.messaging.Ack; import net.sf.briar.api.messaging.Message; @@ -50,8 +48,7 @@ class IncomingSimplexConnection { private final ContactId contactId; private final TransportId transportId; - IncomingSimplexConnection(@DatabaseExecutor Executor dbExecutor, - @CryptoExecutor Executor cryptoExecutor, + IncomingSimplexConnection(Executor dbExecutor, Executor cryptoExecutor, MessageVerifier messageVerifier, DatabaseComponent db, ConnectionRegistry connRegistry, ConnectionReaderFactory connReaderFactory, diff --git a/briar-core/src/net/sf/briar/plugins/PluginsModule.java b/briar-core/src/net/sf/briar/plugins/PluginsModule.java index f6b18cf20b408a2a6f50f886016fc5dc0fa0d074..63c3ee0bb3db9946fa60e54ec6b421e4a36ca428 100644 --- a/briar-core/src/net/sf/briar/plugins/PluginsModule.java +++ b/briar-core/src/net/sf/briar/plugins/PluginsModule.java @@ -33,9 +33,9 @@ public class PluginsModule extends AbstractModule { @Override protected void configure() { // The executor is unbounded, so tasks can be dependent or long-lived + ExecutorService e = Executors.newCachedThreadPool(); bind(ExecutorService.class).annotatedWith( - PluginExecutor.class).toInstance( - Executors.newCachedThreadPool()); + PluginExecutor.class).toInstance(e); bind(PluginManager.class).to( PluginManagerImpl.class).in(Singleton.class); bind(Poller.class).to(PollerImpl.class); diff --git a/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java b/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java index 61ae77f5196bb0dacd5307620e5a35dbb9f911ac..d9417b54ff06b857b4e44fce26ed615407cec375 100644 --- a/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPlugin.java @@ -30,7 +30,6 @@ import net.sf.briar.api.TransportId; import net.sf.briar.api.TransportProperties; import net.sf.briar.api.clock.Clock; import net.sf.briar.api.crypto.PseudoRandom; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; @@ -64,7 +63,7 @@ class BluetoothPlugin implements DuplexPlugin { // Non-null if running has ever been true private volatile LocalDevice localDevice = null; - BluetoothPlugin(@PluginExecutor Executor pluginExecutor, Clock clock, + BluetoothPlugin(Executor pluginExecutor, Clock clock, SecureRandom secureRandom, DuplexPluginCallback callback, long maxLatency, long pollingInterval) { this.pluginExecutor = pluginExecutor; diff --git a/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java b/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java index 4a07399189a1962f785dbc3ef05b306e34cd71f1..48611f8fd10ccd07c42324add599dd0d25010cdd 100644 --- a/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/bluetooth/BluetoothPluginFactory.java @@ -6,7 +6,6 @@ import java.util.concurrent.Executor; import net.sf.briar.api.TransportId; import net.sf.briar.api.clock.Clock; import net.sf.briar.api.clock.SystemClock; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; @@ -20,7 +19,7 @@ public class BluetoothPluginFactory implements DuplexPluginFactory { private final SecureRandom secureRandom; private final Clock clock; - public BluetoothPluginFactory(@PluginExecutor Executor pluginExecutor, + public BluetoothPluginFactory(Executor pluginExecutor, SecureRandom secureRandom) { this.pluginExecutor = pluginExecutor; this.secureRandom = secureRandom; diff --git a/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPlugin.java b/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPlugin.java index 25e3b673d852062b342285010fded74dd4afe501..5af3422c981e01fa0ad8f1ec3e189b4f51aee25d 100644 --- a/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPlugin.java @@ -28,7 +28,6 @@ import net.sf.briar.api.TransportId; import net.sf.briar.api.TransportProperties; import net.sf.briar.api.android.AndroidExecutor; import net.sf.briar.api.crypto.PseudoRandom; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; @@ -70,10 +69,10 @@ class DroidtoothPlugin implements DuplexPlugin { // Non-null if running has ever been true private volatile BluetoothAdapter adapter = null; - DroidtoothPlugin(@PluginExecutor Executor pluginExecutor, - AndroidExecutor androidExecutor, Context appContext, - SecureRandom secureRandom, DuplexPluginCallback callback, - long maxLatency, long pollingInterval) { + DroidtoothPlugin(Executor pluginExecutor, AndroidExecutor androidExecutor, + Context appContext, SecureRandom secureRandom, + DuplexPluginCallback callback, long maxLatency, + long pollingInterval) { this.pluginExecutor = pluginExecutor; this.androidExecutor = androidExecutor; this.appContext = appContext; diff --git a/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPluginFactory.java b/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPluginFactory.java index 078b8b8cde8478bf6214964f7a876c1a0feea4e2..bb884bdd5a4665bf6e75bba408395ad5ab7e0dcc 100644 --- a/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/droidtooth/DroidtoothPluginFactory.java @@ -5,7 +5,6 @@ import java.util.concurrent.Executor; import net.sf.briar.api.TransportId; import net.sf.briar.api.android.AndroidExecutor; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; @@ -21,7 +20,7 @@ public class DroidtoothPluginFactory implements DuplexPluginFactory { private final Context appContext; private final SecureRandom secureRandom; - public DroidtoothPluginFactory(@PluginExecutor Executor pluginExecutor, + public DroidtoothPluginFactory(Executor pluginExecutor, AndroidExecutor androidExecutor, Context appContext, SecureRandom secureRandom) { this.pluginExecutor = pluginExecutor; diff --git a/briar-core/src/net/sf/briar/plugins/file/FilePlugin.java b/briar-core/src/net/sf/briar/plugins/file/FilePlugin.java index d72d4ee8ba796e5759b8e2b61905f7f1db35ff66..8adc969260ac0c8c61307880b4dd4a0533a74d41 100644 --- a/briar-core/src/net/sf/briar/plugins/file/FilePlugin.java +++ b/briar-core/src/net/sf/briar/plugins/file/FilePlugin.java @@ -13,7 +13,6 @@ import java.util.concurrent.Executor; import java.util.logging.Logger; import net.sf.briar.api.ContactId; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.simplex.SimplexPlugin; import net.sf.briar.api.plugins.simplex.SimplexPluginCallback; import net.sf.briar.api.plugins.simplex.SimplexTransportReader; @@ -37,7 +36,7 @@ public abstract class FilePlugin implements SimplexPlugin { protected abstract void writerFinished(File f); protected abstract void readerFinished(File f); - protected FilePlugin(@PluginExecutor Executor pluginExecutor, + protected FilePlugin(Executor pluginExecutor, SimplexPluginCallback callback, long maxLatency) { this.pluginExecutor = pluginExecutor; this.callback = callback; diff --git a/briar-core/src/net/sf/briar/plugins/file/PollingRemovableDriveMonitor.java b/briar-core/src/net/sf/briar/plugins/file/PollingRemovableDriveMonitor.java index df0df7e2c5bce4778298d963d8e00e436d27db65..b6d4b0f690bd92e7876f5812ef3855347d9f8948 100644 --- a/briar-core/src/net/sf/briar/plugins/file/PollingRemovableDriveMonitor.java +++ b/briar-core/src/net/sf/briar/plugins/file/PollingRemovableDriveMonitor.java @@ -8,8 +8,6 @@ import java.util.Collection; import java.util.concurrent.Executor; import java.util.logging.Logger; -import net.sf.briar.api.plugins.PluginExecutor; - class PollingRemovableDriveMonitor implements RemovableDriveMonitor, Runnable { private static final Logger LOG = @@ -23,7 +21,7 @@ class PollingRemovableDriveMonitor implements RemovableDriveMonitor, Runnable { private volatile boolean running = false; private volatile Callback callback = null; - public PollingRemovableDriveMonitor(@PluginExecutor Executor pluginExecutor, + public PollingRemovableDriveMonitor(Executor pluginExecutor, RemovableDriveFinder finder, long pollingInterval) { this.pluginExecutor = pluginExecutor; this.finder = finder; diff --git a/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePlugin.java b/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePlugin.java index 112377f23697c4153454a06382bb5163a822e336..f406993c1a18a7063c58ea936cdfc33bbbeceb75 100644 --- a/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePlugin.java +++ b/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePlugin.java @@ -13,7 +13,6 @@ import java.util.logging.Logger; import net.sf.briar.api.ContactId; import net.sf.briar.api.TransportId; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.simplex.SimplexPluginCallback; import net.sf.briar.util.StringUtils; @@ -32,7 +31,7 @@ implements RemovableDriveMonitor.Callback { private final RemovableDriveFinder finder; private final RemovableDriveMonitor monitor; - RemovableDrivePlugin(@PluginExecutor Executor pluginExecutor, + RemovableDrivePlugin(Executor pluginExecutor, SimplexPluginCallback callback, RemovableDriveFinder finder, RemovableDriveMonitor monitor, long maxLatency) { super(pluginExecutor, callback, maxLatency); diff --git a/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java b/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java index 41e909825db053f0da71a6bdf31ac8b85581822c..0823a13d310dc2147f2b49411c68a3da547008ee 100644 --- a/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/file/RemovableDrivePluginFactory.java @@ -3,7 +3,6 @@ package net.sf.briar.plugins.file; import java.util.concurrent.Executor; import net.sf.briar.api.TransportId; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.simplex.SimplexPlugin; import net.sf.briar.api.plugins.simplex.SimplexPluginCallback; import net.sf.briar.api.plugins.simplex.SimplexPluginFactory; @@ -17,8 +16,7 @@ public class RemovableDrivePluginFactory implements SimplexPluginFactory { private final Executor pluginExecutor; - public RemovableDrivePluginFactory( - @PluginExecutor Executor pluginExecutor) { + public RemovableDrivePluginFactory(Executor pluginExecutor) { this.pluginExecutor = pluginExecutor; } diff --git a/briar-core/src/net/sf/briar/plugins/modem/ModemPlugin.java b/briar-core/src/net/sf/briar/plugins/modem/ModemPlugin.java index b0f245fb8005cbea01a6945948109da23563f607..5cf653eed4e9f8f780b7d2bc322c8ba31f56c4ac 100644 --- a/briar-core/src/net/sf/briar/plugins/modem/ModemPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/modem/ModemPlugin.java @@ -20,7 +20,6 @@ import net.sf.briar.api.ContactId; import net.sf.briar.api.TransportId; import net.sf.briar.api.TransportProperties; import net.sf.briar.api.crypto.PseudoRandom; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; @@ -47,10 +46,9 @@ class ModemPlugin implements DuplexPlugin, Modem.Callback { private volatile boolean running = false; private volatile Modem modem = null; - ModemPlugin(@PluginExecutor Executor pluginExecutor, - ModemFactory modemFactory, SerialPortList serialPortList, - DuplexPluginCallback callback, long maxLatency, - long pollingInterval, boolean shuffle) { + ModemPlugin(Executor pluginExecutor, ModemFactory modemFactory, + SerialPortList serialPortList, DuplexPluginCallback callback, + long maxLatency, long pollingInterval, boolean shuffle) { this.pluginExecutor = pluginExecutor; this.modemFactory = modemFactory; this.serialPortList = serialPortList; diff --git a/briar-core/src/net/sf/briar/plugins/modem/ModemPluginFactory.java b/briar-core/src/net/sf/briar/plugins/modem/ModemPluginFactory.java index d753fb88647f860532bd3962467680380b46bca6..c09e67d6f239012197527081ba800c85a7afb41d 100644 --- a/briar-core/src/net/sf/briar/plugins/modem/ModemPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/modem/ModemPluginFactory.java @@ -3,7 +3,6 @@ package net.sf.briar.plugins.modem; import java.util.concurrent.Executor; import net.sf.briar.api.TransportId; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; @@ -19,7 +18,7 @@ public class ModemPluginFactory implements DuplexPluginFactory { private final ModemFactory modemFactory; private final SerialPortList serialPortList; - public ModemPluginFactory(@PluginExecutor Executor pluginExecutor, + public ModemPluginFactory(Executor pluginExecutor, ReliabilityLayerFactory reliabilityFactory) { this.pluginExecutor = pluginExecutor; modemFactory = new ModemFactoryImpl(pluginExecutor, reliabilityFactory); diff --git a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java index d0df485d8e3de42dd27fcf0d4b024fe2393c8cb1..7662479d47330f6a3d6b574c1a7f7a8825851d42 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPlugin.java @@ -25,7 +25,6 @@ import net.sf.briar.api.TransportId; import net.sf.briar.api.TransportProperties; import net.sf.briar.api.clock.Clock; import net.sf.briar.api.crypto.PseudoRandom; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.util.ByteUtils; @@ -45,7 +44,7 @@ class LanTcpPlugin extends TcpPlugin { private final Clock clock; - LanTcpPlugin(@PluginExecutor Executor pluginExecutor, Clock clock, + LanTcpPlugin(Executor pluginExecutor, Clock clock, DuplexPluginCallback callback, long maxLatency, long pollingInterval) { super(pluginExecutor, callback, maxLatency, pollingInterval); diff --git a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPluginFactory.java b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPluginFactory.java index 89d836199f6b8464bd80976e611a0fa0ecd95d3d..73e0b216851e423f3de323955a736a54c94ed83b 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/LanTcpPluginFactory.java @@ -5,7 +5,6 @@ import java.util.concurrent.Executor; import net.sf.briar.api.TransportId; import net.sf.briar.api.clock.Clock; import net.sf.briar.api.clock.SystemClock; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; @@ -18,7 +17,7 @@ public class LanTcpPluginFactory implements DuplexPluginFactory { private final Executor pluginExecutor; private final Clock clock; - public LanTcpPluginFactory(@PluginExecutor Executor pluginExecutor) { + public LanTcpPluginFactory(Executor pluginExecutor) { this.pluginExecutor = pluginExecutor; clock = new SystemClock(); } diff --git a/briar-core/src/net/sf/briar/plugins/tcp/TcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/TcpPlugin.java index bd129a6cc01c23480a16c8f5fdd8ad2479e545df..77e50e18f8986009cb826306983cbef3be44d9bb 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/TcpPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/TcpPlugin.java @@ -18,7 +18,6 @@ import java.util.logging.Logger; import net.sf.briar.api.ContactId; import net.sf.briar.api.TransportProperties; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; @@ -42,9 +41,8 @@ abstract class TcpPlugin implements DuplexPlugin { */ protected abstract List<SocketAddress> getLocalSocketAddresses(); - protected TcpPlugin(@PluginExecutor Executor pluginExecutor, - DuplexPluginCallback callback, long maxLatency, - long pollingInterval) { + protected TcpPlugin(Executor pluginExecutor, DuplexPluginCallback callback, + long maxLatency, long pollingInterval) { this.pluginExecutor = pluginExecutor; this.callback = callback; this.maxLatency = maxLatency; diff --git a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java index f133b5fa34e16679343c4fccb73c311aea3af8f4..e5396a4f1bef22a3f5c01de57d46f026cd5770b7 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPlugin.java @@ -17,7 +17,6 @@ import java.util.logging.Logger; import net.sf.briar.api.TransportId; import net.sf.briar.api.TransportProperties; import net.sf.briar.api.crypto.PseudoRandom; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexTransportConnection; import net.sf.briar.util.StringUtils; @@ -37,9 +36,8 @@ class WanTcpPlugin extends TcpPlugin { private volatile MappingResult mappingResult; - WanTcpPlugin(@PluginExecutor Executor pluginExecutor, - DuplexPluginCallback callback, long maxLatency, - long pollingInterval, PortMapper portMapper) { + WanTcpPlugin(Executor pluginExecutor, DuplexPluginCallback callback, + long maxLatency, long pollingInterval, PortMapper portMapper) { super(pluginExecutor, callback, maxLatency, pollingInterval); this.portMapper = portMapper; } diff --git a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPluginFactory.java b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPluginFactory.java index 33f3f5abf7e3c9bcea87081aba68eb3d00beb4c3..23bf0dc0ae854c9ddd5dcd8415406606e4a8ffc8 100644 --- a/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPluginFactory.java +++ b/briar-core/src/net/sf/briar/plugins/tcp/WanTcpPluginFactory.java @@ -4,7 +4,6 @@ import java.util.concurrent.Executor; import net.sf.briar.api.TransportId; import net.sf.briar.api.lifecycle.ShutdownManager; -import net.sf.briar.api.plugins.PluginExecutor; import net.sf.briar.api.plugins.duplex.DuplexPlugin; import net.sf.briar.api.plugins.duplex.DuplexPluginCallback; import net.sf.briar.api.plugins.duplex.DuplexPluginFactory; @@ -17,7 +16,7 @@ public class WanTcpPluginFactory implements DuplexPluginFactory { private final Executor pluginExecutor; private final ShutdownManager shutdownManager; - public WanTcpPluginFactory(@PluginExecutor Executor pluginExecutor, + public WanTcpPluginFactory(Executor pluginExecutor, ShutdownManager shutdownManager) { this.pluginExecutor = pluginExecutor; this.shutdownManager = shutdownManager; diff --git a/briar-core/src/net/sf/briar/reliability/ReliabilityModule.java b/briar-core/src/net/sf/briar/reliability/ReliabilityModule.java index 784d14360bfb097498fb5fc1058e084568dbd707..c28d2c2b70f105383134f40cb8d5ff2749847d84 100644 --- a/briar-core/src/net/sf/briar/reliability/ReliabilityModule.java +++ b/briar-core/src/net/sf/briar/reliability/ReliabilityModule.java @@ -13,9 +13,9 @@ public class ReliabilityModule extends AbstractModule { @Override protected void configure() { // The executor is unbounded - tasks are expected to be long-lived + Executor e = Executors.newCachedThreadPool(); bind(Executor.class).annotatedWith( - ReliabilityExecutor.class).toInstance( - Executors.newCachedThreadPool()); + ReliabilityExecutor.class).toInstance(e); bind(ReliabilityLayerFactory.class).to( ReliabilityLayerFactoryImpl.class); } diff --git a/briar-core/src/net/sf/briar/transport/TransportModule.java b/briar-core/src/net/sf/briar/transport/TransportModule.java index 931a5554bbe37f5dadad4b2668ea67579046b03c..3bd2fa4adeeb42460dc423d57dd16868dd737e63 100644 --- a/briar-core/src/net/sf/briar/transport/TransportModule.java +++ b/briar-core/src/net/sf/briar/transport/TransportModule.java @@ -27,9 +27,9 @@ public class TransportModule extends AbstractModule { bind(ConnectionWriterFactory.class).to( ConnectionWriterFactoryImpl.class); // The executor is unbounded, so tasks can be dependent or long-lived + Executor e = Executors.newCachedThreadPool(); bind(Executor.class).annotatedWith( - IncomingConnectionExecutor.class).toInstance( - Executors.newCachedThreadPool()); + IncomingConnectionExecutor.class).toInstance(e); bind(KeyManager.class).to(KeyManagerImpl.class).in(Singleton.class); } } diff --git a/briar-tests/src/net/sf/briar/messaging/ConstantsTest.java b/briar-tests/src/net/sf/briar/messaging/ConstantsTest.java index 7d454d68d20e065f438544f5805a18f99f38b3e8..3f2545579192fb87c0b2775516685373c5e1e648 100644 --- a/briar-tests/src/net/sf/briar/messaging/ConstantsTest.java +++ b/briar-tests/src/net/sf/briar/messaging/ConstantsTest.java @@ -1,14 +1,14 @@ package net.sf.briar.messaging; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_AUTHOR_NAME_LENGTH; +import static net.sf.briar.api.AuthorConstants.MAX_AUTHOR_NAME_LENGTH; +import static net.sf.briar.api.AuthorConstants.MAX_PUBLIC_KEY_LENGTH; +import static net.sf.briar.api.AuthorConstants.MAX_SIGNATURE_LENGTH; +import static net.sf.briar.api.TransportPropertyConstants.MAX_PROPERTIES_PER_TRANSPORT; +import static net.sf.briar.api.TransportPropertyConstants.MAX_PROPERTY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_BODY_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_CONTENT_TYPE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_GROUP_NAME_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_PACKET_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_PROPERTIES_PER_TRANSPORT; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_PROPERTY_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_PUBLIC_KEY_LENGTH; -import static net.sf.briar.api.messaging.MessagingConstants.MAX_SIGNATURE_LENGTH; import static net.sf.briar.api.messaging.MessagingConstants.MAX_SUBSCRIPTIONS; import java.io.ByteArrayOutputStream; @@ -88,7 +88,7 @@ public class ConstantsTest extends BriarTestCase { byte[] publicKey = keyPair.getPublic().getEncoded(); assertTrue(publicKey.length <= MAX_PUBLIC_KEY_LENGTH); // Sign some random data and check the length of the signature - byte[] toBeSigned = new byte[100]; + byte[] toBeSigned = new byte[1000]; random.nextBytes(toBeSigned); sig.initSign(keyPair.getPrivate()); sig.update(toBeSigned); diff --git a/briar-tests/src/net/sf/briar/plugins/DuplexClientTest.java b/briar-tests/src/net/sf/briar/plugins/DuplexClientTest.java index a9399ca429955e05cd12980c6babf99a7c28db25..d00d83906602ddfc73e680b5a0a81e294565efc5 100644 --- a/briar-tests/src/net/sf/briar/plugins/DuplexClientTest.java +++ b/briar-tests/src/net/sf/briar/plugins/DuplexClientTest.java @@ -1,6 +1,6 @@ package net.sf.briar.plugins; -import static net.sf.briar.api.plugins.InvitationConstants.CONNECTION_TIMEOUT; +import static net.sf.briar.api.invitation.InvitationConstants.CONNECTION_TIMEOUT; import java.io.IOException; import java.util.Map; diff --git a/briar-tests/src/net/sf/briar/plugins/DuplexServerTest.java b/briar-tests/src/net/sf/briar/plugins/DuplexServerTest.java index d4f296c1ebcf3f49ad5873e147660b63afdb2e4a..f6bfc4b19c3f7878a772edda8839905cd2cc40ce 100644 --- a/briar-tests/src/net/sf/briar/plugins/DuplexServerTest.java +++ b/briar-tests/src/net/sf/briar/plugins/DuplexServerTest.java @@ -1,7 +1,7 @@ package net.sf.briar.plugins; import static java.util.concurrent.TimeUnit.SECONDS; -import static net.sf.briar.api.plugins.InvitationConstants.CONNECTION_TIMEOUT; +import static net.sf.briar.api.invitation.InvitationConstants.CONNECTION_TIMEOUT; import java.util.Map; import java.util.concurrent.CountDownLatch;