1
0
mirror of https://github.com/altlinux/admc.git synced 2025-01-20 10:04:05 +03:00

3782 Commits

Author SHA1 Message Date
Gleb Popov
ece1ba8644 Remove unused variable 2024-12-10 22:14:40 +04:00
Gleb Popov
d9c0c0eeb4 Move the default argument's value into a header
Fixes Clang error

src/admc/permission_control_widgets/read_write_permissions_widget.cpp:46:65: error: addition of default argument on redeclaration makes this constructor a default constructor
   46 | ReadWritePermissionsWidget::ReadWritePermissionsWidget(QWidget *parent = nullptr) : PermissionsWidget(parent) {
      |                                                                 ^        ~~~~~~~
/home/arr/projects/admc/src/admc/permission_control_widgets/read_write_permissions_widget.h:11:14: note: previous declaration is here
   11 |     explicit ReadWritePermissionsWidget(QWidget *parent);
      |              ^
2024-12-10 22:09:12 +04:00
Semyon Knyazev
f410c1aee6 0.18.0-alt1
- Add custom permissions to security tab: create/delete child objects
  and read/write properties.
- Add delegation tasks to security tab. Delegation tasks represent
  common tasks from RSAT's delegation dialog.
- Extended rights are placed in a separate permissions tab.
- Generic and standard permissions are placed in the common permissions
  tab. Common permissions are supplemented by following: list contents,
  read/write all properties, delete, delete subtree, read permissions,
  modify permissions, modify owner, all validated writes and all extended
  rights.
- Add permissions scope selection to the security tab. Corresponding
  permissions can be applied to the target object, target and child objects,
  only to the child objects or to the child object with specific class.
  Delegation tasks are appliable only to target object.
- Changed permissions unsetting behavior: superior permission unsetting
  unsets all subordinate permissions too. For example, "Full control"
  unsetting unsets all other permissions.
- Fixed test fails, which were caused by arbitrary invalid domain controller
  selection.
- Add "Set/unset all" and "Edit" actions to the links tab in the policy OU
  widget. "Set/unset all" actions set/unset state (enforced/disabled, depending
  on column) for all linked policies. "Edit" action opens GPUI for policy editing.
  These actions can be triggered via context menu.
0.18.0-alt1
2024-12-05 20:12:24 +04:00
Semyon Knyazev
b5da8c04a7 Add policy edit action to policy OU results widget 2024-12-05 20:12:24 +04:00
Semyon Knyazev
93db14698c Add translations 2024-12-05 20:12:24 +04:00
Semyon Knyazev
9f7f342856 Add "set/unset all" actions to links tab in the OU results widget
These actions are available for "Enforced" and "Disable" columns
and set/unset corresponding state for all policies. Actions are
triggered via context menu.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
dafb5dfd27 Fix tests fail occured due to arbitrary dc connection attempt 2024-12-05 20:12:24 +04:00
Semyon Knyazev
fd7436d172 Fix and refactor ad_security tests 2024-12-05 20:12:24 +04:00
Semyon Knyazev
db186d56c3 Update and refactor right removal f-n
Fix comment and change permission removal behavior. Now subordinate
permissions won't set after superior permission unset.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
23fdeee41c Refactor right state getter and update ACE matching
Add ACE matching flags, that allows to configure ACE matching.
Depending on which flags are set, ACEs will match inherited ACEs
or ACEs with certain object type. Inheritance matching is necessary
for inherited permissions display, object matching provides correct
ACE search.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
2a58f28ead Add translations 2024-12-05 20:12:24 +04:00
Semyon Knyazev
fa5774bbc7 Add "Clear all" button to security tab
Button allows to clear all permission selection
(except inherited permissions).
2024-12-05 20:12:24 +04:00
Semyon Knyazev
2a144009eb Add permissions scope selection to security tab
Permissions scope can be selected via "Applied to" combo
box selection. Depending on selection, permissions will be
displayed and can be assigned to the target object with child
objects, only to the target object or to the children with
specific class.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
334301b35d Supplemented common right list 2024-12-05 20:12:24 +04:00
Semyon Knyazev
d9cec0d3f5 Add comments to common task manager 2024-12-05 20:12:24 +04:00
Semyon Knyazev
0988c5c756 Changed trustee list's vertical size policy
Vertical size policy is changed from expanding to preffered
for trustee list in the security tab.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
bd03fa4df4 Add domain computer join right for delegation 2024-12-05 20:12:24 +04:00
Semyon Knyazev
d169c5e3b9 Add children class creation rights getter 2024-12-05 20:12:24 +04:00
Semyon Knyazev
f13a02bf04 Add translations 2024-12-05 20:12:24 +04:00
Semyon Knyazev
7db9cbc322 Add permission widgets to security tab
Implementation of permissions moved from SecurityTab class to
permission widget classes.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
3689b1462b Add header state settings for permission widgets 2024-12-05 20:12:24 +04:00
Semyon Knyazev
0149737c22 Create delegation permissions widget
Delegation widget contains common delegated tasks (like common tasks in
the RSAT delegation master). These tasks can be assigned only to target
parent container.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
784be8174d Create extended permissions widget
Extended rights moved from security tab widget
sources to ExtendedRightsWidget.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
b65a62db89 Create common permissions widget
Common permission functionality is removed from security tab sources
and placed in the CommonRightsWidget class.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
1f8e302a4c Create read/write permissions widget
Widget contains read and write permissions for
attributes (properties) of the selected class.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
341769e4eb Create creation/deletion permissions widget
Widget contains creation and deletion permissions
for selected object classes.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
c46f8fedb2 Create base class for permission widgets
Permission widgets will be placed in the properties security tab
under permissions tab widget in the corresponing tabs.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
a1a4f697cd Add common task manager
Manager contains common tasks, that are used to delegate
specific rights to trustees like RSAT delegation common tasks.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
a1ad2055fe Update superior and subordinate right list getters 2024-12-05 20:12:24 +04:00
Semyon Knyazev
58e67258fb Update ad_security_get_right_list_for_class() function 2024-12-05 20:12:24 +04:00
Semyon Knyazev
100fde32f9 Update and refactor right state getter 2024-12-05 20:12:24 +04:00
Semyon Knyazev
8f6de0b60b Update ACE match functions
ACE match function is splitted and refactored. Matching is
supplemented with mask, inherited type and flags.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
ee38f6102f Declare SecurityRight struct and add CommonTaskManager global 2024-12-05 20:12:24 +04:00
Semyon Knyazev
05ea44ac0e Update year and and add TODO comment 2024-12-05 20:12:24 +04:00
Semyon Knyazev
3c3bd48bfe Add security rights generation functions
These functions get security right list, that is used to make
corresponding security descriptor ACEs (e.g. child object
creation/deletion ACE).
2024-12-05 20:12:24 +04:00
Semyon Knyazev
e9ccdb843d Rename right state getter function 2024-12-05 20:12:24 +04:00
Semyon Knyazev
44e6c8c35b Add operator ==, inherited type and flags to SecurityRight class
Inherited type and flags are needed to implement inheritable ACEs.
SecurityRights instances are also supplemented by default inherited
type and flags values.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
54215824e6 ad_security refactor: unite access mask and object type args
These parameters are combined into (already existing) SecurityRight struct.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
b115d2944c ad_security refactor: add common and extended rights getters 2024-12-05 20:12:24 +04:00
Semyon Knyazev
ce837d3f3c Update SecurityTab ui
Removed single rights view. Added QTabWidget and corresponding tabs for
common, extended and delegation rights.
Also added "Users and Groups" label for trustee list.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
31e4e23375 Add AD object class specific getters to AdConfig class 2024-12-05 20:12:24 +04:00
Semyon Knyazev
bd6a5f15db Add GUID getters to AdConfig class 2024-12-05 20:12:24 +04:00
Semyon Knyazev
5dcb3f884f Add possible inferiors and permissionable attributes loading
Possible inferiors and permissionable attributes are loaded for
domainDNS class object. These values are stored in global AdConfig
object.
2024-12-05 20:12:24 +04:00
Semyon Knyazev
17e6b3ac8f Add bytearray_list_to_string_list utility f-n to ad_utils 2024-12-05 20:12:24 +04:00
Semyon Knyazev
e362cbfb39 Refactor AdConfig class ctor: moved loads to corresponding functions 2024-12-05 20:12:24 +04:00
Semyon Knyazev
12612b1fcc 0.17.2-alt1
- Fixed lost site and DC info in domain info widget (child domain).
  (closes:52329)
0.17.2-alt1
2024-12-05 19:09:38 +04:00
Semyon Knyazev
a26c34a715 Fixed lost site and DC info in domain info widget
Fixed bug for child domain case, bugfix #52329
2024-12-05 19:09:38 +04:00
Semyon Knyazev
07a3240b96 0.17.1-alt1
- Fix crashing on child domains after context menu request.
2024-11-15 19:58:28 +04:00
Semyon Knyazev
d7844226c7 Fix crashing after domain object context menu request (child domain case) 2024-11-15 19:58:28 +04:00
Semyon Knyazev
5d0939581b Sisyphus build fix (samba 4.20.5) 2024-11-15 19:56:49 +04:00