diff options
| author | czaks <marcin@6irc.net> | 2016-05-05 06:43:22 +0200 |
|---|---|---|
| committer | czaks <marcin@6irc.net> | 2016-05-05 06:43:22 +0200 |
| commit | 7c3126866cd291d515ab5cc83d4635c3c95c6d85 (patch) | |
| tree | 8eb21f57b88e36c481da8f8a74c32ec52ce4f4ab /inc/polyfill.php | |
| parent | 2caad907557e38eb0172f96d1e740e1077e81267 (diff) | |
ease the migration process for the previous security patch (by introducing another migration); restore php 5.4 compatibility (introducing a polyfill system)
Diffstat (limited to 'inc/polyfill.php')
| -rw-r--r-- | inc/polyfill.php | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/inc/polyfill.php b/inc/polyfill.php new file mode 100644 index 00000000..ac40a00a --- /dev/null +++ b/inc/polyfill.php @@ -0,0 +1,28 @@ +<?php + +// PHP 5.4 + +if (!function_exists('hex2bin')) { + function hex2bin($data) { + return pack("H*" , $hex_string); + } +} + +// PHP 5.6 + +if (!function_exists('hash_equals')) { + function hash_equals($ours, $theirs) { + $ours = (string)$ours; + $theirs = (string)$theirs; + + $tlen = strlen($theirs); + $olen = strlen($ours); + + $answer = 0; + for ($i = 0; $i < $tlen; $i++) { + $answer |= ord($ours[$olen > $i ? $i : 0]) ^ ord($theirs[$i]); + } + + return $answer === 0 && $olen === $tlen; + } +} |
