anchor.diff:  connection(#hello_request{}, #state{host = Host, port = Port,
   				    socket = Socket,
   				    session = #session{own_certificate = Cert},
  +				    session_cache = Cache, session_cache_cb = CacheCb,
   				    ssl_options = SslOpts,
   				    negotiated_version = Version,
   				    transport_cb = Transport,
   				    connection_states = ConnectionStates0,
   				    renegotiation = {Renegotiation, _},
   				    tls_handshake_hashes = Hashes0} = State0) ->
  -    Hello = ssl_handshake:client_hello(Host, Port, ConnectionStates0,
  -				       SslOpts, Renegotiation, Cert),
  +    Hello = ssl_handshake:client_hello(Host, Port, ConnectionStates0, SslOpts,
  +				       Renegotiation, Cert),
     
       {BinMsg, ConnectionStates1, Hashes1} =
           encode_handshake(Hello, Version, ConnectionStates0, Hashes0),
  
positive.code: 
  connection(Msg, State) ->
      handle_unexpected_message(Msg, connection, State).
  %%--------------------------------------------------------------------
  %% Description: Whenever a gen_fsm receives an event sent using
  %% gen_fsm:send_all_state_event/2, this function is called to handle
  
negative.code: %% the event. It is also called if a timeout occurs.
  %%
  %%--------------------------------------------------------------------
  %% Description:There should be one instance of this function for each
  %% possible state name. Whenever a gen_fsm receives an event sent
  %% using gen_fsm:send_event/2, the instance of this function with the
  %% same name as the current state name StateName is called to handle
  %% the event. It is also called if a timeout occurs.
  %%
  
  %%--------------------------------------------------------------------
  -spec hello(start | #hello_request{} | #client_hello{} | #server_hello{} | term(),
  	    #state{}) -> gen_fsm_state_return().    
  %%--------------------------------------------------------------------
  hello(start, #state{host = Host, port = Port, role = client,
  		    ssl_options = SslOpts, 
  		    session = #session{own_certificate = Cert} = Session0,
  		    session_cache = Cache, session_cache_cb = CacheCb,
  		    transport_cb = Transport, socket = Socket,
  		    connection_states = ConnectionStates,
  		    renegotiation = {Renegotiation, _}} = State0) ->
      Hello = ssl_handshake:client_hello(Host, Port, ConnectionStates, SslOpts,
  				       Renegotiation, Cert),
  
      Version = Hello#client_hello.client_version,
      Hashes0 = ssl_handshake:init_hashes(),
  