summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Fuhrmannek2016-02-22 22:02:32 +0100
committerBen Fuhrmannek2016-02-22 22:02:32 +0100
commitf365d212edbaab4058875fe39623a97befbf98b0 (patch)
tree9b791f1984a9e823e688b188d7596e3467930bdc
parent86bd1f01211be780307d9269f23314721029fcab (diff)
temp. disabled treat_data to simplify things
-rw-r--r--execute.c1
-rw-r--r--ifilter.c17
-rw-r--r--php_suhosin7.h5
-rw-r--r--suhosin7.c4
-rw-r--r--treat_data.c13
5 files changed, 22 insertions, 18 deletions
diff --git a/execute.c b/execute.c
index 4648b93..8abaff2 100644
--- a/execute.c
+++ b/execute.c
@@ -364,6 +364,7 @@ static int suhosin_detect_codetype(zend_op_array *op_array)
364 * This function provides a hook for execution */ 364 * This function provides a hook for execution */
365ZEND_API static void suhosin_execute_ex(zend_execute_data *execute_data) 365ZEND_API static void suhosin_execute_ex(zend_execute_data *execute_data)
366{ 366{
367 // SDEBUG("X------------------------->")
367 // TODO: check execute_data + execute_data->func 368 // TODO: check execute_data + execute_data->func
368 369
369 zend_op_array *new_op_array; 370 zend_op_array *new_op_array;
diff --git a/ifilter.c b/ifilter.c
index 5f9e0db..3cbbc4e 100644
--- a/ifilter.c
+++ b/ifilter.c
@@ -295,15 +295,16 @@ unsigned int suhosin_input_filter_wrapper(int arg, char *var, char **val, size_t
295 // zend_bool already_scanned = SUHOSIN7_G(already_scanned); 295 // zend_bool already_scanned = SUHOSIN7_G(already_scanned);
296 // SUHOSIN7_G(already_scanned) = 0; 296 // SUHOSIN7_G(already_scanned) = 0;
297 // SDEBUG("ifilter arg=%d var=%s do_not_scan=%d already_scanned=%d", arg, var, SUHOSIN7_G(do_not_scan), already_scanned); 297 // SDEBUG("ifilter arg=%d var=%s do_not_scan=%d already_scanned=%d", arg, var, SUHOSIN7_G(do_not_scan), already_scanned);
298 SDEBUG("ifilter arg=%d var=%s do_not_scan=%d", arg, var, SUHOSIN7_G(do_not_scan)); 298 // SDEBUG("ifilter arg=%d var=%s do_not_scan=%d", arg, var, SUHOSIN7_G(do_not_scan));
299 SDEBUG("ifilter arg=%d var=%s", arg, var);
299 300
300 if (SUHOSIN7_G(do_not_scan)) { 301 // if (SUHOSIN7_G(do_not_scan)) {
301 SDEBUG("do_not_scan"); 302 // SDEBUG("do_not_scan");
302 if (new_val_len) { 303 // if (new_val_len) {
303 *new_val_len = val_len; 304 // *new_val_len = val_len;
304 } 305 // }
305 return 1; 306 // return 1;
306 } 307 // }
307 308
308 // if (!already_scanned) { 309 // if (!already_scanned) {
309 if (suhosin_input_filter(arg, var, val, val_len, new_val_len)==0) { 310 if (suhosin_input_filter(arg, var, val, val_len, new_val_len)==0) {
diff --git a/php_suhosin7.h b/php_suhosin7.h
index 5a13576..0a40316 100644
--- a/php_suhosin7.h
+++ b/php_suhosin7.h
@@ -128,7 +128,7 @@ ZEND_BEGIN_MODULE_GLOBALS(suhosin7)
128 128
129 zend_bool simulation; 129 zend_bool simulation;
130 // zend_bool stealth; 130 // zend_bool stealth;
131 zend_bool already_scanned; 131 // zend_bool already_scanned;
132 zend_bool abort_request; 132 zend_bool abort_request;
133 // 133 //
134 134
@@ -247,7 +247,7 @@ ZEND_BEGIN_MODULE_GLOBALS(suhosin7)
247 /* misc */ 247 /* misc */
248 zend_bool coredump; 248 zend_bool coredump;
249 // zend_bool apc_bug_workaround; 249 // zend_bool apc_bug_workaround;
250 zend_bool do_not_scan; 250 // zend_bool do_not_scan;
251 // 251 //
252 zend_bool server_encode; 252 zend_bool server_encode;
253 zend_bool server_strip; 253 zend_bool server_strip;
@@ -372,6 +372,7 @@ void suhosin_hook_memory_limit();
372void suhosin_hook_treat_data(); 372void suhosin_hook_treat_data();
373void suhosin_hook_execute(); 373void suhosin_hook_execute();
374void suhosin_hook_register_server_variables(); 374void suhosin_hook_register_server_variables();
375// void suhosin_hook_sha256();
375 376
376static inline void suhosin_bailout() 377static inline void suhosin_bailout()
377{ 378{
diff --git a/suhosin7.c b/suhosin7.c
index 8ce72d7..9ed1eca 100644
--- a/suhosin7.c
+++ b/suhosin7.c
@@ -516,7 +516,8 @@ PHP_MINIT_FUNCTION(suhosin7)
516 suhosin_hook_treat_data(); 516 suhosin_hook_treat_data();
517 suhosin_hook_execute(); 517 suhosin_hook_execute();
518 suhosin_hook_register_server_variables(); 518 suhosin_hook_register_server_variables();
519 519 // suhosin_hook_sha256();
520
520 return SUCCESS; 521 return SUCCESS;
521} 522}
522/* }}} */ 523/* }}} */
@@ -547,7 +548,6 @@ PHP_RINIT_FUNCTION(suhosin7)
547PHP_RSHUTDOWN_FUNCTION(suhosin7) 548PHP_RSHUTDOWN_FUNCTION(suhosin7)
548{ 549{
549 SDEBUG("(RSHUTDOWN)"); 550 SDEBUG("(RSHUTDOWN)");
550
551 return SUCCESS; 551 return SUCCESS;
552} 552}
553/* }}} */ 553/* }}} */
diff --git a/treat_data.c b/treat_data.c
index 1c41e85..d842afc 100644
--- a/treat_data.c
+++ b/treat_data.c
@@ -144,6 +144,7 @@ SAPI_TREAT_DATA_FUNC(suhosin_treat_data)
144 php_error_docref(NULL, E_WARNING, "Input variables exceeded " ZEND_LONG_FMT ". To increase the limit change max_input_vars in php.ini.", PG(max_input_vars)); 144 php_error_docref(NULL, E_WARNING, "Input variables exceeded " ZEND_LONG_FMT ". To increase the limit change max_input_vars in php.ini.", PG(max_input_vars));
145 break; 145 break;
146 } 146 }
147 SDEBUG("calling input filter from treat_data");
147 148
148 if (val) { /* have a value */ 149 if (val) { /* have a value */
149 size_t val_len; 150 size_t val_len;
@@ -154,9 +155,9 @@ SAPI_TREAT_DATA_FUNC(suhosin_treat_data)
154 val_len = php_url_decode(val, strlen(val)); 155 val_len = php_url_decode(val, strlen(val));
155 val = estrndup(val, val_len); 156 val = estrndup(val, val_len);
156 if (suhosin_input_filter(arg, var, &val, val_len, &new_val_len)) { 157 if (suhosin_input_filter(arg, var, &val, val_len, &new_val_len)) {
157 if (sapi_module.input_filter(arg, var, &val, new_val_len, &new_val_len)) { 158 // if (sapi_module.input_filter(arg, var, &val, new_val_len, &new_val_len)) {
158 php_register_variable_safe(var, val, new_val_len, &array); 159 php_register_variable_safe(var, val, new_val_len, &array);
159 } 160 // }
160 } else { 161 } else {
161 SUHOSIN7_G(abort_request) = 1; 162 SUHOSIN7_G(abort_request) = 1;
162 } 163 }
@@ -169,9 +170,9 @@ SAPI_TREAT_DATA_FUNC(suhosin_treat_data)
169 val_len = 0; 170 val_len = 0;
170 val = estrndup("", val_len); 171 val = estrndup("", val_len);
171 if (suhosin_input_filter(arg, var, &val, val_len, &new_val_len)) { 172 if (suhosin_input_filter(arg, var, &val, val_len, &new_val_len)) {
172 if (sapi_module.input_filter(arg, var, &val, new_val_len, &new_val_len)) { 173 // if (sapi_module.input_filter(arg, var, &val, new_val_len, &new_val_len)) {
173 php_register_variable_safe(var, val, new_val_len, &array); 174 php_register_variable_safe(var, val, new_val_len, &array);
174 } 175 // }
175 } else { 176 } else {
176 SUHOSIN7_G(abort_request) = 1; 177 SUHOSIN7_G(abort_request) = 1;
177 } 178 }
@@ -194,8 +195,8 @@ next_cookie:
194 195
195void suhosin_hook_treat_data() 196void suhosin_hook_treat_data()
196{ 197{
197 sapi_register_treat_data(suhosin_treat_data); 198 // sapi_register_treat_data(suhosin_treat_data);
198 199
199 if (old_input_filter == NULL) { 200 if (old_input_filter == NULL) {
200 old_input_filter = sapi_module.input_filter; 201 old_input_filter = sapi_module.input_filter;
201 } 202 }