Andrew Bettison
ffafae86b1
Issue #11 : replace long long with int64_t
2013-10-07 05:54:46 +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
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
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
Andrew Bettison
ae5ae2d394
Cosmetic changes to whitespace
...
Make it easier to edit in Vim
2013-09-30 16:06:23 +09:30
Jeremy Lakeman
ba3f77e67c
Rename external payloads instead of linking and unlinking
2013-09-25 15:51:54 +09:30
Jeremy Lakeman
b38b4720cc
Add html stats for http connection and mdp transfer counts
2013-09-24 14:34:51 +09:30
Jeremy Lakeman
8accabfcac
Always store payloads with a temporary id
2013-08-27 16:15:51 +09:30
Jeremy Lakeman
ceb7f9d4c9
Fail writing content if it has already been closed
2013-08-26 17:43:06 +09:30
Jeremy Lakeman
9c49abd431
Store journal appends to sql blobs in one burst
2013-08-26 15:37:19 +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
e322114850
Only transfer new journal content via MDP
2013-08-15 14:36:56 +09:30
Jeremy Lakeman
91a600fba7
Add separate rows for delivered and read status
...
- add explicit transaction around blob writes so the commit can be retried
- remove status columns
- remove SID's from message log output to reduce size and complexity
2013-08-02 14:02:56 +09:30
Jeremy Lakeman
94381bab49
Fix non-journal, non-block based payload encryption
2013-07-26 15:13:22 +09:30
Jeremy Lakeman
7634e1fcfb
Add command to mark messages as read
2013-07-26 14:36:11 +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
6dc5fde6b6
Fix xor encryption for journal bundles and unaligned read/write ops
2013-07-19 22:26:37 +09:30
Jeremy Lakeman
2c1a995275
Don't encrypt by default when the recipient is broadcast
2013-07-19 10:28:15 +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
3855ff35c4
Clean up string formatting for 64bit compilation
2013-07-15 09:59:24 +09:30
Jeremy Lakeman
8ac359e550
Use consistent integer types for 64bit compilation
2013-07-13 14:47: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
5257ac9ca8
Only store small files directly in the database
2013-07-03 10:53:25 +09:30
Jeremy Lakeman
3e57add9ca
Fix, initialise read / write handles so we don't close fd=0
2013-06-19 12:05:56 +09:30
Andrew Bettison
1b281aa532
Improve 'rhizome.external_blobs' config option
...
Now only affects when a blob is written, but reading will attempt the
database first, and look for an external blob file if that fails
Test case recently added in b20e714ffb
now
passes
2013-02-22 14:25:48 +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
gardners
2252fdcaa7
created tool for automatically finding IN()s without matching
...
OUT()s or where return() is used instead of RETURN().
Added OUT() to end of all functions using IN() that lacked it to
make it easier to statically analyse this invariant.
Fixed several return instead of RETURNs detected through use of
this tool. #49
2013-02-20 16:18:56 +10:30
Andrew Bettison
390655580d
Add 'rhizome delete' and 'rhizome clean' commands
...
sqlite_void_exec() and its ilk now return the count of changed rows, not
just zero, on success
sqlite_exec_prepared() and its ilk now return the count of rows (number
of step results SQLITE_ROW), instead of just zero, on success
rhizome_clean() function now produces an optional report of its changes
rhizome_fail_write() and rhizome_finish_write() now log WARNings not
ERRORs if the SQL DELETE FROM FILES or DELETE FROM FILEBLOBS statements
fail
Refactor rhizome_open_read() to use sqlite_exec_int64()
Ensure that 'rhizome extract' and 'rhizome dump' commands return exit
status of 1 in "not found" conditions, not 255, which is reserved for
errors
Test cases for four new commands: 'rhizome delete bundle', 'rhizome
delete manifest', 'rhizome delete payload' and 'rhizome delete file'
(no test case for 'rhizome clean' yet)
2013-02-20 15:37:09 +10:30
gardners
641d749ab4
Create files for large rhizome bundles
...
- configurable size threashold
2013-02-20 15:36:32 +10:30
Jeremy Lakeman
748a2d8957
Squelch log messages
2013-02-20 15:36:28 +10:30
Jeremy Lakeman
b25ff45438
Importing the same bundle twice returns duplicate flag
2013-01-15 10:32:48 +10:30
Andrew Bettison
b0f0262e18
Fix compiler warnings, Linux gcc 4.7.2
2013-01-08 17:20:42 +10:30
Jeremy Lakeman
c7cf80b352
Use sqlite user schema version to remember state
2013-01-06 13:04:49 +10:30
Jeremy Lakeman
2b480c1d1a
Reinstate filesize and hash file extract output
2013-01-04 12:01:40 +10:30
Jeremy Lakeman
28a05baa54
Enable encryption of rhizome payloads
2013-01-03 16:12:24 +10:30
Jeremy Lakeman
e26522bdc6
Minor improvements to command line time measurements
2013-01-03 14:16:33 +10:30
Jeremy Lakeman
8b045dd1a6
Extract files based on the manifest id
...
Renamed rhizome extract file to rhizome dump file
Added rhizome extract file [manifest] [filepath] [pins]
Modified tests to use the appropriate command, assuming that MeshMS payloads will be encrypted
2013-01-02 12:58:05 +10:30
Jeremy Lakeman
a492c05d64
Re-add database cleanup
2012-12-31 15:09:12 +10:30
Jeremy Lakeman
898cddfcd3
Tidy up rhizome extract return code
2012-12-31 13:21:37 +10:30
Jeremy Lakeman
5b48a85f7d
Don't clean up database on every open call
2012-12-28 13:17:04 +10:30
Jeremy Lakeman
c8fbef9016
Fix transaction error checking
2012-12-28 12:47:21 +10:30