aboutsummaryrefslogtreecommitdiffstats
path: root/epan/crypt/airpdcap.c
AgeCommit message (Collapse)AuthorFilesLines
2008-10-16Removed a "statement not reached" warning.stig1-1/+0
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@26478 f5534014-38df-0310-8fa8-9805f1628bb7
2008-09-02Fetch the key length using pntohs. Initialize and check its length.gerald1-5/+4
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@26115 f5534014-38df-0310-8fa8-9805f1628bb7
2008-09-02Fix a few Emacs "file variables" to have "safe" values.wmeier1-1/+1
That is: indent-tabs-mode: tabs --> indent-tabs-mode: t Also: fix a typo: set-tabs-mode --> indent-tabs-mode git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@26113 f5534014-38df-0310-8fa8-9805f1628bb7
2008-08-25Add another buffer length check to group key decryption.gerald1-0/+6
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@26071 f5534014-38df-0310-8fa8-9805f1628bb7
2008-08-25Fix a couple of crashes in WPA group key decryption.gerald1-0/+3
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@26070 f5534014-38df-0310-8fa8-9805f1628bb7
2008-07-30Add WPA group key decryption from Brian Stormont, via bug 1420:gerald1-20/+427
Although this patch successfully recognizes group keys and decrypts packets properly using the group key, there is a limitation. If an AP is using key rotation, clicking on individual packets in a trace may not properly decrypt a packet encrypted with a group key. This is because the current structure used in Wireshark only supports one active unicast and one active group key. If a new key has been seen, but you are looking at a packet encrypted with an older key, it will not decrypt. The summary lines, however, do show the packets properly decrypted. I've written up a much longer and more detailed explanation in a comment in the code, along with a proposed idea for a solution, plus a clunky work-around in the GUI when using the current code. I also suspect there might still be a problem with decrypting TKIP groups keys that are sent using WPA2 authentication. In the most common operation, if you are using WPA2, you'll also be using AES keys. It's not a common AP configuration to use WPA2 with TKIP. In fact, most APs don't seem to support it. Since it is an uncommon setup, I haven't put aside the time to test this patch against such an AP. I do have access to an AP that supports this, so when I have the time I'll test it and if needed, will submit another patch to handle that odd-ball condition. From me: Remove the decrypt element of s_rijndael_ctx (which was unused, as indicated in the comments). Preserve the GPL licensing text in several files (which the patch shouldn't have removed). Remove changes that added whitespace. Convert C++-style comments to C-style. Update to include recent SVN changes (e.g. renaming variables named "index"). Remove extraneous printf's. Define DEBUG_DUMP in airpdcap_debug.h. Comment out some instances of DEBUG_DUMP. Change malloc/free to g_malloc/g_free. Use g_memdup instead of allocating and copying. Use gint16 instead of INT16 in airpdcap_rijndael.c. Add Brian to AUTHORS. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@25879 f5534014-38df-0310-8fa8-9805f1628bb7
2008-06-24Fix another variable named "index".guy1-6/+6
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@25581 f5534014-38df-0310-8fa8-9805f1628bb7
2008-06-23Rename a variable to avoid collisions with the old V7 index() function,guy1-4/+4
still declared by <string.h> on some platforms (at least the way we compile, with all sorts of non-ANSI C/non-POSIX stuff added). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@25551 f5534014-38df-0310-8fa8-9805f1628bb7
2008-04-09Remove:etxrab1-3/+0
#ifdef NEED_G_ASCII_STRCASECMP_H #include "g_ascii_strcasecmp.h" #endif git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@24859 f5534014-38df-0310-8fa8-9805f1628bb7
2008-04-07- Remove GLIB1 codesfisher1-1/+0
- Change ugly GLIB version checking statements to GLIB_CHECK_VERSION - Remove ws_strsplit files because we no longer need to borrow GLIB2's g_strsplit code for the no longer supported GLIB1 builds git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@24829 f5534014-38df-0310-8fa8-9805f1628bb7
2008-03-11If we haven't found a handshake packet, say so.gerald1-1/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@24605 f5534014-38df-0310-8fa8-9805f1628bb7
2008-03-10Change the BSD-licensed written by CACE to BSD+GPL.gerald1-0/+4
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@24599 f5534014-38df-0310-8fa8-9805f1628bb7
2008-03-05Move the contents of AirPDcapCleanKeys() into AirPDcapInitContext()gerald1-36/+13
and call AirPDcapInitContext() where we were previously calling AirPDcapCleanKeys(). If we're resetting our keys, we should reset our SA list and other associated data as well. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@24562 f5534014-38df-0310-8fa8-9805f1628bb7
2007-11-28we must include config.h or else NEED_G_ASCII_STRCASECMP_H will never be sahlberg1-1/+5
defined we must also include g_ascii_strcasecmp.h from the parent directory git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23634 f5534014-38df-0310-8fa8-9805f1628bb7
2007-11-27strcasecmp(), strncasecmp(), g_strcasecmp(), and g_strncasecmp() delendaguy1-3/+7
est. Use g_ascii_strcasecmp() and g_ascii_strncasecmp(), and supply our own versions if they're missing from GLib (as is the case with GLib 1.x). In the code to build the list of named fields for Diameter, don't use g_strdown(); do our own g_ascii_-style upper-case to lower-case mapping in the hash function and use g_ascii_strcasecmp() in the compare function. We do this because there is no guarantee that toupper(), tolower(), and functions that use them will, for example, map between "I" and "i" in all locales; in Turkish locales, for example, there are, in both upper case and lower case, versions of "i" with and without a dot, and the upper-case version of "i" is "I"-with-a-dot and the lower-case version of "I" is "i"-without-a-dot. This causes strings that should match not to match. This finishes fixing bug 2010 - an earlier checkin prevented the crash (as there are other ways to produce the same crash, e.g. a bogus dictionary.xml file), but didn't fix the case-insensitive string matching. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23623 f5534014-38df-0310-8fa8-9805f1628bb7
2007-10-31From Christopher McKenzie: Zero out our SAs before we use them.gerald1-8/+8
Remove an unneeded for loop in AirPDcapCleanKeys(), and make it static. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23314 f5534014-38df-0310-8fa8-9805f1628bb7
2007-10-16From tmiller@hcjbtech.org : Spelling error on GDS DB protocol dissector: ↵sake1-1/+1
"Buffer lenght:" (recursively grepped through the source and corrected all occurences, even the ones just in comments) git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@23211 f5534014-38df-0310-8fa8-9805f1628bb7
2007-06-27Make the WPA passphrase a percent-escaped string. Constify and GLib-izegerald1-9/+16
some variables. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22210 f5534014-38df-0310-8fa8-9805f1628bb7
2007-06-23A recent checkin broke wpa-psk keys; fix it.gerald1-2/+2
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22169 f5534014-38df-0310-8fa8-9805f1628bb7
2007-06-21In packet-ieee802.11.c, fix a serious preference bug introduced in thegerald1-2/+5
last checkin. In airpcap.c, appease the toolbar code by returning a lower-case, non-separated WEP key. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22152 f5534014-38df-0310-8fa8-9805f1628bb7
2007-06-21Be less restrictive about WEP key preferences. Use hex_str_to_bytes togerald1-250/+128
process WEP keys. Allow the "wep:" prefix for WEP keys even when HAVE_AIRPDCAP isn't defined. Add a NULL pointer check to hex_str_to_bytes(). Fixes bug 1584. Fixup indentation. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22151 f5534014-38df-0310-8fa8-9805f1628bb7
2007-06-18Be a little less picky about EAPOL packet lengths. Someone sent in agerald1-2/+2
capture that has extra data in the 4th handshake message. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22138 f5534014-38df-0310-8fa8-9805f1628bb7
2007-06-14The 802.11 dissector calculates the header size, so pass that value togerald1-71/+38
the WEP/WPA decryption code instead of re-calculating it. Fixes bug 1639. Remove fcsPresent, radiotapPresent, and associated code from airpdcap.c since they were always FALSE. Glib-ize some data types. Fixup white space. Update the release notes. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@22104 f5534014-38df-0310-8fa8-9805f1628bb7
2007-05-20The fix for ad-hoc WEP decryption in r21814 broke WPA. Replace it withgerald1-1156/+1183
a better fix. Clean up whitespace while we're at it. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21847 f5534014-38df-0310-8fa8-9805f1628bb7
2007-05-17Try WEP decryption before WPA. This keeps us from returninggerald1-113/+110
prematurely if we have an IBSS frame. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21814 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-23Don't assume a pointer to UCHAR is necessarily aligned; that nowguy1-2/+2
generates a warning. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21528 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-22Get rid of some const warnings.guy1-14/+15
Use the "pnto" macros to fetch 16-bit quantities from a buffer - not only do they have the right casts to avoid const warnings, they also work even on platforms (such as SPARC) where you can't dereference unaligned pointers without a trap. Similarly, compare a possibly-unaligned (we make no alignment guarantees in Wireshark) 16-bit quantity against 0 a byte at a time. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21507 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-22Check the GLib version number, not the GTK+ version number; it's GLib weguy1-1/+1
care about, and this code doesn't use GTK+, so it doesn't include any GTK+ headers and therefore doesn't get the GTK+ version number defined. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21506 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-22GString.len has changed signednedd between gtk1 and gtk2sahlberg1-2/+5
this will hopefully again compile under both gtk1 and 2 git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21499 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-22Fix a signedness warning.jmayer1-1/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21497 f5534014-38df-0310-8fa8-9805f1628bb7
2007-04-22fix the sign of a variable to prevent a singed/unsigned warning during sahlberg1-1/+1
compiling git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21494 f5534014-38df-0310-8fa8-9805f1628bb7
2007-03-22Add -Werror for gcc to a few more directories and fix a few warningssfisher1-28/+0
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@21129 f5534014-38df-0310-8fa8-9805f1628bb7
2007-02-20WEP decryption is destructive -- pass a fresh copy of our data buffergerald1-3/+8
instead of the actual buffer. Add an entry to the release notes, and clear out leftovers from the 0.99.5 release. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20875 f5534014-38df-0310-8fa8-9805f1628bb7
2007-02-13From Sebastien Tandel:sfisher1-0/+1
Create two new files (ws_strsplit.[ch]) that use GTK2 code to override the buggy g_strsplit() function when compiling for GTK1. Include this work-around function (ws_strsplit) in libwireshark.def. Add notes on usage to README.developer. Include epan/ws_strsplit.h in all files that use g_strsplit(). git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20804 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-26Fix saving WPA key preferences from the decryption key management dialog,gerald1-4/+0
which was broken by r20388. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20573 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-26Add support for "wildcard" WPA keys in the form "wpa:passphrase" (notegerald1-158/+198
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. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20572 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-25Fix a key preference crash bug. Improve WPA passphrase and SSID lengthgerald1-2/+2
handling. Free a byte array. Squelch a compiler warning. Fix a URI string parsing bug. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20549 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-16From Gisle Vanem: Add the final ) to a g_strdup_printf callsfisher1-1/+1
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20457 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-12Add copyright attributions and licenses. License each derived workgerald1-0/+31
according to its pedigree. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20401 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-12Move sha1.[ch] to epan/crypt/crypt-sha1.[ch]. Remove duplicate code.gerald1-5/+5
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20399 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-11Fix compilation problems under Windows. In the GTK code, convert SSIDsgerald1-6/+6
to GByteArrays. Add format_uri() to strutil, which formats a byte string with percent-escapes. Fixup whitespace and indentation. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20397 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-11Add uri_str_to_bytes(), byte_array_dup(), and byte_array_equal()gerald1-0/+370
functions to strutil. Use GByteArrays to store SSIDs for decryption, and let the user specify arbitrary byte strings using percent-encoded strings. We should probably add percent encoding for pass phrases as well, so you can escape the ":" character. Move the key struct key conversion utilities to airpdcap.c, and remove duplicate code from packet-ieee80211.c. Fix a lot of indentation. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20388 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-08Remove duplicate crc32 code.gerald1-46/+5
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20347 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-02Move epan/crypt-md5.[ch] to epan/crypt. Removegerald1-17/+18
epan/crypt/airpdcap_md5.[ch]. Fix up whitespace. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20277 f5534014-38df-0310-8fa8-9805f1628bb7
2007-01-01Fix a compiler warning. Surround an MSVC-specific #pragma with angerald1-52/+48
#ifdef, and add a link to a -dev mailing list thread pointing out that it may not be necessary. Fixup whitespace and comments. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20256 f5534014-38df-0310-8fa8-9805f1628bb7
2006-12-29Add some parentheses, as the suggestion of Mr. GCC.guy1-3/+3
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20236 f5534014-38df-0310-8fa8-9805f1628bb7
2006-12-28Move the contents of airpdcap to epan/crypt. Try to fix the currentgerald1-0/+1333
distcheck failure. Move the nmake build targets for airpdcap from epan/dissectors to epan. This will probably break the Windows build. git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@20231 f5534014-38df-0310-8fa8-9805f1628bb7