PERFORCE change 148759 for review
Sam Leffler
sam at FreeBSD.org
Fri Aug 29 00:33:45 UTC 2008
http://perforce.freebsd.org/chv.cgi?CH=148759
Change 148759 by sam at sam_ebb on 2008/08/29 00:33:37
test remainder cases from 0-3 bytes
Affected files ...
.. //depot/projects/vap/tools/regression/net80211/tkip/test_tkip.c#6 edit
Differences ...
==== //depot/projects/vap/tools/regression/net80211/tkip/test_tkip.c#6 (text+ko) ====
@@ -182,15 +182,26 @@
}
static struct mbuf *
-formpacket(const struct ieee80211_cipher *cip, const void *plaintext, int len)
+formpacket(const struct ieee80211_cipher *cip, const void *plaintext,
+ int len, int remainder)
{
- struct mbuf *m;
+ struct mbuf *m, *n;
+ const uint8_t *p = plaintext;
+
+ printf("(packet %d+%d) ", len-remainder, remainder);
- m = m_getcl(M_NOWAIT, MT_HEADER, M_PKTHDR);
+ m = m_getcl(M_NOWAIT, MT_DATA, M_PKTHDR);
KASSERT(m != NULL, ("cannot allocate mbuf!"));
m->m_data += cip->ic_header;
- m_append(m, len, plaintext);
+ m_append(m, len-remainder, p);
+
+ if (remainder) {
+ n = m_get(M_NOWAIT, MT_DATA);
+ KASSERT(n != NULL, ("cannot split mbuf chain!"));
+ m_append(m, remainder, p + (len-remainder));
+ m->m_next = n;
+ }
return m;
}
@@ -223,7 +234,7 @@
}
static int
-runtest(struct ieee80211vap *vap, struct ciphertest *t)
+runtest(struct ieee80211vap *vap, struct ciphertest *t, int remainder)
{
struct tkip_ctx *ctx;
struct ieee80211_key key;
@@ -259,7 +270,7 @@
*/
cip = key.wk_cipher;
m = formpacket(cip, t->plaintext,
- t->plaintext_len - IEEE80211_WEP_MICLEN);
+ t->plaintext_len - IEEE80211_WEP_MICLEN, remainder);
hdrlen = ieee80211_anyhdrsize(t->plaintext);
/*
@@ -383,7 +394,7 @@
struct ieee80211_clone_params icp;
char ifname[IFNAMSIZ];
struct ieee80211vap *vap;
- int pass = 0, total = 0, i, error;
+ int pass = 0, total = 0, i, error, remainder;
uint8_t bands;
ifp = if_alloc(IFT_IEEE80211);
@@ -431,7 +442,8 @@
for (i = 0; i < N(tkiptests); i++)
if (tests & (1<<i)) {
total++;
- pass += runtest(vap, &tkiptests[i]);
+ for (remainder = 0; remainder < 4; remainder++)
+ pass += runtest(vap, &tkiptests[i], remainder);
}
printf("%u of %u 802.11i TKIP test vectors passed\n", pass, total);
bad:
More information about the p4-projects
mailing list