Andrew Bettison
fd86a3d17f
Implement HTTP POST /restful/meshms/<SID>/<SID>/sendmessage
...
Rename struct meshms_ply fields from "buffer" to "record" for
consistency with comment terminology
2014-02-05 14:28:15 +10:30
Andrew Bettison
fb2709d10c
Create rhizome_restful.c, meshms_restful.c
...
Move code from rhizome_http.c into rhizome_restful.c and
meshms_restful.c
2014-02-03 23:05:15 +10:30
Andrew Bettison
051066af86
Rename "rhizome_http.h" to "httpd.h"
2014-02-03 21:40:05 +10:30
Andrew Bettison
015ed0b181
Refactor to rename "Rhizome HTTP server" to "HTTPD server"
...
Move HTTPD start/stop/dispatch logic from rhizome_httpd.c into new
httpd.c
Rename config.debug.httpd -> config.debug.http_server
Rename config.debug.rhizome_httpd -> config.debug.httpd
Rename config.debug.rhizome_nohttptx -> config.debug.nohttptx
2014-02-03 15:56:07 +10:30
Andrew Bettison
f4249707a4
Implement HTTP GET /restful/meshms/<SID>/<SID>/newsince/<token>/messagelist.json
...
Two new test cases
2014-01-31 14:58:30 +10:30
Andrew Bettison
ebe444ffe3
Refactor rhizomehttp MeshMS message list test
...
New function add_messages() to use in fixture
Improve existing test case by adding more ACKs and messages
2014-01-31 14:30:01 +10:30
Andrew Bettison
c73bc49cf0
Improve MeshMS RESTful HTTP requests
...
Include local (my) and remote (their) SIDs in JSON responses for
conversationlist.json and messagelist.json, so that the same JSON
structures can be used in future for non-SID-specific queries.
Refactor MeshMS message iterator, rename "sender" and "recipient" fields
to "my" and "their", for consistency with the rest of the MeshMS source
code, and because "sender" and "recipient" are properties that apply to
a single message or single ply, not to a message thread (conversation).
2014-01-31 14:29:57 +10:30
Andrew Bettison
b1992b3905
Refactor MeshMS ply-reading functions
...
Rename functions to use _prev instead of _next to mean reading
"backwards" ie, from newest to oldest, aka, from higher offsets
to lower offsets
2014-01-31 14:24:29 +10:30
Andrew Bettison
7b5752a111
Implement HTTP GET /restful/meshms/<SID>/<SID>/messagelist.json
2014-01-28 15:09:51 +10:30
Andrew Bettison
fb74dc6649
Fix bug in Base64 encoding, trailing pad characters
2014-01-28 15:09:43 +10:30
Andrew Bettison
879395b121
Refactor MeshMS message-list code to use iterator
2014-01-24 17:25:55 +10:30
Andrew Bettison
8897563d09
Implement HTTP GET /restful/meshms/<SID>/conversationlist.json
2014-01-23 10:52:43 +10:30
Andrew Bettison
94274ba5fa
Refactor sqlite_retry_state into rhizome_list_cursor
2014-01-22 17:20:06 +10:30
Andrew Bettison
cb420c61e3
meshms.h
...
Rename exposed MeshMS types and functions by adding "meshms_" prefix
Check binary tree integrity during meshms_free_conversations()
2014-01-22 16:41:22 +10:30
Andrew Bettison
e3e3e1e046
rhizome_http.h
2014-01-22 15:51:59 +10:30
Andrew Bettison
5c1ebc71a9
Refactor MeshMS conversation list
...
Use an iterator structure, not recursion, to traverse the binary tree of
conversations
2014-01-21 18:24:53 +10:30
Andrew Bettison
6a1c8bcf5a
All HTTP RESTful responses are JSON, not HTTP
...
Even error responses (typically code 403)
2014-01-20 15:44:21 +10:30
Andrew Bettison
de46223cc4
strbuf_json_boolean()
2014-01-20 15:43:37 +10:30
Andrew Bettison
a3010d3632
STRBUF_ALLOCA_FIT() macro
2014-01-20 15:37:14 +10:30
Jeremy Lakeman
e0c2d59ab5
Shutdown local tcp connection when remote msp connection has shutdown
2014-01-10 15:37:00 +10:30
Jeremy Lakeman
65f1157e1e
Drop acked packets sent via unicast links
2014-01-10 14:54:30 +10:30
Jeremy Lakeman
d7206e10d7
Ensure MSP sockets are processed for incoming tcp connections
2014-01-10 12:56:41 +10:30
Jeremy Lakeman
31ab78fdf2
Merge branch 'msp' into development
2014-01-09 15:08:00 +10:30
Jeremy Lakeman
68421db114
Add msp debug flag
2014-01-09 15:06:35 +10:30
Jeremy Lakeman
f085ffec50
Add SIGINT handler to cleanup mdp sockets
2014-01-09 15:06:35 +10:30
Jeremy Lakeman
57b7d74822
Fix comparisons for removing mdp port bindings
2014-01-09 15:06:35 +10:30
Jeremy Lakeman
8d9447ba6b
Ensure connection is initiated with no input
2014-01-09 15:06:35 +10:30
Jeremy Lakeman
dbb65228e6
Deal with errors when binding sockets
2014-01-09 15:06:35 +10:30
Jeremy Lakeman
48dce9a575
Add tcp forwarding on the listen end of an MSP connection
2014-01-09 15:06:35 +10:30
Jeremy Lakeman
99e08d1516
Add command to support forwarding TCP connections to an MSP service
2014-01-09 15:06:35 +10:30
Jeremy Lakeman
e09387b27d
Refactor stdio handling
2014-01-09 15:06:34 +10:30
Jeremy Lakeman
6045eb10e8
Reduce spam of link state packets
2014-01-09 15:06:34 +10:30
Jeremy Lakeman
6d942f8d4f
Improve tests
2014-01-09 15:01:38 +10:30
Jeremy Lakeman
4bb3336b33
Generalise method for defining multiple interfaces
2014-01-09 15:01:38 +10:30
Jeremy Lakeman
60a2aaa547
Ensure only interfaces that are UP are closed
2014-01-09 15:01:38 +10:30
Jeremy Lakeman
506518ad06
Allow interfaces to use local unix addresses
...
- broadcast packets are sent to all sockets in the same folder
- switched most tests to use local sockets
2014-01-09 15:01:38 +10:30
Jeremy Lakeman
5f2c6e364a
Refactor interface addresses to use new socket_address struct
2014-01-09 15:01:38 +10:30
Jeremy Lakeman
64fe96ebfa
Only drop BAR's from the sync if they are no longer interesting
2014-01-09 15:01:37 +10:30
Jeremy Lakeman
df6af96455
Test connection keep alive and timeouts
2014-01-09 15:01:37 +10:30
Jeremy Lakeman
1d88df594b
Fix unsigned warning
2014-01-09 15:01:37 +10:30
Jeremy Lakeman
741442c54c
Pipe file contents across msp connection
2014-01-09 15:01:37 +10:30
Jeremy Lakeman
3a533187b7
Improve msp failure handling
2014-01-09 15:01:37 +10:30
Jeremy Lakeman
db7f68afd7
Initial msp library implementation with connection state tracking
2014-01-09 15:01:37 +10:30
Jeremy Lakeman
3a87656032
Add explicit list of test framework dependencies
2014-01-06 13:11:54 +10:30
Jeremy Lakeman
cc51edd39d
Fix compiler warnings
2014-01-06 12:36:00 +10:30
Andrew Bettison
d4320f20da
Merge branch 'naf4' into 'development'
...
New HTTP RESTful Rhizome API, plus tests, and lots of Rhizome
improvements and refactoring
2013-12-30 18:14:34 +10:30
Andrew Bettison
669080edc8
Add 'rhizomehttp' to 'all' tests
...
Disable unused 'rhizomehttp' tests
2013-12-30 18:10:39 +10:30
Andrew Bettison
ee9c96bb8c
Implement HTTP POST /restful/rhizome/insert
...
Change HTTP request buffer pointers from (const char*) to (char*)
because some Rhizome operations can modify received data in-place, eg,
when decrypting it.
2013-12-30 18:09:56 +10:30
Andrew Bettison
42e6168998
Improve Rhizome manifest setter functions
...
Remove interactions between rhizome_manifest_set_filesize()
and rhizome_manifest_set_filehash(), since any inconsistency
is caught by rhizome_manifest_validate() in any case
2013-12-30 16:30:43 +10:30
Andrew Bettison
aa3497df4f
Refactor rhizome_crypt_xor_block() and add debug
2013-12-30 16:30:43 +10:30