summaryrefslogtreecommitdiff
path: root/src/tests
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests')
-rw-r--r--src/tests/broken_configuration/broken_conf.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf2.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_allow_broken_disabled.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_allow_broken_enabled.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_config_regexp.phpt9
-rw-r--r--src/tests/broken_configuration/broken_conf_config_regexp_no_closing_paren.phpt9
-rw-r--r--src/tests/broken_configuration/broken_conf_cookie_encryption_without_encryption_key.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_cookie_encryption_without_env_var.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_cookie_name_and_regexp.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_enable_disable.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_enable_disable2.phpt9
-rw-r--r--src/tests/broken_configuration/broken_conf_eval.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_expecting_bool.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_invalid_cidr.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_invalid_cidr6.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_invalid_cidr6_no_slash.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_invalid_cidr6_too_big.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_invalid_cidr_value.phpt9
-rw-r--r--src/tests/broken_configuration/broken_conf_invalid_filename.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_invalid_log_media.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_invalid_type.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_key_value.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_line_empty_string.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_line_no_closing.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_1.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_10.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_11.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_12.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_13.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_14.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_15.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_16.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_2.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_3.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_4.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_5.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_6.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_7.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_8.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_local_var_9.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_lots_of_quotes.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_missing_script.phpt7
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive10.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive11.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive12.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive2.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive3.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive4.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive5.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive6.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive7.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive8.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_mutually_exclusive9.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_no_cookie_action.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_no_cookie_name.phpt4
-rw-r--r--src/tests/broken_configuration/broken_conf_nonexisting_script.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_quotes.phpt5
-rw-r--r--src/tests/broken_configuration/broken_conf_readonly_exec.phpt7
-rw-r--r--src/tests/broken_configuration/broken_conf_samesite.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_session_encryption.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_session_encryption_without_encryption_key.phpt9
-rw-r--r--src/tests/broken_configuration/broken_conf_session_encryption_without_env_var.phpt9
-rw-r--r--src/tests/broken_configuration/broken_conf_shown_in_phpinfo.phpt9
-rw-r--r--src/tests/broken_configuration/broken_conf_truncated.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_unserialize.phpt7
-rw-r--r--src/tests/broken_configuration/broken_conf_upload_validation.phpt9
-rw-r--r--src/tests/broken_configuration/broken_conf_weird_keyword.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_wrapper_whitelist.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_wrong_quotes.phpt6
-rw-r--r--src/tests/broken_configuration/broken_conf_wrong_type.phpt4
-rw-r--r--src/tests/broken_configuration/broken_regexp.phpt9
-rw-r--r--src/tests/broken_configuration/broken_unmatching_brackets.phpt5
-rw-r--r--src/tests/broken_configuration/config/broken_conf_cookie_name_and_regexp.ini2
-rw-r--r--src/tests/broken_configuration/config/broken_conf_enable_disable.ini (renamed from src/tests/broken_configuration/config/borken_conf_enable_disable.ini)0
-rw-r--r--src/tests/broken_configuration/config/broken_conf_enable_disable2.ini3
-rw-r--r--src/tests/broken_configuration/config/broken_conf_upload_validation.ini (renamed from src/tests/broken_configuration/config/borken_conf_upload_validation.ini)0
-rw-r--r--src/tests/broken_configuration/config/config_encrypted_cookies_noname.ini2
-rw-r--r--src/tests/broken_configuration/config/config_encrypted_regexp_cookies_bad_regexp.ini2
-rw-r--r--src/tests/broken_configuration/config/config_encryption_key_short.ini1
-rw-r--r--src/tests/broken_configuration/encrypt_key_too_short.phpt22
-rw-r--r--src/tests/broken_configuration/encrypt_regexp_cookies_bad_regexp.phpt10
-rw-r--r--src/tests/broken_configuration_php8/broken_conf.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf2.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_allow_broken_disabled.phpt18
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_allow_broken_enabled.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_config_regexp.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_config_regexp_no_closing_paren.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_cookie_encryption_without_encryption_key.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_cookie_encryption_without_env_var.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_cookie_name_and_regexp.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_enable_disable.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_eval.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_expecting_bool.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_invalid_cidr.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_invalid_cidr6.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_invalid_cidr6_no_slash.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_invalid_cidr6_too_big.phpt9
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_invalid_cidr_value.phpt17
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_invalid_filename.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_invalid_log_media.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_invalid_type.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_key_value.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_line_empty_string.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_line_no_closing.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_1.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_10.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_11.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_12.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_13.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_14.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_15.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_16.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_2.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_3.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_4.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_5.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_6.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_7.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_8.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_local_var_9.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_lots_of_quotes.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_missing_script.phpt17
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive10.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive11.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive12.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive2.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive3.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive4.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive5.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive6.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive7.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive8.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_mutually_exclusive9.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_no_cookie_action.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_no_cookie_name.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_no_file_specified.phpt10
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_nonexisting_script.phpt17
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_quotes.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_readonly_exec.phpt17
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_samesite.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_session_encryption.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_session_encryption_without_encryption_key.phpt15
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_session_encryption_without_env_var.phpt15
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_shown_in_phpinfo.phpt27
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_truncated.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_unserialize.phpt17
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_upload_validation.phpt17
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_weird_keyword.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_wrapper_whitelist.phpt18
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_wrong_quotes.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_conf_wrong_type.phpt14
-rw-r--r--src/tests/broken_configuration_php8/broken_invalid_client_ip4.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_regexp.phpt16
-rw-r--r--src/tests/broken_configuration_php8/broken_unmatching_brackets.phpt16
-rw-r--r--src/tests/broken_configuration_php8/config/borken_conf_enable_disable.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/borken_conf_upload_validation.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf2.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_cookie_action.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_cookie_encryption_without_encryption_key.ini2
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_cookie_encryption_without_env_var.ini2
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_cookie_name_and_regexp.ini2
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_cookie_samesite.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_eval.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_expecting_bool.ini5
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6_no_slash.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6_too_big.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr_value.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_invalid_filename.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_invalid_log_media.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_invalid_type.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_key_value.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_line_empty_string.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_line_no_closing.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_1.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_10.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_11.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_12.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_13.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_14.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_15.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_16.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_2.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_3.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_4.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_5.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_6.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_7.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_8.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_local_var_9.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_lots_of_quotes.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_missing_script.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive10.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive11.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive12.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive2.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive3.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive4.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive5.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive6.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive7.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive8.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive9.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_nonexisting_script.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_quotes.ini3
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_readonly_exec.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_session_encryption.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_session_encryption_without_encryption_key.ini2
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_session_encryption_without_env_var.ini2
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_to_few_args.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_unserialize.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_weird_keyword.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_wrapper_whitelist.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_wrong_quotes.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_conf_wrong_type.ini5
-rw-r--r--src/tests/broken_configuration_php8/config/broken_config_regexp.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_config_regexp_no_closing_paren.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/broken_regexp.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/config_broken_conf_truncated.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/config_encrypted_cookies_noname.ini3
-rw-r--r--src/tests/broken_configuration_php8/config/config_encrypted_regexp_cookies_bad_regexp.ini3
-rw-r--r--src/tests/broken_configuration_php8/config/config_unmatching_brackets.ini1
-rw-r--r--src/tests/broken_configuration_php8/config/disabled_functions_cidr.ini9
-rw-r--r--src/tests/broken_configuration_php8/encrypt_regexp_cookies_bad_regexp.phpt22
-rw-r--r--src/tests/config/config_samesite_cookies.ini2
-rw-r--r--src/tests/config/phplog.ini2
-rw-r--r--src/tests/config/sid_length_limit.ini1
-rw-r--r--src/tests/config/syslog.ini2
-rw-r--r--src/tests/config/syslog_simulation.ini2
-rw-r--r--src/tests/cookies_encryption/config/config_encrypted_cookies.ini2
-rw-r--r--src/tests/cookies_encryption/config/config_encrypted_cookies_empty_env.ini2
-rw-r--r--src/tests/cookies_encryption/config/config_encrypted_cookies_simulation.ini2
-rw-r--r--src/tests/cookies_encryption/config/config_encrypted_regexp_cookies.ini2
-rw-r--r--src/tests/cookies_encryption/config/config_encrypted_regexp_cookies_empty_env.ini2
-rw-r--r--src/tests/cookies_encryption/config/encryption_key_only.ini2
-rw-r--r--src/tests/cookies_encryption/encrypt_cookies.phpt2
-rw-r--r--src/tests/cookies_encryption/encrypt_cookies3.phpt2
-rw-r--r--src/tests/cookies_encryption/encrypt_cookies_invalid_decryption2.phpt2
-rw-r--r--src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_short_cookie.phpt2
-rw-r--r--src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_simulation.phpt2
-rw-r--r--src/tests/cookies_encryption/encrypt_regexp_cookies.phpt2
-rw-r--r--src/tests/cookies_encryption/encrypt_regexp_cookies3.phpt2
-rw-r--r--src/tests/cookies_encryption/encrypt_regexp_cookies_empty_env.phpt2
-rw-r--r--src/tests/cookies_encryption/encrypt_regexp_cookies_invalid_decryption2.phpt2
-rw-r--r--src/tests/cookies_encryption_warning/config/encrypt_cookies_no_env.ini2
-rw-r--r--src/tests/cookies_encryption_warning/config/encrypt_regexp_cookies_no_env.ini2
-rw-r--r--src/tests/cookies_encryption_warning/encrypt_cookies_no_env.phpt2
-rw-r--r--src/tests/cookies_encryption_warning/encrypt_cookies_no_key.phpt2
-rw-r--r--src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_env.phpt2
-rw-r--r--src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_key.phpt2
-rw-r--r--src/tests/cookies_php8/config/config_encrypted_cookies.ini2
-rw-r--r--src/tests/deny_writable/deny_writable_execution_simulation.phpt1
-rw-r--r--src/tests/disable_function/config/disabled_function_excess_args.ini1
-rw-r--r--src/tests/disable_function/config/disabled_function_log_forging.ini1
-rw-r--r--src/tests/disable_function/config/disabled_function_named_args.ini12
-rw-r--r--src/tests/disable_function/config/disabled_functions_chmod.ini2
-rw-r--r--src/tests/disable_function/config/disabled_functions_chmod_php8.ini2
-rw-r--r--src/tests/disable_function/config/disabled_functions_extra.ini7
-rw-r--r--src/tests/disable_function/config/disabled_functions_pos.ini2
-rw-r--r--src/tests/disable_function/disabled_function_excess_args.phpt14
-rw-r--r--src/tests/disable_function/disabled_function_log_forging.phpt14
-rw-r--r--src/tests/disable_function/disabled_function_named_args_ooo_opt_param.phpt14
-rw-r--r--src/tests/disable_function/disabled_function_named_args_ooo_opt_pos.phpt14
-rw-r--r--src/tests/disable_function/disabled_function_named_args_ooo_param.phpt14
-rw-r--r--src/tests/disable_function/disabled_function_named_args_ooo_pos.phpt14
-rw-r--r--src/tests/disable_function/disabled_function_named_args_param.phpt14
-rw-r--r--src/tests/disable_function/disabled_function_named_args_pos.phpt14
-rw-r--r--src/tests/disable_function/disabled_function_named_args_skip_param.phpt14
-rw-r--r--src/tests/disable_function/disabled_function_named_args_skip_pos.phpt14
-rw-r--r--src/tests/disable_function/disabled_functions_chmod.phpt2
-rw-r--r--src/tests/disable_function/disabled_functions_chmod_php8.phpt5
-rw-r--r--src/tests/disable_function/disabled_functions_exec.phpt12
-rw-r--r--src/tests/disable_function/disabled_functions_name_type.phpt2
-rw-r--r--src/tests/disable_function/disabled_functions_param_broken_line.phpt4
-rw-r--r--src/tests/disable_function/disabled_functions_param_invalid_pos.phpt4
-rw-r--r--src/tests/disable_function/disabled_functions_param_pos.phpt2
-rw-r--r--src/tests/disable_function/disabled_functions_passthru.phpt12
-rw-r--r--src/tests/disable_function/disabled_functions_phpinfo_header_callback.phpt12
-rw-r--r--src/tests/disable_function/disabled_functions_popen.phpt12
-rw-r--r--src/tests/disable_function/disabled_functions_pos_type.phpt4
-rw-r--r--src/tests/disable_function/disabled_functions_proc_open.phpt17
-rw-r--r--src/tests/disable_function/disabled_functions_runtime.phpt2
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_backtick.phpt12
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_backtick_var.phpt12
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_backtick_var_string.phpt12
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_closure.phpt13
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_closure2.phpt14
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_filter_input.phpt14
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_include_data.phpt16
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_include_phpfilter.phpt16
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_opcache_preload.phpt21
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_shutdown_function.phpt12
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_signal.phpt21
-rw-r--r--src/tests/disable_function/disabled_functions_shell_exec_var.phpt13
-rw-r--r--src/tests/dump_request/dump_eval_blacklist.phpt9
-rw-r--r--src/tests/dump_request/dump_eval_whitelist.phpt7
-rw-r--r--src/tests/dump_request/dump_request.phpt10
-rw-r--r--src/tests/dump_request/dump_request_stacktrace.phpt4
-rw-r--r--src/tests/dump_request/dump_request_too_big.phpt15
-rw-r--r--src/tests/eval_blacklist/eval_backlist.phpt2
-rw-r--r--src/tests/eval_blacklist/eval_backlist_call_user_func.phpt2
-rw-r--r--src/tests/eval_blacklist/eval_backlist_chained.phpt2
-rw-r--r--src/tests/eval_blacklist/eval_backlist_list.phpt2
-rw-r--r--src/tests/eval_blacklist/eval_backlist_simulation.phpt2
-rw-r--r--src/tests/eval_blacklist/nested_eval_blacklist.phpt2
-rw-r--r--src/tests/eval_blacklist/nested_eval_blacklist2.phpt2
-rw-r--r--src/tests/filter/config/filter.ini3
-rw-r--r--src/tests/filter/server_encode.phpt25
-rw-r--r--src/tests/filter/server_strip.phpt21
-rw-r--r--src/tests/inexistent_conf_file.phpt4
-rw-r--r--src/tests/inexistent_conf_file_list.phpt4
-rw-r--r--src/tests/ini/config/sp-policy-drop.ini3
-rw-r--r--src/tests/ini/config/sp-policy-silent-fail.ini3
-rw-r--r--src/tests/ini/config/sp.ini10
-rw-r--r--src/tests/ini/ini_min_policy_drop.phpt13
-rw-r--r--src/tests/ini/ini_min_policy_silent_fail.phpt14
-rw-r--r--src/tests/ini/ini_minmax.phpt34
-rw-r--r--src/tests/ini/ini_null.phpt26
-rw-r--r--src/tests/ini/ini_regexp.phpt19
-rw-r--r--src/tests/ini/ini_regexp_drop.phpt13
-rw-r--r--src/tests/ini/ini_set.phpt12
-rw-r--r--src/tests/php8/inexistent_conf_file.phpt14
-rw-r--r--src/tests/php8/inexistent_conf_file_list.phpt14
-rw-r--r--src/tests/phpinfo_presence.phpt2
-rw-r--r--src/tests/session_encryption/config/config_crypt_session.ini2
-rw-r--r--src/tests/session_encryption/config/config_crypt_session_simul.ini2
-rw-r--r--src/tests/session_encryption/crypt_session_corrupted_session.phpt9
-rw-r--r--src/tests/session_encryption/crypt_session_invalid.phpt5
-rw-r--r--src/tests/session_encryption/crypt_session_invalid_simul.phpt15
-rw-r--r--src/tests/session_encryption/crypt_session_read_uncrypt.phpt19
-rw-r--r--src/tests/session_encryption/crypt_session_valid.phpt3
-rw-r--r--src/tests/session_encryption/crypt_session_valid_simul.phpt3
-rw-r--r--src/tests/session_encryption/set_custom_session_handler.phpt5
-rw-r--r--src/tests/session_encryption/set_custom_session_handler2.phpt5
-rw-r--r--src/tests/session_encryption/set_custom_session_handler_ini.phpt3
-rw-r--r--src/tests/sid_too_long.phpt19
-rw-r--r--src/tests/sid_too_short.phpt19
-rw-r--r--src/tests/stream_wrapper/stream_wrapper.phpt4
-rw-r--r--src/tests/strict_mode/strict_mode_enabled.phpt6
-rw-r--r--src/tests/unserialize/config/config_serialize.ini2
-rw-r--r--src/tests/unserialize/config/config_serialize_sim.ini2
-rw-r--r--src/tests/unserialize/config/dump_unserialize.ini2
-rw-r--r--src/tests/unserialize/serialize.phpt2
-rw-r--r--src/tests/unserialize/unserialize_sim.phpt5
-rw-r--r--src/tests/unserialize_php8/config/config_serialize.ini2
-rw-r--r--src/tests/upload_validation/upload_validation.phpt2
-rw-r--r--src/tests/upload_validation/upload_validation_no_exec.phpt7
-rw-r--r--src/tests/xxe/config/disable_xxe.ini2
-rw-r--r--src/tests/xxe/config/disable_xxe_disable.ini2
-rw-r--r--src/tests/xxe/disable_xxe_dom_disabled.phpt4
-rw-r--r--src/tests/xxe/disable_xxe_dom_disabled_php8.phpt57
-rw-r--r--src/tests/xxe/disable_xxe_dom_php8.phpt59
-rw-r--r--src/tests/xxe/disable_xxe_simplexml.phpt3
-rw-r--r--src/tests/xxe/disable_xxe_simplexml_oop.phpt3
-rw-r--r--src/tests/xxe/disable_xxe_xml_parse.phpt5
360 files changed, 1088 insertions, 1673 deletions
diff --git a/src/tests/broken_configuration/broken_conf.phpt b/src/tests/broken_configuration/broken_conf.phpt
index 477ee64..3500b42 100644
--- a/src/tests/broken_configuration/broken_conf.phpt
+++ b/src/tests/broken_configuration/broken_conf.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf.ini 6sp.configuration_file={PWD}/config/broken_conf.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration prefix for 'this is a broken line' on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Parser error on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration prefix for 'this is a broken line' on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf2.phpt b/src/tests/broken_configuration/broken_conf2.phpt
index 4e67b9f..a26d5c8 100644
--- a/src/tests/broken_configuration/broken_conf2.phpt
+++ b/src/tests/broken_configuration/broken_conf2.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf2.ini 6sp.configuration_file={PWD}/config/broken_conf2.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration section 'sp.wrong' on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Unexpected keyword 'wrong' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration section 'sp.wrong' on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_allow_broken_disabled.phpt b/src/tests/broken_configuration/broken_conf_allow_broken_disabled.phpt
index e2ffab0..f43c790 100644
--- a/src/tests/broken_configuration/broken_conf_allow_broken_disabled.phpt
+++ b/src/tests/broken_configuration/broken_conf_allow_broken_disabled.phpt
@@ -2,18 +2,16 @@
2Broken configuration with allow broken turned off 2Broken configuration with allow broken turned off
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf.ini 6sp.configuration_file={PWD}/config/broken_conf.ini
8sp.allow_broken_configuration=Off 7sp.allow_broken_configuration=Off
8error_log=/dev/null
9--FILE-- 9--FILE--
10<?php 10<?php
11echo 1337; 11echo 1337;
12?> 12?>
13--EXPECT-- 13--EXPECT--
14PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration prefix for 'this is a broken line' on line 1 in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] Parser error on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration prefix for 'this is a broken line' on line 1 in Unknown on line 0
17 15
18Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
19Could not startup. 17Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_allow_broken_enabled.phpt b/src/tests/broken_configuration/broken_conf_allow_broken_enabled.phpt
index 68938fe..b999e7e 100644
--- a/src/tests/broken_configuration/broken_conf_allow_broken_enabled.phpt
+++ b/src/tests/broken_configuration/broken_conf_allow_broken_enabled.phpt
@@ -2,16 +2,14 @@
2Broken configuration with allow broken turned on 2Broken configuration with allow broken turned on
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf.ini 6sp.configuration_file={PWD}/config/broken_conf.ini
8sp.allow_broken_configuration=On 7sp.allow_broken_configuration=On
8error_log=/dev/null
9--FILE-- 9--FILE--
10<?php 10<?php
11echo 1337; 11echo 1337;
12?> 12?>
13--EXPECT-- 13--EXPECT--
14PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration prefix for 'this is a broken line' on line 1 in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] Parser error on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration prefix for 'this is a broken line' on line 1 in Unknown on line 0
171337 151337
diff --git a/src/tests/broken_configuration/broken_conf_config_regexp.phpt b/src/tests/broken_configuration/broken_conf_config_regexp.phpt
index ff6280e..27fff9c 100644
--- a/src/tests/broken_configuration/broken_conf_config_regexp.phpt
+++ b/src/tests/broken_configuration/broken_conf_config_regexp.phpt
@@ -2,17 +2,14 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_config_regexp.ini 6sp.configuration_file={PWD}/config/broken_config_regexp.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECTF-- 9--EXPECTF--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '*.': %s on line 1. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '*.': %a. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] '.filename_r()' is expecting a valid regexp, and not '"*."' on line 1 in Unknown on line 0
12 11
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '*.': %s on line 1. in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid regexp '*.' for '.filename_r()' on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] '.filename_r()' is expecting a valid regexp, and not '"*."' on line 1 in Unknown on line 0
16 13
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
18Could not startup. 15Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_config_regexp_no_closing_paren.phpt b/src/tests/broken_configuration/broken_conf_config_regexp_no_closing_paren.phpt
index 8644dfe..e32ffa8 100644
--- a/src/tests/broken_configuration/broken_conf_config_regexp_no_closing_paren.phpt
+++ b/src/tests/broken_configuration/broken_conf_config_regexp_no_closing_paren.phpt
@@ -2,17 +2,12 @@
2Broken configuration - regexp without a closing parenthesis 2Broken configuration - regexp without a closing parenthesis
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_config_regexp_no_closing_paren.ini 6sp.configuration_file={PWD}/config/broken_config_regexp_no_closing_paren.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"*."': it doesn't look like a valid string on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'filename_r' - it should be 'filename_r("...")' on line 1 in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] '.filename_r()' is expecting a valid regexp, and not '"*."' on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"*."': it doesn't look like a valid string on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] '.filename_r()' is expecting a valid regexp, and not '"*."' on line 1 in Unknown on line 0
16 11
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
18Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_cookie_encryption_without_encryption_key.phpt b/src/tests/broken_configuration/broken_conf_cookie_encryption_without_encryption_key.phpt
index 857c803..90b497c 100644
--- a/src/tests/broken_configuration/broken_conf_cookie_encryption_without_encryption_key.phpt
+++ b/src/tests/broken_configuration/broken_conf_cookie_encryption_without_encryption_key.phpt
@@ -2,14 +2,12 @@
2Broken configuration - encrypted cookie without encryption key 2Broken configuration - encrypted cookie without encryption key
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_encryption_without_encryption_key.ini 6sp.configuration_file={PWD}/config/broken_conf_cookie_encryption_without_encryption_key.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.encryption_key` option in`sp.global`: please set it first in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the cookie encryption feature on line 2 without having set the `.secret_key` option in `sp.global`: please set it first in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.encryption_key` option in`sp.global`: please set it first in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_cookie_encryption_without_env_var.phpt b/src/tests/broken_configuration/broken_conf_cookie_encryption_without_env_var.phpt
index de97a9d..adefcab 100644
--- a/src/tests/broken_configuration/broken_conf_cookie_encryption_without_env_var.phpt
+++ b/src/tests/broken_configuration/broken_conf_cookie_encryption_without_env_var.phpt
@@ -2,14 +2,12 @@
2Broken configuration - encrypted cookie with without cookie env var 2Broken configuration - encrypted cookie with without cookie env var
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_encryption_without_env_var.ini 6sp.configuration_file={PWD}/config/broken_conf_cookie_encryption_without_env_var.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.cookie_env_var` option in`sp.global`: please set it first in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the cookie encryption feature on line 2 without having set the `.cookie_env_var` option in `sp.global`: please set it first in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.cookie_env_var` option in`sp.global`: please set it first in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_cookie_name_and_regexp.phpt b/src/tests/broken_configuration/broken_conf_cookie_name_and_regexp.phpt
index 141cf77..9899912 100644
--- a/src/tests/broken_configuration/broken_conf_cookie_name_and_regexp.phpt
+++ b/src/tests/broken_configuration/broken_conf_cookie_name_and_regexp.phpt
@@ -2,13 +2,11 @@
2Broken configuration - encrypted cookie with name and regexp 2Broken configuration - encrypted cookie with name and regexp
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_name_and_regexp.ini 6sp.configuration_file={PWD}/config/broken_conf_cookie_name_and_regexp.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] name and name_r are mutually exclusive on line 2 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] name and name_r are mutually exclusive on line 2 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] name and name_r are mutually exclusive on line 2 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_enable_disable.phpt b/src/tests/broken_configuration/broken_conf_enable_disable.phpt
index eeba04a..cf80a9d 100644
--- a/src/tests/broken_configuration/broken_conf_enable_disable.phpt
+++ b/src/tests/broken_configuration/broken_conf_enable_disable.phpt
@@ -2,13 +2,11 @@
2Global strict mode 2Global strict mode
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/borken_conf_enable_disable.ini 6sp.configuration_file={PWD}/config/broken_conf_enable_disable.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECTF-- 9--EXPECTF--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_enable_disable2.phpt b/src/tests/broken_configuration/broken_conf_enable_disable2.phpt
new file mode 100644
index 0000000..21380ce
--- /dev/null
+++ b/src/tests/broken_configuration/broken_conf_enable_disable2.phpt
@@ -0,0 +1,9 @@
1--TEST--
2Global strict mode
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/../broken_configuration/config/broken_conf_enable_disable2.ini
7error_log=/dev/null
8--FILE--
9--EXPECTF--
diff --git a/src/tests/broken_configuration/broken_conf_eval.phpt b/src/tests/broken_configuration/broken_conf_eval.phpt
index 791795a..d09beec 100644
--- a/src/tests/broken_configuration/broken_conf_eval.phpt
+++ b/src/tests/broken_configuration/broken_conf_eval.phpt
@@ -2,14 +2,12 @@
2Broken configuration for eval 2Broken configuration for eval
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_eval.ini 6sp.configuration_file={PWD}/config/broken_conf_eval.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"cos,sin': it doesn't look like a valid string on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'list' - it should be 'list("...")' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"cos,sin': it doesn't look like a valid string on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_expecting_bool.phpt b/src/tests/broken_configuration/broken_conf_expecting_bool.phpt
index 4857ebe..38417b9 100644
--- a/src/tests/broken_configuration/broken_conf_expecting_bool.phpt
+++ b/src/tests/broken_configuration/broken_conf_expecting_bool.phpt
@@ -2,14 +2,12 @@
2Bad boolean value in configuration 2Bad boolean value in configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_expecting_bool.ini 6sp.configuration_file={PWD}/config/broken_conf_expecting_bool.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '337);' at the end of '.enable(1337);' on line 5 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing paranthesis for keyword 'enable' - it should be 'enable()' on line 5 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '337);' at the end of '.enable(1337);' on line 5 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_invalid_cidr.phpt b/src/tests/broken_configuration/broken_conf_invalid_cidr.phpt
index e618676..74f13ac 100644
--- a/src/tests/broken_configuration/broken_conf_invalid_cidr.phpt
+++ b/src/tests/broken_configuration/broken_conf_invalid_cidr.phpt
@@ -2,13 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr.ini 6sp.configuration_file={PWD}/config/broken_conf_invalid_cidr.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] '42' isn't a valid ipv4 mask. in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] '42' isn't a valid ipv4 mask. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] '42' isn't a valid ipv4 mask. in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_invalid_cidr6.phpt b/src/tests/broken_configuration/broken_conf_invalid_cidr6.phpt
index 34a0d30..3765c22 100644
--- a/src/tests/broken_configuration/broken_conf_invalid_cidr6.phpt
+++ b/src/tests/broken_configuration/broken_conf_invalid_cidr6.phpt
@@ -2,13 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr6.ini 6sp.configuration_file={PWD}/config/broken_conf_invalid_cidr6.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] 'ZZZ' isn't a valid network mask. in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] 'ZZZ' isn't a valid network mask. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] 'ZZZ' isn't a valid network mask. in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_invalid_cidr6_no_slash.phpt b/src/tests/broken_configuration/broken_conf_invalid_cidr6_no_slash.phpt
index 8703dff..a6eea84 100644
--- a/src/tests/broken_configuration/broken_conf_invalid_cidr6_no_slash.phpt
+++ b/src/tests/broken_configuration/broken_conf_invalid_cidr6_no_slash.phpt
@@ -2,13 +2,11 @@
2Broken configuration, invalid cidr for ipv6 because there is no `/` in it 2Broken configuration, invalid cidr for ipv6 because there is no `/` in it
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr6_no_slash.ini 6sp.configuration_file={PWD}/config/broken_conf_invalid_cidr6_no_slash.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] '2001:0db8:0000:0000:0000:ff00:0042:8329' isn't a valid network mask, it seems that you forgot a '/'. in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] '2001:0db8:0000:0000:0000:ff00:0042:8329' isn't a valid network mask, it seems that you forgot a '/'. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] '2001:0db8:0000:0000:0000:ff00:0042:8329' isn't a valid network mask, it seems that you forgot a '/'. in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_invalid_cidr6_too_big.phpt b/src/tests/broken_configuration/broken_conf_invalid_cidr6_too_big.phpt
index 47d4a5d..0fa61aa 100644
--- a/src/tests/broken_configuration/broken_conf_invalid_cidr6_too_big.phpt
+++ b/src/tests/broken_configuration/broken_conf_invalid_cidr6_too_big.phpt
@@ -5,5 +5,10 @@ Broken configuration, cidr for ipv6 is too big, that will `mod` to 25.
5<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 5<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
6--INI-- 6--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr6_too_big.ini 7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr6_too_big.ini
8error_log=/dev/null
8--FILE-- 9--FILE--
9--EXPECT-- 10--EXPECT--
11Fatal error: [snuffleupagus][0.0.0.0][config][log] '13337' isn't a valid network mask. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup. \ No newline at end of file
diff --git a/src/tests/broken_configuration/broken_conf_invalid_cidr_value.phpt b/src/tests/broken_configuration/broken_conf_invalid_cidr_value.phpt
index 1424853..9894975 100644
--- a/src/tests/broken_configuration/broken_conf_invalid_cidr_value.phpt
+++ b/src/tests/broken_configuration/broken_conf_invalid_cidr_value.phpt
@@ -3,17 +3,12 @@ Broken configuration, invalid cidr value
3(13337%128 = 25) 3(13337%128 = 25)
4--SKIPIF-- 4--SKIPIF--
5<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 5<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
6<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
7--INI-- 6--INI--
8sp.configuration_file={PWD}/config/broken_conf_invalid_cidr_value.ini 7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr_value.ini
8error_log=/dev/null
9--FILE-- 9--FILE--
10--EXPECT-- 10--EXPECT--
11PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0 11Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'cidr' - it should be 'cidr("...")' on line 1 in Unknown on line 0
12PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] " doesn't contain a valid cidr on line 1 in Unknown on line 0
13
14Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] " doesn't contain a valid cidr on line 1 in Unknown on line 0
17 12
18Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
19Could not startup. 14Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_invalid_filename.phpt b/src/tests/broken_configuration/broken_conf_invalid_filename.phpt
index b9a904c..bf74900 100644
--- a/src/tests/broken_configuration/broken_conf_invalid_filename.phpt
+++ b/src/tests/broken_configuration/broken_conf_invalid_filename.phpt
@@ -2,14 +2,12 @@
2Broken configuration filename without absolute path 2Broken configuration filename without absolute path
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_filename.ini 6sp.configuration_file={PWD}/config/broken_conf_invalid_filename.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECTF-- 9--EXPECTF--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("sprintf").filename("wrong file name").drop();':'.filename' must be an absolute path or a phar archive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions': '.filename' must be an absolute path or a phar archive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("sprintf").filename("wrong file name").drop();':'.filename' must be an absolute path or a phar archive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_invalid_log_media.phpt b/src/tests/broken_configuration/broken_conf_invalid_log_media.phpt
index c1c2668..af0d61f 100644
--- a/src/tests/broken_configuration/broken_conf_invalid_log_media.phpt
+++ b/src/tests/broken_configuration/broken_conf_invalid_log_media.phpt
@@ -2,14 +2,12 @@
2Broken configuration filename with improper log media 2Broken configuration filename with improper log media
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_log_media.ini 6sp.configuration_file={PWD}/config/broken_conf_invalid_log_media.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECTF-- 9--EXPECTF--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] .log_media() only supports 'syslog' or 'php', on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] .log_media() only supports 'syslog' or 'php' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] .log_media() only supports 'syslog' or 'php', on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_invalid_type.phpt b/src/tests/broken_configuration/broken_conf_invalid_type.phpt
index aeb6b85..acb8fee 100644
--- a/src/tests/broken_configuration/broken_conf_invalid_type.phpt
+++ b/src/tests/broken_configuration/broken_conf_invalid_type.phpt
@@ -2,14 +2,12 @@
2Broken conf with wrong type 2Broken conf with wrong type
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_type.ini 6sp.configuration_file={PWD}/config/broken_conf_invalid_type.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECTF-- 9--EXPECTF--
10PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"totally_wrong"_type")': it doesn't look like a valid string on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'ret_type' - it should be 'ret_type("...")' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"totally_wrong"_type")': it doesn't look like a valid string on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_key_value.phpt b/src/tests/broken_configuration/broken_conf_key_value.phpt
index ec87d93..6acb2af 100644
--- a/src/tests/broken_configuration/broken_conf_key_value.phpt
+++ b/src/tests/broken_configuration/broken_conf_key_value.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_key_value.ini 6sp.configuration_file={PWD}/config/broken_conf_key_value.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").var("").value("").key("").drop();':`key` and `value` are mutually exclusive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line for 'sp.disabled_functions': '.key' and '.value' are mutually exclusive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").var("").value("").key("").drop();':`key` and `value` are mutually exclusive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_line_empty_string.phpt b/src/tests/broken_configuration/broken_conf_line_empty_string.phpt
index 3790d83..06553d8 100644
--- a/src/tests/broken_configuration/broken_conf_line_empty_string.phpt
+++ b/src/tests/broken_configuration/broken_conf_line_empty_string.phpt
@@ -2,14 +2,12 @@
2Configuration line with an empty string 2Configuration line with an empty string
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_line_empty_string.ini 6sp.configuration_file={PWD}/config/broken_conf_line_empty_string.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'name' - it should be 'name("...")' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_line_no_closing.phpt b/src/tests/broken_configuration/broken_conf_line_no_closing.phpt
index 0f51dcf..8b06dc5 100644
--- a/src/tests/broken_configuration/broken_conf_line_no_closing.phpt
+++ b/src/tests/broken_configuration/broken_conf_line_no_closing.phpt
@@ -2,14 +2,12 @@
2Configuration line without closing parenthese 2Configuration line without closing parenthese
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_line_no_closing.ini 6sp.configuration_file={PWD}/config/broken_conf_line_no_closing.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"123"': it doesn't look like a valid string on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'name' - it should be 'name("...")' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"123"': it doesn't look like a valid string on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_local_var_1.phpt b/src/tests/broken_configuration/broken_conf_local_var_1.phpt
index 851d532..dab3b56 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_1.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_1.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_1.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_1.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value ']' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value ']' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value ']' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_10.phpt b/src/tests/broken_configuration/broken_conf_local_var_10.phpt
index 747cc5a..7633107 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_10.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_10.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_10.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_10.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]asd' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]asd' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]asd' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_11.phpt b/src/tests/broken_configuration/broken_conf_local_var_11.phpt
index 11ca562..f881df4 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_11.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_11.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_11.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_11.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `::` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd::' for `param` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `::` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `::` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd::' for `param` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd::' for `param` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_12.phpt b/src/tests/broken_configuration/broken_conf_local_var_12.phpt
index 962f5ab..43dda8a 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_12.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_12.phpt
@@ -2,13 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_12.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_12.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Empty value in `var` on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Empty value in `var` on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Empty value in `var` on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_13.phpt b/src/tests/broken_configuration/broken_conf_local_var_13.phpt
index 5c33fdd..d771060 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_13.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_13.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_13.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_13.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd->asd' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd->asd' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd->asd' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_14.phpt b/src/tests/broken_configuration/broken_conf_local_var_14.phpt
index a831ef7..38225b6 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_14.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_14.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_14.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_14.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid var name: $i+valid var name . in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$i+valid var name ' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid var name: $i+valid var name . in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid var name: $i+valid var name . in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$i+valid var name ' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$i+valid var name ' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_15.phpt b/src/tests/broken_configuration/broken_conf_local_var_15.phpt
index 5d8c6f1..d58bccb 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_15.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_15.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_15.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_15.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid var name: $i$$!@#. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$i$$!@#->qwe' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid var name: $i$$!@#. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid var name: $i$$!@#. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$i$$!@#->qwe' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$i$$!@#->qwe' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_16.phpt b/src/tests/broken_configuration/broken_conf_local_var_16.phpt
index 47c1f17..2206c7d 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_16.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_16.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_16.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_16.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing a closing quote. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '"' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing a closing quote. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing a closing quote. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '"' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '"' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_2.phpt b/src/tests/broken_configuration/broken_conf_local_var_2.phpt
index ec7ac2c..8eb38d0 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_2.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_2.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_2.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_2.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `"` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '""asd' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `"` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `"` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '""asd' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '""asd' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_3.phpt b/src/tests/broken_configuration/broken_conf_local_var_3.phpt
index 776cee0..959ae3f 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_3.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_3.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_3.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_3.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$qwe->::' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$qwe->::' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$qwe->::' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_4.phpt b/src/tests/broken_configuration/broken_conf_local_var_4.phpt
index 4390640..eab4e26 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_4.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_4.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_4.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_4.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `"` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '"asd"asd[]' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `"` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `"` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '"asd"asd[]' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '"asd"asd[]' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_5.phpt b/src/tests/broken_configuration/broken_conf_local_var_5.phpt
index a73056e..2a87994 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_5.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_5.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_5.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_5.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `'` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value ''asd'asd[]' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `'` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `'` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value ''asd'asd[]' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value ''asd'asd[]' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_6.phpt b/src/tests/broken_configuration/broken_conf_local_var_6.phpt
index 19b2915..8e69255 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_6.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_6.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_6.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_6.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `'` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '''asd' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `'` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `'` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '''asd' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '''asd' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_7.phpt b/src/tests/broken_configuration/broken_conf_local_var_7.phpt
index 62e983f..4fb6047 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_7.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_7.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_7.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_7.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd-->' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd-->' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd-->' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_8.phpt b/src/tests/broken_configuration/broken_conf_local_var_8.phpt
index 1d170d2..11187cc 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_8.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_8.phpt
@@ -2,14 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_8.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_8.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]"asd"' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]"asd"' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]"asd"' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_local_var_9.phpt b/src/tests/broken_configuration/broken_conf_local_var_9.phpt
index 5786e02..ec97f5d 100644
--- a/src/tests/broken_configuration/broken_conf_local_var_9.phpt
+++ b/src/tests/broken_configuration/broken_conf_local_var_9.phpt
@@ -2,13 +2,11 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_9.ini 6sp.configuration_file={PWD}/config/broken_conf_local_var_9.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]'asd'' for `var` on line 1 in Unknown on line 0
12 10
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0 11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
14 12
diff --git a/src/tests/broken_configuration/broken_conf_lots_of_quotes.phpt b/src/tests/broken_configuration/broken_conf_lots_of_quotes.phpt
index bef62b9..0896868 100644
--- a/src/tests/broken_configuration/broken_conf_lots_of_quotes.phpt
+++ b/src/tests/broken_configuration/broken_conf_lots_of_quotes.phpt
@@ -2,14 +2,12 @@
2Configuration line with too many quotes 2Configuration line with too many quotes
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_lots_of_quotes.ini 6sp.configuration_file={PWD}/config/broken_conf_lots_of_quotes.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"this\"is a weird\"\"\"cookie\"name"");': it doesn't look like a valid string on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'name' - it should be 'name("...")' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"this\"is a weird\"\"\"cookie\"name"");': it doesn't look like a valid string on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_missing_script.phpt b/src/tests/broken_configuration/broken_conf_missing_script.phpt
index 9deffc7..0b8a183 100644
--- a/src/tests/broken_configuration/broken_conf_missing_script.phpt
+++ b/src/tests/broken_configuration/broken_conf_missing_script.phpt
@@ -1,18 +1,17 @@
1--TEST-- 1--TEST--
2Invalid configuration file for upload 2Invalid configuration file for upload
3--SKIPIF-- 3--SKIPIF--
4<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI-- 5--INI--
6file_uploads=1 6file_uploads=1
7sp.configuration_file={PWD}/config/broken_conf_missing_script.ini 7sp.configuration_file={PWD}/config/broken_conf_missing_script.ini
8error_log=/dev/null
8--FILE-- 9--FILE--
9<?php 10<?php
10echo 1; 11echo 1;
11?> 12?>
12--EXPECTF-- 13--EXPECTF--
13PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` directive is mandatory in '.enable();' on line 1 in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` directive is mandatory in '.upload_validation' on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` directive is mandatory in '.enable();' on line 1 in Unknown on line 0
16 15
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
18Could not startup. 17Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive.phpt
index a8036d2..df7085a 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").value_r("^id$").drop();': '.r_value' and '.value' are mutually exclusive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line for 'sp.disabled_functions': '.value' and '.value_r' are mutually exclusive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").value_r("^id$").drop();': '.r_value' and '.value' are mutually exclusive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive10.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive10.phpt
index 932f584..de8f909 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive10.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive10.phpt
@@ -2,13 +2,11 @@
2Broken configuration - enabled/disabled readonly 2Broken configuration - enabled/disabled readonly
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive10.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive10.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive11.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive11.phpt
index 62ae64e..07f5077 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive11.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive11.phpt
@@ -2,14 +2,12 @@
2Broken configuration - ret and var are mutually exclusives 2Broken configuration - ret and var are mutually exclusives
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive11.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive11.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("strcmp").drop().ret("hip").var("hop");':`ret` and `var` are mutually exclusive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line for 'sp.disabled_functions': '.ret' and '.var' are mutually exclusive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("strcmp").drop().ret("hip").var("hop");':`ret` and `var` are mutually exclusive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive12.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive12.phpt
index 28b0564..8cf2bf0 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive12.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive12.phpt
@@ -2,14 +2,12 @@
2Broken configuration - ret and value are mutually exclusive 2Broken configuration - ret and value are mutually exclusive
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive12.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive12.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("strcmp").drop().ret("hip").value("hop");':`ret` and `value` are mutually exclusive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line for 'sp.disabled_functions': '.ret' and '.value' are mutually exclusive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("strcmp").drop().ret("hip").value("hop");':`ret` and `value` are mutually exclusive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive2.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive2.phpt
index cc3a951..9474909 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive2.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive2.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive2.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive2.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").function_r("system").param("id").value("42").drop();': '.r_function' and '.function' are mutually exclusive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line for 'sp.disabled_functions': '.function' and '.function_r' are mutually exclusive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").function_r("system").param("id").value("42").drop();': '.r_function' and '.function' are mutually exclusive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive3.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive3.phpt
index ab50266..2730694 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive3.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive3.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive3.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive3.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").filename_r("^id$").filename("pouet.txt").drop();': '.r_filename' and '.filename' are mutually exclusive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line for 'sp.disabled_functions': '.filename' and '.filename_r' are mutually exclusive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").filename_r("^id$").filename("pouet.txt").drop();': '.r_filename' and '.filename' are mutually exclusive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive4.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive4.phpt
index b848d1a..fd7041f 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive4.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive4.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive4.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive4.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").param_r("^id$").drop();':'.r_param', '.param' and '.pos' are mutually exclusive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line for 'sp.disabled_functions': '.param' and '.param_r' are mutually exclusive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").param_r("^id$").drop();':'.r_param', '.param' and '.pos' are mutually exclusive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive5.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive5.phpt
index c668643..7bf1f88 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive5.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive5.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive5.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive5.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").ret("0").drop().ret_r("^0$");': '.r_ret' and '.ret' are mutually exclusive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line for 'sp.disabled_functions': '.ret' and '.ret_r' are mutually exclusive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").ret("0").drop().ret_r("^0$");': '.r_ret' and '.ret' are mutually exclusive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive6.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive6.phpt
index 94ed765..2083894 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive6.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive6.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive6.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive6.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").ret_r("^0$").drop();':`ret` and `param` are mutually exclusive on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line for 'sp.disabled_functions': '.ret' and '.param' are mutually exclusive on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").ret_r("^0$").drop();':`ret` and `param` are mutually exclusive on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive7.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive7.phpt
index 2a16d0c..64baefd 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive7.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive7.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive7.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive7.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").ret("0").drop().allow();': The rule must either be a `drop` or `allow` one on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions': The rule must either be a `drop` or `allow` one on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").ret("0").drop().allow();': The rule must either be a `drop` or `allow` one on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive8.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive8.phpt
index 129707d..f8277eb 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive8.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive8.phpt
@@ -2,14 +2,12 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive8.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive8.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.ret("0").drop();': must take a function name on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions': must take a function name on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.ret("0").drop();': must take a function name on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_mutually_exclusive9.phpt b/src/tests/broken_configuration/broken_conf_mutually_exclusive9.phpt
index b384d77..1a62ef0 100644
--- a/src/tests/broken_configuration/broken_conf_mutually_exclusive9.phpt
+++ b/src/tests/broken_configuration/broken_conf_mutually_exclusive9.phpt
@@ -2,13 +2,11 @@
2Broken configuration - enabled/disabled unserialize 2Broken configuration - enabled/disabled unserialize
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive9.ini 6sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive9.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_no_cookie_action.phpt b/src/tests/broken_configuration/broken_conf_no_cookie_action.phpt
index 62831d4..668e09c 100644
--- a/src/tests/broken_configuration/broken_conf_no_cookie_action.phpt
+++ b/src/tests/broken_configuration/broken_conf_no_cookie_action.phpt
@@ -2,13 +2,11 @@
2Bad config, invalid action. 2Bad config, invalid action.
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_action.ini 6sp.configuration_file={PWD}/config/broken_conf_cookie_action.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] You must specify a at least one action to a cookie on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] You must specify a at least one action to a cookie on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] You must specify a at least one action to a cookie on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_no_cookie_name.phpt b/src/tests/broken_configuration/broken_conf_no_cookie_name.phpt
index 51d2980..e074411 100644
--- a/src/tests/broken_configuration/broken_conf_no_cookie_name.phpt
+++ b/src/tests/broken_configuration/broken_conf_no_cookie_name.phpt
@@ -2,13 +2,11 @@
2Broken configuration - encrypted cookie with no name 2Broken configuration - encrypted cookie with no name
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/config_encrypted_cookies_noname.ini 6sp.configuration_file={PWD}/config/config_encrypted_cookies_noname.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] You must specify a cookie name/regexp on line 2 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] You must specify a cookie name/regexp on line 2 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] You must specify a cookie name/regexp on line 2 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_nonexisting_script.phpt b/src/tests/broken_configuration/broken_conf_nonexisting_script.phpt
index fa891d8..df0c231 100644
--- a/src/tests/broken_configuration/broken_conf_nonexisting_script.phpt
+++ b/src/tests/broken_configuration/broken_conf_nonexisting_script.phpt
@@ -1,17 +1,16 @@
1--TEST-- 1--TEST--
2Invalid configuration file for upload 2Invalid configuration file for upload
3--SKIPIF-- 3--SKIPIF--
4<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI-- 5--INI--
6file_uploads=1 6file_uploads=1
7sp.configuration_file={PWD}/config/broken_conf_nonexisting_script.ini 7sp.configuration_file={PWD}/config/broken_conf_nonexisting_script.ini
8error_log=/dev/null
8--FILE-- 9--FILE--
9<?php 10<?php
10echo 1; 11echo 1;
11?> 12?>
12--EXPECTF-- 13--EXPECTF--
13PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` (./non_existing_script.sh) doesn't exist on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` (./non_existing_script.sh) doesn't exist on line 1 in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` (./non_existing_script.sh) doesn't exist on line 1 in Unknown on line 0
16 15
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_quotes.phpt b/src/tests/broken_configuration/broken_conf_quotes.phpt
index 5b7b839..da168ae 100644
--- a/src/tests/broken_configuration/broken_conf_quotes.phpt
+++ b/src/tests/broken_configuration/broken_conf_quotes.phpt
@@ -2,14 +2,11 @@
2Broken configuration - missing quote 2Broken configuration - missing quote
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_quotes.ini 6sp.configuration_file={PWD}/config/broken_conf_quotes.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] You forgot to close a bracket. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '_SERVER[PHP_SELF' for `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] You forgot to close a bracket. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] You forgot to close a bracket. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '_SERVER[PHP_SELF' for `var` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '_SERVER[PHP_SELF' for `var` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_conf_readonly_exec.phpt b/src/tests/broken_configuration/broken_conf_readonly_exec.phpt
index 78b2b9a..a53024e 100644
--- a/src/tests/broken_configuration/broken_conf_readonly_exec.phpt
+++ b/src/tests/broken_configuration/broken_conf_readonly_exec.phpt
@@ -1,18 +1,17 @@
1--TEST-- 1--TEST--
2Invalid configuration file for readonly_exec 2Invalid configuration file for readonly_exec
3--SKIPIF-- 3--SKIPIF--
4<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI-- 5--INI--
6file_uploads=1 6file_uploads=1
7sp.configuration_file={PWD}/config/broken_conf_readonly_exec.ini 7sp.configuration_file={PWD}/config/broken_conf_readonly_exec.ini
8error_log=/dev/null
8--FILE-- 9--FILE--
9<?php 10<?php
10echo 1; 11echo 1;
11?> 12?>
12--EXPECTF-- 13--EXPECTF--
13PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '234);' at the end of '.enable(1234);' on line 1 in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing paranthesis for keyword 'enable' - it should be 'enable()' on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '234);' at the end of '.enable(1234);' on line 1 in Unknown on line 0
16 15
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
18Could not startup. 17Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_samesite.phpt b/src/tests/broken_configuration/broken_conf_samesite.phpt
index e4940c9..0a39915 100644
--- a/src/tests/broken_configuration/broken_conf_samesite.phpt
+++ b/src/tests/broken_configuration/broken_conf_samesite.phpt
@@ -2,14 +2,12 @@
2Bad config, invalid samesite type. 2Bad config, invalid samesite type.
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_samesite.ini 6sp.configuration_file={PWD}/config/broken_conf_cookie_samesite.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] nop is an invalid value to samesite (expected Lax or Strict) on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] 'nop' is an invalid value to samesite (expected Lax or Strict) on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] nop is an invalid value to samesite (expected Lax or Strict) on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_session_encryption.phpt b/src/tests/broken_configuration/broken_conf_session_encryption.phpt
index 9dbedc1..0a031c8 100644
--- a/src/tests/broken_configuration/broken_conf_session_encryption.phpt
+++ b/src/tests/broken_configuration/broken_conf_session_encryption.phpt
@@ -2,14 +2,12 @@
2Broken config, session encryption 2Broken config, session encryption
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_session_encryption.ini 6sp.configuration_file={PWD}/config/broken_conf_session_encryption.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars 'nvalid value :/);' at the end of '.encrypt(invalid value :/);' on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing paranthesis for keyword 'encrypt' - it should be 'encrypt()' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars 'nvalid value :/);' at the end of '.encrypt(invalid value :/);' on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_session_encryption_without_encryption_key.phpt b/src/tests/broken_configuration/broken_conf_session_encryption_without_encryption_key.phpt
index c638f80..63af9e8 100644
--- a/src/tests/broken_configuration/broken_conf_session_encryption_without_encryption_key.phpt
+++ b/src/tests/broken_configuration/broken_conf_session_encryption_without_encryption_key.phpt
@@ -2,14 +2,15 @@
2Broken configuration - encrypted session without encryption key 2Broken configuration - encrypted session without encryption key
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
6--INI-- 8--INI--
7sp.configuration_file={PWD}/config/broken_conf_session_encryption_without_encryption_key.ini 9sp.configuration_file={PWD}/config/broken_conf_session_encryption_without_encryption_key.ini
10error_log=/dev/null
8--FILE-- 11--FILE--
9--EXPECT-- 12--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the session cookie encryption feature on line 2 without having set the `.secret_key` option in`sp.global`: please set it first in Unknown on line 0 13Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the session cookie encryption feature on line 2 without having set the `.secret_key` option in `sp.global`: please set it first in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the session cookie encryption feature on line 2 without having set the `.secret_key` option in`sp.global`: please set it first in Unknown on line 0
13 14
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 16Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_session_encryption_without_env_var.phpt b/src/tests/broken_configuration/broken_conf_session_encryption_without_env_var.phpt
index d503942..80b3a5f 100644
--- a/src/tests/broken_configuration/broken_conf_session_encryption_without_env_var.phpt
+++ b/src/tests/broken_configuration/broken_conf_session_encryption_without_env_var.phpt
@@ -2,14 +2,15 @@
2Broken configuration - encrypted session without env var 2Broken configuration - encrypted session without env var
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
6--INI-- 8--INI--
7sp.configuration_file={PWD}/config/broken_conf_session_encryption_without_env_var.ini 9sp.configuration_file={PWD}/config/broken_conf_session_encryption_without_env_var.ini
10error_log=/dev/null
8--FILE-- 11--FILE--
9--EXPECT-- 12--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the session cookie encryption feature on line 2 without having set the `.cookie_env_var` option in`sp.global`: please set it first in Unknown on line 0 13Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the session cookie encryption feature on line 2 without having set the `.cookie_env_var` option in `sp.global`: please set it first in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the session cookie encryption feature on line 2 without having set the `.cookie_env_var` option in`sp.global`: please set it first in Unknown on line 0
13 14
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 16Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_shown_in_phpinfo.phpt b/src/tests/broken_configuration/broken_conf_shown_in_phpinfo.phpt
index 1ad0afb..616bef8 100644
--- a/src/tests/broken_configuration/broken_conf_shown_in_phpinfo.phpt
+++ b/src/tests/broken_configuration/broken_conf_shown_in_phpinfo.phpt
@@ -2,9 +2,9 @@
2Broken configuration 2Broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_config_regexp.ini 6sp.configuration_file={PWD}/config/broken_config_regexp.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9<?php 9<?php
10ob_start(); 10ob_start();
@@ -18,12 +18,9 @@ if (strstr($info, 'Valid config => no') !== FALSE) {
18} 18}
19?> 19?>
20--EXPECTF-- 20--EXPECTF--
21PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '*.': %s on line 1. in Unknown on line 0 21Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '*.': %a. in Unknown on line 0
22PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] '.filename_r()' is expecting a valid regexp, and not '"*."' on line 1 in Unknown on line 0
23 22
24Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '*.': %s on line 1. in Unknown on line 0 23Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid regexp '*.' for '.filename_r()' on line 1 in Unknown on line 0
25
26Fatal error: [snuffleupagus][0.0.0.0][config][log] '.filename_r()' is expecting a valid regexp, and not '"*."' on line 1 in Unknown on line 0
27 24
28Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 25Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
29Could not startup. 26Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_truncated.phpt b/src/tests/broken_configuration/broken_conf_truncated.phpt
index 6deff87..06a53a9 100644
--- a/src/tests/broken_configuration/broken_conf_truncated.phpt
+++ b/src/tests/broken_configuration/broken_conf_truncated.phpt
@@ -1,15 +1,13 @@
1--TEST-- 1--TEST--
2Bad boolean value in configuration 2Bad boolean value in configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
5<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/config_broken_conf_truncated.ini 6sp.configuration_file={PWD}/config/config_broken_conf_truncated.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'param' - it should be 'param("...")' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_unserialize.phpt b/src/tests/broken_configuration/broken_conf_unserialize.phpt
index a42d8a1..e897388 100644
--- a/src/tests/broken_configuration/broken_conf_unserialize.phpt
+++ b/src/tests/broken_configuration/broken_conf_unserialize.phpt
@@ -1,18 +1,17 @@
1--TEST-- 1--TEST--
2Invalid configuration file for unserialize 2Invalid configuration file for unserialize
3--SKIPIF-- 3--SKIPIF--
4<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI-- 5--INI--
6file_uploads=1 6file_uploads=1
7sp.configuration_file={PWD}/config/broken_conf_unserialize.ini 7sp.configuration_file={PWD}/config/broken_conf_unserialize.ini
8error_log=/dev/null
8--FILE-- 9--FILE--
9<?php 10<?php
10echo 1; 11echo 1;
11?> 12?>
12--EXPECTF-- 13--EXPECTF--
13PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '234);' at the end of '.enable(1234);' on line 1 in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing paranthesis for keyword 'enable' - it should be 'enable()' on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '234);' at the end of '.enable(1234);' on line 1 in Unknown on line 0
16 15
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
18Could not startup. 17Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_upload_validation.phpt b/src/tests/broken_configuration/broken_conf_upload_validation.phpt
index 4b65339..7c8f604 100644
--- a/src/tests/broken_configuration/broken_conf_upload_validation.phpt
+++ b/src/tests/broken_configuration/broken_conf_upload_validation.phpt
@@ -1,18 +1,17 @@
1--TEST-- 1--TEST--
2Invalid configuration file for upload validation 2Invalid configuration file for upload validation
3--SKIPIF-- 3--SKIPIF--
4<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI-- 5--INI--
6file_uploads=1 6file_uploads=1
7sp.configuration_file={PWD}/config/borken_conf_upload_validation.ini 7sp.configuration_file={PWD}/config/broken_conf_upload_validation.ini
8error_log=/dev/null
8--FILE-- 9--FILE--
9<?php 10<?php
10echo 1; 11echo 1;
11?> 12?>
12--EXPECTF-- 13--EXPECTF--
13PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'script' - it should be 'script("...")' on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0
16 15
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
18Could not startup. 17Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_weird_keyword.phpt b/src/tests/broken_configuration/broken_conf_weird_keyword.phpt
index ce568af..663f153 100644
--- a/src/tests/broken_configuration/broken_conf_weird_keyword.phpt
+++ b/src/tests/broken_configuration/broken_conf_weird_keyword.phpt
@@ -2,14 +2,12 @@
2Bad config, unknown keyword 2Bad config, unknown keyword
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_weird_keyword.ini 6sp.configuration_file={PWD}/config/broken_conf_weird_keyword.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '.not_a_valid_keyword("test");' at the end of '.enable().not_a_valid_keyword("test");' on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Unexpected keyword 'not_a_valid_keyword' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '.not_a_valid_keyword("test");' at the end of '.enable().not_a_valid_keyword("test");' on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_wrapper_whitelist.phpt b/src/tests/broken_configuration/broken_conf_wrapper_whitelist.phpt
index 2d1feeb..37d074a 100644
--- a/src/tests/broken_configuration/broken_conf_wrapper_whitelist.phpt
+++ b/src/tests/broken_configuration/broken_conf_wrapper_whitelist.phpt
@@ -2,18 +2,16 @@
2Broken configuration with invalid token for wrapper whitelist 2Broken configuration with invalid token for wrapper whitelist
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_wrapper_whitelist.ini 6sp.configuration_file={PWD}/config/broken_conf_wrapper_whitelist.ini
8sp.allow_broken_configuration=Off 7sp.allow_broken_configuration=Off
8error_log=/dev/null
9--FILE-- 9--FILE--
10<?php 10<?php
11echo 1337; 11echo 1337;
12?> 12?>
13--EXPECT-- 13--EXPECT--
14PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '.invalid_param();' at the end of '.invalid_param();' on line 1 in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] Unexpected keyword 'invalid_param' on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '.invalid_param();' at the end of '.invalid_param();' on line 1 in Unknown on line 0
17 15
18Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
19Could not startup. 17Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_wrong_quotes.phpt b/src/tests/broken_configuration/broken_conf_wrong_quotes.phpt
index 3753989..cd19eb3 100644
--- a/src/tests/broken_configuration/broken_conf_wrong_quotes.phpt
+++ b/src/tests/broken_configuration/broken_conf_wrong_quotes.phpt
@@ -2,14 +2,12 @@
2Configuration line with too many quotes 2Configuration line with too many quotes
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_wrong_quotes.ini 6sp.configuration_file={PWD}/config/broken_conf_wrong_quotes.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECT-- 9--EXPECT--
10PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"\)': it doesn't look like a valid string on line 1 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing argument to keyword 'name' - it should be 'name("...")' on line 1 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"\)': it doesn't look like a valid string on line 1 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup. 13Could not startup.
diff --git a/src/tests/broken_configuration/broken_conf_wrong_type.phpt b/src/tests/broken_configuration/broken_conf_wrong_type.phpt
index b204968..a24b415 100644
--- a/src/tests/broken_configuration/broken_conf_wrong_type.phpt
+++ b/src/tests/broken_configuration/broken_conf_wrong_type.phpt
@@ -2,13 +2,11 @@
2Broken conf with wrong type 2Broken conf with wrong type
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_conf_wrong_type.ini 6sp.configuration_file={PWD}/config/broken_conf_wrong_type.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECTF-- 9--EXPECTF--
10PHP Fatal error: [snuffleupagus][0.0.0.0][error][log] .ret_type() is expecting a valid php type ('false', 'true', 'array'. 'object', 'long', 'double', 'null', 'resource', 'reference', 'undef') on line 5 in Unknown on line 0
11
12Fatal error: [snuffleupagus][0.0.0.0][error][log] .ret_type() is expecting a valid php type ('false', 'true', 'array'. 'object', 'long', 'double', 'null', 'resource', 'reference', 'undef') on line 5 in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][error][log] .ret_type() is expecting a valid php type ('false', 'true', 'array'. 'object', 'long', 'double', 'null', 'resource', 'reference', 'undef') on line 5 in Unknown on line 0
13 11
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/broken_configuration/broken_regexp.phpt b/src/tests/broken_configuration/broken_regexp.phpt
index 83c7103..f216e9a 100644
--- a/src/tests/broken_configuration/broken_regexp.phpt
+++ b/src/tests/broken_configuration/broken_regexp.phpt
@@ -2,17 +2,14 @@
2Broken regexp 2Broken regexp
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/broken_regexp.ini 6sp.configuration_file={PWD}/config/broken_regexp.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECTF-- 9--EXPECTF--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '^$[': missing terminating ] for character class on line 1. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '^$[': missing terminating ] for character class. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] '.value_r()' is expecting a valid regexp, and not '"^$["' on line 1 in Unknown on line 0
12 11
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '^$[': missing terminating ] for character class on line 1. in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid regexp '^$[' for '.value_r()' on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] '.value_r()' is expecting a valid regexp, and not '"^$["' on line 1 in Unknown on line 0
16 13
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
18Could not startup. 15Could not startup.
diff --git a/src/tests/broken_configuration/broken_unmatching_brackets.phpt b/src/tests/broken_configuration/broken_unmatching_brackets.phpt
index ba14ff3..d900eaa 100644
--- a/src/tests/broken_configuration/broken_unmatching_brackets.phpt
+++ b/src/tests/broken_configuration/broken_unmatching_brackets.phpt
@@ -2,14 +2,11 @@
2Broken configuration - unmatching brackets 2Broken configuration - unmatching brackets
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/config_unmatching_brackets.ini 6sp.configuration_file={PWD}/config/config_unmatching_brackets.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9--EXPECTF-- 9--EXPECTF--
10PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'arr[b]]]]]' for `param` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0 10Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
14 11
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'arr[b]]]]]' for `param` on line 1 in Unknown on line 0 12Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'arr[b]]]]]' for `param` on line 1 in Unknown on line 0
diff --git a/src/tests/broken_configuration/config/broken_conf_cookie_name_and_regexp.ini b/src/tests/broken_configuration/config/broken_conf_cookie_name_and_regexp.ini
index 503889b..6b43b71 100644
--- a/src/tests/broken_configuration/config/broken_conf_cookie_name_and_regexp.ini
+++ b/src/tests/broken_configuration/config/broken_conf_cookie_name_and_regexp.ini
@@ -1,2 +1,2 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("my_cookie_name").name_r("my_cookie_regexp").encrypt(); 2sp.cookie.name("my_cookie_name").name_r("my_cookie_regexp").encrypt();
diff --git a/src/tests/broken_configuration/config/borken_conf_enable_disable.ini b/src/tests/broken_configuration/config/broken_conf_enable_disable.ini
index 4e95294..4e95294 100644
--- a/src/tests/broken_configuration/config/borken_conf_enable_disable.ini
+++ b/src/tests/broken_configuration/config/broken_conf_enable_disable.ini
diff --git a/src/tests/broken_configuration/config/broken_conf_enable_disable2.ini b/src/tests/broken_configuration/config/broken_conf_enable_disable2.ini
new file mode 100644
index 0000000..7ed0c16
--- /dev/null
+++ b/src/tests/broken_configuration/config/broken_conf_enable_disable2.ini
@@ -0,0 +1,3 @@
1sp.global_strict.enable();
2sp.global_strict.disable();
3;; this is actually not recognised as broken, as there is no internal third state for 'unset'
diff --git a/src/tests/broken_configuration/config/borken_conf_upload_validation.ini b/src/tests/broken_configuration/config/broken_conf_upload_validation.ini
index 7c94185..7c94185 100644
--- a/src/tests/broken_configuration/config/borken_conf_upload_validation.ini
+++ b/src/tests/broken_configuration/config/broken_conf_upload_validation.ini
diff --git a/src/tests/broken_configuration/config/config_encrypted_cookies_noname.ini b/src/tests/broken_configuration/config/config_encrypted_cookies_noname.ini
index 048e404..43a4284 100644
--- a/src/tests/broken_configuration/config/config_encrypted_cookies_noname.ini
+++ b/src/tests/broken_configuration/config/config_encrypted_cookies_noname.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("").encrypt(); 2sp.cookie.name("").encrypt();
3sp.auto_cookie_secure.enable(); 3sp.auto_cookie_secure.enable();
diff --git a/src/tests/broken_configuration/config/config_encrypted_regexp_cookies_bad_regexp.ini b/src/tests/broken_configuration/config/config_encrypted_regexp_cookies_bad_regexp.ini
index 4fe92fd..817de14 100644
--- a/src/tests/broken_configuration/config/config_encrypted_regexp_cookies_bad_regexp.ini
+++ b/src/tests/broken_configuration/config/config_encrypted_regexp_cookies_bad_regexp.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name_r("^super_co[a-z+$").encrypt(); 2sp.cookie.name_r("^super_co[a-z+$").encrypt();
3sp.auto_cookie_secure.enable(); 3sp.auto_cookie_secure.enable();
diff --git a/src/tests/broken_configuration/config/config_encryption_key_short.ini b/src/tests/broken_configuration/config/config_encryption_key_short.ini
new file mode 100644
index 0000000..7de4438
--- /dev/null
+++ b/src/tests/broken_configuration/config/config_encryption_key_short.ini
@@ -0,0 +1 @@
sp.global.secret_key("abcdef");
diff --git a/src/tests/broken_configuration/encrypt_key_too_short.phpt b/src/tests/broken_configuration/encrypt_key_too_short.phpt
new file mode 100644
index 0000000..a6feb6e
--- /dev/null
+++ b/src/tests/broken_configuration/encrypt_key_too_short.phpt
@@ -0,0 +1,22 @@
1--TEST--
2Cookie encryption key too short
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/config_encryption_key_short.ini
7error_log=/dev/null
8--COOKIE--
9--ENV--
10return <<<EOF
11REMOTE_ADDR=2001:0db8:0000:0000:0000:fe00:0042:8329
12HTTP_USER_AGENT=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/59.0.3071.109 Chrome/59.0.3071.109 Safari/537.36
13HTTPS=1
14EOF;
15--FILE--
16<?php
17?>
18--EXPECT--
19Fatal error: [snuffleupagus][2001:0db8:0000:0000:0000:fe00:0042:8329][config][log] The encryption key set on line 1 is too short. please use at least 10 bytes in Unknown on line 0
20
21Fatal error: [snuffleupagus][2001:0db8:0000:0000:0000:fe00:0042:8329][config][log] Invalid configuration file in Unknown on line 0
22Could not startup. \ No newline at end of file
diff --git a/src/tests/broken_configuration/encrypt_regexp_cookies_bad_regexp.phpt b/src/tests/broken_configuration/encrypt_regexp_cookies_bad_regexp.phpt
index 7a8c909..f660f28 100644
--- a/src/tests/broken_configuration/encrypt_regexp_cookies_bad_regexp.phpt
+++ b/src/tests/broken_configuration/encrypt_regexp_cookies_bad_regexp.phpt
@@ -6,7 +6,7 @@ Cookie decryption in ipv4
6sp.configuration_file={PWD}/config/config_encrypted_regexp_cookies_bad_regexp.ini 6sp.configuration_file={PWD}/config/config_encrypted_regexp_cookies_bad_regexp.ini
7error_reporting=1 7error_reporting=1
8--COOKIE-- 8--COOKIE--
9super_cookie=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3gV9YJZL/pUeNAjCKFW0U2ywmf1CwHzwd2pWM=;awful_cookie=awful_cookie_value; 9super_cookie=IpRZV4rivSjANrEOSxINd%2FdFe17giJgaAAAAAAAAAAAAAAAAAAAAALnmBVs%2BTILKxauHeGcUyJpR%2BX2UiZ6OamUTaWc=;awful_cookie=awful_cookie_value;
10--ENV-- 10--ENV--
11return <<<EOF 11return <<<EOF
12REMOTE_ADDR=127.0.0.1 12REMOTE_ADDR=127.0.0.1
@@ -14,9 +14,7 @@ HTTP_USER_AGENT=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like
14EOF; 14EOF;
15--FILE-- 15--FILE--
16<?php var_dump($_COOKIE); ?> 16<?php var_dump($_COOKIE); ?>
17--EXPECT-- 17--EXPECTF--
18Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0 18Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0
19 19%A
20Fatal error: [snuffleupagus][127.0.0.1][config][log] Failed to compile '^super_co[a-z+$': missing terminating ] for character class on line 2. in Unknown on line 0 20Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid regexp '^super_co[a-z+$' for '.name_r()' on line 2 in Unknown on line 0
21
22Fatal error: [snuffleupagus][127.0.0.1][config][log] '.name_r()' is expecting a valid regexp, and not '"^super_co[a-z+$"' on line 2 in Unknown on line 0
diff --git a/src/tests/broken_configuration_php8/broken_conf.phpt b/src/tests/broken_configuration_php8/broken_conf.phpt
deleted file mode 100644
index 7dde7d6..0000000
--- a/src/tests/broken_configuration_php8/broken_conf.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration prefix for 'this is a broken line' on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf2.phpt b/src/tests/broken_configuration_php8/broken_conf2.phpt
deleted file mode 100644
index bf337b4..0000000
--- a/src/tests/broken_configuration_php8/broken_conf2.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf2.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration section 'sp.wrong' on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_allow_broken_disabled.phpt b/src/tests/broken_configuration_php8/broken_conf_allow_broken_disabled.phpt
deleted file mode 100644
index 9dd0c66..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_allow_broken_disabled.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
1--TEST--
2Broken configuration with allow broken turned off
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf.ini
8sp.allow_broken_configuration=Off
9--FILE--
10<?php
11echo 1337;
12?>
13--EXPECT--
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration prefix for 'this is a broken line' on line 1 in Unknown on line 0
16
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
18Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_allow_broken_enabled.phpt b/src/tests/broken_configuration_php8/broken_conf_allow_broken_enabled.phpt
deleted file mode 100644
index eccc8a8..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_allow_broken_enabled.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration with allow broken turned on
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf.ini
8sp.allow_broken_configuration=On
9--FILE--
10<?php
11echo 1337;
12?>
13--EXPECT--
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration prefix for 'this is a broken line' on line 1 in Unknown on line 0
161337
diff --git a/src/tests/broken_configuration_php8/broken_conf_config_regexp.phpt b/src/tests/broken_configuration_php8/broken_conf_config_regexp.phpt
deleted file mode 100644
index 76ef208..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_config_regexp.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_config_regexp.ini
8--FILE--
9--EXPECTF--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '*.': %s on line 1. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] '.filename_r()' is expecting a valid regexp, and not '"*."' on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_config_regexp_no_closing_paren.phpt b/src/tests/broken_configuration_php8/broken_conf_config_regexp_no_closing_paren.phpt
deleted file mode 100644
index 5bdca06..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_config_regexp_no_closing_paren.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration - regexp without a closing parenthesis
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_config_regexp_no_closing_paren.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"*."': it doesn't look like a valid string on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] '.filename_r()' is expecting a valid regexp, and not '"*."' on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_cookie_encryption_without_encryption_key.phpt b/src/tests/broken_configuration_php8/broken_conf_cookie_encryption_without_encryption_key.phpt
deleted file mode 100644
index 0447320..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_cookie_encryption_without_encryption_key.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration - encrypted cookie without encryption key
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_encryption_without_encryption_key.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.encryption_key` option in`sp.global`: please set it first in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_cookie_encryption_without_env_var.phpt b/src/tests/broken_configuration_php8/broken_conf_cookie_encryption_without_env_var.phpt
deleted file mode 100644
index 204430d..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_cookie_encryption_without_env_var.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration - encrypted cookie with without cookie env var
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_encryption_without_env_var.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.cookie_env_var` option in`sp.global`: please set it first in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_cookie_name_and_regexp.phpt b/src/tests/broken_configuration_php8/broken_conf_cookie_name_and_regexp.phpt
deleted file mode 100644
index 8648b4f..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_cookie_name_and_regexp.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration - encrypted cookie with name and regexp
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_name_and_regexp.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] name and name_r are mutually exclusive on line 2 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_enable_disable.phpt b/src/tests/broken_configuration_php8/broken_conf_enable_disable.phpt
deleted file mode 100644
index 54e4d32..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_enable_disable.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Global strict mode
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/borken_conf_enable_disable.ini
8--FILE--
9--EXPECTF--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_eval.phpt b/src/tests/broken_configuration_php8/broken_conf_eval.phpt
deleted file mode 100644
index 1a6ad4d..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_eval.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration for eval
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_eval.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"cos,sin': it doesn't look like a valid string on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_expecting_bool.phpt b/src/tests/broken_configuration_php8/broken_conf_expecting_bool.phpt
deleted file mode 100644
index 682a4f5..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_expecting_bool.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Bad boolean value in configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_expecting_bool.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '337);' at the end of '.enable(1337);' on line 5 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr.phpt b/src/tests/broken_configuration_php8/broken_conf_invalid_cidr.phpt
deleted file mode 100644
index f66d8b6..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] '42' isn't a valid ipv4 mask. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr6.phpt b/src/tests/broken_configuration_php8/broken_conf_invalid_cidr6.phpt
deleted file mode 100644
index 91bd4a2..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr6.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr6.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] 'ZZZ' isn't a valid network mask. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr6_no_slash.phpt b/src/tests/broken_configuration_php8/broken_conf_invalid_cidr6_no_slash.phpt
deleted file mode 100644
index c6c8231..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr6_no_slash.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration, invalid cidr for ipv6 because there is no `/` in it
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr6_no_slash.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] '2001:0db8:0000:0000:0000:ff00:0042:8329' isn't a valid network mask, it seems that you forgot a '/'. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr6_too_big.phpt b/src/tests/broken_configuration_php8/broken_conf_invalid_cidr6_too_big.phpt
deleted file mode 100644
index 47d4a5d..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr6_too_big.phpt
+++ /dev/null
@@ -1,9 +0,0 @@
1--TEST--
2Broken configuration, cidr for ipv6 is too big, that will `mod` to 25.
3(13337%128 = 25)
4--SKIPIF--
5<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_cidr6_too_big.ini
8--FILE--
9--EXPECT--
diff --git a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr_value.phpt b/src/tests/broken_configuration_php8/broken_conf_invalid_cidr_value.phpt
deleted file mode 100644
index dbe5414..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_invalid_cidr_value.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
1--TEST--
2Broken configuration, invalid cidr value
3(13337%128 = 25)
4--SKIPIF--
5<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
6<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
7--INI--
8sp.configuration_file={PWD}/config/broken_conf_invalid_cidr_value.ini
9--FILE--
10--EXPECT--
11
12Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0
13
14Fatal error: [snuffleupagus][0.0.0.0][config][log] " doesn't contain a valid cidr on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
17Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_invalid_filename.phpt b/src/tests/broken_configuration_php8/broken_conf_invalid_filename.phpt
deleted file mode 100644
index cb78f85..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_invalid_filename.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration filename without absolute path
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_filename.ini
8--FILE--
9--EXPECTF--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("sprintf").filename("wrong file name").drop();':'.filename' must be an absolute path or a phar archive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_invalid_log_media.phpt b/src/tests/broken_configuration_php8/broken_conf_invalid_log_media.phpt
deleted file mode 100644
index 68581b6..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_invalid_log_media.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration filename with improper log media
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_log_media.ini
8--FILE--
9--EXPECTF--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] .log_media() only supports 'syslog' or 'php', on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_invalid_type.phpt b/src/tests/broken_configuration_php8/broken_conf_invalid_type.phpt
deleted file mode 100644
index 188d610..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_invalid_type.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken conf with wrong type
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_invalid_type.ini
8--FILE--
9--EXPECTF--
10
11Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"totally_wrong"_type")': it doesn't look like a valid string on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_key_value.phpt b/src/tests/broken_configuration_php8/broken_conf_key_value.phpt
deleted file mode 100644
index 1b51bd7..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_key_value.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_key_value.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").var("").value("").key("").drop();':`key` and `value` are mutually exclusive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_line_empty_string.phpt b/src/tests/broken_configuration_php8/broken_conf_line_empty_string.phpt
deleted file mode 100644
index 2d370ac..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_line_empty_string.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Configuration line with an empty string
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_line_empty_string.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_line_no_closing.phpt b/src/tests/broken_configuration_php8/broken_conf_line_no_closing.phpt
deleted file mode 100644
index d3c826f..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_line_no_closing.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Configuration line without closing parenthese
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_line_no_closing.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"123"': it doesn't look like a valid string on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_1.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_1.phpt
deleted file mode 100644
index 52cd962..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_1.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_1.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value ']' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_10.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_10.phpt
deleted file mode 100644
index 7817a19..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_10.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_10.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]asd' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_11.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_11.phpt
deleted file mode 100644
index 06099a5..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_11.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_11.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `::` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd::' for `param` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_12.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_12.phpt
deleted file mode 100644
index df753df..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_12.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_12.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Empty value in `var` on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_13.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_13.phpt
deleted file mode 100644
index 80bc068..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_13.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_13.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd->asd' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_14.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_14.phpt
deleted file mode 100644
index 749c317..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_14.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_14.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid var name: $i+valid var name . in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$i+valid var name ' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_15.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_15.phpt
deleted file mode 100644
index 97eab54..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_15.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_15.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid var name: $i$$!@#. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$i$$!@#->qwe' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_16.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_16.phpt
deleted file mode 100644
index c643144..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_16.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_16.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Missing a closing quote. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '"' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_2.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_2.phpt
deleted file mode 100644
index 8b769af..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_2.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_2.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `"` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '""asd' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_3.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_3.phpt
deleted file mode 100644
index 850a977..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_3.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_3.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '$qwe->::' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_4.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_4.phpt
deleted file mode 100644
index 5146590..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_4.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_4.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `"` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '"asd"asd[]' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_5.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_5.phpt
deleted file mode 100644
index a7f8183..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_5.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_5.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `'` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value ''asd'asd[]' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_6.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_6.phpt
deleted file mode 100644
index 283cb41..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_6.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_6.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `'` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '''asd' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_7.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_7.phpt
deleted file mode 100644
index 223e599..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_7.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_7.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `->` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd-->' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_8.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_8.phpt
deleted file mode 100644
index 058b5dd..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_8.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_8.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]"asd"' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_local_var_9.phpt b/src/tests/broken_configuration_php8/broken_conf_local_var_9.phpt
deleted file mode 100644
index c1eeae6..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_local_var_9.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_local_var_9.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'asd[asd]'asd'' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_lots_of_quotes.phpt b/src/tests/broken_configuration_php8/broken_conf_lots_of_quotes.phpt
deleted file mode 100644
index e599e62..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_lots_of_quotes.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Configuration line with too many quotes
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_lots_of_quotes.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"this\"is a weird\"\"\"cookie\"name"");': it doesn't look like a valid string on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_missing_script.phpt b/src/tests/broken_configuration_php8/broken_conf_missing_script.phpt
deleted file mode 100644
index 2ddb70f..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_missing_script.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
1--TEST--
2Invalid configuration file for upload
3--SKIPIF--
4<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6file_uploads=1
7sp.configuration_file={PWD}/config/broken_conf_missing_script.ini
8--FILE--
9<?php
10echo 1;
11?>
12--EXPECTF--
13
14Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` directive is mandatory in '.enable();' on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
17Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive.phpt
deleted file mode 100644
index 800cffa..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").value_r("^id$").drop();': '.r_value' and '.value' are mutually exclusive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive10.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive10.phpt
deleted file mode 100644
index c863bf9..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive10.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration - enabled/disabled readonly
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive10.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive11.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive11.phpt
deleted file mode 100644
index 6bdb959..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive11.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration - ret and var are mutually exclusives
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive11.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("strcmp").drop().ret("hip").var("hop");':`ret` and `var` are mutually exclusive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive12.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive12.phpt
deleted file mode 100644
index 1855fca..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive12.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration - ret and value are mutually exclusive
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive12.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("strcmp").drop().ret("hip").value("hop");':`ret` and `value` are mutually exclusive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive2.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive2.phpt
deleted file mode 100644
index 286ea04..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive2.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive2.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").function_r("system").param("id").value("42").drop();': '.r_function' and '.function' are mutually exclusive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive3.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive3.phpt
deleted file mode 100644
index b377179..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive3.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive3.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").filename_r("^id$").filename("pouet.txt").drop();': '.r_filename' and '.filename' are mutually exclusive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive4.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive4.phpt
deleted file mode 100644
index 5f22a47..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive4.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive4.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").param_r("^id$").drop();':'.r_param', '.param' and '.pos' are mutually exclusive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive5.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive5.phpt
deleted file mode 100644
index 55d0eda..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive5.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive5.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").ret("0").drop().ret_r("^0$");': '.r_ret' and '.ret' are mutually exclusive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive6.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive6.phpt
deleted file mode 100644
index 7dc6985..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive6.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive6.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").param("id").value("42").ret_r("^0$").drop();':`ret` and `param` are mutually exclusive on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive7.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive7.phpt
deleted file mode 100644
index ff7f415..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive7.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive7.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.function("system").ret("0").drop().allow();': The rule must either be a `drop` or `allow` one on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive8.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive8.phpt
deleted file mode 100644
index 6ccd508..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive8.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive8.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration line: 'sp.disabled_functions.ret("0").drop();': must take a function name on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive9.phpt b/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive9.phpt
deleted file mode 100644
index e4a2d6f..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_mutually_exclusive9.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration - enabled/disabled unserialize
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_mutually_exclusive9.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_no_cookie_action.phpt b/src/tests/broken_configuration_php8/broken_conf_no_cookie_action.phpt
deleted file mode 100644
index 5fb3f0b..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_no_cookie_action.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Bad config, invalid action.
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_action.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] You must specify a at least one action to a cookie on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_no_cookie_name.phpt b/src/tests/broken_configuration_php8/broken_conf_no_cookie_name.phpt
deleted file mode 100644
index 1b2922b..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_no_cookie_name.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken configuration - encrypted cookie with no name
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/config_encrypted_cookies_noname.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] You must specify a cookie name/regexp on line 2 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_no_file_specified.phpt b/src/tests/broken_configuration_php8/broken_conf_no_file_specified.phpt
deleted file mode 100644
index cb2d95f..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_no_file_specified.phpt
+++ /dev/null
@@ -1,10 +0,0 @@
1--TEST--
2Broken configuration - No configuration file specified
3--INI--
4--SKIPIF--
5<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
6--FILE--
7<?php echo "1\n"; ?>
8--EXPECT--
9Warning: [snuffleupagus][0.0.0.0][config][log] No configuration specificed via sp.configuration_file in Unknown on line 0
101
diff --git a/src/tests/broken_configuration_php8/broken_conf_nonexisting_script.phpt b/src/tests/broken_configuration_php8/broken_conf_nonexisting_script.phpt
deleted file mode 100644
index 21717a8..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_nonexisting_script.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
1--TEST--
2Invalid configuration file for upload
3--SKIPIF--
4<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6file_uploads=1
7sp.configuration_file={PWD}/config/broken_conf_nonexisting_script.ini
8--FILE--
9<?php
10echo 1;
11?>
12--EXPECTF--
13
14Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` (./non_existing_script.sh) doesn't exist on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
17Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_quotes.phpt b/src/tests/broken_configuration_php8/broken_conf_quotes.phpt
deleted file mode 100644
index d437669..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_quotes.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration - missing quote
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_quotes.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] You forgot to close a bracket. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value '_SERVER[PHP_SELF' for `var` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_readonly_exec.phpt b/src/tests/broken_configuration_php8/broken_conf_readonly_exec.phpt
deleted file mode 100644
index 7e74683..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_readonly_exec.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
1--TEST--
2Invalid configuration file for readonly_exec
3--SKIPIF--
4<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6file_uploads=1
7sp.configuration_file={PWD}/config/broken_conf_readonly_exec.ini
8--FILE--
9<?php
10echo 1;
11?>
12--EXPECTF--
13
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '234);' at the end of '.enable(1234);' on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
17Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_samesite.phpt b/src/tests/broken_configuration_php8/broken_conf_samesite.phpt
deleted file mode 100644
index c905fd8..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_samesite.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Bad config, invalid samesite type.
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_cookie_samesite.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] nop is an invalid value to samesite (expected Lax or Strict) on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_session_encryption.phpt b/src/tests/broken_configuration_php8/broken_conf_session_encryption.phpt
deleted file mode 100644
index 886eb13..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_session_encryption.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken config, session encryption
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_session_encryption.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars 'nvalid value :/);' at the end of '.encrypt(invalid value :/);' on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_session_encryption_without_encryption_key.phpt b/src/tests/broken_configuration_php8/broken_conf_session_encryption_without_encryption_key.phpt
deleted file mode 100644
index 62ee41e..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_session_encryption_without_encryption_key.phpt
+++ /dev/null
@@ -1,15 +0,0 @@
1--TEST--
2Broken configuration - encrypted session without encryption key
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_session_encryption_without_encryption_key.ini
8--FILE--
9--XFAIL--
10--EXPECT--
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the session cookie encryption feature on line 2 without having set the `.secret_key` option in`sp.global`: please set it first in Unknown on line 0
13
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_session_encryption_without_env_var.phpt b/src/tests/broken_configuration_php8/broken_conf_session_encryption_without_env_var.phpt
deleted file mode 100644
index 5acc1cd..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_session_encryption_without_env_var.phpt
+++ /dev/null
@@ -1,15 +0,0 @@
1--TEST--
2Broken configuration - encrypted session without env var
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_session_encryption_without_env_var.ini
8--FILE--
9--XFAIL--
10--EXPECT--
11
12Fatal error: [snuffleupagus][0.0.0.0][config][log] You're trying to use the session cookie encryption feature on line 2 without having set the `.cookie_env_var` option in`sp.global`: please set it first in Unknown on line 0
13
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
15Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_shown_in_phpinfo.phpt b/src/tests/broken_configuration_php8/broken_conf_shown_in_phpinfo.phpt
deleted file mode 100644
index 2503943..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_shown_in_phpinfo.phpt
+++ /dev/null
@@ -1,27 +0,0 @@
1--TEST--
2Broken configuration
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_config_regexp.ini
8--FILE--
9<?php
10ob_start();
11phpinfo();
12$info = ob_get_clean();
13ob_get_clean();
14if (strstr($info, 'Valid config => no') !== FALSE) {
15 echo "win";
16} else {
17 echo "lose";
18}
19?>
20--EXPECTF--
21
22Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '*.': %s on line 1. in Unknown on line 0
23
24Fatal error: [snuffleupagus][0.0.0.0][config][log] '.filename_r()' is expecting a valid regexp, and not '"*."' on line 1 in Unknown on line 0
25
26Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
27Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_truncated.phpt b/src/tests/broken_configuration_php8/broken_conf_truncated.phpt
deleted file mode 100644
index 059dcac..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_truncated.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Bad boolean value in configuration
3--SKIPIF--
4<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
5<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/config_broken_conf_truncated.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_unserialize.phpt b/src/tests/broken_configuration_php8/broken_conf_unserialize.phpt
deleted file mode 100644
index 327b622..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_unserialize.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
1--TEST--
2Invalid configuration file for unserialize
3--SKIPIF--
4<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6file_uploads=1
7sp.configuration_file={PWD}/config/broken_conf_unserialize.ini
8--FILE--
9<?php
10echo 1;
11?>
12--EXPECTF--
13
14Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '234);' at the end of '.enable(1234);' on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
17Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_upload_validation.phpt b/src/tests/broken_configuration_php8/broken_conf_upload_validation.phpt
deleted file mode 100644
index 9edede6..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_upload_validation.phpt
+++ /dev/null
@@ -1,17 +0,0 @@
1--TEST--
2Invalid configuration file for upload validation
3--SKIPIF--
4<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6file_uploads=1
7sp.configuration_file={PWD}/config/borken_conf_upload_validation.ini
8--FILE--
9<?php
10echo 1;
11?>
12--EXPECTF--
13
14Fatal error: [snuffleupagus][0.0.0.0][error][log] A valid string as parameter is expected on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
17Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_weird_keyword.phpt b/src/tests/broken_configuration_php8/broken_conf_weird_keyword.phpt
deleted file mode 100644
index 75c2e0e..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_weird_keyword.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Bad config, unknown keyword
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_weird_keyword.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '.not_a_valid_keyword("test");' at the end of '.enable().not_a_valid_keyword("test");' on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_wrapper_whitelist.phpt b/src/tests/broken_configuration_php8/broken_conf_wrapper_whitelist.phpt
deleted file mode 100644
index 0011a6e..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_wrapper_whitelist.phpt
+++ /dev/null
@@ -1,18 +0,0 @@
1--TEST--
2Broken configuration with invalid token for wrapper whitelist
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_wrapper_whitelist.ini
8sp.allow_broken_configuration=Off
9--FILE--
10<?php
11echo 1337;
12?>
13--EXPECT--
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Trailing chars '.invalid_param();' at the end of '.invalid_param();' on line 1 in Unknown on line 0
16
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
18Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_wrong_quotes.phpt b/src/tests/broken_configuration_php8/broken_conf_wrong_quotes.phpt
deleted file mode 100644
index b073369..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_wrong_quotes.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Configuration line with too many quotes
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_wrong_quotes.ini
8--FILE--
9--EXPECT--
10
11Fatal error: [snuffleupagus][0.0.0.0][error][log] There is an issue with the parsing of '"\)': it doesn't look like a valid string on line 1 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_conf_wrong_type.phpt b/src/tests/broken_configuration_php8/broken_conf_wrong_type.phpt
deleted file mode 100644
index 1f1cead..0000000
--- a/src/tests/broken_configuration_php8/broken_conf_wrong_type.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Broken conf with wrong type
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_conf_wrong_type.ini
8--FILE--
9--EXPECTF--
10
11Fatal error: [snuffleupagus][0.0.0.0][error][log] .ret_type() is expecting a valid php type ('false', 'true', 'array'. 'object', 'long', 'double', 'null', 'resource', 'reference', 'undef') on line 5 in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_invalid_client_ip4.phpt b/src/tests/broken_configuration_php8/broken_invalid_client_ip4.phpt
deleted file mode 100644
index a96b059..0000000
--- a/src/tests/broken_configuration_php8/broken_invalid_client_ip4.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Invalid client IP
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--ENV--
6return <<<EOF
7REMOTE_ADDR=xyz
8EOF;
9--INI--
10sp.configuration_file={PWD}/config/disabled_functions_cidr.ini
11--FILE--
12<?php
13strpos("1337", "1");
14?>
15--EXPECTF--
16Fatal error: [snuffleupagus][xyz][cidr_match][log] Weird ip (xyz) family in %a/broken_invalid_client_ip4.php on line 2 \ No newline at end of file
diff --git a/src/tests/broken_configuration_php8/broken_regexp.phpt b/src/tests/broken_configuration_php8/broken_regexp.phpt
deleted file mode 100644
index 877f801..0000000
--- a/src/tests/broken_configuration_php8/broken_regexp.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken regexp
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/broken_regexp.ini
8--FILE--
9--EXPECTF--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to compile '^$[': missing terminating ] for character class on line 1. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] '.value_r()' is expecting a valid regexp, and not '"^$["' on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/broken_unmatching_brackets.phpt b/src/tests/broken_configuration_php8/broken_unmatching_brackets.phpt
deleted file mode 100644
index d143cbd..0000000
--- a/src/tests/broken_configuration_php8/broken_unmatching_brackets.phpt
+++ /dev/null
@@ -1,16 +0,0 @@
1--TEST--
2Broken configuration - unmatching brackets
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/config_unmatching_brackets.ini
8--FILE--
9--EXPECTF--
10
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid `]` position. in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid value 'arr[b]]]]]' for `param` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
16Could not startup.
diff --git a/src/tests/broken_configuration_php8/config/borken_conf_enable_disable.ini b/src/tests/broken_configuration_php8/config/borken_conf_enable_disable.ini
deleted file mode 100644
index 4e95294..0000000
--- a/src/tests/broken_configuration_php8/config/borken_conf_enable_disable.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.global_strict.disable().enable();
diff --git a/src/tests/broken_configuration_php8/config/borken_conf_upload_validation.ini b/src/tests/broken_configuration_php8/config/borken_conf_upload_validation.ini
deleted file mode 100644
index 7c94185..0000000
--- a/src/tests/broken_configuration_php8/config/borken_conf_upload_validation.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.upload_validation.script(
diff --git a/src/tests/broken_configuration_php8/config/broken_conf.ini b/src/tests/broken_configuration_php8/config/broken_conf.ini
deleted file mode 100644
index 0595320..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf.ini
+++ /dev/null
@@ -1 +0,0 @@
1this is a broken line
diff --git a/src/tests/broken_configuration_php8/config/broken_conf2.ini b/src/tests/broken_configuration_php8/config/broken_conf2.ini
deleted file mode 100644
index fdb6b8f..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf2.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.wrong
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_cookie_action.ini b/src/tests/broken_configuration_php8/config/broken_conf_cookie_action.ini
deleted file mode 100644
index 5f07c28..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_cookie_action.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.cookie.name("my_cookie_name");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_cookie_encryption_without_encryption_key.ini b/src/tests/broken_configuration_php8/config/broken_conf_cookie_encryption_without_encryption_key.ini
deleted file mode 100644
index a100bd8..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_cookie_encryption_without_encryption_key.ini
+++ /dev/null
@@ -1,2 +0,0 @@
1sp.global.cookie_env_var("MY_SUPER_ENV_VAR_YAY");
2sp.cookie.name("my_cookie_name").encrypt();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_cookie_encryption_without_env_var.ini b/src/tests/broken_configuration_php8/config/broken_conf_cookie_encryption_without_env_var.ini
deleted file mode 100644
index 54cb101..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_cookie_encryption_without_env_var.ini
+++ /dev/null
@@ -1,2 +0,0 @@
1sp.global.secret_key("super secret encryption key");
2sp.cookie.name("my_cookie_name").encrypt();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_cookie_name_and_regexp.ini b/src/tests/broken_configuration_php8/config/broken_conf_cookie_name_and_regexp.ini
deleted file mode 100644
index 503889b..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_cookie_name_and_regexp.ini
+++ /dev/null
@@ -1,2 +0,0 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("my_cookie_name").name_r("my_cookie_regexp").encrypt();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_cookie_samesite.ini b/src/tests/broken_configuration_php8/config/broken_conf_cookie_samesite.ini
deleted file mode 100644
index acc4aa0..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_cookie_samesite.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.cookie.name("my_cookie_name").samesite("nop");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_eval.ini b/src/tests/broken_configuration_php8/config/broken_conf_eval.ini
deleted file mode 100644
index 80ef7e5..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_eval.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.eval_blacklist.list("cos,sin
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_expecting_bool.ini b/src/tests/broken_configuration_php8/config/broken_conf_expecting_bool.ini
deleted file mode 100644
index 51c28b2..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_expecting_bool.ini
+++ /dev/null
@@ -1,5 +0,0 @@
1 # this is an example of broken conf
2
3
4 ; this is another comment
5sp.harden_random.enable(1337);
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr.ini b/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr.ini
deleted file mode 100644
index b1929c1..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").drop().cidr("127.0.0.1/42");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6.ini b/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6.ini
deleted file mode 100644
index 5e91faf..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").drop().cidr("2001:0db8:0000:0000:0000:ff00:0042:8329/ZZZ");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6_no_slash.ini b/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6_no_slash.ini
deleted file mode 100644
index 067209f..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6_no_slash.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").drop().cidr("2001:0db8:0000:0000:0000:ff00:0042:8329");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6_too_big.ini b/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6_too_big.ini
deleted file mode 100644
index f82b18b..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr6_too_big.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").drop().cidr("2001:0db8:0000:0000:0000:ff00:0042:8329/13337");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr_value.ini b/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr_value.ini
deleted file mode 100644
index 06a56bd..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_invalid_cidr_value.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").drop().cidr("
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_invalid_filename.ini b/src/tests/broken_configuration_php8/config/broken_conf_invalid_filename.ini
deleted file mode 100644
index 1be3b51..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_invalid_filename.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("sprintf").filename("wrong file name").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_invalid_log_media.ini b/src/tests/broken_configuration_php8/config/broken_conf_invalid_log_media.ini
deleted file mode 100644
index 9e7cea0..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_invalid_log_media.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.log_media("pouet");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_invalid_type.ini b/src/tests/broken_configuration_php8/config/broken_conf_invalid_type.ini
deleted file mode 100644
index c52994e..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_invalid_type.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("strpos").ret_type("totally_wrong"_type")
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_key_value.ini b/src/tests/broken_configuration_php8/config/broken_conf_key_value.ini
deleted file mode 100644
index a0edaf2..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_key_value.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("").value("").key("").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_line_empty_string.ini b/src/tests/broken_configuration_php8/config/broken_conf_line_empty_string.ini
deleted file mode 100644
index dfa5520..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_line_empty_string.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.cookie.name(
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_line_no_closing.ini b/src/tests/broken_configuration_php8/config/broken_conf_line_no_closing.ini
deleted file mode 100644
index 6a8c922..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_line_no_closing.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.cookie.name("123"
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_1.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_1.ini
deleted file mode 100644
index ae5165c..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_1.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("]").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_10.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_10.ini
deleted file mode 100644
index 93dd07f..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_10.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("asd[asd]asd").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_11.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_11.ini
deleted file mode 100644
index 028b1bd..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_11.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").param("asd::").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_12.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_12.ini
deleted file mode 100644
index a151960..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_12.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_13.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_13.ini
deleted file mode 100644
index e7c9778..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_13.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("asd->asd").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_14.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_14.ini
deleted file mode 100644
index 6c98ec3..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_14.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("$i+valid var name ").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_15.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_15.ini
deleted file mode 100644
index a8dc5a4..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_15.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("$i$$!@#->qwe").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_16.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_16.ini
deleted file mode 100644
index 550719b..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_16.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("\"").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_2.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_2.ini
deleted file mode 100644
index 145a3b5..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_2.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("\"\"asd").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_3.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_3.ini
deleted file mode 100644
index 5d89076..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_3.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("\$qwe->::").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_4.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_4.ini
deleted file mode 100644
index 3ec073b..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_4.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("\"asd\"asd[]").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_5.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_5.ini
deleted file mode 100644
index cd350b6..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_5.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("'asd'asd[]").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_6.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_6.ini
deleted file mode 100644
index 02f4f1a..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_6.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("''asd").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_7.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_7.ini
deleted file mode 100644
index abbd223..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_7.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("asd-->").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_8.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_8.ini
deleted file mode 100644
index fd18487..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_8.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("asd[asd]\"asd\"").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_local_var_9.ini b/src/tests/broken_configuration_php8/config/broken_conf_local_var_9.ini
deleted file mode 100644
index a311b86..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_local_var_9.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").var("asd[asd]\'asd\'").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_lots_of_quotes.ini b/src/tests/broken_configuration_php8/config/broken_conf_lots_of_quotes.ini
deleted file mode 100644
index 189a10d..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_lots_of_quotes.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.cookie.name("this\"is a weird\"\"\"cookie\"name"");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_missing_script.ini b/src/tests/broken_configuration_php8/config/broken_conf_missing_script.ini
deleted file mode 100644
index a46f590..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_missing_script.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.upload_validation.enable();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive.ini
deleted file mode 100644
index 7ea483f..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").param("id").value("42").value_r("^id$").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive10.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive10.ini
deleted file mode 100644
index da8426e..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive10.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.readonly_exec.enable().disable();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive11.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive11.ini
deleted file mode 100644
index cab163f..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive11.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("strcmp").drop().ret("hip").var("hop");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive12.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive12.ini
deleted file mode 100644
index fe140db..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive12.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("strcmp").drop().ret("hip").value("hop");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive2.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive2.ini
deleted file mode 100644
index 3ff3ca7..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive2.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").function_r("system").param("id").value("42").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive3.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive3.ini
deleted file mode 100644
index f4f7604..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive3.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").param("id").value("42").filename_r("^id$").filename("pouet.txt").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive4.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive4.ini
deleted file mode 100644
index c38a727..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive4.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").param("id").value("42").param_r("^id$").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive5.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive5.ini
deleted file mode 100644
index 254b2a3..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive5.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").ret("0").drop().ret_r("^0$");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive6.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive6.ini
deleted file mode 100644
index 7c6712c..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive6.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").param("id").value("42").ret_r("^0$").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive7.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive7.ini
deleted file mode 100644
index feb3486..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive7.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("system").ret("0").drop().allow();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive8.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive8.ini
deleted file mode 100644
index c9c9ea2..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive8.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.ret("0").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive9.ini b/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive9.ini
deleted file mode 100644
index 7bf6a62..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_mutually_exclusive9.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.unserialize_hmac.enable().disable();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_nonexisting_script.ini b/src/tests/broken_configuration_php8/config/broken_conf_nonexisting_script.ini
deleted file mode 100644
index 8327438..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_nonexisting_script.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.upload_validation.enable().script("./non_existing_script.sh");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_quotes.ini b/src/tests/broken_configuration_php8/config/broken_conf_quotes.ini
deleted file mode 100644
index eac8739..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_quotes.ini
+++ /dev/null
@@ -1,3 +0,0 @@
1sp.disable_function.function("system").filename("/static_pages/index.php").var("_SERVER[PHP_SELF").value_r("\"").drop().alias("XSS");
2sp.disable_function.filename("include/imageobject_im.class.php").function("exec").var("CONFIG[im_options]).value_r("[^a-z0-9]").drop();
3
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_readonly_exec.ini b/src/tests/broken_configuration_php8/config/broken_conf_readonly_exec.ini
deleted file mode 100644
index 9e11313..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_readonly_exec.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.readonly_exec.enable(1234);
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_session_encryption.ini b/src/tests/broken_configuration_php8/config/broken_conf_session_encryption.ini
deleted file mode 100644
index 66b7956..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_session_encryption.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.session.encrypt(invalid value :/);
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_session_encryption_without_encryption_key.ini b/src/tests/broken_configuration_php8/config/broken_conf_session_encryption_without_encryption_key.ini
deleted file mode 100644
index 2b6f674..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_session_encryption_without_encryption_key.ini
+++ /dev/null
@@ -1,2 +0,0 @@
1sp.global.cookie_env_var("MY_SUPER_ENV_VAR_YAY");
2sp.session.encrypt();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_session_encryption_without_env_var.ini b/src/tests/broken_configuration_php8/config/broken_conf_session_encryption_without_env_var.ini
deleted file mode 100644
index 43caf4a..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_session_encryption_without_env_var.ini
+++ /dev/null
@@ -1,2 +0,0 @@
1sp.global.secret_key("super secret key, shhhh");
2sp.session.encrypt();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_to_few_args.ini b/src/tests/broken_configuration_php8/config/broken_conf_to_few_args.ini
deleted file mode 100644
index 89e19be..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_to_few_args.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.harden_random.enable();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_unserialize.ini b/src/tests/broken_configuration_php8/config/broken_conf_unserialize.ini
deleted file mode 100644
index 9cdc9a6..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_unserialize.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.unserialize_hmac.enable(1234);
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_weird_keyword.ini b/src/tests/broken_configuration_php8/config/broken_conf_weird_keyword.ini
deleted file mode 100644
index bf5e7f5..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_weird_keyword.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.harden_random.enable().not_a_valid_keyword("test");
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_wrapper_whitelist.ini b/src/tests/broken_configuration_php8/config/broken_conf_wrapper_whitelist.ini
deleted file mode 100644
index b8e08a8..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_wrapper_whitelist.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.wrappers_whitelist.invalid_param();
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_wrong_quotes.ini b/src/tests/broken_configuration_php8/config/broken_conf_wrong_quotes.ini
deleted file mode 100644
index ff41f93..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_wrong_quotes.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.cookie.name("\)
diff --git a/src/tests/broken_configuration_php8/config/broken_conf_wrong_type.ini b/src/tests/broken_configuration_php8/config/broken_conf_wrong_type.ini
deleted file mode 100644
index b2943db..0000000
--- a/src/tests/broken_configuration_php8/config/broken_conf_wrong_type.ini
+++ /dev/null
@@ -1,5 +0,0 @@
1sp.disable_function.function("strpos").ret_type("undef").drop().alias("Return value is undef");
2sp.disable_function.function("strpos").ret_type("null").drop().alias("Return value is null");
3sp.disable_function.function("strpos").ret_type("object").drop().alias("Return value is object");
4sp.disable_function.function("strpos").ret_type("reference").drop().alias("Return value is reference");
5sp.disable_function.function("strpos").ret_type("totally_wrong_type").drop().alias("Return value is FALSE");
diff --git a/src/tests/broken_configuration_php8/config/broken_config_regexp.ini b/src/tests/broken_configuration_php8/config/broken_config_regexp.ini
deleted file mode 100644
index 62bed11..0000000
--- a/src/tests/broken_configuration_php8/config/broken_config_regexp.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function_r("^system$").filename_r("*.").drop();
diff --git a/src/tests/broken_configuration_php8/config/broken_config_regexp_no_closing_paren.ini b/src/tests/broken_configuration_php8/config/broken_config_regexp_no_closing_paren.ini
deleted file mode 100644
index 93e150b..0000000
--- a/src/tests/broken_configuration_php8/config/broken_config_regexp_no_closing_paren.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function_r("^system$").drop().filename_r("*."
diff --git a/src/tests/broken_configuration_php8/config/broken_regexp.ini b/src/tests/broken_configuration_php8/config/broken_regexp.ini
deleted file mode 100644
index 8e4bf69..0000000
--- a/src/tests/broken_configuration_php8/config/broken_regexp.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("AwesomeClass::method3").param("a").drop().value_r("^$[");
diff --git a/src/tests/broken_configuration_php8/config/config_broken_conf_truncated.ini b/src/tests/broken_configuration_php8/config/config_broken_conf_truncated.ini
deleted file mode 100644
index bf05dfb..0000000
--- a/src/tests/broken_configuration_php8/config/config_broken_conf_truncated.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("").param(no quote, omg!
diff --git a/src/tests/broken_configuration_php8/config/config_encrypted_cookies_noname.ini b/src/tests/broken_configuration_php8/config/config_encrypted_cookies_noname.ini
deleted file mode 100644
index 048e404..0000000
--- a/src/tests/broken_configuration_php8/config/config_encrypted_cookies_noname.ini
+++ /dev/null
@@ -1,3 +0,0 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("").encrypt();
3sp.auto_cookie_secure.enable();
diff --git a/src/tests/broken_configuration_php8/config/config_encrypted_regexp_cookies_bad_regexp.ini b/src/tests/broken_configuration_php8/config/config_encrypted_regexp_cookies_bad_regexp.ini
deleted file mode 100644
index 4fe92fd..0000000
--- a/src/tests/broken_configuration_php8/config/config_encrypted_regexp_cookies_bad_regexp.ini
+++ /dev/null
@@ -1,3 +0,0 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name_r("^super_co[a-z+$").encrypt();
3sp.auto_cookie_secure.enable();
diff --git a/src/tests/broken_configuration_php8/config/config_unmatching_brackets.ini b/src/tests/broken_configuration_php8/config/config_unmatching_brackets.ini
deleted file mode 100644
index 45fa4fe..0000000
--- a/src/tests/broken_configuration_php8/config/config_unmatching_brackets.ini
+++ /dev/null
@@ -1 +0,0 @@
1sp.disable_function.function("foo").param("arr[b]]]]]").value("aaa").alias("4").drop();
diff --git a/src/tests/broken_configuration_php8/config/disabled_functions_cidr.ini b/src/tests/broken_configuration_php8/config/disabled_functions_cidr.ini
deleted file mode 100644
index f69ce07..0000000
--- a/src/tests/broken_configuration_php8/config/disabled_functions_cidr.ini
+++ /dev/null
@@ -1,9 +0,0 @@
1sp.disable_function.function("system").drop().cidr("2001:ab9:a::123/64");
2sp.disable_function.function("system").drop().cidr("192.168.0.1/16");
3sp.disable_function.function("system").drop().cidr("127.0.0.1/8");
4sp.disable_function.function("printf").drop().cidr("10.0.0.1/8");
5sp.disable_function.function("strpos").drop().cidr("127.0.0.2/4");
6sp.disable_function.function("strpos").drop().cidr("::ffff:192.0.2.128/128");
7sp.disable_function.function("strpos").drop().cidr("2001:ab9:a::123/64");
8sp.disable_function.function("strpos").drop().cidr("2001:0db8:f000:f000:f000:ff00:0042:8329/124");
9sp.disable_function.function("printf").drop().cidr("2002:0db8:0000:0000:0000:ff00:0042:8329/24");
diff --git a/src/tests/broken_configuration_php8/encrypt_regexp_cookies_bad_regexp.phpt b/src/tests/broken_configuration_php8/encrypt_regexp_cookies_bad_regexp.phpt
deleted file mode 100644
index 7a8c909..0000000
--- a/src/tests/broken_configuration_php8/encrypt_regexp_cookies_bad_regexp.phpt
+++ /dev/null
@@ -1,22 +0,0 @@
1--TEST--
2Cookie decryption in ipv4
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/config_encrypted_regexp_cookies_bad_regexp.ini
7error_reporting=1
8--COOKIE--
9super_cookie=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3gV9YJZL/pUeNAjCKFW0U2ywmf1CwHzwd2pWM=;awful_cookie=awful_cookie_value;
10--ENV--
11return <<<EOF
12REMOTE_ADDR=127.0.0.1
13HTTP_USER_AGENT=Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/59.0.3071.109 Chrome/59.0.3071.109 Safari/537.36
14EOF;
15--FILE--
16<?php var_dump($_COOKIE); ?>
17--EXPECT--
18Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0
19
20Fatal error: [snuffleupagus][127.0.0.1][config][log] Failed to compile '^super_co[a-z+$': missing terminating ] for character class on line 2. in Unknown on line 0
21
22Fatal error: [snuffleupagus][127.0.0.1][config][log] '.name_r()' is expecting a valid regexp, and not '"^super_co[a-z+$"' on line 2 in Unknown on line 0
diff --git a/src/tests/config/config_samesite_cookies.ini b/src/tests/config/config_samesite_cookies.ini
index 1ca498a..627ff3e 100644
--- a/src/tests/config/config_samesite_cookies.ini
+++ b/src/tests/config/config_samesite_cookies.ini
@@ -1,4 +1,4 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("super_cookie").samesite("Lax"); 2sp.cookie.name("super_cookie").samesite("Lax");
3sp.cookie.name("awful_cookie").samesite("strict").encrypt(); 3sp.cookie.name("awful_cookie").samesite("strict").encrypt();
4sp.cookie.name("nice_cookie").samesite("STRICT").encrypt(); 4sp.cookie.name("nice_cookie").samesite("STRICT").encrypt();
diff --git a/src/tests/config/phplog.ini b/src/tests/config/phplog.ini
index 4eaa287..7126996 100644
--- a/src/tests/config/phplog.ini
+++ b/src/tests/config/phplog.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef"); 1sp.global.secret_key("abcdefGHIJ");
2sp.unserialize_hmac.enable(); 2sp.unserialize_hmac.enable();
3sp.log_media("php"); 3sp.log_media("php");
diff --git a/src/tests/config/sid_length_limit.ini b/src/tests/config/sid_length_limit.ini
new file mode 100644
index 0000000..f6ef335
--- /dev/null
+++ b/src/tests/config/sid_length_limit.ini
@@ -0,0 +1 @@
sp.session.sid_min_length("10").sid_max_length("32"); \ No newline at end of file
diff --git a/src/tests/config/syslog.ini b/src/tests/config/syslog.ini
index 17dce05..2210975 100644
--- a/src/tests/config/syslog.ini
+++ b/src/tests/config/syslog.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef"); 1sp.global.secret_key("abcdefGHIJ");
2sp.unserialize_hmac.enable(); 2sp.unserialize_hmac.enable();
3sp.log_media("syslog"); 3sp.log_media("syslog");
diff --git a/src/tests/config/syslog_simulation.ini b/src/tests/config/syslog_simulation.ini
index bb52850..4100444 100644
--- a/src/tests/config/syslog_simulation.ini
+++ b/src/tests/config/syslog_simulation.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef"); 1sp.global.secret_key("abcdefGHIJ");
2sp.unserialize_hmac.enable().simulation(); 2sp.unserialize_hmac.enable().simulation();
3sp.log_media("syslog"); 3sp.log_media("syslog");
diff --git a/src/tests/cookies_encryption/config/config_encrypted_cookies.ini b/src/tests/cookies_encryption/config/config_encrypted_cookies.ini
index 4b50440..2d82478 100644
--- a/src/tests/cookies_encryption/config/config_encrypted_cookies.ini
+++ b/src/tests/cookies_encryption/config/config_encrypted_cookies.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("super_cookie").encrypt(); 2sp.cookie.name("super_cookie").encrypt();
3sp.auto_cookie_secure.enable(); 3sp.auto_cookie_secure.enable();
diff --git a/src/tests/cookies_encryption/config/config_encrypted_cookies_empty_env.ini b/src/tests/cookies_encryption/config/config_encrypted_cookies_empty_env.ini
index 8368d65..311e0ca 100644
--- a/src/tests/cookies_encryption/config/config_encrypted_cookies_empty_env.ini
+++ b/src/tests/cookies_encryption/config/config_encrypted_cookies_empty_env.ini
@@ -1,2 +1,2 @@
1sp.global.secret_key("abcdef").cookie_env_var("SUPER_ENV_VAR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("SUPER_ENV_VAR");
2sp.cookie.name("super_cookie").encrypt(); 2sp.cookie.name("super_cookie").encrypt();
diff --git a/src/tests/cookies_encryption/config/config_encrypted_cookies_simulation.ini b/src/tests/cookies_encryption/config/config_encrypted_cookies_simulation.ini
index 32e24a1..f4f9acc 100644
--- a/src/tests/cookies_encryption/config/config_encrypted_cookies_simulation.ini
+++ b/src/tests/cookies_encryption/config/config_encrypted_cookies_simulation.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("super_cookie").encrypt().simulation(); 2sp.cookie.name("super_cookie").encrypt().simulation();
3sp.auto_cookie_secure.enable(); 3sp.auto_cookie_secure.enable();
diff --git a/src/tests/cookies_encryption/config/config_encrypted_regexp_cookies.ini b/src/tests/cookies_encryption/config/config_encrypted_regexp_cookies.ini
index 8ea77f7..b6fc8b7 100644
--- a/src/tests/cookies_encryption/config/config_encrypted_regexp_cookies.ini
+++ b/src/tests/cookies_encryption/config/config_encrypted_regexp_cookies.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name_r("^super_co[a-z]+$").encrypt(); 2sp.cookie.name_r("^super_co[a-z]+$").encrypt();
3sp.auto_cookie_secure.enable(); 3sp.auto_cookie_secure.enable();
diff --git a/src/tests/cookies_encryption/config/config_encrypted_regexp_cookies_empty_env.ini b/src/tests/cookies_encryption/config/config_encrypted_regexp_cookies_empty_env.ini
index da84df7..43f6f94 100644
--- a/src/tests/cookies_encryption/config/config_encrypted_regexp_cookies_empty_env.ini
+++ b/src/tests/cookies_encryption/config/config_encrypted_regexp_cookies_empty_env.ini
@@ -1,2 +1,2 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name_r("^super_coo[a-z]+$").encrypt(); 2sp.cookie.name_r("^super_coo[a-z]+$").encrypt();
diff --git a/src/tests/cookies_encryption/config/encryption_key_only.ini b/src/tests/cookies_encryption/config/encryption_key_only.ini
index 7de4438..e107f15 100644
--- a/src/tests/cookies_encryption/config/encryption_key_only.ini
+++ b/src/tests/cookies_encryption/config/encryption_key_only.ini
@@ -1 +1 @@
sp.global.secret_key("abcdef"); sp.global.secret_key("abcdefGHIJ");
diff --git a/src/tests/cookies_encryption/encrypt_cookies.phpt b/src/tests/cookies_encryption/encrypt_cookies.phpt
index 49587b7..21ec0ed 100644
--- a/src/tests/cookies_encryption/encrypt_cookies.phpt
+++ b/src/tests/cookies_encryption/encrypt_cookies.phpt
@@ -5,7 +5,7 @@ Cookie decryption in ipv4
5--INI-- 5--INI--
6sp.configuration_file={PWD}/config/config_encrypted_cookies.ini 6sp.configuration_file={PWD}/config/config_encrypted_cookies.ini
7--COOKIE-- 7--COOKIE--
8super_cookie=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3gV9YJZL/pUeNAjCKFW0U2ywmf1CwHzwd2pWM=;awful_cookie=awful_cookie_value; 8super_cookie=IpRZV4rivSjANrEOSxINd%2FdFe17giJgaAAAAAAAAAAAAAAAAAAAAALnmBVs%2BTILKxauHeGcUyJpR%2BX2UiZ6OamUTaWc=;awful_cookie=awful_cookie_value;
9--ENV-- 9--ENV--
10return <<<EOF 10return <<<EOF
11REMOTE_ADDR=127.0.0.1 11REMOTE_ADDR=127.0.0.1
diff --git a/src/tests/cookies_encryption/encrypt_cookies3.phpt b/src/tests/cookies_encryption/encrypt_cookies3.phpt
index beb4efb..f5cadcb 100644
--- a/src/tests/cookies_encryption/encrypt_cookies3.phpt
+++ b/src/tests/cookies_encryption/encrypt_cookies3.phpt
@@ -5,7 +5,7 @@ Cookie decryption with ipv6
5--INI-- 5--INI--
6sp.configuration_file={PWD}/config/config_encrypted_regexp_cookies.ini 6sp.configuration_file={PWD}/config/config_encrypted_regexp_cookies.ini
7--COOKIE-- 7--COOKIE--
8super_cookie=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABM84SCotZTpP6b27Lr5lavORPMvqaKpcUahvxw=;awful_cookie=awful_cookie_value; 8super_cookie=eFXrR4GCQtT4Q7%2FLRVtDBH44aMC4hI33AAAAAAAAAAAAAAAAAAAAAGrtoM2Mltxj8%2B9dELwitKN42C8ZE1kYX%2BKWwjM%3D;awful_cookie=awful_cookie_value;
9--ENV-- 9--ENV--
10return <<<EOF 10return <<<EOF
11REMOTE_ADDR=2001:0db8:0000:0000:0000:fe00:0042:8329 11REMOTE_ADDR=2001:0db8:0000:0000:0000:fe00:0042:8329
diff --git a/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption2.phpt b/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption2.phpt
index 5ec6af5..0c8d024 100644
--- a/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption2.phpt
+++ b/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption2.phpt
@@ -16,4 +16,4 @@ EOF;
16--FILE-- 16--FILE--
17<?php var_dump($_COOKIE); ?> 17<?php var_dump($_COOKIE); ?>
18--EXPECT-- 18--EXPECT--
19Fatal error: [snuffleupagus][127.0.0.1][cookie_encryption][drop] Buffer underflow tentative detected in cookie encryption handling in Unknown on line 0 \ No newline at end of file 19Fatal error: [snuffleupagus][127.0.0.1][cookie_encryption][drop] Buffer underflow (tentative) detected in cookie encryption handling in Unknown on line 0 \ No newline at end of file
diff --git a/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_short_cookie.phpt b/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_short_cookie.phpt
index 00a2cec..53f4f3f 100644
--- a/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_short_cookie.phpt
+++ b/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_short_cookie.phpt
@@ -16,7 +16,7 @@ EOF;
16--FILE-- 16--FILE--
17<?php var_dump($_COOKIE); ?> 17<?php var_dump($_COOKIE); ?>
18--EXPECT-- 18--EXPECT--
19Warning: [snuffleupagus][127.0.0.1][cookie_encryption][simulation] Buffer underflow tentative detected in cookie encryption handling for super_cookie. Using the cookie 'as it' instead of decrypting it in Unknown on line 0 19Warning: [snuffleupagus][127.0.0.1][cookie_encryption][simulation] Buffer underflow tentative detected in cookie encryption handling for super_cookie. Using the cookie 'as is' instead of decrypting it in Unknown on line 0
20array(2) { 20array(2) {
21 ["super_cookie"]=> 21 ["super_cookie"]=>
22 string(3) "AAA" 22 string(3) "AAA"
diff --git a/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_simulation.phpt b/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_simulation.phpt
index 4d8e18d..eefa507 100644
--- a/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_simulation.phpt
+++ b/src/tests/cookies_encryption/encrypt_cookies_invalid_decryption_simulation.phpt
@@ -18,7 +18,7 @@ EOF;
18echo "1337\n"; 18echo "1337\n";
19var_dump($_COOKIE); ?> 19var_dump($_COOKIE); ?>
20--EXPECT-- 20--EXPECT--
21Warning: [snuffleupagus][127.0.0.1][cookie_encryption][simulation] Something went wrong with the decryption of super_cookie. Using the cookie 'as it' instead of decrypting it in Unknown on line 0 21Warning: [snuffleupagus][127.0.0.1][cookie_encryption][simulation] Something went wrong with the decryption of super_cookie. Using the cookie 'as is' instead of decrypting it in Unknown on line 0
221337 221337
23array(2) { 23array(2) {
24 ["super_cookie"]=> 24 ["super_cookie"]=>
diff --git a/src/tests/cookies_encryption/encrypt_regexp_cookies.phpt b/src/tests/cookies_encryption/encrypt_regexp_cookies.phpt
index da44855..41c4f2a 100644
--- a/src/tests/cookies_encryption/encrypt_regexp_cookies.phpt
+++ b/src/tests/cookies_encryption/encrypt_regexp_cookies.phpt
@@ -5,7 +5,7 @@ Cookie decryption in ipv4
5--INI-- 5--INI--
6sp.configuration_file={PWD}/config/config_encrypted_regexp_cookies.ini 6sp.configuration_file={PWD}/config/config_encrypted_regexp_cookies.ini
7--COOKIE-- 7--COOKIE--
8super_cookie=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP3gV9YJZL/pUeNAjCKFW0U2ywmf1CwHzwd2pWM=;awful_cookie=awful_cookie_value; 8super_cookie=IpRZV4rivSjANrEOSxINd%2FdFe17giJgaAAAAAAAAAAAAAAAAAAAAALnmBVs%2BTILKxauHeGcUyJpR%2BX2UiZ6OamUTaWc=;awful_cookie=awful_cookie_value;
9--ENV-- 9--ENV--
10return <<<EOF 10return <<<EOF
11REMOTE_ADDR=127.0.0.1 11REMOTE_ADDR=127.0.0.1
diff --git a/src/tests/cookies_encryption/encrypt_regexp_cookies3.phpt b/src/tests/cookies_encryption/encrypt_regexp_cookies3.phpt
index beb4efb..09f0a75 100644
--- a/src/tests/cookies_encryption/encrypt_regexp_cookies3.phpt
+++ b/src/tests/cookies_encryption/encrypt_regexp_cookies3.phpt
@@ -5,7 +5,7 @@ Cookie decryption with ipv6
5--INI-- 5--INI--
6sp.configuration_file={PWD}/config/config_encrypted_regexp_cookies.ini 6sp.configuration_file={PWD}/config/config_encrypted_regexp_cookies.ini
7--COOKIE-- 7--COOKIE--
8super_cookie=AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABM84SCotZTpP6b27Lr5lavORPMvqaKpcUahvxw=;awful_cookie=awful_cookie_value; 8super_cookie=mzOxoJ9o9Y83iYX15DkJmYrW%2FrJfyB2SAAAAAAAAAAAAAAAAAAAAAKe5DegjtjwoFZirOY4LO6jSlqtZdF%2FUMriwn8w=;awful_cookie=awful_cookie_value;
9--ENV-- 9--ENV--
10return <<<EOF 10return <<<EOF
11REMOTE_ADDR=2001:0db8:0000:0000:0000:fe00:0042:8329 11REMOTE_ADDR=2001:0db8:0000:0000:0000:fe00:0042:8329
diff --git a/src/tests/cookies_encryption/encrypt_regexp_cookies_empty_env.phpt b/src/tests/cookies_encryption/encrypt_regexp_cookies_empty_env.phpt
index 53f2eba..1886cfc 100644
--- a/src/tests/cookies_encryption/encrypt_regexp_cookies_empty_env.phpt
+++ b/src/tests/cookies_encryption/encrypt_regexp_cookies_empty_env.phpt
@@ -16,4 +16,4 @@ EOF;
16--FILE-- 16--FILE--
17<?php echo "1\n\n\n\n\n"; ?> 17<?php echo "1\n\n\n\n\n"; ?>
18--EXPECT-- 18--EXPECT--
19Fatal error: [snuffleupagus][0.0.0.0][cookie_encryption][drop] Buffer underflow tentative detected in cookie encryption handling in Unknown on line 0 \ No newline at end of file 19Fatal error: [snuffleupagus][0.0.0.0][cookie_encryption][drop] Buffer underflow (tentative) detected in cookie encryption handling in Unknown on line 0 \ No newline at end of file
diff --git a/src/tests/cookies_encryption/encrypt_regexp_cookies_invalid_decryption2.phpt b/src/tests/cookies_encryption/encrypt_regexp_cookies_invalid_decryption2.phpt
index 29444dc..d86433e 100644
--- a/src/tests/cookies_encryption/encrypt_regexp_cookies_invalid_decryption2.phpt
+++ b/src/tests/cookies_encryption/encrypt_regexp_cookies_invalid_decryption2.phpt
@@ -16,4 +16,4 @@ EOF;
16--FILE-- 16--FILE--
17<?php var_dump($_COOKIE); ?> 17<?php var_dump($_COOKIE); ?>
18--EXPECT-- 18--EXPECT--
19Fatal error: [snuffleupagus][127.0.0.1][cookie_encryption][drop] Buffer underflow tentative detected in cookie encryption handling in Unknown on line 0 \ No newline at end of file 19Fatal error: [snuffleupagus][127.0.0.1][cookie_encryption][drop] Buffer underflow (tentative) detected in cookie encryption handling in Unknown on line 0 \ No newline at end of file
diff --git a/src/tests/cookies_encryption_warning/config/encrypt_cookies_no_env.ini b/src/tests/cookies_encryption_warning/config/encrypt_cookies_no_env.ini
index 845bd02..b72b311 100644
--- a/src/tests/cookies_encryption_warning/config/encrypt_cookies_no_env.ini
+++ b/src/tests/cookies_encryption_warning/config/encrypt_cookies_no_env.ini
@@ -1,2 +1,2 @@
1sp.global.secret_key("abcdef"); 1sp.global.secret_key("abcdefGHIJ");
2sp.cookie.name("super_cookie").encrypt(); 2sp.cookie.name("super_cookie").encrypt();
diff --git a/src/tests/cookies_encryption_warning/config/encrypt_regexp_cookies_no_env.ini b/src/tests/cookies_encryption_warning/config/encrypt_regexp_cookies_no_env.ini
index 0e1fa30..d4c4535 100644
--- a/src/tests/cookies_encryption_warning/config/encrypt_regexp_cookies_no_env.ini
+++ b/src/tests/cookies_encryption_warning/config/encrypt_regexp_cookies_no_env.ini
@@ -1,2 +1,2 @@
1sp.global.secret_key("abcdef"); 1sp.global.secret_key("abcdefGHIJ");
2sp.cookie.name_r("^super_co[a-z]+$").encrypt(); 2sp.cookie.name_r("^super_co[a-z]+$").encrypt();
diff --git a/src/tests/cookies_encryption_warning/encrypt_cookies_no_env.phpt b/src/tests/cookies_encryption_warning/encrypt_cookies_no_env.phpt
index 015c159..b31bf78 100644
--- a/src/tests/cookies_encryption_warning/encrypt_cookies_no_env.phpt
+++ b/src/tests/cookies_encryption_warning/encrypt_cookies_no_env.phpt
@@ -18,4 +18,4 @@ EOF;
18--EXPECT-- 18--EXPECT--
19Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0 19Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0
20 20
21Fatal error: [snuffleupagus][127.0.0.1][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.cookie_env_var` option in`sp.global`: please set it first in Unknown on line 0 21Fatal error: [snuffleupagus][127.0.0.1][config][log] You're trying to use the cookie encryption feature on line 2 without having set the `.cookie_env_var` option in `sp.global`: please set it first in Unknown on line 0
diff --git a/src/tests/cookies_encryption_warning/encrypt_cookies_no_key.phpt b/src/tests/cookies_encryption_warning/encrypt_cookies_no_key.phpt
index 42f5509..c47389c 100644
--- a/src/tests/cookies_encryption_warning/encrypt_cookies_no_key.phpt
+++ b/src/tests/cookies_encryption_warning/encrypt_cookies_no_key.phpt
@@ -18,4 +18,4 @@ EOF;
18--EXPECT-- 18--EXPECT--
19Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0 19Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0
20 20
21Fatal error: [snuffleupagus][127.0.0.1][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.encryption_key` option in`sp.global`: please set it first in Unknown on line 0 21Fatal error: [snuffleupagus][127.0.0.1][config][log] You're trying to use the cookie encryption feature on line 2 without having set the `.secret_key` option in `sp.global`: please set it first in Unknown on line 0
diff --git a/src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_env.phpt b/src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_env.phpt
index 163cb26..d4b7e6a 100644
--- a/src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_env.phpt
+++ b/src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_env.phpt
@@ -18,4 +18,4 @@ EOF;
18--EXPECT-- 18--EXPECT--
19Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0 19Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0
20 20
21Fatal error: [snuffleupagus][127.0.0.1][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.cookie_env_var` option in`sp.global`: please set it first in Unknown on line 0 21Fatal error: [snuffleupagus][127.0.0.1][config][log] You're trying to use the cookie encryption feature on line 2 without having set the `.cookie_env_var` option in `sp.global`: please set it first in Unknown on line 0
diff --git a/src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_key.phpt b/src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_key.phpt
index df31f2e..0da0dbe 100644
--- a/src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_key.phpt
+++ b/src/tests/cookies_encryption_warning/encrypt_regexp_cookies_no_key.phpt
@@ -18,4 +18,4 @@ EOF;
18--EXPECT-- 18--EXPECT--
19Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0 19Fatal error: [snuffleupagus][127.0.0.1][config][log] Invalid configuration file in Unknown on line 0
20 20
21Fatal error: [snuffleupagus][127.0.0.1][config][log] You're trying to use the cookie encryption featureon line 2 without having set the `.encryption_key` option in`sp.global`: please set it first in Unknown on line 0 21Fatal error: [snuffleupagus][127.0.0.1][config][log] You're trying to use the cookie encryption feature on line 2 without having set the `.secret_key` option in `sp.global`: please set it first in Unknown on line 0
diff --git a/src/tests/cookies_php8/config/config_encrypted_cookies.ini b/src/tests/cookies_php8/config/config_encrypted_cookies.ini
index 4b50440..2d82478 100644
--- a/src/tests/cookies_php8/config/config_encrypted_cookies.ini
+++ b/src/tests/cookies_php8/config/config_encrypted_cookies.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.cookie.name("super_cookie").encrypt(); 2sp.cookie.name("super_cookie").encrypt();
3sp.auto_cookie_secure.enable(); 3sp.auto_cookie_secure.enable();
diff --git a/src/tests/deny_writable/deny_writable_execution_simulation.phpt b/src/tests/deny_writable/deny_writable_execution_simulation.phpt
index d4b8efc..1118dc0 100644
--- a/src/tests/deny_writable/deny_writable_execution_simulation.phpt
+++ b/src/tests/deny_writable/deny_writable_execution_simulation.phpt
@@ -18,7 +18,6 @@ if (TRUE == function_exists("posix_getuid")) {
18 ?> 18 ?>
19--INI-- 19--INI--
20sp.configuration_file={PWD}/config/config_disable_writable_simulation.ini 20sp.configuration_file={PWD}/config/config_disable_writable_simulation.ini
21--XFAIL--
22--FILE-- 21--FILE--
23<?php 22<?php
24$dir = __DIR__; 23$dir = __DIR__;
diff --git a/src/tests/disable_function/config/disabled_function_excess_args.ini b/src/tests/disable_function/config/disabled_function_excess_args.ini
new file mode 100644
index 0000000..289dc33
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_excess_args.ini
@@ -0,0 +1 @@
sp.disable_function.function("foo_excess_args").pos("3").value("blubb").drop()
diff --git a/src/tests/disable_function/config/disabled_function_log_forging.ini b/src/tests/disable_function/config/disabled_function_log_forging.ini
new file mode 100644
index 0000000..05e9b4b
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_log_forging.ini
@@ -0,0 +1 @@
sp.disable_function.function("foo_log_forging").pos("0").value_r("^x").drop()
diff --git a/src/tests/disable_function/config/disabled_function_named_args.ini b/src/tests/disable_function/config/disabled_function_named_args.ini
new file mode 100644
index 0000000..094bc0d
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_function_named_args.ini
@@ -0,0 +1,12 @@
1sp.disable_function.function("foo_named_args_pos").pos("0").value("bob").drop()
2sp.disable_function.function("foo_named_args_param").param("name").value("bob").drop()
3
4sp.disable_function.function("foo_named_args_ooo_pos").pos("0").value("bob").drop()
5sp.disable_function.function("foo_named_args_ooo_param").param("name").value("bob").drop()
6
7sp.disable_function.function("foo_named_args_ooo_opt_pos").pos("2").value("green").drop()
8sp.disable_function.function("foo_named_args_ooo_opt_param").param("color").value("green").drop()
9
10sp.disable_function.function("foo_named_args_skip_pos").pos("2").value("green").drop()
11sp.disable_function.function("foo_named_args_skip_param").param("color").value("green").drop()
12
diff --git a/src/tests/disable_function/config/disabled_functions_chmod.ini b/src/tests/disable_function/config/disabled_functions_chmod.ini
index e601900..22b0af2 100644
--- a/src/tests/disable_function/config/disabled_functions_chmod.ini
+++ b/src/tests/disable_function/config/disabled_functions_chmod.ini
@@ -1,4 +1,2 @@
1# PHP7 and below 1# PHP7 and below
2sp.disable_function.function("chmod").param("mode").value("511").drop(); 2sp.disable_function.function("chmod").param("mode").value("511").drop();
3# PHP8
4sp.disable_function.function("chmod").param("permissions").value("511").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_chmod_php8.ini b/src/tests/disable_function/config/disabled_functions_chmod_php8.ini
new file mode 100644
index 0000000..d07dd31
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_chmod_php8.ini
@@ -0,0 +1,2 @@
1# PHP8
2sp.disable_function.function("chmod").param("permissions").value("511").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_extra.ini b/src/tests/disable_function/config/disabled_functions_extra.ini
new file mode 100644
index 0000000..305c4b3
--- /dev/null
+++ b/src/tests/disable_function/config/disabled_functions_extra.ini
@@ -0,0 +1,7 @@
1sp.disable_function.function("shell_exec").pos("0").value("ls").drop();
2sp.disable_function.function("exec").drop();
3sp.disable_function.function("passthru").drop();
4#sp.disable_function.function("system").drop();
5sp.disable_function.function("proc_open").drop();
6sp.disable_function.function("popen").drop();
7sp.disable_function.function("phpinfo").drop();
diff --git a/src/tests/disable_function/config/disabled_functions_pos.ini b/src/tests/disable_function/config/disabled_functions_pos.ini
index f4c1e05..8b12fc6 100644
--- a/src/tests/disable_function/config/disabled_functions_pos.ini
+++ b/src/tests/disable_function/config/disabled_functions_pos.ini
@@ -1,4 +1,4 @@
1sp.disable_function.function("system").pos("1337").value("id").drop(); 1sp.disable_function.function("system").pos("1337").value("id").drop();
2sp.disable_function.function("system").pos("0").value("id").drop(); 2sp.disable_function.function("system").pos("0").value("id").drop();
3sp.disable_function.function("system").pos("1").param_type("ARRAY").alias("1").drop(); 3sp.disable_function.function("system").pos("0").param_type("ARRAY").alias("1").drop();
4sp.disable_function.function("strtoupper").pos("0").value("id").alias("strlen array").drop(); 4sp.disable_function.function("strtoupper").pos("0").value("id").alias("strlen array").drop();
diff --git a/src/tests/disable_function/disabled_function_excess_args.phpt b/src/tests/disable_function/disabled_function_excess_args.phpt
new file mode 100644
index 0000000..31b3f33
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_excess_args.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions with excess arguments
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_excess_args.ini
7--FILE--
8<?php
9function foo_excess_args($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_excess_args("bob", "hi", "green", "blubb");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_excess_args' in %s.php on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_log_forging.phpt b/src/tests/disable_function/disabled_function_log_forging.phpt
new file mode 100644
index 0000000..fcc37dc
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_log_forging.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions log forging test
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_log_forging.ini
7--FILE--
8<?php
9function foo_log_forging($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_log_forging("x' matched a rule in /etc/passwd on line 1\nFatal error: [snuffleupagus][0.0.0.0][silly_error][drop] secondary problem '<script>alert('0wned!');</script>");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_log_forging', because its argument 'name' %s on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_named_args_ooo_opt_param.phpt b/src/tests/disable_function/disabled_function_named_args_ooo_opt_param.phpt
new file mode 100644
index 0000000..6ca49d4
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_named_args_ooo_opt_param.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions with out-of-order named optional arguments by matching argument name
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_named_args.ini
7--FILE--
8<?php
9function foo_named_args_ooo_opt_param($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_named_args_ooo_opt_param("bob", color: "green", greeting: "xxx");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_named_args_ooo_opt_param', because its argument '$color'%s matched a rule in %s.php on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_named_args_ooo_opt_pos.phpt b/src/tests/disable_function/disabled_function_named_args_ooo_opt_pos.phpt
new file mode 100644
index 0000000..86abbee
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_named_args_ooo_opt_pos.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions with out-of-order named optional arguments by matching argument position
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_named_args.ini
7--FILE--
8<?php
9function foo_named_args_ooo_opt_pos($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_named_args_ooo_opt_pos("bob", color: "green", greeting: "xxx");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_named_args_ooo_opt_pos', because its argument 'color'%s matched a rule in %s.php on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_named_args_ooo_param.phpt b/src/tests/disable_function/disabled_function_named_args_ooo_param.phpt
new file mode 100644
index 0000000..a77fc09
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_named_args_ooo_param.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions with out-of-order named arguments by matching argument name
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_named_args.ini
7--FILE--
8<?php
9function foo_named_args_ooo_param($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_named_args_ooo_param(greeting: "hello!", name: "bob");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_named_args_ooo_param', because its argument '$name'%s matched a rule in %s.php on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_named_args_ooo_pos.phpt b/src/tests/disable_function/disabled_function_named_args_ooo_pos.phpt
new file mode 100644
index 0000000..ab7cc00
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_named_args_ooo_pos.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions with out-of-order named arguments by matching argument position
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_named_args.ini
7--FILE--
8<?php
9function foo_named_args_ooo_pos($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_named_args_ooo_pos(greeting: "hello!", name: "bob");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_named_args_ooo_pos', because its argument 'name'%s matched a rule in %s.php on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_named_args_param.phpt b/src/tests/disable_function/disabled_function_named_args_param.phpt
new file mode 100644
index 0000000..f07e736
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_named_args_param.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions with named arguments by matching argument name
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_named_args.ini
7--FILE--
8<?php
9function foo_named_args_param($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_named_args_param(name: "bob", greeting: "hello!");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_named_args_param', because its argument '$name'%s matched a rule in %s.php on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_named_args_pos.phpt b/src/tests/disable_function/disabled_function_named_args_pos.phpt
new file mode 100644
index 0000000..c0189fe
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_named_args_pos.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions with named arguments by matching argument position
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_named_args.ini
7--FILE--
8<?php
9function foo_named_args_pos($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_named_args_pos(name: "bob", greeting: "hello!");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_named_args_pos', because its argument 'name'%s matched a rule in %s.php on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_named_args_skip_param.phpt b/src/tests/disable_function/disabled_function_named_args_skip_param.phpt
new file mode 100644
index 0000000..86b1a5e
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_named_args_skip_param.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions with named arguments (skipping opt. args) by matching argument name
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_named_args.ini
7--FILE--
8<?php
9function foo_named_args_skip_param($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_named_args_skip_param("bob", color: "green");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_named_args_skip_param', because its argument '$color'%s matched a rule in %s.php on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_function_named_args_skip_pos.phpt b/src/tests/disable_function/disabled_function_named_args_skip_pos.phpt
new file mode 100644
index 0000000..ce85241
--- /dev/null
+++ b/src/tests/disable_function/disabled_function_named_args_skip_pos.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions with named arguments (skipping opt. args) by matching argument position
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || PHP_VERSION_ID < 80000) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_function_named_args.ini
7--FILE--
8<?php
9function foo_named_args_skip_pos($name, $greeting='HI!', $color='red') {
10 echo "boo\n";
11}
12foo_named_args_skip_pos("bob", color: "green");
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'foo_named_args_skip_pos', because its argument 'color'%s matched a rule in %s.php on line %d \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_functions_chmod.phpt b/src/tests/disable_function/disabled_functions_chmod.phpt
index 28f948d..834bc31 100644
--- a/src/tests/disable_function/disabled_functions_chmod.phpt
+++ b/src/tests/disable_function/disabled_functions_chmod.phpt
@@ -11,4 +11,4 @@ chmod( 'foo', 0777 );
11?> 11?>
12--XFAIL-- 12--XFAIL--
13--EXPECTF-- 13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'chmod', because its argument '$mode' content (511) matched a rule in %a/disabled_function_chmod.php on line %d 14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'chmod', because its argument '$mode' content (511) matched a rule in %a.php on line %d
diff --git a/src/tests/disable_function/disabled_functions_chmod_php8.phpt b/src/tests/disable_function/disabled_functions_chmod_php8.phpt
index 71bb034..c947ba7 100644
--- a/src/tests/disable_function/disabled_functions_chmod_php8.phpt
+++ b/src/tests/disable_function/disabled_functions_chmod_php8.phpt
@@ -4,11 +4,10 @@ Disable functions - chmod, in php8
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?> 5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI-- 6--INI--
7sp.configuration_file={PWD}/config/disabled_functions_chmod.ini 7sp.configuration_file={PWD}/config/disabled_functions_chmod_php8.ini
8--FILE-- 8--FILE--
9<?php 9<?php
10chmod( 'foo', 0777 ); 10chmod( 'foo', 0777 );
11?> 11?>
12--XFAIL--
13--EXPECTF-- 12--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'chmod', because its argument '$permissions' content (511) matched a rule in %a/disabled_function_chmod_php8.php on line %d 13Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'chmod', because its argument '$permissions' content (511) matched a rule in %a.php on line %d
diff --git a/src/tests/disable_function/disabled_functions_exec.phpt b/src/tests/disable_function/disabled_functions_exec.phpt
new file mode 100644
index 0000000..d49ea58
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_exec.phpt
@@ -0,0 +1,12 @@
1--TEST--
2Disable functions - exec
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9echo exec('ls -l');
10?>
11--EXPECTF--
12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'exec' in %a.php on line 2
diff --git a/src/tests/disable_function/disabled_functions_name_type.phpt b/src/tests/disable_function/disabled_functions_name_type.phpt
index 8d70eaa..62a6328 100644
--- a/src/tests/disable_function/disabled_functions_name_type.phpt
+++ b/src/tests/disable_function/disabled_functions_name_type.phpt
@@ -13,4 +13,4 @@ echo strcmp([1,23], "pouet") . "\n";
13--EXPECTF-- 13--EXPECTF--
140 140
15 15
16Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'strcmp', because its argument '$str1' content (ARRAY) matched a rule in %a/disabled_functions_name_type.php on line 3 16Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'strcmp', because its argument '$str1'%smatched a rule in %s/disabled_functions_name_type.php on line 3
diff --git a/src/tests/disable_function/disabled_functions_param_broken_line.phpt b/src/tests/disable_function/disabled_functions_param_broken_line.phpt
index 806816d..5251e4c 100644
--- a/src/tests/disable_function/disabled_functions_param_broken_line.phpt
+++ b/src/tests/disable_function/disabled_functions_param_broken_line.phpt
@@ -2,17 +2,15 @@
2Disable functions - match on a specific line - broken configuration 2Disable functions - match on a specific line - broken configuration
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/disabled_functions_broken_line.ini 6sp.configuration_file={PWD}/config/disabled_functions_broken_line.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9<?php 9<?php
10system("echo 1337"); 10system("echo 1337");
11system("echo 1338"); 11system("echo 1338");
12?> 12?>
13--EXPECTF-- 13--EXPECTF--
14PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to parse arg 'qwe' of `line` on line 1 in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to parse arg 'qwe' of `line` on line 1 in Unknown on line 0 14Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to parse arg 'qwe' of `line` on line 1 in Unknown on line 0
17 15
18Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/disable_function/disabled_functions_param_invalid_pos.phpt b/src/tests/disable_function/disabled_functions_param_invalid_pos.phpt
index e409300..235d3f7 100644
--- a/src/tests/disable_function/disabled_functions_param_invalid_pos.phpt
+++ b/src/tests/disable_function/disabled_functions_param_invalid_pos.phpt
@@ -2,16 +2,14 @@
2Disable functions - match on argument's position 2Disable functions - match on argument's position
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/disabled_functions_invalid_pos.ini 6sp.configuration_file={PWD}/config/disabled_functions_invalid_pos.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9<?php 9<?php
10system("echo 1"); 10system("echo 1");
11?> 11?>
12--EXPECTF-- 12--EXPECTF--
13PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to parse arg 'qwe' of `pos` on line 1 in Unknown on line 0
14
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to parse arg 'qwe' of `pos` on line 1 in Unknown on line 0 13Fatal error: [snuffleupagus][0.0.0.0][config][log] Failed to parse arg 'qwe' of `pos` on line 1 in Unknown on line 0
16 14
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/disable_function/disabled_functions_param_pos.phpt b/src/tests/disable_function/disabled_functions_param_pos.phpt
index bacca62..4204548 100644
--- a/src/tests/disable_function/disabled_functions_param_pos.phpt
+++ b/src/tests/disable_function/disabled_functions_param_pos.phpt
@@ -9,6 +9,4 @@ sp.configuration_file={PWD}/config/disabled_functions_pos.ini
9system("id"); 9system("id");
10?> 10?>
11--EXPECTF-- 11--EXPECTF--
12Warning: [snuffleupagus][0.0.0.0][config][log] It seems that you wrote a rule filtering on the 1337th argument of the function 'system', but it takes only 1 arguments. Matching on _all_ arguments instead. in %a/disabled_functions_param_pos.php on line 2
13
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'system', because its argument 'command' content (id) matched a rule in %a/disabled_functions_param_pos.php on line %d 12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'system', because its argument 'command' content (id) matched a rule in %a/disabled_functions_param_pos.php on line %d
diff --git a/src/tests/disable_function/disabled_functions_passthru.phpt b/src/tests/disable_function/disabled_functions_passthru.phpt
new file mode 100644
index 0000000..27eb8f8
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_passthru.phpt
@@ -0,0 +1,12 @@
1--TEST--
2Disable functions - passthru
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9echo passthru('ls -l');
10?>
11--EXPECTF--
12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'passthru' in %a.php on line 2
diff --git a/src/tests/disable_function/disabled_functions_phpinfo_header_callback.phpt b/src/tests/disable_function/disabled_functions_phpinfo_header_callback.phpt
new file mode 100644
index 0000000..347101e
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_phpinfo_header_callback.phpt
@@ -0,0 +1,12 @@
1--TEST--
2Disable functions - phpinfo via header_register_callback
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9header_register_callback('phpinfo');
10?>
11--EXPECTF--
12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'phpinfo' in Unknown on line 0
diff --git a/src/tests/disable_function/disabled_functions_popen.phpt b/src/tests/disable_function/disabled_functions_popen.phpt
new file mode 100644
index 0000000..d027aed
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_popen.phpt
@@ -0,0 +1,12 @@
1--TEST--
2Disable functions - popen
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9echo popen('ls -l', 'r');
10?>
11--EXPECTF--
12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'popen' in %a.php on line 2
diff --git a/src/tests/disable_function/disabled_functions_pos_type.phpt b/src/tests/disable_function/disabled_functions_pos_type.phpt
index ba134ad..29944c0 100644
--- a/src/tests/disable_function/disabled_functions_pos_type.phpt
+++ b/src/tests/disable_function/disabled_functions_pos_type.phpt
@@ -9,8 +9,4 @@ sp.configuration_file={PWD}/config/disabled_functions_pos.ini
9system([123, 456]); 9system([123, 456]);
10?> 10?>
11--EXPECTF-- 11--EXPECTF--
12Warning: [snuffleupagus][0.0.0.0][config][log] It seems that you wrote a rule filtering on the 1337th argument of the function 'system', but it takes only 1 arguments. Matching on _all_ arguments instead. in %a/disabled_functions_pos_type.php on line %d
13
14Warning: [snuffleupagus][0.0.0.0][config][log] It seems that you wrote a rule filtering on the 1st argument of the function 'system', but it takes only 1 arguments. Matching on _all_ arguments instead. in %a/disabled_functions_pos_type.php on line %d
15
16Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'system', because its argument 'command' content (?) matched the rule '1' in %a/disabled_functions_pos_type.php on line %d 12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'system', because its argument 'command' content (?) matched the rule '1' in %a/disabled_functions_pos_type.php on line %d
diff --git a/src/tests/disable_function/disabled_functions_proc_open.phpt b/src/tests/disable_function/disabled_functions_proc_open.phpt
new file mode 100644
index 0000000..7c8c7eb
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_proc_open.phpt
@@ -0,0 +1,17 @@
1--TEST--
2Disable functions - proc_open
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9$descriptorspec = array(
10 0 => array("pipe", "r"),
11 1 => array("pipe", "w"),
12 2 => array("pipe", "w")
13);
14echo proc_open('ls', $descriptorspec, $pipes);
15?>
16--EXPECTF--
17Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'proc_open' in %a.php on line 7
diff --git a/src/tests/disable_function/disabled_functions_runtime.phpt b/src/tests/disable_function/disabled_functions_runtime.phpt
index 3d74b40..16ecfdb 100644
--- a/src/tests/disable_function/disabled_functions_runtime.phpt
+++ b/src/tests/disable_function/disabled_functions_runtime.phpt
@@ -29,4 +29,4 @@ unlink("file_to_include2.php");
29--EXPECTF-- 29--EXPECTF--
301338 301338
31 31
32Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'test', because its argument '$param' content (1337) matched a rule in %a/src/file_to_include%d.php on line 1 32Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'test', because its argument '$param' content (1337) matched a rule in %a/file_to_include%d.php on line 1
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_backtick.phpt b/src/tests/disable_function/disabled_functions_shell_exec_backtick.phpt
new file mode 100644
index 0000000..aeb64c2
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_backtick.phpt
@@ -0,0 +1,12 @@
1--TEST--
2Disable functions - shell_exec via backtick operator
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9echo `ls`;
10?>
11--EXPECTF--
12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in %a.php on line 2
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_backtick_var.phpt b/src/tests/disable_function/disabled_functions_shell_exec_backtick_var.phpt
new file mode 100644
index 0000000..a312acf
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_backtick_var.phpt
@@ -0,0 +1,12 @@
1--TEST--
2Disable functions - shell_exec via backtick operator in context of a var name
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9echo ${`ls`};
10?>
11--EXPECTF--
12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in %a.php on line 2
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_backtick_var_string.phpt b/src/tests/disable_function/disabled_functions_shell_exec_backtick_var_string.phpt
new file mode 100644
index 0000000..ea77a7d
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_backtick_var_string.phpt
@@ -0,0 +1,12 @@
1--TEST--
2Disable functions - shell_exec via backtick operator in context of a var name in a string
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9echo "{${`ls`}}";
10?>
11--EXPECTF--
12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in %a.php on line 2
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_closure.phpt b/src/tests/disable_function/disabled_functions_shell_exec_closure.phpt
new file mode 100644
index 0000000..fd9343b
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_closure.phpt
@@ -0,0 +1,13 @@
1--TEST--
2Disable functions - shell_exec via closure
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9$x = Closure::fromCallable('shell_exec');
10echo $x('ls');
11?>
12--EXPECTF--
13Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in %a.php on line 3
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_closure2.phpt b/src/tests/disable_function/disabled_functions_shell_exec_closure2.phpt
new file mode 100644
index 0000000..fac6031
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_closure2.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions - shell_exec via 1st class closure
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80100) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/disabled_functions_extra.ini
8--FILE--
9<?php
10$x = shell_exec(...);
11echo $x('ls');
12?>
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in %a.php on line 3
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_filter_input.phpt b/src/tests/disable_function/disabled_functions_shell_exec_filter_input.phpt
new file mode 100644
index 0000000..8a18d9b
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_filter_input.phpt
@@ -0,0 +1,14 @@
1--TEST--
2Disable functions - shell_exec via filter_input callback
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--GET--
8cmd=ls
9--FILE--
10<?php
11echo filter_input(INPUT_GET, 'cmd', FILTER_CALLBACK, array('options' => 'shell_exec'));
12?>
13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in %a.php on line 2
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_include_data.phpt b/src/tests/disable_function/disabled_functions_shell_exec_include_data.phpt
new file mode 100644
index 0000000..4c13db6
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_include_data.phpt
@@ -0,0 +1,16 @@
1--TEST--
2Disable functions - shell_exec via include(data://)
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 70400) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/disabled_functions_extra.ini
8allow_url_include=1
9--FILE--
10<?php
11include('data://text/plain,'.urlencode('<?php shell_exec("ls");'));
12?>
13--EXPECTF--
14Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in data%a line 1 \ No newline at end of file
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_include_phpfilter.phpt b/src/tests/disable_function/disabled_functions_shell_exec_include_phpfilter.phpt
new file mode 100644
index 0000000..941d168
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_include_phpfilter.phpt
@@ -0,0 +1,16 @@
1--TEST--
2Disable functions - shell_exec via include(php://filter)
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 70400) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/disabled_functions_extra.ini
8allow_url_include=1
9--FILE--
10<?php
11include('php://filter//resource=data://text/plain,'.urlencode('<?php shell_exec("ls");'));
12?>
13--EXPECTF--
14Deprecated: Directive 'allow_url_include' is deprecated in Unknown on line 0
15
16Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in php%a line 1
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_opcache_preload.phpt b/src/tests/disable_function/disabled_functions_shell_exec_opcache_preload.phpt
new file mode 100644
index 0000000..7e076ae
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_opcache_preload.phpt
@@ -0,0 +1,21 @@
1--TEST--
2Disable functions - shell_exec via opcache.preload
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("opcache")) print "skip"; ?>
6<?php if (PHP_VERSION_ID < 70400) print "skip"; ?>
7--EXTENSIONS--
8opcache
9--XFAIL--
10--INI--
11sp.configuration_file={PWD}/config/disabled_functions_extra.ini
12allow_url_include=1
13opcache.enable=1
14opcache.enable_cli=1
15opcache.preload=data://text/plain,%3C%3Fphp+shell_exec%28%22ls%22%29%3B
16opcache.preload_user=nobody
17--FILE--
18<?php
19?>
20--EXPECTF--
21Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in data%a line 1
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_shutdown_function.phpt b/src/tests/disable_function/disabled_functions_shell_exec_shutdown_function.phpt
new file mode 100644
index 0000000..8dcc40e
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_shutdown_function.phpt
@@ -0,0 +1,12 @@
1--TEST--
2Disable functions - shell_exec via register_shutdown_function
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9register_shutdown_function('shell_exec', 'ls');
10?>
11--EXPECTF--
12Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in Unknown on line 0
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_signal.phpt b/src/tests/disable_function/disabled_functions_shell_exec_signal.phpt
new file mode 100644
index 0000000..c0b5103
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_signal.phpt
@@ -0,0 +1,21 @@
1--TEST--
2Disable functions - shell_exec via signal handler
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("pcntl")) print "skip"; ?>
6<?php if (PHP_VERSION_ID < 70100) print "skip"; ?>
7--EXTENSIONS--
8pcntl
9--INI--
10sp.configuration_file={PWD}/config/disabled_functions_extra.ini
11pcntl.async_signals=1
12--FILE--
13<?php
14declare(ticks=1);
15ini_set("pcntl.async_signals", "1");
16pcntl_signal(SIGALRM, function($signo) { shell_exec("ls"); });
17system("kill -14 " . getmypid());
18sleep(5);
19?>
20--EXPECTF--
21Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in %a.php on line 4
diff --git a/src/tests/disable_function/disabled_functions_shell_exec_var.phpt b/src/tests/disable_function/disabled_functions_shell_exec_var.phpt
new file mode 100644
index 0000000..e5a6a4e
--- /dev/null
+++ b/src/tests/disable_function/disabled_functions_shell_exec_var.phpt
@@ -0,0 +1,13 @@
1--TEST--
2Disable functions - shell_exec via var call
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/disabled_functions_extra.ini
7--FILE--
8<?php
9$x = 'shell_exec';
10echo $x('ls');
11?>
12--EXPECTF--
13Fatal error: [snuffleupagus][0.0.0.0][disabled_function][drop] Aborted execution on call of the function 'shell_exec', %a matched a rule in %a.php on line 3
diff --git a/src/tests/dump_request/dump_eval_blacklist.phpt b/src/tests/dump_request/dump_eval_blacklist.phpt
index 07c17f2..c9f48e4 100644
--- a/src/tests/dump_request/dump_eval_blacklist.phpt
+++ b/src/tests/dump_request/dump_eval_blacklist.phpt
@@ -4,6 +4,13 @@ Dump eval blacklist
4<?php 4<?php
5if (!extension_loaded("snuffleupagus")) print "skip"; 5if (!extension_loaded("snuffleupagus")) print "skip";
6?> 6?>
7--CLEAN--
8<?php
9foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) {
10 @unlink($dump);
11}
12@rmdir("/tmp/dump_result/");
13?>
7--POST-- 14--POST--
8post_a=data_post_a&post_b=data_post_b 15post_a=data_post_a&post_b=data_post_b
9--GET-- 16--GET--
@@ -36,5 +43,5 @@ if ($res[3] != "GET:get_a='data_get_a' get_b='data_get_b' \n") {
36--EXPECTF-- 43--EXPECTF--
37Outside of eval: 1337 1337 1337 44Outside of eval: 1337 1337 1337
38 45
39Warning: [snuffleupagus][0.0.0.0][eval][simulation] A call to strtoupper was tried in eval, in %a/dump_eval_blacklist.php:1, logging it. in %a/dump_eval_blacklist.php(9) : eval()'d code on line 1 46Warning: [snuffleupagus][0.0.0.0][eval][simulation] A call to 'strtoupper' was tried in eval. logging it. in %a(9) : eval()'d code on line 1
40After eval: 1234 47After eval: 1234
diff --git a/src/tests/dump_request/dump_eval_whitelist.phpt b/src/tests/dump_request/dump_eval_whitelist.phpt
index 09f5523..cc5a824 100644
--- a/src/tests/dump_request/dump_eval_whitelist.phpt
+++ b/src/tests/dump_request/dump_eval_whitelist.phpt
@@ -4,6 +4,13 @@ Dump eval whitelist
4<?php 4<?php
5if (!extension_loaded("snuffleupagus")) print "skip"; 5if (!extension_loaded("snuffleupagus")) print "skip";
6?> 6?>
7--CLEAN--
8<?php
9foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) {
10 @unlink($dump);
11}
12@rmdir("/tmp/dump_result/");
13?>
7--POST-- 14--POST--
8post_a=data_post_a&post_b=data_post_b 15post_a=data_post_a&post_b=data_post_b
9--GET-- 16--GET--
diff --git a/src/tests/dump_request/dump_request.phpt b/src/tests/dump_request/dump_request.phpt
index d18580b..f8dee11 100644
--- a/src/tests/dump_request/dump_request.phpt
+++ b/src/tests/dump_request/dump_request.phpt
@@ -5,7 +5,9 @@ Dump request
5if (!extension_loaded("snuffleupagus")) { 5if (!extension_loaded("snuffleupagus")) {
6 print "skip"; 6 print "skip";
7} 7}
8 8?>
9--CLEAN--
10<?php
9foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) { 11foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) {
10 @unlink($dump); 12 @unlink($dump);
11} 13}
@@ -21,10 +23,6 @@ cookie_a=data_cookie_a&cookie_b=data_cookie_b
21sp.configuration_file={PWD}/config/dump_request.ini 23sp.configuration_file={PWD}/config/dump_request.ini
22--FILE-- 24--FILE--
23<?php 25<?php
24@mkdir("/tmp/dump_result/");
25foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) {
26 @unlink($dump);
27}
28echo "1\n"; 26echo "1\n";
29system("echo 1337;"); 27system("echo 1337;");
30$filename = glob('/tmp/dump_result/sp_dump.*')[0]; 28$filename = glob('/tmp/dump_result/sp_dump.*')[0];
@@ -40,5 +38,5 @@ if ($res[3] != "GET:get_a='data_get_a' get_b='data_get_b' \n") {
40--EXPECTF-- 38--EXPECTF--
411 391
42 40
43Warning: [snuffleupagus][0.0.0.0][disabled_function][simulation] Aborted execution on call of the function 'system' in %a/dump_request.php on line 7 41Warning: [snuffleupagus][0.0.0.0][disabled_function][simulation] Aborted execution on call of the function 'system' in %a/dump_request.php on line %d
441337 421337
diff --git a/src/tests/dump_request/dump_request_stacktrace.phpt b/src/tests/dump_request/dump_request_stacktrace.phpt
index 0a8b94e..9b02ab5 100644
--- a/src/tests/dump_request/dump_request_stacktrace.phpt
+++ b/src/tests/dump_request/dump_request_stacktrace.phpt
@@ -5,7 +5,9 @@ Dump request
5if (!extension_loaded("snuffleupagus")) { 5if (!extension_loaded("snuffleupagus")) {
6 print "skip"; 6 print "skip";
7} 7}
8 8?>
9--CLEAN--
10<?php
9foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) { 11foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) {
10 @unlink($dump); 12 @unlink($dump);
11} 13}
diff --git a/src/tests/dump_request/dump_request_too_big.phpt b/src/tests/dump_request/dump_request_too_big.phpt
index e82ddc4..fd265f2 100644
--- a/src/tests/dump_request/dump_request_too_big.phpt
+++ b/src/tests/dump_request/dump_request_too_big.phpt
@@ -6,6 +6,13 @@ if (!extension_loaded("snuffleupagus")) {
6 print "skip"; 6 print "skip";
7} 7}
8?> 8?>
9--CLEAN--
10<?php
11foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) {
12 @unlink($dump);
13}
14@rmdir("/tmp/dump_result/");
15?>
9--POST-- 16--POST--
10post_a=data_post_a&post_b=data_post_b&post_c=c 17post_a=data_post_a&post_b=data_post_b&post_c=c
11--GET-- 18--GET--
@@ -20,15 +27,11 @@ END;
20sp.configuration_file={PWD}/config/dump_request.ini 27sp.configuration_file={PWD}/config/dump_request.ini
21--FILE-- 28--FILE--
22<?php 29<?php
23@mkdir("/tmp/dump_result/");
24foreach (glob("/tmp/dump_result/sp_dump.*") as $dump) {
25 @unlink($dump);
26}
27
28echo "1\n"; 30echo "1\n";
29system("echo 1337;"); 31system("echo 1337;");
30$filename = glob('/tmp/dump_result/*')[0]; 32$filename = glob('/tmp/dump_result/*')[0];
31$res = file($filename); 33$res = file($filename);
34// echo $res[3] . "\n";
32if ($res[3] != "GET:get_a='data_get_a' get_b='data_get_b' get_c='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBBBB' \n") { 35if ($res[3] != "GET:get_a='data_get_a' get_b='data_get_b' get_c='aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaBBBB' \n") {
33 echo "Invalid GET"; 36 echo "Invalid GET";
34} elseif ($res[4] != "POST:post_a='data_post_a' post_b='data_post_b' post_c='c' \n") { 37} elseif ($res[4] != "POST:post_a='data_post_a' post_b='data_post_b' post_c='c' \n") {
@@ -40,5 +43,5 @@ if ($res[3] != "GET:get_a='data_get_a' get_b='data_get_b' get_c='aaaaaaaaaaaaaaa
40--EXPECTF-- 43--EXPECTF--
411 441
42 45
43Warning: [snuffleupagus][127.0.0.1][disabled_function][simulation] Aborted execution on call of the function 'system' in %a/dump_request_too_big.php on line 8 46Warning: [snuffleupagus][127.0.0.1][disabled_function][simulation] Aborted execution on call of the function 'system' in %a/dump_request_too_big.php on line %d
441337 471337
diff --git a/src/tests/eval_blacklist/eval_backlist.phpt b/src/tests/eval_blacklist/eval_backlist.phpt
index fa32b4b..2953efc 100644
--- a/src/tests/eval_blacklist/eval_backlist.phpt
+++ b/src/tests/eval_blacklist/eval_backlist.phpt
@@ -14,4 +14,4 @@ echo "After eval: $a\n";
14--EXPECTF-- 14--EXPECTF--
15Outside of eval: 1337 1337 1337 15Outside of eval: 1337 1337 1337
16 16
17Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to strtoupper was tried in eval, in %a/eval_backlist.php:1, dropping it. in %a/eval_backlist.php(4) : eval()'d code on line 1 17Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to 'strtoupper' was tried in eval. dropping it. in %a/eval_backlist.php(4) : eval()'d code on line 1
diff --git a/src/tests/eval_blacklist/eval_backlist_call_user_func.phpt b/src/tests/eval_blacklist/eval_backlist_call_user_func.phpt
index 4c37263..546a53a 100644
--- a/src/tests/eval_blacklist/eval_backlist_call_user_func.phpt
+++ b/src/tests/eval_blacklist/eval_backlist_call_user_func.phpt
@@ -11,4 +11,4 @@ eval('
11') 11')
12?> 12?>
13--EXPECTF-- 13--EXPECTF--
14Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to strtoupper was tried in eval, in %s/eval_backlist_call_user_func.php:%d, dropping it. in %s/eval_backlist_call_user_func.php(%d) : eval()'d code on line %d 14Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to 'strtoupper' was tried in eval. dropping it. in %s/eval_backlist_call_user_func.php(%d) : eval()'d code on line %d
diff --git a/src/tests/eval_blacklist/eval_backlist_chained.phpt b/src/tests/eval_blacklist/eval_backlist_chained.phpt
index 820ef1d..1afb860 100644
--- a/src/tests/eval_blacklist/eval_backlist_chained.phpt
+++ b/src/tests/eval_blacklist/eval_backlist_chained.phpt
@@ -13,4 +13,4 @@ eval('
13') 13')
14?> 14?>
15--EXPECTF-- 15--EXPECTF--
16Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to strtoupper was tried in eval, in %s/eval_backlist_chained.php:%d, dropping it. in %s/eval_backlist_chained.php(%d) : eval()'d code on line %d 16Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to 'strtoupper' was tried in eval. dropping it. in %s/eval_backlist_chained.php(%d) : eval()'d code on line %d
diff --git a/src/tests/eval_blacklist/eval_backlist_list.phpt b/src/tests/eval_blacklist/eval_backlist_list.phpt
index 725a9bb..1efd453 100644
--- a/src/tests/eval_blacklist/eval_backlist_list.phpt
+++ b/src/tests/eval_blacklist/eval_backlist_list.phpt
@@ -14,4 +14,4 @@ echo "After eval: $a\n";
14--EXPECTF-- 14--EXPECTF--
15Outside of eval: 1337 1337 1337 15Outside of eval: 1337 1337 1337
16 16
17Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to strtoupper was tried in eval, in %a/eval_backlist_list.php:1, dropping it. in %a/eval_backlist_list.php(4) : eval()'d code on line 1 17Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to 'strtoupper' was tried in eval. dropping it. in %a/eval_backlist_list.php(4) : eval()'d code on line 1
diff --git a/src/tests/eval_blacklist/eval_backlist_simulation.phpt b/src/tests/eval_blacklist/eval_backlist_simulation.phpt
index f09370d..0cc02b2 100644
--- a/src/tests/eval_blacklist/eval_backlist_simulation.phpt
+++ b/src/tests/eval_blacklist/eval_backlist_simulation.phpt
@@ -14,5 +14,5 @@ echo "After eval: $a\n";
14--EXPECTF-- 14--EXPECTF--
15Outside of eval: 1337 1337 1337 15Outside of eval: 1337 1337 1337
16 16
17Warning: [snuffleupagus][0.0.0.0][eval][simulation] A call to strtoupper was tried in eval, in %a/eval_backlist_simulation.php:1, logging it. in %a/eval_backlist_simulation.php(4) : eval()'d code on line 1 17Warning: [snuffleupagus][0.0.0.0][eval][simulation] A call to 'strtoupper' was tried in eval. logging it. in %a/eval_backlist_simulation.php(4) : eval()'d code on line 1
18After eval: 1234 18After eval: 1234
diff --git a/src/tests/eval_blacklist/nested_eval_blacklist.phpt b/src/tests/eval_blacklist/nested_eval_blacklist.phpt
index 8ff0b6d..a06b66b 100644
--- a/src/tests/eval_blacklist/nested_eval_blacklist.phpt
+++ b/src/tests/eval_blacklist/nested_eval_blacklist.phpt
@@ -26,4 +26,4 @@ Inception lvl 1...
26Inception lvl 2... 26Inception lvl 2...
27Inception lvl 3... 27Inception lvl 3...
28 28
29Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to strtoupper was tried in eval, in %a/nested_eval_blacklist.php(5) : eval()'d code(4) : eval()'d code:3, dropping it. in %a/nested_eval_blacklist.php(5) : eval()'d code(4) : eval()'d code(4) : eval()'d code on line 3 29Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to 'strtoupper' was tried in eval. dropping it. in %a/nested_eval_blacklist.php(5) : eval()'d code(4) : eval()'d code(4) : eval()'d code on line 3
diff --git a/src/tests/eval_blacklist/nested_eval_blacklist2.phpt b/src/tests/eval_blacklist/nested_eval_blacklist2.phpt
index 37f8967..63e56b1 100644
--- a/src/tests/eval_blacklist/nested_eval_blacklist2.phpt
+++ b/src/tests/eval_blacklist/nested_eval_blacklist2.phpt
@@ -26,4 +26,4 @@ Inception lvl 1...
26Inception lvl 2... 26Inception lvl 2...
27Inception lvl 3... 27Inception lvl 3...
28 28
29Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to strtoupper was tried in eval, in %a/nested_eval_blacklist2.php(5) : eval()'d code:7, dropping it. in %a/nested_eval_blacklist2.php(5) : eval()'d code(4) : eval()'d code on line 7 29Fatal error: [snuffleupagus][0.0.0.0][eval][drop] A call to 'strtoupper' was tried in eval. dropping it. in %a/nested_eval_blacklist2.php(5) : eval()'d code(4) : eval()'d code on line 7
diff --git a/src/tests/filter/config/filter.ini b/src/tests/filter/config/filter.ini
new file mode 100644
index 0000000..5ebee61
--- /dev/null
+++ b/src/tests/filter/config/filter.ini
@@ -0,0 +1,3 @@
1sp.global.server_encode.enable();
2sp.global.server_strip.enable();
3
diff --git a/src/tests/filter/server_encode.phpt b/src/tests/filter/server_encode.phpt
new file mode 100644
index 0000000..f7cc233
--- /dev/null
+++ b/src/tests/filter/server_encode.phpt
@@ -0,0 +1,25 @@
1--TEST--
2input filter: server_encode
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/filter.ini
7display_errors=1
8display_startup_errors=1
9error_reporting=E_ALL
10--ENV--
11return <<<EOF
12REQUEST_URI=AAA<>"'`!AAA
13EOF;
14--COOKIE--
15--GET--
16BBB<>"'`!BBB
17--POST--
18--FILE--
19<?php
20var_dump($_SERVER['REQUEST_URI']);
21var_dump($_SERVER['QUERY_STRING']);
22--EXPECT--
23string(22) "AAA%3C%3E%22%27%60!AAA"
24string(22) "BBB%3C%3E%22%27%60!BBB"
25
diff --git a/src/tests/filter/server_strip.phpt b/src/tests/filter/server_strip.phpt
new file mode 100644
index 0000000..83072b4
--- /dev/null
+++ b/src/tests/filter/server_strip.phpt
@@ -0,0 +1,21 @@
1--TEST--
2input filter: server_strip
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI--
6sp.configuration_file={PWD}/config/filter.ini
7display_errors=1
8display_startup_errors=1
9error_reporting=E_ALL
10--ENV--
11return <<<EOF
12HTTP_USER_AGENT=Mozilla/5.0 (Windows NT 6.0; rv:29.0) <script>alert('123');</script>Gecko/20100101 Firefox/29.0
13EOF;
14--COOKIE--
15--GET--
16--POST--
17--FILE--
18<?php
19var_dump($_SERVER['HTTP_USER_AGENT']);
20--EXPECT--
21string(95) "Mozilla/5.0 (Windows NT 6.0; rv:29.0) _script_alert(_123_);_/script_Gecko/20100101 Firefox/29.0"
diff --git a/src/tests/inexistent_conf_file.phpt b/src/tests/inexistent_conf_file.phpt
index cd10665..27b176f 100644
--- a/src/tests/inexistent_conf_file.phpt
+++ b/src/tests/inexistent_conf_file.phpt
@@ -2,14 +2,12 @@
2Check for snuffleupagus presence 2Check for snuffleupagus presence
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/config/unexistent_configuration_file.ini 6sp.configuration_file={PWD}/config/unexistent_configuration_file.ini
7error_log=/dev/null
8--FILE-- 8--FILE--
9<?php ?> 9<?php ?>
10--EXPECTF-- 10--EXPECTF--
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Could not open configuration file %a/config/unexistent_configuration_file.ini : No such file or directory in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Could not open configuration file %a/config/unexistent_configuration_file.ini : No such file or directory in Unknown on line 0 11Fatal error: [snuffleupagus][0.0.0.0][config][log] Could not open configuration file %a/config/unexistent_configuration_file.ini : No such file or directory in Unknown on line 0
14 12
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/inexistent_conf_file_list.phpt b/src/tests/inexistent_conf_file_list.phpt
index 6cac934..fe9a206 100644
--- a/src/tests/inexistent_conf_file_list.phpt
+++ b/src/tests/inexistent_conf_file_list.phpt
@@ -2,14 +2,12 @@
2Non-existent configuration file in a list 2Non-existent configuration file in a list
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 5--INI--
7sp.configuration_file={PWD}/../../config/default.rules,{PWD}/non_existent_configuration_file 6sp.configuration_file={PWD}/../../config/default.rules,{PWD}/non_existent_configuration_file
7error_log=/dev/null
8--FILE-- 8--FILE--
9<?php ?> 9<?php ?>
10--EXPECTF-- 10--EXPECTF--
11PHP Fatal error: [snuffleupagus][0.0.0.0][config][log] Could not open configuration file %a/non_existent_configuration_file : No such file or directory in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Could not open configuration file %a/non_existent_configuration_file : No such file or directory in Unknown on line 0 11Fatal error: [snuffleupagus][0.0.0.0][config][log] Could not open configuration file %a/non_existent_configuration_file : No such file or directory in Unknown on line 0
14 12
15Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
diff --git a/src/tests/ini/config/sp-policy-drop.ini b/src/tests/ini/config/sp-policy-drop.ini
new file mode 100644
index 0000000..4b1e374
--- /dev/null
+++ b/src/tests/ini/config/sp-policy-drop.ini
@@ -0,0 +1,3 @@
1sp.ini_protection.enable();
2sp.ini_protection.policy_drop();
3sp.ini.key("max_execution_time").min("30").max("300");
diff --git a/src/tests/ini/config/sp-policy-silent-fail.ini b/src/tests/ini/config/sp-policy-silent-fail.ini
new file mode 100644
index 0000000..2123837
--- /dev/null
+++ b/src/tests/ini/config/sp-policy-silent-fail.ini
@@ -0,0 +1,3 @@
1sp.ini_protection.enable();
2sp.ini_protection.policy_silent_fail();
3sp.ini.key("max_execution_time").min("30").max("300");
diff --git a/src/tests/ini/config/sp.ini b/src/tests/ini/config/sp.ini
new file mode 100644
index 0000000..86a63a7
--- /dev/null
+++ b/src/tests/ini/config/sp.ini
@@ -0,0 +1,10 @@
1sp.ini_protection.enable();
2
3sp.ini.key("max_execution_time").min("30").max("300");
4sp.ini.key("highlight.comment").regexp("^#[0-9a-fA-F]{6}$");
5sp.ini.key("default_mimetype").set("text/plain").ro();
6
7sp.ini.key("sendmail_from").set("test@example.com").regexp(".*@example\\.com$").allow_null();
8sp.ini.key("unserialize_callback_func").set("def").regexp("^abc$");
9
10sp.ini.key("user_agent").regexp("^abc$").drop();
diff --git a/src/tests/ini/ini_min_policy_drop.phpt b/src/tests/ini/ini_min_policy_drop.phpt
new file mode 100644
index 0000000..ef40ebc
--- /dev/null
+++ b/src/tests/ini/ini_min_policy_drop.phpt
@@ -0,0 +1,13 @@
1--TEST--
2INI protection .min() + .policy_drop()
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print("skip"); ?>
5--INI--
6sp.configuration_file={PWD}/config/sp-policy-drop.ini
7--FILE--
8<?php
9var_dump(ini_set("max_execution_time", "29") === false);
10var_dump(ini_get("max_execution_time"));
11?>
12--EXPECTF--
13Fatal error: [snuffleupagus][0.0.0.0][ini_protection][drop] INI value out of range in %a/ini_min_policy_drop.php on line 2
diff --git a/src/tests/ini/ini_min_policy_silent_fail.phpt b/src/tests/ini/ini_min_policy_silent_fail.phpt
new file mode 100644
index 0000000..d0117a7
--- /dev/null
+++ b/src/tests/ini/ini_min_policy_silent_fail.phpt
@@ -0,0 +1,14 @@
1--TEST--
2INI protection .min() + .policy_silent_fail()
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print("skip"); ?>
5--INI--
6sp.configuration_file={PWD}/config/sp-policy-silent-fail.ini
7--FILE--
8<?php
9var_dump(ini_set("max_execution_time", "29") === false);
10var_dump(ini_get("max_execution_time"));
11?>
12--EXPECTF--
13bool(true)
14string(1) "0" \ No newline at end of file
diff --git a/src/tests/ini/ini_minmax.phpt b/src/tests/ini/ini_minmax.phpt
new file mode 100644
index 0000000..4cd6bc4
--- /dev/null
+++ b/src/tests/ini/ini_minmax.phpt
@@ -0,0 +1,34 @@
1--TEST--
2INI protection .min()/.max()
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print("skip"); ?>
5--INI--
6sp.configuration_file={PWD}/config/sp.ini
7--FILE--
8<?php
9var_dump(ini_set("max_execution_time", "30") === false);
10var_dump(ini_get("max_execution_time"));
11
12var_dump(ini_set("max_execution_time", "300") === false);
13var_dump(ini_get("max_execution_time"));
14
15var_dump(ini_set("max_execution_time", "29") === false);
16var_dump(ini_get("max_execution_time"));
17
18var_dump(ini_set("max_execution_time", "301") === false);
19var_dump(ini_get("max_execution_time"));
20
21?>
22--EXPECTF--
23bool(false)
24string(2) "30"
25bool(false)
26string(3) "300"
27
28Warning: [snuffleupagus][0.0.0.0][ini_protection][log] INI value out of range in %a/ini_minmax.php on line 8
29bool(true)
30string(3) "300"
31
32Warning: [snuffleupagus][0.0.0.0][ini_protection][log] INI value out of range in %a/ini_minmax.php on line 11
33bool(true)
34string(3) "300" \ No newline at end of file
diff --git a/src/tests/ini/ini_null.phpt b/src/tests/ini/ini_null.phpt
new file mode 100644
index 0000000..32a12c1
--- /dev/null
+++ b/src/tests/ini/ini_null.phpt
@@ -0,0 +1,26 @@
1--TEST--
2INI protection .allow_null()
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print("skip"); ?>
5--INI--
6sp.configuration_file={PWD}/config/sp.ini
7--FILE--
8<?php
9var_dump(ini_set("sendmail_from", "foo@example.com") === false);
10var_dump(ini_get("sendmail_from"));
11
12var_dump(ini_set("sendmail_from", NULL) === false);
13var_dump(ini_get("sendmail_from"));
14
15var_dump(ini_set("unserialize_callback_func", NULL) === false);
16var_dump(ini_get("unserialize_callback_func"));
17?>
18--EXPECTF--
19bool(false)
20string(15) "foo@example.com"
21bool(false)
22string(0) ""
23
24Warning: [snuffleupagus][0.0.0.0][ini_protection][log] new INI value must not be NULL or empty in %a/ini_null.php on line 8
25bool(true)
26string(3) "def" \ No newline at end of file
diff --git a/src/tests/ini/ini_regexp.phpt b/src/tests/ini/ini_regexp.phpt
new file mode 100644
index 0000000..f6c5198
--- /dev/null
+++ b/src/tests/ini/ini_regexp.phpt
@@ -0,0 +1,19 @@
1--TEST--
2INI protection .regexp()
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print("skip"); ?>
5--INI--
6sp.configuration_file={PWD}/config/sp.ini
7--FILE--
8<?php
9ini_set("highlight.comment", "#000aBc");
10var_dump(ini_get("highlight.comment"));
11
12ini_set("highlight.comment", "xxx");
13var_dump(ini_get("highlight.comment"));
14?>
15--EXPECTF--
16string(7) "#000aBc"
17
18Warning: [snuffleupagus][0.0.0.0][ini_protection][log] INI value does not match regex in %a/ini_regexp.php on line 5
19string(7) "#000aBc"
diff --git a/src/tests/ini/ini_regexp_drop.phpt b/src/tests/ini/ini_regexp_drop.phpt
new file mode 100644
index 0000000..9225470
--- /dev/null
+++ b/src/tests/ini/ini_regexp_drop.phpt
@@ -0,0 +1,13 @@
1--TEST--
2INI protection .min() + .drop()
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print("skip"); ?>
5--INI--
6sp.configuration_file={PWD}/config/sp.ini
7--FILE--
8<?php
9var_dump(ini_set("user_agent", "Foo") === false);
10var_dump(ini_get("user_agent"));
11?>
12--EXPECTF--
13Fatal error: [snuffleupagus][0.0.0.0][ini_protection][drop] INI value does not match regex in %a/ini_regexp_drop.php on line 2
diff --git a/src/tests/ini/ini_set.phpt b/src/tests/ini/ini_set.phpt
new file mode 100644
index 0000000..bfafbe8
--- /dev/null
+++ b/src/tests/ini/ini_set.phpt
@@ -0,0 +1,12 @@
1--TEST--
2INI protection .set()
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print("skip"); ?>
5--INI--
6sp.configuration_file={PWD}/config/sp.ini
7--FILE--
8<?php
9var_dump(ini_get("default_mimetype"));
10?>
11--EXPECTF--
12string(10) "text/plain" \ No newline at end of file
diff --git a/src/tests/php8/inexistent_conf_file.phpt b/src/tests/php8/inexistent_conf_file.phpt
deleted file mode 100644
index ac763aa..0000000
--- a/src/tests/php8/inexistent_conf_file.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Test for unexistent configuration file, in php8
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/unexistent_configuration_file.ini
8--FILE--
9<?php ?>
10--EXPECTF--
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Could not open configuration file %a/config/unexistent_configuration_file.ini : No such file or directory in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/php8/inexistent_conf_file_list.phpt b/src/tests/php8/inexistent_conf_file_list.phpt
deleted file mode 100644
index 2309fc6..0000000
--- a/src/tests/php8/inexistent_conf_file_list.phpt
+++ /dev/null
@@ -1,14 +0,0 @@
1--TEST--
2Non-existent configuration file in a list in php8
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/../../../config/default.rules,{PWD}/non_existent_configuration_file
8--FILE--
9<?php ?>
10--EXPECTF--
11Fatal error: [snuffleupagus][0.0.0.0][config][log] Could not open configuration file %a/non_existent_configuration_file : No such file or directory in Unknown on line 0
12
13Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
14Could not startup.
diff --git a/src/tests/phpinfo_presence.phpt b/src/tests/phpinfo_presence.phpt
index c1388ed..48daffb 100644
--- a/src/tests/phpinfo_presence.phpt
+++ b/src/tests/phpinfo_presence.phpt
@@ -1,5 +1,5 @@
1--TEST-- 1--TEST--
2Unserialize fail 2phpinfo() showing snuffleupagus
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5--INI-- 5--INI--
diff --git a/src/tests/session_encryption/config/config_crypt_session.ini b/src/tests/session_encryption/config/config_crypt_session.ini
index 14b0c2c..054f0f8 100644
--- a/src/tests/session_encryption/config/config_crypt_session.ini
+++ b/src/tests/session_encryption/config/config_crypt_session.ini
@@ -1,2 +1,2 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.session.encrypt(); \ No newline at end of file 2sp.session.encrypt(); \ No newline at end of file
diff --git a/src/tests/session_encryption/config/config_crypt_session_simul.ini b/src/tests/session_encryption/config/config_crypt_session_simul.ini
index fbd43eb..5e3433b 100644
--- a/src/tests/session_encryption/config/config_crypt_session_simul.ini
+++ b/src/tests/session_encryption/config/config_crypt_session_simul.ini
@@ -1,3 +1,3 @@
1sp.global.secret_key("abcdef").cookie_env_var("REMOTE_ADDR"); 1sp.global.secret_key("abcdefGHIJ").cookie_env_var("REMOTE_ADDR");
2sp.session.encrypt(); 2sp.session.encrypt();
3sp.session.simulation(); \ No newline at end of file 3sp.session.simulation(); \ No newline at end of file
diff --git a/src/tests/session_encryption/crypt_session_corrupted_session.phpt b/src/tests/session_encryption/crypt_session_corrupted_session.phpt
index a97dbca..eca43b4 100644
--- a/src/tests/session_encryption/crypt_session_corrupted_session.phpt
+++ b/src/tests/session_encryption/crypt_session_corrupted_session.phpt
@@ -2,11 +2,12 @@
2Set a custom session handler 2Set a custom session handler
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 5<?php if (!extension_loaded("session")) print "skip"; ?>
6<?php if (PHP_VERSION_ID >= 70400) print "skip"; ?> 6--EXTENSIONS--
7session
7--INI-- 8--INI--
8sp.configuration_file={PWD}/config/config_crypt_session.ini 9sp.configuration_file={PWD}/config/config_crypt_session.ini
9session.save_path = "/tmp" 10session.save_path="/tmp"
10--ENV-- 11--ENV--
11return <<<EOF 12return <<<EOF
12REMOTE_ADDR=127.0.0.1 13REMOTE_ADDR=127.0.0.1
@@ -29,4 +30,4 @@ session_start();
29var_dump($_SESSION); 30var_dump($_SESSION);
30?> 31?>
31--EXPECTF-- 32--EXPECTF--
32Fatal error: [snuffleupagus][127.0.0.1][cookie_encryption][drop] Buffer underflow tentative detected in cookie encryption handling in %s/crypt_session_corrupted_session.php on line %s 33Fatal error: [snuffleupagus][127.0.0.1][cookie_encryption][drop] Buffer underflow (tentative) detected in cookie encryption handling in %s/crypt_session_corrupted_session.php on line %s
diff --git a/src/tests/session_encryption/crypt_session_invalid.phpt b/src/tests/session_encryption/crypt_session_invalid.phpt
index 967d9d1..a71a601 100644
--- a/src/tests/session_encryption/crypt_session_invalid.phpt
+++ b/src/tests/session_encryption/crypt_session_invalid.phpt
@@ -2,8 +2,9 @@
2SESSION crypt and bad decrypt 2SESSION crypt and bad decrypt
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 5<?php if (!extension_loaded("session")) print "skip"; ?>
6<?php if (PHP_VERSION_ID >= 70400) print "skip"; ?> 6--EXTENSIONS--
7session
7--INI-- 8--INI--
8sp.configuration_file={PWD}/config/config_crypt_session.ini 9sp.configuration_file={PWD}/config/config_crypt_session.ini
9--ENV-- 10--ENV--
diff --git a/src/tests/session_encryption/crypt_session_invalid_simul.phpt b/src/tests/session_encryption/crypt_session_invalid_simul.phpt
index cbb80dc..3eb619c 100644
--- a/src/tests/session_encryption/crypt_session_invalid_simul.phpt
+++ b/src/tests/session_encryption/crypt_session_invalid_simul.phpt
@@ -2,8 +2,14 @@
2SESSION crypt and bad decrypt 2SESSION crypt and bad decrypt
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
5--INI-- 8--INI--
6sp.configuration_file={PWD}/config/config_crypt_session_simul.ini 9sp.configuration_file={PWD}/config/config_crypt_session_simul.ini
10display_errors=0
11log_errors=1
12error_log="{PWD}"/crypt_session_invalid_simul.tmp
7--ENV-- 13--ENV--
8return <<<EOF 14return <<<EOF
9REMOTE_ADDR=127.0.0.1 15REMOTE_ADDR=127.0.0.1
@@ -19,9 +25,12 @@ putenv("REMOTE_ADDR=127.0.0.2");
19session_id($id); // Recover the session with the previous session_id 25session_id($id); // Recover the session with the previous session_id
20session_start(); // Re start the session, It will read and decrypt the non empty session 26session_start(); // Re start the session, It will read and decrypt the non empty session
21var_dump($_SESSION); // Dump the session 27var_dump($_SESSION); // Dump the session
28
29echo file_get_contents(dirname(__FILE__) . "/crypt_session_invalid_simul.tmp");
30unlink(dirname(__FILE__) . "/crypt_session_invalid_simul.tmp");
31
22?> 32?>
23--EXPECTF-- 33--EXPECTF--
24array(1) { 34array(0) {
25 ["toto"]=>
26 string(4) "tata"
27} 35}
36%sPHP Warning: [snuffleupagus][127.0.0.2][cookie_encryption][simulation] Something went wrong with the decryption of the session. Using the cookie 'as is' instead of decrypting it in %a/crypt_session_invalid_simul.php on line 9%A \ No newline at end of file
diff --git a/src/tests/session_encryption/crypt_session_read_uncrypt.phpt b/src/tests/session_encryption/crypt_session_read_uncrypt.phpt
index 5e81b52..5966f8e 100644
--- a/src/tests/session_encryption/crypt_session_read_uncrypt.phpt
+++ b/src/tests/session_encryption/crypt_session_read_uncrypt.phpt
@@ -2,27 +2,33 @@
2SESSION crypt/decrypt valid 2SESSION crypt/decrypt valid
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
5--INI-- 8--INI--
6sp.configuration_file={PWD}/config/config_crypt_session_simul.ini 9sp.configuration_file={PWD}/config/config_crypt_session_simul.ini
10session.save_path="{PWD}"
11display_errors=0
12log_errors=1
13error_log="{PWD}"/crypt_session_read_uncrypt.tmp
7--ENV-- 14--ENV--
8return <<<EOF 15return <<<EOF
9REMOTE_ADDR=127.0.0.1 16REMOTE_ADDR=127.0.0.1
10EOF; 17EOF;
11--FILE-- 18--FILE--
12<?php 19<?php
13$current_path = dirname(getcwd()) . "/src/tests/" ;
14ini_set("session.save_path", $current_path);
15
16session_start(); 20session_start();
17$id = session_id(); // Get the session_id to use it later 21$id = session_id(); // Get the session_id to use it later
18$filename_sess = $current_path . "sess_" . $id; 22$filename_sess = dirname(__FILE__) . "/sess_" . $id;
19file_put_contents($filename_sess, "toto|s:4:\"tata\";"); // Write a unencrypted session 23file_put_contents($filename_sess, "toto|s:4:\"tata\";"); // Write unencrypted session
20session_write_close(); // Close the session 24session_write_close(); // Close the session
21 25
22session_id($id); 26session_id($id);
23session_start(); // Try to read the unencrypted session, it will fail to decrypt but it must return the session 27session_start(); // Try to read the unencrypted session, it will fail to decrypt but it must return the session
24var_dump($_SESSION); 28var_dump($_SESSION);
25echo "OK"; 29echo "OK\n";
30echo file_get_contents(dirname(__FILE__) . "/crypt_session_read_uncrypt.tmp");
31unlink(dirname(__FILE__) . "/crypt_session_read_uncrypt.tmp");
26unlink($filename_sess); 32unlink($filename_sess);
27?> 33?>
28--EXPECTF-- 34--EXPECTF--
@@ -31,3 +37,4 @@ array(1) {
31 string(4) "tata" 37 string(4) "tata"
32} 38}
33OK 39OK
40%aPHP Warning: [snuffleupagus][127.0.0.1][cookie_encryption][simulation] Buffer underflow tentative detected in cookie encryption handling for the session. Using the cookie 'as is' instead of decrypting it in %a/crypt_session_read_uncrypt.php on line 9
diff --git a/src/tests/session_encryption/crypt_session_valid.phpt b/src/tests/session_encryption/crypt_session_valid.phpt
index c272486..a28685b 100644
--- a/src/tests/session_encryption/crypt_session_valid.phpt
+++ b/src/tests/session_encryption/crypt_session_valid.phpt
@@ -2,6 +2,9 @@
2SESSION crypt/decrypt valid 2SESSION crypt/decrypt valid
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
5--INI-- 8--INI--
6sp.configuration_file={PWD}/config/config_crypt_session.ini 9sp.configuration_file={PWD}/config/config_crypt_session.ini
7--ENV-- 10--ENV--
diff --git a/src/tests/session_encryption/crypt_session_valid_simul.phpt b/src/tests/session_encryption/crypt_session_valid_simul.phpt
index d63277d..6af015e 100644
--- a/src/tests/session_encryption/crypt_session_valid_simul.phpt
+++ b/src/tests/session_encryption/crypt_session_valid_simul.phpt
@@ -2,6 +2,9 @@
2SESSION crypt/decrypt valid 2SESSION crypt/decrypt valid
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
5--INI-- 8--INI--
6sp.configuration_file={PWD}/config/config_crypt_session_simul.ini 9sp.configuration_file={PWD}/config/config_crypt_session_simul.ini
7--ENV-- 10--ENV--
diff --git a/src/tests/session_encryption/set_custom_session_handler.phpt b/src/tests/session_encryption/set_custom_session_handler.phpt
index 725ee43..04edcd0 100644
--- a/src/tests/session_encryption/set_custom_session_handler.phpt
+++ b/src/tests/session_encryption/set_custom_session_handler.phpt
@@ -2,9 +2,12 @@
2Set a custom session handler 2Set a custom session handler
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
5--INI-- 8--INI--
6sp.configuration_file={PWD}/config/config_crypt_session.ini 9sp.configuration_file={PWD}/config/config_crypt_session.ini
7session.save_path = "/tmp" 10session.save_path="/tmp"
8--ENV-- 11--ENV--
9return <<<EOF 12return <<<EOF
10REMOTE_ADDR=127.0.0.1 13REMOTE_ADDR=127.0.0.1
diff --git a/src/tests/session_encryption/set_custom_session_handler2.phpt b/src/tests/session_encryption/set_custom_session_handler2.phpt
index 8cc6786..0ebf7b6 100644
--- a/src/tests/session_encryption/set_custom_session_handler2.phpt
+++ b/src/tests/session_encryption/set_custom_session_handler2.phpt
@@ -2,9 +2,12 @@
2Set a custom session handler, twice 2Set a custom session handler, twice
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
5--INI-- 8--INI--
6sp.configuration_file={PWD}/config/config_crypt_session.ini 9sp.configuration_file={PWD}/config/config_crypt_session.ini
7session.save_path = "/tmp" 10session.save_path="/tmp"
8--ENV-- 11--ENV--
9return <<<EOF 12return <<<EOF
10REMOTE_ADDR=127.0.0.1 13REMOTE_ADDR=127.0.0.1
diff --git a/src/tests/session_encryption/set_custom_session_handler_ini.phpt b/src/tests/session_encryption/set_custom_session_handler_ini.phpt
index f9fbfb2..a454fc6 100644
--- a/src/tests/session_encryption/set_custom_session_handler_ini.phpt
+++ b/src/tests/session_encryption/set_custom_session_handler_ini.phpt
@@ -2,6 +2,9 @@
2Set a custom session handler 2Set a custom session handler
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?> 4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
5--INI-- 8--INI--
6sp.configuration_file={PWD}/config/config_crypt_session.ini 9sp.configuration_file={PWD}/config/config_crypt_session.ini
7session.save_handler = 10session.save_handler =
diff --git a/src/tests/sid_too_long.phpt b/src/tests/sid_too_long.phpt
new file mode 100644
index 0000000..85f7fc2
--- /dev/null
+++ b/src/tests/sid_too_long.phpt
@@ -0,0 +1,19 @@
1--TEST--
2SESSION ID too long
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
8--INI--
9sp.configuration_file={PWD}/config/sid_length_limit.ini
10--FILE--
11<?php
12session_id('123456789012345678901234567890123');
13session_start();
14echo strlen(session_id());
15?>
16--EXPECTF--
17Fatal error: [snuffleupagus][0.0.0.0][session][drop] Session ID is too long in %a.php on line %d
18
19Fatal error: [snuffleupagus][0.0.0.0][session][drop] Session ID is too long in Unknown on line 0 \ No newline at end of file
diff --git a/src/tests/sid_too_short.phpt b/src/tests/sid_too_short.phpt
new file mode 100644
index 0000000..3ebbc58
--- /dev/null
+++ b/src/tests/sid_too_short.phpt
@@ -0,0 +1,19 @@
1--TEST--
2SESSION ID too short
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus")) print "skip"; ?>
5<?php if (!extension_loaded("session")) print "skip"; ?>
6--EXTENSIONS--
7session
8--INI--
9sp.configuration_file={PWD}/config/sid_length_limit.ini
10--FILE--
11<?php
12session_id('123');
13session_start();
14echo strlen(session_id());
15?>
16--EXPECTF--
17Fatal error: [snuffleupagus][0.0.0.0][session][drop] Session ID is too short in %a.php on line %d
18
19Fatal error: [snuffleupagus][0.0.0.0][session][drop] Session ID is too short in Unknown on line 0 \ No newline at end of file
diff --git a/src/tests/stream_wrapper/stream_wrapper.phpt b/src/tests/stream_wrapper/stream_wrapper.phpt
index 588a10d..6cd7a66 100644
--- a/src/tests/stream_wrapper/stream_wrapper.phpt
+++ b/src/tests/stream_wrapper/stream_wrapper.phpt
@@ -23,9 +23,9 @@ Warning: Unknown: Unable to find the wrapper "php" - did you forget to enable it
23 23
24Warning: file_get_contents(): Unable to find the wrapper "http" - did you forget to enable it when you configured PHP? in %a/stream_wrapper.php on line %d 24Warning: file_get_contents(): Unable to find the wrapper "http" - did you forget to enable it when you configured PHP? in %a/stream_wrapper.php on line %d
25 25
26Warning: file_get_contents(): php_network_getaddresses: getaddrinfo failed: %s 26Warning: file_get_contents(): php_network_getaddresses: getaddrinfo%sfailed: %s
27 27
28Warning: file_get_contents(https://qweqwezxc): %s to open stream: php_network_getaddresses: getaddrinfo failed: %s 28Warning: file_get_contents(https://qweqwezxc): %s to open stream: php_network_getaddresses: getaddrinfo%sfailed: %s
29 29
30Warning: file_get_contents(ftp://qweqwezxc): %s to open stream: operation failed in %a/stream_wrapper.php on line %d 30Warning: file_get_contents(ftp://qweqwezxc): %s to open stream: operation failed in %a/stream_wrapper.php on line %d
31 31
diff --git a/src/tests/strict_mode/strict_mode_enabled.phpt b/src/tests/strict_mode/strict_mode_enabled.phpt
index a986987..a78a604 100644
--- a/src/tests/strict_mode/strict_mode_enabled.phpt
+++ b/src/tests/strict_mode/strict_mode_enabled.phpt
@@ -8,11 +8,11 @@ if (!extension_loaded("snuffleupagus")) print "skip snuffleupagus extension miss
8sp.configuration_file={PWD}/config/config_strict_mode_enabled.ini 8sp.configuration_file={PWD}/config/config_strict_mode_enabled.ini
9--FILE-- 9--FILE--
10<?php 10<?php
11ini_set('display_errors', 1); 11ini_get(23);
12?> 12?>
13--EXPECTF-- 13--EXPECTF--
14Fatal error: Uncaught TypeError: ini_set()%s given in %s/tests/strict_mode/strict_mode_enabled.php:%d 14Fatal error: Uncaught TypeError: ini_get()%s given in %s/tests/strict_mode/strict_mode_enabled.php:%d
15Stack trace: 15Stack trace:
16#0 %s/tests/strict_mode/strict_mode_enabled.php(2): ini_set('display_errors', 1) 16#0 %s/tests/strict_mode/strict_mode_enabled.php(2): ini_get(23)
17#1 {main} 17#1 {main}
18 thrown in %s/tests/strict_mode/strict_mode_enabled.php on line 2 18 thrown in %s/tests/strict_mode/strict_mode_enabled.php on line 2
diff --git a/src/tests/unserialize/config/config_serialize.ini b/src/tests/unserialize/config/config_serialize.ini
index f2c1699..30e8fba 100644
--- a/src/tests/unserialize/config/config_serialize.ini
+++ b/src/tests/unserialize/config/config_serialize.ini
@@ -1,2 +1,2 @@
1sp.global.secret_key("abcdef"); 1sp.global.secret_key("abcdefGHIJ");
2sp.unserialize_hmac.enable(); \ No newline at end of file 2sp.unserialize_hmac.enable(); \ No newline at end of file
diff --git a/src/tests/unserialize/config/config_serialize_sim.ini b/src/tests/unserialize/config/config_serialize_sim.ini
index 7f015e0..c20013f 100644
--- a/src/tests/unserialize/config/config_serialize_sim.ini
+++ b/src/tests/unserialize/config/config_serialize_sim.ini
@@ -1,2 +1,2 @@
1sp.global.secret_key("abcdef"); 1sp.global.secret_key("abcdefGHIJ");
2sp.unserialize_hmac.enable().simulation(); 2sp.unserialize_hmac.enable().simulation();
diff --git a/src/tests/unserialize/config/dump_unserialize.ini b/src/tests/unserialize/config/dump_unserialize.ini
index 4352a3e..09480cc 100644
--- a/src/tests/unserialize/config/dump_unserialize.ini
+++ b/src/tests/unserialize/config/dump_unserialize.ini
@@ -1,2 +1,2 @@
1sp.global.secret_key("abcdef"); 1sp.global.secret_key("abcdefGHIJ");
2sp.unserialize_hmac.enable().dump("/tmp/dump_result/"); 2sp.unserialize_hmac.enable().dump("/tmp/dump_result/");
diff --git a/src/tests/unserialize/serialize.phpt b/src/tests/unserialize/serialize.phpt
index e93dbaf..8b7c0bc 100644
--- a/src/tests/unserialize/serialize.phpt
+++ b/src/tests/unserialize/serialize.phpt
@@ -9,5 +9,5 @@ sp.configuration_file={PWD}/config/config_serialize.ini
9echo serialize("a"); 9echo serialize("a");
10?> 10?>
11--EXPECT-- 11--EXPECT--
12s:1:"a";650609b417904d0d9bbf1fc44a975d13ecdf6b02b715c1a06271fb3b673f25b1 12s:1:"a";cdbc93e593656164d448db33e4668a3f30fa794d6658016365f7eb453d48b022
13 13
diff --git a/src/tests/unserialize/unserialize_sim.phpt b/src/tests/unserialize/unserialize_sim.phpt
index 9bff2c1..1256c23 100644
--- a/src/tests/unserialize/unserialize_sim.phpt
+++ b/src/tests/unserialize/unserialize_sim.phpt
@@ -7,12 +7,13 @@ sp.configuration_file={PWD}/config/config_serialize_sim.ini
7--FILE-- 7--FILE--
8<?php 8<?php
9$a=serialize("a"); 9$a=serialize("a");
10echo $a; 10echo $a . PHP_EOL;
11var_dump(unserialize($a)); 11var_dump(unserialize($a));
12var_dump(unserialize('s:1:"a";alyualskdufyhalkdjsfhalkjdhflaksjdfhlkasdhflkahdawkuerylksjdfhlkssjgdflaksjdh1337sjdf')); 12var_dump(unserialize('s:1:"a";alyualskdufyhalkdjsfhalkjdhflaksjdfhlkasdhflkahdawkuerylksjdfhlkssjgdflaksjdh1337sjdf'));
13?> 13?>
14--EXPECTF-- 14--EXPECTF--
15s:1:"a";650609b417904d0d9bbf1fc44a975d13ecdf6b02b715c1a06271fb3b673f25b1string(1) "a" 15s:1:"a";cdbc93e593656164d448db33e4668a3f30fa794d6658016365f7eb453d48b022
16string(1) "a"
16 17
17Warning: [snuffleupagus][0.0.0.0][unserialize][simulation] Invalid HMAC for s:1:"a";alyualskdufyhalkdjsfh in %a/unserialize_sim.php on line 5 18Warning: [snuffleupagus][0.0.0.0][unserialize][simulation] Invalid HMAC for s:1:"a";alyualskdufyhalkdjsfh in %a/unserialize_sim.php on line 5
18string(1) "a" 19string(1) "a"
diff --git a/src/tests/unserialize_php8/config/config_serialize.ini b/src/tests/unserialize_php8/config/config_serialize.ini
index 7de4438..e107f15 100644
--- a/src/tests/unserialize_php8/config/config_serialize.ini
+++ b/src/tests/unserialize_php8/config/config_serialize.ini
@@ -1 +1 @@
sp.global.secret_key("abcdef"); sp.global.secret_key("abcdefGHIJ");
diff --git a/src/tests/upload_validation/upload_validation.phpt b/src/tests/upload_validation/upload_validation.phpt
index 965d3aa..810c23d 100644
--- a/src/tests/upload_validation/upload_validation.phpt
+++ b/src/tests/upload_validation/upload_validation.phpt
@@ -15,4 +15,4 @@ echo 1;
15--EXPECTF-- 15--EXPECTF--
16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 16Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0
17 17
18Fatal error: [snuffleupagus][0.0.0.0][config][log] A rule can't be enabled and disabled on line 1 in Unknown on line 0 18Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` (tests/upload_ko.sh) doesn't exist on line 1 in Unknown on line 0
diff --git a/src/tests/upload_validation/upload_validation_no_exec.phpt b/src/tests/upload_validation/upload_validation_no_exec.phpt
index b198bda..ff3dc14 100644
--- a/src/tests/upload_validation/upload_validation_no_exec.phpt
+++ b/src/tests/upload_validation/upload_validation_no_exec.phpt
@@ -4,6 +4,7 @@ Upload a file, validation script not executable
4file_uploads=1 4file_uploads=1
5sp.configuration_file={PWD}/config/upload_validation_non_exec.ini 5sp.configuration_file={PWD}/config/upload_validation_non_exec.ini
6output_buffering=off 6output_buffering=off
7expose_php=0
7--POST_RAW-- 8--POST_RAW--
8Content-Type: multipart/form-data; boundary=blabla 9Content-Type: multipart/form-data; boundary=blabla
9--blabla 10--blabla
@@ -14,6 +15,6 @@ Content-Disposition: form-data; name="test"; filename="test.php"
14var_dump($_FILES); 15var_dump($_FILES);
15?> 16?>
16--EXPECTF-- 17--EXPECTF--
17Fatal error: [snuffleupagus][0.0.0.0][config][log] Invalid configuration file in Unknown on line 0 18Warning: [snuffleupagus][0.0.0.0][upload_validation][log] Could not call '%s' : Permission denied %s
18 19%a
19Fatal error: [snuffleupagus][0.0.0.0][config][log] The `script` (tests/data/upload_no_exec.sh) isn't executable on line 1 in Unknown on line 0 20Fatal error: [snuffleupagus][0.0.0.0][upload_validation][drop] The upload %s was rejected. in Unknown on line 0
diff --git a/src/tests/xxe/config/disable_xxe.ini b/src/tests/xxe/config/disable_xxe.ini
index bc9d1f2..a50a3b9 100644
--- a/src/tests/xxe/config/disable_xxe.ini
+++ b/src/tests/xxe/config/disable_xxe.ini
@@ -1 +1 @@
sp.disable_xxe.enable(); sp.xxe_protection.enable();
diff --git a/src/tests/xxe/config/disable_xxe_disable.ini b/src/tests/xxe/config/disable_xxe_disable.ini
index bb1e432..eaf5755 100644
--- a/src/tests/xxe/config/disable_xxe_disable.ini
+++ b/src/tests/xxe/config/disable_xxe_disable.ini
@@ -1 +1 @@
sp.disable_xxe.disable(); sp.xxe_protection.disable();
diff --git a/src/tests/xxe/disable_xxe_dom_disabled.phpt b/src/tests/xxe/disable_xxe_dom_disabled.phpt
index a49e094..107171c 100644
--- a/src/tests/xxe/disable_xxe_dom_disabled.phpt
+++ b/src/tests/xxe/disable_xxe_dom_disabled.phpt
@@ -1,10 +1,10 @@
1--TEST-- 1--TEST--
2Disable XXE 2Disable XXE (feature enabled)
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || !extension_loaded("dom")) print("skip"); ?> 4<?php if (!extension_loaded("snuffleupagus") || !extension_loaded("dom")) print("skip"); ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?> 5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
6--INI-- 6--INI--
7sp.configuration_file={PWD}/config/disable_xxe_disable.ini 7sp.configuration_file={PWD}/config/disable_xxe.ini
8--EXTENSIONS-- 8--EXTENSIONS--
9dom 9dom
10--FILE-- 10--FILE--
diff --git a/src/tests/xxe/disable_xxe_dom_disabled_php8.phpt b/src/tests/xxe/disable_xxe_dom_disabled_php8.phpt
new file mode 100644
index 0000000..01e3349
--- /dev/null
+++ b/src/tests/xxe/disable_xxe_dom_disabled_php8.phpt
@@ -0,0 +1,57 @@
1--TEST--
2Disable XXE (feature disabled)
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || !extension_loaded("dom")) print("skip"); ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/disable_xxe_disable.ini
8--EXTENSIONS--
9dom
10--FILE--
11<?php
12$dir = __DIR__;
13$content = '<content>WARNING, external entity loaded!</content>';
14file_put_contents($dir . '/content.txt', $content);
15
16$xml = <<<EOD
17<?xml version="1.0"?>
18<!DOCTYPE root
19[
20<!ENTITY foo SYSTEM "file://$dir/content.txt">
21]>
22<test><testing>&foo;</testing></test>
23EOD;
24
25file_put_contents($dir . '/content.xml', $xml);
26
27
28$dom = new DOMDocument('1.0');
29$dom->loadXML($xml, LIBXML_DTDATTR|LIBXML_DTDLOAD|LIBXML_NOENT);
30printf("default setting with LIBXML_NOENT: %s\n", $dom->getElementsByTagName('testing')->item(0)->nodeValue);
31
32$dom = new DOMDocument('1.0');
33$dom->loadXML($xml, LIBXML_DTDATTR|LIBXML_DTDLOAD);
34printf("default setting without LIBXML_NOENT: %s\n", $dom->getElementsByTagName('testing')->item(0)->nodeValue);
35
36libxml_set_external_entity_loader(null);
37
38$dom = new DOMDocument('1.0');
39$dom->loadXML($xml, LIBXML_DTDATTR|LIBXML_DTDLOAD|LIBXML_NOENT);
40printf("disabled entity loader with LIBXML_NOENT: %s\n", $dom->getElementsByTagName('testing')->item(0)->nodeValue);
41
42$dom = new DOMDocument('1.0');
43$dom->loadXML($xml, LIBXML_DTDATTR|LIBXML_DTDLOAD);
44printf("disabled entity loader without LIBXML_NOENT: %s\n", $dom->getElementsByTagName('testing')->item(0)->nodeValue);
45
46?>
47--EXPECTF--
48default setting with LIBXML_NOENT: WARNING, external entity loaded!
49default setting without LIBXML_NOENT:
50disabled entity loader with LIBXML_NOENT: WARNING, external entity loaded!
51disabled entity loader without LIBXML_NOENT:
52--CLEAN--
53<?php
54$dir = __DIR__;
55unlink($dir . "/content.xml");
56unlink($dir . "/content.txt");
57?>
diff --git a/src/tests/xxe/disable_xxe_dom_php8.phpt b/src/tests/xxe/disable_xxe_dom_php8.phpt
new file mode 100644
index 0000000..485828f
--- /dev/null
+++ b/src/tests/xxe/disable_xxe_dom_php8.phpt
@@ -0,0 +1,59 @@
1--TEST--
2Disable XXE (feature enabled)
3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || !extension_loaded("dom")) print("skip"); ?>
5<?php if (PHP_VERSION_ID < 80000) print "skip"; ?>
6--INI--
7sp.configuration_file={PWD}/config/disable_xxe.ini
8--EXTENSIONS--
9dom
10--FILE--
11<?php
12$dir = __DIR__;
13$content = '<content>WARNING, external entity loaded!</content>';
14file_put_contents($dir . '/content.txt', $content);
15
16$xml = <<<EOD
17<?xml version="1.0"?>
18<!DOCTYPE root
19[
20<!ENTITY foo SYSTEM "file://$dir/content.txt">
21]>
22<test><testing>&foo;</testing></test>
23EOD;
24
25file_put_contents($dir . '/content.xml', $xml);
26
27
28$dom = new DOMDocument('1.0');
29$dom->loadXML($xml, LIBXML_DTDATTR|LIBXML_DTDLOAD|LIBXML_NOENT);
30printf("default setting with LIBXML_NOENT: %s\n", $dom->getElementsByTagName('testing')->item(0)->nodeValue);
31
32$dom = new DOMDocument('1.0');
33$dom->loadXML($xml, LIBXML_DTDATTR|LIBXML_DTDLOAD);
34printf("default setting without LIBXML_NOENT: %s\n", $dom->getElementsByTagName('testing')->item(0)->nodeValue);
35
36libxml_set_external_entity_loader(null);
37
38$dom = new DOMDocument('1.0');
39$dom->loadXML($xml, LIBXML_DTDATTR|LIBXML_DTDLOAD|LIBXML_NOENT);
40printf("disabled entity loader with LIBXML_NOENT: %s\n", $dom->getElementsByTagName('testing')->item(0)->nodeValue);
41
42$dom = new DOMDocument('1.0');
43$dom->loadXML($xml, LIBXML_DTDATTR|LIBXML_DTDLOAD);
44printf("disabled entity loader without LIBXML_NOENT: %s\n", $dom->getElementsByTagName('testing')->item(0)->nodeValue);
45
46?>
47--EXPECTF--
48default setting with LIBXML_NOENT: WARNING, external entity loaded!
49default setting without LIBXML_NOENT:
50
51Warning: [snuffleupagus][0.0.0.0][xxe][log] A call to libxml_set_external_entity_loader was tried and nopped in %a.php on line 26
52disabled entity loader with LIBXML_NOENT: WARNING, external entity loaded!
53disabled entity loader without LIBXML_NOENT:
54--CLEAN--
55<?php
56$dir = __DIR__;
57unlink($dir . "/content.xml");
58unlink($dir . "/content.txt");
59?>
diff --git a/src/tests/xxe/disable_xxe_simplexml.phpt b/src/tests/xxe/disable_xxe_simplexml.phpt
index 1d3ef4c..9560156 100644
--- a/src/tests/xxe/disable_xxe_simplexml.phpt
+++ b/src/tests/xxe/disable_xxe_simplexml.phpt
@@ -2,8 +2,9 @@
2Disable XXE 2Disable XXE
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || !extension_loaded("simplexml") || getenv('TRAVIS')) print("skip"); ?> 4<?php if (!extension_loaded("snuffleupagus") || !extension_loaded("simplexml") || getenv('TRAVIS')) print("skip"); ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
5--INI-- 6--INI--
6sp.configuration_file={PWD}/config/disable_xxe.ini 7sp.configuration_file={PWD}/config/disable_xxe_disable.ini
7--EXTENSIONS-- 8--EXTENSIONS--
8simplexml 9simplexml
9--XFAIL-- 10--XFAIL--
diff --git a/src/tests/xxe/disable_xxe_simplexml_oop.phpt b/src/tests/xxe/disable_xxe_simplexml_oop.phpt
index e101337..1b2c4ca 100644
--- a/src/tests/xxe/disable_xxe_simplexml_oop.phpt
+++ b/src/tests/xxe/disable_xxe_simplexml_oop.phpt
@@ -2,8 +2,9 @@
2Disable XXE 2Disable XXE
3--SKIPIF-- 3--SKIPIF--
4<?php if (!extension_loaded("snuffleupagus") || !extension_loaded("simplexml") || getenv('TRAVIS')) print("skip"); ?> 4<?php if (!extension_loaded("snuffleupagus") || !extension_loaded("simplexml") || getenv('TRAVIS')) print("skip"); ?>
5<?php if (PHP_VERSION_ID >= 80000) print "skip"; ?>
5--INI-- 6--INI--
6sp.configuration_file={PWD}/config/disable_xxe.ini 7sp.configuration_file={PWD}/config/disable_xxe_disable.ini
7--EXTENSIONS-- 8--EXTENSIONS--
8simplexml 9simplexml
9--XFAIL-- 10--XFAIL--
diff --git a/src/tests/xxe/disable_xxe_xml_parse.phpt b/src/tests/xxe/disable_xxe_xml_parse.phpt
index 6b48bea..bc7e338 100644
--- a/src/tests/xxe/disable_xxe_xml_parse.phpt
+++ b/src/tests/xxe/disable_xxe_xml_parse.phpt
@@ -70,7 +70,8 @@ $parser = create_parser();
70$doc = xml_parse($parser, $xml, true); 70$doc = xml_parse($parser, $xml, true);
71xml_parser_free($parser); 71xml_parser_free($parser);
72 72
73--EXPECT-- 73--EXPECTF--
74Warning: [snuffleupagus][0.0.0.0][xxe][log] A call to libxml_disable_entity_loader was tried and nopped in %a.php on line 41
74string(4) "TEST" 75string(4) "TEST"
75 76
76array(0) { 77array(0) {
@@ -81,6 +82,8 @@ array(0) {
81} 82}
82string(7) "TESTING" 83string(7) "TESTING"
83string(4) "TEST" 84string(4) "TEST"
85
86Warning: [snuffleupagus][0.0.0.0][xxe][log] A call to libxml_disable_entity_loader was tried and nopped in %a.php on line 46
84string(4) "TEST" 87string(4) "TEST"
85 88
86array(0) { 89array(0) {