summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad House <bradmssw@php.net>2005-07-18 20:11:10 +0000
committerBrad House <bradmssw@php.net>2005-07-18 20:11:10 +0000
commit3704f085ed1da516bfffd36b80bec159c58c7dcb (patch)
tree9d1b8590a92cb765d4dda62b81494f378b495f16
parent8688512c84a3d554662ae64642b4d4cc063a57d0 (diff)
downloadphp-git-3704f085ed1da516bfffd36b80bec159c58c7dcb.tar.gz
BACKPORT FROM HEAD: sync missing functions from libmonetra-5
-rw-r--r--ext/mcve/mcve.c59
-rw-r--r--ext/mcve/php_mcve.h4
2 files changed, 63 insertions, 0 deletions
diff --git a/ext/mcve/mcve.c b/ext/mcve/mcve.c
index 3234adcac3..7c023de410 100644
--- a/ext/mcve/mcve.c
+++ b/ext/mcve/mcve.c
@@ -62,6 +62,10 @@ function_entry mcve_functions[] = {
PHP_FE(m_setdropfile, NULL)
PHP_FE(m_setip, NULL)
PHP_FE(m_setssl, NULL)
+#if LIBMONETRA_VERSION >= 050000
+ PHP_FE(m_setssl_cafile, NULL)
+ PHP_FE(m_responsekeys, NULL)
+#endif
PHP_FE(m_setssl_files, NULL)
PHP_FE(m_settimeout, NULL)
PHP_FE(m_setblocking, NULL)
@@ -736,6 +740,31 @@ PHP_FUNCTION(m_setssl)
}
/* }}} */
+#if LIBMONETRA_VERSION >= 050000
+/* {{{ proto int m_setssl_cafile(resource conn, string cafile)
+ Set SSL CA (Certificate Authority) file for verification of server
+ certificate
+*/
+PHP_FUNCTION(m_setssl_cafile)
+{
+ MCVE_CONN *conn;
+ int retval;
+ zval **arg1, **arg2;
+
+ if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE)
+ WRONG_PARAM_COUNT;
+
+
+ ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn);
+ convert_to_string_ex(arg2);
+
+ retval = M_SetSSL_CAfile(conn, Z_STRVAL_PP(arg2));
+
+ RETURN_LONG(retval);
+}
+/* }}} */
+#endif
+
/* {{{ proto int m_setssl_files(resource conn, string sslkeyfile, string sslcertfile)
Set certificate key files and certificates if server requires client certificate
verification
@@ -1152,6 +1181,36 @@ PHP_FUNCTION(m_responseparam)
}
/* }}} */
+#if LIBMONETRA_VERSION >= 050000
+/* {{{ proto array m_responsekeys(resource conn, long identifier)
+ Returns array of strings which represents the keys that can be used
+ for response parameters on this transaction
+*/
+PHP_FUNCTION(m_responsekeys)
+{
+ MCVE_CONN *conn;
+ char **retval;
+ int num_keys, i;
+ zval **arg1, **arg2;
+
+ if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE)
+ WRONG_PARAM_COUNT;
+
+ ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn);
+ convert_to_long_ex(arg2);
+
+ array_init(return_value);
+
+ retval=M_ResponseKeys(conn, Z_LVAL_PP(arg2), &num_keys);
+ if (retval != NULL) {
+ for (i=0; i<num_keys; i++)
+ add_next_index_string(return_value, retval[i], 1);
+ M_FreeResponseKeys(retval, num_keys);
+ }
+}
+/* }}} */
+#endif
+
/* {{{ proto string m_getuserparam(resource conn, long identifier, int key)
Get a user response parameter */
PHP_FUNCTION(m_getuserparam)
diff --git a/ext/mcve/php_mcve.h b/ext/mcve/php_mcve.h
index 531891ca87..dbce848425 100644
--- a/ext/mcve/php_mcve.h
+++ b/ext/mcve/php_mcve.h
@@ -51,6 +51,10 @@ PHP_FUNCTION(m_destroyconn);
PHP_FUNCTION(m_setdropfile);
PHP_FUNCTION(m_setip);
PHP_FUNCTION(m_setssl);
+#if LIBMONETRA_VERSION >= 050000
+PHP_FUNCTION(m_setssl_cafile);
+PHP_FUNCTION(m_responsekeys);
+#endif
PHP_FUNCTION(m_setssl_files);
PHP_FUNCTION(m_setblocking);
PHP_FUNCTION(m_settimeout);