Andrew Bettison
43bd0bd33f
Fix a failing keyring test
...
The in-memory identity creation test was failing intermittently because
the server only creates the in-memory identity on the first tick, and
under load the server sometimes does not tick for a while, leading to a
race with the "servald id self" command.
The test case now waits for the server to emit a tick before running the
"id self" command. This necessitated a new DEBUG() statement and a new
debug flag 'overlaytick'.
Also disabled Rhizome for all the keyring tests, as unnecessary Rhizome
DB creation was slowing down the fixtures.
2016-09-06 15:00:21 +09:30
Andrew Bettison
2cfdafdb56
Add some MDP client DEBUG trace statements
2016-09-06 13:31:38 +09:30
Andrew Bettison
7f0fef2209
Fix an intermittent server test failure
...
The quit-on-monitor-client-disconnect test was non-deterministic
depending on load (eg, other concurrently running tests). Under load,
it was likely that the server did not process the "monitor quit" command
before checking for disconnect, so the server did not terminate.
The fix was to make the monitor interface read and process all queued
input from the client before checking for HUP or ERR condition on the
socket. With this fix, the "sleep 1" kludges before and after the echo
"monitor quit" to the console command are no longer needed.
In the process the monitor interface code was modernised: eg, now it
calls read_nonblock() instead of read(2).
2016-09-06 12:33:29 +09:30
Andrew Bettison
64286bd5e6
Absorb ENOTRECOVERABLE in read_nonblock()
...
Already absorbs EINTR and EAGAIN. The monitor interface ignores this
error code for reasons unexplained, and now that it uses read_nonblock()
instead of read(), this preserves its behaviour.
2016-09-06 12:07:00 +09:30
Andrew Bettison
0869470d96
Add DEBUG_cli_parsed() statements to monitor commands
2016-09-06 11:19:45 +09:30
Andrew Bettison
fc47bc541f
Fix the DEBUG_cli_parsed() macro
...
Was logging a blank line instead of "parsed `key`=`value`..."
2016-09-06 11:18:59 +09:30
Andrew Bettison
c3a94a7ac3
Formalise dependency on libsodium
...
./configure now fails if libsodium is not present.
Added libsodium to the list of dependencies in INSTALL.md.
Add a Debian apt-get command to doc/Development.md.
2016-09-05 17:04:22 +09:30
Jeremy Lakeman
05da181541
Return PAYLOAD_STATUS_NEW if file is now missing from the store
2016-09-05 15:13:09 +09:30
Jeremy Lakeman
7beab7e5d8
Bias rhizome transfer based on route to recipient
2016-09-05 15:12:36 +09:30
Jeremy Lakeman
73b151a3e4
Remove unused variable
2016-09-05 12:31:22 +09:30
Jeremy Lakeman
67b9aeeb4e
Add simple meshmb find command
2016-08-29 11:06:53 +09:30
Jeremy Lakeman
6a0b7a1da6
Allow for arbitrary extra manifest fields on broadcast messages
2016-08-24 16:33:39 +09:30
Jeremy Lakeman
e13b9c3c94
Reduce redundant reading of message ply's
2016-08-23 14:28:13 +09:30
Jeremy Lakeman
ce36e6f2c6
Fix assert on DB lock while flushing data
2016-08-22 11:13:29 +09:30
Jeremy Lakeman
b2eb3a2199
Begin broadcast messaging service
2016-08-16 15:04:15 +09:30
Jeremy Lakeman
97fd66faf7
Don't assert if file not found
2016-08-16 12:23:20 +09:30
Jeremy Lakeman
9697b0991b
Tweak message ply internals
2016-08-16 12:22:23 +09:30
Jeremy Lakeman
b6256ea89a
Add identity_t type & rename signing key api to identity.
2016-08-16 12:22:13 +09:30
Jeremy Lakeman
dc7226b6a5
Remove file hash command
2016-08-16 12:22:13 +09:30
Jeremy Lakeman
c5d6579397
Add cli option to include text of last received message
2016-08-10 11:20:12 +09:30
Jeremy Lakeman
8ee7245881
Add Subscriber constructor
2016-08-08 15:24:01 +09:30
Jeremy Lakeman
30167ce4ed
Add meshms newsince support for starting with an empty conversation
2016-08-02 13:29:31 +09:30
Jeremy Lakeman
83b6ecb453
Roll an in memory identity when the keyring is empty
2016-08-02 11:01:32 +09:30
Jeremy Lakeman
96b7cfa46f
Silently discard conversation list from a future / unknown software version
2016-08-02 10:38:38 +09:30
Jeremy Lakeman
c3ca00fe56
Add signing key (not populated yet) to meshms java api
2016-08-02 10:23:53 +09:30
Jeremy Lakeman
2bbccf728f
Generate a hashcode to detect when the number of unread messages has changed
2016-08-02 10:23:53 +09:30
Jeremy Lakeman
c9c2a65a0a
Return unique id for each message
2016-08-01 11:41:09 +09:30
Jeremy Lakeman
9e1b996232
Allow json readers to be closed from another thread
2016-08-01 11:41:09 +09:30
Jeremy Lakeman
3b7e8abb99
Support compiling with Java version 5
2016-07-25 16:59:01 +09:30
Jeremy Lakeman
baa50aaadb
Get byte values from abstract id
2016-07-25 16:54:11 +09:30
Jeremy Lakeman
51947dc6cb
Allow for bundles with no name in java api
2016-07-25 16:54:11 +09:30
Jeremy Lakeman
a854105598
Support rhizome newsince request on an empty store
2016-07-25 16:54:11 +09:30
Jeremy Lakeman
94cf79f0f3
Improve resilience to database locking issues
2016-07-25 16:54:11 +09:30
Jeremy Lakeman
619c17a191
Refactor meshms cli to separate c file
2016-07-25 16:54:11 +09:30
Jeremy Lakeman
df6688c496
Add signing key to restful keyring API
2016-07-25 16:54:11 +09:30
Jeremy Lakeman
dbded493c1
Refactor meshms ply handling into separate source file
2016-07-25 16:54:11 +09:30
Jeremy Lakeman
a71c7ce698
Add signing key to routing messages
2016-07-25 15:50:52 +09:30
Jeremy Lakeman
d028818c0b
Detect combined identities & transmit them more efficiently
2016-07-25 15:50:43 +09:30
Jeremy Lakeman
82ad628c50
Add test api to return dummy identities
2016-07-25 15:42:09 +09:30
Jeremy Lakeman
bdc1db0090
Refactor remote identity locking to save memory
2016-07-05 11:30:10 +09:30
Jeremy Lakeman
c56b733391
Fix free space measurement for OSX
2016-07-05 11:29:04 +09:30
Jeremy Lakeman
9f4f56b663
Add Java api to add identity with name and number
2016-06-07 12:30:42 +09:30
Jeremy Lakeman
7e497d01d6
Allow java nio channels to throw IOException
2016-06-07 11:31:04 +09:30
Jeremy Lakeman
1e3236e89c
Initialise variable to avoid spurious warning
2016-06-06 22:52:02 +09:30
Jeremy Lakeman
848f01e7d3
Only log debug statements if a keyring identity cannot be opened
2016-05-31 13:51:54 +09:30
Jeremy Lakeman
ce2131870c
Fix rhizome op test that used recipient field
2016-05-31 13:05:06 +09:30
Jeremy Lakeman
802310c6f1
Don't append meshms timestamps if the clock is considered unreliable
2016-05-31 13:00:48 +09:30
Jeremy Lakeman
d9e89fd299
Add meshms restful stress test
2016-05-31 12:53:37 +09:30
Jeremy Lakeman
16a14269af
Encrypt payloads without needing a sender
...
- reworked keyring identity handling to reduce memory searching
2016-05-31 12:50:32 +09:30
Jeremy Lakeman
89ab832c21
Link multiple versions of a journal payload to the same file
2016-05-24 14:47:49 +09:30