akwizgran
a144884ecd
Erase connection windows if the JVM shuts down cleanly.
2011-11-16 18:41:40 +00:00
akwizgran
031aa53dc7
Minor SQL cleanups.
2011-11-16 18:28:34 +00:00
akwizgran
4da7a685cd
Minor code cleanups.
2011-11-16 18:15:32 +00:00
akwizgran
01dd658200
Keep the connection windows in memory.
2011-11-16 17:57:56 +00:00
akwizgran
f10512d787
Erase keys after using them. (Copies created by ciphers, etc, may
...
still exist.)
2011-11-16 16:22:35 +00:00
akwizgran
f6ae4734ce
Forward secrecy.
...
Each connection's keys are derived from a secret that is erased after
deriving the keys and the secret for the next connection.
2011-11-16 15:35:16 +00:00
akwizgran
d02a68edfc
Return a connection context for outgoing connections (the secret will
...
be included in this context in the near future).
2011-11-15 17:47:30 +00:00
akwizgran
fabdaf5957
Remove transport ID from connection context.
2011-11-15 17:32:31 +00:00
akwizgran
9220bb3426
Key derivation function based on NIST SP 800-108.
2011-11-15 17:19:11 +00:00
akwizgran
6a15c03e81
Store the incoming and outgoing secrets separately.
2011-11-15 16:07:14 +00:00
akwizgran
f41d48eb9f
Made secret keys erasable from memory.
2011-11-15 14:43:06 +00:00
akwizgran
23be7fd876
Removed double-encryption of shared secrets.
2011-11-15 14:09:28 +00:00
akwizgran
6cdf68d6cb
Initialise all connection windows when a contact is added.
2011-11-15 13:45:57 +00:00
akwizgran
df054b1743
Store each connection window slot as a database row.
...
This is less memory-efficient but necessary for the coming forward
secrecy changes.
2011-11-15 13:08:20 +00:00
akwizgran
cf49a28c95
Replaced SHA-256 with SHAd-256 to prevent length extension attacks.
2011-11-15 11:11:31 +00:00
akwizgran
effa5c9d8e
Throw checked exception if concurrent attempts are made to remove a
...
contact.
2011-11-15 09:51:51 +00:00
akwizgran
6fd8493d3d
Singleton lists and singleton sets aren't equal, so use lists
...
consistently.
2011-11-15 09:42:21 +00:00
akwizgran
0da94879ef
Use aliases for shorter, clearer SQL.
2011-11-15 09:35:07 +00:00
akwizgran
2ad15518a5
Return transports that have no properties.
2011-11-15 09:00:51 +00:00
akwizgran
72be34768b
Minor refactoring.
2011-11-14 22:14:52 +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
2c4c8824d0
Removed references to raw types.
2011-11-08 13:17:28 +00:00
akwizgran
ef6f61426f
Removed calls to supportsMulticast() for Java 1.5 compatibility.
2011-11-08 13:14:23 +00:00
akwizgran
1b0bd6961a
You can't step in the same Enumeration twice.
2011-10-30 22:35:46 +00:00
akwizgran
7065f54a57
Prefer LAN interfaces for invitations, WAN for connections.
2011-10-30 22:26:23 +00:00
akwizgran
681e82547e
Try to close sockets when an exception is caught.
2011-10-30 21:32:04 +00:00
akwizgran
2c72b1e2e2
If no local address is configured, bind to any address.
2011-10-30 21:31:24 +00:00
akwizgran
517aea3b1f
Socket plugin that supports exchanging invitations by LAN multicast
...
(untested).
2011-10-30 20:50:55 +00:00
akwizgran
42ddfb444e
Added a method to check which plugins support invitations.
2011-10-29 09:52:07 +01:00
akwizgran
d3060a3bd6
Class IDs may be in nested lists. Don't ask me why.
2011-10-28 16:46:51 +01:00
akwizgran
559cdfaeba
Merged shared code in listener classes and made casts safe.
2011-10-28 15:48:30 +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
59485fe392
Added comments for columns that may be null.
2011-10-26 18:05:49 +01:00
akwizgran
7d73f9604d
Added a method for getting unread message counts for all groups.
2011-10-26 17:56:35 +01:00
akwizgran
6d91603bf7
Moved MessageHeader into DB component and added read/starred flags.
2011-10-26 17:07:09 +01:00
akwizgran
0f6b0e88c1
Added message flags: read/unread and starred/unstarred.
2011-10-26 16:32:30 +01:00
akwizgran
b70b579fd6
Renamed locks in javadoc comments.
2011-10-26 15:49:35 +01:00
akwizgran
94722a9f2a
Broadcast an event when an author's rating changes.
2011-10-26 15:40:38 +01:00
akwizgran
097d11f471
Exposed getMessageHeaders() through DatabaseComponent interface.
2011-10-26 15:18:02 +01:00
akwizgran
d2bac9a4f8
Test and bugfix for getMessageHeaders().
2011-10-26 14:52:18 +01:00
akwizgran
2628823db7
Added a method to get all message headers in a given group (untested).
2011-10-25 17:12:37 +01:00
akwizgran
995518c48b
Upgraded H2 jar and removed workaround for Blob.getBytes() bug.
...
The H2 developers are amazing. :-)
2011-10-25 09:42:27 +01:00
akwizgran
9ec8feec78
Added a method for retrieving the message body from the DB.
2011-10-21 20:42:43 +01:00
akwizgran
ef61eaa804
Separated MessageHeader interface from Message interface.
2011-10-21 18:42:27 +01:00