npower/samba-autobuild/.git
3 months agodsdb: Use pyldb_Ldb_AsLdbContext() in PyErr_LDB_OR_RAISE()
Andrew Bartlett [Mon, 4 Dec 2023 21:08:23 +0000 (10:08 +1300)]
dsdb: Use pyldb_Ldb_AsLdbContext() in PyErr_LDB_OR_RAISE()

This macro already checks the type, so we do not need to call
py_check_dcerpc_type() and prepares to move this macro into pyldb.h

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb/pyldb: Call Py_DECREF(list) on failure in PyLdbResult_FromResult()
Andrew Bartlett [Wed, 31 Jan 2024 04:26:45 +0000 (17:26 +1300)]
ldb/pyldb: Call Py_DECREF(list) on failure in PyLdbResult_FromResult()

We need to drop the reference to the list we created if we
are going to fail.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb/pyldb: Check errors from PyLdbMessage_FromMessage
Andrew Bartlett [Wed, 22 Nov 2023 02:01:47 +0000 (15:01 +1300)]
ldb/pyldb: Check errors from PyLdbMessage_FromMessage

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Create ClaimType in the model layer instead
Rob van der Linde [Wed, 28 Feb 2024 00:17:48 +0000 (13:17 +1300)]
netcmd: models: Create ClaimType in the model layer instead

Having it inside a command isn't very re-usable.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Mar  1 05:52:53 UTC 2024 on atb-devel-224

3 months agonetcmd: models: ClaimType: move all dunder methods to the top for consistency
Rob van der Linde [Wed, 28 Feb 2024 00:15:40 +0000 (13:15 +1300)]
netcmd: models: ClaimType: move all dunder methods to the top for consistency

It's nice to consistently list the __str__ method first and all the dunder methods, then the static methods, then the rest.

At least for the models.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: claims: tidy up, avoid setting enabled twice
Rob van der Linde [Tue, 27 Feb 2024 23:20:24 +0000 (12:20 +1300)]
netcmd: claims: tidy up, avoid setting enabled twice

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: rename lookup methods to find for consistency
Rob van der Linde [Tue, 27 Feb 2024 03:58:56 +0000 (16:58 +1300)]
netcmd: models: rename lookup methods to find for consistency

There are a mixture of methods called either 'lookup' or 'find'.

This dates back to when they raised LookupError, but these now raise NotFound.

They should be all called 'find' for consistency.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Rename username to account_name for consistency
Rob van der Linde [Tue, 27 Feb 2024 02:35:24 +0000 (15:35 +1300)]
netcmd: models: Rename username to account_name for consistency

When creating the User model initially, "username" was the only field that was inconsistently named, it maps to "sAMAccountName".

It should really have been account "account_name".

There is also a field "account_type" and should be similarly named to "account_name".

Basically the naming of fields should always be consistent, breaking the rule for one field only was a mistake.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Add optional base_dn argument to Model.query method
Rob van der Linde [Tue, 27 Feb 2024 01:21:31 +0000 (14:21 +1300)]
netcmd: models: Add optional base_dn argument to Model.query method

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Add Person and OrganizationalPerson
Rob van der Linde [Tue, 27 Feb 2024 01:12:40 +0000 (14:12 +1300)]
netcmd: models: Add Person and OrganizationalPerson

Move only those fields over that we already had on User that actually belong on Person and OrganizationalPerson

There are more fields to add later.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Add a repr method to Query for help in the shell
Rob van der Linde [Tue, 27 Feb 2024 01:09:32 +0000 (14:09 +1300)]
netcmd: models: Add a repr method to Query for help in the shell

This means in the shell you can just do User.query(samdb) without having to wrap it in list() all the time.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Rename method to Query._from_message for consistency
Rob van der Linde [Mon, 26 Feb 2024 23:49:51 +0000 (12:49 +1300)]
netcmd: models: Rename method to Query._from_message for consistency

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Model.from_message should be internal
Rob van der Linde [Mon, 26 Feb 2024 23:49:12 +0000 (12:49 +1300)]
netcmd: models: Model.from_message should be internal

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: silos: silo and auth policy commands use Query class better
Rob van der Linde [Mon, 26 Feb 2024 04:19:58 +0000 (17:19 +1300)]
netcmd: silos: silo and auth policy commands use Query class better

