Skip to content

Make many "samba4" public libraries private by default

@davidmmulder can you confirm that the samba-policy library was only used by cloudlinux via the python bindings?

The following Samba C libraries are currently made public due to their use by OpenChange or for historical reasons that are no longer clear.

dcerpc-samr, samba-policy, tevent-util, dcerpc, samba-hostconfig, samba-credentials, dcerpc_server, samdb

The libraries used by the OpenChange client now private, but can be made public (like ldb) with:

./configure --private-libraries='!dcerpc,!samba-hostconfig,!samba-credentials,!ldb'

I brave developer could propose a future MR for C libraries with a known user (specifically SSSD, FreeIPA) to be added to this list, to make a default Samba installation less intrusive on the public namespace, but libraries (other than ldb) known to be used by SSSD and FreeIPA are not in this list.

Likewise libraries without any known user or used only for the OpenChange server (a dead project) could in a new MR may be made private, and this provides the deprecation notice, to allow action in Samba 4.22.

Inspired by discussion: https://lists.samba.org/archive/samba/2024-May/248815.html

Checklist

  • Commits have Signed-off-by: with name/author being identical to the commit author
  • (optional) This MR is just one part towards a larger feature.
  • (optional, if backport required) Bugzilla bug filed and BUG: tag added
  • Test suite updated with functionality tests
  • Test suite updated with negative tests
  • Documentation updated
  • CI timeout is 3h or higher (see Settings/CICD/General pipelines/ Timeout)

Reviewer's checklist:

  • There is a test suite reasonably covering new functionality or modifications
  • Function naming, parameters, return values, types, etc., are consistent and according to README.Coding.md
  • This feature/change has adequate documentation added
  • No obvious mistakes in the code
Edited by Andrew Bartlett

Merge request reports

Loading