diff options
author | Gerald Combs <gerald@wireshark.org> | 2007-01-26 21:54:59 +0000 |
---|---|---|
committer | Gerald Combs <gerald@wireshark.org> | 2007-01-26 21:54:59 +0000 |
commit | f9e2736d7cdf7ea3f7adbe63b2b9bab0668d4198 (patch) | |
tree | 17aecf4b298c3e16c08653dc8bbf38d51b3f2e5f /epan/crypt/airpdcap_user.h | |
parent | 70908e9992c82a5dceb2b8005685073ec5c1f21f (diff) |
Add support for "wildcard" WPA keys in the form "wpa:passphrase" (note
the lack of SSID). Wildcarding combines the passphrase with the last
seen SSID and attempts decryption. The last-seen stack is only one
element tall, which means it may get clobbered on busy and diverse
networks. We can expand it if needed.
Make internal functions static in airpdcap.c. Rearrange the
AIRPDCAP_KEY_ITEM struct so that the passphrase and SSID don't get
clobbered when we set our PSK.
svn path=/trunk/; revision=20572
Diffstat (limited to 'epan/crypt/airpdcap_user.h')
-rw-r--r-- | epan/crypt/airpdcap_user.h | 37 |
1 files changed, 19 insertions, 18 deletions
diff --git a/epan/crypt/airpdcap_user.h b/epan/crypt/airpdcap_user.h index 45110ee8e2..0dccb8c975 100644 --- a/epan/crypt/airpdcap_user.h +++ b/epan/crypt/airpdcap_user.h @@ -146,30 +146,31 @@ typedef struct _AIRPDCAP_KEY_ITEM { * calculated. */ union AIRPDCAP_KEY_ITEMDATA_WPA { - struct AIRPDCAP_KEY_ITEMDATA_PWD { - /** - * The string (null-terminated) value of - * the passphrase. - */ - CHAR Passphrase[AIRPDCAP_WPA_PASSPHRASE_MAX_LEN+1]; - /** - * The value of the SSID (up to - * AIRPDCAP_WPA_SSID_MAX_LEN octets). - * @note - * A zero-length SSID indicates broadcast. - */ - CHAR Ssid[AIRPDCAP_WPA_SSID_MAX_LEN]; - /** - *The length of the SSID - */ - size_t SsidLen; - } UserPwd; UCHAR Psk[AIRPDCAP_WPA_PSK_LEN]; UCHAR Pmk[AIRPDCAP_WPA_PMK_LEN]; } Wpa; } KeyData; + + struct AIRPDCAP_KEY_ITEMDATA_PWD { + /** + * The string (null-terminated) value of + * the passphrase. + */ + CHAR Passphrase[AIRPDCAP_WPA_PASSPHRASE_MAX_LEN+1]; + /** + * The value of the SSID (up to + * AIRPDCAP_WPA_SSID_MAX_LEN octets). + * @note + * A zero-length SSID indicates broadcast. + */ + CHAR Ssid[AIRPDCAP_WPA_SSID_MAX_LEN]; + /** + *The length of the SSID + */ + size_t SsidLen; + } UserPwd; } AIRPDCAP_KEY_ITEM, *PAIRPDCAP_KEY_ITEM; /** |