Since the introduction of the Query class these can be written to be a lot clearer using models.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: silos: silo and auth policy commands use print
Rob van der Linde [Mon, 26 Feb 2024 04:06:30 +0000 (17:06 +1300)]
netcmd: silos: silo and auth policy commands use print

This adds more consistency with newer code added after these commands.

But also print seems more flexible and requires no newline characters added constantly which ends up being a bit cleaner.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: move remove trustee code to the GMSA model
Rob van der Linde [Mon, 26 Feb 2024 03:24:29 +0000 (16:24 +1300)]
netcmd: models: move remove trustee code to the GMSA model

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: move add trustee code to the GMSA model
Rob van der Linde [Mon, 26 Feb 2024 03:07:55 +0000 (16:07 +1300)]
netcmd: models: move add trustee code to the GMSA model

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: tests: add tests for service-account commands
Rob van der Linde [Fri, 23 Feb 2024 00:48:02 +0000 (13:48 +1300)]
netcmd: tests: add tests for service-account commands

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: gmsa: cli commands for managing group msa membership
Rob van der Linde [Fri, 16 Feb 2024 01:47:23 +0000 (14:47 +1300)]
netcmd: gmsa: cli commands for managing group msa membership

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: gmsa: base cli commands for group managed service accounts
Rob van der Linde [Fri, 16 Feb 2024 01:46:48 +0000 (14:46 +1300)]
netcmd: gmsa: base cli commands for group managed service accounts

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agopython: models: Computer constructor automatically adds "$" to account name
Rob van der Linde [Fri, 23 Feb 2024 00:45:19 +0000 (13:45 +1300)]
python: models: Computer constructor automatically adds "$" to account name

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoselftest: aces: fix mutable default args in assemble_ace
Rob van der Linde [Thu, 15 Feb 2024 22:33:41 +0000 (11:33 +1300)]
selftest: aces: fix mutable default args in assemble_ace

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoselftest: aces: use constant from samba.security
Rob van der Linde [Thu, 15 Feb 2024 22:33:01 +0000 (11:33 +1300)]
selftest: aces: use constant from samba.security

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agopython: sd_utils: pep8 import sorting
Rob van der Linde [Thu, 15 Feb 2024 19:24:08 +0000 (08:24 +1300)]
python: sd_utils: pep8 import sorting

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agopython: sd_utils: remove redundant brackets around simple assert statements
Rob van der Linde [Thu, 15 Feb 2024 19:03:37 +0000 (08:03 +1300)]
python: sd_utils: remove redundant brackets around simple assert statements

Ideally these should be exceptions not asserts

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agopython: sd_utils: pep8 fix spacing around
Rob van der Linde [Thu, 15 Feb 2024 19:01:46 +0000 (08:01 +1300)]
python: sd_utils: pep8 fix spacing around

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: properly show command name in show help
Rob van der Linde [Wed, 14 Feb 2024 04:18:26 +0000 (17:18 +1300)]
netcmd: properly show command name in show help

This comes up if a user ends up typing something wrong, and it incorrectly showed only part of the command under Usage:

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: add newline before epilog so there is a space between
Rob van der Linde [Wed, 14 Feb 2024 04:15:02 +0000 (17:15 +1300)]
netcmd: add newline before epilog so there is a space between

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: model __json__ method should call as_dict instead
Rob van der Linde [Mon, 26 Feb 2024 00:45:54 +0000 (13:45 +1300)]
netcmd: models: model __json__ method should call as_dict instead

The comment about RelatedField is not really relevant so removed that part, RelatedField isn't used at this point.

The idea with RelatedField is that it fetches the object (vs DnField which just returns a Dn).

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: setting kwarg to None should use field default
Rob van der Linde [Fri, 23 Feb 2024 06:06:38 +0000 (19:06 +1300)]
netcmd: models: setting kwarg to None should use field default

