anchor.diff:  -export([start_link/1
           ,check_key_for_repo_path/3
           ,add_key/3, remove_key/1
  -        ,add_repo/2, remove_repo/1, get_repos/0
  -        ,check_hmac/3]).
  +        ,add_repo/2, remove_repo/1
  +        ,get_repos/0, get_keys/0
  +        ,check_hmac/3
  +        ,reload_repo_config/0]).
   
   %% gen_server callbacks
   -export([init/1, handle_call/3, handle_cast/2, handle_info/2,
  
positive.code:     Result.
  
  
  -spec p_get_repos() -> Repos :: [binary()].
  p_get_repos() ->
      T = fun() ->
                  mnesia:foldl(fun(#repo{name = Repo}, Acc) -> [Repo | Acc] end, [], repo)
          end,
      {atomic, Result} = mnesia:transaction(T),
      Result.
  
negative.code: handle_call({auth_req, get_repos}, _From, State) ->
      Reply = p_get_repos(),
      {reply, Reply, State};
  handle_call({auth_req, get_keys}, _From, State) ->
      Reply = p_get_keys(),
      {reply, Reply, State};
  handle_call({auth_req, check_hmac, {Message, KeyId, HMAC}}, _From, State) ->
      Reply = p_check_hmac(Message, KeyId, HMAC),
      {reply, Reply, State};
  handle_call({auth_req, reload_repo_config}, _From, State) ->
      Reply = p_reload_repo_config(),
      {reply, Reply, State}.
  
  
  