]> granicus.if.org Git - php/commitdiff
backport from head. compatability fix with libmonetra 4.2 and higher (still works...
authorBrad House <bradmssw@php.net>
Wed, 8 Dec 2004 03:08:39 +0000 (03:08 +0000)
committerBrad House <bradmssw@php.net>
Wed, 8 Dec 2004 03:08:39 +0000 (03:08 +0000)
ext/mcve/config.m4
ext/mcve/mcve.c

index 7f104f876dd12adbfb61ec4185f13412040b470a..b49dee6ae340575f23951072c8b1be41bc80d0c0 100644 (file)
@@ -51,6 +51,20 @@ yes
   ],[
     AC_MSG_ERROR([libmcve 3.2.2 or greater required.])
   ])
+
+  AC_MSG_CHECKING([for correct libmonetra 4.2 or higher])
+  AC_EGREP_CPP(yes,[
+#include "$MCVE_DIR/include/mcve.h"
+#ifdef MCVE_SetSSL_CAfile
+yes
+#endif
+  ],[
+    AC_MSG_RESULT([yes])
+  ],[
+    AC_DEFINE([LIBMONETRA_BELOW_4_2], 1, [Whether or not we're using libmonetra 4.2 or higher ])
+    AC_MSG_ERROR([no])
+  ])
+
   CPPFLAGS=$saved_CPPFLAGS
 
   PHP_ADD_INCLUDE($MCVE_DIR/include)
index d7864abf4e72ec6dd3a3548bc51df9f5ce76b049..663ba7201389e8c6ce39ccc08bd3365c63178c2a 100644 (file)
 
 #include "php.h"
 
+#if PHP_WIN32
+#include "config.w32.h"
+#elif defined NETWARE
+#include "config.nw.h"
+#else
+#include "php_config.h"
+#endif
+
 #if HAVE_MCVE
 
 /* standard php include(s) */
@@ -719,23 +727,34 @@ PHP_FUNCTION(m_setssl)
 }
 /* }}} */
 
-/* {{{ proto int m_setssl_files(string sslkeyfile, string sslcertfile)
+/* {{{ proto int m_setssl_files(resource conn, string sslkeyfile, string sslcertfile)
    Set certificate key files and certificates if server requires client certificate
    verification
 */
 PHP_FUNCTION(m_setssl_files)
 {
+       MCVE_CONN *conn;
        int retval;
-       zval **arg1, **arg2;
+       zval **arg1, **arg2, **arg3;
 
+#ifndef LIBMONETRA_BELOW_4_2
+       if (ZEND_NUM_ARGS() != 3 || zend_get_parameters_ex(3, &arg1, &arg2, &arg3) == FAILURE)
+               WRONG_PARAM_COUNT;
+       ZEND_FETCH_RESOURCE(conn, MCVE_CONN *, arg1, -1, "mcve connection", le_conn);
+#else
        if (ZEND_NUM_ARGS() != 2 || zend_get_parameters_ex(2, &arg1, &arg2) == FAILURE)
                WRONG_PARAM_COUNT;
+#endif
 
-       convert_to_string_ex(arg1);
        convert_to_string_ex(arg2);
 
+#ifndef LIBMONETRA_BELOW_4_2
+       convert_to_string_ex(arg3);
+       retval = MCVE_SetSSL_Files(conn, Z_STRVAL_PP(arg2), Z_STRVAL_PP(arg3));
+#else
+       convert_to_string_ex(arg1);     
        retval = MCVE_SetSSL_Files(Z_STRVAL_PP(arg1), Z_STRVAL_PP(arg2));
-
+#endif
        RETURN_LONG(retval);
 }
 /* }}} */