Commit Graph

2059 Commits

Author SHA1 Message Date
gardners
692817ffba added functions for reading values from byte streams. 2012-11-30 21:02:43 +10:30
gardners
e5d5f3f750 fixed bugs with Rhizome over MDP requests. Now seems to output
a series of MDP block requests as it should.
2012-11-30 20:20:33 +10:30
gardners
11cce162dc fixed bugs with preparing Rhizome MDP packets (source sid was not
being set properly).
2012-11-30 20:06:47 +10:30
gardners
05745d9b9a same fix as previous commit, but in another place. 2012-11-30 20:03:53 +10:30
gardners
5becae0136 fixed segfault bug with obtaining own SID. 2012-11-30 20:03:18 +10:30
gardners
6c0e6ef1c2 added extra tests for Rhizome over HTTP and MDP transports.
HTTP transport works, MDP transport segfaults.  To be examined.
2012-11-30 17:42:17 +10:30
gardners
3c4abfb566 improved and simplified test for rhizome http not running 2012-11-30 15:06:31 +10:30
gardners
9e29db827f added test for correct function of rhizome.http.enable config
option.
2012-11-30 15:02:34 +10:30
gardners
b91e832ad7 added improved control of rhizome http and mdp servers via
separate config options with their own predicate functions.
2012-11-30 14:47:27 +10:30
Jeremy Lakeman
d5f78bcffe Rework reachable link flags for simpler bitmask tests 2012-11-30 14:38:09 +10:30
gardners
7a4e3d20f8 Actually send Rhizome over MDP request packets.
Actually call appropriate callback when receiving Rhizome over
MDP packets.
2012-11-30 14:17:05 +10:30
Andrew Bettison
4aac3637ed Improve new config code, SORTED and NO_DUPLICATE flags
Config Object Model parser now returns bitmask result of CFxxx flags and only
allocates root node if the config file is non-empty.

Added emalloc_zero().
2012-11-30 12:32:30 +10:30
gardners
eb7524e068 factored out internal MDP services into a separate file, and made
core case statement in that brief and clear.
2012-11-30 11:48:00 +10:30
gardners
a665750f4c prepare and dispatch mdp frames for rhizome over mdp.
still need to set bodies of frames, and schedule call backs,
and handle the requests when received.
2012-11-29 21:08:11 +10:30
gardners
c05ebada8c more work on rhizome over MDP. 2012-11-29 20:39:30 +10:30
Andrew Bettison
f42292ffc6 Refactor emalloc() etc. into mem.c/.h 2012-11-29 17:12:43 +10:30
Andrew Bettison
3686a4ade4 Improve new config code to use "log.h"
With all the __whence/__WHENCE__ goodness, ready for integration into servald.
2012-11-29 16:44:06 +10:30
gardners
629a36f041 call switch to mdp fetch if http request setup fails. 2012-11-29 16:43:19 +10:30
gardners
a07e5761c4 added code to try switching to mdp if http fetching fails for
any reason.
2012-11-29 16:15:51 +10:30
Andrew Bettison
f654d435b1 Rename some new config source and header files 2012-11-29 16:12:03 +10:30
Andrew Bettison
2853d346f1 Re-organise new config code some more
Split into several source .c files, leave throw-away code in config_test.c.
2012-11-29 16:07:34 +10:30
gardners
faad1f26b1 Pass SID as well as ip:port through rhizome fetch request logic.
This is in preparation for rhizome over MDP.
2012-11-29 15:38:04 +10:30
Andrew Bettison
32debf57ef Reorganise and rename new config code ready for integration 2012-11-29 14:33:32 +10:30
Andrew Bettison
fdb3249522 Improve toprint_str() function
If supplied string pointer is null, return "NULL" result instead of SEGV.
2012-11-29 14:32:43 +10:30
Andrew Bettison
23fff99fee Add remaining config options to new config schema 2012-11-29 13:21:12 +10:30
Andrew Bettison
b940ac8617 Improve new config prototype code
Sort ARRAYs if optional key comparison function is given in schema, no longer
the role of the validator function.
2012-11-29 11:48:01 +10:30
Andrew Bettison
e2f6989fe8 Improve new config prototype code
Rework ARRAYs, replacing label string with typed key, declaring KEY and VALUE
independently.

Implement dna.helper.argv array using key of type unsigned short.

Implement mdp.iftype.<interfacetype>.tick_ms using key of type short for the
interface type code.
2012-11-29 09:24:02 +10:30
Andrew Bettison
58bf0e1752 Improve new config prototype code
Add hosts.SIDHEX.{interface,network,port} config options.
2012-11-29 06:28:28 +10:30
Andrew Bettison
e7cda64190 Improve new config prototype code
The dna.helper.argv validation function now sorts the array in numerical order
of labels using qsort(3).

Add LABELLEN argument to ARRAY schema macros, to control the size of the
label[] string (was fixed at 41 chars before).
2012-11-29 05:47:52 +10:30
Andrew Bettison
c6b2efe396 Improve new config prototype code
Add monitor.socket and monitor.uid to schema.

Remove some deprecated warning functions.
2012-11-28 18:13:53 +10:30
Andrew Bettison
af6a912a1f Improve new config prototype code
Implement dna.helper.argv array label validation.

Ignore comment lines starting with '#'.
2012-11-28 17:54:19 +10:30
Jeremy Lakeman
053fa0d52f Reduce size of MDP port encoding 2012-11-28 15:45:14 +10:30
Jeremy Lakeman
a978e9ae22 Add place holder for packet sequence numbers 2012-11-28 15:45:14 +10:30
Jeremy Lakeman
17690bab81 Add packed integer parsing to buffer functions 2012-11-28 15:45:14 +10:30
Jeremy Lakeman
f86176f3bd Reserve high nonce bit for future use 2012-11-28 15:45:14 +10:30
Jeremy Lakeman
383a63107f Use named constant for crypto_box_BOXZEROBYTES 2012-11-28 15:45:14 +10:30
Jeremy Lakeman
0e0137e968 Hide some buffer implementations details 2012-11-28 15:45:09 +10:30
Jeremy Lakeman
1cd6b6955a Renumber well known mdp ports to use less bits 2012-11-28 15:44:40 +10:30
Jeremy Lakeman
dee3367308 Reduce byte count for mdp payloads by excluding overlay type 2012-11-28 15:44:40 +10:30
Jeremy Lakeman
527e922e29 reduce MTU to fit in a single packet 2012-11-28 15:44:39 +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
aeaeac8a79 No broadcast id required for single hop 2012-11-28 15:44:39 +10:30
Jeremy Lakeman
9939400c82 Remove dead code 2012-11-28 15:44:33 +10:30
Jeremy Lakeman
f13db5405e New payload header format 2012-11-28 15:43:59 +10:30
Jeremy Lakeman
5a5853f38a Don't lookup subscribers twice for route announcements 2012-11-28 15:43:58 +10:30
Jeremy Lakeman
e0878644fe Add command to dump routing table 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
6d958f3bf3 Fix possible SEGV 2012-11-28 15:43:57 +10:30