Jeremy Lakeman
4fc48d44fd
Simplify subscriber enumeration & only support the use-cases we need
2016-01-12 11:47:29 +10:30
Jeremy Lakeman
75523b7f3c
Don't talk about SID's that don't match the whole abbreviation
2016-01-12 10:29:46 +10:30
Jeremy Lakeman
2ddbb86cb5
Don't ask for explanation of SIDs with dead routing links
2015-11-16 14:09:35 +10:30
Jeremy Lakeman
79e8a94792
Add route_link.h
2015-09-28 11:58:48 +09:30
Jeremy Lakeman
deb1027024
Ignore duplicate link layer packets, eg bluetooth names
2015-08-03 11:12:39 +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
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
13bb8a558d
Re-route packets on retransmision if the route has changed
2015-03-30 11:27:37 +10:30
Jeremy Lakeman
a37db8e958
Move most console commands to other files
2014-08-25 16:03:30 +09:30
Jeremy Lakeman
5f2c6e364a
Refactor interface addresses to use new socket_address struct
2014-01-09 15:01:38 +10:30
Andrew Bettison
9b64bb87e0
Uniform copyright notices
...
Added some missing copyright/license block comments
2013-12-04 17:15:36 +10:30
Andrew Bettison
851dbb4d64
Add 'debug.subscriber' config option
...
Add debug logging to find_subscriber() function
2013-11-26 15:33:54 +10:30
Andrew Bettison
a9ccd38adc
Improve overlay buffer ob_xxx() primitives
...
All ob_append_xxx(b,...) functions return void
ob_makespace() returns 1 if successful, 0 if not
Add ob_overrun(b) predicate to check for overrun after any number of
appends
2013-11-26 15:33:54 +10:30
Jeremy Lakeman
7629f24d3f
Free subscriber entries after all commands
2013-11-06 15:36:21 +10:30
Andrew Bettison
a95ef79139
Use sid_t everywhere
...
Remove stowSid() at last
Change API of tohex() and strbuf_tohex(), to pass string length instead of
binary byte count. This allows odd numbers of hex digits to be produced.
Remove alloca_tohex_sid(); replace with alloca_tohex_sid_t()
New alloca_tohex_sid_t_trunc() macro
2013-10-09 18:54:21 +10:30
Jeremy Lakeman
926665e860
Ask for explanation of SIDs over point to point links
2013-09-20 14:41:50 +09:30
Jeremy Lakeman
2a5ba97b48
Add rhizome test over fakeradio
2013-09-13 14:02:35 +09:30
Jeremy Lakeman
9a50d8a9ef
Route mulit-hop via unicast links
2013-08-09 16:37:54 +09:30
Jeremy Lakeman
81afc42d8b
Major refactor to packet queuing and delivery in preparation for unicast link tracking.
...
Unicast tests broken
2013-08-09 09:37:08 +09:30
Jeremy Lakeman
49e0286b43
Reduce packet header size for point-to-point links
...
- new interface.x.point_to_point config
- disable local echo for point to point dummy interfaces
- add ME and YOU sid abbreviation codes after learning other sid
2013-07-16 15:38:00 +09:30
Jeremy Lakeman
61a958fd34
Avoid setting alarms with deadlines that have already elapsed
2013-06-19 15:36:18 +09:30
Jeremy Lakeman
bc50d3e184
Establish a unicast link to nodes who are filtering broadcasts
2013-05-29 11:58:06 +09:30
Jeremy Lakeman
85b885dde2
Add basic link state routing
2013-04-26 16:54:01 +09:30
Andrew Bettison
8771a50b14
Fix TTL out-of-range bug
...
Was causing two routing tests to fail since the TTL decrement
logic was fixed in a8b88a46
The default TTL of 64 overflowed the 5-bit unsigned int in the MDP
packet header
2013-04-23 16:02:39 +09:30
gardners
2252fdcaa7
created tool for automatically finding IN()s without matching
...
OUT()s or where return() is used instead of RETURN().
Added OUT() to end of all functions using IN() that lacked it to
make it easier to statically analyse this invariant.
Fixed several return instead of RETURNs detected through use of
this tool. #49
2013-02-20 16:18:56 +10:30
Jeremy Lakeman
c7caec488a
Don't aggregate packets together on radio links
2013-02-20 15:36:23 +10:30
Jeremy Lakeman
7be03f15e7
Move link tracking to one c file
2012-12-14 17:07:28 +10:30
Andrew Bettison
7d970d8f92
Merge branch 'newconfig' into 'master'
2012-12-11 17:21:56 +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
542a9f817d
Send monitor announcement based on reachability change instead of routing calcs
2012-12-11 14:21:38 +10:30
Jeremy Lakeman
ed8be33f82
Please explains should be sent in packets with a full sid
2012-12-11 14:17:01 +10:30
Jeremy Lakeman
70266fc7e5
Resolve host names for use with a directory service
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
Jeremy Lakeman
ce48ca97b0
Validate abbreviation length
2012-12-06 12:21:40 +10:30
Jeremy Lakeman
10ce16e1f3
Fix reading port number
2012-12-04 15:53:32 +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
d5f78bcffe
Rework reachable link flags for simpler bitmask tests
2012-11-30 14:38:09 +10:30
Jeremy Lakeman
0e0137e968
Hide some buffer implementations details
2012-11-28 15:45:09 +10:30
Jeremy Lakeman
24a3ed1469
Simplify address abbreviation format and interface
2012-11-28 15:44:39 +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
f13db5405e
New payload header format
2012-11-28 15:43:59 +10:30
Jeremy Lakeman
627e86fb73
Shift all payload header writing to one place
2012-11-28 15:43:58 +10:30
Jeremy Lakeman
6d958f3bf3
Fix possible SEGV
2012-11-28 15:43:57 +10:30
Jeremy Lakeman
ce63e96db2
Use decode structure for tracking previous sid
2012-11-28 15:43:57 +10:30
Jeremy Lakeman
3dc831481e
Degrade link score to zero within 20 seconds
2012-11-16 15:54:01 +10:30
Andrew Bettison
3d55a019c0
Quieten some unconditional DEBUG messages
2012-11-08 10:23:57 +10:30