Qpid
  1. Qpid
  2. QPID-4049

Linux C++ broker crashes when Windows client connects SSL with expired certificate

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: 0.17
    • Fix Version/s: 0.17
    • Component/s: C++ Broker
    • Environment:

      Linux

      Description

      Testing Windows client -> Linux broker SSL connections. The SSL cert is expired and this results in the following on Linux:

      2012-06-08 17:08:12 error Error reading socket: Encountered end of file [-5938]
      2012-06-08 17:08:14 error Connection 192.168.10.4:5671-192.168.10.40:60748 No protocol received closing

      Program received signal SIGSEGV, Segmentation fault.
      [Switching to Thread 0x40a00940 (LWP 15265)]
      0x00002aaaac0d9164 in qpid::sys::ssl::ProtocolTimeoutTask::fire() ()
      from /qpidbuilds/trunk/qpid/cpp/rhel5/src/ssl.so
      (gdb) where
      #0 0x00002aaaac0d9164 in qpid::sys::ssl::ProtocolTimeoutTask::fire() ()
      from /qpidbuilds/trunk/qpid/cpp/rhel5/src/ssl.so
      #1 0x00002aaaab51c7bc in qpid::sys::TimerTask::fireTask() ()
      from /qpidbuilds/trunk/qpid/cpp/rhel5/src/libqpidcommon.so.2.0.0
      #2 0x00002aaaab51c952 in qpid::sys::Timer::fire(boost::intrusive_ptr<qpid::sys::TimerTask>) ()
      from /qpidbuilds/trunk/qpid/cpp/rhel5/src/libqpidcommon.so.2.0.0
      #3 0x00002aaaab51d22d in qpid::sys::Timer::run() ()
      from /qpidbuilds/trunk/qpid/cpp/rhel5/src/libqpidcommon.so.2.0.0
      #4 0x00002aaaab4a9e74 in qpid::sys::(anonymous namespace)::runRunnable(void*)
      () from /qpidbuilds/trunk/qpid/cpp/rhel5/src/libqpidcommon.so.2.0.0
      #5 0x000000318f60677d in start_thread () from /lib64/libpthread.so.0
      #6 0x000000318eed325d in clone () from /lib64/libc.so.6
      (gdb)

      On Windows, this error looks like:

      2012-06-08 17:07:06 notice SSL negotiation failed to smokey:5671: The received certificate has expired.
      2012-06-08 17:07:06 warning Connect failed: The received certificate has expired
      . (..\..\..\..\cpp\src\qpid\client\windows\SslConnector.cpp:111)
      2012-06-08 17:07:06 warning Connection [192.168.10.40:60748-smokey:5671] closed

      Connection [192.168.10.40:60748-smokey:5671] closed
      E:\

        Activity

        Hide
        Andrew Stitcher added a comment -

        Steve - can you confirm this happens with 0.16? That doesn't sound correct to me as the code that prints the "no protocol received closing" message is on trunk only and after the 0.16 branch.

        Show
        Andrew Stitcher added a comment - Steve - can you confirm this happens with 0.16? That doesn't sound correct to me as the code that prints the "no protocol received closing" message is on trunk only and after the 0.16 branch.
        Hide
        Steve Huston added a comment -

        My apologies - you are correct. I found this error on Friday on trunk.

        Show
        Steve Huston added a comment - My apologies - you are correct. I found this error on Friday on trunk.
        Hide
        Andrew Stitcher added a comment -

        Aargh, this looks like yet another place where we've fixed a bug only in one set of cut-and-paste code.

        Alan fixed this bug for TCP in r1343397, but didn't fix the ssl code.

        Show
        Andrew Stitcher added a comment - Aargh, this looks like yet another place where we've fixed a bug only in one set of cut-and-paste code. Alan fixed this bug for TCP in r1343397, but didn't fix the ssl code.
        Hide
        Andrew Stitcher added a comment -

        Fixed now in r1350406

        Show
        Andrew Stitcher added a comment - Fixed now in r1350406

          People

          • Assignee:
            Andrew Stitcher
            Reporter:
            Steve Huston
          • Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development