Commit Graph

2519 Commits

Author SHA1 Message Date
Andrew Bettison
394870502d Fix "rhizome hash file" command for nil files
Now returns an empty result for zero-length file or zero-length file name

Test framework only invokes on non-zero-length files
2013-09-30 16:11:35 +09:30
Andrew Bettison
ae5ae2d394 Cosmetic changes to whitespace
Make it easier to edit in Vim
2013-09-30 16:06:23 +09:30
Andrew Bettison
5e164607aa Expand output of rhizome add and import
Rename 'secret:' field to '.secret:' (non-manifest-fields start with '.'
using the same convention as rhizome list)

Add '.author' and 'BK' fields to "rhizome add"

Add 'BK' field to "rhizome import"

Fix 'rhizomeops' tests to assert no 'author' and 'BK' output fields from
"rhizome add" with no author

Fiz testdefs.sh and testdefs_rhizome.sh to support new output fields
2013-09-27 22:34:22 +09:30
Andrew Bettison
ef5622f84a Fix bugs in new local socket naming code
Socket names (both file and abstract) were being truncated by two bytes
2013-09-25 16:56:06 +09:30
Andrew Bettison
c0aa4796a1 Remove MDP and Monitor socket names from config
Now they are fixed names under the instance path: "mdp.socket" and
"monitor.socket".
2013-09-25 16:56:06 +09:30
Jeremy Lakeman
ba3f77e67c Rename external payloads instead of linking and unlinking 2013-09-25 15:51:54 +09:30
Jeremy Lakeman
dab07dd4dc Remove monitor.socket & mdp.socket from tests 2013-09-24 16:27:34 +09:30
Romain Vimont (®om)
954a8a01a4 Use one MDP socket per binding instead of a single global socket. 2013-09-24 16:09:44 +09:30
Jeremy Lakeman
4838a529bd Don't busy wait while testing for MDP failover 2013-09-24 15:15:32 +09:30
Jeremy Lakeman
b38b4720cc Add html stats for http connection and mdp transfer counts 2013-09-24 14:34:51 +09:30
Jeremy Lakeman
5383b5e3be Fix signature verification cache 2013-09-24 14:34:51 +09:30
Jeremy Lakeman
9885280334 Squelch warning on success 2013-09-24 14:34:51 +09:30
Jeremy Lakeman
79bdb5f993 Add more html debugging for rhizome sync and fetch queues 2013-09-24 14:34:51 +09:30
Jeremy Lakeman
931ca60554 Refactor and simplify http server
- Define a function per page that is responsible for parsing requests
- Define a "generator" callback function for filling the buffer for a response
- Remove features that have never been used
- Remove functions that are no longer used
2013-09-24 14:34:50 +09:30
Andrew Bettison
c7eb5776f9 Fix version_string.sh script
Fix logic for appending dirty suffix to synthetic version string
(only used when no tags present, ie "git describe" fails).
2013-09-24 10:46:20 +09:30
Andrew Bettison
2e211a62d5 Fix version_string.sh: dirty suffix on untracked files
Don't use the git describe --dirty option to append the suffix
because it only considers changes in tracked files as dirt.  If
the script wants to consider untracked files as dirt then this
will not do.
2013-09-23 17:38:23 +09:30
Jeremy Lakeman
08b44e96ed Improve html debug statistics
- shift radio rssi onto interace structure
- track packets sent received
- create html output for interface stats
- create html output for link state routing stats
2013-09-23 11:31:38 +09:30
Jeremy Lakeman
ae25091fab Remove duplicate variable to ensure manifest is freed 2013-09-20 16:49:36 +09:30
Jeremy Lakeman
57577abca6 Merge branch 'mavlink' into development 2013-09-20 14:58:29 +09:30
Jeremy Lakeman
80c1da28b0 Send and track mavlink sequence number 2013-09-20 14:41:50 +09:30
Jeremy Lakeman
e3a5e8c353 Use heartbeat packets to control serial buffering
- Improve simulation of fakeradio
- Backtrack on partial RS errors in case of truncation / heartbeat insertion
2013-09-20 14:41:50 +09:30
Jeremy Lakeman
4b9817218d Improve mavlink packet synchronisation
- backtrack when decoding fails
- assume locally built heartbeats may split a valid remote packet
2013-09-20 14:41:50 +09:30
Jeremy Lakeman
f7bffbfabe Simplify packet debug logging 2013-09-20 14:41:50 +09:30
Jeremy Lakeman
2e6d3878e8 Add golay [12,24] FEC routines 2013-09-20 14:41:50 +09:30
Jeremy Lakeman
504aa92711 Send a sync immediately on importing a new bundle 2013-09-20 14:41:50 +09:30
Jeremy Lakeman
38fe34e6e5 Bump rhizome idle timeout for congested links 2013-09-20 14:41:50 +09:30
Jeremy Lakeman
926665e860 Ask for explanation of SIDs over point to point links 2013-09-20 14:41:50 +09:30
Jeremy Lakeman
d3b1ccd20e Reduce size of rhizome sync announce packets 2013-09-20 14:41:50 +09:30
Jeremy Lakeman
56d3609a3f Reduce frequency of mavlink heartbeat messages 2013-09-20 14:41:50 +09:30
Jeremy Lakeman
9f1407043a Reduce rhizome MDP debug messages 2013-09-20 14:41:49 +09:30
Jeremy Lakeman
ed21200289 Improve config description 2013-09-20 14:41:35 +09:30
Jeremy Lakeman
bc538f8bf3 Fix format for 64bit compilers 2013-09-20 14:39:44 +09:30
Andrew Bettison
4851eaf536 Issue #20: remove unique socket names from tests
The recent work on abstract local socket names means that every instance has
its own unique abstract socket name anyway, so there is no need for test
scripts to use $TFWUNIQUE in MDP and Monitor socket names to avoid
intereference when run concurrently.
2013-09-20 14:24:55 +09:30
Andrew Bettison
cc96e08e9d Issue #20: Improve socket name handling
The recently added cmp_sockaddr() function does not call stat(2) any
more to compare local AF_UNIX socket address paths, so not it is stable
enough to use for ordering sockaddr structs.

