[prev in list] [next in list] [prev in thread] [next in thread] 

List:       pecl-cvs
Subject:    [PECL-CVS] com pecl/php/runkit: 5.7 Fixes: =?UTF-8?Q?php=5Frunkit=2Eh=20runkit=5Fsan?= =?UTF-8?Q?dbo
From:       Sara Golemon <pollita () php ! net>
Date:       2013-12-22 22:38:32
Message-ID: php-mail-920ee19e17cca7a2923fb76e6c37676070545564 () git ! php ! net
[Download RAW message or body]

Commit:    1fde29c8a6ebdda8166a0f21e17e7291a5b94adc
Author:    Sara Golemon <pollita@php.net>         Sun, 22 Dec 2013 14:01:22 -0800
Parents:   ad9298c0a536f6fa1654e6af3530b09c781f67d3
Branches:  master

Link:       http://git.php.net/?p=pecl/php/runkit.git;a=commitdiff;h=1fde29c8a6ebdda8166a0f21e17e7291a5b94adc


Log:
5.7 Fixes

zend_is_true() now takes a TSRMLS_CC parameter
sapi_flush() now takes a TSRMLS_CC parameter

Changed paths:
  M  php_runkit.h
  M  runkit_sandbox.c


Diff:
diff --git a/php_runkit.h b/php_runkit.h
index 1c1f774..b227a47 100644
--- a/php_runkit.h
+++ b/php_runkit.h
@@ -42,6 +42,12 @@
 #define PHP_RUNKIT_IMPORT_CLASSES		(PHP_RUNKIT_IMPORT_CLASS_METHODS|PHP_RUNKIT_IMPORT \
_CLASS_CONSTS|PHP_RUNKIT_IMPORT_CLASS_PROPS|PHP_RUNKIT_IMPORT_CLASS_STATIC_PROPS)  \
#define PHP_RUNKIT_IMPORT_OVERRIDE		0x1000  
+#if ZEND_MODULE_API_NO > 20131217
+#define ZEND_ENGINE_2_7
+#endif
+#if ZEND_MODULE_API_NO > 20131105
+#define ZEND_ENGINE_2_6
+#endif
 #if ZEND_MODULE_API_NO > 20121211
 #define ZEND_ENGINE_2_5
 #endif
diff --git a/runkit_sandbox.c b/runkit_sandbox.c
index b88495f..8d7a316 100644
--- a/runkit_sandbox.c
+++ b/runkit_sandbox.c
@@ -48,6 +48,12 @@ static zend_class_entry *php_runkit_sandbox_class_entry;
 
 #define PHP_RUNKIT_SANDBOX_FETCHBOX(zval_p) \