This comes up when trying to create a GroupManagedServiceAccount and setting the value of managed_password_interval to None.

We still want it to pick up the field default of 30 in this case.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Model.query adds optional polymorphic flag for returning specific...
Rob van der Linde [Tue, 20 Feb 2024 03:45:45 +0000 (16:45 +1300)]
netcmd: models: Model.query adds optional polymorphic flag for returning specific class types

This defaults to False, query the User class returns only User instances.

    User.query(samdb)

When set to True, query the User class can return User, Computer, ManagedServiceAccount instances.

    User.query(samdb, polymorphic=True)

If polymorphic is False the same records are still returned but records will always be interpreted as the model that is being queried only, rather than a more specific model that matches that object class.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: ModelMeta needs to also set fields and meta if class is Model
Rob van der Linde [Wed, 21 Feb 2024 01:11:52 +0000 (14:11 +1300)]
netcmd: models: ModelMeta needs to also set fields and meta if class is Model

This is needed for polymorphic query, if querying from the Base model, which was not previously a feature.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: move object_sid field from User to base Model
Rob van der Linde [Wed, 21 Feb 2024 01:10:11 +0000 (14:10 +1300)]
netcmd: models: move object_sid field from User to base Model

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: bring Model class forward into module
Rob van der Linde [Wed, 21 Feb 2024 01:07:56 +0000 (14:07 +1300)]
netcmd: models: bring Model class forward into module

This is important for polymorphic query support

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: ModelMeta no longer needs to inherit from ABCMeta
Rob van der Linde [Wed, 21 Feb 2024 03:04:41 +0000 (16:04 +1300)]
netcmd: models: ModelMeta no longer needs to inherit from ABCMeta

There are no more abstract methods since the previous commit, so ABCMeta is no longer needed.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Model.get_object_class returns top instead of None
Rob van der Linde [Wed, 21 Feb 2024 01:00:21 +0000 (14:00 +1300)]
netcmd: models: Model.get_object_class returns top instead of None

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Query.first and Query.last should use count from instance
Rob van der Linde [Tue, 20 Feb 2024 02:37:21 +0000 (15:37 +1300)]
netcmd: models: Query.first and Query.last should use count from instance

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: set the default for managed password interval on the model
Rob van der Linde [Fri, 23 Feb 2024 05:43:38 +0000 (18:43 +1300)]
netcmd: models: set the default for managed password interval on the model

This is to avoid having to provide a default in multiple places

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: move group msa membership default to constants
Rob van der Linde [Fri, 23 Feb 2024 05:02:56 +0000 (18:02 +1300)]
netcmd: models: move group msa membership default to constants

This means the constant can be imported and used by the tests

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: shell: show Models subheading
Rob van der Linde [Tue, 20 Feb 2024 02:25:37 +0000 (15:25 +1300)]
netcmd: shell: show Models subheading

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: make MODELS constant keyed by object class instead
Rob van der Linde [Tue, 20 Feb 2024 02:24:48 +0000 (15:24 +1300)]
netcmd: models: make MODELS constant keyed by object class instead

This helps with polymorphic querying, mapping object class name to model class.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: move MODELS constant to constants.py to avoid import loop
Rob van der Linde [Tue, 20 Feb 2024 02:19:12 +0000 (15:19 +1300)]
netcmd: models: move MODELS constant to constants.py to avoid import loop

query.py and models.py otherwise cause an import loop, query.py needs to import MODELS

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: update docstring of Computer.find method
Rob van der Linde [Thu, 22 Feb 2024 03:04:14 +0000 (16:04 +1300)]
netcmd: models: update docstring of Computer.find method

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: gmsa move find method to Computer model
Rob van der Linde [Thu, 22 Feb 2024 03:03:38 +0000 (16:03 +1300)]
netcmd: models: gmsa move find method to Computer model

The find method is the same as the find method from the User model, with the exception of adding "$".

