Commit Graph

2913 Commits

Author SHA1 Message Date
Jeremy Lakeman
46ef40cf23 Migrate and refactor more interfaces from batphone 2014-02-19 15:35:08 +10:30
Andrew Bettison
42200c2bcb Fix bug in recent configure -z relro check 2014-02-18 14:04:08 +10:30
gardners
660180fec8 fix compile errors introduced in off_t/off64_t fix. 2014-02-18 14:04:08 +10:30
gardners
0c8fcb0128 Make -z relro option conditional on it being available. 2014-02-18 14:04:08 +10:30
Andrew Bettison
4062b3adbf Fix typos in 'keyring' test suite 2014-02-17 17:13:58 +10:30
Andrew Bettison
5093bff12a Improve test framework: sleep(1) arguments
Always pass exactly one argument to sleep(1) since the BSD sleep (used
on OSX) does not sum its arguments like GNU sleep(1)

Perform more stringent checking on various timeout parameters to ensure
they are well-formed decimal floats
2014-02-17 17:11:31 +10:30
Andrew Bettison
c4944e4334 Deal with missing lseek64(2) sys call
On OSX, off_t is 64 bits, so can use lseek(2) instead
2014-02-17 14:33:32 +10:30
Andrew Bettison
a77b0702b1 Rename uuid_t --> serval_uuid_t
To avoid compile errors on OSX
2014-02-17 13:26:03 +10:30
Jeremy Lakeman
800d3c6120 Fix 64bit printf formatting 2014-02-12 15:09:07 +10:30
Jeremy Lakeman
348fc5f23b Fix meshms conversations parsing when looking for a single SID 2014-02-12 15:08:24 +10:30
Jeremy Lakeman
a7b43581ce Rename libservald to libserval for consistency with android build 2014-02-12 14:29:13 +10:30
Jeremy Lakeman
99fb8b6108 Move jni interface classes from batphone repo 2014-02-12 13:09:17 +10:30
Jeremy Lakeman
37e4d65b2a Fix formatting of strings with unknown size 2014-02-12 13:09:17 +10:30
Andrew Bettison
0727fb3b62 Merge branch 'naf4' into 'development'
New RESTful HTTP API for MeshMS
2014-02-07 16:42:09 +10:30
Andrew Bettison
0769fa54e8 Improve MeshMS RESTful HTTP failure reporting
Add "meshms_status_code" element to simple JSON responses
2014-02-07 16:28:40 +10:30
Andrew Bettison
116389b589 "struct json_atom" with strbuf helper functions 2014-02-07 15:59:34 +10:30
Andrew Bettison
5dd9ea7a6b Improve MeshMS failure handling
Introduce "enum meshms_status" to replace int -1,0,1 for return values
from MeshMS internal functions

Add test cases to check that status 2 is returned when attempting to
send a message from an identity that is not known (unlocked)
2014-02-06 18:10:00 +10:30
Andrew Bettison
f1ceffbc4e Remove unused MeshMS record type constant 2014-02-05 14:28:44 +10:30
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
Jeremy Lakeman
d3a454e48c Ensure ping flooding doesn't block 2014-01-23 14:09:11 +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
Jeremy Lakeman
a811d49151 Display unicast / broadcast for incoming connections 2014-01-22 16:15:41 +10:30
Andrew Bettison
e3e3e1e046 rhizome_http.h 2014-01-22 15:51:59 +10:30
Jeremy Lakeman
1a543484bd Fix rhizome key generation for meshms 2014-01-22 15:51:06 +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
Jeremy Lakeman
04955f1ddd Fix interface name comparison for detecting real interfaces 2014-01-20 16:01:29 +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