anchor.diff:  	end,
       eap_handshake_next(Next, Data);
   
  -eap_handshake(Data, Data0) ->
  -    ?LOG(warning, "unexpected EAP Handshake: ~p", [Data]),
  +eap_handshake(HandShake, Data0) ->
  +    ?LOG(warning, "unexpected EAP Handshake: ~p", [HandShake]),
       Data = stop_eapol_timer(Data0),
       wtp_del_station(Data),
       aaa_disassociation(Data),
  
positive.code: 
  update_sta_from_mgmt_frame_ies(IEs, #data{aid = AID, capabilities = Cap0} = Data0) ->
      Data1 = Data0#data{capabilities = Cap0#sta_cap{aid = AID}},
      ListIE = [ {Id, Data} || <<Id:8, Len:8, Data:Len/bytes>> <= IEs ],
      Data = lists:foldl(fun update_sta_from_mgmt_frame_ie/2, Data1, ListIE),
  
      ?LOG(debug, "New Station Caps: ~p", [Data#data.capabilities]),
  
negative.code:     RSN;
  decode_rsne(group_cipher_suite, <<GroupCipherSuite:4/bytes, Next/binary>>, RSN) ->
      decode_rsne(pairwise_cipher_suite, Next, RSN#wtp_wlan_rsn{group_cipher_suite = GroupCipherSuite});
  decode_rsne(pairwise_cipher_suite, <<Count:16/little, Rest/binary>>, RSN) ->
      Length = Count * 4,
      <<Suites:Length/bytes, Next/binary>> = Rest,
      decode_rsne(auth_key_management, Next,
  		RSN#wtp_wlan_rsn{cipher_suites = [ Id || <<Id:4/bytes>> <= Suites ]});
  decode_rsne(auth_key_management, <<Count:16/little, Rest/binary>>, RSN) ->
      Length = Count * 4,
      <<Suites:Length/bytes, Next/binary>> = Rest,
      decode_rsne(rsn_capabilities, Next,
  		RSN#wtp_wlan_rsn{akm_suites =
  				     [ capwap_packet:decode_akm_suite(Id) || <<Id:32>> <= Suites ]});
  