Jeremy Lakeman
ce2c276570
Detect Wifi and cabled ethernet on linux systems, allow matching by type in config
2017-11-07 16:53:19 +10:30
Jeremy Lakeman
0382e7990e
Enable a more graceful shutdown of the server in most cases
2017-09-12 15:37:52 +09:30
Jeremy Lakeman
e158a38137
Clean up a number of memory leaks, as revealed by clang's sanitiser
2017-09-11 14:09:27 +09:30
Jeremy Lakeman
5f1c476249
Fix fd in log message
2017-06-28 15:09:52 +09:30
Jeremy Lakeman
2540c9e633
Cause rhizome add to poke the daemon and trigger all bundle add notifications
2017-03-06 16:12:55 +10:30
Jeremy Lakeman
39fbcc475e
Track call stats of mdp port handlers
2017-02-28 14:32:08 +10:30
Andrew Bettison
ccacd19dfa
Add global keyring assertions
...
Many functions require that the global 'keyring' pointer is set,
but there were no assertions to document this precondition.
2016-11-14 11:28:08 +10:30
Jeremy Lakeman
5b75221c91
Fix compiler warnings when building with android ndk 13b
2016-11-07 10:38:23 +10:30
Jeremy Lakeman
9feda5258c
Allow client to specify external interface name in config match expression
2016-10-25 16:04:41 +10:30
Jeremy Lakeman
65831e31d4
Report the state of each network interface in routing table
2016-10-20 08:48:35 -04:00
Jeremy Lakeman
4e50b1716c
Test reachable bit flags about ourself
2016-09-20 15:04:28 +09:30
Jeremy Lakeman
ecb79d818f
Refactor storage of binary values to enable reuse
2016-09-13 15:25:39 +09:30
Andrew Bettison
2cfdafdb56
Add some MDP client DEBUG trace statements
2016-09-06 13:31:38 +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
83b6ecb453
Roll an in memory identity when the keyring is empty
2016-08-02 11:01:32 +09:30
Jeremy Lakeman
a71c7ce698
Add signing key to routing messages
2016-07-25 15:50:52 +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
6feaddf24d
Rework route print command to use newer mdp api, show live updates & deprecate monitor messages
2016-05-10 10:28:14 +09:30
Jeremy Lakeman
9b5b82d972
Allow port reuse for mdp bindings
2016-05-09 11:10:50 +09:30
Jeremy Lakeman
5feb67512c
Generate encryption key from signing key for new identities
2016-05-09 10:51:52 +09:30
Jeremy Lakeman
bd47a8eb60
Use libsodium for retrieving random bytes
2016-05-09 10:32:04 +09:30
Jeremy Lakeman
e15e332072
Swap from included nacl to host libsodium
2016-05-09 10:32:04 +09:30
Jeremy Lakeman
231ab257e4
Define internal port bindings with section linking tricks
2016-03-07 15:50:34 +10:30
Jeremy Lakeman
c1947cf774
Add prior hop SID to route print output
2016-03-02 10:51:16 +10:30
Andrew Bettison
c3375d0501
Fix MDP client packet receive bug on OSX
...
Was failing because recvmsg(2) on OSX does not nul terminate the
pathname of local (AF_UNIX) sockets in the returned sockaddr buffer.
Zerofilling the buffer before calling recvmsg() does the trick.
In the process, improved debug and error logging, replacing
recvwithttl() with recv_message() and recv_message_frag(). The
mdp_net.c source file was retired.
2016-01-19 04:05:46 +10:30
Andrew Bettison
a060642fdb
Add strbuf_local_buf() macro
2015-11-02 10:11:41 +10:30
Jeremy Lakeman
298849b25b
Add buffer space for MDP MTU & headers for MDP_INTERFACE
2015-07-20 16:48:17 +09:30
Andrew Bettison
7d9a5faa4e
Move if(config.debug.xxx) tests into DEBUGF()
...
Original DEBUG() and DEBUGF() macros renamed to _DEBUG() and _DEBUGF()
New DEBUG() and DEBUGF() macros, first argument is flagname
New DEBUGF2(foo, bar, ...) macro does if(config.debug.foo||config.debug.bar) test
Replace almost all config.debug.xxx references to IF_DEBUG(xxx)
2015-07-13 16:00:05 +09:30
Jeremy Lakeman
e97f7c4e29
Fix vomp stun tests
...
- Don't trust stun responses about 3rd parties
- Only ack neighbour links via 1hop destinations (not multi-hop routes)
- Don't override network destinations that were manually supplied
2015-06-22 14:50:28 +09:30
Jeremy Lakeman
9658d4527b
Don't attempt to retransmit routing link information
2015-06-15 15:35:25 +09:30
Jeremy Lakeman
51ed6162dd
Add support for running and stopping servald from a JVM thread
...
fdpoll will now run a callback when about to sleep / woke up.
A new Java interface to indicate server started / sleeping / waking up.
An android implementation may allow the CPU to sleep.
If there's a java exception the server will try to shutdown.
Calling servald stop is currently undefined.
2015-05-25 11:46:37 +09:30
Jeremy Lakeman
a9b9f51a9f
Add support for mdp clients to provide a link layer packet transport
2015-03-02 15:44:34 +10:30
Andrew Bettison
005489ab40
Improve overlay_mdp.c log error messages
2014-11-11 12:57:15 +10:30
Jeremy Lakeman
851144ea0a
Refactor keyring identity iteration
2014-10-31 15:19:59 +10:30
Jeremy Lakeman
bcd9575b54
Fix minor compilation issues on CentOS.
...
- ensure size_t is defined when compiling xprintf.h
- declare overlay_route_record as a union field in overlay_route_record to avoid alignment issues
- set the result of fwrite and fputs
- support slightly older git version
2014-10-20 12:35:21 +10:30
Jeremy Lakeman
7474e8afea
Fix mdp support and Java API for binding to all keys in the keyring
2014-09-16 11:22:26 +09:30
Jeremy Lakeman
6aa6aa69eb
Immediately register unlocked identities
2014-09-08 11:25:35 +09:30
Jeremy Lakeman
a37db8e958
Move most console commands to other files
2014-08-25 16:03:30 +09:30
Jeremy Lakeman
a9545ea004
Display where packets came from in debug messages
2014-06-26 16:47:23 +09:30
Jeremy Lakeman
afd31fe12c
Ensure a race condition while starting servald only starts one process
2014-06-11 09:01:56 +09:30
Jeremy Lakeman
66f266a0c0
Fix OSX specific issues
2014-06-05 14:57:53 +09:30
Jeremy Lakeman
6d4ad0e150
Rework scheduler to allow for lazy but important alarms
2014-06-04 17:13:08 +09:30
Jeremy Lakeman
b6de3fcd34
Only send rhizome sync packets when we have neighbours
2014-05-30 15:03:22 +09:30
Jeremy Lakeman
49e138505a
Log mdp errors before replying
2014-05-26 13:57:27 +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
Jeremy Lakeman
8db634d2d9
Don't process MDP packets if the local address is invalid
2014-05-12 13:44:50 +09:30
Andrew Bettison
df1814309b
Improve MDP filter rules file syntax
2014-05-05 14:45:33 +09:30
Andrew Bettison
ea9de737a2
MDP packet filter rules configuration
...
Configurable rules file path: mdp.filter_rules_path
Add filter rules parsing code, add filtering to outgoing as well as
incoming packets
New test script: tests/mdp with two test cases
Improve test defs: new execute_servald() function
Widen MDP port number format from 8 to ten chars to accommodate leading
"0x"
2014-04-29 15:31:50 +09:30
Andrew Bettison
8bc746af25
New "config sync" command
2014-04-16 19:28:16 +09:30
Andrew Bettison
53c1b1c04c
Filesystem Heirarchy Standard (FHS) paths
...
If no instance directory specified, then use paths like
/etc/serval/serval.conf
/var/cache/serval
/var/log/serval
/var/run/serval
etc. for files, instead of all in a single directory.
Log all directory creation as INFO messages.
Interpretation of log.file.directory_path has changed slightly.
Updated servald configuration tech doc.
2014-03-26 15:35:43 +10:30