akwizgran
7a0e22d44c
Renamed clock API package and fixed a test.
2012-09-07 12:47:05 +01:00
akwizgran
960ead0247
Wrapped the system clock in an interface so it can be replaced in tests.
2012-09-06 17:21:03 +01:00
akwizgran
a9d196d511
Use the same method as Android to generate the Bluetooth UUID.
2012-08-22 11:53:41 +01:00
akwizgran
c316ebcf7a
Partial implementation of the invitation protocol (untested).
2012-02-23 23:18:25 +00:00
akwizgran
34cd8cddc3
Upgraded hash function to SHA-384 and MAC to HMAC-SHA-384.
...
This matches the security level of AES-256 according to NSA Suite B. To
better comply with Suite B we should replace the combination of CTR mode
and HMAC with GCM, which would reduce the MAC size from 48 to 16 bytes.
2012-02-22 13:17:07 +00:00
akwizgran
ec6f60b065
Tor plugin using Silvertunnel's Netlib (untested).
2012-02-06 22:30:07 +00:00
akwizgran
ab9b05448d
APIs for segmented transports.
2012-01-13 10:53:23 +00:00
akwizgran
99caec9448
Refactoring.
...
Unidirectional transports and connections are now called
simplex rather than batch. Bidirectional transports and connections
are now called duplex rather than stream.
2012-01-11 17:00:47 +00:00
akwizgran
3e61adb623
Avoid making alien calls with locks held.
2011-12-10 19:21:00 +00:00
akwizgran
e47d4990c3
Fixed Bluetooth shutdown issues.
2011-12-09 23:01:32 +00:00
akwizgran
5ba5887565
Debugging Bluetooth threading issues.
2011-12-09 22:20:32 +00:00
akwizgran
4671b50b37
Close the invitation socket early if a connection is received.
2011-12-09 21:36:53 +00:00
akwizgran
8af7e72943
Cancel outstanding tasks and shut down the executor.
2011-12-09 21:13:53 +00:00
akwizgran
cd068e89c0
Converted plugin executor to ScheduledExecutorService.
...
No Thread.sleep() till Brooklyn.
2011-12-09 21:02:36 +00:00
akwizgran
2014235b86
Log the server socket details to make it easier to run manual tests
...
between two machines.
2011-12-09 20:41:05 +00:00
akwizgran
f9f41acde9
Added a connection registry to avoid creating redundant connections.
2011-12-09 17:34:58 +00:00
akwizgran
9abe920edb
Plugin code cleanup.
2011-12-09 00:08:15 +00:00
akwizgran
2494ff1a1e
Let the plugin determine whether to flush the output stream after each
...
packet.
2011-12-08 22:13:35 +00:00
akwizgran
6962814eec
Log the exception class when logging exceptions.
2011-12-08 17:28:05 +00:00
akwizgran
9f0b865ba8
Plugins should use the executor rather than creating threads.
2011-12-08 16:57:24 +00:00
akwizgran
6e080bb35d
Dedicated executors for plugins and the connection recogniser.
2011-12-08 16:11:24 +00:00
akwizgran
d9fc8d18d1
Better handling of InterruptedExceptions.
2011-12-08 13:55:19 +00:00
akwizgran
28b9e399ae
Don't swallow interrupts.
2011-12-01 19:49:22 +00:00
akwizgran
7bf2ee64a8
Use immutable collections for thread safety.
2011-11-29 11:01:09 +00:00
akwizgran
b773660bca
Advertise the Bluetooth address if the device is discoverable in
...
either GIAC or LIAC mode.
2011-11-28 15:51:48 +00:00
akwizgran
4da7a685cd
Minor code cleanups.
2011-11-16 18:15:32 +00:00
akwizgran
73aa7d14d7
Split transport identifiers into two: TransportId (globally unique)
...
and TransportIndex (locally unique).
This is the first step towards forward secrecy. Also removed the
Writable interface and unnecessary user-defined types, moved various
constants to ProtocolConstants and renamed some classes.
2011-11-14 21:40:05 +00:00
akwizgran
7d09102c4d
Advertise the Bluetooth address if the device is discoverable.
2011-11-08 21:12:08 +00:00
akwizgran
531889bd1f
Log the local Bluetooth address.
2011-11-08 14:49:15 +00:00
akwizgran
7065f54a57
Prefer LAN interfaces for invitations, WAN for connections.
2011-10-30 22:26:23 +00:00
akwizgran
42ddfb444e
Added a method to check which plugins support invitations.
2011-10-29 09:52:07 +01:00
akwizgran
d2e1500ac1
Store the UUID in the local properties so it gets sent to contacts.
2011-10-28 13:17:17 +01:00
akwizgran
70c5d7ce75
Don't store the local address unless the device is discoverable.
2011-10-28 13:16:00 +01:00
akwizgran
0728f76933
Ignore case when comparing Bluetooth UUIDs.
2011-10-28 12:54:20 +01:00
akwizgran
df125bdcd2
Ignore case when comparing Bluetooth UUIDs.
2011-10-28 12:37:16 +01:00
akwizgran
48d638746c
Invitation API and two (untested) implementations.
2011-10-27 17:52:03 +01:00
akwizgran
55182528cf
Q: What does the plugin manager do? A: It manages plugins.
2011-10-14 14:49:29 +01:00
akwizgran
64e2d7bca9
Refactoring: shorter class names.
2011-10-12 17:25:37 +01:00
akwizgran
c5d9d9fa64
Minor concurrency cleanups.
2011-10-12 17:11:31 +01:00
akwizgran
3a07d1b882
Plugins don't need their own copies of configs and properties.
2011-10-12 16:52:39 +01:00
akwizgran
a49a95347f
Use dedicated classes for transport properties and configs.
2011-10-11 17:28:47 +01:00
akwizgran
4059fbf863
Moved plugin API from transport package to plugins package and merged
...
transport subpackages.
2011-10-10 16:18:48 +01:00
akwizgran
125ae1b640
Always call the callback outside the plugin's lock.
2011-10-08 13:13:28 +01:00
akwizgran
5f40015ec2
Moved callback initialisation from start() to constructor so it can be
...
accessed outside the lock.
2011-10-08 12:46:35 +01:00
akwizgran
a3a5ebc14f
Removed unused exceptions. Also disabled output for ant tests.
2011-10-08 12:27:13 +01:00
akwizgran
4b1ffbe85b
Logging for plugins.
2011-10-07 13:59:19 +01:00
akwizgran
a9b1a9123b
Use discovery rather than hardcoded URLs (which don't work).
...
Two devices that aren't discoverable won't be able to
communicate. (Likely to affect Linux devices, since changing
discoverability requires root on Linux.)
2011-10-07 13:36:24 +01:00
akwizgran
16c9bf7079
Unit test refactoring.
2011-10-07 00:08:32 +01:00
akwizgran
8fa77b57da
Bluetooth plugin (untested).
2011-10-06 19:33:12 +01:00