Commit Graph

1881 Commits

Author SHA1 Message Date
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