This means it is actually logic that belongs in the parent class of GroupManagedServiceAccount, which is Computer.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: gmsa GroupManagedServiceAccount inherits from Computer
Rob van der Linde [Thu, 22 Feb 2024 02:49:33 +0000 (15:49 +1300)]
netcmd: models: gmsa GroupManagedServiceAccount inherits from Computer

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: gmsa move GroupManagedServiceAccount model to gmsa.py
Rob van der Linde [Thu, 22 Feb 2024 02:47:30 +0000 (15:47 +1300)]
netcmd: models: gmsa move GroupManagedServiceAccount model to gmsa.py

It needs to inherit from the Computer model, the Computer model also inherits from User.

First, moving it to its own file from user.py to gmsa.py

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: gmsa trustees update docstring and incorrect return type
Rob van der Linde [Thu, 22 Feb 2024 02:22:45 +0000 (15:22 +1300)]
netcmd: models: gmsa trustees update docstring and incorrect return type

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: gmsa trustees property only looks at allowed aces
Rob van der Linde [Mon, 19 Feb 2024 03:09:38 +0000 (16:09 +1300)]
netcmd: models: gmsa trustees property only looks at allowed aces

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: make GroupManagedServiceAccount.trustees a property
Rob van der Linde [Mon, 19 Feb 2024 02:23:47 +0000 (15:23 +1300)]
netcmd: models: make GroupManagedServiceAccount.trustees a property

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: avoid fetching each user in trustees method
Rob van der Linde [Mon, 19 Feb 2024 01:49:43 +0000 (14:49 +1300)]
netcmd: models: avoid fetching each user in trustees method

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: Remove unused groups_sddl method from User model
Rob van der Linde [Thu, 22 Feb 2024 05:12:04 +0000 (18:12 +1300)]
netcmd: models: Remove unused groups_sddl method from User model

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agonetcmd: models: add default SDDL to group_msa_membership
Rob van der Linde [Mon, 19 Feb 2024 01:47:57 +0000 (14:47 +1300)]
netcmd: models: add default SDDL to group_msa_membership

LA can be used for the administrator and Windows will expand that on save, making the group_sddl method redundant.

Signed-off-by: Rob van der Linde <rob@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoWHATSNEW: Add information on LDB no longer available standalone
Andrew Bartlett [Sun, 18 Feb 2024 22:01:30 +0000 (11:01 +1300)]
WHATSNEW: Add information on LDB no longer available standalone

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Mar  1 03:45:21 UTC 2024 on atb-devel-224

3 months agobuild: Allow --with-ldbmodulesdir to override location of LDB modules
Andrew Bartlett [Tue, 13 Feb 2024 22:54:54 +0000 (11:54 +1300)]
build: Allow --with-ldbmodulesdir to override location of LDB modules

This will allow some packagers to set this to a directory that does
not mention Samba, or to put a version string in to avoid loading
old modules.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb: Unconditionally set LDB_PACKAGE_VERSION
Andrew Bartlett [Mon, 12 Feb 2024 02:00:30 +0000 (15:00 +1300)]
ldb: Unconditionally set LDB_PACKAGE_VERSION

This is only parsed once now and there is no confusion with the main build, so we can set it without checking.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb: Remove "private_library" variable with just one user
Andrew Bartlett [Mon, 12 Feb 2024 02:26:14 +0000 (15:26 +1300)]
ldb: Remove "private_library" variable with just one user

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb: Rename VERSION to LDB_VERSION to avoid confusion
Andrew Bartlett [Mon, 12 Feb 2024 01:06:12 +0000 (14:06 +1300)]
ldb: Rename VERSION to LDB_VERSION to avoid confusion

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agolib/ldb: Remove duplicate aspects of build system
Andrew Bartlett [Sun, 11 Feb 2024 22:16:28 +0000 (11:16 +1300)]
lib/ldb: Remove duplicate aspects of build system

