aboutsummaryrefslogtreecommitdiffstats
path: root/epan/crypt
AgeCommit message (Collapse)AuthorFilesLines
2019-11-14dot11decrypt: Fix MIC calc for HMAC-SHA384Mikael Kanstrup1-1/+2
The temporary buffer to store calculated mic is too short to keep the message digest when using HMAC-SHA384 algo. HMAC-SHA384 yields a message digest of 48 bytes so increase buffer size to make room for the largest possible value. Ping-Bug: 16197 Change-Id: I36fd094c39ce77329fb303fa181d286be694ae65 Reviewed-on: https://code.wireshark.org/review/35067 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-14dot11decrypt: Fix KDF for larger PTK derivationMikael Kanstrup1-2/+2
The key derivation function (Dot11DecryptRsnaKdfX) used for deriving PTK use some hard coded hash length values making it fail to generate full / correct PTK for 704 bit long PTK. Fix by replacing hard coded values with acutal hash length values. Ping-Bug: 16197 Change-Id: I48847cdb019672dde76174efb0f17514c58ace51 Reviewed-on: https://code.wireshark.org/review/35066 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-14dot11decrypt: Support 384 bit long PMKMikael Kanstrup3-18/+15
With AKMS 00-0F-AC:12 a 384 bit long PMK shall be used. To be able to support key derivation and decryption from this larger sized PMK the user PSK / PMK key input validation code is updated as well as the various places where a hard coded PMK size is used. Ping-Bug: 16197 Change-Id: I39c9337e8a84095246e3db5ef33dc96fb78e5dc3 Reviewed-on: https://code.wireshark.org/review/35065 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-14dot11decrypt: Dynamic sized TK, KEK, KCK, PTKMikael Kanstrup3-96/+248
Use AKM, cipher suite and group cipher suite from RSNA to determine key lenghts and offsets. This allows keys of different lengths for PTK derivation, MIC validation etc. Ping-Bug: 16197 Change-Id: I9a721fb9811db89357218b50a2a107cf945d3dae Reviewed-on: https://code.wireshark.org/review/35064 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-14dot11decrypt: Support dynamic MIC lengthsMikael Kanstrup2-9/+15
Not all AKMS use same MIC length. Last part to support both 16 byte 24 byte long MIC is to actually make use of the now known in mic length in MIC check / validation function. Instead of hardcoded length use the length in eapol_parsed struct received from dissector. Ping-Bug: 16197 Change-Id: I6585b7a54de4def9e5ff846c19f12059b90ffdf6 Reviewed-on: https://code.wireshark.org/review/35063 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-14dot11decrypt: Export Dot11DecryptDecryptKeyData functionMikael Kanstrup2-147/+118
Simplify the still quite complex Dot11DecryptScanEapolForKeys function and further reduce frame parsing inside Dot11Decrypt engine. This is done by breaking out the EAPOL keydata decryption step into a new function Dot11DecryptDecryptKeyData to be called from dissector. After this Dot11DecryptScanEapolForKeys can now focus on one task, to scan for keys in (unencrypted) EAPOL key frames. With keydata decryption step separated from the broadcast key parsing step the dissectors' GTK parsing can replace the Dot11Decrypt internal RSN GTK TAG parsing. Change-Id: I3b89f40586b8b7dbe2ff74cfc30761010d5b80bc Reviewed-on: https://code.wireshark.org/review/35022 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-14dot11decrypt: Introduce Dot11DecryptGroupHandshake functionMikael Kanstrup1-37/+66
Break out the group handshake parsing from Dot11DecryptScanEapolForKeys to a separate function. With this Dot11DecryptScanEapolForKeys logics is simplified to either handle 4-way handshake or group handshake message. Change-Id: I2714d26623812066c888f7fea4b21eb03f22e510 Reviewed-on: https://code.wireshark.org/review/35021 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-14dot11decrypt: Let dissector parse eapol framesMikael Kanstrup2-213/+77
To be able to support authentication key management suites that use different MIC, PMK, PTK lengths the engine would need to be extended to support parsing EAPOL Key frames with variable field lengts. Though as the IEEE 802.11 dissector already support this the alternative (implemented in this patch) is to remove the EAPOL frame parsing inside the engine and have the dissector feed it with a struct of parsed fields instead. For this a new type DOT11DECRYPT_EAPOL_PARSED is exported and dot11decrypt now expects dissector to fill this struct with parsed EAPOL fields before calling Dot11DecryptScanEapolForKeys. Dissection of EAPOL fields is scattered over several functions in the dissector code so parsed fields are temporarily stored in proto data and then gathered before fed into dot11decrypt engine. Change-Id: Ic6aeb4900f373dcde1ea3f1f0f24df2ae827576e Reviewed-on: https://code.wireshark.org/review/35020 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-11-04dot11decrypt: Let dissector feed engine with EAPOL key message typeMikael Kanstrup2-143/+139
EAPOL key message type is known by dissector so no need for dot11decrypt to parse frames to determine this. Instead feed engine with message type from dissector. With this some code duplication can be avoided. Change-Id: Icfd119186ebab5b0db29968df3eb94275d921e76 Reviewed-on: https://code.wireshark.org/review/34929 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-11-04dot11decrypt: Separate key extraction step from decryption stepMikael Kanstrup2-297/+274
As a step towards removing the parsing of frames inside dot11decrypt engine separate the key extraction step from the decryption step. Two new functions for extracting keys are now provided by the do11decrypt engine. One to be called for EAPOL key frames that will extract and feed the engine with keys present in 4-way handshake and group handshake messages. And one to be called for TDLS action frames to extract keys and feed the engine with keys during TDLS session establishement. The old Dot11DecryptPacketProcess function called for all 802.11 frames is simplified and now only has one purpose. To decrypt encrypted packets. Hence renamed to Dot11DecryptDecryptPacket. Change-Id: Idb38d538f435ec352c6bbb200a09bc2a2347c42e Reviewed-on: https://code.wireshark.org/review/34928 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-11-03dot11decrypt: Shorten the debug macrosMikael Kanstrup2-171/+143
The debug log macros are really long and require function name as one parameter. This makes debug log lines either too wide or span several lines of source code. Shorten the macro defines and make use of G_STRFUNC to avoid manual function name entries in code. NOTE: A bonus of removing all the manual function name entries is that browsing/searching the code for function names is much easier. Change-Id: Ia643f56df76e4a1b01ee6e6818cd61ec01047d33 Reviewed-on: https://code.wireshark.org/review/34927 Reviewed-by: Peter Wu <peter@lekensteyn.nl> Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Roland Knall <rknall@gmail.com>
2019-11-02ieee80211: Extended Key ID supportAlexander Wetzel1-4/+3
Support Extended Key ID for Individually Addressed Frames from IEEE 802.11 - 2016. Extended Key ID allows unicast (PTK) keys to also use key ID 1 and has an additional RSN attribute "KeyID" in EAPOL #3. Add the additional attribute KeyID to the RSN parser, stop assuming unicast keys are only using key ID 0 and add a test case to verify Extended Key ID parsing and decoding. Change-Id: I43005c74df561be5524fa3738149781f50dafa14 Reviewed-on: https://code.wireshark.org/review/34883 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
2019-09-18dot11crypt: Fix crash on failure finding GTK in decrypted frameMikael Kanstrup1-2/+0
If GTK cannot be found inside a successfully decrypted wireless frame the dot11crypt engine returns incorrect decrypted data length of 0 bytes. As the IEEE802.11 dissector does not check the length of the decrypted frame the number of bytes allocated and copied to wmem ends up being a negative number (i.e. a huge unsigned number). This results in a SIGSEGV crash while copying data. Fix this both by returning a correct length from dot11crypt engine and add extra an protection to the IEEE802.11 dissector if the length for any (other) reason still would end up being a negative number. Bug: 16058 Change-Id: I9d0d1cf50498dece2e008222eebbb3edc8f10159 Reviewed-on: https://code.wireshark.org/review/34558 Petri-Dish: Pascal Quantin <pascal@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Pascal Quantin <pascal@wireshark.org>
2019-07-26HTTPS (almost) everywhere.Guy Harris2-2/+2
Change all wireshark.org URLs to use https. Fix some broken links while we're at it. Change-Id: I161bf8eeca43b8027605acea666032da86f5ea1c Reviewed-on: https://code.wireshark.org/review/34089 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2019-05-26dot11decrypt: fix a used-but-marked-unused warningMartin Kaiser1-1/+1
dot11decrypt.c:1686:46: error: 'group_cipher' was marked unused but was used &group_cipher, &cipher, &akm); Change-Id: Ie7b9eba44eaf9bf160ca6eb6bb7373b7ba3fd8cb Reviewed-on: https://code.wireshark.org/review/33371 Reviewed-by: Martin Kaiser <wireshark@kaiser.cx> Petri-Dish: Martin Kaiser <wireshark@kaiser.cx> Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2019-04-10ieee80211: Fix some coverity scan issuesMikael Kanstrup1-2/+8
Fix coverity scan issues: - Insecure data handling (CID 1444231) - Unchecked return value (CID 1444234) Introduced by: 9cf77ec5e1 ieee80211: Support decrypting WPA3-Personal / SAE captures Change-Id: I8eb581750d2b0519f03f92873433f79409b0386b Reviewed-on: https://code.wireshark.org/review/32546 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2019-04-03ieee80211: Fix WPA1 decryptionMikael Kanstrup1-2/+2
PTK key derivation algorithm for WPA1 uses SHA1 not MD5. MD5 is used for MIC only. To avoid regression also add a decrypt test for WPA1 with GTK rekeying. Change-Id: Iabcf40c2f74d5dbc1d72cba0718c77020d97f61f Fixes: v3.1.0rc0-342-g9cf77ec5e1 ("ieee80211: Support decrypting WPA3-Personal / SAE captures") Reviewed-on: https://code.wireshark.org/review/32691 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2019-03-26ieee80211: Support decrypting OWE capturesMikael Kanstrup1-1/+5
Add support for decryping OWE (Opportunistic Wireless Encryption) captures. Ping-Bug: 15621 Change-Id: I223fd0cd96260408bce2b5d7661f216c351da8a8 Reviewed-on: https://code.wireshark.org/review/32524 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-03-24ieee80211: Fix Dead Store (Dead assignement/Dead increment) Warning found by ↵Alexis La Goutte1-1/+0
Clang Change-Id: Ie03b269c67a31638b5fd8e709ea839456db41fbf Reviewed-on: https://code.wireshark.org/review/32551 Petri-Dish: Alexis La Goutte <alexis.lagoutte@gmail.com> Reviewed-by: Mikael Kanstrup <mikael.kanstrup@sony.com> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2019-03-21ieee80211: Support decrypting WPA3-Personal / SAE capturesMikael Kanstrup3-26/+483
Add support for decrypting IEEE 802.11 WPA3-Personal / SAE traffic. SAE uses AES encryption but a different key derivation function (KDF) making Wireshark fail to decrypt such captures. Also both KDF and decryption method is determined based only on EAPOL key description version. This is not enough to figure out that SAE is being used. Implement the alternative KDF needed to derive valid PTK. Also implement a function to parse pairwise + group cipher suites and auth key management type from RSNE tag. Using this new function together with a number of new cipher and AKM lookup functions correct KDF for SAE can be selected. Bug: 15621 Change-Id: I8f6c917af1c9642c276a244943dd35f850ee3757 Reviewed-on: https://code.wireshark.org/review/32485 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2019-02-18Include epan header files in VS solution.Michael Mann1-0/+15
Add header files lists to add_library() so that Visual Studio can pick them up and include them in a "Header Files" folder for easier navigation within Visual Studio. Change-Id: I7cd8e39550f4db67eed8205593060ae8b4a5b1b9 Reviewed-on: https://code.wireshark.org/review/31289 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-12-05Fix some spelling errors found by Lintian.Gerald Combs1-1/+1
Change-Id: If6fc3aab7ad4fc634567121f7b9541bc6f6c5766 Reviewed-on: https://code.wireshark.org/review/30926 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-14ieee80211: Avoid decrypting packets two timesMikael Kanstrup2-16/+10
Encrypted packets were decrypted two times. One time to scan for new keys. If no keys were found the decrypted data was simply discarded. Then later on the packet was decrypted again for dissection. Avoid decrypting packets two times by storing the result from first decryption if no key was found. Skip the second attempt. Note though that in the special case where a key was actually found inside an encrypted packet the decryption will still be performed twice. First time decrypt, discover the key, and return the EAPOL keydata. Second time decrypt and return the decrypted frame. Change-Id: I1acd0060d4e1f351fb15070f8d7aa78c0035ce39 Reviewed-on: https://code.wireshark.org/review/30568 Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-14ieee80211: Decrypt and dissect EAPOL keydataMikael Kanstrup2-30/+60
Decrypt EAPOL keydata information and have it dissected with the ieee80211 dissector. This is achieved by letting the Dot11Decrypt engine retrieve the EAPOL keydata decrypted while extracting the GTK during 4-way handshake. The ieee80211 dissector then stores the decrypted data in packet proto data so that the wlan_rsna_eapol subdissector can retrieve it for dissection. Change-Id: I2145f47396cf3261b40e623fddc9ed06b3d7e72b Reviewed-on: https://code.wireshark.org/review/30530 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-12Remove obsolete files.Anders Broman1-5/+0
Change-Id: Ibc2f20a895f7aaf4fc5988eb8814124a68dd886e Reviewed-on: https://code.wireshark.org/review/30583 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Jaap Keuter <jaap.keuter@xs4all.nl>
2018-11-09dot11decrypt: Create RC4 decryption and key copy helper functionsMikael Kanstrup3-46/+62
In preparation for decrypting and dissecting EAPOL keydata in ieee80211 dissector move the RC4 decryption and key copy into separate helper functions. Change-Id: I13f3e981038f48526032e263b6eb3c9e3496abbe Reviewed-on: https://code.wireshark.org/review/30546 Petri-Dish: Anders Broman <a.broman58@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-06-15dot11decrypt(crypt): Fix Dead Store (Dead assignement/Dead increment) ↵Alexis La Goutte1-2/+0
Warning found by Clang Change-Id: I33c6e456bc8c4bae47f4df1457799cb0d09b520f Reviewed-on: https://code.wireshark.org/review/28289 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Dario Lombardo <lomato@gmail.com>
2018-06-12Make sure *both* sides are unsigned.Guy Harris2-2/+2
Change-Id: Id25ea93aee888eda665f52da4c00d75970ee69e8 Reviewed-on: https://code.wireshark.org/review/28253 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-06-12Try again to fix the signed vs. unsigned comparison warning.Guy Harris1-1/+1
Change-Id: I97dae4b6325fe5fe952c579e1d1ab3f0b37f461a Reviewed-on: https://code.wireshark.org/review/28249 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-06-12Fix signed vs. unsigned comparison warning.Guy Harris1-1/+1
(In retrospect, signed offsets probably were the wrong choice; we rarely, if ever, use them to signify offsets from the end of the packet. Let's not do so any more in the future.) Change-Id: I7ace539be8bf927e21148c34b71e9c2b7535581e Reviewed-on: https://code.wireshark.org/review/28245 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-06-12Add some length checks, remove a DISSECTOR_ASSERT().Guy Harris2-11/+76
Do more checks to make sure we don't run past the end of the data we're handed, and don't do a DISSECTOR_ASSERT(), as there may well be packets that don't have enough data to pass the assertion - that was causing some errors to show up in the 2.6 buildbot when doing 802.11 decryption tests. Those errors should instead be reported as "sorry, we can't do decryption" errors by the decryption code. (XXX - the 802.11 *dissector* should probably be extracting the relevant fields and doing the relevant checks, and hand the data to the decryption code, so that we don't duplicate 802.11 frame parsing with code that might not do as much necessary work as the 802.11 dissector.) Tweak some comments while we're at it. Change-Id: I1d230e07cec2fca8c23f265b5875a0bf83f79432 Reviewed-on: https://code.wireshark.org/review/28240 Reviewed-by: Guy Harris <guy@alum.mit.edu>
2018-05-18dot11crypt: add bounds check for TDLS elementsPeter Wu1-10/+30
Fixes a buffer overrun (read) of at most 255 bytes which could occur while processing FTE in Dot11DecryptTDLSDeriveKey. While at it, according to 802.11-2016 9.4.1.9, "A status code of SUCCESS_POWER_SAVE_MODE also indicates a successful operation.". No idea when it makes a difference, but let's implement it too. Bug: 14686 Change-Id: Ia7a41cd965704a4d51fb5a4dc4d01885fc17375c Fixes: v2.1.0rc0-1825-g6991149557 ("[airpdcap] Add support to decrypt TDLS traffic") Link: https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=8189 Reviewed-on: https://code.wireshark.org/review/27618 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-04-18Remove autotools build system.Dario Lombardo1-60/+0
It has been replaced by cmake. Change-Id: I83a5eddb8645dbbf6bca9f026066d2e995d8e87a Reviewed-on: https://code.wireshark.org/review/26969 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Gerald Combs <gerald@wireshark.org> Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-09spdx: convert files with multiple licenses.Dario Lombardo10-266/+10
Change-Id: Iac29428b5a6d26896e559f06acf202f03fa8ec90 Reviewed-on: https://code.wireshark.org/review/26366 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-07spdx: more licenses converted.Dario Lombardo2-26/+2
Change-Id: I3861061ec261e63b23621799e020e811ed78a343 Reviewed-on: https://code.wireshark.org/review/26333 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-03-04dot11decrypt: free memory on exit (found by clang).Dario Lombardo1-0/+2
Change-Id: I1af895accdd52fe64fc156905c549e719aaba304 Reviewed-on: https://code.wireshark.org/review/26182 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-02-24Rename airpdcap to dot11decrypt.Gerald Combs13-866/+846
Our 802.11 decryption code isn't tied to any specific product. Change the file and API names to dot11decrypt. Change-Id: I14fd951be3ae9b656a4e1959067fc0bdcc681ee2 Reviewed-on: https://code.wireshark.org/review/26058 Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-02-21Airpdcap: Add length checks.Gerald Combs1-1/+13
Make sure we don't underflow length values. Bug: 14442 Change-Id: I71baac428ba3b07fe4cd5a7f60fbe2a957ac460e Reviewed-on: https://code.wireshark.org/review/25937 Reviewed-by: Gerald Combs <gerald@wireshark.org> Petri-Dish: Gerald Combs <gerald@wireshark.org> Tested-by: Petri Dish Buildbot Reviewed-by: Michael Mann <mmann78@netscape.net>
2018-02-08epan: use SPDX indentifiers.Dario Lombardo1-13/+1
Skipping dissectors dir for now. Change-Id: I717b66bfbc7cc81b83f8c2cbc011fcad643796aa Reviewed-on: https://code.wireshark.org/review/25694 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-12-24airpdcap: check return value for gcry_mac_read (CID: 1420699).Dario Lombardo1-1/+5
Change-Id: Ifdf044d99e912ac90044aca7be503fdf39b4fe74 Reviewed-on: https://code.wireshark.org/review/24967 Petri-Dish: Dario Lombardo <lomato@gmail.com> Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman <a.broman58@gmail.com>
2017-11-18autotools: Library build products don't need explicit cleaningJoão Valverde1-5/+0
Change-Id: I5d68c05f2844d6c9ae486531b189dbf10bc09cff Reviewed-on: https://code.wireshark.org/review/24484 Reviewed-by: João Valverde <j@v6e.pt>
2017-10-15autotools: make maintainer-clean should allow rerunning 'configure'João Valverde1-5/+0
Change-Id: Iedae94ffefe27b13b1967d69cacb757b5aa4576d Reviewed-on: https://code.wireshark.org/review/23928 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
2017-10-15Remove superfluous null-checks before strdup/freeAhmad Fatoum1-2/+1
NULL checks were removed for following free functions: - g_free "If mem is NULL it simply returns" https://developer.gnome.org/glib/stable/glib-Memory-Allocation.html#g-free - g_slist_free(_full)? "NULL is considered to be the empty list" https://developer.gnome.org/glib/stable/glib-Singly-Linked-Lists.html - g_strfreev "If str_array is NULL, this function simply returns." https://developer.gnome.org/glib/stable/glib-String-Utility-Functions.html#g-strfreev - g_slice_free "If mem is NULL, this macro does nothing." https://developer.gnome.org/glib/stable/glib-Memory-Slices.html#g-slice-free - g_match_info_free "not NULL... otherwise does nothing" https://developer.gnome.org/glib/stable/glib-Perl-compatible-regular-expressions.html#g-match-info-free - dfilter_free defined in Wireshark code. Returns early when passed NULL epan/dfilter/dfilter.c They were also removed around calls to g_strdup where applicable: - g_strdup "If str is NULL it returns NULL." https://developer.gnome.org/glib/stable/glib-String-Utility-Functions.html#g-strdup Change-Id: Ie80c2db89bef531edc3aed7b7c9f654e1d654d04 Reviewed-on: https://code.wireshark.org/review/23406 Petri-Dish: Roland Knall <rknall@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt>
2017-10-13CMake: Allow user build flags to override default build flagsJoão Valverde1-1/+0
Autotools has the very useful feature by design of allowing the user to override the default build flags (you break it you keep it). Apparently CMake applies COMPILE_OPTIONS target property after CMAKE_{C,CXX}_FLAGS so that doesn't work here. Prepend our flags to those variables instead to make it work then. Specific target flag overrides can still be added with COMPILER_OPTIONS (e.g: generated files with -Wno-warning) but this is less effective and then we're back at the point where this overrides user flags. It's less of a concern though. Change-Id: I44761a79be4289238e02d4e781fef0099628817b Reviewed-on: https://code.wireshark.org/review/23675 Petri-Dish: João Valverde <j@v6e.pt> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: João Valverde <j@v6e.pt> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2017-09-15epan: Avoid possible misuse of comma operator warningStig Bjørlykke1-1/+2
Change-Id: I73044cd71d21b5eef2e8350cf034f7801e169c16 Reviewed-on: https://code.wireshark.org/review/23552 Petri-Dish: Stig Bjørlykke <stig@bjorlykke.org> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Alexis La Goutte <alexis.lagoutte@gmail.com>
2017-06-11Fix airpdcap compilation on SunPetr Sumbera1-0/+4
Bug: 13786 Change-Id: Iaa3890610768605b5c579aaddc73124b9f85bdd9 Reviewed-on: https://code.wireshark.org/review/22074 Petri-Dish: Michael Mann <mmann78@netscape.net> Reviewed-by: Michael Mann <mmann78@netscape.net>
2017-04-21Code in epan/crypt may require gcrypt, so include LIBGCRYPT_FLAGS.Guy Harris1-1/+1
Change-Id: I7f6745eb39bae6ae37a63178bcd60c75fd9e9de2 Reviewed-on: https://code.wireshark.org/review/21268 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-03-03Fix compilation with old libcrypt versions.Guy Harris1-1/+13
Change-Id: If9c0631435e5380d3f158ebe6578adaf65a429bb Reviewed-on: https://code.wireshark.org/review/20351 Petri-Dish: Guy Harris <guy@alum.mit.edu> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Guy Harris <guy@alum.mit.edu>
2017-03-02Rewrite dissectors to use Libgcrypt functions.Erik de Jong3-101/+147
As discussed on the mailinglist, rewriting dissectors to use Libgcrypt functions as Libgcrypt will be mandatory after change 20030. Removal of following functions: - crypt_md4 - crypt_rc4* - aes_cmac_encrypt_* - md5_* - sha1_* - sha256_* Further candidates: - aes_* - rijndael_* - ... Added functions: - ws_hmac_buffer Added const macros: - HASH_MD5_LENGTH - HASH_SHA1_LENGTH Changes on epan/crypt/* verified with captures from https://wiki.wireshark.org/HowToDecrypt802.11 Changes on packet-snmp.c and packet-radius.c verified with captures from https://wiki.wireshark.org/SampleCapture Changes on packet-tacacs.c verified with capture from http://ccie-in-3-months.blogspot.nl/2009/04/decoding-login-credentials-regardless.html Change-Id: Iea6ba2bf207cf0f1bf2117068fb1abcfeaafaa46 Link: https://www.wireshark.org/lists/wireshark-dev/201702/msg00011.html Reviewed-on: https://code.wireshark.org/review/20095 Petri-Dish: Peter Wu <peter@lekensteyn.nl> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Peter Wu <peter@lekensteyn.nl>
2017-01-31Add wmem allocator parameter to format_uriMichael Mann1-2/+5
Change-Id: Ic6de84a37b501e9c62a7d37071b2b081a1a1dd50 Reviewed-on: https://code.wireshark.org/review/19885 Petri-Dish: Michael Mann <mmann78@netscape.net> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Michael Mann <mmann78@netscape.net>