anchor.diff:      parse_options(Options, State#state{credentials={User, Pass}});
   parse_options([{certfile, File}|Options], State) ->
       parse_options(Options, State#state{certfile=File});
  +parse_options([{cacertfile, File}|Options], State) ->
  +    parse_options(Options, State#state{cacertfile=File});
   parse_options([{keyfile, File}|Options], State) ->
       parse_options(Options, State#state{keyfile=File}).
   
  
positive.code:                 failed=[] :: [connection_failure()],  % breakdown of failed connects
                  connect_timeout=infinity :: timeout(), % timeout of TCP connection
                  credentials :: undefined | {string(), string()},
                  certfile,
                  keyfile,
                  reconnect_interval=?FIRST_RECONNECT_INTERVAL :: non_neg_integer()}).
  
negative.code:             [MsgCode|MsgData] = Data,
              case riak_pb_codec:decode(MsgCode, MsgData) of
                  rpbstarttls ->
                      Options = [{verify, verify_peer},
                                 {cacertfile, State#state.cacertfile}] ++
                                [{K, V} || {K, V} <- [{certfile,
                                                       State#state.certfile},
                                                      {keyfile,
                                                       State#state.keyfile}],
                                           V /= undefined],
                      case ssl:connect(Sock, Options, 1000) of
                          {ok, SSLSock} ->
                              ok = ssl:setopts(SSLSock, [{active, once}]),
                              start_auth(State#state{sock=SSLSock, transport=ssl});
  