anchor.diff:  	Length = size(AttributeData) + 20,
   	ResponseAuthenticator = crypto:hash(md5,[<<?AccessChallenge, RadiusID,
   			Length:16>>, RequestAuthenticator, AttributeData, Secret]),
  -	Response = #radius{code = ?AccessChallenge, id = RadiusID,
  +	Response = #radius{code = RadiusCode, id = RadiusID,
   			authenticator = ResponseAuthenticator, attributes = AttributeData},
   	ResponsePacket = radius:codec(Response),
   	radius:response(RadiusFsm, {response, ResponsePacket}),
   	ok.
  -
  -%% @doc Sends an RADIUS-Access/Challenge packet to peer
  -%% @hidden
  -send_radius_success(NewEAPID, EAPData, RadiusID, RequestAuthenticator, Secret, RadiusFsm) ->
  -	Packet = #eap_packet{code = ?Success, identifier = NewEAPID, data = EAPData},
  -	EAPPacketData = ocs_eap_codec:eap_packet(Packet),
  -	AttributeList0 = radius_attributes:new(),
  -	AttributeList1 = radius_attributes:store(?MessageAuthenticator,
  -			<<0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0>>, AttributeList0),
  -	AttributeList2 = radius_attributes:store(?EAPMessage,
  -			EAPPacketData, AttributeList1),	
  -	AttrList2bin = radius_attributes:codec(AttributeList2),
  -	Response1 = #radius{code = ?AccessAccept, id = RadiusID,
  -			authenticator = RequestAuthenticator, attributes = AttrList2bin},
  -	ResponsePacket1 = radius:codec(Response1),
  -	MessageAuthenticator = crypto:hmac(md5, Secret, ResponsePacket1),
  -	AttributeList3 = radius_attributes:store(?MessageAuthenticator,
  -			MessageAuthenticator, AttributeList2),
  -	AttributeData = radius_attributes:codec(AttributeList3),
  -	Length = size(AttributeData) + 20,
  -	ResponseAuthenticator = crypto:hash(md5,[<<?AccessChallenge, RadiusID,
  -			Length:16>>, RequestAuthenticator, AttributeData, Secret]),
  -	Response = #radius{code = ?AccessAccept, id = RadiusID,
  -			authenticator = ResponseAuthenticator, attributes = AttributeData},
  -	ResponsePacket = radius:codec(Response),
  -	radius:response(RadiusFsm, {response, ResponsePacket}).
  
positive.code: 			{next_state, wait_for_confirm, StateData,0}
  	end.
  wait_for_confirm1(BodyData, #statedata{radius_fsm = RadiusFsm, radius_id = RadiusID,
  		secret = Secret, authenticator = RequestAuthenticator, confirm_s = ConfirmS} = _StateData) ->
  		ExpectedSize = size(<<ConfirmS/binary>>),
  		case size(BodyData) of 
  			ExpectedSize ->
  				ok;
  			_ ->
  				send_radius_reject(RadiusID, RequestAuthenticator, Secret, RadiusFsm),
  				{error, exit}
  		end.
  
  
negative.code: %%  internal functions
  %%----------------------------------------------------------------------
  
  %% @doc Sends an RADIUS-Access/Challenge packet to peer
  %% @hidden
  send_radius_response(EAPCode, NewEAPID, EAPData, RadiusCode, RadiusID, RequestAuthenticator, Secret, RadiusFsm) ->
  	Packet = #eap_packet{code = EAPCode, identifier = NewEAPID, data = EAPData},
  	EAPPacketData = ocs_eap_codec:eap_packet(Packet),
  	AttributeList0 = radius_attributes:new(),
  	AttributeList1 = radius_attributes:store(?EAPMessage,
  