The Serval Project's core daemon that implements Distributed Numbering Architecture (DNA), MDP, VoMP, Rhizome, MeshMS, etc.
Go to file
Andrew Bettison 49ee4d13f0 Re-write manifest parsing, improve rhizome_fetch.c logging
Rhizome manifest parser now parses and validates all known fields, informs
about unsupported fields, and unpacks fields into relevant struct manifest
elements where appropriate.  Is also stricter about whitespace.

Rhizome fetch code now logs debug messages if DEBUG_RHIZOME_RX bit is on.
2012-07-12 16:39:01 +09:30
asterisk_include Added support for batmand.peers file for reliable peer querying. 2011-03-21 13:08:35 +10:30
java/org/servalproject/servald Add GPL header comment to Java source file 2012-05-09 19:05:15 +09:30
m4 Merge branch 'master' of github.com:servalproject/serval-dna 2012-04-23 20:41:52 +09:30
nacl - Move nacl-prepare-sources to nacl. 2012-02-27 12:45:50 +10:30
sqlite-amalgamation-3070900 Fix all trivial compiler warnings 2012-05-10 18:08:59 +09:30
tests Re-write manifest parsing, improve rhizome_fetch.c logging 2012-07-12 16:39:01 +09:30
win32 Allow clients to request variables for all records by passing empty did. 2011-04-27 12:17:26 +09:30
.gitignore Ignore test log directory 2012-06-27 17:23:43 +09:30
aclocal.m4 Merge branch 'master' of github.com:servalproject/serval-dna 2012-04-23 20:41:52 +09:30
Android.mk Add strbuf_helpers.[ch] 2012-07-11 14:11:59 +09:30
asterisk_app.c Expunge old DNA protocol code (cleans up warnings) 2012-06-25 15:37:11 +09:30
audio_alsa.c work on bypass-audio. 2012-05-11 08:14:00 +09:30
audio_msm_g1.c Fix rhizome transfers 2012-06-27 16:54:42 +09:30
audio_reflector.c work on bypass-audio. 2012-05-11 08:14:00 +09:30
audiodevices.c work on bypass-audio. 2012-05-11 08:14:00 +09:30
batman.c Expunge setReason() 2012-05-24 17:11:55 +09:30
BUILD.txt Add configure fu to allow pa_phone.c to not be compiled. 2012-04-23 20:17:11 +09:30
ciphers.c Expunge setReason() 2012-05-24 17:11:55 +09:30
client.c Code improvements while debugging 'dnaprotocol' tests 2012-07-03 15:36:51 +09:30
codecs.c added stubs for DNA lookup helper app (not yet complete). 2012-06-21 16:35:28 +09:30
commandline.c Replace validateSid() with str_is_subscriber_id() 2012-07-12 16:14:25 +09:30
conf.c Finish rewriting configuration and logging code 2012-07-05 14:59:50 +09:30
config.guess Add other libtool scripts created by libtoolize -i 2012-04-24 11:46:35 +09:30
config.sub Add other libtool scripts created by libtoolize -i 2012-04-24 11:46:35 +09:30
configure.in Fix peer credential checking on BSD, replace write(s, m, strlen(m)) with a macro, factor out new monitor socke code. 2012-06-22 20:40:30 +09:30
dataformats.c Replace validateSid() with str_is_subscriber_id() 2012-07-12 16:14:25 +09:30
dna_helper.c Replace macros with functions 2012-07-10 16:33:39 +09:30
dna_identity.c Added not implemented flags to some functions. 2012-03-17 13:01:43 +10:30
dna.c Expunge old DNA protocol code (cleans up warnings) 2012-06-25 15:37:11 +09:30
dnawrap.c Added missing GPL license statements. 2011-12-21 20:25:05 +10:30
encode.c Put back a pile of files needed for building on osx, and also required 2012-03-15 10:57:38 +10:30
fdqueue.c DEBUG_IO logging for all poll() invocations 2012-07-11 14:15:02 +09:30
fifo.c Add PA setup and FIFO code (still not plumbed into the main program) 2012-04-23 16:32:47 +09:30
fifo.h Add PA setup and FIFO code (still not plumbed into the main program) 2012-04-23 16:32:47 +09:30
gateway.c Refactor main() into main.c 2012-05-15 11:09:21 +09:30
install-sh Add install-sh created by "libtoolize -i" 2012-04-24 11:33:30 +09:30
jni.c Move randombytes() from jni.c to keyring.c so that it is available 2012-04-10 13:49:18 +09:30
keyring.c Add output fields to 'keyring add' command 2012-07-06 13:17:53 +09:30
log.c Replace DEBUG_DNAVARS with DEBUG_RHIZOME_RX 2012-07-12 16:26:37 +09:30
lsif.c Merge branch 'eventscheduler' into master 2012-07-03 10:26:22 +09:30
ltmain.sh Add other libtool scripts created by libtoolize -i 2012-04-24 11:46:35 +09:30
macconfig Fixed broadcast address discovery to work on Mac. 2011-08-08 16:11:05 +09:30
main.c Move signal handler setup to main so it's only done once. 2012-06-25 16:24:33 +09:30
Makefile.in Add strbuf_helpers.[ch] 2012-07-11 14:11:59 +09:30
meshpotato_build Assorted unknown changes. Updated Makefile.in etc to properly build serval.c for building asterisk module. 2011-06-15 13:52:30 +09:30
mkdir.c Overhaul debug flags 2012-05-14 18:37:32 +09:30
monitor-cli.c Replace macros with functions 2012-07-10 16:33:39 +09:30
monitor.c Replace macros with functions 2012-07-10 16:33:39 +09:30
mpbuild Added mesh potato build script. 2011-08-10 15:39:40 +02:00
net.c Improve toprint() and alloca_toprint() 2012-07-11 14:17:53 +09:30
openwrt-makefile Assorted unknown changes. Updated Makefile.in etc to properly build serval.c for building asterisk module. 2011-06-15 13:52:30 +09:30
overlay_abbreviations.c Replace overlay_render_sid() with alloca_tohex_sid() 2012-07-03 17:59:30 +09:30
overlay_advertise.c Replace overlay_render_sid() with alloca_tohex_sid() 2012-07-03 17:59:30 +09:30
overlay_broadcast.c Renamed mphlr.h to serval.h 2012-02-23 12:45:42 +10:30
overlay_buffer.c Add HTTP port number to rhizome advertise packet 2012-06-25 18:03:00 +09:30
overlay_interface.c Fix bugs revealed by 'rhizomeprotocol' test 2012-07-12 12:10:59 +09:30
overlay_mdp.c Replace macros with functions 2012-07-10 16:33:39 +09:30
overlay_packetformats.c Replace overlay_render_sid() with alloca_tohex_sid() 2012-07-03 17:59:30 +09:30
overlay_payload.c Refactor vomp call processing to reduce latency 2012-07-05 16:09:33 +09:30
overlay_route.c Refactor vomp call processing to reduce latency 2012-07-05 16:09:33 +09:30
overlay.c Add "rhizome.fetch_interval_ms" config option 2012-07-11 16:51:30 +09:30
pa_phone.c Add support for srtuct ucred on BSD. 2012-05-21 12:22:50 +09:30
packetformats.c Replace DEBUG_DNAVARS with DEBUG_RHIZOME_RX 2012-07-12 16:26:37 +09:30
peers.c Don't use hard coded port number. 2012-06-15 15:09:21 +09:30
performance_timing.c rename profiling structure 2012-07-02 16:04:00 +09:30
randombytes.c Added missing GPL license declaration to file. 2012-02-17 00:42:37 +10:30
README.DUMMYNETS Added explanation of changed semantics when using dummynets. 2012-06-15 15:13:45 +09:30
responses.c Renamed mphlr.h to serval.h 2012-02-23 12:45:42 +10:30
rhizome_bundle.c Re-write manifest parsing, improve rhizome_fetch.c logging 2012-07-12 16:39:01 +09:30
rhizome_crypto.c added cache for positive and negative rhizome manifest signature 2012-06-26 21:21:46 +09:30
rhizome_database.c Add "rhizome.fetch_interval_ms" config option 2012-07-11 16:51:30 +09:30
rhizome_fetch.c Re-write manifest parsing, improve rhizome_fetch.c logging 2012-07-12 16:39:01 +09:30
rhizome_http.c Fix bugs revealed by 'rhizomeprotocol' test 2012-07-12 12:10:59 +09:30
rhizome_packetformats.c Fix bugs revealed by 'rhizomeprotocol' test 2012-07-12 12:10:59 +09:30
rhizome.c Replace validateSid() with str_is_subscriber_id() 2012-07-12 16:14:25 +09:30
rhizome.h Re-write manifest parsing, improve rhizome_fetch.c logging 2012-07-12 16:39:01 +09:30
serval_packetvisualise.c Finish rewriting configuration and logging code 2012-07-05 14:59:50 +09:30
serval.h Replace DEBUG_DNAVARS with DEBUG_RHIZOME_RX 2012-07-12 16:26:37 +09:30
servalwrap.c Make commandline.c error messages appear on Android log 2012-05-03 14:50:14 +09:30
server.c Add output fields to 'keyring add' command 2012-07-06 13:17:53 +09:30
sha2.c Silence strict-aliasing warnings 2012-07-10 14:33:14 +09:30
sha2.h Substantial preparatory work towards Rhizome/MeshMS store-and-forward 2011-12-13 19:34:12 +10:30
sighandlers.c more work on dna helper interface. 2012-06-21 16:35:28 +09:30
simulate.c Code improvements while debugging 'dnaprotocol' tests 2012-07-03 15:36:51 +09:30
sqlite3.c Put back a pile of files needed for building on osx, and also required 2012-03-15 10:57:38 +10:30
srandomdev.c Renamed mphlr.h to serval.h 2012-02-23 12:45:42 +10:30
strbuf_helpers.c Add strbuf_helpers.[ch] 2012-07-11 14:11:59 +09:30
strbuf_helpers.h Add strbuf_helpers.[ch] 2012-07-11 14:11:59 +09:30
strbuf.c Fix bugs in strbuf_ncat(), strbuf_puts() and strbuf_putc() 2012-07-11 11:41:15 +09:30
strbuf.h Fix bugs in strbuf_ncat(), strbuf_puts() and strbuf_putc() 2012-07-11 11:41:15 +09:30
testconfig.sh.in Trival test of dna JNI command line entry point 2012-04-23 18:25:26 +09:30
testdefs_rhizome.sh Refactor test utilities from 'rhizomeops' into testdefs_rhizome.sh 2012-07-06 13:32:21 +09:30
testdefs.sh Improve test scripts: use new 'wait_until' primitive 2012-07-11 16:51:29 +09:30
testframework.sh Improve test framework 2012-07-11 16:51:29 +09:30
testnacl.c Added test code for NaCl. 2011-10-25 13:39:14 +10:30
TODO Assorted unknown changes. Updated Makefile.in etc to properly build serval.c for building asterisk module. 2011-06-15 13:52:30 +09:30
trans_cache.c Remove unnecessary debug messages from transaction cache 2012-03-13 16:35:15 +10:30
vomp.c Clean up compile warnings and fix bugs 2012-07-06 10:14:39 +09:30

@PGS/20120615

Sometimes it is helpful to run more than one servald instance on a given machine
for debugging purposes.  To make this easier, there is a dummy interface driver
that servald knows about.  To use it:

1. create an empty file, e.g., dummynet0, somewhere convenient

2. For each servald instance you wish to use it, set the interface specification to include the dummynet file. Use a specification like "+>pathtodummynetfile", where pathtodummynetfile is the relative path from the instance path of that servald instance to the dummynet file.  For example, you might run:
   % servald config set interfaces "+eth0,+>../dummynet0"

3. Run each servald instance.  They should now use the dummy network.

NOTE: Because dummynets are files, not sockets, poll/select does not work on them.  As a result the main overlay loop has slightly different behaviour and timing characteristics when a dummynet is in use.

TODO: Convert dummynet interface to use a unixdomain socket, and a simple dummynet server that reflects packets among the clients connected, so that all socket semantics (including use of poll/select) are preserved.