Commit Graph

1824 Commits (aac27374b380a8869dcd9765d4841983643e0eeb)

Author SHA1 Message Date
Chris Lenk aac27374b3
Merge pull request #545 from chisholm/complete_pattern_visitor
Complete pattern visitor
2022-05-02 11:00:34 -04:00
Michael Chisholm 3dba3f74f9 Fix more pre-commit style issues. 2022-04-28 21:39:59 -04:00
Michael Chisholm 724122db65 pre-commit styling changes 2022-04-28 21:23:05 -04:00
Michael Chisholm e534e41865 Complete the addition of AST node class override support which
was begun by frank7y.  Added some unit tests.

Also address a design flaw which prevented the AST builder
function create_pattern_object() from honoring module_suffix
and module_name parameters after the first call.
2022-04-28 21:10:12 -04:00
francescosettanni 1e4b6caf3f improved pattern visitor support of custom classes 2022-01-31 10:48:01 +01:00
Chris Lenk 17445a085c
Merge pull request #534 from chisholm/fix_comp_expr_dnf_sco_type_check
Fix pattern semantic equivalence comparison expression DNF transformer bug
2021-12-23 16:36:26 -05:00
Michael Chisholm 3086b7ab5b Fix pattern semantic equivalence bug: comparison expression
DNF transform could trigger an error from the AST code which
does the SCO type checks on comparison expression ANDs.  The
transform had been ignoring SCO types.  Now, it will catch
the exception and drop the AND from the pattern.  Added a
couple new unit tests for this.
2021-12-23 00:59:41 -05:00
Chris Lenk 81550cab92 Bump version: 3.0.0 → 3.0.1 2021-09-24 09:34:37 -04:00
Chris Lenk f5ea1396a1 Update CHANGELOG for v3.0.1 2021-09-24 09:33:40 -04:00
Rich Piazza 34128d17b8
Merge pull request #528 from chisholm/fix_taxii_filters
Fix transformation from Filter object to TAXII filter
2021-09-10 09:14:16 -04:00
Rich Piazza 585e76e909
Merge pull request #529 from emmanvg/documentation-update
Minor documentation update
2021-09-09 16:33:33 -04:00
Emmanuelle Vargas-Gonzalez 87d79445dc update maintainers 2021-08-30 20:59:08 -04:00
Emmanuelle Vargas-Gonzalez 66535bb550 update README.rst 2021-08-30 20:58:21 -04:00
Michael Chisholm 659e1fd90d Fix transform from Filter object to TAXII filter to look at
the filter operator; TAXII filters only support equals.
2021-08-26 20:55:35 -04:00
Rich Piazza e64d23d1dd
Merge pull request #526 from chisholm/fix_taxii20_datasource
Fix TAXIICollectionSource.query() to propagate HTTPErrors
2021-08-24 15:07:53 -04:00
Michael Chisholm a4ce0222bf Move and edit a comment about HTTP status code 416 to reduce
confusion.
2021-08-24 15:04:05 -04:00
Michael Chisholm a3d1056122 Fix TAXIICollectionSource.query() to propagate HTTPErrors
instead of ignoring them.  Special-cased 416, since that can
occur naturally while paging with TAXII 2.0.
2021-08-24 00:15:50 -04:00
chisholm 6e7e9dd832
Merge pull request #513 from maybe-sybr/fix/all-refs-are-identifiers-or-quack-alike
improv: Check reference prop types for all customs
2021-07-22 19:09:57 -04:00
maybe-sybr bd897c9848 improv: Check reference prop types for all customs
Previously the requirement that properties ending in `_ref(s)` were
instances of an appropriate type capable of containing a STIX
`identifier` (the current interpretation of section 3.1 of the STIX 2.1
spec) was only enforced for custom observables. This change refactors
the property checks for custom objects to enforce this and the STIX 2.1
property name requirement (also from section 3.1) in a common helper,
therefore extending the enforcement of both requirements to all custom
object types created by downstream projects.

