summaryrefslogtreecommitdiff
path: root/php_suhosin7.h
diff options
context:
space:
mode:
authorBen Fuhrmannek2016-03-07 23:29:21 +0100
committerBen Fuhrmannek2016-03-07 23:29:21 +0100
commita17a53b490bd5127a7ec67063a31b186e6956805 (patch)
treef64e5e866940e47b6c054f4bbf9fa342377a7517 /php_suhosin7.h
parentf2788a5543f72cdbe5fafd95ea7b37fab06745e3 (diff)
session support
Diffstat (limited to 'php_suhosin7.h')
-rw-r--r--php_suhosin7.h16
1 files changed, 16 insertions, 0 deletions
diff --git a/php_suhosin7.h b/php_suhosin7.h
index cbde402..75244fe 100644
--- a/php_suhosin7.h
+++ b/php_suhosin7.h
@@ -71,6 +71,9 @@ extern zend_module_entry suhosin7_module_entry;
71// PHP_MINFO_FUNCTION(suhosin); 71// PHP_MINFO_FUNCTION(suhosin);
72 72
73#include "ext/standard/basic_functions.h" 73#include "ext/standard/basic_functions.h"
74#ifdef HAVE_PHP_SESSION
75#include "ext/session/php_session.h"
76#endif
74 77
75static inline int suhosin_is_protected_varname(char *var, int var_len) 78static inline int suhosin_is_protected_varname(char *var, int var_len)
76{ 79{
@@ -219,6 +222,15 @@ ZEND_BEGIN_MODULE_GLOBALS(suhosin7)
219 zend_bool no_more_cookie_variables; 222 zend_bool no_more_cookie_variables;
220 zend_bool no_more_uploads; 223 zend_bool no_more_uploads;
221 224
225 /* session */
226#ifdef HAVE_PHP_SESSION
227 void *s_module;
228 void *s_original_mod;
229 int (*old_s_read)(PS_READ_ARGS);
230 int (*old_s_write)(PS_WRITE_ARGS);
231 int (*old_s_destroy)(PS_DESTROY_ARGS);
232#endif
233
222 /* encryption */ 234 /* encryption */
223 BYTE fi[24],ri[24]; 235 BYTE fi[24],ri[24];
224 WORD fkey[120]; 236 WORD fkey[120];
@@ -377,6 +389,9 @@ void suhosin_hook_header_handler();
377void suhosin_unhook_header_handler(); 389void suhosin_unhook_header_handler();
378void suhosin_hook_execute(); 390void suhosin_hook_execute();
379// void suhosin_hook_sha256(); 391// void suhosin_hook_sha256();
392#ifdef HAVE_PHP_SESSION
393void suhosin_hook_session();
394#endif
380 395
381// ifilter.c 396// ifilter.c
382void suhosin_normalize_varname(char *varname); 397void suhosin_normalize_varname(char *varname);
@@ -390,6 +405,7 @@ char *suhosin_decrypt_single_cookie(char *name, int name_len, char *value, int v
390zend_string *suhosin_encrypt_string(char *str, int len, char *var, int vlen, char *key); 405zend_string *suhosin_encrypt_string(char *str, int len, char *var, int vlen, char *key);
391zend_string *suhosin_decrypt_string(char *str, int padded_len, char *var, int vlen, char *key, int check_ra); 406zend_string *suhosin_decrypt_string(char *str, int padded_len, char *var, int vlen, char *key, int check_ra);
392char *suhosin_generate_key(char *key, zend_bool ua, zend_bool dr, long raddr, char *cryptkey); 407char *suhosin_generate_key(char *key, zend_bool ua, zend_bool dr, long raddr, char *cryptkey);
408#define S7_GENERATE_KEY(type, keyvar) suhosin_generate_key(SUHOSIN7_G(type ## _cryptkey), SUHOSIN7_G(type ## _cryptua), SUHOSIN7_G(type ## _cryptdocroot), SUHOSIN7_G(type ## _cryptraddr), (char *)keyvar);
393 409
394// aes.c 410// aes.c
395void suhosin_aes_gentables(); 411void suhosin_aes_gentables();