Jeremy Lakeman
3f123e1875
Send the next packet via stream interface ASAP
2013-09-12 16:14:01 +09:30
Jeremy Lakeman
6f26594447
Simplify mavlink link frame creation
...
- build one frame at a time directly from the prepared overlay buffer
2013-09-11 17:15:43 +09:30
Jeremy Lakeman
e29564bc6c
Refactor fakeradio
...
- completely event driven and non-blocking
- modelling of tx & rx serial buffers that will truncate on overfilling
- each radio takes turns to send a packet, with approx TDMA overhead
2013-09-11 15:03:43 +09:30
gardners
0cbebedc77
Add tx throttling for packet radios
...
avoids missing data due to lack of flow control.
2013-09-10 11:53:38 +09:30
Andrew Bettison
7add45214c
Add [keyring-pin] arg to keyring load command
2013-09-10 11:28:55 +09:30
Andrew Bettison
e74aec9354
Tests for starting daemon with keyring entry PINs
2013-09-09 14:47:02 +09:30
Andrew Bettison
d177512746
Add test for server start with --keyring-pin option
2013-09-09 14:47:02 +09:30
Andrew Bettison
18e2916cec
Add more keyring load tests, fix duplicate identity bugs
2013-09-07 04:03:28 +09:30
Andrew Bettison
8a300c2520
Get new keyring dump command and test working
2013-09-05 16:34:01 +09:30
Andrew Bettison
4b0550afd1
Fix new keyring load test
2013-09-05 09:19:45 +09:30
Andrew Bettison
f95e41374b
Implement keyring load command, not working yet
...
Write new keyring test, fails with ERROR because assertGrep -F option is
not supported.
2013-09-04 23:47:17 +09:30
Andrew Bettison
9d1c3e0cba
Fix test case doc comment
2013-09-03 17:05:50 +09:30
Jeremy Lakeman
e3b616421f
Remember outgoing links
2013-08-30 17:38:29 +09:30
Andrew Bettison
572d7c2b5d
Add tests for new keyring environment vars
2013-08-30 11:20:19 +09:30
Jeremy Lakeman
44ab51e2ab
Don't clean the database for every command line operation by default
2013-08-27 13:44:05 +09:30
gardners
9b09021605
add test for falling over to MDP when HTTP rhizome fetching fails.
2013-08-25 16:37:44 +09:30
Jeremy Lakeman
643b21d6a7
Fetch file payloads if they are missing, even if we already have the manifest
2013-08-22 15:14:21 +09:30
Jeremy Lakeman
f9b828c3dd
Remove payload if hash doesn't match when reading back
2013-08-21 15:45:18 +09:30
Jeremy Lakeman
1468d2deb0
Pre-emptively send small payloads via MDP
2013-08-21 09:21:40 +09:30
Jeremy Lakeman
5c374e9e6e
Basic routing test with simulated serial modem interface
2013-08-19 16:59:10 +09:30
Jeremy Lakeman
771cb4151b
Fetch journal range via HTTP
2013-08-15 17:00:43 +09:30
Jeremy Lakeman
21132466f1
Serve a range of a file payload via HTTP
2013-08-15 16:31:26 +09:30
Jeremy Lakeman
e322114850
Only transfer new journal content via MDP
2013-08-15 14:36:56 +09:30
Jeremy Lakeman
e6ce14af45
Test rhizome over unicast links
2013-08-13 12:06:05 +09:30
Jeremy Lakeman
36b0fe51ae
Fix ping via directory service test
2013-08-13 10:55:48 +09:30
Jeremy Lakeman
a516af616e
Improve reliability
...
- don't drop packets that haven't been resolved yet on incoming acks
- statistically drop unicast packets during tests
2013-08-12 16:38:37 +09:30
Jeremy Lakeman
9a50d8a9ef
Route mulit-hop via unicast links
2013-08-09 16:37:54 +09:30
Jeremy Lakeman
55657623aa
Detect unicast links
2013-08-09 12:18:14 +09:30
Jeremy Lakeman
81afc42d8b
Major refactor to packet queuing and delivery in preparation for unicast link tracking.
...
Unicast tests broken
2013-08-09 09:37:08 +09:30
Jeremy Lakeman
0f2d082a0d
Add stress test that sends lots of messages while transferring
2013-08-05 11:46:30 +09:30
Jeremy Lakeman
91a600fba7
Add separate rows for delivered and read status
...
- add explicit transaction around blob writes so the commit can be retried
- remove status columns
- remove SID's from message log output to reduce size and complexity
2013-08-02 14:02:56 +09:30
Jeremy Lakeman
68bf04f69d
Change manifest service to MeshMS2
2013-08-01 11:37:35 +09:30
Jeremy Lakeman
e4882f175b
Output message read offsets in conversation list
2013-07-31 10:33:01 +09:30
Jeremy Lakeman
88c986ebb5
Use sid_t consistently, tweak command output
2013-07-30 14:05:05 +09:30
Jeremy Lakeman
94381bab49
Fix non-journal, non-block based payload encryption
2013-07-26 15:13:22 +09:30
Jeremy Lakeman
fa012347a8
Improve test reliability
2013-07-26 14:40:06 +09:30
Jeremy Lakeman
7634e1fcfb
Add command to mark messages as read
2013-07-26 14:36:11 +09:30
Jeremy Lakeman
a1caa4bf68
ACK conversations when listed, track conversations in a bundle
2013-07-25 14:49:06 +09:30
Jeremy Lakeman
f1139d4c0e
Reduce meshms entry encoding size
2013-07-23 16:21:07 +09:30
Jeremy Lakeman
ddfb7d9417
First cut of new meshms API, unfinished
2013-07-22 17:55:02 +09:30
Jeremy Lakeman
2c1a995275
Don't encrypt by default when the recipient is broadcast
2013-07-19 10:28:15 +09:30
Jeremy Lakeman
a4bf4edbfc
Write out of order packets with MDP transport
...
- add random order writing to rhizome store API
- remove rhizome flush, force all callers to provide buffer
2013-07-17 16:57:59 +09:30
Jeremy Lakeman
49e0286b43
Reduce packet header size for point-to-point links
...
- new interface.x.point_to_point config
- disable local echo for point to point dummy interfaces
- add ME and YOU sid abbreviation codes after learning other sid
2013-07-16 15:38:00 +09:30
Jeremy Lakeman
98dcd973ec
Add help / version output jni test
2013-07-09 16:24:47 +09:30
Jeremy Lakeman
d6c9dbc1a3
Improve reliability of multiple identity test
2013-07-08 17:12:56 +09:30
Jeremy Lakeman
88d88e685c
Improve backward compatibility for broadcasts & packet retries
2013-07-08 16:01:58 +09:30
Jeremy Lakeman
62a4cd407d
Identify a journal bundle by the presense of a tail field
2013-07-08 14:57:47 +09:30
Jeremy Lakeman
e758e0130f
Create journal append command
2013-07-08 14:29:08 +09:30
Jeremy Lakeman
6254e0d81a
Reduce IO strain from stress test while increasing bundle count
2013-06-20 11:10:02 +09:30
Jeremy Lakeman
3e57add9ca
Fix, initialise read / write handles so we don't close fd=0
2013-06-19 12:05:56 +09:30
Jeremy Lakeman
40364be92f
Fix and improve rhizome stress test
...
- reduce dependance on routing
- fail immediately if a servald instance crashes
2013-06-18 16:33:41 +09:30
Jeremy Lakeman
c6241c6634
Ensure routing table is updated when indirect nodes go offline
2013-06-11 10:18:28 +09:30
Jeremy Lakeman
b1f384cd63
Swap between broadcast & unicast links as they become available
2013-05-31 11:32:31 +09:30
Jeremy Lakeman
bc50d3e184
Establish a unicast link to nodes who are filtering broadcasts
2013-05-29 11:58:06 +09:30
Jeremy Lakeman
d6d3c1f413
Add ping backward compatibility test
2013-05-29 11:58:06 +09:30
Jeremy Lakeman
37ef97268b
Disable rhizome when testing dnahelper to reduce IO load
2013-05-29 11:58:06 +09:30
Jeremy Lakeman
aa75e519f3
Rename 2-hop test
2013-05-29 11:58:06 +09:30
Jeremy Lakeman
8f575262ff
Reduce packet storm to reduce I/O required for running tests
2013-05-29 11:58:06 +09:30
Jeremy Lakeman
8ab5073869
Adjust packet format for better duplicate detection
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
02be4c2979
Add support for retransmitting broadcast mdp packets
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
a213872f09
Don't ack if we aren't being used in a route
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
5b4e4919cf
Mark resent packets so they can be dropped
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
e519633f7a
Resend last ACK if it is explicitly NACKed
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
e5856225cf
Add packet retransmissions due to missed ack's
2013-05-29 11:58:05 +09:30
Jeremy Lakeman
b10746b3a5
Add stub functions for retransmission / throttling
2013-05-29 11:58:04 +09:30
Jeremy Lakeman
abfe6963d2
Wait for servald daemon to enter main loop for more reliable tests
2013-05-27 14:24:33 +09:30
Jeremy Lakeman
118dcca40b
Improve quality and readability of some routing tests
2013-05-10 12:05:28 +09:30
Jeremy Lakeman
ef1e93bf52
Establish neighbour links with nodes running our legacy routing engine
2013-05-09 16:57:33 +09:30
Jeremy Lakeman
a59b306173
Allow for out of order packets, reduce link state spam
2013-05-08 11:37:31 +09:30
Jeremy Lakeman
c0b31a2774
Report packet acks, make routing decisions based on dropped packets
2013-05-08 11:37:02 +09:30
Jeremy Lakeman
a29c1d3468
Don't override subscriber interface due to unicast probe packets
2013-05-02 14:29:31 +09:30
Jeremy Lakeman
dd03014b44
Choose the best link from a neighbour
2013-05-02 14:29:31 +09:30
Jeremy Lakeman
9ee09e36a0
Replace old routing engine with new link state engine
2013-05-02 14:29:28 +09:30
Andrew Bettison
4e48725c93
Merge branch 'new-keyring' into 'development'
2013-04-30 17:57:59 +09:30
Andrew Bettison
cf26a77019
Use "keyring dump" command in back-compatible keyring test
2013-04-30 17:56:10 +09:30
Andrew Bettison
deed4665fe
Fix keyring test copyright and header comments
2013-04-29 17:38:01 +09:30
Jeremy Lakeman
559b270966
Only compare routes that have all links via the same neighbour
2013-04-29 17:07:36 +09:30
Andrew Bettison
78b3a3a8c4
Add keyring test case (combined PINs)
2013-04-29 16:00:17 +09:30
Andrew Bettison
ae69da284f
Add keyring back-compatibility test case
2013-04-29 15:11:04 +09:30
Andrew Bettison
6fd49099cb
Rewrite keyring pack/unpack for extensibility
...
Use new rotbuf primitives to handle rotated buffers
2013-04-29 14:31:50 +09:30
Jeremy Lakeman
d7caaf4973
Add length of link record for forward compatibility
2013-04-29 10:06:22 +09:30
Jeremy Lakeman
85b885dde2
Add basic link state routing
2013-04-26 16:54:01 +09:30
Andrew Bettison
121ae2d609
Improve timeout control in routing tests
2013-04-22 16:01:38 +09:30
Andrew Bettison
81af4460f3
Fix broken "ping" command arg parsing
2013-04-12 17:18:25 +09:30
Jeremy Lakeman
73342a9659
Announce routes to secondary keyring entries
2013-04-08 10:03:51 +09:30
Andrew Bettison
2c379fadb1
Merge branch 'naf2-logging' into 'development'
...
Conflicts:
commandline.c
tests/rhizomeprotocol
2013-04-05 17:39:23 +10:30
Andrew Bettison
ec481e5f0f
Rename config option 'log.stderr' to 'log.console'
...
Because Android <stdio.h> defines 'stderr' as a macro...
2013-04-05 16:55:14 +10:30
Andrew Bettison
f7fc63c452
Improve logging tests, fix failures, add 'log.file.path' config option
2013-04-05 16:23:20 +10:30
Andrew Bettison
f06613c35f
Fix test failures from latest logging changes
2013-04-05 15:28:54 +10:30
Andrew Bettison
21991726ae
Add logging tests, add "log" command
...
Refactor log.c ready for log file rotation
2013-04-02 17:01:48 +10:30
Andrew Bettison
0f83b9a5fc
Fix #60 - "rhizome direct" command line URL
...
Add test case for "rhizome push <url>" command
2013-04-02 14:54:46 +10:30
Andrew Bettison
95b0c028f2
Log to file, Android and stderr simultaneously
...
Indepent configuration of show_pid, show_time and log level for each
destination
Update test scripts for new config options
Include xprintf.c in MDP client source files (now used by log.c)
2013-03-27 16:17:38 +10:30
gardners
3a0a4df216
add place-holder tests for adding channel labels to Rhizome. #58
2013-03-18 13:27:15 +10:30
Andrew Bettison
5dd6a53615
Fix 'rhizomeops' tests
...
Rename duplicate AddNoAuthor test to AddNoAuthorEncrypted
Fix broken AddNoAuthor test
Add new AddInvalidAuthor test
2013-03-15 15:58:17 +10:30
Andrew Bettison
bc7c58ee3c
Improve keyring test case
2013-03-06 15:29:27 +10:30
Andrew Bettison
03f38d2031
Improve keyring debugging
2013-03-06 14:15:27 +10:30
Jeremy Lakeman
4cdd3da77f
Add config option to disable fetching via rhizome
2013-03-05 10:56:20 +10:30
Jeremy Lakeman
9e2eb1aea4
Add keyring test for implicitly created identity
2013-02-28 16:27:53 +10:30
Jeremy Lakeman
ee95e47d1f
Add rhizome export commands that don't try to decrypt file contents
...
export [bundle/manifest/file]
extract [bundle/file]
"dump file" has been replaced with "export file".
2013-02-27 11:39:23 +10:30
Jeremy Lakeman
b20e714ffb
Test that changing config.rhizome.external_blobs still allows existing blobs to be read (FAILs)
2013-02-22 13:37:01 +10:30
Jeremy Lakeman
90386ce1b1
Merge remote-tracking branch 'origin/development' into serial
...
Conflicts:
rhizome.h
rhizome_database.c
rhizome_fetch.c
rhizome_store.c
2013-02-20 17:23:03 +10:30
Jeremy Lakeman
73786bcb5d
Refactor all rhizome reading and writing
...
- The API in rhizome_store.c is used for all reading and writing
- external storage is now usable for all transport options
2013-02-20 16:18:59 +10:30
Jeremy Lakeman
e5fa357f07
Add slip test to automated testing
2013-02-20 16:18:59 +10:30
gardners
944486c048
simplify external/internal blob storage to a boolean flag instead
...
of a threshold.
2013-02-20 16:18:59 +10:30
Jeremy Lakeman
bb8b3d6376
Add new mdp trace command
2013-02-20 16:18:58 +10:30
gardners
a23612428b
make rhizome over mdp block size configurable.
...
1K seems too big to be reliable on our prototype UHF radio links,
as CRCs fail almost all the time. #48
2013-02-20 16:18:57 +10:30
gardners
57013c3a03
removed temporary verbose output from test.
2013-02-20 16:18:57 +10:30
Andrew Bettison
390655580d
Add 'rhizome delete' and 'rhizome clean' commands
...
sqlite_void_exec() and its ilk now return the count of changed rows, not
just zero, on success
sqlite_exec_prepared() and its ilk now return the count of rows (number
of step results SQLITE_ROW), instead of just zero, on success
rhizome_clean() function now produces an optional report of its changes
rhizome_fail_write() and rhizome_finish_write() now log WARNings not
ERRORs if the SQL DELETE FROM FILES or DELETE FROM FILEBLOBS statements
fail
Refactor rhizome_open_read() to use sqlite_exec_int64()
Ensure that 'rhizome extract' and 'rhizome dump' commands return exit
status of 1 in "not found" conditions, not 255, which is reserved for
errors
Test cases for four new commands: 'rhizome delete bundle', 'rhizome
delete manifest', 'rhizome delete payload' and 'rhizome delete file'
(no test case for 'rhizome clean' yet)
2013-02-20 15:37:09 +10:30
gardners
641d749ab4
Create files for large rhizome bundles
...
- configurable size threashold
2013-02-20 15:36:32 +10:30
Jeremy Lakeman
6d9bbe2e2c
Refactor interface handling to separate encapsulation from stream type
2013-02-20 15:36:23 +10:30
Andrew Bettison
788b3e37b2
Fix JNI argv parsing: throw exception on NULL
...
Add new 'jni' test case to ensure this works
2013-02-15 19:33:12 +10:30
Andrew Bettison
c42260f5f9
Replace "add did" command with improved "keyring add did"
...
Output is same format as "keyring add" command
Fixed minor bug in rolling a random DID -- last byte was not random
Some code improvements, including better support for sid_t
2013-02-14 16:06:01 +10:30
Andrew Bettison
433f49551a
Cosmetic improvements to 'routing' test script
2013-02-14 16:02:09 +10:30
Andrew Bettison
f66a894a63
Improve keyring PIN handling
...
Replace explicit [<pin,pin...>] command-line arguments with --entry-pin=<pin>
options. Update test scripts accordlingly.
Add --keyring-pin=<pin> option (with one test case).
2013-02-13 16:49:52 +10:30
Andrew Bettison
46513bf192
Add keyring tests to 'all' test script
2013-02-11 18:43:12 +10:30
Andrew Bettison
b2923744b0
Add 'keyring' test script with three basic tests
2013-02-11 18:41:36 +10:30
Andrew Bettison
2eb930b94c
Improve Rhizome Direct stress test
...
Reduce log verbosity, report extra files received by nodes, re-order
push/pull/sync process start order to increase chance of cross-fetching.
2013-02-11 18:39:46 +10:30
Andrew Bettison
cb288d8b9c
Fix new Rhizome Direct stress test
...
Now PASSES with Jeremy's recent fix, but FAILED before
2013-02-08 19:24:03 +10:30
Andrew Bettison
b5a55c8c08
Add Rhizome Direct stress test
...
Use new test framework fork() support to run several rhizome direct
push/pull/sync processes at once to a single server.
Speed up setup for Rhizome Transfer stress test.
2013-02-08 18:46:30 +10:30
Andrew Bettison
7a8323b31d
Improve Rhizome stress tests
...
Rename tests to start with "Stress" prefix
Refactor StressRhizomeAdd test to use conventional utilities and be more
readable. Remove trailing "sleep 10".
2013-02-08 12:08:24 +10:30
Andrew Bettison
a6b6209c6c
Improve Rhizome Direct tests
...
Push/pull three bundles of varying sizes each way instead of one 64 byte
bundle each way
2013-02-08 10:39:41 +10:30
Andrew Bettison
c804b9d5ce
Fix copyright messages in test scripts
2013-02-06 18:55:31 +10:30
Andrew Bettison
248e2b7096
Add new 'all' test script
...
Runs all tests except Rhizome stress tests.
2013-02-06 18:51:01 +10:30
Jeremy Lakeman
b35c1aca43
Specify that unicast traffic should use unicast UDP packets
2013-01-29 11:57:13 +11:00
Andrew Bettison
546fccc794
Support relative log.file config option
...
As already documented in doc/Servald-Configuration.md
2013-01-23 14:54:25 +10:30
Jeremy Lakeman
dbd4cb1771
Fix jni tests on osx & with new interface
2013-01-23 14:43:50 +10:30
Jeremy Lakeman
ad01836d0e
Use database query to respond to rhizome list, add name argument
2013-01-17 11:45:45 +10:30
Jeremy Lakeman
b25ff45438
Importing the same bundle twice returns duplicate flag
2013-01-15 10:32:48 +10:30
Jeremy Lakeman
5a82bfcf31
Add support for importing and exporting a file with an appended manifest
2013-01-11 14:30:52 +10:30
Jeremy Lakeman
7825f9dbd2
Combine manifest and file extraction into one method that can also do both
2013-01-11 14:30:51 +10:30
Andrew Bettison
5ac394a3c1
Maybe fix tests/server:NoZombie occasional failure
...
Introduced a two-second wait for the KILLed process to die.
2013-01-10 12:12:51 +10:30
Jeremy Lakeman
c7cf80b352
Use sqlite user schema version to remember state
2013-01-06 13:04:49 +10:30
Jeremy Lakeman
2b480c1d1a
Reinstate filesize and hash file extract output
2013-01-04 12:01:40 +10:30
Jeremy Lakeman
fd96c5bd76
Add bsk to correct command
2013-01-04 12:01:39 +10:30
Jeremy Lakeman
28a05baa54
Enable encryption of rhizome payloads
2013-01-03 16:12:24 +10:30
Jeremy Lakeman
8b045dd1a6
Extract files based on the manifest id
...
Renamed rhizome extract file to rhizome dump file
Added rhizome extract file [manifest] [filepath] [pins]
Modified tests to use the appropriate command, assuming that MeshMS payloads will be encrypted
2013-01-02 12:58:05 +10:30
Jeremy Lakeman
f906d5a46c
Test each file immediately after adding
2012-12-28 12:00:43 +10:30
Jeremy Lakeman
3f45623d04
New stress test, rhizome add while transferring
2012-12-27 16:51:31 +10:30
Jeremy Lakeman
50b216da96
Make directory service test fail if the dna helper doesn't start
2012-12-20 16:50:50 +10:30
Jeremy Lakeman
38589f293c
Interface speed is no longer validated
2012-12-20 16:20:12 +10:30
Jeremy Lakeman
f64de66b34
Refactor add via HTTP to be equivalent to command line add
2012-12-20 15:36:07 +10:30
Jeremy Lakeman
d76b3a25f9
Fail duplicate manifest test if secret is different
2012-12-17 16:09:22 +10:30
Jeremy Lakeman
55be5208a9
Remove packet queue delays, rely on network limits
2012-12-14 17:11:57 +10:30
Andrew Bettison
7d970d8f92
Merge branch 'newconfig' into 'master'
2012-12-11 17:21:56 +10:30
Andrew Bettison
5985df751d
Overhaul debug flags
...
Replace debugflags_t and DEBUG_XXX bit masks with config schema "debug.xxx"
entries.
No more support for "debug.all".
2012-12-11 15:59:46 +10:30
Jeremy Lakeman
5798e5acb5
Always send scan packets with full sid
2012-12-11 13:32:02 +10:30
Jeremy Lakeman
dc6d0da07e
Add explicit route tests and improve test speed
2012-12-11 11:27:18 +10:30
Jeremy Lakeman
c3f573ea7f
Add more messages, wait for directory service to start first
...
And make sure gaps in sockaddr_in are zeroed.
2012-12-10 14:42:57 +10:30
Jeremy Lakeman
2932544eb8
Add IPv4 addresses to dummy interface
2012-12-10 14:06:25 +10:30
Andrew Bettison
8425882ffc
Merge branch 'newconfig' into 'master'
...
Conflicts:
commandline.c
conf.h
dataformats.c
log.h
overlay_address.c
overlay_interface.c
packetformats.c
rhizome.c
serval.h
tests/directory_service
vomp_console.c
2012-12-07 14:09:55 +10:30