Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Wireshark-bugs: [Wireshark-bugs] [Bug 6869] SSL decryption not work even with example capture fi

Date: Tue, 9 Oct 2012 10:30:48 -0700 (PDT)
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=6869

Bartosz Brachaczek <b.brachaczek@xxxxxxxxx> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
   Attachment #9284|0                           |1
        is obsolete|                            |
   Attachment #9284|review_for_checkin?         |
              Flags|                            |
   Attachment #9326|                            |review_for_checkin?
              Flags|                            |

--- Comment #4 from Bartosz Brachaczek <b.brachaczek@xxxxxxxxx> 2012-10-09 10:30:47 PDT ---
Created attachment 9326
  --> https://bugs.wireshark.org/bugzilla/attachment.cgi?id=9326
Make the SSL dissector work with GnuTLS compiled with nettle

I rebased the patch, apparently some code near there has been changed since I
wrote the patch.

As for ptreads on Windows, you are right. Previously I just did a quick grep
for pthread and found its uses in epan/except.c, so I thought you are using
some wrapper library on Windows. But now I see it's #ifdef'ed.

I just dropped the mutexes initialization for libgcrypt, as it hasn't been used
previously anyways[1]. But please note that if the dissectors might be run in
separate threads (I don't know, I'm not familiar with Wireshark code), this is
incorrect and needs to be fixed some way; libgcrypt is not thread-safe without
special care.

[1] One might think that GnuTLS should be initializing libgcrypt with
thread-safety support. And it's true indeed, but only if
gcry_control(GCRYCTL_ANY_INITIALIZATION_P) returns false. And by the time
Wireshark calls gnutls_global_init() from epan_init(), libgcrypt is already
basically initialized, because gcry_check_version() had been called from
epan_get_runtime_version_info(). Given that, my previous initialization of
libgcrypt mutexes with pthread was invalid, as it has to happen before any call
to a libgcrypt function.

-- 
Configure bugmail: https://bugs.wireshark.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are watching all bug changes.