diff --git a/briar-android/src/org/briarproject/android/NavDrawerActivity.java b/briar-android/src/org/briarproject/android/NavDrawerActivity.java index cc2fbbcbfbfec5a7602137308b052a6966591843..c80310aa0cac726e87c3c3801544a8cd611018f3 100644 --- a/briar-android/src/org/briarproject/android/NavDrawerActivity.java +++ b/briar-android/src/org/briarproject/android/NavDrawerActivity.java @@ -29,6 +29,9 @@ import org.briarproject.android.forum.ForumListFragment; import org.briarproject.android.fragment.BaseFragment.BaseFragmentListener; import org.briarproject.android.privategroup.list.GroupListFragment; import org.briarproject.api.TransportId; +import org.briarproject.api.plugins.BluetoothConstants; +import org.briarproject.api.plugins.LanTcpConstants; +import org.briarproject.api.plugins.TorConstants; import java.util.ArrayList; import java.util.List; @@ -230,21 +233,21 @@ public class NavDrawerActivity extends BriarFragmentActivity implements transports = new ArrayList<>(3); Transport tor = new Transport(); - tor.id = new TransportId("tor"); + tor.id = TorConstants.ID; tor.enabled = controller.isTransportRunning(tor.id); tor.iconId = R.drawable.transport_tor; tor.textId = R.string.transport_tor; transports.add(tor); Transport bt = new Transport(); - bt.id = new TransportId("bt"); + bt.id = BluetoothConstants.ID; bt.enabled = controller.isTransportRunning(bt.id); bt.iconId = R.drawable.transport_bt; bt.textId = R.string.transport_bt; transports.add(bt); Transport lan = new Transport(); - lan.id = new TransportId("lan"); + lan.id = LanTcpConstants.ID; lan.enabled = controller.isTransportRunning(lan.id); lan.iconId = R.drawable.transport_lan; lan.textId = R.string.transport_lan; diff --git a/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java b/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java index f60e52bebb514e3ac016d077b7590215a1cf1356..7805acd868c020b2e0aca31e232246fd2ec67253 100644 --- a/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java +++ b/briar-android/src/org/briarproject/plugins/droidtooth/DroidtoothPlugin.java @@ -65,26 +65,23 @@ import static java.util.concurrent.TimeUnit.MILLISECONDS; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static org.briarproject.api.keyagreement.KeyAgreementConstants.TRANSPORT_ID_BLUETOOTH; +import static org.briarproject.api.plugins.BluetoothConstants.ID; +import static org.briarproject.api.plugins.BluetoothConstants.PROP_ADDRESS; +import static org.briarproject.api.plugins.BluetoothConstants.PROP_UUID; +import static org.briarproject.api.plugins.BluetoothConstants.UUID_BYTES; import static org.briarproject.util.PrivacyUtils.scrubMacAddress; @MethodsNotNullByDefault @ParametersNotNullByDefault class DroidtoothPlugin implements DuplexPlugin { - // Share an ID with the J2SE Bluetooth plugin - static final TransportId ID = new TransportId("bt"); - private static final Logger LOG = Logger.getLogger(DroidtoothPlugin.class.getName()); - private static final int UUID_BYTES = 16; private static final String FOUND = "android.bluetooth.device.action.FOUND"; private static final String DISCOVERY_FINISHED = "android.bluetooth.adapter.action.DISCOVERY_FINISHED"; - private static final String PROP_ADDRESS = "address"; - private static final String PROP_UUID = "uuid"; - private final Executor ioExecutor; private final AndroidExecutor androidExecutor; private final Context appContext; @@ -315,6 +312,7 @@ class DroidtoothPlugin implements DuplexPlugin { } } + @Nullable private BluetoothSocket connect(String address, String uuid) { // Validate the address if (!BluetoothAdapter.checkBluetoothAddress(address)) { @@ -646,7 +644,7 @@ class DroidtoothPlugin implements DuplexPlugin { private final BluetoothServerSocket ss; - BluetoothKeyAgreementListener(BdfList descriptor, + private BluetoothKeyAgreementListener(BdfList descriptor, BluetoothServerSocket ss) { super(descriptor); this.ss = ss; diff --git a/briar-api/src/org/briarproject/api/TransportId.java b/briar-api/src/org/briarproject/api/TransportId.java index 94e21cfa5d07964877f693213659a33dfc929f1e..b0ad34b094df5fa81e6e9ba388b863f5542073ad 100644 --- a/briar-api/src/org/briarproject/api/TransportId.java +++ b/briar-api/src/org/briarproject/api/TransportId.java @@ -10,7 +10,7 @@ public class TransportId { /** * The maximum length of transport identifier in UTF-8 bytes. */ - public static int MAX_TRANSPORT_ID_LENGTH = 10; + public static int MAX_TRANSPORT_ID_LENGTH = 64; private final String id; diff --git a/briar-api/src/org/briarproject/api/plugins/BluetoothConstants.java b/briar-api/src/org/briarproject/api/plugins/BluetoothConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..3708df560a586a979f3b1858b1eb970ca383ba53 --- /dev/null +++ b/briar-api/src/org/briarproject/api/plugins/BluetoothConstants.java @@ -0,0 +1,14 @@ +package org.briarproject.api.plugins; + +import org.briarproject.api.TransportId; + +public interface BluetoothConstants { + + TransportId ID = new TransportId("org.briarproject.bramble.bluetooth"); + + int UUID_BYTES = 16; + + String PROP_ADDRESS = "address"; + String PROP_UUID = "uuid"; + +} diff --git a/briar-api/src/org/briarproject/api/plugins/LanTcpConstants.java b/briar-api/src/org/briarproject/api/plugins/LanTcpConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..6ea2ceb514bd4689947e1de9be569d91afd8a95c --- /dev/null +++ b/briar-api/src/org/briarproject/api/plugins/LanTcpConstants.java @@ -0,0 +1,9 @@ +package org.briarproject.api.plugins; + +import org.briarproject.api.TransportId; + +public interface LanTcpConstants { + + TransportId ID = new TransportId("org.briarproject.bramble.lan"); + +} diff --git a/briar-api/src/org/briarproject/api/plugins/TorConstants.java b/briar-api/src/org/briarproject/api/plugins/TorConstants.java index f90e047bb00c1374ea0884775a60a280e1116c99..27624c7a8d55e2ea391a16bb12e84d41e0a3c76a 100644 --- a/briar-api/src/org/briarproject/api/plugins/TorConstants.java +++ b/briar-api/src/org/briarproject/api/plugins/TorConstants.java @@ -4,7 +4,7 @@ import org.briarproject.api.TransportId; public interface TorConstants { - TransportId ID = new TransportId("tor"); + TransportId ID = new TransportId("org.briarproject.bramble.tor"); int SOCKS_PORT = 59050; int CONTROL_PORT = 59051; diff --git a/briar-api/src/org/briarproject/api/plugins/WanTcpConstants.java b/briar-api/src/org/briarproject/api/plugins/WanTcpConstants.java new file mode 100644 index 0000000000000000000000000000000000000000..cf8f649486c702730291c1e887c9f03853437435 --- /dev/null +++ b/briar-api/src/org/briarproject/api/plugins/WanTcpConstants.java @@ -0,0 +1,9 @@ +package org.briarproject.api.plugins; + +import org.briarproject.api.TransportId; + +public interface WanTcpConstants { + + TransportId ID = new TransportId("org.briarproject.bramble.wan"); + +} diff --git a/briar-core/src/org/briarproject/keyagreement/PayloadParserImpl.java b/briar-core/src/org/briarproject/keyagreement/PayloadParserImpl.java index 1f9b656357ba0394c97ccf94d8ead30b95d19461..471e229fd71d109c1823b633b70a35048cc64523 100644 --- a/briar-core/src/org/briarproject/keyagreement/PayloadParserImpl.java +++ b/briar-core/src/org/briarproject/keyagreement/PayloadParserImpl.java @@ -9,6 +9,8 @@ import org.briarproject.api.keyagreement.Payload; import org.briarproject.api.keyagreement.PayloadParser; import org.briarproject.api.keyagreement.TransportDescriptor; import org.briarproject.api.nullsafety.NotNullByDefault; +import org.briarproject.api.plugins.BluetoothConstants; +import org.briarproject.api.plugins.TorConstants; import java.io.ByteArrayInputStream; import java.io.IOException; @@ -55,10 +57,10 @@ class PayloadParserImpl implements PayloadParser { BdfList descriptor = payload.getList(i); long transportId = descriptor.getLong(0); if (transportId == TRANSPORT_ID_BLUETOOTH) { - TransportId id = new TransportId("bt"); + TransportId id = BluetoothConstants.ID; recognised.add(new TransportDescriptor(id, descriptor)); } else if (transportId == TRANSPORT_ID_LAN) { - TransportId id = new TransportId("lan"); + TransportId id = TorConstants.ID; recognised.add(new TransportDescriptor(id, descriptor)); } } diff --git a/briar-core/src/org/briarproject/plugins/tcp/LanTcpPlugin.java b/briar-core/src/org/briarproject/plugins/tcp/LanTcpPlugin.java index e3527f74dd52129501dbc42b183677c5b91a53d5..f60a0a743c8f922809bb6ffc7e4b31712eae5018 100644 --- a/briar-core/src/org/briarproject/plugins/tcp/LanTcpPlugin.java +++ b/briar-core/src/org/briarproject/plugins/tcp/LanTcpPlugin.java @@ -33,14 +33,13 @@ import java.util.logging.Logger; import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static org.briarproject.api.keyagreement.KeyAgreementConstants.TRANSPORT_ID_LAN; +import static org.briarproject.api.plugins.LanTcpConstants.ID; import static org.briarproject.util.ByteUtils.MAX_16_BIT_UNSIGNED; import static org.briarproject.util.PrivacyUtils.scrubSocketAddress; @NotNullByDefault class LanTcpPlugin extends TcpPlugin { - static final TransportId ID = new TransportId("lan"); - private static final Logger LOG = Logger.getLogger(LanTcpPlugin.class.getName()); diff --git a/briar-core/src/org/briarproject/plugins/tcp/LanTcpPluginFactory.java b/briar-core/src/org/briarproject/plugins/tcp/LanTcpPluginFactory.java index 541b8ad5ff4b9cc772f0d262cae36d23f6b8cd4e..2818666b0be276848ce7f14c32d83597eefd0ca7 100644 --- a/briar-core/src/org/briarproject/plugins/tcp/LanTcpPluginFactory.java +++ b/briar-core/src/org/briarproject/plugins/tcp/LanTcpPluginFactory.java @@ -9,6 +9,8 @@ import org.briarproject.api.plugins.duplex.DuplexPluginFactory; import java.util.concurrent.Executor; +import static org.briarproject.api.plugins.LanTcpConstants.ID; + public class LanTcpPluginFactory implements DuplexPluginFactory { private static final int MAX_LATENCY = 30 * 1000; // 30 seconds @@ -28,7 +30,7 @@ public class LanTcpPluginFactory implements DuplexPluginFactory { @Override public TransportId getId() { - return LanTcpPlugin.ID; + return ID; } @Override diff --git a/briar-core/src/org/briarproject/plugins/tcp/WanTcpPlugin.java b/briar-core/src/org/briarproject/plugins/tcp/WanTcpPlugin.java index 3f297d14825d9f5120bd15461f1a310ee86494b0..f51767af60a472dbc78e175857ba9bf888d35df6 100644 --- a/briar-core/src/org/briarproject/plugins/tcp/WanTcpPlugin.java +++ b/briar-core/src/org/briarproject/plugins/tcp/WanTcpPlugin.java @@ -16,12 +16,12 @@ import java.util.LinkedList; import java.util.List; import java.util.concurrent.Executor; +import static org.briarproject.api.plugins.WanTcpConstants.ID; + @MethodsNotNullByDefault @ParametersNotNullByDefault class WanTcpPlugin extends TcpPlugin { - static final TransportId ID = new TransportId("wan"); - private static final String PROP_IP_PORT = "ipPort"; private final PortMapper portMapper; diff --git a/briar-core/src/org/briarproject/plugins/tcp/WanTcpPluginFactory.java b/briar-core/src/org/briarproject/plugins/tcp/WanTcpPluginFactory.java index b5e2823ca7ab1e3959ff6e4952d847c08ddeaeb2..f1fd78bcf5127d375811ef95a4293b86c4f3ece4 100644 --- a/briar-core/src/org/briarproject/plugins/tcp/WanTcpPluginFactory.java +++ b/briar-core/src/org/briarproject/plugins/tcp/WanTcpPluginFactory.java @@ -10,6 +10,8 @@ import org.briarproject.api.plugins.duplex.DuplexPluginFactory; import java.util.concurrent.Executor; +import static org.briarproject.api.plugins.WanTcpConstants.ID; + public class WanTcpPluginFactory implements DuplexPluginFactory { private static final int MAX_LATENCY = 30 * 1000; // 30 seconds @@ -31,7 +33,7 @@ public class WanTcpPluginFactory implements DuplexPluginFactory { @Override public TransportId getId() { - return WanTcpPlugin.ID; + return ID; } @Override diff --git a/briar-desktop/src/org/briarproject/plugins/bluetooth/BluetoothPlugin.java b/briar-desktop/src/org/briarproject/plugins/bluetooth/BluetoothPlugin.java index c945ca8154803711a0cddf181c3ca5dd66a80403..81d5588abee5aed47caa12c812936cc6453774b2 100644 --- a/briar-desktop/src/org/briarproject/plugins/bluetooth/BluetoothPlugin.java +++ b/briar-desktop/src/org/briarproject/plugins/bluetooth/BluetoothPlugin.java @@ -49,20 +49,17 @@ import static java.util.logging.Level.INFO; import static java.util.logging.Level.WARNING; import static javax.bluetooth.DiscoveryAgent.GIAC; import static org.briarproject.api.keyagreement.KeyAgreementConstants.TRANSPORT_ID_BLUETOOTH; +import static org.briarproject.api.plugins.BluetoothConstants.ID; +import static org.briarproject.api.plugins.BluetoothConstants.PROP_ADDRESS; +import static org.briarproject.api.plugins.BluetoothConstants.PROP_UUID; +import static org.briarproject.api.plugins.BluetoothConstants.UUID_BYTES; @MethodsNotNullByDefault @ParametersNotNullByDefault class BluetoothPlugin implements DuplexPlugin { - // Share an ID with the Android Bluetooth plugin - static final TransportId ID = new TransportId("bt"); - private static final Logger LOG = Logger.getLogger(BluetoothPlugin.class.getName()); - private static final int UUID_BYTES = 16; - - private static final String PROP_ADDRESS = "address"; - private static final String PROP_UUID = "uuid"; private final Executor ioExecutor; private final SecureRandom secureRandom; @@ -507,7 +504,7 @@ class BluetoothPlugin implements DuplexPlugin { private final StreamConnectionNotifier ss; - BluetoothKeyAgreementListener(BdfList descriptor, + private BluetoothKeyAgreementListener(BdfList descriptor, StreamConnectionNotifier ss) { super(descriptor); this.ss = ss; diff --git a/briar-desktop/src/org/briarproject/plugins/bluetooth/BluetoothPluginFactory.java b/briar-desktop/src/org/briarproject/plugins/bluetooth/BluetoothPluginFactory.java index 1fd6648b3ba134ee6579a9476783c4fc12a357b0..fbe51e342fcedbdc92340fad78b5e1d8f6522419 100644 --- a/briar-desktop/src/org/briarproject/plugins/bluetooth/BluetoothPluginFactory.java +++ b/briar-desktop/src/org/briarproject/plugins/bluetooth/BluetoothPluginFactory.java @@ -10,6 +10,8 @@ import org.briarproject.api.plugins.duplex.DuplexPluginFactory; import java.security.SecureRandom; import java.util.concurrent.Executor; +import static org.briarproject.api.plugins.BluetoothConstants.ID; + public class BluetoothPluginFactory implements DuplexPluginFactory { private static final int MAX_LATENCY = 30 * 1000; // 30 seconds @@ -30,7 +32,7 @@ public class BluetoothPluginFactory implements DuplexPluginFactory { @Override public TransportId getId() { - return BluetoothPlugin.ID; + return ID; } @Override diff --git a/briar-desktop/src/org/briarproject/plugins/file/RemovableDrivePlugin.java b/briar-desktop/src/org/briarproject/plugins/file/RemovableDrivePlugin.java index 37728666d0e34e0e995f08a3d4cf80b2eb447003..a5dba602e096843a62d70ac3c6886055290b2053 100644 --- a/briar-desktop/src/org/briarproject/plugins/file/RemovableDrivePlugin.java +++ b/briar-desktop/src/org/briarproject/plugins/file/RemovableDrivePlugin.java @@ -19,7 +19,8 @@ import static java.util.logging.Level.WARNING; class RemovableDrivePlugin extends FilePlugin implements RemovableDriveMonitor.Callback { - static final TransportId ID = new TransportId("file"); + static final TransportId ID = + new TransportId("org.briarproject.bramble.file"); private static final Logger LOG = Logger.getLogger(RemovableDrivePlugin.class.getName()); diff --git a/briar-desktop/src/org/briarproject/plugins/modem/ModemPlugin.java b/briar-desktop/src/org/briarproject/plugins/modem/ModemPlugin.java index fe3b89e2c32f99139694d4e7fe519366d796f342..ae08ea3973793018a258302a3c972d9bce8a52ed 100644 --- a/briar-desktop/src/org/briarproject/plugins/modem/ModemPlugin.java +++ b/briar-desktop/src/org/briarproject/plugins/modem/ModemPlugin.java @@ -28,7 +28,8 @@ import static java.util.logging.Level.WARNING; @ParametersNotNullByDefault class ModemPlugin implements DuplexPlugin, Modem.Callback { - static final TransportId ID = new TransportId("modem"); + static final TransportId ID = + new TransportId("org.briarproject.bramble.modem"); private static final Logger LOG = Logger.getLogger(ModemPlugin.class.getName());