We no longer need aspects of our build that made sense for the standalone
operation of LDB now that ldb is only provided as part of Samba.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb: Remove remaining components of independent ldb build system
Andrew Bartlett [Mon, 12 Feb 2024 01:05:17 +0000 (14:05 +1300)]
ldb: Remove remaining components of independent ldb build system

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agolib/ldb: Remove references to conf.env.standalone_ldb
Andrew Bartlett [Sun, 11 Feb 2024 23:41:02 +0000 (12:41 +1300)]
lib/ldb: Remove references to conf.env.standalone_ldb

This is not a simple replacement as we are merging the standalone build features with
the main Samba build features.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agolib/ldb: bld.CONFIG_SET(USING_SYSTEM_LDB) is now never set
Andrew Bartlett [Mon, 12 Feb 2024 20:52:44 +0000 (09:52 +1300)]
lib/ldb: bld.CONFIG_SET(USING_SYSTEM_LDB) is now never set

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agolib/ldb: Adapt pkg-config files to being build from the main build.
Andrew Bartlett [Fri, 9 Feb 2024 09:32:16 +0000 (22:32 +1300)]
lib/ldb: Adapt pkg-config files to being build from the main build.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agolib/ldb: Always build standalone
Andrew Bartlett [Fri, 9 Feb 2024 09:33:22 +0000 (22:33 +1300)]
lib/ldb: Always build standalone

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agobuild: Move --with-ldap/--without-ldap from source3 build to top level
Andrew Bartlett [Tue, 13 Feb 2024 00:52:41 +0000 (13:52 +1300)]
build: Move --with-ldap/--without-ldap from source3 build to top level

This code impacts on LDB, which is now built from the main build
so we need to combined this with the check that was in lib/ldb
or else we get conflicts.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb: Remove the ability for Samba to compile against a system LDB
Andrew Bartlett [Fri, 9 Feb 2024 09:24:38 +0000 (22:24 +1300)]
ldb: Remove the ability for Samba to compile against a system LDB

Samba will either provide the LDB to the system, or use a
private ldb, we will not use any other LDB from the system.

This is essentially equilvilant to the patch Debian has used
for Samba 4.17 and later, named "Force-LDB-as-standalone.patch"

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agobuild: Remove duplicated check for -Wl,-no-undefined on OpenBSD
Andrew Bartlett [Mon, 5 Feb 2024 08:21:45 +0000 (21:21 +1300)]
build: Remove duplicated check for -Wl,-no-undefined on OpenBSD

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agobuild: Call conf.CHECK_XSLTPROC_MANPAGES() directly in wscript
Andrew Bartlett [Mon, 5 Feb 2024 07:25:59 +0000 (20:25 +1300)]
build: Call conf.CHECK_XSLTPROC_MANPAGES() directly in wscript

This avoids relying on the indirect call via wscript in lib/{talloc,tdb,ldb}

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoautobuild: Move autobuild to expecting ldb to build as part of Samba
Andrew Bartlett [Wed, 14 Feb 2024 02:38:28 +0000 (15:38 +1300)]
autobuild: Move autobuild to expecting ldb to build as part of Samba

We retain a test to confirm we can build ldb as a public lib in the samba-libs
target.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb: Honour --private-library=!ldb as meaning build as a public library
Andrew Bartlett [Fri, 9 Feb 2024 09:15:30 +0000 (22:15 +1300)]
ldb: Honour --private-library=!ldb as meaning build as a public library

Likewise, let the SAMBA_LIBRARY code handle being a private library
rather than in the library declaration.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agobuild: Allow --private-libraries to include a default
Andrew Bartlett [Fri, 9 Feb 2024 06:47:11 +0000 (19:47 +1300)]
build: Allow --private-libraries to include a default

This will in the future allow ldb to be declared public in the
build system, and so have all the attributes set for that, but
be actually built as a private Samba library by default.

No change in behavour currently.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agobuild: Ensure that a forced-private library has no public headers
Andrew Bartlett [Fri, 9 Feb 2024 09:10:10 +0000 (22:10 +1300)]
build: Ensure that a forced-private library has no public headers

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb: Make pyldb-util always a private library
Andrew Bartlett [Mon, 12 Feb 2024 04:11:53 +0000 (17:11 +1300)]
ldb: Make pyldb-util always a private library

