anchor.diff:  					NewEapPacket = #eap_packet{code = failure, identifier = NewEapID},
   					send_response(NewEapPacket, ?AccessReject,
   							RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  -					{stop, {shutdown, SessionID}, StateData};
  +					{stop, {shutdown, SessionID}, NewStateData};
   				{'EXIT', _Reason} ->
   					NewEapPacket = #eap_packet{code = failure, identifier = EapID},
   					send_response(NewEapPacket, ?AccessReject,
   							RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  -					{stop, {shutdown, SessionID}, StateData}
  +					{stop, {shutdown, SessionID}, NewStateData}
   			end;
   		{error, not_found} ->
   			EapPacket = #eap_packet{code = request, type = ?TTLS,
  
positive.code: 			send_response(EapPacket, ?AccessChallenge,
  					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  			ssl:ssl_accept(SslSocket),
  			{next_state, ttls, StateData, ?TIMEOUT}
  	end.
  
  -spec ttls(Event :: timeout | term(), StateData :: #statedata{}) ->
  
negative.code: 		eap_id = EapID, session_id = SessionID,
  		secret = Secret} = StateData) ->
  	{ok, SslSocket} = ocs_eap_ttls_transport:ssl_accept(self(), []),
  	NewStateData = StateData#statedata{ssl_socket = SslSocket},
  	EapTtls = #eap_ttls{start = true},
  	EapData = ocs_eap_codec:eap_ttls(EapTtls),
  	case radius_attributes:find(?EAPMessage, Attributes) of
  