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
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
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
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
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
aeaeac8a79
No broadcast id required for single hop
2012-11-28 15:44:39 +10:30
Jeremy Lakeman
5a5853f38a
Don't lookup subscribers twice for route announcements
2012-11-28 15:43:58 +10:30
Jeremy Lakeman
f8f760b95b
Parse all announcements in the payload
2012-11-28 15:43:58 +10:30
Jeremy Lakeman
627e86fb73
Shift all payload header writing to one place
2012-11-28 15:43:58 +10:30
Jeremy Lakeman
f159e15901
Simplify payload length storage
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
4ca6db34d6
Encapsulate payload header details
2012-11-28 15:40:39 +10:30
Andrew Bettison
4450116472
Refactor string functions, add str_fromprint()
...
Move lots of non-Serval-specific string functions from "serval.h"/dataformats.c
to "str.h"/str.c.
Add str_fromprint() function that reverses the effect of toprint(): interprets
escape sequences in the source string "\n\t\r\0\xHH\\" and replaces them with a
single char in the destination string.
2012-11-07 16:42:45 +10:30
Jeremy Lakeman
b7201a75b2
Ensure paths decay and eventually expire
2012-10-12 14:22:26 +10:30
Jeremy Lakeman
4658251ebe
Only allow abreviated SID's in route announcements
2012-10-10 15:29:36 +10:30
Jeremy Lakeman
275aa49903
Change route announcement format, add please explain support
2012-10-09 12:57:11 +10:30
Jeremy Lakeman
3b55643b08
Send my full sid periodically for any outgoing payload header
2012-09-07 10:01:34 +09:30
Jeremy Lakeman
e05806f25e
Separate routing calculation from resulting rules, refactor more code to use subscriber structure
2012-08-31 15:11:18 +09:30
Jeremy Lakeman
f6c899e107
Refactor overlay buffer interface to support simple parsing
2012-08-31 15:03:07 +09:30
Jeremy Lakeman
aa5706f9d7
Refactor routing node information to use new subscriber tree
2012-08-31 15:03:07 +09:30
Jeremy Lakeman
ddba8033e4
Refactor packet envelope and sid abbreviation reading and writing
2012-07-17 15:30:50 +09:30
Jeremy Lakeman
e9566de0af
Fix payload length fields
2012-07-13 12:18:49 +09:30
Andrew Bettison
2c87039307
Replace overlay_render_sid() with alloca_tohex_sid()
...
To eliminate timebomb bugs caused by rotor wraparound
2012-07-03 17:59:30 +09:30
Andrew Bettison
30d51f0314
Tighten up tests and code relating to peer discovery
2012-07-03 17:38:54 +09:30
Andrew Bettison
78a8aaca16
Code improvements while debugging 'dnaprotocol' tests
...
Use ssize_t and size_t where required by system calls
More stringent checking of errors from system calls
Log the offset when writing to dummy interface file
Clean up many WHY/INFO/DEBUG statements
Convert many fprintf(stderr,...) to DEBUGF()
2012-07-03 15:36:51 +09:30
Jeremy Lakeman
89566e4d3d
Refactor how functions are scheduled or file handes are watched
2012-07-02 13:19:54 +09:30
gardners
e870c35422
Added very crude multi-hop route determination.
2012-05-17 17:08:59 +09:30
gardners
7c8331a587
disable annoying debug message that is triggered by MDP packet
...
corruption bugs, that cause us to think we have seen an advertisement
for a node that doesn't exist. Still need to implement the stub
of code that has been converted to a #warning..
2012-05-07 08:47:22 +09:30
gardners
c9863fe11e
lots of fixes to get overlay mesh routing working on linux with
...
real network interfaces and no dummy interfaces. neighbour discovery
now seems to work.
2012-04-29 11:56:47 +09:30
gardners
13d1d3084e
Various fixes to track down memory handling bugs.
...
Fixed one free-before-time bug with queuing MDP frames.
Some heap corruption bug seems to remain.
2012-03-22 16:33:25 +10:30
gardners
1eb4c34015
Renamed mphlr.h to serval.h
...
(also some temporary debugging has been added in some places)
2012-02-23 12:45:42 +10:30
gardners
ce2afbe2ab
Various fixes and addition of memory corruption framework (not yet active).
...
Rhizome now advertises all manifests, instead of accidently skipping some.
2012-02-15 23:38:23 +10:30
gardners
9a65f6c995
Fixed bug for deciding when to skip manifests
2012-02-14 10:00:39 +10:30
gardners
f8eea651b5
Changed broadcast address to include a 64bit BPI to allow filtering
...
of duplicate broadcast announcements.
2012-01-10 21:56:07 +10:30
gardners
44c0765981
Various debugging code cleanups.
...
Fixed some address resolution bugs (for when sender address is not
fully known).
There is still a bug in dequeuing packets though it seems.
2012-01-10 17:21:26 +10:30
gardners
16fb3a3f61
Added missing GPL license statements.
2011-12-21 20:25:05 +10:30
gardners
2a2f8d752f
reception and processing of advertised routes now works :)
...
Indeed the core of the overlay mesh is now in place and nodes
on simple meshes discover each other. Plenty of bugs are sure
to remain.
2011-09-13 05:37:24 +09:30
gardners
8aa57edee3
Added code to add node advertisements to interface tick packets.
...
Looks like it works. No code to decode it yet.
2011-09-13 04:52:52 +09:30
gardners
552d0095f0
Moved route advertisment to separate file.
2011-09-13 03:35:26 +09:30