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
Jeremy Lakeman
f159e15901
Simplify payload length storage
2012-11-28 15:43:57 +10:30
Jeremy Lakeman
a358d924d7
Remove type flag bits
2012-11-28 15:43:57 +10:30
Jeremy Lakeman
46158fea7e
Remove obsolete constants
2012-11-28 15:43:57 +10:30
Jeremy Lakeman
a84022bc24
Change header to include sender id
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
3d14e2f3db
Hide more information about packet headers
2012-11-28 15:43:56 +10:30
Jeremy Lakeman
4ca6db34d6
Encapsulate payload header details
2012-11-28 15:40:39 +10:30
Andrew Bettison
c4b90a108b
Fix compile warnings on Solaris (gcc 4.4)
2012-11-28 14:13:25 +10:30
Andrew Bettison
8e8a3b1ea2
Improve new config prototype code
...
Add label parser functions to ARRAY schema, use to enforce numeric argv labels
numbered from 1.
2012-11-27 18:10:51 +10:30
Andrew Bettison
479ec5d0df
Improve new config prototype code
...
Add optional validator functions for STRUCT and ARRAY parsing. Tighten up
logic for parsing STRUCTs and ARRAYs and the result flags. Improve
documentation in block comments. Add CFUNSUPPORTED result flag.
2012-11-27 16:47:30 +10:30
Andrew Bettison
cf3c069f83
Improve new config prototype code
...
Refactor ARRAY_xxx() schema declaration macros to fix problem in ARRAY_STRING().
Add dna.helper.executable, dna.helper.argv and server.chdir to config schema.
2012-11-26 17:33:54 +10:30
Andrew Bettison
0091cf082b
Add documentation comments for new config code
2012-11-26 16:15:59 +10:30
Andrew Bettison
8479c52f54
Improve new config prototype code
...
Replace ARRAY() macro with ARRAY_ATOM(), ARRAY_STRING(), ARRAY_NODE() and
ARRAY_STRUCT().
Change parse function return value to flag bits, add CFEMPTY, rename CFMISSING
to CFINCOMPLETE, improve logic around mandatory struct items.
Renamed struct config_node to struct cf_om_node.
2012-11-26 16:12:46 +10:30
Andrew Bettison
2d7766eacd
Improve new config prototype code
...
Finish parsing 'interfaces' old- and new-style.
2012-11-24 03:38:10 +10:30
Andrew Bettison
98c3af967d
Improve new config prototype code
...
Refactor and rename, improve logic for reporting unsupported nodes.
2012-11-23 19:13:02 +10:30
Andrew Bettison
8c36b23417
Improve new config prototype code
...
Refactor to make opt_parsing() functions simpler for ATOM -- no need to check
for missing text or unsupported child nodes, or log parse failures.
Introduce NODE option which passes whole config_node struct to parsing
function.
2012-11-23 10:11:07 +10:30
Andrew Bettison
70531fccb6
Improve new config prototype code
...
Make config LISTs more flexible. Start implementing existing config options:
directory.service (SID parsing), interfaces (better list logic).
2012-11-22 18:20:13 +10:30
Andrew Bettison
ef03eb1a3e
Re-organise Makefile header dependencies
...
Add str.h to list of Serval header files. Make the NaCl objects not dependent
on Serval header files, so that the entire NaCl source does not get re-built
when editing serval.h or str.h etc.
2012-11-22 18:18:00 +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
Andrew Bettison
1fbf7001d1
Move packet-related functions from dataformats.c to packetformats.c
...
So that dataformats.o can be linked into executables that don't have log.o.
2012-11-22 18:11:21 +10:30
Jeremy Lakeman
00e1a59ca8
Fix compilation errors
2012-11-22 10:55:54 +10:30
Andrew Bettison
a3cdf17410
Improve new config prototype, add LIST to schema
2012-11-21 18:09:05 +10:30
Andrew Bettison
960a6293e1
Move str_is_uri() from dataformats.c to str.c
...
Add lots of URI unpacking functions as well.
2012-11-21 18:08:06 +10:30
Jeremy Lakeman
36cee7e9bc
Move payload queueing functions to separate .c file
2012-11-21 11:02:00 +10:30
Andrew Bettison
f78098afd8
Prototype code for new config parser
2012-11-20 18:10:38 +10:30
Andrew Bettison
c84b7e5db4
Improve str.h functions
...
Add strn_startswith() and strncase_startswith().
Make all str*_startswith() functions take const char * arguments, to make it
possible to do safe programming with consts.
2012-11-20 18:10:08 +10:30
Andrew Bettison
0e435683f7
Move toprint functions from log.h to str.h
...
Move alloca_sockaddr() to strbuf_helpers.h
So that stand-alone executables can use them without pulling in the entire
logging framework.
2012-11-20 18:10:08 +10:30
Jeremy Lakeman
d6336597ee
fd_poll now returns zero when there is nothing to do
2012-11-20 16:09:12 +10:30