[Madwifi-cvs] madwifi/net80211 ieee80211_node.c,1.1.4.3,1.1.4.4
Status: Beta
Brought to you by:
otaku
From: <sam...@us...> - 2004-02-29 04:26:42
|
Update of /cvsroot/madwifi/madwifi/net80211 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8641/net80211 Modified Files: Tag: WPA ieee80211_node.c Log Message: Changes related proper subclassing of the node management methods: o make ieee80211_node_free reclaim rxfrag sk_buffs and delete any unicast key allocated o make ieee80211_node_copy invalidate ni_challenge and ni_ucastkeyix in the copied node o remove rxfrag+unicast key cleanup from _ieee80211_free_node now that ieee80211_node_free does the work Index: ieee80211_node.c =================================================================== RCS file: /cvsroot/madwifi/madwifi/net80211/Attic/ieee80211_node.c,v retrieving revision 1.1.4.3 retrieving revision 1.1.4.4 diff -C2 -d -r1.1.4.3 -r1.1.4.4 *** ieee80211_node.c 27 Feb 2004 21:56:29 -0000 1.1.4.3 --- ieee80211_node.c 29 Feb 2004 04:08:54 -0000 1.1.4.4 *************** *** 511,519 **** ieee80211_node_free(struct ieee80211com *ic, struct ieee80211_node *ni) { ! if (ni->ni_challenge != NULL) { FREE(ni->ni_challenge, M_DEVBUF); ! ni->ni_challenge = NULL; ! } FREE(ni, M_80211_NODE); } --- 511,525 ---- ieee80211_node_free(struct ieee80211com *ic, struct ieee80211_node *ni) { ! #define N(a) (sizeof(a)/sizeof(a[0])) ! int i; ! ! if (ni->ni_challenge != NULL) FREE(ni->ni_challenge, M_DEVBUF); ! for (i = 0; i < N(ni->ni_rxfrag); i++) ! if (ni->ni_rxfrag[i] != NULL) ! kfree_skb(ni->ni_rxfrag[i]); ! ieee80211_node_delkey(ic, ni); FREE(ni, M_80211_NODE); + #undef N } *************** *** 524,527 **** --- 530,534 ---- *dst = *src; dst->ni_challenge = NULL; + dst->ni_ucastkeyix = IEEE80211_KEYIX_NONE; } *************** *** 687,692 **** _ieee80211_free_node(struct ieee80211com *ic, struct ieee80211_node *ni) { - #define N(a) (sizeof(a)/sizeof(a[0])) - int i; KASSERT(ni != ic->ic_bss, ("freeing bss node")); --- 694,697 ---- *************** *** 705,717 **** IF_DRAIN(&ni->ni_savedq); if (ic->ic_set_tim) ! ic->ic_set_tim(ic, ni->ni_associd, 0); } - for (i = 0; i < N(ni->ni_rxfrag); i++) - if (ni->ni_rxfrag[i] != NULL) - kfree_skb(ni->ni_rxfrag[i]); - if (ni->ni_ucastkeyix != IEEE80211_KEYIX_NONE) - (*ic->ic_key_delete)(ic, ni->ni_ucastkeyix); (*ic->ic_node_free)(ic, ni); - #undef N } --- 710,716 ---- IF_DRAIN(&ni->ni_savedq); if (ic->ic_set_tim) ! (*ic->ic_set_tim)(ic, ni->ni_associd, 0); } (*ic->ic_node_free)(ic, ni); } |