anchor.diff:  -export([start_link/7]). 
   
   %% gen_fsm callbacks
  --export([init/1, hello/2, certify/2, cipher/2, connection/2, connection/3, 
  +-export([init/1, hello/2, certify/2, cipher/2, connection/2, 
   	 abbreviated/2, handle_event/3,
            handle_sync_event/4, handle_info/3, terminate/3, code_change/4]).
   
  
positive.code: 			     tls_handshake_buffer = Buf0,
  			     negotiated_version = Version}) ->
      Handle = 
  	fun({Packet, Raw}, {next_state, SName, 
  			    AS=#state{tls_handshake_hashes=Hs0}}) -> 	
  	   (_, StopState) -> StopState
  	end,
      try
  	{Packets, Buf} = 
  	ssl_handshake:get_tls_handshake(Data,Buf0, KeyAlg,Version),
  	Start = {next_state, StateName, 
  		 State#state{tls_handshake_buffer = Buf}},
  	lists:foldl(Handle, Start, Packets)
      catch throw:#alert{} = Alert ->
  	    handle_own_alert(Alert, Version, StateName, State0), 
  
negative.code:     catch _:_ ->
  	    ok
      end.
  make_premaster_secret({MajVer, MinVer}, Alg) when Alg == rsa; 
  						  Alg == dh_dss; 
  						  Alg == dh_rsa ->
  