anchor.diff:  		StateData) ->
   	{stop, {shutdown, SessionID}, StateData};
   server_passthrough({accept, UserName, SslSocket}, #statedata{eap_id = EapID,
  -		session_id = SessionID, secret = Secret,
  +		start = #radius{}, session_id = SessionID, secret = Secret,
   		req_auth = RequestAuthenticator, radius_fsm = RadiusFsm,
   		radius_id = RadiusID, %ssl_socket = SslSocket,
   		client_rand = ClientRandom, server_rand = ServerRandom}
  
positive.code: 			send_response(EapPacket1, ?AccessReject,
  					RadiusID, [], RequestAuthenticator, Secret, RadiusFsm),
  				{stop, {shutdown, SessionID}, StateData}
  	end.
  
  -spec server_passthrough(Event, StateData) -> Result
  	when
  		Event :: timeout | term(), 
  		StateData :: statedata(),
  		Result :: {next_state, NextStateName, NewStateData}
  		| {next_state, NextStateName, NewStateData, Timeout}
  		| {next_state, NextStateName, NewStateData, hibernate}
  		| {stop, Reason, NewStateData},
  
negative.code: 		RadiusID, Attr5, RequestAuthenticator, Secret, RadiusFsm),
  	{stop, {shutdown, SessionID}, StateData};
  server_passthrough(reject, #statedata{eap_id = EapID, 
  		session_id = SessionID, secret = Secret, start = #radius{},
  		req_auth = RequestAuthenticator, radius_fsm = RadiusFsm,
  		radius_id = RadiusID} = StateData) ->
  	EapPacket = #eap_packet{code = failure, identifier = EapID},
  	send_response(EapPacket, ?AccessReject, RadiusID,
  			[], RequestAuthenticator, Secret, RadiusFsm),
  	{stop, {shutdown, SessionID}, StateData};
  server_passthrough({accept, _UserName, _SslSocket},
  		#statedata{eap_id = EapID, start = #diameter_eap_app_DER{},
  		session_id = SessionID, auth_req_type = AuthType, origin_host = OH,
  		origin_realm = OR, port_server = PortServer} = StateData) ->
  	EapPacket = #eap_packet{code = success, identifier = EapID},
  	Answer = generate_diameter_response(SessionID, AuthType,
  			?'DIAMETER_BASE_RESULT-CODE_SUCCESS', OH, OR, EapPacket),
  	gen_server:cast(PortServer, {self(), Answer}),
  	{stop, {shutdown, SessionID}, StateData};
  server_passthrough(reject, #statedata{eap_id = EapID,
  		session_id = SessionID, start = #diameter_eap_app_DER{},
  	 	auth_req_type = AuthType, origin_host = OH, origin_realm = OR,
  		port_server = PortServer} = StateData) ->
  	EapPacket = #eap_packet{code = failure, identifier = EapID},
  	Answer = generate_diameter_response(SessionID, AuthType,
  			?'DIAMETER_BASE_RESULT-CODE_AUTHENTICATION_REJECTED', OH, OR,
  			EapPacket),
  	gen_server:cast(PortServer, {self(), Answer}),
  	{stop, {shutdown, SessionID}, StateData}.
  
  -spec handle_event(Event, StateName, StateData) -> Result
  