Commit Graph

52 Commits

Author SHA1 Message Date
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
22c6b530ed Rework broadcast address handling, working towards a unified address struct 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
Andrew Bettison
12d8bc0c12 Use new typedef time_ms_t everywhere 2012-08-09 12:14:32 +09:30
Andrew Bettison
ac12eac5bc Remove a line of redundant log debug 2012-07-31 17:49:00 +09:30
Andrew Bettison
24b05eaeaa Fix bug in self-announcements
On first tick, do not send s1 = 0, but s1 = s2 - 1 (1 ms window)
2012-07-31 16:21:29 +09:30
Andrew Bettison
240be25793 Replace overlay_gettime_ms() with gettime_ms() 2012-07-30 17:22:38 +09:30
Jeremy Lakeman
7678ce8915 Read packed payloads directly from the received buffer 2012-07-18 14:54:23 +09:30
Jeremy Lakeman
ddba8033e4 Refactor packet envelope and sid abbreviation reading and writing 2012-07-17 15:30:50 +09:30
Jeremy Lakeman
d36ba78afe Refactor packet construction and sending 2012-07-13 12:18:50 +09:30
Jeremy Lakeman
e9566de0af Fix payload length fields 2012-07-13 12:18:49 +09:30
Jeremy Lakeman
35b4ba8594 Schedule interface ticks per interface 2012-07-13 12:13:46 +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
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
Andrew Bettison
8020ea3b74 Merge branch 'eventscheduler' into master
Conflicts:
	commandline.c
	monitor.c
	overlay.c
	overlay_interface.c
	overlay_packetformats.c
	rhizome_fetch.c
	rhizome_http.c
	rhizome_packetformats.c
	serval.h
	server.c
	testdefs.sh
	testframework.sh
	tests/dnaprotocol
	tests/server
2012-07-03 10:26:22 +09:30
Andrew Bettison
0a667a374e Fix bug in self-announce full/prefix logic 2012-07-02 16:06:38 +09:30
Jeremy Lakeman
89566e4d3d Refactor how functions are scheduled or file handes are watched 2012-07-02 13:19:54 +09:30
Andrew Bettison
7307c991a2 Add mdp.selfannounce.ticks_per_full_address config option 2012-06-28 18:20:38 +09:30
Andrew Bettison
4764cf2ace Get rid of fprintf(stderr,...) in overlay_packetformats.c 2012-06-25 17:04:03 +09:30
gardners
9565f0885f adjust debug output. 2012-06-25 15:46:54 +09:30
Andrew Bettison
881576212c Fix all trivial compiler warnings 2012-05-10 18:08:59 +09:30
gardners
cdb8c702bd fix nasty overlay_abbreviation error when sending self-announcements. 2012-04-30 05:57:30 +09:30
gardners
d726183808 cleaned up debug output. 2012-04-29 12:01:56 +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
e7e8b2d630 fixed bug in RFS size patching.
A lot of debug output tweaks to track the problem down.
2012-04-16 06:06:43 +09:30
gardners
cad00beb5b Fix for identity enquiry frame type. 2012-04-03 09:22:58 +09: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
5cc6079c0f Move from recvfrom() to recvmsg() so that we can get packet TTLs on
reception.  Other changes associated with overlay mesh.
2012-02-05 16:15:19 +10:30
gardners
bf9f8559f1 Various debug fiddles and conversion from select() to poll()
(although poll() still doesn't let us monitor ordinary files
which is silly.)
2012-01-12 16:47:24 +10:30
gardners
0b73df19c8 Fixed bug with handling of OA_CODE_SELF intepretation. 2012-01-11 07:16:22 +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
800f8d41eb Revamped debug/verbosity control to use flags for functions of interest
instead of general verbosity ramp.
2012-01-10 15:56:40 +10:30
gardners
9156a68c7f Added 2nd implementation of serval packet decoder for aiding debugging
of packet formation and decoding.
Fixed time calculation bug (duplicate time functions based off different
epochs).
Various debugging fiddles and tweaks.
2012-01-10 14:05:26 +10:30
gardners
0868e30caa Fixed issues with recognition of valid packet formats. 2012-01-09 04:30:23 +10:30
gardners
16fb3a3f61 Added missing GPL license statements. 2011-12-21 20:25:05 +10:30
gardners
abf626a5c5 Fixed return code of packetOkOverlay(). 2011-09-13 05:52:53 +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
144f3ee4b1 Thinned out debug messages and fixed SID generation bug to make sure
that it always generates a valid SID, i.e., not beginning with 0.
2011-09-07 21:50:20 +09:30
gardners
78e3bfc4a3 Finally looks like selfacknowledgement acks get sent and can be
decoded.  Now to actually use them ...
2011-09-07 13:09:54 +09:30
gardners
b6ce25ab24 Believe I have found and stemmed the memory corruption bug, although
the trigger (poor packet header decoding/address extraction) remains.
2011-09-07 11:26:26 +09:30
gardners
cbb1939241 Fixed various compiler warnings.
Change overlay_frame payload to use an overlay_buffer structure for
consistency and ease of payload construction.
Added some sanity checking to peer score calculation.
Getting closer to being able to TX acks to selfannouncements.
Other little things to accomplish these.
2011-09-05 12:19:53 +09:30
gardners
1d6d744067 More work towards overlay mesh.
Added single byte append to overlay_buffer type.
Added source interface to self-announce packets.
Probably other stuff, too.
2011-09-04 06:36:39 +09:30
gardners
6cec2207e1 Implemented secure address hashing function.
Fixed some bugs.
Added code to record observations.
2011-08-20 21:28:25 +09:30
gardners
857bf9c11e All interfaces now use a common synchronised tick-clock so that we can
more easily keep track of node reachability.
2011-08-20 19:06:15 +09:30
gardners
b075b51c43 Merged overlay_payload and overlay_frame structures to just overlay_frame
which is now used for both encapsulation and decapsulation.
Improved payload length encoding scheme to be shorter for most payload
lengths.
selfannouncement frames now get directed to stub functions for
implementation.
2011-08-17 10:52:17 +09:30
gardners
62a7a65fd6 More work on parsing overlay frames. Now has bare bones to think about
forwarding frames. routing is still not implemented, so it doesn't do anything yet,
but it does try.
2011-08-15 16:22:29 +02:00
gardners
bd16fbbf5b Address lookup from cache works :)
This gets us a functional system once we add the code to send PLEASEEXPLAIN
messages to request resolutions.
2011-08-15 13:50:30 +02:00
gardners
02bf80246e Fixed bugs with overlay frame parsing. 2011-08-15 13:10:37 +02:00