-
-
Notifications
You must be signed in to change notification settings - Fork 6.7k
ssl: Fix compilation with OpenSSL 1.x with md4 disabled #14218
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Is the failing test known to be flaky? What exactly failed there? |
Yes, all Windows native tests are flaky. |
So should I rerun it? How? |
You can click on the job that failed, and then on "re-run failed jobs" in the menu at the top. I just did that, and enabled debug logging as there was no output at all for the tests, only the failure mark. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nit: this is done in an #else
branch for other backends.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Ah yes, using an #else
there as mentioned by @MarcelRaad makes sense.
If OpenSSL 1.x is used, and it is configured with md4 disabled, OPENSSL_NO_MD4 is defined in opensslconf.h, but this header was not included before checking for this define. Later in md4.c, openssl/md4.h is included, and it includes that header indirectly, leading to inconsistency within md4.c. Since the md4.h branch was taken, wincrypt.h (or others) is not included, and later below the USE_WIN32_CRYPTO branch is taken, but the types are not defined.
Done |
Thanks! |
If OpenSSL 1.x is used, and it is configured with md4 disabled, OPENSSL_NO_MD4 is defined in opensslconf.h, but this header was not included before checking for this define. Later in md4.c, openssl/md4.h is included, and it includes that header indirectly, leading to inconsistency within md4.c. Since the md4.h branch was taken, wincrypt.h (or others) is not included, and later below the USE_WIN32_CRYPTO branch is taken, but the types are not defined. Closes curl#14218
If OpenSSL 1.x is used, and it is configured with md4 disabled, OPENSSL_NO_MD4 is defined in opensslconf.h, but this header was not included before checking for this define.
Later in md4.c, openssl/md4.h is included, and it includes that header indirectly, leading to inconsistency within md4.c.
Since the md4.h branch was taken, wincrypt.h (or others) is not included, and later below the USE_WIN32_CRYPTO branch is taken, but the types are not defined.