diff options
Diffstat (limited to 'src/tests/unserialize')
| -rw-r--r-- | src/tests/unserialize/config/config_serialize.ini | 2 | ||||
| -rw-r--r-- | src/tests/unserialize/config/config_serialize_sim.ini | 2 | ||||
| -rw-r--r-- | src/tests/unserialize/config/dump_unserialize.ini | 2 | ||||
| -rw-r--r-- | src/tests/unserialize/dump_unserialize.phpt | 39 | ||||
| -rw-r--r-- | src/tests/unserialize/serialize.phpt | 13 | ||||
| -rw-r--r-- | src/tests/unserialize/unserialize.phpt | 13 | ||||
| -rw-r--r-- | src/tests/unserialize/unserialize_fail.phpt | 15 | ||||
| -rw-r--r-- | src/tests/unserialize/unserialize_sim.phpt | 18 | ||||
| -rw-r--r-- | src/tests/unserialize/unserialize_wrong_call.phpt | 14 |
9 files changed, 118 insertions, 0 deletions
diff --git a/src/tests/unserialize/config/config_serialize.ini b/src/tests/unserialize/config/config_serialize.ini new file mode 100644 index 0000000..f2c1699 --- /dev/null +++ b/src/tests/unserialize/config/config_serialize.ini | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | sp.global.secret_key("abcdef"); | ||
| 2 | sp.unserialize_hmac.enable(); \ No newline at end of file | ||
diff --git a/src/tests/unserialize/config/config_serialize_sim.ini b/src/tests/unserialize/config/config_serialize_sim.ini new file mode 100644 index 0000000..7f015e0 --- /dev/null +++ b/src/tests/unserialize/config/config_serialize_sim.ini | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | sp.global.secret_key("abcdef"); | ||
| 2 | sp.unserialize_hmac.enable().simulation(); | ||
diff --git a/src/tests/unserialize/config/dump_unserialize.ini b/src/tests/unserialize/config/dump_unserialize.ini new file mode 100644 index 0000000..4352a3e --- /dev/null +++ b/src/tests/unserialize/config/dump_unserialize.ini | |||
| @@ -0,0 +1,2 @@ | |||
| 1 | sp.global.secret_key("abcdef"); | ||
| 2 | sp.unserialize_hmac.enable().dump("/tmp/dump_result/"); | ||
diff --git a/src/tests/unserialize/dump_unserialize.phpt b/src/tests/unserialize/dump_unserialize.phpt new file mode 100644 index 0000000..4b54cbb --- /dev/null +++ b/src/tests/unserialize/dump_unserialize.phpt | |||
| @@ -0,0 +1,39 @@ | |||
| 1 | --TEST-- | ||
| 2 | Dump unserialize | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php | ||
| 5 | if (!extension_loaded("snuffleupagus")) { | ||
| 6 | print "skip"; | ||
| 7 | } | ||
| 8 | ?> | ||
| 9 | --POST-- | ||
| 10 | post_a=data_post_a&post_b=data_post_b | ||
| 11 | --GET-- | ||
| 12 | get_a=data_get_a&get_b=data_get_b | ||
| 13 | --COOKIE-- | ||
| 14 | cookie_a=data_cookie_a&cookie_b=data_cookie_b | ||
| 15 | --INI-- | ||
| 16 | sp.configuration_file={PWD}/config/dump_unserialize.ini | ||
| 17 | --FILE-- | ||
| 18 | <?php | ||
| 19 | @mkdir("/tmp/dump_result/"); | ||
| 20 | foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) { | ||
| 21 | @unlink($dump); | ||
| 22 | } | ||
| 23 | |||
| 24 | echo "1\n"; | ||
| 25 | var_dump(unserialize('s:1:"a";alyualskdufyhalkdjsfhalkjdhflaksjdfhlkasdhflkahdawkuerylksjdfhlkssjgdflaksjdhflkasjdf')); | ||
| 26 | $filename = glob('/tmp/dump_result/sp_dump.*')[0]; | ||
| 27 | $res = file($filename); | ||
| 28 | if ($res[2] != "GET:get_a='data_get_a' get_b='data_get_b' \n") { | ||
| 29 | echo "1\n"; | ||
| 30 | } elseif ($res[3] != "POST:post_a='data_post_a' post_b='data_post_b' \n") { | ||
| 31 | echo "2\n"; | ||
| 32 | } elseif ($res[4] != "COOKIE:cookie_a='data_cookie_a&cookie_b=data_cookie_b' \n") { | ||
| 33 | echo "3\n"; | ||
| 34 | } | ||
| 35 | ?> | ||
| 36 | --EXPECTF-- | ||
| 37 | 1 | ||
| 38 | |||
| 39 | Fatal error: [snuffleupagus][unserialize] Invalid HMAC for s:1:"a";alyualskdufyhalkdjsfh in %a/dump_unserialize.php on line 8 | ||
diff --git a/src/tests/unserialize/serialize.phpt b/src/tests/unserialize/serialize.phpt new file mode 100644 index 0000000..e93dbaf --- /dev/null +++ b/src/tests/unserialize/serialize.phpt | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | --TEST-- | ||
| 2 | Test serialize hmac | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | echo serialize("a"); | ||
| 10 | ?> | ||
| 11 | --EXPECT-- | ||
| 12 | s:1:"a";650609b417904d0d9bbf1fc44a975d13ecdf6b02b715c1a06271fb3b673f25b1 | ||
| 13 | |||
diff --git a/src/tests/unserialize/unserialize.phpt b/src/tests/unserialize/unserialize.phpt new file mode 100644 index 0000000..b1db915 --- /dev/null +++ b/src/tests/unserialize/unserialize.phpt | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | --TEST-- | ||
| 2 | Unserialize ok | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | $a=serialize("a"); | ||
| 10 | var_dump(unserialize($a)); | ||
| 11 | ?> | ||
| 12 | --EXPECT-- | ||
| 13 | string(1) "a" | ||
diff --git a/src/tests/unserialize/unserialize_fail.phpt b/src/tests/unserialize/unserialize_fail.phpt new file mode 100644 index 0000000..c6411a5 --- /dev/null +++ b/src/tests/unserialize/unserialize_fail.phpt | |||
| @@ -0,0 +1,15 @@ | |||
| 1 | --TEST-- | ||
| 2 | Unserialize fail | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | var_dump(unserialize('s:1:"a";')); | ||
| 10 | var_dump(unserialize('s:1:"a";alyualskdufyhalkdjsfhalkjdhflaksjdfhlkasdhflkahdawkuerylksjdfhlkssjgdflaksjdhflkasjdf')); | ||
| 11 | var_dump(unserialize('s:1:"a";dslfjklfjfkjfdjffjfjads')); | ||
| 12 | var_dump(unserialize(1,2,3,4)); | ||
| 13 | ?> | ||
| 14 | --EXPECTF-- | ||
| 15 | Fatal error: [snuffleupagus][unserialize] The serialized object is too small. in %a/unserialize_fail.php on line 2 \ No newline at end of file | ||
diff --git a/src/tests/unserialize/unserialize_sim.phpt b/src/tests/unserialize/unserialize_sim.phpt new file mode 100644 index 0000000..d919af1 --- /dev/null +++ b/src/tests/unserialize/unserialize_sim.phpt | |||
| @@ -0,0 +1,18 @@ | |||
| 1 | --TEST-- | ||
| 2 | Unserialize ok | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize_sim.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | $a=serialize("a"); | ||
| 10 | echo $a; | ||
| 11 | var_dump(unserialize($a)); | ||
| 12 | var_dump(unserialize('s:1:"a";alyualskdufyhalkdjsfhalkjdhflaksjdfhlkasdhflkahdawkuerylksjdfhlkssjgdflaksjdh1337sjdf')); | ||
| 13 | ?> | ||
| 14 | --EXPECTF-- | ||
| 15 | s:1:"a";650609b417904d0d9bbf1fc44a975d13ecdf6b02b715c1a06271fb3b673f25b1string(1) "a" | ||
| 16 | |||
| 17 | Warning: [snuffleupagus][unserialize] Invalid HMAC for s:1:"a";alyualskdufyhalkdjsfh in %a/unserialize_sim.php on line 5 | ||
| 18 | string(1) "a" | ||
diff --git a/src/tests/unserialize/unserialize_wrong_call.phpt b/src/tests/unserialize/unserialize_wrong_call.phpt new file mode 100644 index 0000000..729d020 --- /dev/null +++ b/src/tests/unserialize/unserialize_wrong_call.phpt | |||
| @@ -0,0 +1,14 @@ | |||
| 1 | --TEST-- | ||
| 2 | Unserialize ok, but called with the wrong numeber of aguments | ||
| 3 | --SKIPIF-- | ||
| 4 | <?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> | ||
| 5 | --INI-- | ||
| 6 | sp.configuration_file={PWD}/config/config_serialize.ini | ||
| 7 | --FILE-- | ||
| 8 | <?php | ||
| 9 | $a=serialize("a"); | ||
| 10 | var_dump(unserialize($a, "too", "many", "aaaaaaaarguments!")); | ||
| 11 | ?> | ||
| 12 | --EXPECTF-- | ||
| 13 | Warning: unserialize() expects at most 2 parameters, 4 given in %a/unserialize_wrong_call.php on line %d | ||
| 14 | bool(false) | ||
