Commit Graph

1688 Commits

Author SHA1 Message Date
Daniel O'Connor
03275f410f Include stdint.h for intmax_t. 2012-09-06 15:26:40 +09:30
Jeremy Lakeman
f9287149dd Setup unicast return address when receiving unicast packet 2012-09-06 15:21:31 +09:30
Daniel O'Connor
3067d74569 Use AC_CHECK_FUNCS so we automatically get HAVE_GETPEEREID. 2012-09-06 14:34:01 +09:30
Daniel O'Connor
1deb092a5f Add OSX magic so we can use things like u_short (which is off for POSIX source which is presumably turned on by _XOPEN_SOURCE). 2012-09-06 14:32:17 +09:30
Daniel O'Connor
5f0b70cf51 Hide the LOCAL_PEERCRED/SO_PEERCRED behind #ifdef linux.
Note that BSD defines LOCAL_PEERCRED but its interface appears to be different to the Linux one.
2012-09-06 14:31:25 +09:30
gardners
d3f5c6e598 Merged rhizome direct httpd back into main rhizome httpd server.
bundles can be imported via HTTP POST multi-part form. #9
2012-09-06 13:21:13 +09:30
Paul Gardner-Stephen
0562367b23 Try detecting ALSA better. 2012-09-06 12:43:06 +09:30
Paul Gardner-Stephen
2dfc056354 Add absapath function since Solaris lacks it.
Tests still don't work due to ancient bash though.
2012-09-06 11:55:49 +09:30
Paul Gardner-Stephen
2ccbc54dc1 Don't wander off the end of the array and trash things. 2012-09-06 11:52:32 +09:30
Jeremy Lakeman
adde23dfd0 Fix for restarting interfaces with different broadcast address 2012-09-06 09:57:36 +09:30
Jeremy Lakeman
0588835009 Set defaults, more logging 2012-09-06 09:35:33 +09:30
Paul Gardner-Stephen
3fd262c6f8 Add Solaris method for getting executable path & make the compiler
bail out if there is no method available rather than waiting until
runtime.
2012-09-06 07:52:22 +09:30
gardners
f9a29645a8 prevent double-processing of form when fully received.
add actual call to servald rhizome import bundle.
seems to work, though yet to be tested with a genuine bundle. #9
2012-09-06 07:52:12 +09:30
gardners
d342e7b0d2 Added multipart form end processing stage. Now has place holder
for calling rhizome import. #9
2012-09-06 07:34:53 +09:30
gardners
edf99e9be3 implemented removal of extraneous CRLF from end of each form field
file. #9
2012-09-06 07:15:52 +09:30
gardners
2d9a620352 removed fclose() for form field file from other code paths, so
that there is only one path.  This is where we will add the 2
byte rewind that our parser requires.
2012-09-06 07:11:09 +09:30
gardners
95f2bc273e fixed bug with boundary line handling that prevented end of form
from being detected. #9
2012-09-06 07:08:10 +09:30
gardners
b51a7b2dbf more work on parser. Now writes field files, but fails to detect
the boundary string at the end of the form. #9
2012-09-06 06:59:26 +09:30
gardners
3dad0798a4 further work on multipart POST form parser. Now does almost
everything except actually write manifest and data to files
for importing. #9
2012-09-06 06:29:05 +09:30
gardners
6aca69a54f Further work on multi-part POST parser. Simple state machine
partially implemented that recognises the field elements being
submitted and complains if they are wrong. #9
2012-09-06 06:09:38 +09:30
gardners
dc15ac5a34 Make simple http response clear request type so that it always
works. #9
2012-09-06 06:09:16 +09:30
gardners
f3662c0d04 fixed CRLF handling in multi-part POST parser so that CRLF
presence is not forgotten. #9
2012-09-06 05:49:43 +09:30
gardners
9d7507c8b5 Fixed byte munching bug in multi-part post parser. Also removed
need for any parser look-ahead, i.e., it is now LALR(1), and well
suited to parsing streaming data. #9
2012-09-06 05:43:29 +09:30
gardners
35ec3bae0d revamped multi-part form parser to tokenise into lines. This
feels like a much simpler and cleaner design. Still more to do. #9
2012-09-06 05:34:25 +09:30
gardners
db79190c81 more work on multi-part POST form data parser. #9 2012-09-06 05:15:25 +09:30
Paul Gardner-Stephen
0891a7429f Use -r because Solaris' sh doesn't have -e (?!) Avoid extended REs (not necessary here but doesn't hurt) 2012-09-05 20:42:55 +09:30
Paul Gardner-Stephen
bba6839656 Initial stab at porting to Solaris.
It compiles without warning (with CC=gcc) but doesn't link
because NaCL doesn't build yet.
2012-09-05 20:42:50 +09:30
gardners
ecbe8e4f8c improve HTTP server response code handling, including fixing
iching calculator bug - unknown response codes not more than four
no longer result in "a suffusion of yellow".
Also stopped dropping HTTP requests on empty reads when parsing
a multi-part POST.
2012-09-05 16:35:08 +09:30
gardners
95f59ab7b0 Fixed handling of multi-part form POST requests (removed HTTP
response stub that was causing instakill of such requests).
2012-09-05 16:02:39 +09:30
gardners
4cab16598c added code to rhizome http request client poll routine to call
multi-part form data parser.
2012-09-05 15:53:16 +09:30
gardners
e73f0262c7 Added prototype for HTTP multi-part post parser for rhizome direct. 2012-09-05 15:51:22 +09:30
Daniel O'Connor
9546903ce7 Don't use an uninitialised variable.
A compiler is well within its rights to throw this value away completely (and clang does so).

See http://kqueue.org/blog/2012/06/25/more-randomness-or-less/
2012-09-01 16:32:50 +09:30
gardners
ed7edd3865 Added boundarystring field to rhizome_http_request structure.
Added call to new (currently stub) function for processing bytes
received from a HTTP POST multipart encoded form. #9
2012-09-01 14:11:23 +09:30
Jeremy Lakeman
c6eafb5380 Demote port comparison from an assert to an error 2012-09-01 12:41:51 +09:30
Jeremy Lakeman
545c05fddb Relay broadcast payloads via olsr plugin 2012-09-01 12:41:50 +09:30
Jeremy Lakeman
cf22ef8e8c Ensure route and interface is still valid before sending packet 2012-09-01 12:41:50 +09:30
Jeremy Lakeman
211e25608e Send packet to unicast address 2012-09-01 12:18:39 +09:30
Jeremy Lakeman
1b91724da2 Allow for interfaces that don't tick, pack rhizome manifests into all packets 2012-09-01 12:18:39 +09:30
Jeremy Lakeman
1f6607af14 Refactor to avoid returning a pointer to the stack 2012-09-01 12:17:22 +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
df0e20408c Close sockets on poll errors 2012-08-31 15:04:06 +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
Jeremy Lakeman
30d5ed2b6d Simple refactoring 2012-08-31 15:03:07 +09:30
Jeremy Lakeman
90cbf8df7e Add new subscriber storage 2012-08-31 15:03:06 +09:30
gardners
8170df7447 added extra field to rhizome http request structure and update
rhizome direct code to remember the path in a multipart form post
operation, and also the boundary string that will separate the
parts.
2012-08-31 13:15:05 +09:30
gardners
211f75cb53 Added initial parsing of POST requests, extracting content-length
and content-type, and complaining if they aren't in the format we
expect. #9
2012-08-31 13:01:29 +09:30
gardners
0a7c633977 swapped arg order to what seemed a more sensible order. #9 2012-08-31 13:01:29 +09:30
gardners
fb82043246 added str_str() to help parse http POST requests for rhizome direct. #9 2012-08-31 13:01:29 +09:30