Only Samba has ever used these utility functions, other applications can
still use our ldb python bindings, they just can not provide ldb
C bindings.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoselftest: Bring ldb test defintions into one place in selftest/tests.py
Andrew Bartlett [Mon, 5 Feb 2024 04:18:10 +0000 (17:18 +1300)]
selftest: Bring ldb test defintions into one place in selftest/tests.py

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoselftest: Always and only run ldb test-tdb test in Samba selftest
Andrew Bartlett [Mon, 5 Feb 2024 04:01:54 +0000 (17:01 +1300)]
selftest: Always and only run ldb test-tdb test in Samba selftest

This is the last test left in the independent ldb testsuite,
removing this from there allows the test target to be removed.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoselftest: Move LDB cmocka based unit tests to Samba testsuite
Andrew Bartlett [Mon, 5 Feb 2024 02:29:51 +0000 (15:29 +1300)]
selftest: Move LDB cmocka based unit tests to Samba testsuite

This allows skip and knownfail entries to be honoured, as well
as enabling the removal of the standalone LDB build system.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb: Prepare ldb tests for subunit output
Andrew Bartlett [Mon, 5 Feb 2024 02:28:50 +0000 (15:28 +1300)]
ldb: Prepare ldb tests for subunit output

These tests now print subunit rather than the default output
as this is what the Samba selftest system needs.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agosefltest: Remove duplicate run of ldb.python.crash and ldb.python.repack
Andrew Bartlett [Mon, 5 Feb 2024 00:08:02 +0000 (13:08 +1300)]
sefltest: Remove duplicate run of ldb.python.crash and ldb.python.repack

These tests are not impacted by the dot-less i issue.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agoldb: Move tests to selftest/tests.py and out of standlone build
Andrew Bartlett [Sun, 4 Feb 2024 23:34:42 +0000 (12:34 +1300)]
ldb: Move tests to selftest/tests.py and out of standlone build

Tests that are declared in the tests.py files in the main Samba build
are able to use the common knownfail, flapping and skip systems.

This will also allow the independent ldb build to be removed without
loss of the tests.

Signed-off-by: Andrew Bartlett <abartlet@samba.org>
Reviewed-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
3 months agopytests: samba-tool domain kds root_key
Douglas Bagnall [Fri, 16 Feb 2024 03:36:06 +0000 (16:36 +1300)]
pytests: samba-tool domain kds root_key

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Fri Mar  1 01:27:30 UTC 2024 on atb-devel-224

3 months agosamba-tool: add `samba-tool domain kds root_key delete`
Douglas Bagnall [Wed, 28 Feb 2024 04:55:54 +0000 (17:55 +1300)]
samba-tool: add `samba-tool domain kds root_key delete`

For deleting root keys.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agosamba-tool: add `samba-tool domain kds root_key create`
Douglas Bagnall [Wed, 28 Feb 2024 04:55:16 +0000 (17:55 +1300)]
samba-tool: add `samba-tool domain kds root_key create`

For making new root keys.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agosamba-tool: add `samba-tool domain kds root_key view`
Douglas Bagnall [Wed, 28 Feb 2024 04:54:24 +0000 (17:54 +1300)]
samba-tool: add `samba-tool domain kds root_key view`

This is for looking at one root key. There isn't much to know.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agosamba-tool: add `samba-tool domain kds root_key list`
Douglas Bagnall [Wed, 28 Feb 2024 04:34:25 +0000 (17:34 +1300)]
samba-tool: add `samba-tool domain kds root_key list`

This lists root keys, in descending chronological order according to the
use_start_toime attribute. That's becuase you usually only care about
the newest one.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agosamba-tool: don't error if there are no sub-commands
Douglas Bagnall [Thu, 29 Feb 2024 03:29:30 +0000 (16:29 +1300)]
samba-tool: don't error if there are no sub-commands

