Andrew Bettison
cfe4da687c
New hton_in_addr() function
...
To silence warnings in struct in_addr assignments on Solaris, whose struct
in_addr definition is a monstrosity.
2013-02-05 16:56:37 +10:30
Jeremy Lakeman
b35c1aca43
Specify that unicast traffic should use unicast UDP packets
2013-01-29 11:57:13 +11:00
Jeremy Lakeman
9a78e16625
Use payload queue for periodic route advertisements
2012-12-19 12:36:28 +10:30
Jeremy Lakeman
82db15db5b
Use any packet as a self-announce
...
Stop sending OF_TYPE_SELFANNOUNCE
Deprecate OF_TYPE_DATA_VOICE
Tweak payload priorities
Don't allow client applications to send high priority payloads
2012-12-16 10:09:29 +10:30
Jeremy Lakeman
e517e3a59e
Add per-interface packet transmit limits
2012-12-14 17:07:28 +10:30
Jeremy Lakeman
de8ffd7ea9
Mark all subscribers as unreachable when the network goes down
2012-12-12 10:01:08 +10:30
Andrew Bettison
5985df751d
Overhaul debug flags
...
Replace debugflags_t and DEBUG_XXX bit masks with config schema "debug.xxx"
entries.
No more support for "debug.all".
2012-12-11 15:59:46 +10:30
Jeremy Lakeman
bc91b05d7f
Fix interface matching
2012-12-10 16:15:37 +10:30
Jeremy Lakeman
c3f573ea7f
Add more messages, wait for directory service to start first
...
And make sure gaps in sockaddr_in are zeroed.
2012-12-10 14:42:57 +10:30
Jeremy Lakeman
2932544eb8
Add IPv4 addresses to dummy interface
2012-12-10 14:06:25 +10:30
Jeremy Lakeman
78aa01ad30
Add stun lookup messages
2012-12-10 14:05:57 +10:30
Andrew Bettison
8425882ffc
Merge branch 'newconfig' into 'master'
...
Conflicts:
commandline.c
conf.h
dataformats.c
log.h
overlay_address.c
overlay_interface.c
packetformats.c
rhizome.c
serval.h
tests/directory_service
vomp_console.c
2012-12-07 14:09:55 +10:30
Andrew Bettison
b497c88d9d
Fix 'directory_service' test failures
...
New configuration schema.
2012-12-05 15:47:14 +10:30
Jeremy Lakeman
3dfd64f4da
Add manually triggered network scan command
2012-12-05 15:13:47 +10:30
Jeremy Lakeman
5c7eb4a594
Add unicast probe packets
...
Probe directory service instead of assuming that it is always reachable
Fix directory service and routing tests
2012-12-04 14:47:57 +10:30
Andrew Bettison
caa209fc1d
Integrate new config into servald
...
Not passing any tests yet, but compiles and links and simple uses do not
SEGV.
2012-12-04 14:12:28 +10:30
Jeremy Lakeman
54f9d9b0e0
Rely on please explain, don't send too many full sids
2012-11-28 15:44:39 +10:30
Jeremy Lakeman
3d14e2f3db
Hide more information about packet headers
2012-11-28 15:43:56 +10:30
Andrew Bettison
c4b90a108b
Fix compile warnings on Solaris (gcc 4.4)
2012-11-28 14:13:25 +10:30
Andrew Bettison
494a766b9e
Improve str.h and str.c
...
Move alloca_tohex() from serval.h into str.h so it can be used stand-alone.
Rename str_to_ll_scaled() to str_to_int64_scaled(). Add str_to_uint64_scaled()
and scale_factor().
Add a few more URI parsing functions. Move some functions out of str.c and
into str.h as inline functions.
2012-11-22 18:15:40 +10:30
Jeremy Lakeman
36cee7e9bc
Move payload queueing functions to separate .c file
2012-11-21 11:02:00 +10:30
Jeremy Lakeman
93ee6b3fc8
Don't kill the interface for unreachable unicast peers
2012-11-12 14:46:09 +10:30
Jeremy Lakeman
54e2d66934
Allow for with slightly longer paths
2012-11-09 13:40:55 +10:30
Andrew Bettison
d9fb8d7956
Refactor 'interfaces' config parsing
...
Use new "str.h" str_to_ll_scaled() function to implement parse_quantity().
2012-10-31 18:16:05 +10:30
Andrew Bettison
c3ef89acc1
Fix bug: "interfaces=+" not working
...
The logic was clobbered back in June in a refactor by Daniel.
2012-10-30 14:50:47 +10:30
Jeremy Lakeman
a4b392d693
Don't include rhizome adverts in packets with voice frames
2012-10-29 13:10:20 +10:30
Jeremy Lakeman
de95bb3971
Gracefully disable rhizome if the database cannot be opened
...
- close database after every command line operation
- don't cache rhizome enabled configuration
- don't send advertisements unless the database is open and the web server is running
- don't provess advertisements unless the database is open
2012-10-29 13:05:03 +10:30
Jeremy Lakeman
bb973e764e
Don't send duplicate payloads over unicast
2012-10-19 10:40:35 +10:30
Jeremy Lakeman
3ab474be16
Always update unicast addresses
2012-10-19 10:40:02 +10:30
Andrew Bettison
259b9a9d24
Logging/debug improvements: __WHENCE__, __whence
...
Introduce __WHENCE__ macro and a block comment in log.h explaining it.
In "primitive" kinds of functions, rename 'whence' arguments to '__whence' and
use WHYF(), WARNF(), DEBUGF() macros instead of calling logMessage() directly.
2012-10-16 17:00:03 +10:30
Andrew Bettison
89343c69cd
Merge branch 'rhizomedirect' into 'master'
2012-10-05 17:45:30 +09:30
Jeremy Lakeman
2a7bd28e51
Extend packet queue to allow sending multiple copies of the same payload for reliability
2012-09-28 11:28:01 +09:30
Andrew Bettison
fb7c9e5633
Fix compiler warnings on Linux gcc 4.7.1
2012-09-27 11:02:58 +09:30
Jeremy Lakeman
b7c088f2fd
Reduce latency of dummy interface, improve some debug messages
2012-09-20 10:28:02 +09:30
Jeremy Lakeman
ac00c06a18
Improve reliability of tests with dummy interface
2012-09-20 10:28:01 +09:30
Jeremy Lakeman
0538e95be8
Reduce the potential for packet storms
2012-09-20 10:28:01 +09:30
Jeremy Lakeman
dc8a453b7f
Add please explain message
...
- non-tick packets now include a poorly formed SELF_ANNOUNCE to correctly identify every packet sender
2012-09-20 10:28:01 +09:30
Jeremy Lakeman
ee4e05109f
Improvements to dummy interfaces
...
- separate folder configuration
- allow for tickless dummy interface
- allow for "unicast" peer discovery (though there's no packet filtering)
2012-09-19 09:52:14 +09:30
Jeremy Lakeman
5914bc92ce
Use a directory service as a default route
2012-09-19 09:50:29 +09:30
Jeremy Lakeman
7c73ca7a78
Finish test and implementation of directory service
2012-09-18 12:30:15 +09:30
Jeremy Lakeman
ac8d9b93e6
Add stub directory service
2012-09-14 11:50:45 +09:30
Jeremy Lakeman
58fae14ef2
Bind to interface address so unicast packets can be received & always bind to INADDR_ANY
2012-09-11 15:20:44 +09:30
Jeremy Lakeman
fbe9980199
Add explicit flag for unicast peers
2012-09-10 10:55:12 +09:30
Jeremy Lakeman
f2bae4361e
Improve logging and failure handling
2012-09-10 10:31:01 +09:30
Jeremy Lakeman
2b530bb02a
Trying to send unicast sas request
2012-09-07 13:04:40 +09:30
Jeremy Lakeman
3b55643b08
Send my full sid periodically for any outgoing payload header
2012-09-07 10:01:34 +09:30
Jeremy Lakeman
adde23dfd0
Fix for restarting interfaces with different broadcast address
2012-09-06 09:57:36 +09:30
Paul Gardner-Stephen
bba6839656
Initial stab at porting to Solaris.
...
It compiles without warning (with CC=gcc) but doesn't link
because NaCL doesn't build yet.
2012-09-05 20:42:50 +09:30
Jeremy Lakeman
c6eafb5380
Demote port comparison from an assert to an error
2012-09-01 12:41:51 +09:30
Jeremy Lakeman
cf22ef8e8c
Ensure route and interface is still valid before sending packet
2012-09-01 12:41:50 +09:30