anchor.diff:  		end
   	catch
   		_:_ ->
  -			send_response(failure, EapID, <<>>, ?AccessReject,
  -				RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  +			EapPacket = #eap_packet{code = failure,
  +					type = ?PWD, identifier = EapID},
  +			send_response(EapPacket, ?AccessReject,
  +					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
   			{stop, {shutdown, SessionID}, StateData}
   	end.
   %% @hidden
  
positive.code: 				#eap_packet{code = response, type = ?Identity,
  						identifier = NewEapID} ->
  					NextEapID = NewEapID + 1,
  					send_response(request, NextEapID, EapData, ?AccessChallenge,
  							RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  					NextStateData = NewStateData#statedata{eap_id = NextEapID},
  					{next_state, id, NextStateData, ?TIMEOUT};
  				#eap_packet{code = Code, type = EapType,
  						identifier = NewEapID, data = Data} ->
  					error_logger:warning_report(["Unknown EAP received",
  							{pid, self()}, {session_id, SessionID}, {code, Code},
  							{type, EapType}, {identifier, NewEapID}, {data, Data}]),
  					radius:response(RadiusFsm, {error, ignore}),
  					{stop, {shutdown, SessionID}, StateData};
  				{'EXIT', _Reason} ->
  					radius:response(RadiusFsm, {error, ignore}),
  					{stop, {shutdown, SessionID}, StateData}
  			end;
  		{error, not_found} ->
  			send_response(request, EapID, EapData, ?AccessChallenge,
  					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  			{next_state, id, NewStateData, ?TIMEOUT}
  	end.
  
negative.code: 				CommitReqHeader = #eap_pwd{length = false,
  					more = false, pwd_exch = commit, data = CommitReqBody},
  				CommitEapData = ocs_eap_codec:eap_pwd(CommitReqHeader),
  				EapPacket = #eap_packet{code = request,
  						type = ?PWD, identifier = NewEapID, data = CommitEapData},
  				send_response(EapPacket, ?AccessChallenge, RadiusID,
  						[], RequestAuthenticator, Secret, RadiusFsm),
  				NewStateData = StateData#statedata{pwe = PWE, s_rand = S_rand,
  					peer_id = PeerID, eap_id = NewEapID, scalar_s = ScalarS,
  					element_s = ElementS},
  				{next_state, commit, NewStateData, ?TIMEOUT};
  			{error, _Reason} ->
  				EapPacket = #eap_packet{code = failure,
  						type = ?PWD, identifier = NewEapID},
  				send_response(EapPacket, ?AccessReject,
  					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  				{stop, {shutdown, SessionID}, StateData}
  		end
  