def register_strategy_config(id, **kwargs): if kwargs.get("base") is not None: kwargs["base"] = CONFIGURATIONS[kwargs["base"]] rv = create_strategy_configuration(id, **kwargs) if rv.config_class not in CLASSES: CLASSES.append(rv.config_class) CONFIGURATIONS[rv.id] = rv return rv
def register_strategy_config(id, **kwargs): if kwargs.get("base") is not None: kwargs["base"] = CONFIGURATIONS[kwargs["base"]] else: kwargs["base"] = BASE_STRATEGY rv = create_strategy_configuration(id, **kwargs) CONFIGURATIONS[rv.id] = rv return rv
BASE_STRATEGY = create_strategy_configuration( None, strategies=[ "expect-ct:v1", "expect-staple:v1", "hpkp:v1", "csp:v1", "threads:v1", "stacktrace:v1", "chained-exception:v1", "template:v1", "message:v1", ], delegates=["frame:v1", "stacktrace:v1", "single-exception:v1"], initial_context={ # This key in the context tells the system which variant should # be produced. TODO: phase this out. "variant": None, # This is a flag that can be used by any delegate to respond to # a detected recursion. This is currently used by the frame # strategy to disable itself. Recursion is detected by the outer # strategy. "is_recursion": False, # This turns on the automatic message trimming by the message # strategy. "trim_message": False, # newstyle: enables the legacy function logic. This is only used # by the newstyle:2019-04-05 strategy. Once this is no longer used # this can go away entirely. "legacy_function_logic": False, # newstyle: turns on some javascript fuzzing features. "javascript_fuzzing": False, # newstyle: platforms for which context line should be taken into # account when grouping. "contextline_platforms": (), # newstyle: this detects anonymous classes in PHP code. "php_detect_anonymous_classes": False, # newstyle: turns on a bug that was present in some variants "with_context_line_file_origin_bug": False, # newstyle: turns on falling back to exception values when there # is no stacktrace. "with_exception_value_fallback": False, # Whether the strategy should produce special variants that are # considered for hierarchical grouping (see HIERARCHICAL_VARIANTS # constant) "hierarchical_grouping": False, # Stacktrace is produced in the context of this exception "exception_data": None, # Whether to discard filenames of native events for grouping if # function is present. "discard_native_filename": False, # Use the `package` component of a frame as fallback where other # information would be used but is not available. "use_package_fallback": False, # Remove platform differences in native frames "native_fuzzing": False, }, )
def register_strategy_config(id, **kwargs): rv = create_strategy_configuration(id, **kwargs) if rv.config_class not in CLASSES: CLASSES.append(rv.config_class) CONFIGURATIONS[rv.id] = rv return rv
def register_strategy_config(id, **kwargs): rv = create_strategy_configuration(id, **kwargs) if rv.config_class not in CLASSES: CLASSES.append(rv.config_class) CONFIGURATIONS[rv.id] = rv return rv
BASE_STRATEGY = create_strategy_configuration( None, strategies=[ "expect-ct:v1", "expect-staple:v1", "hpkp:v1", "csp:v1", "threads:v1", "stacktrace:v1", "chained-exception:v1", "template:v1", "message:v1", ], delegates=["frame:v1", "stacktrace:v1", "single-exception:v1"], initial_context={ # This key in the context tells the system which variant should # be produced. TODO: phase this out. "variant": None, # This is a flag that can be used by any delegate to respond to # a detected recursion. This is currently used by the frame # strategy to disable itself. Recursion is detected by the outer # strategy. "is_recursion": False, # This turns on the automatic message trimming by the message # strategy. "trim_message": False, # newstyle: enables the legacy function logic. This is only used # by the newstyle:2019-04-05 strategy. Once this is no longer used # this can go away entirely. "legacy_function_logic": False, # newstyle: turns on some javascript fuzzing features. "javascript_fuzzing": False, # newstyle: platforms for which context line should be taken into # account when grouping. "contextline_platforms": (), # newstyle: this detects anonymous classes in PHP code. "php_detect_anonymous_classes": False, # newstyle: turns on a bug that was present in some variants "with_context_line_file_origin_bug": False, # newstyle: turns on falling back to exception values when there # is no stacktrace. "with_exception_value_fallback": False, }, )