The Serval Project's core daemon that implements Distributed Numbering Architecture (DNA), MDP, VoMP, Rhizome, MeshMS, etc.
Go to file
Andrew Bettison 889f9c4628 Re-instate prior server start code
Do not use server_probe().
Use setsid() instead of setpgrp().
Still uses double-fork technique, as advised in setsid(2) man page.
Return exit status 10 if already running, instead of logging an error and exit
status 255.
2012-06-26 16:07:24 +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 Add server start/stop tests 2012-06-26 15:52:37 +09:30
win32 Allow clients to request variables for all records by passing empty did. 2011-04-27 12:17:26 +09:30
.gitignore Add other libtool scripts created by libtoolize -i 2012-04-24 11:46:35 +09:30
aclocal.m4 Merge branch 'master' of github.com:servalproject/serval-dna 2012-04-23 20:41:52 +09:30
Android.mk more work on dna helper interface. 2012-06-21 16:35:28 +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 Check for linux/ioctl.h before including it. 2012-05-21 12:21:57 +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 Remove more obsolete and unused code 2012-06-25 15:40:35 +09:30
codecs.c added stubs for DNA lookup helper app (not yet complete). 2012-06-21 16:35:28 +09:30
commandline.c Re-instate prior server start code 2012-06-26 16:07:24 +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 Factor out rhizome_hex_to_bytes() and chartonybl() 2012-06-25 14:51:21 +09:30
dna_helper.c Tidyup various things (signal hander, use WRITE_STR, staticise stuff) 2012-06-25 16:24:34 +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
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 Pass author SID parameters in binary, not hex 2012-06-08 18:32:14 +09:30
log.c Improve servald logging 2012-06-22 17:19:14 +09:30
lsif.c Added overall timer for main loop, minor tweaks to order and freq. of processes 2012-06-21 11:33:43 +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 a compile time knob to disable timing checks (on by default now). 2012-06-22 20:40:29 +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 Use WRITE_STR instead of writeLine. 2012-06-25 16:24:33 +09:30
monitor.c Use WRITE_STR instead of writeLine. 2012-06-25 16:24:33 +09:30
mpbuild Added mesh potato build script. 2011-08-10 15:39:40 +02:00
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 Check OVERLAY_ADDRESS_CACHE_SIZE is >0 directly to shut clang up. 2012-05-21 13:18:54 +09:30
overlay_advertise.c Added very crude multi-hop route determination. 2012-05-17 17:08:59 +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 reversed changes that broke DNA tests. Improved dnaprotocol 2012-06-21 17:02:36 +09:30
overlay_mdp.c Check the socket isn't too long before copying it to prevent a seg fault. 2012-06-25 14:01:50 +09:30
overlay_packetformats.c Get rid of fprintf(stderr,...) in overlay_packetformats.c 2012-06-25 17:04:03 +09:30
overlay_payload.c first cut at supressing rhizome activity during calls. 2012-05-22 13:05:29 +09:30
overlay_route.c cleaned up some debug output. 2012-05-27 16:36:06 +02:00
overlay.c Get rid of fprintf(stderr,...) in overlay.c 2012-06-25 16:32:52 +09:30
pa_phone.c Add support for srtuct ucred on BSD. 2012-05-21 12:22:50 +09:30
packetformats.c Remove more obsolete and unused code 2012-06-25 15:40:35 +09:30
peers.c Don't use hard coded port number. 2012-06-15 15:09:21 +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 Convert two #warnings to //TODO comments 2012-06-25 15:46:22 +09:30
rhizome_crypto.c Factor out rhizome_hex_to_bytes() and chartonybl() 2012-06-25 14:51:21 +09:30
rhizome_database.c Factor out rhizome_hex_to_bytes() and chartonybl() 2012-06-25 14:51:21 +09:30
rhizome_fetch.c Add HTTP port number to rhizome advertise packet 2012-06-25 18:03:00 +09:30
rhizome_http.c Overhaul rhizome HTTP server start code 2012-06-26 11:07:01 +09:30
rhizome_packetformats.c Add HTTP port number to rhizome advertise packet 2012-06-25 18:03:00 +09:30
rhizome.c Factor out rhizome_hex_to_bytes() and chartonybl() 2012-06-25 14:51:21 +09:30
rhizome.h Factor out rhizome_hex_to_bytes() and chartonybl() 2012-06-25 14:51:21 +09:30
serval_packetvisualise.c Add HTTP port number to rhizome advertise packet 2012-06-25 18:03:00 +09:30
serval.h Use WRITE_STR instead of writeLine. 2012-06-25 16:24:33 +09:30
servalwrap.c Make commandline.c error messages appear on Android log 2012-05-03 14:50:14 +09:30
server.c Add server start/stop tests 2012-06-26 15:52:37 +09:30
sha2.c Improved BYTE_ORDER detection for Android cross-compilation. 2011-12-19 09:06:34 +10: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 Renamed mphlr.h to serval.h 2012-02-23 12:45:42 +10: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.c Add strbuf_reset() 2012-06-25 16:32:52 +09:30
strbuf.h Add strbuf_reset() 2012-06-25 16:32:52 +09:30
testconfig.sh.in Trival test of dna JNI command line entry point 2012-04-23 18:25:26 +09:30
testdefs.sh Add server start/stop tests 2012-06-26 15:52:37 +09:30
testframework.sh Improve test framework: tfw_log function 2012-06-26 15:51:38 +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 vomp calls should work again, and without the server blocking 2012-05-22 10:42:29 +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.