diff options
| author | jvoisin | 2017-10-01 20:54:03 +0200 |
|---|---|---|
| committer | jvoisin | 2017-10-02 15:20:53 +0200 |
| commit | 36c06637ad262f0e5fc0c8e70f4c1fc6a565f056 (patch) | |
| tree | ea55e322dd3e02ae7fdc2f35a815a9ba8330f301 /src/sp_config.h | |
| parent | 7418a0e1e9b02aef8535e33d30cfb8f082680f69 (diff) | |
First pass for #9
Diffstat (limited to 'src/sp_config.h')
| -rw-r--r-- | src/sp_config.h | 39 |
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 | ||
| 17 | typedef enum { | 17 | typedef 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 | ||
| 40 | typedef struct { char *encryption_key; } sp_config_encryption_key; | 40 | typedef struct { |
| 41 | char *encryption_key; | ||
| 42 | char *cookies_env_var; | ||
| 43 | } sp_config_global; | ||
| 41 | 44 | ||
| 42 | typedef struct { | 45 | typedef struct { |
| 43 | bool enable; | 46 | bool enable; |
| @@ -52,11 +55,7 @@ typedef struct { bool enable; } sp_config_auto_cookie_secure; | |||
| 52 | 55 | ||
| 53 | typedef struct { bool enable; } sp_config_disable_xxe; | 56 | typedef struct { bool enable; } sp_config_disable_xxe; |
| 54 | 57 | ||
| 55 | typedef struct { | 58 | typedef 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 | ||
| 61 | typedef struct { | 60 | typedef 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 *); | |||
| 200 | int parse_str(char *restrict, char *restrict, void *); | 198 | int parse_str(char *restrict, char *restrict, void *); |
| 201 | int parse_regexp(char *restrict, char *restrict, void *); | 199 | int parse_regexp(char *restrict, char *restrict, void *); |
| 202 | int parse_empty(char *restrict, char *restrict, void *); | 200 | int parse_empty(char *restrict, char *restrict, void *); |
| 203 | int parse_int(char *restrict, char *restrict, void *); | ||
| 204 | int parse_cidr(char *restrict, char *restrict, void *); | 201 | int parse_cidr(char *restrict, char *restrict, void *); |
| 205 | int parse_php_type(char *restrict, char *restrict, void *); | 202 | int parse_php_type(char *restrict, char *restrict, void *); |
| 206 | 203 | ||
