diff options
-rw-r--r-- | src/v1.erl | 30 |
1 files changed, 25 insertions, 5 deletions
@@ -1,5 +1,7 @@ -module(v1). --export([add_chain/3]). +-export([add_chain/3, add_pre_chain/3, get_sth/3, + get_sth_consistency/3, get_proof_by_hash/3, get_entries/3, + get_roots/3, get_entry_and_proof/3]). -export([hello/3]). -include("/home/linus/usr/src/ct/plop/include/plop.hrl"). -define(PROTOCOL_VERSION, 1). @@ -12,17 +14,32 @@ add_chain(SessionID, _Env, Input) -> Entry = #plop_entry{type = x509, data = list_to_binary(Chain)}, SPT = plop:add(#timestamped_entry{entry = Entry}), - Timestamp = SPT#spt_on_wire.timestamp, R = [{sct_version, ?PROTOCOL_VERSION}, - {id, base64:encode(plop:get_logid())}, - {timestamp, Timestamp}, + {id, base64:encode(SPT#spt.logid)}, + {timestamp, SPT#spt.timestamp}, {extensions, []}, - {signature, base64:encode(list_to_binary(plop:serialise(SPT)))}], + {signature, base64:encode(SPT#spt.signature)}], binary_to_list(jiffy:encode({R})); _ -> html("add-chain: missing input: chain; see RFC 6962", Input) end, mod_esi:deliver(SessionID, Res). +add_pre_chain(SessionID, _Env, _Input) -> + niy(SessionID). + +get_sth(SessionID, _Env, _Input) -> + niy(SessionID). +get_sth_consistency(SessionID, _Env, _Input) -> + niy(SessionID). +get_proof_by_hash(SessionID, _Env, _Input) -> + niy(SessionID). +get_entries(SessionID, _Env, _Input) -> + niy(SessionID). +get_roots(SessionID, _Env, _Input) -> + niy(SessionID). +get_entry_and_proof(SessionID, _Env, _Input) -> + niy(SessionID). + %% For testing. FIXME: Remove. hello(SessionID, Env, Input) -> Query = httpd:parse_query(Input), @@ -43,3 +60,6 @@ html(Text, Input) -> "~s~n" ++ "~p~n" ++ "</body></html>~n", [Text, Input]). + +niy(S) -> + mod_esi:deliver(S, html("NIY - Not Yet Implemented|", [])). |