Skip to content

Commit

Permalink
Support --with-openssl-argon2 on Windows
Browse files Browse the repository at this point in the history
We change the error for ZTS builds to a warning, to not break snapshot
builds which automatically will try to enable OpenSSL password hashing.

We also change some messages to better fit building on Windows.

And of course, we cannot easily check whether `OSSL_set_max_threads()`
is actually available; instead we're looking up the function declaration
in its header file.
  • Loading branch information
cmb69 committed Sep 2, 2024
1 parent 2b8a1b4 commit ac53e80
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion ext/openssl/config.w32
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,22 @@

ARG_WITH("openssl", "OpenSSL support", "no,shared");

ARG_WITH("openssl-argon2", "OPENSSL: Enable argon2 password hashing (requires OpenSSL >= 3.2)", "no");

if (PHP_OPENSSL != "no") {
var ret = SETUP_OPENSSL("openssl", PHP_OPENSSL);

if (ret >= 2) {
EXTENSION("openssl", "openssl.c xp_ssl.c");
EXTENSION("openssl", "openssl.c openssl_pwhash.c xp_ssl.c");
AC_DEFINE("HAVE_OPENSSL_EXT", 1, "Define to 1 if the PHP extension 'openssl' is available.");
if (PHP_OPENSSL_ARGON2 != "no") {
if (PHP_ZTS != "no") {
WARNING("OpenSSL argon2 hashing not supported in ZTS mode for now");
} else if (!CHECK_FUNC_IN_HEADER("openssl/thread.h", "OSSL_set_max_threads", PHP_PHP_BUILD + "\\include")) {
WARNING("OpenSSL argon2 hashing requires OpenSSL >= 3.2");
} else {
AC_DEFINE("HAVE_OPENSSL_ARGON2", 1, " Define to 1 to enable OpenSSL argon2 password hashing");
}
}
}
}

0 comments on commit ac53e80

Please sign in to comment.