anchor.diff:  					send_response(NewEapPacket, ?AccessChallenge,
   							RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
   					NextStateData = NewStateData#statedata{eap_id = NewEapID},
  -					{next_state, handle_peer, NextStateData, ?TIMEOUT};
  +					{next_state, client_hello, NextStateData, ?TIMEOUT};
   				#eap_packet{code = request, identifier = NewEapID} ->
   					NewEapPacket = #eap_packet{code = response, type = ?LegacyNak,
   							identifier = NewEapID, data = <<0>>},
  
positive.code: 					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  			{stop, {shutdown, SessionID}, NewStateData}
  	end.
  
  -spec handle_ssl(Event :: timeout | term(), StateData :: #statedata{}) ->
  	Result :: {next_state, NextStateName :: atom(), NewStateData :: #statedata{}}
  		| {next_state, NextStateName :: atom(), NewStateData :: #statedata{},
  		Timeout :: non_neg_integer() | infinity}
  		| {next_state, NextStateName :: atom(), NewStateData :: #statedata{}, hibernate}
  		| {stop, Reason :: normal | term(), NewStateData :: #statedata{}}.
  %% @doc Handle events sent with {@link //stdlib/gen_fsm:send_event/2.
  %%		gen_fsm:send_event/2} in the <b>handle_ssl</b> state.
  %% @@see //stdlib/gen_fsm:StateName/2
  %% @private
  handle_ssl(timeout, #statedata{session_id = SessionID,
  		tx_buf = []} = StateData) ->
  	{stop, {shutdown, SessionID}, StateData};
  handle_ssl(timeout, StateData) ->
  	handle_ssl1(StateData);
  handle_ssl({eap_ttls, _SslPid, Data}, #statedata{tx_buf = TxBuf} = StateData) ->
  		NewStateData = StateData#statedata{tx_buf = [TxBuf, Data]},
  	{next_state, handle_ssl, NewStateData, ?BufTIMEOUT};
  handle_ssl({#radius{code = ?AccessRequest, id = RadiusID,
  		authenticator = RequestAuthenticator, attributes = Attributes},
  		RadiusFsm}, #statedata{eap_id = EapID, session_id = SessionID,
  		secret = Secret} = StateData) ->
  	NewStateData = StateData#statedata{radius_fsm = RadiusFsm, 
        radius_id = RadiusID, req_auth = RequestAuthenticator},
  	EapMessages = radius_attributes:get_all(?EAPMessage, Attributes),
  	EapMessage = iolist_to_binary(EapMessages),
  
negative.code: 					identifier = EapID, data = EapData},
  			send_response(EapPacket, ?AccessChallenge,
  					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  			{next_state, client_hello, NewStateData, ?TIMEOUT};
  		{ok, EAPMessage} ->
  			case catch ocs_eap_codec:eap_packet(EAPMessage) of
  				#eap_packet{code = response,
  