Skip to content
Merged
Changes from all commits
Commits
Show all changes
28 commits
Select commit Hold shift + click to select a range
168d2f6
add an array to the metadata section within the rules to bring awaren…
Mikaayenson Apr 28, 2022
cc8ee77
add buffer space
Mikaayenson Apr 29, 2022
6ef8307
support locking old stack version if we have buffer space
Mikaayenson Apr 29, 2022
dee9db9
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson May 2, 2022
6c3e4ab
set buffer_int to 99 since we start version at 1
Mikaayenson May 2, 2022
c31a2de
cleanup todo
Mikaayenson May 2, 2022
8e9e0ff
update message with recommendation to deprecate
Mikaayenson May 6, 2022
87fa929
ensure version lock is bumped 100 buffer spaces
Mikaayenson May 6, 2022
7605308
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Jul 11, 2022
2c62229
add forked rules to the latest rule version methods
Mikaayenson Jul 11, 2022
8bfb3d7
update rule version
Mikaayenson Jul 11, 2022
fe5bb20
only bump the version and try to add a buffer if we have the space
Mikaayenson Jul 11, 2022
5e41be1
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Jul 29, 2022
2c2fa92
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Aug 10, 2022
38478c6
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Aug 23, 2022
2e94a7b
update to latest version_lock and rule edits
Mikaayenson Sep 19, 2022
40eecaa
reset version_lock and rule files
Mikaayenson Sep 19, 2022
f9850ea
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Sep 19, 2022
1f0d9a1
readd changes
Mikaayenson Sep 19, 2022
f832f17
bump buffer space 100
Mikaayenson Sep 19, 2022
a900229
WIP: hold before adding func for rare edge case
Mikaayenson Sep 19, 2022
062b61b
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Sep 20, 2022
4767d75
Update detection_rules/rule.py
Mikaayenson Sep 29, 2022
2334d16
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Sep 29, 2022
dfb2c13
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Oct 5, 2022
764dafa
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Oct 6, 2022
f39f675
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Oct 12, 2022
8390e75
Merge branch 'main' into 1935-fr-support-forked-rules
Mikaayenson Oct 14, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 7 additions & 2 deletions detection_rules/version_lock.py
Original file line number Diff line number Diff line change
Expand Up @@ -170,7 +170,7 @@ def get_locked_hash(self, rule_id: str, min_stack_version: Optional[str] = None)

def manage_versions(self, rules: RuleCollection,
exclude_version_update=False, save_changes=False,
verbose=True) -> (List[str], List[str], List[str]):
verbose=True, buffer_int: int = 100) -> (List[str], List[str], List[str]):
"""Update the contents of the version.lock file and optionally save changes."""
from .packaging import current_stack_version

Expand Down Expand Up @@ -240,6 +240,12 @@ def log_changes(r, route_taken, new_rule_version, *msg):
elif min_stack > latest_locked_stack_version:
route = 'B'
# 3) on the latest stack, locking in a breaking change

# preserve buffer space to support forked version spacing
if exclude_version_update:
buffer_int -= 1
Comment on lines +245 to +246
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is to make sure we dont also include the rule version autobump

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if excluding version update, shouldn't the buffer be skipped too?

lock_from_rule["version"] = lock_from_file["version"] + buffer_int

previous_lock_info = {
"max_allowable_version": lock_from_rule['version'] - 1,
"rule_name": lock_from_file["rule_name"],
Expand All @@ -253,7 +259,6 @@ def log_changes(r, route_taken, new_rule_version, *msg):
lock_from_file["previous"][str(latest_locked_stack_version)] = previous_lock_info

# overwrite the "latest" part of the lock at the top level
# TODO: would need to preserve space here as well if supporting forked version spacing
lock_from_file.update(lock_from_rule, min_stack_version=str(min_stack))
new_version = lock_from_rule['version']
log_changes(
Expand Down