anchor.diff:  
   %% export the ocs_eap_pwd_fsm state callbacks
   -export([eap_start/2, id/2, commit/2, confirm/2,
  -			eap_start/3]).
  +			eap_start/3, id/3]).
   
   %% export the call backs needed for gen_fsm behaviour
   -export([init/1, handle_event/3, handle_sync_event/4, handle_info/3,
  
positive.code: 			{stop, {shutdown, SessionID}, StateData}
  	end.
  
  -spec commit(Event, StateData) -> Result
  	when
  		Event :: timeout | term(),
  
negative.code: 	AccOut = lists:foldl(F, AccIn, [P || <<P:16/binary>> <= Plaintext]),
  	iolist_to_binary(tl(lists:reverse(AccOut))).
  
  %% @hidden
  generate_diameter_response(SId, AuthType, ResultCode, OH, OR, EapPacket) ->
  	try
  		EapData = ocs_eap_codec:eap_packet(EapPacket),
  		#diameter_eap_app_DEA{'Session-Id' = SId, 'Auth-Application-Id' = 5,
  				'Auth-Request-Type' = AuthType, 'Result-Code' = ResultCode,
  				'Origin-Host' = OH, 'Origin-Realm' = OR, 'EAP-Payload' = [EapData]}
  	catch
  		_:_ ->
  		#diameter_eap_app_DEA{'Session-Id' = SId, 'Auth-Application-Id' = 5,
  				'Auth-Request-Type' = AuthType,
  				'Result-Code' = ?'DIAMETER_BASE_RESULT-CODE_UNABLE_TO_COMPLY',
  				'Origin-Host' = OH, 'Origin-Realm' = OR}
  	end.
  
  