diff options
| author | Stefan Esser | 2014-06-09 10:37:10 +0200 |
|---|---|---|
| committer | Stefan Esser | 2014-06-09 10:37:10 +0200 |
| commit | fb0f51e922b597a46d1065437f716c3179e5506c (patch) | |
| tree | 5958576a1aa087c7bfbdf76c6ef632d261905bb6 /suhosin.c | |
| parent | 83bf21540d308a740c8835c4c3a104a5d2f761c5 (diff) | |
Added various improvements to rand()/mt_rand() protection
Diffstat (limited to 'suhosin.c')
| -rw-r--r-- | suhosin.c | 14 |
1 files changed, 13 insertions, 1 deletions
| @@ -1015,10 +1015,11 @@ PHP_INI_BEGIN() | |||
| 1015 | ZEND_INI_ENTRY("suhosin.cookie.cryptlist", NULL, ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdate_cookie_cryptlist) | 1015 | ZEND_INI_ENTRY("suhosin.cookie.cryptlist", NULL, ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdate_cookie_cryptlist) |
| 1016 | ZEND_INI_ENTRY("suhosin.cookie.plainlist", NULL, ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdate_cookie_plainlist) | 1016 | ZEND_INI_ENTRY("suhosin.cookie.plainlist", NULL, ZEND_INI_PERDIR|ZEND_INI_SYSTEM, OnUpdate_cookie_plainlist) |
| 1017 | 1017 | ||
| 1018 | |||
| 1019 | STD_ZEND_INI_BOOLEAN("suhosin.server.encode", "1", ZEND_INI_SYSTEM, OnUpdateBool, server_encode,zend_suhosin_globals, suhosin_globals) | 1018 | STD_ZEND_INI_BOOLEAN("suhosin.server.encode", "1", ZEND_INI_SYSTEM, OnUpdateBool, server_encode,zend_suhosin_globals, suhosin_globals) |
| 1020 | STD_ZEND_INI_BOOLEAN("suhosin.server.strip", "1", ZEND_INI_SYSTEM, OnUpdateBool, server_strip,zend_suhosin_globals, suhosin_globals) | 1019 | STD_ZEND_INI_BOOLEAN("suhosin.server.strip", "1", ZEND_INI_SYSTEM, OnUpdateBool, server_strip,zend_suhosin_globals, suhosin_globals) |
| 1021 | 1020 | ||
| 1021 | STD_PHP_INI_ENTRY("suhosin.rand.seedingkey", "", ZEND_INI_SYSTEM|ZEND_INI_PERDIR, OnUpdateString, seedingkey, zend_suhosin_globals, suhosin_globals) | ||
| 1022 | STD_ZEND_INI_BOOLEAN("suhosin.rand.reseed_every_request", "0", ZEND_INI_SYSTEM|ZEND_INI_PERDIR, OnUpdateMiscBool, reseed_every_request, zend_suhosin_globals, suhosin_globals) | ||
| 1022 | STD_ZEND_INI_BOOLEAN("suhosin.srand.ignore", "1", ZEND_INI_SYSTEM|ZEND_INI_PERDIR, OnUpdateMiscBool, srand_ignore,zend_suhosin_globals, suhosin_globals) | 1023 | STD_ZEND_INI_BOOLEAN("suhosin.srand.ignore", "1", ZEND_INI_SYSTEM|ZEND_INI_PERDIR, OnUpdateMiscBool, srand_ignore,zend_suhosin_globals, suhosin_globals) |
| 1023 | STD_ZEND_INI_BOOLEAN("suhosin.mt_srand.ignore", "1", ZEND_INI_SYSTEM|ZEND_INI_PERDIR, OnUpdateMiscBool, mt_srand_ignore,zend_suhosin_globals, suhosin_globals) | 1024 | STD_ZEND_INI_BOOLEAN("suhosin.mt_srand.ignore", "1", ZEND_INI_SYSTEM|ZEND_INI_PERDIR, OnUpdateMiscBool, mt_srand_ignore,zend_suhosin_globals, suhosin_globals) |
| 1024 | 1025 | ||
| @@ -1239,6 +1240,11 @@ PHP_RSHUTDOWN_FUNCTION(suhosin) | |||
| 1239 | 1240 | ||
| 1240 | SUHOSIN_G(abort_request) = 0; | 1241 | SUHOSIN_G(abort_request) = 0; |
| 1241 | 1242 | ||
| 1243 | if (SUHOSIN_G(reseed_every_request)) { | ||
| 1244 | SUHOSIN_G(r_is_seeded) = 0; | ||
| 1245 | SUHOSIN_G(mt_is_seeded) = 0; | ||
| 1246 | } | ||
| 1247 | |||
| 1242 | if (SUHOSIN_G(decrypted_cookie)) { | 1248 | if (SUHOSIN_G(decrypted_cookie)) { |
| 1243 | efree(SUHOSIN_G(decrypted_cookie)); | 1249 | efree(SUHOSIN_G(decrypted_cookie)); |
| 1244 | SUHOSIN_G(decrypted_cookie)=NULL; | 1250 | SUHOSIN_G(decrypted_cookie)=NULL; |
| @@ -1301,6 +1307,9 @@ PHP_MINFO_FUNCTION(suhosin) | |||
| 1301 | if (zend_hash_find(EG(ini_directives), "suhosin.session.cryptkey", sizeof("suhosin.session.cryptkey"), (void **) &i)==SUCCESS) { | 1307 | if (zend_hash_find(EG(ini_directives), "suhosin.session.cryptkey", sizeof("suhosin.session.cryptkey"), (void **) &i)==SUCCESS) { |
| 1302 | i->displayer = suhosin_ini_displayer; | 1308 | i->displayer = suhosin_ini_displayer; |
| 1303 | } | 1309 | } |
| 1310 | if (zend_hash_find(EG(ini_directives), "suhosin.rand.seedingkey", sizeof("suhosin.rand.seedingkey"), (void **) &i)==SUCCESS) { | ||
| 1311 | i->displayer = suhosin_ini_displayer; | ||
| 1312 | } | ||
| 1304 | } | 1313 | } |
| 1305 | 1314 | ||
| 1306 | DISPLAY_INI_ENTRIES(); | 1315 | DISPLAY_INI_ENTRIES(); |
| @@ -1314,6 +1323,9 @@ PHP_MINFO_FUNCTION(suhosin) | |||
| 1314 | if (zend_hash_find(EG(ini_directives), "suhosin.session.cryptkey", sizeof("suhosin.session.cryptkey"), (void **) &i)==SUCCESS) { | 1323 | if (zend_hash_find(EG(ini_directives), "suhosin.session.cryptkey", sizeof("suhosin.session.cryptkey"), (void **) &i)==SUCCESS) { |
| 1315 | i->displayer = NULL; | 1324 | i->displayer = NULL; |
| 1316 | } | 1325 | } |
| 1326 | if (zend_hash_find(EG(ini_directives), "suhosin.rand.seedingkey", sizeof("suhosin.rand.seedingkey"), (void **) &i)==SUCCESS) { | ||
| 1327 | i->displayer = NULL; | ||
| 1328 | } | ||
| 1317 | } | 1329 | } |
| 1318 | 1330 | ||
| 1319 | } | 1331 | } |
