anchor.diff:  			EapPacket = #eap_packet{code = request, type = ?TTLS,
   					identifier = EapID, data = EapData},
   			send_response(EapPacket, ?AccessChallenge,
  -					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  +					RadiusID, [], RequestAuthenticator, Attributes, Secret, RadiusFsm,
  +					StateData),
   			{next_state, client_hello, NewStateData, ?TIMEOUT};
   		{ok, EAPMessage} ->
   			case catch ocs_eap_codec:eap_packet(EAPMessage) of
  
positive.code: 	EapPacket = #eap_packet{code = request, type = ?TTLS,
  			identifier = NewEapID, data = EapData},
  	send_response(EapPacket, ?AccessChallenge,
  			RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  	NewStateData = StateData#statedata{eap_id = NewEapID, tx_buf = <<>>},
  	{next_state, client_passthrough, NewStateData};
  finish({eap_tls, _SslPid, <<?Handshake, _/binary>> = Data},
  
negative.code: 						{type, EapType}, {data, Data}]),
  				NewEapPacket = #eap_packet{code = failure, identifier = NewEapID},
  				send_response(NewEapPacket, ?AccessReject,
  						RadiusID, [], RequestAuthenticator, Attributes, Secret, RadiusFsm,
  						StateData),
  				{stop, {shutdown, SessionID}, StateData}
  		end
  	catch
  		_:_ ->
  			EapPacket1 = #eap_packet{code = failure, identifier = EapID},
  			send_response(EapPacket1, ?AccessReject,
  					RadiusID, [], RequestAuthenticator, Attributes, Secret, RadiusFsm,
  					StateData),
  				{stop, {shutdown, SessionID}, StateData}
  	end;
  client_passthrough(#diameter_eap_app_DER{} = Request, #statedata{eap_id = EapID,
  