Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-43843

Windows: When compiling Qt with OpenSSL on a drive that at runtime maps to a removable drive with no medium, OpenSSL initalization code will terminate applications using exit()

    XMLWordPrintable

Details

    • dbb2374d20959472ca379a38c37774518eef5bfe

    Description

      • OpenSSL is initialized using OPENSSL_add_all_algorithms_conf()
      • This API is broken: If OpenSSL/Qt are compiled on the drive E: and on the customer site E: is a removable drive, the application will simply exit on startup without any chance for the application developer to handle this error
      • This issue is known (http://rt.openssl.org/Ticket/Display.html?id=3263), but rejected on OpenSSLs side ("it's working as designed" - haha)

      Frankly, I don't know why people who believe that exit()ing from a library call is an appropriate way of error handling are allowed to contribute to OpenSSL, but in any case, that puts users of Qt in a bad position:

      • the only workaround is to either patch Qt or patch OpenSSL, or set OPENSSL_CONF to a drive which is known to exist (e. g. C:) - providing that the application developer knows this problem at all
      • the bug is likely to arise only in a customer installation, making it difficult to reproduce for the application developer

      Proposal: Do one of:

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              tpochep Timur Pocheptsov
              bgehrmann Bernd Gehrmann
              Votes:
              3 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes