diff options
| author | Ben Fuhrmannek | 2014-11-06 14:28:11 +0100 |
|---|---|---|
| committer | Ben Fuhrmannek | 2014-11-06 14:28:11 +0100 |
| commit | d618c47b3e8945484c7e202f5dfbf2669870f16d (patch) | |
| tree | 16e851569080684feec0785800d47e0764fdb31c /suhosin.c | |
| parent | 0b03d1e2b5c4822df8ba8428002323b353ae3fe9 (diff) | |
| parent | c3f4330efb42214b1a23d756001f140c5968e1a7 (diff) | |
Merge branch 'constants'
Diffstat (limited to 'suhosin.c')
| -rw-r--r-- | suhosin.c | 31 |
1 files changed, 30 insertions, 1 deletions
| @@ -386,6 +386,11 @@ static ZEND_INI_MH(OnUpdateSuhosin_log_syslog) | |||
| 386 | if (!new_value) { | 386 | if (!new_value) { |
| 387 | SUHOSIN_G(log_syslog) = (S_ALL & ~S_SQL) | S_MEMORY; | 387 | SUHOSIN_G(log_syslog) = (S_ALL & ~S_SQL) | S_MEMORY; |
| 388 | } else { | 388 | } else { |
| 389 | if (is_numeric_string(new_value, strlen(new_value), NULL, NULL, 0) != IS_LONG) { | ||
| 390 | SUHOSIN_G(log_syslog) = (S_ALL & ~S_SQL) | S_MEMORY; | ||
| 391 | php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown constant in suhosin.log.syslog=%s", new_value); | ||
| 392 | return FAILURE; | ||
| 393 | } | ||
| 389 | SUHOSIN_G(log_syslog) = atoi(new_value) | S_MEMORY; | 394 | SUHOSIN_G(log_syslog) = atoi(new_value) | S_MEMORY; |
| 390 | } | 395 | } |
| 391 | return SUCCESS; | 396 | return SUCCESS; |
| @@ -416,6 +421,11 @@ static ZEND_INI_MH(OnUpdateSuhosin_log_sapi) | |||
| 416 | if (!new_value) { | 421 | if (!new_value) { |
| 417 | SUHOSIN_G(log_sapi) = (S_ALL & ~S_SQL); | 422 | SUHOSIN_G(log_sapi) = (S_ALL & ~S_SQL); |
| 418 | } else { | 423 | } else { |
| 424 | if (is_numeric_string(new_value, strlen(new_value), NULL, NULL, 0) != IS_LONG) { | ||
| 425 | SUHOSIN_G(log_sapi) = (S_ALL & ~S_SQL); | ||
| 426 | php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown constant in suhosin.log.sapi=%s", new_value); | ||
| 427 | return FAILURE; | ||
| 428 | } | ||
| 419 | SUHOSIN_G(log_sapi) = atoi(new_value); | 429 | SUHOSIN_G(log_sapi) = atoi(new_value); |
| 420 | } | 430 | } |
| 421 | return SUCCESS; | 431 | return SUCCESS; |
| @@ -426,6 +436,11 @@ static ZEND_INI_MH(OnUpdateSuhosin_log_stdout) | |||
| 426 | if (!new_value) { | 436 | if (!new_value) { |
| 427 | SUHOSIN_G(log_stdout) = (S_ALL & ~S_SQL); | 437 | SUHOSIN_G(log_stdout) = (S_ALL & ~S_SQL); |
| 428 | } else { | 438 | } else { |
| 439 | if (is_numeric_string(new_value, strlen(new_value), NULL, NULL, 0) != IS_LONG) { | ||
| 440 | SUHOSIN_G(log_stdout) = (S_ALL & ~S_SQL); | ||
| 441 | php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown constant in suhosin.log.stdout=%s", new_value); | ||
| 442 | return FAILURE; | ||
| 443 | } | ||
| 429 | SUHOSIN_G(log_stdout) = atoi(new_value); | 444 | SUHOSIN_G(log_stdout) = atoi(new_value); |
| 430 | } | 445 | } |
| 431 | return SUCCESS; | 446 | return SUCCESS; |
| @@ -436,6 +451,11 @@ static ZEND_INI_MH(OnUpdateSuhosin_log_script) | |||
| 436 | if (!new_value) { | 451 | if (!new_value) { |
| 437 | SUHOSIN_G(log_script) = S_ALL & ~S_MEMORY; | 452 | SUHOSIN_G(log_script) = S_ALL & ~S_MEMORY; |
| 438 | } else { | 453 | } else { |
| 454 | if (is_numeric_string(new_value, strlen(new_value), NULL, NULL, 0) != IS_LONG) { | ||
| 455 | SUHOSIN_G(log_script) = S_ALL & ~S_MEMORY; | ||
| 456 | php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown constant in suhosin.log.script=%s", new_value); | ||
| 457 | return FAILURE; | ||
| 458 | } | ||
| 439 | SUHOSIN_G(log_script) = atoi(new_value) & (~S_MEMORY) & (~S_INTERNAL); | 459 | SUHOSIN_G(log_script) = atoi(new_value) & (~S_MEMORY) & (~S_INTERNAL); |
| 440 | } | 460 | } |
| 441 | return SUCCESS; | 461 | return SUCCESS; |
| @@ -458,6 +478,11 @@ static ZEND_INI_MH(OnUpdateSuhosin_log_phpscript) | |||
| 458 | if (!new_value) { | 478 | if (!new_value) { |
| 459 | SUHOSIN_G(log_phpscript) = S_ALL & ~S_MEMORY; | 479 | SUHOSIN_G(log_phpscript) = S_ALL & ~S_MEMORY; |
| 460 | } else { | 480 | } else { |
| 481 | if (is_numeric_string(new_value, strlen(new_value), NULL, NULL, 0) != IS_LONG) { | ||
| 482 | SUHOSIN_G(log_phpscript) = S_ALL & ~S_MEMORY; | ||
| 483 | php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown constant in suhosin.log.phpscript=%s", new_value); | ||
| 484 | return FAILURE; | ||
| 485 | } | ||
| 461 | SUHOSIN_G(log_phpscript) = atoi(new_value) & (~S_MEMORY) & (~S_INTERNAL); | 486 | SUHOSIN_G(log_phpscript) = atoi(new_value) & (~S_MEMORY) & (~S_INTERNAL); |
| 462 | } | 487 | } |
| 463 | return SUCCESS; | 488 | return SUCCESS; |
| @@ -468,6 +493,11 @@ static ZEND_INI_MH(OnUpdateSuhosin_log_file) | |||
| 468 | if (!new_value) { | 493 | if (!new_value) { |
| 469 | SUHOSIN_G(log_file) = S_ALL & ~S_MEMORY; | 494 | SUHOSIN_G(log_file) = S_ALL & ~S_MEMORY; |
| 470 | } else { | 495 | } else { |
| 496 | if (is_numeric_string(new_value, strlen(new_value), NULL, NULL, 0) != IS_LONG) { | ||
| 497 | SUHOSIN_G(log_file) = S_ALL & ~S_MEMORY; | ||
| 498 | php_error_docref(NULL TSRMLS_CC, E_WARNING, "unknown constant in suhosin.log.file=%s", new_value); | ||
| 499 | return FAILURE; | ||
| 500 | } | ||
| 471 | SUHOSIN_G(log_file) = atoi(new_value) & (~S_MEMORY) & (~S_INTERNAL); | 501 | SUHOSIN_G(log_file) = atoi(new_value) & (~S_MEMORY) & (~S_INTERNAL); |
| 472 | } | 502 | } |
| 473 | return SUCCESS; | 503 | return SUCCESS; |
| @@ -926,7 +956,6 @@ PHP_MINIT_FUNCTION(suhosin) | |||
| 926 | ZEND_INIT_MODULE_GLOBALS(suhosin, php_suhosin_init_globals, NULL); | 956 | ZEND_INIT_MODULE_GLOBALS(suhosin, php_suhosin_init_globals, NULL); |
| 927 | 957 | ||
| 928 | /* only register constants if they have not previously been registered by a possible patched PHP */ | 958 | /* only register constants if they have not previously been registered by a possible patched PHP */ |
| 929 | |||
| 930 | if (zend_hash_exists(EG(zend_constants), "S_MEMORY", sizeof("S_MEMORY"))==0) { | 959 | if (zend_hash_exists(EG(zend_constants), "S_MEMORY", sizeof("S_MEMORY"))==0) { |
| 931 | REGISTER_MAIN_LONG_CONSTANT("S_MEMORY", S_MEMORY, CONST_PERSISTENT | CONST_CS); | 960 | REGISTER_MAIN_LONG_CONSTANT("S_MEMORY", S_MEMORY, CONST_PERSISTENT | CONST_CS); |
| 932 | REGISTER_MAIN_LONG_CONSTANT("S_VARS", S_VARS, CONST_PERSISTENT | CONST_CS); | 961 | REGISTER_MAIN_LONG_CONSTANT("S_VARS", S_VARS, CONST_PERSISTENT | CONST_CS); |
