Commit Graph

2302 Commits

Author SHA1 Message Date
Andrew Bettison
8771d6181b Merge branch 'naf2-logging' into 'development' 2013-03-01 17:32:57 +10:30
Andrew Bettison
54ce857cff Improve config schema declaration
Remove array key SORTED flag; all arrays are now sorted by key

Use representation's comparison function for sorting arrays, not
a schema-supplied comparison function.
2013-03-01 15:27:28 +10:30
Andrew Bettison
2ac35bfdf7 Remove unconditional DEBUG logging 2013-02-28 17:57:25 +10:30
Jeremy Lakeman
2c687e9b35 Ensure a randomly generated phone number is valid, Fixes #55 2013-02-28 16:39:00 +10:30
Jeremy Lakeman
9e2eb1aea4 Add keyring test for implicitly created identity 2013-02-28 16:27:53 +10:30
Andrew Bettison
ae787339ec Improve "config dump" command
All STRUCT cf_fmt_config_xxx() functions omit invalid values, silently
if the invalid value is the default, otherwise with a non-CFOK return
value.

The "config dump --full" option includes all options with valid values,
otherwise omits options having default values.
2013-02-28 15:18:48 +10:30
Andrew Bettison
5939aa9edc Add config cf_cmp_ functions 2013-02-27 18:11:18 +10:30
Andrew Bettison
133c34325f Fix wrong declaration of strnchr() 2013-02-27 18:10:39 +10:30
Andrew Bettison
be479dafe9 Add uint64_scaled_to_str() function in str.c 2013-02-27 16:35:11 +10:30
Andrew Bettison
4648f5096a Fix some config schema declarations
Replace 'int' representation with 'uint32_nonneg', so that default value
of -1 is out of reach of parser.
2013-02-27 16:30:23 +10:30
Andrew Bettison
a583cb7a0f Fix bugs in interface pattern list parsing
Treat empty pattern list as invalid.

Fix bug in legacy interface parser: was not handling asterisk wildcards
'*' properly.
2013-02-27 16:28:03 +10:30
Andrew Bettison
46eeacb823 Improve new "config dump" command
No more SEGV.  Omits invalid (default) values.  Logs unconditional DEBUG
output, to be removed before merging into development.  Still missing
cf_cmp_ functions to prune out default values.

Improved config Object Model iterator logic to barf on internal NULL
nodes.
2013-02-27 16:26:07 +10:30
Andrew Bettison
14b859616e Add strnchr() to str.c 2013-02-27 15:58:32 +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
Andrew Bettison
6eb08ae805 Add new "config dump" command - not working yet
Add cf_fmt_xxx() functions for converting configuration structs into a
config object model tree.
2013-02-26 18:09:08 +10:30
Andrew Bettison
aeeef0e972 Add uint64_scaled_to_str() function in str.c 2013-02-26 12:59:40 +10:30
Andrew Bettison
5430b70640 Fix Android build with latest bcopy/bzero changes 2013-02-26 11:34:41 +10:30
Andrew Bettison
14ce5af688 Refactor configuration schema code
Replace 'parsefunc' (cf_opt_foo) function arguments in schema
declarations with 'repr' (foo) names, which are used to declare
cf_opt_foo and cf_fmt_foo.
2013-02-25 17:23:44 +10:30
Andrew Bettison
5518859b66 Refactor: move read_symlink() from log.c to os.c 2013-02-25 15:25:53 +10:30
Andrew Bettison
1e61e7a02f Fix bcopy()/bzero() #define hack
Replace #define bcopy(...) memset(...) with inline functions only if
bcopy() is unavailable, as checked by configure script

Ditto bzero()
2013-02-25 15:23:03 +10:30
Andrew Bettison
cb6d65f621 Fix Markdown formatting 2013-02-22 00:05:34 -08:00
Andrew Bettison
74c1025093 Improve documentation for Rhizome mirror daemon 2013-02-22 18:31:42 +10:30
Andrew Bettison
7627be12c8 Fix broken link in Utilities README 2013-02-21 22:37:33 -08:00
Andrew Bettison
b4818c3d6f Improve KiwiEx 2013 utilities
Rhizome mirror daemon and Serval Maps push script handle errors better

Added README.md
2013-02-22 17:01:53 +10:30
Jeremy Lakeman
af584994a2 Ensure encryption buffer doesn't move between nonce and cypher text allocation 2013-02-22 16:29:07 +10:30
Andrew Bettison
48f7cd7d5d Add serval_maps_push.sh script
To be used as the --exec-on-unpack option to rhizome_mirrord

Rsyncs all the unpacked zip files to the Serval Maps testing server and fetches
the Serval Maps re-scan URL

Is invoked with arg1 = path of unpack directory, args2..N = names of newly
unpacked directories within arg1

If the RHIZOME_MIRRORD_LOG_STDOUT env var is set, then enables shell execution
tracing
2013-02-22 15:28:41 +10:30
Andrew Bettison
1b281aa532 Improve 'rhizome.external_blobs' config option
Now only affects when a blob is written, but reading will attempt the
database first, and look for an external blob file if that fails

Test case recently added in b20e714ffb now
passes
2013-02-22 14:25:48 +10:30
Andrew Bettison
4fd32e803c Improve Rhizome mirror daemon script
Report servald exit status in error messages
2013-02-22 14:22:46 +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
Andrew Bettison
5ac6bd8834 Fix compile error on Linux 2013-02-22 12:06:21 +10:30
Andrew Bettison
7e206d5930 Improve Rhizome mirror daemon script
New options: --unpack-dir --exec-on-unpack --log-to-stdout

Unpacks Zip and Tar files after they are extracted from Rhizome

Runs a given command (executable) after unpacking any Zip or Tar files
2013-02-21 22:42:21 +10:30
Andrew Bettison
66e78194f9 Improve Rhizome mirror daemon script
Deal with servald error conditions and commands that return status=1
2013-02-20 17:37:41 +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
5194eece4f Remove useless debug message 2013-02-20 16:18:59 +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
a6405fe387 Don't advertise http server if it is disabled 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
9e9f93b079 make external blob output conditional on debug flag. 2013-02-20 16:18:58 +10:30
Jeremy Lakeman
10234018b0 Add interface name to route print output 2013-02-20 16:18:58 +10:30
gardners
5a3dec28d9 make rhizome over mdp idle timeout configurable at runtime. 2013-02-20 16:18:57 +10:30
gardners
065a1c6f09 add periodic rhizome transfer statistics 2013-02-20 16:18:57 +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
gardners
f52214e229 make return codes of "servald stop" discriminate between different
failure modes (makes it easier to debug some test failures)
2013-02-20 16:18:57 +10:30
gardners
3301a51883 fix behaviour when rhizome http service is disabled so that
rhizomeprotocol test 3 can detect when rhizome http is disabled,
even though the http server itself runs for providing informational
services.
2013-02-20 16:18:56 +10:30
gardners
2252fdcaa7 created tool for automatically finding IN()s without matching
OUT()s or where return() is used instead of RETURN().
Added OUT() to end of all functions using IN() that lacked it to
make it easier to statically analyse this invariant.
Fixed several return instead of RETURNs detected through use of
this tool. #49
2013-02-20 16:18:56 +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
2bbdd523f0 increase size for unix domain socket pathname from arbitrary 100
to PATH_MAX to solve tests erroring out on OSX with long temporary
file names.
2013-02-20 15:36:32 +10:30