This is useful when you commit samba-tool tests before you commit the
samba-tool code, and you want the tests to fail rather than error.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agoprovision: add a default root key
Douglas Bagnall [Wed, 28 Feb 2024 02:28:22 +0000 (15:28 +1300)]
provision: add a default root key

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agopytest:dsdb: check that there is a gkdi root key
Douglas Bagnall [Wed, 28 Feb 2024 02:32:41 +0000 (15:32 +1300)]
pytest:dsdb: check that there is a gkdi root key

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agopytest:gkdi: shift create_root_key into a function
Douglas Bagnall [Thu, 22 Feb 2024 03:17:37 +0000 (16:17 +1300)]
pytest:gkdi: shift create_root_key into a function

This is so the samba-tool domain kds root_key tests can use it as a
function.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agopytest:samba-tool: add a flag to print more in runcmd
Douglas Bagnall [Fri, 23 Feb 2024 03:24:11 +0000 (16:24 +1300)]
pytest:samba-tool: add a flag to print more in runcmd

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agosamba-tool user delete: use account type constant
Douglas Bagnall [Fri, 16 Feb 2024 02:35:06 +0000 (15:35 +1300)]
samba-tool user delete: use account type constant

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agosamba-tool domain: add LDB Result to json encoders
Douglas Bagnall [Thu, 22 Feb 2024 03:16:17 +0000 (16:16 +1300)]
samba-tool domain: add LDB Result to json encoders

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agoldb:pyldb exposes Result type
Douglas Bagnall [Thu, 15 Feb 2024 04:07:34 +0000 (04:07 +0000)]
ldb:pyldb exposes Result type

You perhaps never want to manually create results (as in `x = Result()`)
-- except maybe in tests -- and that would be why we never added it in
the first place (or rather, we never noticed that it ws missing).

But we do want to sometimes go `isinstance(x, ldb.Result)`, and that
is how we noticed it was missing now.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agopython:samdb: wrapper for _dsdb_create_gkdi_root_key()
Douglas Bagnall [Wed, 28 Feb 2024 04:15:44 +0000 (17:15 +1300)]
python:samdb: wrapper for _dsdb_create_gkdi_root_key()

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agos4:pydsdb: python bindings for gkdi_new_root_key()
Douglas Bagnall [Wed, 28 Feb 2024 04:15:09 +0000 (17:15 +1300)]
s4:pydsdb: python bindings for gkdi_new_root_key()

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agosamba-tool domain kds root_key
Douglas Bagnall [Thu, 22 Feb 2024 03:51:42 +0000 (16:51 +1300)]
samba-tool domain kds root_key

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agosamba-tool domain kds: add root key sub-command
Douglas Bagnall [Wed, 28 Feb 2024 04:29:40 +0000 (17:29 +1300)]
samba-tool domain kds: add root key sub-command

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agosamba-tool domain: add kds sub-branch
Douglas Bagnall [Thu, 22 Feb 2024 03:51:56 +0000 (16:51 +1300)]
samba-tool domain: add kds sub-branch

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agos4:dsdb: Add functions for GKDI root key creation
Jo Sutton [Tue, 13 Feb 2024 03:09:57 +0000 (16:09 +1300)]
s4:dsdb: Add functions for GKDI root key creation

Signed-off-by: Jo Sutton <josutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agolib:crypto: Check for overflow in GKDI rollover interval calculation
Jo Sutton [Sun, 18 Feb 2024 21:34:02 +0000 (10:34 +1300)]
lib:crypto: Check for overflow in GKDI rollover interval calculation

Signed-off-by: Jo Sutton <josutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agolib:crypto: Correct GKDI interval start time calculation
Jo Sutton [Sun, 18 Feb 2024 21:33:41 +0000 (10:33 +1300)]
lib:crypto: Correct GKDI interval start time calculation

Signed-off-by: Jo Sutton <josutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
3 months agolib:crypto: Add error checking to GKDI key start time calculation
Jo Sutton [Tue, 13 Feb 2024 00:04:48 +0000 (13:04 +1300)]
lib:crypto: Add error checking to GKDI key start time calculation

Signed-off-by: Jo Sutton <josutton@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>