New function: real_sockaddr() converts the file path of a local AF_UNIX
file socket using realpath(3).  The MDP client uses it on the sender
address of every MDP reply packet it receives to ensure that symlinks in
the instance path do not cause MDP client failures.

Rename recently added socket_setname() function: make_local_sockaddr().
2013-09-20 14:07:19 +09:30
Andrew Bettison
17347dbe3f Issue #20: Merge branch 'daniel' into 'development'
Discard Daniel's work from 2012 in favour of the recent work on the
'development' branch which achieves the same thing in more or less the
same fashion, and was informed by the work on his branch.
2013-09-19 17:56:16 +09:30
Andrew Bettison
ae61a4f35c Issue #20: Make abstract sockets work
Finish the work started by Daniel in 2012, by using abstract local
AF_UNIX sockets on platforms that support them (Linux, Android).

Fix all sorts of bugs and issues that prevented the existing MDP and
Monitor client and server code from working with abstract socket names.
2013-09-19 17:26:06 +09:30
Andrew Bettison
4937757d36 Improve Serval instance path operations
Replace form_serval_instance_path(), which takes a single 'path'
argument, with formf_serval_instance_path() and
vformf_serval_instance_path(), which take printf(3)-like arguments.
This supports more flexible instance path file names.

FORM_SERVAL_INSTANCE_PATH() macro works as before, but reimplemented
2013-09-19 17:19:37 +09:30
Andrew Bettison
f3cd0d8718 Improve socket function prototypes and macros
Remove '__whence' argument name from all struct __sourceloc prototype
arguments

Parentheses around macro arguments

Use __WHENCE__ instead of __HERE__ in macros
2013-09-19 16:37:34 +09:30
Andrew Bettison
a4704dfd3c Add strbuf_va_vprintf() convenience macro 2013-09-19 16:34:02 +09:30
Andrew Bettison
5c84b2ffd5 Fix Rom's socket cleanup-on-start code
Fix buffer overflow bug: replace call to sprintf(3) with call to
FORM_SERVAL_INSTANCE_PATH()

Fix file descriptor leak bug: add missing closedir(3) call

Use lstat() instead of stat() to avoid warnings on broken sym links

Use WARNF_perror() where appropriate in preference to WARNF()

Remove redundant one-line comments
2013-09-19 04:30:40 +09:30
Andrew Bettison
d64d9487c1 Issue #20: improve socket set-up logging 2013-09-19 04:30:40 +09:30
Andrew Bettison
259834a4c1 Issue #20: fix bug in new esocket() function 2013-09-19 04:30:40 +09:30
Andrew Bettison
7453e82a27 Issue #20: improve new socket function logging
__whence argument and function macros
2013-09-19 04:30:40 +09:30
Andrew Bettison
498eba2051 Improve fdqueue.c debug logging 2013-09-19 04:30:40 +09:30
Andrew Bettison
2b3119b49b Issue #20: merge branch 'sockets' into 'development'
Daniel's improvements to the local file/abstract socket code, with many
improvements to bring it up to date.
2013-09-19 04:30:14 +09:30
Andrew Bettison
db7e9004b3 Fix bug in version_string.sh
git describe --dirty does not accept HEAD (committish) arg
2013-09-17 10:51:50 +09:30
Jeremy Lakeman
c13c7799f6 Send mavlink heartbeat every second 2013-09-13 14:37:33 +09:30
Jeremy Lakeman
2a5ba97b48 Add rhizome test over fakeradio 2013-09-13 14:02:35 +09:30
Jeremy Lakeman
7076b5abb9 Protect most mavlink header bytes with FEC 2013-09-13 10:51:52 +09:30
Andrew Bettison
987875969c Improve version_string.sh script
Full --help usage message
Better error handling and reporting
Only considers tags that look like version numbers
Does not create and delete local "START" tag
Lots of options, including --ignore-untracked and --unmodified
Suitable for use in Batphone repository
2013-09-12 17:50:54 +09:30