Andrew Bettison
416b82b6c0
Refactor manifest: change haveSecret to enum
2013-10-30 13:14:26 +10:30
Andrew Bettison
0397a47753
Fix some test failures in new HTTP server code
2013-10-26 20:28:47 +10:30
Andrew Bettison
48921802f5
Use size_t in Rhizome store functions
2013-10-25 00:20:53 +10:30
Andrew Bettison
fa21bec880
Rewrite HTTP server
2013-10-25 00:19:37 +10:30
Andrew Bettison
00cf61721d
Rename http_header_complete() to is_http_header_complete()
2013-10-16 11:22:02 +10:30
Andrew Bettison
97cbebc91e
Issue #11 : improve types in file i/o functions
...
Use open(2)/read(2)/write(2) instead of fopen(3)/fread(3)/fwrite(3) in
several places to avoid unnecessary buffering
Fix a bug in Rhizome HTTP add's handling of unconfigured manifest
template file
Improve some debug and error logging for file i/o
2013-10-11 16:24:51 +10:30
Andrew Bettison
974c7a56a0
Issue #11 : Use rhizome_filehash_t everywhere
2013-10-11 15:35:27 +10:30
Andrew Bettison
c97bd4a69a
Rewrite two major SQL queries using new bind syntax
...
Extend bind varargs syntax to handle optionally-NULL parameters.
2013-10-10 17:17:03 +10:30
Andrew Bettison
a95ef79139
Use sid_t everywhere
...
Remove stowSid() at last
Change API of tohex() and strbuf_tohex(), to pass string length instead of
binary byte count. This allows odd numbers of hex digits to be produced.
Remove alloca_tohex_sid(); replace with alloca_tohex_sid_t()
New alloca_tohex_sid_t_trunc() macro
2013-10-09 18:54:21 +10:30
Andrew Bettison
7a8d750a0e
Issue #11 : uint16_t instead of short for TCP port number
2013-10-07 23:37:37 +10:30
Andrew Bettison
55edc74482
Fix intermittent 'rhizomeops' test failure
2013-10-07 04:47:14 +10:30
Andrew Bettison
7b427d48ee
A few more uses of rhizome_bid_t
...
Now the TEXT_TOUPPER SQL bind action is only used for filehash hex
strings; all Bundle ID parameters are bound using RHIZOME_BID_T.
2013-10-04 04:50:37 +09:30
Andrew Bettison
ab31420faf
rhizome_bid_t
...
Consistent type for internal binary representation of Rhizome Bundle ID
(aka Manifest ID)
2013-10-03 23:16:45 +09:30
Andrew Bettison
d18e48868d
Issue #69 : transient text SQL binding
2013-10-03 23:16:02 +09:30
Andrew Bettison
41e18e587d
Issue #69 : replace sqlite3_bind_xxx() calls
...
Use the new sqlite_bind() and sqlite_prepare_bind() calls instead.
Add cmp_sid_t() function, use it instead of memcmp().
Use alloca_tohex_sid_t() in preference to alloca_tohex_sid() when the
argument is a sid_t.
2013-10-03 16:44:06 +09:30
Andrew Bettison
7e3a552011
Issue #69 : refactor all Rhizome SQL queries to use binding
...
Remove all uses of sprintf(3) and its ilk to form SQL query commands.
Use the new sqlite_bind() and sqlite_prepare_bind() functions instead.
2013-10-03 15:15:30 +09:30
Andrew Bettison
8f7d600216
Issue #69 : continue work on multi-bind varargs
...
Revise sqlite_prepare() macro et al and underlying functions to use bind
varargs instead of sprintf(3)-style varargs.
Convert all SQL function calls in rhizome_database.c
2013-10-03 01:16:10 +09:30
Andrew Bettison
772e1bf9d6
Issue #69 : start writing SQLite multi-bind function
2013-10-02 18:19:20 +09:30
Andrew Bettison
06d7620314
Add "rhizome add file" --force-new option
...
Overrides the default behaviour of de-duplicating added manifests
New 'rhizomeops' test case: AddForceDuplicate
2013-09-30 16:48:18 +09:30
Andrew Bettison
162108dd18
Fix duplicate payload logic
...
rhizome_finish_write() was treating a duplicate file hash as an error,
instead of dealing with it sensibly
2013-09-30 16:32:08 +09:30
Jeremy Lakeman
931ca60554
Refactor and simplify http server
...
- Define a function per page that is responsible for parsing requests
- Define a "generator" callback function for filling the buffer for a response
- Remove features that have never been used
- Remove functions that are no longer used
2013-09-24 14:34:50 +09:30
Jeremy Lakeman
38fe34e6e5
Bump rhizome idle timeout for congested links
2013-09-20 14:41:50 +09:30
Jeremy Lakeman
2a5ba97b48
Add rhizome test over fakeradio
2013-09-13 14:02:35 +09:30
Jeremy Lakeman
8accabfcac
Always store payloads with a temporary id
2013-08-27 16:15:51 +09:30
Jeremy Lakeman
643b21d6a7
Fetch file payloads if they are missing, even if we already have the manifest
2013-08-22 15:14:21 +09:30
Jeremy Lakeman
f9b828c3dd
Remove payload if hash doesn't match when reading back
2013-08-21 15:45:18 +09:30
Jeremy Lakeman
1468d2deb0
Pre-emptively send small payloads via MDP
2013-08-21 09:21:40 +09:30
Jeremy Lakeman
bf7d0d5b16
Cache rhizome read state when serving content via MDP
2013-08-16 14:57:28 +09:30
Jeremy Lakeman
771cb4151b
Fetch journal range via HTTP
2013-08-15 17:00:43 +09:30
Jeremy Lakeman
21132466f1
Serve a range of a file payload via HTTP
2013-08-15 16:31:26 +09:30
Jeremy Lakeman
e322114850
Only transfer new journal content via MDP
2013-08-15 14:36:56 +09:30
Jeremy Lakeman
68bf04f69d
Change manifest service to MeshMS2
2013-08-01 11:37:35 +09:30
Jeremy Lakeman
0c237db66a
Add API to create bundles with deterministic ID's
2013-07-25 14:46:34 +09:30
Jeremy Lakeman
57fd0020c7
Add API for bufferred reading of rhizome bundles
2013-07-25 14:42:30 +09:30
Jeremy Lakeman
f9bc9d1913
Add support for encrypted journals with tail>0
2013-07-22 15:04:26 +09:30
Jeremy Lakeman
15ad333195
Implicitly buffer all writes to database blobs
2013-07-18 17:04:12 +09:30
Jeremy Lakeman
7d1714d398
Refactor database writes to reduce open/close calls
2013-07-18 13:52:42 +09:30
Jeremy Lakeman
a4bf4edbfc
Write out of order packets with MDP transport
...
- add random order writing to rhizome store API
- remove rhizome flush, force all callers to provide buffer
2013-07-17 16:57:59 +09:30
Jeremy Lakeman
8ac359e550
Use consistent integer types for 64bit compilation
2013-07-13 14:47:06 +09:30
Jeremy Lakeman
a1ac7febe2
Add rhizome fetch status html page
2013-07-11 12:32:06 +09:30
Jeremy Lakeman
62a4cd407d
Identify a journal bundle by the presense of a tail field
2013-07-08 14:57:47 +09:30
Jeremy Lakeman
e758e0130f
Create journal append command
2013-07-08 14:29:08 +09:30
Jeremy Lakeman
53f3920b90
Move cli global state into a structure and pass it around
2013-07-03 16:51:27 +09:30
Jeremy Lakeman
8249f65f8f
Don't create unused import folder
2013-07-03 10:54:05 +09:30
Jeremy Lakeman
adbbed5275
Add new rhizome sync protocol
2013-06-19 12:05:57 +09:30
Jeremy Lakeman
b67516558e
Add clean command to verify all bundles
2013-06-14 11:58:19 +09:30
Jeremy Lakeman
96c0889f9a
Don't ask for manifests if we don't have room in transfer queues
2013-04-11 15:24:41 +09:30
Andrew Bettison
6eb08ae805
Add new "config dump" command - not working yet
...
Add cf_fmt_xxx() functions for converting configuration structs into a
config object model tree.
2013-02-26 18:09:08 +10:30
Jeremy Lakeman
90386ce1b1
Merge remote-tracking branch 'origin/development' into serial
...
Conflicts:
rhizome.h
rhizome_database.c
rhizome_fetch.c
rhizome_store.c
2013-02-20 17:23:03 +10:30
Jeremy Lakeman
73786bcb5d
Refactor all rhizome reading and writing
...
- The API in rhizome_store.c is used for all reading and writing
- external storage is now usable for all transport options
2013-02-20 16:18:59 +10:30