diff options
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/executor/memory_limit.phpt | 29 | ||||
| -rw-r--r-- | tests/executor/memory_limit_64bit.phpt | 43 | ||||
| -rw-r--r-- | tests/executor/memory_limit_64bit_10G.phpt | 36 | ||||
| -rw-r--r-- | tests/executor/memory_limit_negative.phpt | 18 | ||||
| -rw-r--r-- | tests/executor/memory_limit_other_hardlimit.phpt | 28 |
5 files changed, 154 insertions, 0 deletions
diff --git a/tests/executor/memory_limit.phpt b/tests/executor/memory_limit.phpt new file mode 100644 index 0000000..404ab19 --- /dev/null +++ b/tests/executor/memory_limit.phpt | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | --TEST-- | ||
| 2 | memory_limit test: set suhosin hard_limit to normal limit | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!function_exists("memory_get_usage")) print "skip PHP not compiled with memory_limit support"; ?> | ||
| 5 | --INI-- | ||
| 6 | memory_limit=16M | ||
| 7 | suhosin.memory_limit=0 | ||
| 8 | suhosin.log.syslog=0 | ||
| 9 | suhosin.log.script=0 | ||
| 10 | suhosin.log.sapi=2 | ||
| 11 | --FILE-- | ||
| 12 | <?php | ||
| 13 | ini_set("memory_limit", "13M"); echo ini_get("memory_limit"), "\n"; | ||
| 14 | ini_set("memory_limit", "14M"); echo ini_get("memory_limit"), "\n"; | ||
| 15 | ini_set("memory_limit", "15M"); echo ini_get("memory_limit"), "\n"; | ||
| 16 | ini_set("memory_limit", "16M"); echo ini_get("memory_limit"), "\n"; | ||
| 17 | ini_set("memory_limit", "17M"); echo ini_get("memory_limit"), "\n"; | ||
| 18 | ini_set("memory_limit", "18M"); echo ini_get("memory_limit"), "\n"; | ||
| 19 | ?> | ||
| 20 | --EXPECTF-- | ||
| 21 | 13M | ||
| 22 | 14M | ||
| 23 | 15M | ||
| 24 | 16M | ||
| 25 | ALERT - script tried to increase memory_limit to 17825792 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file '%s', line 6) | ||
| 26 | 16M | ||
| 27 | ALERT - script tried to increase memory_limit to 18874368 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file '%s', line 7) | ||
| 28 | 16M | ||
| 29 | |||
diff --git a/tests/executor/memory_limit_64bit.phpt b/tests/executor/memory_limit_64bit.phpt new file mode 100644 index 0000000..35be80b --- /dev/null +++ b/tests/executor/memory_limit_64bit.phpt | |||
| @@ -0,0 +1,43 @@ | |||
| 1 | --TEST-- | ||
| 2 | memory_limit test: set suhosin hard_limit to normal limit (64 bit) | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!function_exists("memory_get_usage")) print "skip PHP not compiled with memory_limit support"; | ||
| 5 | else if (PHP_INT_SIZE != 8) print "skip This is not a 64 bit system"; | ||
| 6 | ?> | ||
| 7 | --INI-- | ||
| 8 | memory_limit=16M | ||
| 9 | suhosin.memory_limit=0 | ||
| 10 | suhosin.log.syslog=0 | ||
| 11 | suhosin.log.script=0 | ||
| 12 | suhosin.log.sapi=2 | ||
| 13 | --FILE-- | ||
| 14 | <?php | ||
| 15 | ini_set("memory_limit", "13M"); echo ini_get("memory_limit"), "\n"; | ||
| 16 | ini_set("memory_limit", "14M"); echo ini_get("memory_limit"), "\n"; | ||
| 17 | ini_set("memory_limit", "15M"); echo ini_get("memory_limit"), "\n"; | ||
| 18 | ini_set("memory_limit", "16M"); echo ini_get("memory_limit"), "\n"; | ||
| 19 | ini_set("memory_limit", "17M"); echo ini_get("memory_limit"), "\n"; | ||
| 20 | ini_set("memory_limit", "18M"); echo ini_get("memory_limit"), "\n"; | ||
| 21 | ini_set("memory_limit", "2G"); echo ini_get("memory_limit"), "\n"; | ||
| 22 | ini_set("memory_limit", "3G"); echo ini_get("memory_limit"), "\n"; | ||
| 23 | ini_set("memory_limit", "4G"); echo ini_get("memory_limit"), "\n"; | ||
| 24 | ini_set("memory_limit", "5G"); echo ini_get("memory_limit"), "\n"; | ||
| 25 | ?> | ||
| 26 | --EXPECTF-- | ||
| 27 | 13M | ||
| 28 | 14M | ||
| 29 | 15M | ||
| 30 | 16M | ||
| 31 | ALERT - script tried to increase memory_limit to 17825792 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file '%s', line 6) | ||
| 32 | 16M | ||
| 33 | ALERT - script tried to increase memory_limit to 18874368 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file '%s', line 7) | ||
| 34 | 16M | ||
| 35 | ALERT - script tried to increase memory_limit to 2147483648 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file '%s', line 8) | ||
| 36 | 16M | ||
| 37 | ALERT - script tried to increase memory_limit to 3221225472 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file '%s', line 9) | ||
| 38 | 16M | ||
| 39 | ALERT - script tried to increase memory_limit to 4294967296 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file '%s', line 10) | ||
| 40 | 16M | ||
| 41 | ALERT - script tried to increase memory_limit to 5368709120 bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file '%s', line 11) | ||
| 42 | 16M | ||
| 43 | |||
diff --git a/tests/executor/memory_limit_64bit_10G.phpt b/tests/executor/memory_limit_64bit_10G.phpt new file mode 100644 index 0000000..284db50 --- /dev/null +++ b/tests/executor/memory_limit_64bit_10G.phpt | |||
| @@ -0,0 +1,36 @@ | |||
| 1 | --TEST-- | ||
| 2 | memory_limit test: set suhosin hard_limit to normal limit (64 bit) - 10 GB | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!function_exists("memory_get_usage")) print "skip PHP not compiled with memory_limit support"; | ||
| 5 | else if (PHP_INT_SIZE != 8) print "skip This is not a 64 bit system"; | ||
| 6 | ?> | ||
| 7 | --INI-- | ||
| 8 | memory_limit=10G | ||
| 9 | suhosin.memory_limit=0 | ||
| 10 | suhosin.log.syslog=0 | ||
| 11 | suhosin.log.script=0 | ||
| 12 | suhosin.log.sapi=2 | ||
| 13 | --FILE-- | ||
| 14 | <?php | ||
| 15 | ini_set("memory_limit", "13M"); echo ini_get("memory_limit"), "\n"; | ||
| 16 | ini_set("memory_limit", "14M"); echo ini_get("memory_limit"), "\n"; | ||
| 17 | ini_set("memory_limit", "15M"); echo ini_get("memory_limit"), "\n"; | ||
| 18 | ini_set("memory_limit", "16M"); echo ini_get("memory_limit"), "\n"; | ||
| 19 | ini_set("memory_limit", "17M"); echo ini_get("memory_limit"), "\n"; | ||
| 20 | ini_set("memory_limit", "18M"); echo ini_get("memory_limit"), "\n"; | ||
| 21 | ini_set("memory_limit", "2G"); echo ini_get("memory_limit"), "\n"; | ||
| 22 | ini_set("memory_limit", "3G"); echo ini_get("memory_limit"), "\n"; | ||
| 23 | ini_set("memory_limit", "4G"); echo ini_get("memory_limit"), "\n"; | ||
| 24 | ini_set("memory_limit", "5G"); echo ini_get("memory_limit"), "\n"; | ||
| 25 | ?> | ||
| 26 | --EXPECTF-- | ||
| 27 | 13M | ||
| 28 | 14M | ||
| 29 | 15M | ||
| 30 | 16M | ||
| 31 | 17M | ||
| 32 | 18M | ||
| 33 | 2G | ||
| 34 | 3G | ||
| 35 | 4G | ||
| 36 | 5G | ||
diff --git a/tests/executor/memory_limit_negative.phpt b/tests/executor/memory_limit_negative.phpt new file mode 100644 index 0000000..7fad546 --- /dev/null +++ b/tests/executor/memory_limit_negative.phpt | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | --TEST-- | ||
| 2 | memory_limit test: trying to set memory_limit to a negative value | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!function_exists("memory_get_usage")) print "skip PHP not compiled with memory_limit support"; ?> | ||
| 5 | --INI-- | ||
| 6 | memory_limit=16M | ||
| 7 | suhosin.memory_limit=17M | ||
| 8 | suhosin.log.syslog=0 | ||
| 9 | suhosin.log.script=0 | ||
| 10 | suhosin.log.sapi=2 | ||
| 11 | --FILE-- | ||
| 12 | <?php | ||
| 13 | ini_set("memory_limit", "-200000"); echo ini_get("memory_limit"), "\n"; | ||
| 14 | ?> | ||
| 15 | --EXPECTF-- | ||
| 16 | ALERT - script tried to disable memory_limit by setting it to a negative value -%d bytes which is not allowed (attacker 'REMOTE_ADDR not set', file '%s', line 2) | ||
| 17 | 16M | ||
| 18 | |||
diff --git a/tests/executor/memory_limit_other_hardlimit.phpt b/tests/executor/memory_limit_other_hardlimit.phpt new file mode 100644 index 0000000..cac11dc --- /dev/null +++ b/tests/executor/memory_limit_other_hardlimit.phpt | |||
| @@ -0,0 +1,28 @@ | |||
| 1 | --TEST-- | ||
| 2 | memory_limit test: set suhosin hard_limit to normal limit + 1M | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!function_exists("memory_get_usage")) print "skip PHP not compiled with memory_limit support"; ?> | ||
| 5 | --INI-- | ||
| 6 | memory_limit=16M | ||
| 7 | suhosin.memory_limit=17M | ||
| 8 | suhosin.log.syslog=0 | ||
| 9 | suhosin.log.script=0 | ||
| 10 | suhosin.log.sapi=2 | ||
| 11 | --FILE-- | ||
| 12 | <?php | ||
| 13 | ini_set("memory_limit", "13M"); echo ini_get("memory_limit"), "\n"; | ||
| 14 | ini_set("memory_limit", "14M"); echo ini_get("memory_limit"), "\n"; | ||
| 15 | ini_set("memory_limit", "15M"); echo ini_get("memory_limit"), "\n"; | ||
| 16 | ini_set("memory_limit", "16M"); echo ini_get("memory_limit"), "\n"; | ||
| 17 | ini_set("memory_limit", "17M"); echo ini_get("memory_limit"), "\n"; | ||
| 18 | ini_set("memory_limit", "18M"); echo ini_get("memory_limit"), "\n"; | ||
| 19 | ?> | ||
| 20 | --EXPECTF-- | ||
| 21 | 13M | ||
| 22 | 14M | ||
| 23 | 15M | ||
| 24 | 16M | ||
| 25 | 17M | ||
| 26 | ALERT - script tried to increase memory_limit to %d bytes which is above the allowed value (attacker 'REMOTE_ADDR not set', file '%s', line 7) | ||
| 27 | 17M | ||
| 28 | |||
