diff options
| -rw-r--r-- | ifilter.c | 40 |
1 files changed, 10 insertions, 30 deletions
| @@ -33,26 +33,6 @@ | |||
| 33 | 33 | ||
| 34 | static void (*orig_register_server_variables)(zval *track_vars_array TSRMLS_DC) = NULL; | 34 | static void (*orig_register_server_variables)(zval *track_vars_array TSRMLS_DC) = NULL; |
| 35 | 35 | ||
| 36 | #ifdef ZEND_ENGINE_2 | ||
| 37 | #define HASH_HTTP_GET_VARS 0x2095733f | ||
| 38 | #define HASH_HTTP_POST_VARS 0xbfee1265 | ||
| 39 | #define HASH_HTTP_COOKIE_VARS 0xaaca9d99 | ||
| 40 | #define HASH_HTTP_ENV_VARS 0x1fe186a8 | ||
| 41 | #define HASH_HTTP_SERVER_VARS 0xc987afd6 | ||
| 42 | #define HASH_HTTP_SESSION_VARS 0x7aba0d43 | ||
| 43 | #define HASH_HTTP_POST_FILES 0x98eb1ddc | ||
| 44 | #define HASH_HTTP_RAW_POST_DATA 0xdd633fec | ||
| 45 | #else | ||
| 46 | #define HASH_HTTP_GET_VARS 0x8d8645bd | ||
| 47 | #define HASH_HTTP_POST_VARS 0x7c699bf3 | ||
| 48 | #define HASH_HTTP_COOKIE_VARS 0x93ad0d6f | ||
| 49 | #define HASH_HTTP_ENV_VARS 0x84da3016 | ||
| 50 | #define HASH_HTTP_SERVER_VARS 0x6dbf964e | ||
| 51 | #define HASH_HTTP_SESSION_VARS 0x322906f5 | ||
| 52 | #define HASH_HTTP_POST_FILES 0xe4e4ce70 | ||
| 53 | #define HASH_HTTP_RAW_POST_DATA 0xe6137a0e | ||
| 54 | #endif | ||
| 55 | |||
| 56 | 36 | ||
| 57 | /* {{{ normalize_varname | 37 | /* {{{ normalize_varname |
| 58 | */ | 38 | */ |
| @@ -209,26 +189,26 @@ void suhosin_register_server_variables(zval *track_vars_array TSRMLS_DC) | |||
| 209 | HashTable *svars; | 189 | HashTable *svars; |
| 210 | int retval, failure=0; | 190 | int retval, failure=0; |
| 211 | 191 | ||
| 212 | orig_register_server_variables(track_vars_array TSRMLS_CC); | 192 | orig_register_server_variables(track_vars_array TSRMLS_CC); |
| 213 | 193 | ||
| 214 | svars = Z_ARRVAL_P(track_vars_array); | 194 | svars = Z_ARRVAL_P(track_vars_array); |
| 215 | 195 | ||
| 216 | if (!SUHOSIN_G(simulation)) { | 196 | if (!SUHOSIN_G(simulation)) { |
| 217 | retval = zend_hash_del_key_or_index(svars, "HTTP_GET_VARS", sizeof("HTTP_GET_VARS"), HASH_HTTP_GET_VARS, HASH_DEL_INDEX); | 197 | retval = zend_hash_del(svars, "HTTP_GET_VARS", sizeof("HTTP_GET_VARS")); |
| 198 | if (retval == SUCCESS) failure = 1; | ||
| 199 | retval = zend_hash_del(svars, "HTTP_POST_VARS", sizeof("HTTP_POST_VARS")); | ||
| 218 | if (retval == SUCCESS) failure = 1; | 200 | if (retval == SUCCESS) failure = 1; |
| 219 | retval = zend_hash_del_key_or_index(svars, "HTTP_POST_VARS", sizeof("HTTP_POST_VARS"), HASH_HTTP_POST_VARS, HASH_DEL_INDEX); | 201 | retval = zend_hash_del(svars, "HTTP_COOKIE_VARS", sizeof("HTTP_COOKIE_VARS")); |
| 220 | if (retval == SUCCESS) failure = 1; | 202 | if (retval == SUCCESS) failure = 1; |
| 221 | retval = zend_hash_del_key_or_index(svars, "HTTP_COOKIE_VARS", sizeof("HTTP_COOKIE_VARS"), HASH_HTTP_COOKIE_VARS, HASH_DEL_INDEX); | 203 | retval = zend_hash_del(svars, "HTTP_ENV_VARS", sizeof("HTTP_ENV_VARS")); |
| 222 | if (retval == SUCCESS) failure = 1; | 204 | if (retval == SUCCESS) failure = 1; |
| 223 | retval = zend_hash_del_key_or_index(svars, "HTTP_ENV_VARS", sizeof("HTTP_ENV_VARS"), HASH_HTTP_ENV_VARS, HASH_DEL_INDEX); | 205 | retval = zend_hash_del(svars, "HTTP_SERVER_VARS", sizeof("HTTP_SERVER_VARS")); |
| 224 | if (retval == SUCCESS) failure = 1; | 206 | if (retval == SUCCESS) failure = 1; |
| 225 | retval = zend_hash_del_key_or_index(svars, "HTTP_SERVER_VARS", sizeof("HTTP_SERVER_VARS"), HASH_HTTP_SERVER_VARS, HASH_DEL_INDEX); | 207 | retval = zend_hash_del(svars, "HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS")); |
| 226 | if (retval == SUCCESS) failure = 1; | 208 | if (retval == SUCCESS) failure = 1; |
| 227 | retval = zend_hash_del_key_or_index(svars, "HTTP_SESSION_VARS", sizeof("HTTP_SESSION_VARS"), HASH_HTTP_SESSION_VARS, HASH_DEL_INDEX); | 209 | retval = zend_hash_del(svars, "HTTP_POST_FILES", sizeof("HTTP_POST_FILES")); |
| 228 | if (retval == SUCCESS) failure = 1; | 210 | if (retval == SUCCESS) failure = 1; |
| 229 | retval = zend_hash_del_key_or_index(svars, "HTTP_POST_FILES", sizeof("HTTP_POST_FILES"), HASH_HTTP_POST_FILES, HASH_DEL_INDEX); | 211 | retval = zend_hash_del(svars, "HTTP_RAW_POST_DATA", sizeof("HTTP_RAW_POST_DATA")); |
| 230 | if (retval == SUCCESS) failure = 1; | ||
| 231 | retval = zend_hash_del_key_or_index(svars, "HTTP_RAW_POST_DATA", sizeof("HTTP_RAW_POST_DATA"), HASH_HTTP_RAW_POST_DATA, HASH_DEL_INDEX); | ||
| 232 | if (retval == SUCCESS) failure = 1; | 212 | if (retval == SUCCESS) failure = 1; |
| 233 | } else { | 213 | } else { |
| 234 | retval = zend_hash_exists(svars, "HTTP_GET_VARS", sizeof("HTTP_GET_VARS")); | 214 | retval = zend_hash_exists(svars, "HTTP_GET_VARS", sizeof("HTTP_GET_VARS")); |
