summaryrefslogtreecommitdiff
path: root/src/sp_config.h
diff options
context:
space:
mode:
authorjvoisin2017-10-01 20:54:03 +0200
committerjvoisin2017-10-02 15:20:53 +0200
commit36c06637ad262f0e5fc0c8e70f4c1fc6a565f056 (patch)
treeea55e322dd3e02ae7fdc2f35a815a9ba8330f301 /src/sp_config.h
parent7418a0e1e9b02aef8535e33d30cfb8f082680f69 (diff)
First pass for #9
Diffstat (limited to 'src/sp_config.h')
-rw-r--r--src/sp_config.h39
1 files changed, 18 insertions, 21 deletions
diff --git a/src/sp_config.h b/src/sp_config.h
index 8d41333..34096ce 100644
--- a/src/sp_config.h
+++ b/src/sp_config.h
@@ -15,16 +15,16 @@ typedef enum {
15} sp_type; 15} sp_type;
16 16
17typedef enum { 17typedef enum {
18 SP_PHP_TYPE_UNDEF = IS_UNDEF, 18 SP_PHP_TYPE_UNDEF = IS_UNDEF,
19 SP_PHP_TYPE_NULL = IS_NULL, 19 SP_PHP_TYPE_NULL = IS_NULL,
20 SP_PHP_TYPE_FALSE = IS_FALSE, 20 SP_PHP_TYPE_FALSE = IS_FALSE,
21 SP_PHP_TYPE_TRUE = IS_TRUE, 21 SP_PHP_TYPE_TRUE = IS_TRUE,
22 SP_PHP_TYPE_LONG = IS_LONG, 22 SP_PHP_TYPE_LONG = IS_LONG,
23 SP_PHP_TYPE_DOUBLE = IS_DOUBLE, 23 SP_PHP_TYPE_DOUBLE = IS_DOUBLE,
24 SP_PHP_TYPE_STRING = IS_STRING, 24 SP_PHP_TYPE_STRING = IS_STRING,
25 SP_PHP_TYPE_ARRAY = IS_ARRAY, 25 SP_PHP_TYPE_ARRAY = IS_ARRAY,
26 SP_PHP_TYPE_OBJECT = IS_OBJECT, 26 SP_PHP_TYPE_OBJECT = IS_OBJECT,
27 SP_PHP_TYPE_RESOURCE = IS_RESOURCE, 27 SP_PHP_TYPE_RESOURCE = IS_RESOURCE,
28 SP_PHP_TYPE_REFERENCE = IS_REFERENCE 28 SP_PHP_TYPE_REFERENCE = IS_REFERENCE
29} sp_php_type; 29} sp_php_type;
30 30
@@ -37,7 +37,10 @@ typedef struct {
37 uint8_t mask; 37 uint8_t mask;
38} sp_cidr; 38} sp_cidr;
39 39
40typedef struct { char *encryption_key; } sp_config_encryption_key; 40typedef struct {
41 char *encryption_key;
42 char *cookies_env_var;
43} sp_config_global;
41 44
42typedef struct { 45typedef struct {
43 bool enable; 46 bool enable;
@@ -52,11 +55,7 @@ typedef struct { bool enable; } sp_config_auto_cookie_secure;
52 55
53typedef struct { bool enable; } sp_config_disable_xxe; 56typedef struct { bool enable; } sp_config_disable_xxe;
54 57
55typedef struct { 58typedef struct { HashTable *names; } sp_config_cookie_encryption;
56 HashTable *names;
57 uint32_t mask_ipv4;
58 uint32_t mask_ipv6;
59} sp_config_cookie_encryption;
60 59
61typedef struct { 60typedef struct {
62 bool enable; 61 bool enable;
@@ -81,7 +80,7 @@ typedef struct {
81 char *ret; 80 char *ret;
82 pcre *r_ret; 81 pcre *r_ret;
83 sp_php_type ret_type; 82 sp_php_type ret_type;
84 83
85 pcre *regexp; 84 pcre *regexp;
86 char *value; 85 char *value;
87 86
@@ -122,7 +121,7 @@ typedef struct {
122 sp_config_readonly_exec *config_readonly_exec; 121 sp_config_readonly_exec *config_readonly_exec;
123 sp_config_upload_validation *config_upload_validation; 122 sp_config_upload_validation *config_upload_validation;
124 sp_config_cookie_encryption *config_cookie_encryption; 123 sp_config_cookie_encryption *config_cookie_encryption;
125 sp_config_encryption_key *config_snuffleupagus; 124 sp_config_global *config_snuffleupagus;
126 sp_config_auto_cookie_secure *config_auto_cookie_secure; 125 sp_config_auto_cookie_secure *config_auto_cookie_secure;
127 sp_config_global_strict *config_global_strict; 126 sp_config_global_strict *config_global_strict;
128 sp_config_disable_xxe *config_disable_xxe; 127 sp_config_disable_xxe *config_disable_xxe;
@@ -185,11 +184,10 @@ typedef struct {
185 184
186// cookies encryption 185// cookies encryption
187#define SP_TOKEN_NAME ".cookie(" 186#define SP_TOKEN_NAME ".cookie("
188#define SP_TOKEN_MASK_IPV4 ".mask_ipv4("
189#define SP_TOKEN_MASK_IPV6 ".mask_ipv6("
190 187
191// Global configuration options 188// Global configuration options
192#define SP_TOKEN_ENCRYPTION_KEY ".secret_key(" 189#define SP_TOKEN_ENCRYPTION_KEY ".secret_key("
190#define SP_TOKEN_ENV_VAR ".cookie_env_var("
193 191
194// upload_validator 192// upload_validator
195#define SP_TOKEN_UPLOAD_SCRIPT ".script(" 193#define SP_TOKEN_UPLOAD_SCRIPT ".script("
@@ -200,7 +198,6 @@ int parse_array(sp_disabled_function *);
200int parse_str(char *restrict, char *restrict, void *); 198int parse_str(char *restrict, char *restrict, void *);
201int parse_regexp(char *restrict, char *restrict, void *); 199int parse_regexp(char *restrict, char *restrict, void *);
202int parse_empty(char *restrict, char *restrict, void *); 200int parse_empty(char *restrict, char *restrict, void *);
203int parse_int(char *restrict, char *restrict, void *);
204int parse_cidr(char *restrict, char *restrict, void *); 201int parse_cidr(char *restrict, char *restrict, void *);
205int parse_php_type(char *restrict, char *restrict, void *); 202int parse_php_type(char *restrict, char *restrict, void *);
206 203