diff options
author | Magnus Ahltorp <map@kth.se> | 2014-10-21 17:17:36 +0200 |
---|---|---|
committer | Linus Nordberg <linus@nordberg.se> | 2014-10-24 11:02:29 +0200 |
commit | 6f477e27dcbb8ecf24947d473186e8984cf87867 (patch) | |
tree | 6ac6f79ec1a7ed48ec6895b00fbcd3c4a28b221a /src | |
parent | bf0a6e5458c16cb9bf72db002d840c5e1fbb3f29 (diff) |
Break include dependency on plop.hrl
Diffstat (limited to 'src')
-rw-r--r-- | src/db.erl | 1 | ||||
-rw-r--r-- | src/ht.erl | 1 | ||||
-rw-r--r-- | src/plop.erl | 8 | ||||
-rw-r--r-- | src/plop.hrl | 27 |
4 files changed, 29 insertions, 8 deletions
@@ -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())). @@ -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{}. |