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

    • dbb2374d20959472ca379a38c37774518eef5bfe

      • 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:

        For Gerrit Dashboard: QTBUG-43843
        # Subject Branch Project Status CR V

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

              Created:
              Updated:
              Resolved:

                There are no open Gerrit changes