1 #ifndef SIEVE_LIMITS_H 2 #define SIEVE_LIMITS_H 3 4 /* 5 * Scripts 6 */ 7 8 #define SIEVE_MAX_SCRIPT_NAME_LEN 256 9 10 #define SIEVE_DEFAULT_MAX_SCRIPT_SIZE (1 << 20) 11 12 #define SIEVE_MAX_LOOP_DEPTH 4 13 14 /* 15 * Lexer 16 */ 17 18 #define SIEVE_MAX_STRING_LEN (1 << 20) 19 #define SIEVE_MAX_IDENTIFIER_LEN 32 20 21 /* 22 * AST 23 */ 24 25 #define SIEVE_MAX_COMMAND_ARGUMENTS 32 26 #define SIEVE_MAX_BLOCK_NESTING 32 27 #define SIEVE_MAX_TEST_NESTING 32 28 29 /* 30 * Runtime 31 */ 32 33 #define SIEVE_MAX_MATCH_VALUES 32 34 #define SIEVE_HIGH_CPU_TIME_MSECS 1500 35 #define SIEVE_DEFAULT_MAX_CPU_TIME_SECS 30 36 #define SIEVE_DEFAULT_RESOURCE_USAGE_TIMEOUT_SECS (60 * 60) 37 38 /* 39 * Actions 40 */ 41 42 #define SIEVE_DEFAULT_MAX_ACTIONS 32 43 #define SIEVE_DEFAULT_MAX_REDIRECTS 4 44 45 #endif 46