summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Break include dependency on plop.hrlMagnus Ahltorp2014-10-244-8/+29
|
* Credit Emilia Käsper for the placeholder idea.Linus Nordberg2014-10-201-4/+10
|
* Add copyright and licensing information.Linus Nordberg2014-10-155-20/+10
| | | | After offline discussions with Magnus Ahltorp.
* Make get_by_indices() handle non-existing entries.Linus Nordberg2014-10-101-9/+17
| | | | | - Limit End to size - 1. - Return [] for start < 0 and bound end < start.
* Indent.Linus Nordberg2014-10-091-2/+2
|
* Add implementation of droplast/1.Linus Nordberg2014-10-081-1/+6
| | | | lists:droplast/1 is new as of R17.
* Merge remote-tracking branch 'refs/remotes/map/fsync4' into origin-masterLinus Nordberg2014-10-089-115/+408
|\ | | | | | | | | | | Conflicts: src/db.erl src/plop.erl
| * Use raw file storageMagnus Ahltorp2014-09-282-115/+72
| |
| * Merge branch 'fsync3' into fsync4Magnus Ahltorp2014-09-277-0/+337
| |\
| | * index: Added fsyncfsync3Magnus Ahltorp2014-09-261-2/+8
| | |
| | * Added implementation of index fileMagnus Ahltorp2014-09-261-0/+81
| | |
| | * Added atomic moduleMagnus Ahltorp2014-09-254-58/+97
| | |
| | * perm: Added readfile function.Magnus Ahltorp2014-09-251-9/+16
| | |
| | * perm: Don't crash if file content is different, tell caller instead. Better ↵Magnus Ahltorp2014-09-251-19/+35
| | | | | | | | | | | | error handling.
| | * Permanent storage implementationMagnus Ahltorp2014-09-253-0/+188
| | |
| * | Fix api problemsplop-if-cleanupMagnus Ahltorp2014-09-271-2/+2
| | |
| * | Fix api problemsMagnus Ahltorp2014-09-271-5/+12
| | |
| * | wipLinus Nordberg2014-09-274-288/+166
| |/
* | Fix api problemsMagnus Ahltorp2014-09-291-6/+13
| |
* | Clean up the plop interface, in preparation for a new db implementation.Linus Nordberg2014-09-294-288/+166
|/
* Sign the correct things in SPT's.Linus Nordberg2014-09-251-5/+8
| | | | | First, the log entry (i.e. leaf hash) must be a TLS vector. Second, an empty extension (as a TLS vector), must be included.
* Use correct LogID.Linus Nordberg2014-09-251-5/+4
|
* Rename inclusion_and_more/2.Linus Nordberg2014-09-251-6/+6
|
* Actually serialise TLS vectors according to specfix-tls-vectorMagnus Ahltorp2014-09-231-2/+8
|
* Store and retrieve extra-data in/from db.Linus Nordberg2014-09-204-29/+40
| | | | Also, add more specs to db.
* Fix crash in inclusion() and add inclusion-and-leaf().Linus Nordberg2014-09-192-16/+41
|
* Hash over the MerkleTreeLeaf.Linus Nordberg2014-09-192-16/+11
| | | | | Hash over correct timestamp when adding submitted entries. Hash over the full #mtl{} when adding entries from db.
* Add field 'mtlhash' to the database, for get-proof-by-hash.Linus Nordberg2014-09-184-49/+68
| | | | | | | | | | Also, in db: Add field 'mtlhash' to record 'plop'. Rename 'hash' -> 'entryhash'. Add leaf_hash(), calculating a leaf hash from data. Fix a bug where print_tree() print half a byte of the hashes. Rename tree_hash() -> root(). Closes CATLFISH-3.
* Rewrite ts to use a list of lists and change its API.Linus Nordberg2014-09-162-88/+94
| | | | | | | | | | | We want to get rid of maps because they're a bit too new for some distributions. Replacing the arrays with lists is not necessary and arguably not even the right move -- they're about twice as costly RAM wise and the CPU cost for accesses are O(n). This cleans up the implementation though so let's keep it as a reference implementation. Changes to ht include poping potential placeholders in parent layer before adding and swapping IR -> RI all over, for consistency.
* Have inclusion/2 return Index too.Linus Nordberg2014-09-151-5/+5
|
* Add inclusion/2.Linus Nordberg2014-09-151-1/+11
|
* Make two comments @doc.Linus Nordberg2014-09-151-3/+2
|
* Add consistency/2.Linus Nordberg2014-09-151-5/+6
|
* Adjust plop for changes in ht.Linus Nordberg2014-09-142-43/+30
|
* Add comments to separate public API from testing and debugging funs.Linus Nordberg2014-09-141-0/+2
|
* Update #tree.evaluated for V=0 too.Linus Nordberg2014-09-141-1/+1
|
* Add reset_tree/1 and change new() and init().Linus Nordberg2014-09-141-10/+18
|
* Guard path/4 against future versions.Linus Nordberg2014-09-141-4/+6
|
* Add three more test vectors for consistency proofs.Linus Nordberg2014-09-141-12/+33
| | | | Also add print_tree/1.
* Implement consistency proofs.Linus Nordberg2014-09-141-11/+101
|
* Implement path/2.Linus Nordberg2014-09-131-65/+199
|
* Add docu in comments, rename two external functions, add a larger test.Linus Nordberg2014-09-121-8/+23
|
* Add support for retrieving historical tree heads.Linus Nordberg2014-09-122-34/+77
|
* Add a few tests.Linus Nordberg2014-09-111-3/+8
|
* Add some explaining comments. Remove some debugging code.Linus Nordberg2014-09-111-11/+20
|
* Another hashtree implementation, first cut.Linus Nordberg2014-09-112-171/+239
| | | | | This one stores the tree in arrays, one per layer in the tree. It's implemented as gen_server.
* Remove some lying comments.Linus Nordberg2014-09-101-3/+1
|
* Add size/1.Linus Nordberg2014-09-101-2/+5
|
* Indent properly.Linus Nordberg2014-09-101-4/+4
|
* Make dialyzer happier.Linus Nordberg2014-09-101-2/+2
| | | | | Make sure test function returns something. I would imagine that eunit.hrl should take care of this but haven't investigated.