The Serval Project's core daemon that implements Distributed Numbering Architecture (DNA), MDP, VoMP, Rhizome, MeshMS, etc.
Go to file
gardners 499c4018bf Imported ref10/ implementation of crypto_sign from supercop-20120525
as recommended a while back by Dan Bernstein as offering the fastest
implementation of the crypto_sign() primitives for ARM.
Indeed this implementation IS faster. See comparison below for a
Rock 500 handset (800MHz(?) ARM6, no NEON):

Original ref/ implementation on an R500 stock rom (non-rooted)::
mean signature generation time = 96.80ms
mean signature verification time = 272.20ms

ref10/ implementations on an R500 stock rom (non-rooted):
mean signature generation time = 4.00ms
mean signature verification time = 13.00ms

Approximately 20x speed up, just like that :)
2012-10-18 17:26:48 +10: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 Artefacts created by libtoolize -c -i 2012-09-12 15:21:50 +09:30
nacl Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
sqlite-amalgamation-3070900 Reduce use of stderr in many places 2012-08-01 17:54:02 +09:30
tests Issue #17, improve "rhizome extract manifest" command 2012-10-15 16:48:04 +10:30
win32 Allow clients to request variables for all records by passing empty did. 2011-04-27 12:17:26 +09:30
.dir-locals.el Add file to set emacs variables to match the prevailing style. 2012-07-29 13:52:46 +09:30
.gitignore Finish test and implementation of directory service 2012-09-18 12:30:15 +09:30
aclocal.m4 Merge branch 'master' of github.com:servalproject/serval-dna 2012-04-23 20:41:52 +09:30
Android.mk Merge branch 'rhizomedirect' into 'master' 2012-10-05 17:45:30 +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 Try detecting ALSA better. 2012-09-06 12:43:06 +09:30
batman.c Initial stab at porting to Solaris. 2012-09-05 20:42:50 +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
cli.c Reuse command line parsing framework with monitor interface 2012-09-25 13:31:34 +09:30
cli.h Reuse command line parsing framework with monitor interface 2012-09-25 13:31:34 +09:30
client.c Initial stab at porting to Solaris. 2012-09-05 20:42:50 +09:30
codecs.c Use new typedef time_ms_t everywhere 2012-08-09 12:14:32 +09:30
commandline.c Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
conf.c Typedef debugflags_t replaces (unsigned int) 2012-10-10 13:21:20 +10:30
conf.h Remove carnal knowledge of conf.c from serval.h and commandline.c by providing a function to set the instance path override. 2012-07-29 18:58:41 +09:30
config.guess Artefacts created by libtoolize -c -i 2012-09-12 15:21:50 +09:30
config.sub Artefacts created by libtoolize -c -i 2012-09-12 15:21:50 +09:30
configure.in fix interface detection on solaris. 2012-10-15 15:58:42 +10:30
constants.h Issue #17, overhaul manifest author crypto logic 2012-10-11 17:58:24 +10:30
dataformats.c Move is_sid_broadcast() and is_sid_any() macros into serval.h 2012-10-09 13:49:23 +10:30
directory_client.c Fix - make sure we don't lose track of scheduled alarms 2012-10-16 14:54:28 +10:30
directory_service.c Only parse incoming packets with port numbers matching our expected responses 2012-10-02 16:15:30 +09:30
dna_helper.c Merge branch 'rhizomedirect' into 'master' 2012-10-05 17:45:30 +09:30
dna_identity.c Added not implemented flags to some functions. 2012-03-17 13:01:43 +10: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 Improve debug logging from watch(), schedule() etc. 2012-10-16 17:00:03 +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 Initial stab at porting to Solaris. 2012-09-05 20:42:50 +09:30
install-sh Artefacts created by libtoolize -c -i 2012-09-12 15:21:50 +09:30
jni.c Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
keyring.c Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
log.c fixed bug with mkstemp() on Linux (format must be 6x X, not 5x X). 2012-10-18 16:11:24 +10:30
log.h Logging/debug improvements: __WHENCE__, __whence 2012-10-16 17:00:03 +10:30
lsif.c Listen to INADDR_ANY on OSX, otherwise we can't hear broadcasts 2012-08-09 13:32:08 +09:30
ltmain.sh Artefacts created by libtoolize -c -i 2012-09-12 15:21:50 +09:30
macconfig Fixed broadcast address discovery to work on Mac. 2011-08-08 16:11:05 +09:30
main.c various fixes for libmonitorclient and commits made by others 2012-07-29 12:35:53 +09:30
Makefile.dbg Move debug options to Makefile.dbg so we don't have to re-run configure. 2012-07-29 14:55:10 +09:30
Makefile.in Merge branch 'rhizomedirect' into 'master' 2012-10-05 17:45:30 +09:30
mdp_client.c Only parse incoming packets with port numbers matching our expected responses 2012-10-02 16:15:30 +09:30
mdp_client.h Only parse incoming packets with port numbers matching our expected responses 2012-10-02 16:15:30 +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 Reuse command line parsing framework with monitor interface 2012-09-25 13:31:34 +09:30
monitor-client.c Write simple vomp console client 2012-09-28 15:23:50 +09:30
monitor-client.h Reuse command line parsing framework with monitor interface 2012-09-25 13:31:34 +09:30
monitor.c Merge branch 'rhizomedirect' into 'master' 2012-10-05 17:45:30 +09:30
mpbuild Added mesh potato build script. 2011-08-10 15:39:40 +02:00
net.c Logging/debug improvements: __WHENCE__, __whence 2012-10-16 17:00:03 +10:30
net.h Logging/debug improvements: __WHENCE__, __whence 2012-10-16 17:00:03 +10:30
openwrt-makefile Imported Jonathan Lahav's updates to openwrt-makefile. 2012-10-15 22:28:37 +10:30
overlay_address.c Fix compile errors and some warnings on solaris. 2012-10-15 15:36:36 +10:30
overlay_address.h Only allow abreviated SID's in route announcements 2012-10-10 15:29:36 +10:30
overlay_advertise.c Ensure paths decay and eventually expire 2012-10-12 14:22:26 +10:30
overlay_buffer.c Logging/debug improvements: __WHENCE__, __whence 2012-10-16 17:00:03 +10:30
overlay_buffer.h Refactor overlay buffer interface to support simple parsing 2012-08-31 15:03:07 +09:30
overlay_interface.c Logging/debug improvements: __WHENCE__, __whence 2012-10-16 17:00:03 +10:30
overlay_mdp.c Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
overlay_olsr.c Fix compile errors and some warnings on solaris. 2012-10-15 15:36:36 +10:30
overlay_packet.h Move requested payload queue into frame structure 2012-10-09 15:44:37 +10:30
overlay_packetformats.c Add hop count to mdp ping 2012-10-10 16:22:31 +10:30
overlay_payload.c Fix compile errors and some warnings on solaris. 2012-10-15 15:36:36 +10:30
overlay_route.c Fix compile errors and some warnings on solaris. 2012-10-15 15:36:36 +10:30
overlay.c Fix - make sure we don't lose track of scheduled alarms 2012-10-16 14:54:28 +10:30
pa_phone.c Add support for srtuct ucred on BSD. 2012-05-21 12:22:50 +09:30
packetformats.c Reduce use of stderr in many places 2012-08-01 17:54:02 +09:30
peers.c Initial stab at porting to Solaris. 2012-09-05 20:42:50 +09:30
performance_timing.c call stack errors made fatal and better explained. 2012-10-18 16:12:34 +10: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
README.WHYNOTSIPS Add a note about why we aren't using SIPS/ZRTP. 2012-08-27 11:28:06 +09:30
responses.c Refactor log.h constants.h serval.h 2012-07-30 16:15:42 +09:30
rhizome_bundle.c Logging/debug improvements: __WHENCE__, __whence 2012-10-16 17:00:03 +10:30
rhizome_crypto.c Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
rhizome_database.c Logging/debug improvements: __WHENCE__, __whence 2012-10-16 17:00:03 +10:30
rhizome_direct_http.c Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
rhizome_direct.c Merge branch 'rhizomedirect' into 'master' 2012-10-05 17:45:30 +09:30
rhizome_fetch.c Fix handling of socket closure on OSX 2012-10-08 16:53:52 +10:30
rhizome_http.c Fix handling of socket closure on OSX 2012-10-08 16:53:52 +10:30
rhizome_packetformats.c Quieten Rhizome advertisement debug logging 2012-10-10 13:22:30 +10:30
rhizome.c Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
rhizome.h Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
serval_packetvisualise.c made non-xpf wrapper for serval_packetvisualise, and added 2012-10-18 16:11:25 +10:30
serval.h Improve debug logging from watch(), schedule() etc. 2012-10-16 17:00:03 +10:30
servalwrap.c Fix compilation for android 2012-07-24 16:04:59 +09:30
server.c Issue #21, INFO message on unlink a stale pidfile 2012-10-08 17:20:19 +10:30
sha2.c Initial stab at porting to Solaris. 2012-09-05 20:42:50 +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
socket.c Refactor out socket name setting code into one place. 2012-07-29 22:20:54 +09:30
socket.h Refactor out socket name setting code into one place. 2012-07-29 22:20:54 +09:30
srandomdev.c Don't use an uninitialised variable. 2012-09-01 16:32:50 +09:30
str.c Merge branch 'rhizomedirect' into 'master' 2012-10-05 17:45:30 +09:30
str.h Merge branch 'rhizomedirect' into 'master' 2012-10-05 17:45:30 +09:30
strbuf_helpers.c Fix formatting bug in strbuf_toprint() et al 2012-10-03 17:10:57 +09:30
strbuf_helpers.h Improve alloca_toprint() functions 2012-09-28 17:46:40 +09:30
strbuf.c Fix bug in alloca_toprint() that caused SEGV 2012-08-06 15:39:08 +09:30
strbuf.h Introduce struct __sourceloc 2012-08-23 12:31:07 +09:30
strlcpy.c Fix issues arising from new strlcpy.c 2012-08-14 11:23:27 +09:30
strlcpy.h Add strlcpy as it appears some systems (Ubuntu and probably Debian) don't have it. 2012-08-13 18:24:19 +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 Imported ref10/ implementation of crypto_sign from supercop-20120525 2012-10-18 17:26:48 +10:30
testdefs.sh Add multi-hop routing test 2012-10-09 14:49:24 +10:30
testframework.sh Improve test framework: tfw_cat and shell backtrace 2012-09-28 15:30:47 +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
vomp_console.c Fix compiler warning on Linux gcc 4.7.1 2012-10-08 17:20:19 +10:30
vomp.c Write simple vomp console client 2012-09-28 15:23:50 +09:30
xprintf.c Add xprintf() extensible stream formatter 2012-08-03 16:44:05 +09:30
xprintf.h Add xprintf() extensible stream formatter 2012-08-03 16:44:05 +09:30

When we were looking at implementing secure calls for OpenBTS it was suggested
that we configure Asterisk to use SIPS/ZRTP. This would have been relatively
easy to setup, however there are a few problems.

Number one is that when Asterisk checks the certificates it will either
validate the certificate (checking the chain of trust and so on) and then
check that the common name attribute on the certificate matches the hostname
of the peer, or it will do none of these checks. This code is in main/tcptls.c
line 206 (in version 1.8.14.1).

This is undesirable in a setup where there is limited or no infrastructure as
there is not likely to be a DNS server setup, or even rigid IP assignments
that would allow a static hosts file based setup. This situation would force
the administrator to disable the checks completely which would allow a trivial
man in the middle attack.

It would be possible to modify Asterisk to have a third way where it validates
the certificate and checks the chain of trust but does not look at the common
name. We decided against this approach as the VOMP channel driver was written
in time to avoid it.