flow.record 3.16.dev6__tar.gz → 3.16.dev7__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {flow_record-3.16.dev6/flow.record.egg-info → flow_record-3.16.dev7}/PKG-INFO +1 -1
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/fieldtypes/__init__.py +2 -1
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/version.py +2 -2
- {flow_record-3.16.dev6 → flow_record-3.16.dev7/flow.record.egg-info}/PKG-INFO +1 -1
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_fieldtypes.py +9 -2
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/COPYRIGHT +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/LICENSE +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/MANIFEST.in +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/README.md +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/examples/filesystem.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/examples/passivedns.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/examples/records.json +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/examples/tcpconn.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/__init__.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/__init__.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/archive.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/avro.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/broker.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/csvfile.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/duckdb.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/elastic.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/jsonfile.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/line.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/mongo.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/split.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/splunk.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/sqlite.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/stream.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/text.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/adapter/xlsx.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/base.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/exceptions.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/fieldtypes/credential.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/fieldtypes/net/__init__.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/fieldtypes/net/ip.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/fieldtypes/net/ipv4.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/fieldtypes/net/tcp.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/fieldtypes/net/udp.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/jsonpacker.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/packer.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/selector.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/stream.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/tools/__init__.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/tools/geoip.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/tools/rdump.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/utils.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow/record/whitelist.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow.record.egg-info/SOURCES.txt +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow.record.egg-info/dependency_links.txt +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow.record.egg-info/entry_points.txt +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow.record.egg-info/requires.txt +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/flow.record.egg-info/top_level.txt +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/pyproject.toml +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/setup.cfg +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/__init__.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/_utils.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/docs/Makefile +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/docs/conf.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/docs/index.rst +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/selector_explain_example.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/standalone_test.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_avro.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_avro_adapter.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_compiled_selector.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_csv_adapter.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_deprecations.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_elastic_adapter.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_fieldtype_ip.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_json_packer.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_json_record_adapter.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_multi_timestamp.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_packer.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_rdump.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_record.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_record_adapter.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_record_descriptor.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_regression.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_selector.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_splunk_adapter.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/test_sqlite_duckdb_adapter.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tests/utils_inspect.py +0 -0
- {flow_record-3.16.dev6 → flow_record-3.16.dev7}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flow.record
|
|
3
|
-
Version: 3.16.
|
|
3
|
+
Version: 3.16.dev7
|
|
4
4
|
Summary: A library for defining and creating structured data (called records) that can be streamed to disk or piped to other tools that use flow.record
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License: Affero General Public License v3
|
|
@@ -767,7 +767,8 @@ class command(FieldType):
|
|
|
767
767
|
# an '%' for an environment variable
|
|
768
768
|
# r'\\' for a UNC path
|
|
769
769
|
# the strip and check for ":" on the second line is for `<drive_letter>:`
|
|
770
|
-
|
|
770
|
+
stripped_value = value.lstrip("\"'")
|
|
771
|
+
windows = value.startswith((r"\\", "%")) or (len(stripped_value) >= 2 and stripped_value[1] == ":")
|
|
771
772
|
|
|
772
773
|
if windows:
|
|
773
774
|
cls = windows_command
|
|
@@ -12,5 +12,5 @@ __version__: str
|
|
|
12
12
|
__version_tuple__: VERSION_TUPLE
|
|
13
13
|
version_tuple: VERSION_TUPLE
|
|
14
14
|
|
|
15
|
-
__version__ = version = '3.16.
|
|
16
|
-
__version_tuple__ = version_tuple = (3, 16, '
|
|
15
|
+
__version__ = version = '3.16.dev7'
|
|
16
|
+
__version_tuple__ = version_tuple = (3, 16, 'dev7')
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: flow.record
|
|
3
|
-
Version: 3.16.
|
|
3
|
+
Version: 3.16.dev7
|
|
4
4
|
Summary: A library for defining and creating structured data (called records) that can be streamed to disk or piped to other tools that use flow.record
|
|
5
5
|
Author-email: Dissect Team <dissect@fox-it.com>
|
|
6
6
|
License: Affero General Public License v3
|
|
@@ -1075,9 +1075,16 @@ def test_command_integration_none(tmp_path: pathlib.Path) -> None:
|
|
|
1075
1075
|
# Test a quoted path
|
|
1076
1076
|
(r"'c:\path to some exe' /d /a", r"c:\path to some exe", [r"/d /a"]),
|
|
1077
1077
|
# Test a unquoted path
|
|
1078
|
-
(r"
|
|
1078
|
+
(r"\Users\test\hello.exe", r"\Users\test\hello.exe", []),
|
|
1079
1079
|
# Test an unquoted path with a path as argument
|
|
1080
|
-
(r"
|
|
1080
|
+
(r"\Users\test\hello.exe c:\startmepls.exe", r"\Users\test\hello.exe", [r"c:\startmepls.exe"]),
|
|
1081
|
+
# Test a quoted UNC path
|
|
1082
|
+
(r"'\\192.168.1.2\Program Files\hello.exe'", r"\\192.168.1.2\Program Files\hello.exe", []),
|
|
1083
|
+
# Test an unquoted UNC path
|
|
1084
|
+
(r"\\192.168.1.2\Users\test\hello.exe /d /a", r"\\192.168.1.2\Users\test\hello.exe", [r"/d /a"]),
|
|
1085
|
+
# Test an empty command string
|
|
1086
|
+
(r"''", r"", []),
|
|
1087
|
+
# Test None
|
|
1081
1088
|
(None, None, None),
|
|
1082
1089
|
],
|
|
1083
1090
|
)
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|