Michael Chisholm
d87718c15c
Bug fixes, hackage removal, and some pre-commit stylistic
...
fixes.
- Fixed bugged logic in _STIXBase._check_at_least_one_property(),
and revamped the code to be simpler and clearer.
- Changed custom extension registration to auto-create an
"extension_type" property based on the attribute of that
name on the custom class, if present.
- The custom extension registration change above uncovered
what seemed like a bug in a unit test: a custom extension
was registered, but it was not given an extension type. The
test used the extension as extension_type="property-extension";
this now causes a standard error about an extra property. I
fixed the test to assign the custom extension the proper type.
2021-06-30 17:50:00 -04:00
chrisr3d
081f36068c
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2021-06-30 15:30:13 +02:00
Chris Lenk
5504001f92
Add new infrastructure-type-ov entries
2021-06-25 23:01:11 -04:00
Chris Lenk
7a9d052a0d
Update Network Traffic for CS03
...
- `end` must be greater than or equal to `start`
- `extensions` and `end` are now id-contributing properties
2021-06-25 22:48:00 -04:00
Michael Chisholm
c7b4840232
Code style and behavioral improvements in ExtensionsProperty:
...
- Changed an error message "Cannot determine extension type."
At that point in the code, we in fact have a registered
extension type and the class for it, so it didn't seem to make
any sense. I changed it to say that an extension of that type
couldn't be created from type of value given. Because this is
really about typing (in both the old and new code), I also
changed the exception class to TypeError.
- Changed customization behavior: unregistered
"extension-definition--" style extensions are no longer
considered custom. Their mere presence can no longer be
considered a customization, since it doesn't fit the
criteria, and in fact the extension mechanism is supposed to
supplant the old customization system anyway. Unregistered
extensions of other types are still considered custom.
- Fixed up unit tests according to the exception message
change.
- Added a unit test for unregistered "extension-definition--"
style extensions.
2021-06-25 22:20:02 -04:00
Michael Chisholm
70718063d3
Remove relics of the old way customization was handled and
...
enforced, from _STIXBase20 and _STIXBase21. That awkwardness
is no longer necessary.
2021-06-25 22:10:31 -04:00
Michael Chisholm
47b864cb4d
Fix v21 ExtensionDefinition class to use the enum constant from
...
the vocab module for extension-type-enum, instead of replicating
that list.
2021-06-25 22:06:52 -04:00
Michael Chisholm
e17f3e6c1c
Add constants to the v21 vocab module for extension-type-enum
2021-06-25 22:04:59 -04:00
Chris Lenk
a95a463619
Add Sighting.summary default value
...
See also #507 .
2021-06-21 10:56:44 -04:00
Chris Lenk
94859a0daf
Fix tests, add a loophole to allow custom content
...
The "loophole" occurs when an object contains an unregistered top-level
extension. Since it's unregistered we can't tell if any custom
properties on the object were defined in that extension so we assume
that they are.
2021-06-14 17:34:06 -04:00
Chris Lenk
2528077eb0
Merge branch 'master' into dev-extensions-proposal
2021-06-13 01:48:33 -04:00
Chris Lenk
5cce864304
Test invalid_types ReferenceProperty with custom
2021-06-11 14:00:46 -04:00
Chris Lenk
7209346f0b
Improve error message for invalid reference types
2021-06-11 13:59:48 -04:00
Michael Chisholm
2b064872a4
Add variables for each individual enum value in the vocab modules.
2021-04-15 22:06:57 -04:00
Chris Lenk
bafe699f3d
Fix sighting.last_seen check
...
It is allowed to be equal to first_seen
2021-04-15 20:51:27 -04:00
Emmanuelle Vargas-Gonzalez
5d83d44d0e
adding documentation on specific lines, typos, and a bit of extra code
2021-04-15 12:28:58 -04:00
Chris Lenk
a002c1736d
Update guide docs, remove outdated comments
2021-04-14 16:39:56 -04:00
Michael Chisholm
4dc8e49d3c
pre-commit stylistic fix
2021-04-14 12:58:09 -04:00
Michael Chisholm
f301bc144f
Disable custom vocab enforcement. Custom values for open-vocab
...
properties are now always accepted and not considered
customizations (has_custom will be False). Just commented out
the enforcement code and xfail'd the unit tests, which makes it
easy to reinstate these behaviors later. It was decided this
is too likely to break user code, and we don't currently have
a way to disallow customizations in other places while still
allowing custom open vocab values. Safest to always allow
custom open vocab values, for now.
2021-04-14 12:48:32 -04:00
Michael Chisholm
33128908c7
Another pre-commit stylistic fix. Necessary since apparently
...
the git action uses a more recent version of pre-commit than
travis did, and the newer pre-commit requires different things
than the old one did.
2021-03-31 21:31:59 -04:00
Michael Chisholm
82148aa1ac
Pre-commit stylistic fix
2021-03-31 21:27:06 -04:00
Michael Chisholm
e735b537c7
Remove a workaround which was used in the 2.0 and 2.1 Report
...
objects, to structure object_refs type requirements as an empty
blacklist, instead of a whitelist. I think it was originally
necessary due to the older implementation of ReferenceProperty
which was in place at the time. With the implementation change
to invert whitelists with generics to blacklists when
allow_custom=True, a "full" whitelist is internally converted to
an empty blacklist anyway, so it winds up being the same thing.
But I think the full whitelist looks better in the code, so I
prefer that to the empty blacklist.
2021-03-31 20:56:31 -04:00
Michael Chisholm
0ddf0d2ca8
Clean up ReferenceProperty.clean(), to use new APIs which are
...
available after the rebase. This simplifies the implementation.
Also made utils.to_enum() a module public function, since I
needed to use it outside that module. Misc pre-commit stylistic
fixes.
2021-03-31 20:01:27 -04:00
Emmanuelle Vargas-Gonzalez
40023ec987
forgot to add this in the rebase...
2021-03-31 18:55:55 -04:00
Emmanuelle Vargas-Gonzalez
bc053da3c4
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2021-03-31 18:53:02 -04:00
Emmanuelle Vargas-Gonzalez
af046beeb5
add new-sdo or new-sro option in CustomObject decorator, add a test, and example in guide
2021-03-31 18:46:37 -04:00
Emmanuelle Vargas-Gonzalez
08d5781f54
add entry on extensions.ipynb, typos, and a couple of fixes for registry module and Marking decorator
2021-03-31 18:11:38 -04:00
Michael Chisholm
c8b9eab53d
Fixed some more silliness in properties.py... was it a rebase
...
glitch? Something else I overlooked? Not sure.
2021-03-31 16:49:14 -04:00
Michael Chisholm
6f60bed235
Make a minor post-rebase fix
2021-03-31 16:21:35 -04:00
Michael Chisholm
c8c4e89415
Add back usage of spec_version where HashesProperty is used for
...
various STIX objects. Also pre-commit stylistic fixes...
2021-03-31 16:20:33 -04:00
Michael Chisholm
a8a65599bf
Add back spec_version kwarg to HashesProperty, since it was used
...
to check key lengths. Added some unit tests for hash keys.
Also added a library hash support test module I'd forgotten to
add before.
2021-03-31 16:20:33 -04:00
Michael Chisholm
c590de8ea5
Add proper customization enforcement for open vocabs. This adds
...
a new OpenVocabProperty class. It also requires a redesign of
HashesProperty and redoes general library support for hash
algorithms.
2021-03-31 16:20:28 -04:00
Michael Chisholm
62ee2b2b0a
Pre-commit changes. Also remove a dupe test function which
...
slipped through due to a rather complex rebase... not too
surprising I missed it.
2021-03-31 15:32:54 -04:00
Michael Chisholm
414694d8fa
Add support in ReferenceProperty for hybrid object type
...
constraints (i.e. both generic type categories and specific
types). Also:
- more expansion/refinement of reference property unit tests
- bugfix: SROs are in OBJ_MAP too, it's not just SDOs! Oops...
- pre-commit stylistic fixes
2021-03-31 15:32:51 -04:00
Michael Chisholm
986404b7b7
In the test_properties.py test suites, I thought code like
...
assert prop.clean(...)
doesn't test well enough since clean() methods on this branch
produce 2-tuples, and you should test what's in the tuple, not
just that it returned something non-empty. So I fixed it in
several places to test the tuple contents.
2021-03-31 15:26:11 -04:00
Michael Chisholm
03c265c3a3
Add a check in ReferenceProperty constructor for an impossible
...
to satisfy type constraint: empty whitelist. It would be silly
for anyone to do that, but I should check just in case I guess.
2021-03-31 15:26:11 -04:00
Michael Chisholm
c7dd58ed89
Further ReferenceProperty refinements: make allow_custom=True
...
work when a whitelist of generic category types is used.
Disallow hybrid constraints (both generic and specific at the
same time). Add more unit tests.
2021-03-31 15:26:09 -04:00
Michael Chisholm
387ce7e7cb
Fix Report SDO: I'd fixed ReferenceProperty to work the way I
...
thought it should, but forgot to fix Report to use
ReferenceProperty in the way I thought it should! Oops.
Added some tests to ensure Report is working property with
custom ID types in object_refs.
2021-03-31 15:22:00 -04:00
Michael Chisholm
d2f960f2fc
Initial revamp of customization enforcement and detection.
2021-03-31 15:21:55 -04:00
Emmanuelle Vargas-Gonzalez
203a2746e0
add new file test_extension_definition.py and assigned new UUIDs to the constants
2021-03-31 15:00:54 -04:00
Emmanuelle Vargas-Gonzalez
35ef718b70
add extension-definition ids (fail to validate) but keeping in Git history
2021-03-31 14:58:28 -04:00
Emmanuelle Vargas-Gonzalez
dd6b847b10
small tweaks and pre-commit changes
2021-03-31 12:44:15 -04:00
Emmanuelle Vargas-Gonzalez
6d285c47ae
update test suite for use of .serialize(pretty=True)
2021-03-31 12:39:14 -04:00
Emmanuelle Vargas-Gonzalez
9cc2e5bd3a
remove backwards compatible imports, remove pretty=True from _STIXBase.__str()__, and simplify _STIXBase.__repr()__ (breaking)
2021-03-31 11:02:05 -04:00
Emmanuelle Vargas-Gonzalez
bde9aaa13e
update some TODOs and clear out some backwards kept imports (breaking)
2021-03-30 22:40:41 -04:00
chrisr3d
8093e07d1b
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into main
2021-03-24 12:36:49 +01:00
Chris Lenk
2743b90fc0
Merge pull request #500 from emmanvg/add-fp-serialize
...
fp write for STIX Objects
2021-03-19 21:13:30 -04:00
Emmanuelle Vargas-Gonzalez
19196654c5
Apply suggestions from code review
...
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-03-19 15:31:01 -04:00
Emmanuelle Vargas-Gonzalez
c2d360d223
apply fp_serialize() changes on main serialize() method
2021-03-18 18:08:31 -04:00
Emmanuelle Vargas-Gonzalez
922de111ed
minor tweaks to docstrings
2021-03-18 10:14:36 -04:00
Emmanuelle Vargas-Gonzalez
2ea9c0c63c
use it on filesystem.py data sink
2021-03-17 15:15:26 -04:00
Emmanuelle Vargas-Gonzalez
827f622c04
provide ability to stream STIX output to fp ``.write()`` file-like object
2021-03-17 15:01:49 -04:00
Chris Lenk
69cd079cc2
Merge pull request #499 from oasis-open/emmanvg-patch-1
...
Update incident weights for semantic similarity
2021-03-15 09:35:21 -04:00
Chris Lenk
ccf3b1a0fc
Merge pull request #480 from emmanvg/479-pagination-taxii-datastore
...
Support Pagination in TAXII DataStore
2021-03-15 09:33:42 -04:00
Emmanuelle Vargas-Gonzalez
f7ebd34c8c
Update __init__.py
...
fix incident entry
2021-03-12 16:49:23 -05:00
Emmanuelle Vargas-Gonzalez
7e5d31742c
remove `six` from tests
2021-03-12 16:46:34 -05:00
Emmanuelle Vargas-Gonzalez
c9e66def60
rename test, update the rest of the docstrings for object_similarity() and object_equivalence()
2021-03-10 13:32:02 -05:00
Emmanuelle Vargas-Gonzalez
7d7c56c64b
Update stix2/environment.py
2021-03-10 09:52:24 -05:00
Emmanuelle Vargas-Gonzalez
262284444e
Update stix2/environment.py
...
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-03-10 09:52:15 -05:00
Emmanuelle Vargas-Gonzalez
fb6852b38f
update test suite
2021-03-01 20:47:30 -05:00
Emmanuelle Vargas-Gonzalez
bd996b8750
Update __init__.py
2021-03-01 14:40:05 -05:00
Emmanuelle Vargas-Gonzalez
72a12e96ba
update guide example, conf.py and remove some unused imports
2021-03-01 13:14:03 -05:00
Emmanuelle Vargas-Gonzalez
e4e6f46089
change key name for _refs check
2021-03-01 12:54:01 -05:00
Emmanuelle Vargas-Gonzalez
3efa4c1ce9
revert part changes
2021-03-01 12:44:35 -05:00
Emmanuelle Vargas-Gonzalez
d2e867b52e
docstring corrections
2021-03-01 12:29:33 -05:00
Emmanuelle Vargas-Gonzalez
ff5014c606
expose configuration options, combine weight dictionary, update tests
2021-03-01 12:27:52 -05:00
Emmanuelle Vargas-Gonzalez
f9a52eeed3
WIP: changes to both similarity functions, expose settings
2021-02-26 19:19:33 -05:00
Emmanuelle Vargas-Gonzalez
b3d0c7b58a
styling changes
2021-02-20 00:13:36 -05:00
Emmanuelle Vargas-Gonzalez
e4039231f4
missing link and test case
2021-02-20 00:10:38 -05:00
Emmanuelle Vargas-Gonzalez
d5e6226c82
update hyperlinks to STIX 2.1 CS 02
2021-02-19 23:27:41 -05:00
Emmanuelle Vargas-Gonzalez
479cff818a
few leftover changes...
2021-02-19 22:15:11 -05:00
Emmanuelle Vargas-Gonzalez
9043a9dc8e
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2021-02-19 21:54:46 -05:00
Emmanuelle Vargas-Gonzalez
5067a3ff76
couple of changes after merging against master
2021-02-19 10:05:56 -05:00
Chris Lenk
4bccfd26bd
Merge pull request #492 from oasis-open/drop-six
...
Drop 'six' dependency (backwards breaking)
2021-02-18 23:45:13 -05:00
Chris Lenk
64608e7bea
Merge pull request #491 from emmanvg/graph-eq-changes
...
Graph Equivalence Changes
2021-02-18 23:44:39 -05:00
Emmanuelle Vargas-Gonzalez
a8b6fa2100
Merge branch 'master' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal
2021-02-18 16:04:30 -05:00
Chris Lenk
b4a0a9ea10
Remove six dependency (backwards breaking)
...
We've already removed Python 2 from our test harness, but this removes
all python 2 compatibility code left in.
2021-02-18 12:38:35 -05:00
Chris Lenk
490251dd85
Revert JSON canonicalization code
...
Undo our Python 2 compatibility fixes
2021-02-18 12:21:52 -05:00
Emmanuelle Vargas-Gonzalez
99453770cf
doctring changes, _versioned_checks changes
2021-02-18 10:37:34 -05:00
Emmanuelle Vargas-Gonzalez
fa6978969b
removing unused imports (backwards breaking)
2021-02-18 10:20:42 -05:00
Emmanuelle Vargas-Gonzalez
010593345c
Update stix2/environment.py
...
docstrings
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:16:19 -05:00
Emmanuelle Vargas-Gonzalez
75b411df85
Update stix2/environment.py
...
docstrings
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:15:26 -05:00
Emmanuelle Vargas-Gonzalez
75574c9427
Update stix2/equivalence/object/__init__.py
...
docstrings
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:15:09 -05:00
Emmanuelle Vargas-Gonzalez
34feac6ae7
Update stix2/environment.py
...
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:14:47 -05:00
Emmanuelle Vargas-Gonzalez
154fc4e236
Update stix2/equivalence/object/__init__.py
...
update variable names
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:14:34 -05:00
Emmanuelle Vargas-Gonzalez
52c5f3ad29
Update stix2/equivalence/object/__init__.py
...
Co-authored-by: Chris Lenk <clenk@users.noreply.github.com>
2021-02-18 09:14:10 -05:00
Emmanuelle Vargas-Gonzalez
702c80bd53
add styling changes
2021-02-17 21:47:56 -05:00
Emmanuelle Vargas-Gonzalez
ee63e9faf4
resolve issue regarding reference_check or list_reference_check, remove redundant object_similarity call
...
update test suite
2021-02-17 21:30:14 -05:00
Emmanuelle Vargas-Gonzalez
c656d35da5
add more test coverage for new functions
2021-02-16 13:40:42 -05:00
Emmanuelle Vargas-Gonzalez
d2d85badb2
make some functions internal, add some docs for them
2021-02-16 11:01:07 -05:00
Emmanuelle Vargas-Gonzalez
09fd8c060b
clear debug message
2021-02-16 10:23:02 -05:00
Emmanuelle Vargas-Gonzalez
fbea229004
add styling changes
2021-02-16 09:44:03 -05:00
Emmanuelle Vargas-Gonzalez
ef610ec8d3
small docstring fix
2021-02-16 09:36:09 -05:00
Emmanuelle Vargas-Gonzalez
f966c64b40
update test suite for environments
2021-02-16 01:05:46 -05:00
Emmanuelle Vargas-Gonzalez
690a515f00
add methods to environment.py
2021-02-16 00:58:33 -05:00
Emmanuelle Vargas-Gonzalez
02b076b3bb
resolve issues with graph similarity
...
- new methods for graph equivalence and similarity
- remove sorting and len comparisons
- rename some variables
2021-02-16 00:57:26 -05:00
Michael Chisholm
745696cba1
Remove "canonical" from a couple more places in docstrings which
...
I missed.
2021-02-14 19:25:59 -05:00
Michael Chisholm
ccaa8b62ae
pre-commit stylistic fix
2021-02-11 19:35:28 -05:00
Michael Chisholm
631460f45f
Rename various symbols and change various comments to refer to
...
normalization instead of canonicalization.
2021-02-11 19:33:57 -05:00
Chris Lenk
e513081100
Merge pull request #458 from chisholm/versioning_refinements
...
Versioning refinements
2021-02-06 22:59:18 -05:00