com php-src: Add openssl_get_cert_locations() funct ion: ext/openssl/openssl.c ext/openssl/php_openssl. h
| From: | rdlowrey@php.net | Date: | Fri, 21 Feb 2014 00:10:06 +0000 |
| Subject: | com php-src: Add openssl_get_cert_locations() funct ion: ext/openssl/openssl.c ext/openssl/php_openssl. h | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-76145@lists.php.net to get a copy of this message | ||
Commit: df6bfe3be209ba89a5d8a5f045f09a90db9dc16d
Author: Daniel Lowrey <rdlowrey@php.net> Tue, 11 Feb 2014 05:57:15 -0700
Parents: 258d04df5cd7a579259306f491a8e8b2077f5f50
Branches: PHP-5.6
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=df6bfe3be209ba89a5d8a5f045f09a90db9dc16d
Log:
Add openssl_get_cert_locations() function
Changed paths:
M ext/openssl/openssl.c
M ext/openssl/php_openssl.h
Diff:
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 82ac3df..8d8871b 100755
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -433,11 +433,16 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO(arginfo_openssl_spki_export_challenge, 0)
ZEND_ARG_INFO(0, spki)
ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO(arginfo_openssl_get_cert_locations, 0)
+ZEND_END_ARG_INFO()
/* }}} */
/* {{{ openssl_functions[]
*/
const zend_function_entry openssl_functions[] = {
+ PHP_FE(openssl_get_cert_locations, arginfo_openssl_get_cert_locations)
+
/* spki functions */
PHP_FE(openssl_spki_new, arginfo_openssl_spki_new)
PHP_FE(openssl_spki_verify, arginfo_openssl_spki_verify)
@@ -1280,6 +1285,26 @@ PHP_MSHUTDOWN_FUNCTION(openssl)
/* {{{ x509 cert functions */
+/* {{{ proto array openssl_get_cert_locations(void)
+ Retrieve an array mapping available certificate locations */
+PHP_FUNCTION(openssl_get_cert_locations)
+{
+ array_init(return_value);
+
+ add_assoc_string(return_value, "default_cert_file", (char *)
X509_get_default_cert_file(), 1);
+ add_assoc_string(return_value, "default_cert_file_env", (char *)
X509_get_default_cert_file_env(), 1);
+ add_assoc_string(return_value, "default_cert_dir", (char *) X509_get_default_cert_dir(),
1);
+ add_assoc_string(return_value, "default_cert_dir_env", (char *)
X509_get_default_cert_dir_env(), 1);
+ add_assoc_string(return_value, "default_private_dir", (char *)
X509_get_default_private_dir(), 1);
+ add_assoc_string(return_value, "default_default_cert_area", (char *)
X509_get_default_cert_area(), 1);
+ add_assoc_string(return_value, "ini_cafile",
+ zend_ini_string("openssl.cafile", sizeof("openssl.cafile"), 0), 1);
+ add_assoc_string(return_value, "ini_capath",
+ zend_ini_string("openssl.capath", sizeof("openssl.capath"), 0), 1);
+}
+/* }}} */
+
+
/* {{{ php_openssl_x509_from_zval
Given a zval, coerce it into an X509 object.
The zval can be:
diff --git a/ext/openssl/php_openssl.h b/ext/openssl/php_openssl.h
index 01e976f..cab787a 100644
--- a/ext/openssl/php_openssl.h
+++ b/ext/openssl/php_openssl.h
@@ -85,6 +85,8 @@ PHP_FUNCTION(openssl_spki_new);
PHP_FUNCTION(openssl_spki_verify);
PHP_FUNCTION(openssl_spki_export);
PHP_FUNCTION(openssl_spki_export_challenge);
+
+PHP_FUNCTION(openssl_get_cert_locations);
#else
#define phpext_openssl_ptr NULL