Skip to content

Commit a6d985f

Browse files
committed
Cortex XSIAM, add escape to equal_modifier method
1 parent 1f1e821 commit a6d985f

File tree

2 files changed

+12
-9
lines changed

2 files changed

+12
-9
lines changed

uncoder-core/app/translator/platforms/palo_alto/escape_manager.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,9 @@
77

88
class XQLEscapeManager(EscapeManager):
99
escape_map: ClassVar[dict[str, list[EscapeDetails]]] = {
10-
ValueType.value: [EscapeDetails(pattern=r'([_!@#$%^&*=+()\[\]{}|;:\'",.<>?/`~\-\s\\])', escape_symbols=r"\\\1")]
10+
ValueType.regex_value: [EscapeDetails(pattern=r'([_!@#$%^&*=+()\[\]{}|;:\'",.<>?/`~\-\s\\])', escape_symbols=r"\\\1")],
11+
ValueType.value: [EscapeDetails(pattern=r'([\\])', escape_symbols=r"\\\1")],
12+
1113
}
1214

1315

uncoder-core/app/translator/platforms/palo_alto/renders/cortex_xsiam.py

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919
from typing import Union
2020

2121
from app.translator.const import DEFAULT_VALUE_TYPE
22+
from app.translator.core.custom_types.values import ValueType
2223
from app.translator.core.exceptions.render import UnsupportedRenderMethod
2324
from app.translator.core.models.platform_details import PlatformDetails
2425
from app.translator.core.render import BaseQueryFieldValue, PlatformQueryRender
@@ -59,30 +60,30 @@ def greater_or_equal_modifier(self, field: str, value: Union[int, str]) -> str:
5960
def not_equal_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
6061
if isinstance(value, list):
6162
return f"({self.or_token.join([self.not_equal_modifier(field=field, value=v) for v in value])})"
62-
return f'{field} != "{value}"'
63+
return f'{field} != "{self.apply_value(value)}"'
6364

6465
def contains_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
6566
if isinstance(value, list):
6667
return f"({self.or_token.join(self.contains_modifier(field=field, value=v) for v in value)})"
67-
return f'{field} contains "{value}"'
68+
return f'{field} contains "{self.apply_value(value)}"'
6869

6970
def endswith_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
7071
if isinstance(value, list):
7172
return (
72-
f"({self.or_token.join(self.endswith_modifier(field=field, value=self.apply_value(v)) for v in value)})"
73+
f"({self.or_token.join(self.endswith_modifier(field=field, value=v) for v in value)})"
7374
)
74-
return f'{field} ~= ".*{self.apply_value(value)}"'
75+
return f'{field} ~= ".*{self.apply_value(value, value_type=ValueType.regex_value)}"'
7576

7677
def startswith_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
7778
if isinstance(value, list):
78-
clause = self.or_token.join(self.startswith_modifier(field=field, value=self.apply_value(v)) for v in value)
79+
clause = self.or_token.join(self.startswith_modifier(field=field, value=v) for v in value)
7980
return f"({clause})"
80-
return f'{field} ~= "{self.apply_value(value)}.*"'
81+
return f'{field} ~= "{self.apply_value(value, value_type=ValueType.regex_value)}.*"'
8182

8283
def regex_modifier(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
8384
if isinstance(value, list):
84-
return f"({self.or_token.join(self.regex_modifier(field=field, value=self.apply_value(v)) for v in value)})"
85-
return f'{field} ~= "{self.apply_value(value)}"'
85+
return f"({self.or_token.join(self.regex_modifier(field=field, value=v) for v in value)})"
86+
return f'{field} ~= "{self.apply_value(value, value_type=ValueType.regex_value)}"'
8687

8788
def is_none(self, field: str, value: DEFAULT_VALUE_TYPE) -> str:
8889
if isinstance(value, list):

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy