Michael Chisholm
f2691e89f5
Fix make_constant() in the AST module, to always return a
...
constant. It was failing to do so for timestamps, instead
returning a STIXdatetime object.
2020-09-12 19:14:29 -04:00
Emmanuelle Vargas-Gonzalez
639769d885
expose API Reference for Pattern Equivalence for ReadTheDocs
2020-09-11 13:54:13 -04:00
Michael Chisholm
b5015b74ba
pre-commit stylistic fixes
2020-08-19 12:10:51 -04:00
Michael Chisholm
3c25410a9d
pre-commit stylistic fix
2020-08-19 11:51:47 -04:00
Michael Chisholm
7fa3c78dea
Update CompositeDataSource and deduplicate() to handle unversioned
...
objects, including 2.1 SCOs. Updated some unit tests to test
this. Fixed a typo in a 2.0 unit test (2.0 deduplicate() test).
2020-08-17 18:38:29 -04:00
Michael Chisholm
b6c2206491
Add some unit test suites for pattern equivalence which use some
...
STIX version-specific pattern features.
2020-08-14 19:56:49 -04:00
Michael Chisholm
9e707a3a81
Add stix_version kwargs to the pattern equivalence functions.
...
This allows the patterns to be parsed using either 2.0 or 2.1+
syntax.
2020-08-14 19:55:00 -04:00
Michael Chisholm
320129e26c
Add another unit test to help a bit with lack of coverage of
...
compare/comparison.py. This one tests patterns with more
constant types.
2020-08-13 18:45:52 -04:00
Michael Chisholm
c21b230edb
pre-commit hook stylistic changes
2020-08-13 17:44:42 -04:00
Michael Chisholm
16a8c544ac
Add a find_equivalent_patterns() function and unit tests, in case
...
a user wants a more efficient search capability. (It is more
efficient than calling equivalent_patterns() over and over in a
loop, because it doesn't repeatedly re-canonicalize the search
pattern.)
2020-08-13 17:09:04 -04:00
Michael Chisholm
bd5635f5be
Add some unit tests for pattern equivalence.
2020-08-13 16:46:25 -04:00
Michael Chisholm
6c92f670cb
Fix ipv4/6 special canonicalizers to reformat IP addresses even
...
when a non-CIDR address is used. Before, it left plain IP
addresses untouched.
2020-08-13 16:22:24 -04:00
Michael Chisholm
5d6c7d8c8a
Add some simple context-sensitive constant canonicalization, used
...
as part of canonicalizing comparison expressions. This
required adding a new comparison expression transformer callback
for leaf-node comparison expression objects, and updating all
existing comparison transformers to work (it affected all/most
of them). The observation expression transformer which actually
does the comparison canonicalization was updated to also perform
this special canonicalization step.
2020-08-12 19:28:35 -04:00
Michael Chisholm
311fe38cea
Add first cut of a pattern equivalence capability
2020-08-10 18:33:26 -04:00
Chris Lenk
1948b38eec
Merge pull request #438 from oasis-open/issue_437
...
hack for issue_435
Fixes #435 .
2020-08-07 09:55:41 -04:00
Chris Lenk
1f9a844941
Merge pull request #439 from maybe-sybr/fix/customs-class-name
...
fix: Respect name of `@Custom*` decorated defs
2020-08-04 07:32:03 -04:00
Rich Piazza
8f76a84bbf
handle quoted path components
2020-07-30 15:32:06 -04:00
maybe-sybr
15344527aa
fix: Respect name of `@Custom*` decorated defs
2020-07-28 11:13:59 +10:00
Emmanuelle Vargas-Gonzalez
8cdbfed5e4
Merge pull request #431 from oasis-open/filesys-write-custom
...
Fix bug when adding custom object to FileSystemSink if the object type hasn't been registered
2020-07-27 09:43:38 -04:00
Rich Piazza
b7a30befdc
add tests and fix introduced bug
2020-07-25 14:47:40 -04:00
Rich Piazza
0fc2befd6a
hack for issue_435
2020-07-25 14:22:03 -04:00
Rich Piazza
084941dd41
handle mixed boolean expressions
2020-07-24 11:40:21 -04:00
Emmanuelle Vargas-Gonzalez
08137ff6be
add serialization to API documentation
2020-07-22 15:38:17 -04:00
Emmanuelle Vargas-Gonzalez
8093898a3d
move serialization-related methods to serialization.py
...
update tests that call specific methods from this area
2020-07-22 15:36:48 -04:00
Emmanuelle Vargas-Gonzalez
ca56a74e12
update docstrings for _STIXBase method
2020-07-22 15:20:39 -04:00
Emmanuelle Vargas-Gonzalez
978aee9a8e
fix circular import problem
2020-07-22 14:53:37 -04:00
Emmanuelle Vargas-Gonzalez
c760e04c9a
rename module to serialization.py
2020-07-22 14:31:26 -04:00
Emmanuelle Vargas-Gonzalez
853bd0da21
move classes and methods from base.py to serialize.py
2020-07-22 13:56:24 -04:00
Emmanuelle Vargas-Gonzalez
37f0238fc6
add serialize.py module
2020-07-22 13:37:41 -04:00
Chris Lenk
806389117f
Allow mixing single objects and lists in bundles
...
...in bundle constructor
Related: #429 .
2020-07-20 00:24:36 -04:00
Chris Lenk
55ea84ece2
Fix bug when adding custom obj to FileSystemSink
...
... if the object type hasn't been registered.
Related: #439 .
2020-07-20 00:04:32 -04:00
Michael Chisholm
d888eb60e2
Remove protocol_family and its uses from the v21 network
...
socket SCO extension. It's a 2.0 property that got copied into
the 2.1 code by mistake.
2020-07-08 14:26:02 -04:00
Emmanuelle Vargas-Gonzalez
bf66744db3
remove round from `fuzz.token_sort_ratio(str1, str2)` call
2020-07-08 11:02:56 -04:00
Chris Lenk
457085a115
Merge pull request #377 from maxbachmann-forks/master
...
use rapidfuzz instead of fuzzywuzzy
2020-07-08 10:49:41 -04:00
Chris Lenk
f1bb0b1b01
Bump version: 2.0.1 → 2.0.2
2020-07-07 09:42:01 -04:00
Chris Lenk
b29527cae1
Fix for isort v5.0.0
2020-07-07 09:03:07 -04:00
Chris Lenk
ee3425cc01
Bump version: 2.0.0 → 2.0.1
2020-07-06 16:44:29 -04:00
Chris Lenk
c8a9d31d7b
Bump version: 1.4.0 → 2.0.0
2020-07-06 16:43:12 -04:00
Chris Lenk
8e785cbd05
Remove outdated comment
2020-07-06 16:42:33 -04:00
Emmanuelle Vargas-Gonzalez
c3e5da4634
add `pattern_visitor` to api reference
2020-07-01 10:30:05 -04:00
Emmanuelle Vargas-Gonzalez
2ac3a4b524
add module docstring for versioning.py
2020-07-01 10:30:05 -04:00
Chris Lenk
53dbc5835e
Add test for coverage
...
Tests creating a property with both required and default.
2020-07-01 09:54:50 -04:00
Chris Lenk
3397805367
Consolidate version-independent property tests
2020-07-01 09:41:10 -04:00
Emmanuelle Vargas-Gonzalez
7ef3a02971
update docstrings environment.py and parsing.py
2020-06-30 22:32:04 -04:00
Emmanuelle Vargas-Gonzalez
21e109d881
remove `core` and added `parsing`, `versioning` to autosummary
2020-06-30 22:16:15 -04:00
Emmanuelle Vargas-Gonzalez
9a0cb02ab3
nit-pick on v21 Indicator constructor
2020-06-30 13:58:19 -04:00
Chris Lenk
e25734d2b6
Fix trailing commas
2020-06-26 16:43:19 -04:00
Chris Lenk
d5d664ba41
Update docs for 2.1 as default
2020-06-26 16:43:19 -04:00
Chris Lenk
10bdfe9e25
Fix KeyError in TAXII DataStore
2020-06-26 16:43:19 -04:00
Chris Lenk
3ef63d5e17
Update Workbench for 2.1
2020-06-26 16:43:19 -04:00
Chris Lenk
d62f5ee141
Remove 'encoding' param from json.loads
...
It's ignored since Python 3.1 and we've dropped 2.7.
2020-06-26 16:43:19 -04:00
Chris Lenk
e80d3bad2c
Fix 2.0 HashesProperties
2020-06-26 16:43:19 -04:00
Chris Lenk
f78b396648
Fix parsing tests
2020-06-26 16:43:19 -04:00
Chris Lenk
b42b1cafa7
Move a couple tests for organization
2020-06-26 16:43:19 -04:00
Chris Lenk
b2ee33208f
Set STIX 2.1 as default, fix indicator.valid_from
2020-06-26 16:43:19 -04:00
Michael Chisholm
bf5176f370
Add some new unit tests corresponding to ListProperty revamp.
2020-06-17 16:31:03 -04:00
Michael Chisholm
bc51cd47bd
Revamp ListProperty so its logic makes more sense.
2020-06-17 16:11:30 -04:00
Chris Lenk
9d05c9d3e2
Merge pull request #401 from chisholm/fix_versionable_detection
...
Fix versionability detection
2020-06-10 10:22:59 -04:00
Michael Chisholm
00b78e7a47
Stylistic pre-commit junk
2020-06-08 17:51:13 -04:00
Michael Chisholm
99bf4215a3
Change all uses of ObjectReferenceProperty in 2.1 SCO classes
...
to ReferenceProperty. Add a unit test to ensure that when a
stix2 object is passed as a value of a ReferenceProperty, that
the ID is properly pulled out and used as the actual property
value, and that it doesn't affect the deterministic ID
calculation.
2020-06-08 17:24:33 -04:00
Chris Lenk
8bde22fa1f
Merge pull request #407 from emmanvg/flexibility-selector-syntax
...
Update SELECTOR_REGEX for GranularMarkings
2020-06-08 13:54:39 -04:00
Emmanuelle Vargas-Gonzalez
aa18575c83
add `id` as special-case option in regex. closes #406
2020-06-08 09:27:12 -04:00
Michael Chisholm
c13cb182db
versioning related updates:
...
- remove var 'properties_to_change' since it's unnecessary
- delete most of remove_custom_stix() since it was unnecessary,
greatly simplify it
2020-06-05 14:24:16 -04:00
Michael Chisholm
9c5f950d5b
Add a new_version() restriction preventing SCO ID contributing
...
properties from being changed, if a UUIDv5 is in use. Changing
one of those properties would imply an ID change, which is not
allowed across versions. Also:
- add a trailing comma
- change unchangable_properties to a set instead of a list,
in case there are dupe props between STIX_UNMOD_PROPERTIES and
sco_locked_props
2020-06-05 14:24:16 -04:00
Michael Chisholm
eaa7f17ee4
Fix versionability detection: _properties is an OrderedDict not
...
a list of tuples! (despite what it looks like if you glance at it
quickly.)
2020-06-05 14:24:16 -04:00
Michael Chisholm
15e75cb4de
Python 2 compatibility fix in versionability detection. In
...
python2, Mapping.keys() returns a list instead of a set!
2020-06-05 14:24:16 -04:00
Michael Chisholm
a05dbc42d5
Improve the docstring for new_version(). Especially with the
...
three-value logic for allow_custom, it needed some much better
documentation.
2020-06-05 14:24:16 -04:00
Michael Chisholm
d4cecd6f51
In remove_custom_stix(), when creating the new version,
...
use allow_custom=False to force custom properties to be
disallowed. This is extra insurance against a custom prop
accidentally getting through.
2020-06-05 14:24:16 -04:00
Michael Chisholm
78d3b2c4c5
Add stix2.utils import to v20/test_versioning.py since the module
...
was used but not imported there. Also import sorting from the
pre-commit hook.
2020-06-05 14:24:16 -04:00
Michael Chisholm
5522050899
Improve versionability detection when creating new versions
...
of objects. Move versioning-related stuff out of stix2.utils
to its own module. Some misc versioning-related fixes.
2020-06-05 14:24:16 -04:00
Michael Chisholm
5a5484d464
Move/merge some deterministic ID tests from the observed-data SDO
...
test suite to the test suite specific to testing deterministic
IDs. This keeps the tests for that specific system in one place.
2020-06-05 14:14:44 -04:00
Michael Chisholm
f17f782134
Bugfixes to the json un-escaping function. Added some unit tests
...
for that.
2020-06-05 14:14:44 -04:00
Michael Chisholm
2179028c91
Fix deterministic ID behavior when an empty "hashes" property is
...
given. Now, an exception is raised. Added a unit test for this.
2020-06-05 14:14:44 -04:00
Michael Chisholm
c94feae623
Add a deterministic ID unit test with an embedded object
2020-06-05 14:14:43 -04:00
Michael Chisholm
fa981affa9
stupid python 3.8 pre-commit still not adding the right trailing
...
commas....
2020-06-05 14:14:43 -04:00
Michael Chisholm
9dcffd9fad
Add some unit tests for deterministic IDs.
2020-06-05 14:14:43 -04:00
Michael Chisholm
1f5e8defd3
Argh, I fixed an RFC URL but forgot to fix the comment which
...
described it and gave the RFC number...
2020-06-05 14:14:43 -04:00
Michael Chisholm
22c0d5806c
Trailing comma for the pre-commit hook
2020-06-05 14:14:43 -04:00
Michael Chisholm
e22c37a16b
Update a RFC URL to the latest version. I'd accidentally used
...
one which had been obsoleted by a newer one.
2020-06-05 14:14:43 -04:00
Michael Chisholm
6c2c4781e7
Revamp deterministic ID generation code to fix bugs.
2020-06-05 14:14:43 -04:00
Chris Lenk
41525f9be0
Merge pull request #400 from oasis-open/issue-398
...
fixed start/stop qualifier constant issue
Fixes #398 .
2020-06-05 10:57:59 -04:00
Rich Piazza
53dfe40c30
only test start/stop timestamps if they are strings (2.0)
2020-06-05 09:25:06 -04:00
Rich Piazza
04af273d71
flaky
2020-06-05 09:17:42 -04:00
Michael Chisholm
7def04fd6f
Add __all__'s to v20 and v21/__init__.py to ensure that
...
star-imports from those modules get the right symbols. "base"
was a problem because it was getting imported via
stix2/__init__.py and overwriting stix2.base, making the actual
stix2/base.py module inaccessible.
2020-06-03 17:39:09 -04:00
Rich Piazza
977107e713
2.0 Start/Stop Quailifer uses StringConstants
2020-06-01 22:34:40 -04:00
Rich Piazza
cfe0648c98
fixed start/stop qualifier constant issue
2020-05-26 15:12:02 -04:00
Michael Chisholm
7955a41997
Drop python-dateutil as a dependency and switch to the builtin
...
datetime module for parsing timestamps. Dateutil proved too
slow.
2020-05-20 15:06:53 -04:00
Emmanuelle Vargas-Gonzalez
b4dbc419f6
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into 391-ssdeep-hash-case
2020-05-14 12:51:02 -04:00
Emmanuelle Vargas-Gonzalez
68f7ca6377
resolve problem with SSDEEP vocab use for 2.1, closes #391
2020-05-13 18:17:17 -04:00
Desai, Kartikey H
998b4c0725
Change streamlined_obj_vals list to streamlined_object dict
2020-05-13 12:45:16 -05:00
Desai, Kartikey H
9ce299b660
Fixes #389
2020-05-13 11:40:37 -05:00
Desai, Kartikey H
65d4060e6a
Fixes #389
2020-05-13 11:23:26 -05:00
Desai, Kartikey H
0b1297b14a
Fixes #389
2020-05-13 11:22:51 -05:00
Desai, Kartikey H
de3fa99a12
Add property names to canonicalization for deterministic id gen
2020-05-13 11:20:16 -05:00
Chris Lenk
31cb2f85be
Bump version: 1.3.1 → 1.4.0
2020-04-03 17:44:52 -04:00
Chris Lenk
df92770d25
Merge pull request #384 from oasis-open/365-versioned-classes
...
Validate custom type/property name formats
2020-04-03 17:30:24 -04:00
Emmanuelle Vargas-Gonzalez
2b0d63c4b1
update test_datastore_taxii.py conftest.py for latest changes in medallion. add extra data used by filter
2020-04-03 17:19:36 -04:00
Chris Lenk
c7fb79d195
Fix some TAXII DataStore tests
2020-04-03 15:58:56 -04:00
Chris Lenk
9145bdf5e8
Merge pull request #374 from chisholm/version_precision
...
Support STIX 2.1 version precision
2020-04-03 15:52:42 -04:00
Chris Lenk
0d770972cf
Merge pull request #382 from oasis-open/more-pattern-tests
...
More pattern tests
2020-04-03 11:24:43 -04:00