Jeremy Lakeman
06f7eed260
Add msp test over unreliable link
2014-05-23 10:47:22 +09:30
Jeremy Lakeman
4dd2d2991e
Use simulator for existing msp tests
2014-05-23 10:47:22 +09:30
Jeremy Lakeman
7420f46653
Create new AF_UNIX based network simulator
2014-05-23 10:47:22 +09:30
Jeremy Lakeman
33bbd7b52e
Make sure only one bind request occurs at a time
2014-05-23 10:47:22 +09:30
Jeremy Lakeman
c361a9cb90
Don't reuse mdp ports that are already bound, release mdp bindings on msp close
2014-05-23 10:38:31 +09:30
Andrew Bettison
64237e4ab4
Improve test framework: return after fail()
...
So that functions can be used during teardown()
2014-05-22 15:32:16 +09:30
Jeremy Lakeman
506b6ed57c
Call msp handler on a timer to prevent stalling
2014-05-22 14:22:17 +09:30
Andrew Bettison
885cf56c95
Fix "unused parameter" warnings for undefined HAVE_JNI_H
2014-05-22 14:17:36 +09:30
Andrew Bettison
24f3d50fd4
Add text of CC BY 4.0 license
...
Add LICENSE-DOCUMENTATION.md (commons deed) and CC-BY-4.0.md (legal
text)
All docs link to local commons deed instead of CC BY 4.0 web page
2014-05-21 17:37:23 +09:30
Jeremy Lakeman
c0c5412931
Add support for STOPping a connection before shutdown
2014-05-21 17:17:07 +09:30
Jeremy Lakeman
998a40938b
Be more careful setting alarm times
2014-05-21 11:51:23 +09:30
Jeremy Lakeman
15cdcc4380
Squelch rhizome sync messages if rhizome is disabled
2014-05-21 10:27:56 +09:30
Andrew Bettison
2681967681
Add doc/README.md
2014-05-20 14:54:24 +09:30
Andrew Bettison
45f39cfacd
Add copyright notices and CC-BY license to README.md and INSTALL.md
2014-05-20 14:52:57 +09:30
Andrew Bettison
1e6caa0e6c
Add Tunnelling document (TCP over MSP)
2014-05-19 17:29:10 +09:30
Andrew Bettison
59b3015ae8
Add CC-BY-4.0 license text
2014-05-19 17:28:42 +09:30
Andrew Bettison
42d4ed0d43
Improve MSP documentation
...
Rename "Mesh Streaming Protocol" to "Mesh Stream Protocol"
2014-05-19 17:26:54 +09:30
Andrew Bettison
48ae5688bf
Start MDP documentation, improve MSP documentation
2014-05-16 12:50:15 +09:30
Jeremy Lakeman
bcc4d8ce60
Add api for starting msp tunnel end points
2014-05-15 16:38:25 +09:30
Jeremy Lakeman
5f9ffefcfc
Watch mdp socket on new tunnelled connections
2014-05-15 16:38:22 +09:30
Jeremy Lakeman
9e267ece21
Always set keyring to NULL after use.
2014-05-15 16:32:46 +09:30
Andrew Bettison
5463feeff7
Improve MSP API documentation
2014-05-15 16:28:06 +09:30
Andrew Bettison
12a0ca4e8f
Improve MSP API
...
Replace struct msp_sock * with typedef MSP_SOCKET
Add new 'flags' arg to msp_socket(), unused for now
msp_send() returns ssize_t number of bytes sent; -1 for error
MSP handler returns size_t; number of bytes consumed
Add MSP_MESSAGE_SIZE definition
Rename msp_set_remote() -> msp_connect()
Rename msp_get_local_adr() -> msp_get_local()
Rename msp_get_remote_adr() -> msp_get_remote()
msp_set_local() takes (const struct *) arg2
msp_connect() takes (const struct *) arg2
void msp_set_local(), msp_connect(), msp_listen(), msp_set_handler()
2014-05-15 16:24:59 +09:30
Andrew Bettison
c9e2ed3038
time_ms_to_timeval()
2014-05-13 08:55:57 +09:30
Andrew Bettison
936db7bca3
Rename TIME_NEVER... to TIME_MS_NEVER...
2014-05-13 08:55:57 +09:30
Jeremy Lakeman
ca9faeef9b
Remove respawn_on_crash behaviour, we aren't using or testing it
2014-05-12 13:44:51 +09:30
Jeremy Lakeman
342572730b
Don't busy wait for forked processes to terminate
2014-05-12 13:44:50 +09:30
Jeremy Lakeman
8db634d2d9
Don't process MDP packets if the local address is invalid
2014-05-12 13:44:50 +09:30
Jeremy Lakeman
9ed507f740
Move rate limit code to separate file
2014-05-12 13:44:50 +09:30
Jeremy Lakeman
5b6ae35a73
Only use the best rtt calculation once per ack
2014-05-12 13:44:50 +09:30
Jeremy Lakeman
55db779f8c
Remember specified rate limit
2014-05-12 13:44:50 +09:30
Jeremy Lakeman
eb08cf27ce
Move msp retransmit time to #define'd const
2014-05-12 13:44:50 +09:30
Jeremy Lakeman
7bd34b7d9b
Don't rebuild version.o if nothing has changed
2014-05-12 13:44:50 +09:30
Jeremy Lakeman
4a2b54de1b
Warn if Makefile is out of date
2014-05-12 13:44:50 +09:30
Jeremy Lakeman
796eb6268c
Fix list traversal and element freeing
2014-05-09 15:13:14 +09:30
Jeremy Lakeman
bb39bb871a
Only unwatch if we were watching
2014-05-09 15:13:13 +09:30
Jeremy Lakeman
2a07093c5f
Don't compare past the end of the parent key
2014-05-09 15:13:13 +09:30
Jeremy Lakeman
672104bdd8
Create extensible service discovery protocol, with initial basic implementation
2014-05-09 11:21:18 +09:30
Jeremy Lakeman
4204973052
Allow for more duplicates in 2hop test
2014-05-09 11:21:16 +09:30
Andrew Bettison
2c0efc6334
Set up SEGV crash handler in main() not server()
...
Now all commands will attempt to log a GDB backtrace on a crash, not
just the server daemon process.
Added strbuf_append_signal_name()
2014-05-08 14:24:00 +09:30
Jeremy Lakeman
7a3095de09
Detect abbreviation collisions with multiple identities
2014-05-07 17:03:43 +09:30
Andrew Bettison
7a2f1536bc
Improve mdp_recv() error handling
...
Make all V2 MDP interface calls take a __whence argument
mdp_recv() always sets error before returning -1, does not set
errno=0 otherwise
mdp_recv() does not log errors on EINTR or EAGAIN (EWOULDBLOCK)
mdp_recv() sets errno=EOVERFLOW if local socket name is too long
mdp_recv() sets errno=EBADMSG if malformed or spurious packet
received
Remove redundant mdp_recv() error logging from "mdp ping" and
"config sync" and several "id" commands
2014-05-05 18:23:38 +09:30
Andrew Bettison
cd9f35f1c8
Improve "log.h", make logMessage() inline
...
Make logMessage() -- wrapper around vlogMessage() -- an inline
function and remove redundant conditional level != LOG_LEVEL_SILENT
Move logString() into log_util.c, refactor so outer loop now iterates
over lines in buffer, rather than over all log outputs
Rename log_backtrace() to logBacktrace() for consistency
Document __NOWHENCE__ value
2014-05-05 18:17:51 +09:30
Andrew Bettison
18c89b4b98
Fix bug in read_symlink(), improve logging
2014-05-05 18:12:25 +09:30
Andrew Bettison
f606daebc6
Move get_self_executable_path() into "os.h"/os.c
2014-05-05 18:12:01 +09:30
Andrew Bettison
df1814309b
Improve MDP filter rules file syntax
2014-05-05 14:45:33 +09:30
Jeremy Lakeman
8ddd256b5c
Add more asserts for ping stats, with some slack
2014-05-05 14:35:31 +09:30
Jeremy Lakeman
ab915a13fc
Use routing table to check if a node is unreachable
2014-05-05 13:22:36 +09:30
Jeremy Lakeman
8ae76f7157
Track most recent ack from neighbours, prevent duplicate broadcast packets
2014-05-05 11:53:57 +09:30
Andrew Bettison
60201d78c9
Fix Android compile failure: st_mtim, UTIME_OMIT
...
Use utimes(2) instead of utimensat(2), use struct timeval instead of
struct timespec
Add strbuf helper functions for struct timeval and time_ms_t
2014-05-02 15:47:51 +09:30