There is a special case carved out for STIX 2.0 observables which are
required to contain "object references" rather than identifiers. This
special logic is encoded in the reference property validation helper and
enabled by a kwarg which is passed exclusively by the custom observable
registration helper.
2021-07-22 14:55:14 +10:00
Rich Piazza 9c209edb1d updated CHANGELOG 2021-07-13 14:23:40 -04:00
Rich Piazza 31b8892681 doc version fixes 2021-07-13 12:38:01 -04:00
Rich Piazza eaf578ff5c
Merge pull request #521 from oasis-open/fix-custom-markings
Fix custom markings
2021-07-12 16:23:49 -04:00
Rich Piazza 3150cdece9
Merge pull request #520 from oasis-open/issue-518
Fix the CustomExtension example in the custom.ipynb jupyter notebook.
2021-07-12 16:23:12 -04:00
Michael Chisholm 295037f92c Fix parsing.ipynb to not mention SCOs "inside" observed-data
SDOs anymore.  That is no longer the case in STIX 2.1.
2021-07-12 16:16:29 -04:00
Michael Chisholm d7981dce9f Stop the flake8 hook from complaining about a line in a unit
test that it is misunderstanding and shouldn't be complaining
about.
2021-07-12 14:40:54 -04:00
Michael Chisholm b2108e90c6 pre-commit stylistic fixes 2021-07-12 14:33:56 -04:00
Michael Chisholm 3cee753852 In extensions.ipynb, ran the JSON syntax highlighting cell before
running the other cells, to produce HTML highlighted output cells,
which I think had been the intent.  I forgot and it produced
plain text... oops.
2021-07-11 21:04:38 -04:00
Michael Chisholm 79ceef5100 Fix parsing.ipynb to not use the deprecated "objects" property
of the observed-data SDO.
2021-07-11 20:44:45 -04:00
Michael Chisholm 9f428c5efd Updates to extensions.ipynb:
- Change CS 02 reference to CS 03
- Fix typos
- Remove the extension definition from the first example.
It's not relevant.  Change the explanation to explain the
real reason why that example works: if unregistered toplevel
property extensions are present, the library lets unrecognized
toplevel properties pass.
- Change the explained rationale for registering an extension.
It had described "repetitive instantiation" of an extension, but
I think it was referring to an extension definition, and that is
not what happens.  The benefit of registration is that the library
will know which properties are associated with the extension and
can enforce their requirements.  Changed the commentary to explain
this.
- Fix the custom marking example to not use the @CustomMarking
decorator.  It is no longer used for extension-based custom
markings.  Instead, it just shows a normal extension being
registered and applied to a marking-definition.  The commentary
is changed to explain this too.
2021-07-11 20:16:55 -04:00
Michael Chisholm f0779d7802 Add unit tests for self-enabling extensions support, and for
compliance checking on toplevel extension property names.
2021-07-09 20:28:32 -04:00
Michael Chisholm 945e3375aa Fix extension registration to not only check nested properties
for spec compliance, but also the toplevel properties, if any.
2021-07-09 20:24:31 -04:00
Michael Chisholm e99be67c1e Remove registration._get_extension_class() since it's redundant
with registry.class_for_type().
2021-07-09 18:11:11 -04:00
Michael Chisholm 34e82e489f Fix marking definition extension unit test to use a plain
old CustomExtension.

Add a unit test for a custom extension-based marking definition
where the extension is of type "toplevel-property-extension".
2021-07-08 23:06:57 -04:00
Michael Chisholm d27e9e6e55 Back out changes to the CustomMarking decorator and registration,
to revert its behavior to what it did before: register a type
for old-style non-extension custom markings.
2021-07-08 22:18:28 -04:00
Rich Piazza 10956d305a finish CHANGELOG 2021-07-08 18:34:18 -04:00
Michael Chisholm 92903a4525 Fix the CustomExtension example in the custom.ipynb jupyter
notebook.
2021-07-08 17:48:41 -04:00
Rich Piazza 7eba8fdb1a pre-commit issue 2021-07-08 15:10:53 -04:00
Rich Piazza 26bc1d5220 Bump version: 2.1.0 → 3.0.0 2021-07-08 14:57:59 -04:00
Rich Piazza 319c60cfbb changelog updated 2021-07-08 14:57:49 -04:00
chisholm 17170e65d1
Merge pull request #517 from oasis-open/fix-links
Fix links
2021-07-07 16:16:52 -04:00
Rich Piazza 3ce193aca6
Merge pull request #468 from oasis-open/dev-extensions-proposal
Extensions Support
2021-07-07 16:10:01 -04:00
Michael Chisholm bb164ad1ae Small change to a unit test 2021-07-07 16:06:04 -04:00
Rich Piazza 3a0297c597 replaced links with stix-v2.1-os 2021-07-07 15:03:28 -04:00
Rich Piazza 02bf33eedf Merge branch 'dev-extensions-proposal' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal 2021-07-07 13:43:10 -04:00
Michael Chisholm 638689c481 Add another check to the test_toplevel_ext_prop_meta()
unit test.
2021-07-07 13:03:13 -04:00
Rich Piazza d6a1aa9f74 Merge branch 'dev-extensions-proposal' of github.com:oasis-open/cti-python-stix2 into dev-extensions-proposal 2021-07-07 11:02:05 -04:00
Michael Chisholm 99a8ade4cd pre-commit stylistic fixes 2021-07-06 20:40:50 -04:00
Michael Chisholm 2cda97cf5e Changed STIX object initialization to formulate a property order
and process properties in that order.  This establishes iteration
order on object properties, making the object_properties() method
unnecessary.  So the latter method has been deleted.  All uses
of that method have been removed.

Removed unnecessary deepcopy() in STIXJSONEncoder, to improve
efficiency.  This uncovered a bug which had been affecting
STIXdatetime instances.  Not deepcopying doesn't trip the bug,
which can change serialization format.  This caused a unit
test to fail, which was checking serialization format.  I fixed
the unit test.

Fixed a bug in _STIXBase.__repr__ which caused it to omit all
properties with falsey values.  This caused several unit tests
to break, since they were written against the old buggy repr
format.  Notably, 'revoked=False' was never included in reprs
before, but it is now.
2021-07-06 20:32:58 -04:00
Rich Piazza 55808d9747
Merge pull request #504 from oasis-open/sighting_last_seen
Fix sighting.last_seen check
2021-07-06 17:19:17 -04:00
Rich Piazza e82067a205 Merge branch 'master' into dev-extensions-proposal 2021-07-06 16:15:57 -04:00