Fix #47728: Add missing openssl constants

This adds PKCS7_NOSMIMECAP, PKCS7_CRLFEOL, PKCS7_NOCRL and
PKCS7_NO_DUAL_CONTENT constants. They might be potentially useful
in some scenarious.

Test is not added as it is not clear if there is much need for those and
it would require much bigger effort just to test OpenSSL functionality.

Closes GH-19450
This commit is contained in:
Jakub Zelenka 2025-08-11 19:31:59 +02:00
parent c5f79b8cf9
commit 10834d1572
No known key found for this signature in database
GPG key ID: 1C0779DC5C0A9DE4
4 changed files with 31 additions and 1 deletions

2
NEWS
View file

@ -36,6 +36,8 @@ PHP NEWS
(Girgias)
. Implement #80495 (Enable to set padding in openssl_(sign|verify).
(Jakub Zelenka)
. Implement #47728 (openssl_pkcs7_sign ignores new openssl flags).
(Jakub Zelenka)
- PDO:
. The "uri:" DSN scheme has been deprecated due to security concerns with

View file

@ -674,6 +674,10 @@ PHP 8.5 UPGRADE NOTES
- OpenSSL:
. OPENSSL_PKCS1_PSS_PADDING
. PKCS7_NOSMIMECAP
. PKCS7_CRLFEOL
. PKCS7_NOCRL
. PKCS7_NO_DUAL_CONTENT
- POSIX:
. POSIX_SC_OPEN_MAX.

View file

@ -166,6 +166,26 @@ const PKCS7_NOSIGS = UNKNOWN;
* @cvalue PKCS7_NOOLDMIMETYPE
*/
const PKCS7_NOOLDMIMETYPE = UNKNOWN;
/**
* @var int
* @cvalue PKCS7_NOSMIMECAP
*/
const PKCS7_NOSMIMECAP = UNKNOWN;
/**
* @var int
* @cvalue PKCS7_CRLFEOL
*/
const PKCS7_CRLFEOL = UNKNOWN;
/**
* @var int
* @cvalue PKCS7_NOCRL
*/
const PKCS7_NOCRL = UNKNOWN;
/**
* @var int
* @cvalue PKCS7_NO_DUAL_CONTENT
*/
const PKCS7_NO_DUAL_CONTENT = UNKNOWN;
/**
* @var int

View file

@ -1,5 +1,5 @@
/* This is a generated file, edit the .stub.php file instead.
* Stub hash: ff620528ee3035e295099637cc9f94b78a53416b */
* Stub hash: 03e511abb97901a4a8268276b809b3cf7afbfa29 */
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_openssl_x509_export_to_file, 0, 2, _IS_BOOL, 0)
ZEND_ARG_OBJ_TYPE_MASK(0, certificate, OpenSSLCertificate, MAY_BE_STRING, NULL)
@ -586,6 +586,10 @@ static void register_openssl_symbols(int module_number)
REGISTER_LONG_CONSTANT("PKCS7_BINARY", PKCS7_BINARY, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PKCS7_NOSIGS", PKCS7_NOSIGS, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PKCS7_NOOLDMIMETYPE", PKCS7_NOOLDMIMETYPE, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PKCS7_NOSMIMECAP", PKCS7_NOSMIMECAP, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PKCS7_CRLFEOL", PKCS7_CRLFEOL, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PKCS7_NOCRL", PKCS7_NOCRL, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("PKCS7_NO_DUAL_CONTENT", PKCS7_NO_DUAL_CONTENT, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("OPENSSL_CMS_DETACHED", CMS_DETACHED, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("OPENSSL_CMS_TEXT", CMS_TEXT, CONST_PERSISTENT);
REGISTER_LONG_CONSTANT("OPENSSL_CMS_NOINTERN", CMS_NOINTERN, CONST_PERSISTENT);