anchor.diff:  
   %% -- negotiate --
   negotiate(ip_comm,_,_) ->
  -    ?hlrt("negotiate(ip_comm)", []),
       ok;
   negotiate({ssl, SSLConfig}, Socket, Timeout) ->
  -    ?hlrt("negotiate(ssl)", []),
       negotiate({?HTTP_DEFAULT_SSL_KIND, SSLConfig}, Socket, Timeout);
   negotiate({essl, _}, Socket, Timeout) ->
  -    ?hlrt("negotiate(essl)", []),
       negotiate_ssl(Socket, Timeout).
   
   negotiate_ssl(Socket, Timeout) ->
  -    ?hlrt("negotiate_ssl", [{socket, Socket}, {timeout, Timeout}]),
       case ssl:ssl_accept(Socket, Timeout) of
   	ok ->
   	    ok;
   	{error, Reason} ->
  -	    ?hlrd("negotiate_ssl - accept failed", [{reason, Reason}]),
   	    %% Look for "valid" error reasons
   	    ValidReasons = [timeout, econnreset, esslaccept, esslerrssl], 
   	    case lists:member(Reason, ValidReasons) of
  
positive.code: %% gen_tcp or ssl.
  %%-------------------------------------------------------------------------
  setopts(ip_comm, Socket, Options) ->
      ?hlrt("ip_comm setopts", [{socket, Socket}, {options, Options}]),
      inet:setopts(Socket, Options);
  
  %% Wrapper for backaward compatibillity
  
negative.code: 
  connect({essl, SslConfig}, {Host, Port}, Opts0, Timeout) -> 
      Opts = [binary, {active, false}, {ssl_imp, new} | Opts0] ++ SslConfig,
      case (catch ssl:connect(Host, Port, Opts, Timeout)) of
  	{'EXIT', Reason} ->
  	    {error, {eoptions, Reason}};
  