summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLinus Nordberg <linus@nordu.net>2014-06-15 13:35:43 +0200
committerLinus Nordberg <linus@nordu.net>2014-06-15 13:35:43 +0200
commit558a56adfe02a0803bbbbf4ddaef0271e586930b (patch)
treed339c2eb08652f16bbc1e2e15b988187a2774281 /src
parent5b57e05b6fcf9739f50ffe552053b2a254a08b3f (diff)
parentb756d6af862e97c1279d6006ed7684e28564aa97 (diff)
Merge branch 'master' of /home/linus/repo/plop
# Please enter a commit message to explain why this merge is necessary, # especially if it merges an updated upstream into a topic branch. # # Lines starting with '#' will be ignored, and an empty message aborts # the commit.
Diffstat (limited to 'src')
-rw-r--r--src/db.erl3
-rw-r--r--src/db.hrl3
-rw-r--r--src/hex.erl3
-rw-r--r--src/ht.erl24
-rw-r--r--src/plop.erl3
-rw-r--r--src/plop_app.erl3
-rw-r--r--src/plop_sup.erl3
7 files changed, 42 insertions, 0 deletions
diff --git a/src/db.erl b/src/db.erl
index f0819cf..f683d48 100644
--- a/src/db.erl
+++ b/src/db.erl
@@ -1,3 +1,6 @@
+%%% Copyright (c) 2014, NORDUnet A/S.
+%%% See LICENSE for licensing information.
+
-module(db).
-behaviour(gen_server).
diff --git a/src/db.hrl b/src/db.hrl
index 0a6583c..3914a8c 100644
--- a/src/db.hrl
+++ b/src/db.hrl
@@ -1,3 +1,6 @@
+%%% Copyright (c) 2014, NORDUnet A/S.
+%%% See LICENSE for licensing information.
+
%% @doc What's stored in the database.
%% 'index' is the primary key, 'hash' is also indexed.
-record(plop, {
diff --git a/src/hex.erl b/src/hex.erl
index dcb9349..e3c8441 100644
--- a/src/hex.erl
+++ b/src/hex.erl
@@ -1,3 +1,6 @@
+%%% Copyright (c) 2014, NORDUnet A/S.
+%%% See LICENSE for licensing information.
+
-module(hex).
-export([bin_to_hexstr/1,hexstr_to_bin/1]).
diff --git a/src/ht.erl b/src/ht.erl
index 9e99d16..b24d04d 100644
--- a/src/ht.erl
+++ b/src/ht.erl
@@ -1,3 +1,27 @@
+%%% Copyright (c) 2014, NORDUnet A/S.
+%%% See LICENSE for licensing information.
+%%%
+%%% Implementation of a history tree similar to what is described in
+%%% Efficient Data Structures for Tamper-Evident Logging [0]. This
+%%% implementation follows RFC 6962 and differs from [0] only in how
+%%% non-full trees are handled.
+%%%
+%%% Useful terminology:
+%%% C -- Commitment.
+%%% X -- Event, stored in leaf nodes.
+%%% I(i,r) -- Interior node with index i, on layer r.
+%%% A(v)(i,r) -- Hash of I(i,r) in tree of version v.
+%%% d -- Depth of tree.
+%%%
+%%% Nodes are identified by their index i and layer r.
+%%% I(i,r) has left child I(i,r-1) and right child I(i+2^(r-1),r-1).
+%%%
+%%% A version-n tree stores n+1 events.
+%%% In a version-n tree, I(i,r) is frozen when n >= i + 2^r - 1.
+%%%
+%%% [0] https://www.usenix.org/event/sec09/tech/full_papers/crosby.pdf
+%%%
+
-module('ht').
-include_lib("eunit/include/eunit.hrl").
diff --git a/src/plop.erl b/src/plop.erl
index 5d29c24..f681898 100644
--- a/src/plop.erl
+++ b/src/plop.erl
@@ -1,3 +1,6 @@
+%%% Copyright (c) 2014, NORDUnet A/S.
+%%% See LICENSE for licensing information.
+%%%
%%% @doc Server holding log entries in a database and hashes in a
%%% Merkle tree. A backend for things like Certificate Transparency
%%% (RFC 6962).
diff --git a/src/plop_app.erl b/src/plop_app.erl
index 0a972cc..f90792d 100644
--- a/src/plop_app.erl
+++ b/src/plop_app.erl
@@ -1,3 +1,6 @@
+%%% Copyright (c) 2014, NORDUnet A/S.
+%%% See LICENSE for licensing information.
+
-module(plop_app).
-behaviour(application).
-export([start/2, stop/1]).
diff --git a/src/plop_sup.erl b/src/plop_sup.erl
index 1c6602c..089a812 100644
--- a/src/plop_sup.erl
+++ b/src/plop_sup.erl
@@ -1,3 +1,6 @@
+%%% Copyright (c) 2014, NORDUnet A/S.
+%%% See LICENSE for licensing information.
+
-module(plop_sup).
-behaviour(supervisor).