summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMagnus Ahltorp <map@kth.se>2014-10-21 17:17:36 +0200
committerLinus Nordberg <linus@nordberg.se>2014-10-24 11:02:29 +0200
commit6f477e27dcbb8ecf24947d473186e8984cf87867 (patch)
tree6ac6f79ec1a7ed48ec6895b00fbcd3c4a28b221a /src
parentbf0a6e5458c16cb9bf72db002d840c5e1fbb3f29 (diff)
Break include dependency on plop.hrl
Diffstat (limited to 'src')
-rw-r--r--src/db.erl1
-rw-r--r--src/ht.erl1
-rw-r--r--src/plop.erl8
-rw-r--r--src/plop.hrl27
4 files changed, 29 insertions, 8 deletions
diff --git a/src/db.erl b/src/db.erl
index 4bcdc1c..6315ae5 100644
--- a/src/db.erl
+++ b/src/db.erl
@@ -14,7 +14,6 @@
-include_lib("stdlib/include/qlc.hrl").
-include("db.hrl").
--include("$CTROOT/plop/include/plop.hrl").
size() ->
binary_to_integer(atomic:readfile(treesize_path())).
diff --git a/src/ht.erl b/src/ht.erl
index 7051b9e..e870dca 100644
--- a/src/ht.erl
+++ b/src/ht.erl
@@ -35,7 +35,6 @@
code_change/3]).
-export([testing_get_state/0, print_tree/0, print_tree/1]).
--include("$CTROOT/plop/include/plop.hrl").
-include_lib("eunit/include/eunit.hrl").
-import(lists, [foreach/2, foldl/3, reverse/1]).
diff --git a/src/plop.erl b/src/plop.erl
index 30d05ca..0b101be 100644
--- a/src/plop.erl
+++ b/src/plop.erl
@@ -35,7 +35,7 @@
-export([init/1, handle_call/3, terminate/2,
handle_cast/2, handle_info/2, code_change/3]).
--include("$CTROOT/plop/include/plop.hrl").
+-include("plop.hrl").
%%-include("db.hrl").
-include_lib("public_key/include/public_key.hrl").
-include_lib("eunit/include/eunit.hrl").
@@ -211,11 +211,7 @@ sth(PrivKey, #sth_signed{version = Version, timestamp = Timestamp_in}) ->
hash_alg = sha256,
signature_alg = ecdsa},
signature = signhash(BinToSign, PrivKey)},
- STH = #sth{
- treesize = Treesize,
- timestamp = Timestamp,
- roothash = Roothash,
- signature = Signature},
+ STH = {Treesize, Timestamp, Roothash, Signature},
%%io:format("STH: ~p~nBinToSign: ~p~nSignature: ~p~nTimestamp: ~p~n",
%% [STH, BinToSign, Signature, Timestamp]),
STH.
diff --git a/src/plop.hrl b/src/plop.hrl
new file mode 100644
index 0000000..2e0d436
--- /dev/null
+++ b/src/plop.hrl
@@ -0,0 +1,27 @@
+%%% Copyright (c) 2014, NORDUnet A/S.
+%%% See LICENSE for licensing information.
+
+%%% Plop data structures. Heavily based on RFC 6962. Some are for
+%%% database storage, some for interfacing with consumers and some are
+%%% for serialisation.
+
+%% Signed tree head
+%% {Treesize, Timestamp, Roothash, Signature}
+-type sth() :: tuple(integer(), integer(), binary(), signature()).
+
+%% RFC 5246 7.4.1.4.1
+-type hash_alg_type() :: none | md5 | sha1 | sha224 | sha256 | sha384 |
+ sha512. % uint8
+-type signature_alg_type() :: anonymous | rsa | dsa | ecdsa. % uint8
+-record(sig_and_hash_alg, {
+ hash_alg :: hash_alg_type(),
+ signature_alg :: signature_alg_type()
+ }).
+-type sig_and_hash_alg() :: #sig_and_hash_alg{}.
+
+%% RFC 5246 4.7
+-record(signature, {
+ algorithm :: sig_and_hash_alg(),
+ signature :: binary()
+ }).
+-type signature() :: #signature{}.