On Sun, Feb 12, 2017 at 3:38 PM, Peter Wu <[email protected]> wrote:
> On Sun, Feb 12, 2017 at 02:40:03PM +0100, Pascal Quantin wrote: > > Le 12 févr. 2017 11:12, "Erik de Jong" <[email protected]> a écrit : > > On Sat, Feb 11, 2017 at 10:38 PM, Peter Wu <[email protected]> wrote: > > > (forgot to attach the file lists...) > > > > I'll get to work on the aes_cmac_encrypt_* and crypt_* symbols. Will you > > make a separate change for this on which we'll both work or is it > > additional work on 20030? > > You can create a separate change, 20030 is focussed on making Libgcrypt > mandatory but will not rewrite other parts (in order to make review > easier). > Alright! I've removed the md4 and rc4 symbols. Don't feel confident enough to remove the crypt_des_ecb calls because I'm not sure what is happening exactly, so I'm worried it'll break. Looks like wsutil/aes.h is also used by epan/dissectors/packet-dof.c and epan/crypt/airpdcap_ccmp.c for rijndael_encrypt(), so we ought to put those on the list as well. > > > On Sat, Feb 11, 2017 at 10:35:10PM +0100, Peter Wu wrote: > > > > On Sat, Feb 11, 2017 at 09:31:17PM +0100, Erik de Jong wrote: > > > > > On Sat, Feb 11, 2017 at 8:55 PM, Peter Wu <[email protected]> > wrote: > > > > [..] > > > > > > My original goal was to replace wsutil by an existing crypto > library > > > > > > (case 2). Since we Libgcrypt is already used in a lot of places, > it > > > > > > seemed natural to replace wsutil by Libgcrypt. > > > > > > > > > > > > When trying to do so, I noticed that having an optional Libgcrypt > > > makes > > > > > > it much harder and hence changeset 20030 was created first to > make it > > > > > > mandatory. Once that is in place, we can change the wsutil crypto > > > users > > > > > > to Libgcrypt. I plan to start working on that in the next days, > let > > > me > > > > > > know if you want to join this effort :-) > > > > > > > > > > > > > > > > I'd like to help out, please tell me how I can assist in a way that > > > won't > > > > > be counterproductive. > > > > > > > > Thanks! The following files need to be modified / removed: > > > > > > > > debian/libwsutil0.symbols > > > > wsutil/CMakeLists.txt > > > > wsutil/Makefile.am > > > > wsutil/aes.c > > > > wsutil/aes.h > > > > wsutil/des.c > > > > wsutil/des.h > > > > wsutil/md4.c > > > > wsutil/md4.h > > > > wsutil/md5.c > > > > wsutil/md5.h > > > > wsutil/rc4.c > > > > wsutil/rc4.h > > > > wsutil/sha1.c > > > > wsutil/sha1.h > > > > wsutil/sha2.c > > > > wsutil/sha2.h > > > > > > > > The symbols to be removed are: > > > > > > > > - aes_cmac_encrypt_finish@Base 2.1.0 > > > > - aes_cmac_encrypt_starts@Base 2.1.0 > > > > - aes_cmac_encrypt_update@Base 2.1.0 > > > > - crypt_des_ecb@Base 1.12.0~rc1 > > > > - crypt_md4@Base 1.12.0~rc1 > > > > - crypt_rc4@Base 1.12.0~rc1 > > > > - crypt_rc4_init@Base 1.12.0~rc1 > > > > - md5_append@Base 1.12.0~rc1 > > > > - md5_finish@Base 1.12.0~rc1 > > > > - md5_hmac@Base 1.12.0~rc1 > > > > - md5_hmac_append@Base 1.12.0~rc1 > > > > - md5_hmac_finish@Base 1.12.0~rc1 > > > > - md5_hmac_init@Base 1.12.0~rc1 > > > > - md5_init@Base 1.12.0~rc1 > > > > - sha1_finish@Base 1.12.0~rc1 > > > > - sha1_hmac@Base 1.12.0~rc1 > > > > - sha1_hmac_finish@Base 1.12.0~rc1 > > > > - sha1_hmac_starts@Base 1.12.0~rc1 > > > > - sha1_hmac_update@Base 1.12.0~rc1 > > > > - sha1_starts@Base 1.12.0~rc1 > > > > - sha1_update@Base 1.12.0~rc1 > > > > - sha256_finish@Base 2.1.0 > > > > - sha256_hmac@Base 2.1.0 > > > > - sha256_hmac_finish@Base 2.1.0 > > > > - sha256_hmac_starts@Base 2.1.0 > > > > - sha256_hmac_update@Base 2.1.0 > > > > - sha256_starts@Base 2.1.0 > > > > - sha256_update@Base 2.1.0 > > > > > > > > Attached are the files that need to be modified (one list for any > > > > occurrence per file, one list with files grouped per function). > > > > > > > > The first three functions were "recently" added (see git logs) and is > > > > only used in airpdcap code. > > > > > > > > Looking at crypt_des_ecb, the users are packet-ntlmssp.c and > > > > packet-dcerpc-netlogin.c. These also use md5 a lot and crypt_rc4. > > > > Do you have any preference for a file/crypto function to tackle? > > > > > > > > Note that the current minimum Libgcrypt version is 1.4.2. For CMAC > you > > > > need Libgcrypt 1.6.0 or newer. All other functions have been > available > > > > for longer time. References that might be helpful: > > > > https://wiki.wireshark.org/Development/Support_library_versi > on_tracking#Libgcrypt > > > > https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=b > lob;f=NEWS > > > > https://gnupg.org/documentation/manuals/gcrypt/ > > > > > > > > > > > So we'll have to update the minimum required version to 1.6.0 as well > then. > > > > Or we could use conditional compilation against the libgcrypt version > like > > what is done in packet-pdcp-lte.c. > > Increasing the minimum to 1.6 will drop support for RHEL6 and RHEL7 > (especially when Libgcrypt becomes mandatory), so it will be better to > make it conditional and return AIRPDCAP_RET_UNSUCCESS if not available. > -- > Kind regards, > Peter Wu > https://lekensteyn.nl > ____________________________________________________________ > _______________ > Sent via: Wireshark-dev mailing list <[email protected]> > Archives: https://www.wireshark.org/lists/wireshark-dev > Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev > mailto:[email protected]?subject=unsubscr > ibe >
___________________________________________________________________________ Sent via: Wireshark-dev mailing list <[email protected]> Archives: https://www.wireshark.org/lists/wireshark-dev Unsubscribe: https://www.wireshark.org/mailman/options/wireshark-dev mailto:[email protected]?subject=unsubscribe
