anchor.diff:  -export([]).
   
   %% export the ocs_eap_ttls_fsm state callbacks
  --export([eap_start/2, ttls/2, aaa/2]).
  +-export([ssl_start/2, eap_start/2, ttls/2, aaa/2]).
   
   %% export the call backs needed for gen_fsm behaviour
   -export([init/1, handle_event/3, handle_sync_event/4, handle_info/3,
  
positive.code: 					NewEapID = StartEapID + 1,
  					NewEapPacket = #eap_packet{code = request, type = ?TTLS,
  							identifier = NewEapID, data = EapData},
  					gen_fsm:send_event(AaahFsm, {ttls_socket, self(), SslSocket}),
  					send_response(NewEapPacket, ?AccessChallenge,
  							RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  					NextStateData = NewStateData#statedata{eap_id = NewEapID},
  					{next_state, ttls, NextStateData, ?TIMEOUT};
  				#eap_packet{code = request, identifier = NewEapID} ->
  					NewEapPacket = #eap_packet{code = response, type = ?LegacyNak,
  							identifier = NewEapID, data = <<0>>},
  					send_response(NewEapPacket, ?AccessReject,
  							RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  					{stop, {shutdown, SessionID}, NewStateData};
  				#eap_packet{code = Code,
  							type = EapType, identifier = NewEapID, data = Data} ->
  					error_logger:warning_report(["Unknown EAP received",
  
negative.code: 		_ ->
  			{stop, fragmentation_unimplemented, StateData}
  	end;
  aaa({eap_ttls, _SslPid, Data}, #statedata{buf = Buf} = StateData) ->
  	NewStateData = StateData#statedata{buf = [Data | Buf]},
  	{next_state, aaa, NewStateData, ?BufTIMEOUT}.
  