Commit Graph

1296 Commits

Author SHA1 Message Date
Chris PeBenito
4cb51fcf1e Add DirectedGraphResultTab base class for graph analyses.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
1d19c59405 Add RadioEnumCriteria widget to present enums as radio buttons.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
1be4bbb270 NameCriteriaWidget: Add option to require a value in the line edit.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
be63a5be7b QueryResultsUpdate: Add support for a custom renderer.
This is to support more complex rendering than the default, str().

Also support configurations where there is no model to update.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
e94dd8485e DomainTransition/DomainEntrypoint: Create __format__ and __str__ methods.
__format__ will accept "full" to render the transition with rules, or no
spec to render without rules.  __str__ will use the full format.

Update sedta accordingly.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
5e7025c467 InfoFlowStep: Create __format__ and __str__ methods.
__format__ will accept "full" to render the step with rules, or no spec to
render without rules.  __str__ will use the full format.

Update seinfoflow accordingly.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
1cd039d5ef sedta: Update for revised DomainTransitionAnalysis API.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
6b9986ca34 seinfoflow: Update for revised InfoFlowAnalysis API.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
3b3fc009f1 DomainTransitionAnalysis: Refactor to use a single results() method.
This makes it consistent with query classes, and allows it to carry its
own settings, which is useful for apol.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
690026dc5e InfoFLowAnalysis: Refactor to use a single results() method.
This makes it consistent with query classes, and allows it to carry its
own settings, which is useful for apol.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
a9be44701e Update and refine SEToolsTreeWidget.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
e3a65cc0b8 DirectedGraphAnalysis: Create new base class for graph analyses.
Also move typing imports into TYPE_CHECKING block.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
f253e4e56e InfoFlowAnalysis: Correct parameter typing on shortest_path method.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
b219b44b53 models: Merge list models into table models.
The table model can handle lists as a single/first column.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:35 -05:00
Chris PeBenito
2d755c46ca Clean up item model classes.
* Remove "Model" from names of model classes.
* Remove remaining *_detail() functions.
* Add typing.
* Make models dir a package.
* Update for superclass data() method as fallback.
* Switch to match/case statements.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-02-14 09:11:28 -05:00
Chris PeBenito
f9d0a7f1f3 Add Boolean list model.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
f24848a7bc ListCriteriaWidget: Add context menu populated by actions from the model.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
66723737e4 Create common action and tooltip functions for models.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
60d3423b2a Add new MLS rule query tab.
Also enhance tooltips and what's this in MLSRuleTableModel.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
508ddc60ac Add new MLS level/range criteria widget.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
f17c0fc66d Add new MLS rule type criteria widget.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
537e6d9e69 Add new RBAC rule query tab.
Also enhance tooltips and what's this in RBACRuleTableModel.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
98eef56470 Add new role details popup.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
69ff17dc29 Add new RBAC rule type criteria widget.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
b42e3a4575 Add new role name criteria widget.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
ceedee4c57 tox.ini: Refine "pre" commands and passenv usage.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
893cdd5477 tests.yml: Add GUI unit tests.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
073f01db90 Add new detail popup for object classes.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
9b075bdc92 Add new detail popups for type and type attributes.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
586117b10b Add new apol main window implementation.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
52bb65e53e Add new permission map editor/viewer implementations.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
19b9850f5f Add new summary tab implementation.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
b71f9eda92 QueryResultsUpdater: Handle exceptions and emit a failure signal.
Prevent crashes in the unlikely event there is an exception while a query
is processing.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
cfb097b1af QueryResultsUpdater: Clean up and add typing.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
df0e89eafc Add new TE rule query tab implementation.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
2edb93e2d5 Add base classes for top level app tabs.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
470c107fff Add boolean criteria widgets.
By name or list selection.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
04ae0fa910 Add widget for TE rule type selection.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
05de56d4d7 Add widget for permission selection criteria.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
013024388d Add widget for object class criteria.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
a0387ad791 Drop SEToolsWidget and SEToolsListView.
No longer needed now that GUI will be completely generated programmtically
(no uic).

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
62ffea7fce Update minimum Python requirement to 3.10.
Now using the match statement and newer typing syntax.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
40254914ae Split SEToolsTableModel and SEToolsListModel into separate modules.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
af7754076e Move table/list models into Python submodule.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
9ca2dfed30 pyproject.toml: Update mypy config.
PyQt5 and NetworkX now have typing/stubs.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
3c2254c335 tox.ini: Add gui unit tests target
Fix main unit tests to use envpython explicitly.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
769d773ef0 Add widget for type/attribute criteria.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
6c9e07781c tox.ini: Add missing PyQt dependencies for static analyses.
Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
73c14015f8 tox.ini: Drop lint exclusions on setoolsgui.
PyQt uic is is dropped, so all members should be visible to pylint.

Signed-off-by: Chris PeBenito <pebenito@ieee.org>
2024-01-31 10:11:55 -05:00
Chris PeBenito
b5dae4a1fe
Merge pull request #117 from mkomet/komet/fix-noexcept-policyrep-logging
policyrep: Callback for C code should be noexcept
2024-01-30 19:55:43 -05:00