(php_runkit_sandbox_object*)zend_objects_get_address(zval_p TSRMLS_CC)  
+#ifdef ZEND_ENGINE_2_7
+# define ISTRUE_CC TSRMLS_CC
+#else
+# define ISTRUE_CC
+#endif
+
 int php_runkit_sandbox_array_deep_copy(zval **value ZEND_HASH_APPLY_ARGS_TSRMLS_DC, \
int num_args, va_list args, zend_hash_key *hash_key)  {
 	HashTable *target_hashtable = va_arg(args, HashTable*);
@@ -257,14 +263,14 @@ inline void \
php_runkit_sandbox_ini_override(php_runkit_sandbox_object *objval, H  /* safe_mode \
only goes on */  if (!safe_mode &&
 	    (zend_hash_find(options, "safe_mode", sizeof("safe_mode"), (void**)&tmpzval) == \
                SUCCESS) &&
-	    zend_is_true(*tmpzval)) {
+	    zend_is_true(*tmpzval ISTRUE_CC)) {
 		zend_alter_ini_entry("safe_mode", sizeof("safe_mode"), "1", 1, PHP_INI_SYSTEM, \
PHP_INI_STAGE_ACTIVATE);  }
 
 	/* safe_mode_gid only goes off */
 	if (safe_mode_gid &&
 		(zend_hash_find(options, "safe_mode_gid", sizeof("safe_mode_gid"), \
                (void**)&tmpzval) == SUCCESS) &&
-		!zend_is_true(*tmpzval)) {
+		!zend_is_true(*tmpzval ISTRUE_CC)) {
 		zend_alter_ini_entry("safe_mode_gid", sizeof("safe_mode_gid"), "0", 1, \
PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);  }
 
@@ -327,7 +333,7 @@ child_open_basedir_set:
 	/* allow_url_fopen goes off only */
 	if (allow_url_fopen &&
 	    (zend_hash_find(options, "allow_url_fopen", sizeof("allow_url_fopen"), \
                (void**)&tmpzval) == SUCCESS) &&
-	    !zend_is_true(*tmpzval)) {
+	    !zend_is_true(*tmpzval ISTRUE_CC)) {
 		zend_alter_ini_entry("allow_url_fopen", sizeof("allow_url_fopen"), "0", 1, \
PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);  }
 
@@ -400,7 +406,7 @@ child_open_basedir_set:
 
 	/* May only turn off */
 	if ((zend_hash_find(options, "runkit.internal_override", \
                sizeof("runkit.internal_override"), (void**)&tmpzval) == SUCCESS) &&
-	    !zend_is_true(*tmpzval)) {
+	    !zend_is_true(*tmpzval ISTRUE_CC)) {
 		zend_alter_ini_entry("runkit.internal_override", \
sizeof("runkit.internal_override"), "0", 1, PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);  \
}  
@@ -408,7 +414,7 @@ child_open_basedir_set:
 	/* May only turn off */
 	if (allow_url_include &&
 	    (zend_hash_find(options, "allow_url_include", sizeof("allow_url_include"), \
                (void**)&tmpzval) == SUCCESS) &&
-	    !zend_is_true(*tmpzval)) {
+	    !zend_is_true(*tmpzval ISTRUE_CC)) {
 		zend_alter_ini_entry("allow_url_include", sizeof("allow_url_include"), "0", 1, \
PHP_INI_SYSTEM, PHP_INI_STAGE_ACTIVATE);  }
 #endif
@@ -1111,19 +1117,29 @@ static int php_runkit_sandbox_sapi_ub_write(const char *str, \
uint str_length TSR  }
 /* }}} */
 
+#ifdef ZEND_ENGINE_2_7
+# define FLUSH_CC TSRMLS_CC
+# define FLUSH_DC TSRMLS_DC
+#else
+# define FLUSH_CC
+# define FLUSH_DC
+#endif
+
 /* {{{ php_runkit_sandbox_sapi_flush
  */
-static void php_runkit_sandbox_sapi_flush(void *server_context)
+static void php_runkit_sandbox_sapi_flush(void *server_context FLUSH_DC)
 {
 	php_runkit_sandbox_object *objval;
+#ifndef ZEND_ENGINE_2_7
 	TSRMLS_FETCH();
+#endif
 
 	objval = RUNKIT_G(current_sandbox);
 
 	if (!objval) {
 		/* Not in a sandbox -- Use genuine sapi.flush handler */
 		if (php_runkit_sandbox_original_sapi.flush) {
-			php_runkit_sandbox_original_sapi.flush(server_context);
+			php_runkit_sandbox_original_sapi.flush(server_context FLUSH_CC);
 		}
 		return;
 	}
@@ -1137,7 +1153,7 @@ static void php_runkit_sandbox_sapi_flush(void *server_context)
 			!zend_is_callable(objval->output_handler, IS_CALLABLE_CHECK_NO_ACCESS, NULL \
ISCALLABLE_TSRMLS_CC)) {  /* No hander, or invalid handler, pass up the line... */
 			if (php_runkit_sandbox_original_sapi.flush) {
-				php_runkit_sandbox_original_sapi.flush(server_context);
+				php_runkit_sandbox_original_sapi.flush(server_context FLUSH_CC);
 			}
 			tsrm_set_interpreter_context(objval->context);
 			return;
@@ -1565,7 +1581,7 @@ PHP_FUNCTION(runkit_sandbox_output_handler)
 	}
 
 	if (callback) {
-		callback_is_true = zend_is_true(callback);
+		callback_is_true = zend_is_true(callback ISTRUE_CC);
 	}
 
 	if (callback && callback_is_true &&


--
PECL CVS Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic