389 Directory Server is an enterprise-class LDAP server that provides
a scalable directory service for identity, authentication, and
authorization data.
databases/lmdb: allow to install both 0.x and 1.x together
LMDB 1.0 and the legacy 0.9 ABI cannot be mixed, the datanase format are
incompatibles as well.
Rename or relocate everything databases/lmdb0 installs so that it no
longer overlaps with databases/lmdb:
- the utilities are now mdb_copy0, mdb_dump0, mdb_load0 and mdb_stat0
- the header is include/lmdb0/lmdb.h
- the linker name is liblmdb0.so, the shared object keeps its ABI name
liblmdb.so.0 so already linked programs are unaffected
- the pkg-config file is lmdb0.pc
A compatibility prefix holding the previous layout is also installed
under ${PREFIX}/lmdb0/ (include/, lib/ and libdata/pkgconfig/) so that
build systems which expect to find lmdb.h and -llmdb relative to a
single directory only need a path change.
Now all ports should migrate to lmdb 1.X and use the lmdb 0.9 port to ease
in the migration path, lmdb, the lmdb 0.x is supposed to get removed at
some point.
Approved by: mat (portmgr)
Reviewed by: mat
Differential Revision: https://reviews.freebsd.org/D60741
net/389-ds-base: fix build on powerpc64le
cargo crashes on startup with rust 1.99 because of the libunwind bug
in 15.x. The Makefile hardcodes RUST_BACKTRACE=1, so turn off library
backtraces with RUST_LIB_BACKTRACE instead.
net/389-ds-base: Update to 3.2.3
The daemon.c patch now guards the LeakSanitizer ptrace probe, which
upstream added without a non-Linux path, and lib/sysctl.d/70-dirsrv.conf
leaves the plist because upstream ties it to the systemd build.
Changes: https://github.com/389ds/389-ds-base/releases/tag/389-ds-base-3.2.3
Security: 3f5c81ae-b227-11f1-a655-3497f65b111b
Sponsored by: Netzkommune GmbH
net/389-ds-base: build against MIT Kerberos; fix GSSAPI SASL on FreeBSD
Add USES=gssapi:mit so ns-slapd links the ports MIT Kerberos
(security/krb5) used by the rest of the FreeIPA stack, plus two
FreeBSD-specific fixes so GSSAPI/GSS-SPNEGO binds work:
- ldaputil.c: locate the SASL plugins under ${LOCALBASE}/lib/sasl2 on
FreeBSD (upstream only handles the Linux path).
- saslbind.c: register the GSSAPI acceptor keytab explicitly via
krb5_gss_register_acceptor_identity(). ns-slapd starts as root and
then drops privileges, so issetugid() is true and MIT Kerberos ignores
KRB5_KTNAME; without this every GSSAPI bind fails with a permission
error on the default keytab.
Sponsored by: Netzkommune GmbH
net/389-ds-base: fix build on 32 bit platforms
No O_LARGEFILE on FreeBSD, so do not try to pass it to open().
Approved by: portmgr (build fix blanket)
MFH: 2026Q3
databases/lmdb0: Add port for LMDB 0.9.x legacy ABI
LMDB 1.0 introduced an incompatible on-disk format change and subtle
API breakage: applications that compiled cleanly against 1.0 headers
could fail silently at run time. Known affected ports include dns/knot3,
mail/bogofilter, and mail/postfix; the postfix issue has been confirmed
upstream. Linux distributions such as Arch Linux have observed the same
breakage. Samba can also be affected in certain configurations.
Because the regression is not detectable in an -exp build run -- the
postfix failure only manifests at run time, and bogofilter was caught
only because post-build self-tests happen to exercise this path -- we
cannot rely on package builds to validate the 1.0 upgrade.
This commit introduces databases/lmdb0 as a holding port for the 0.9.35
(Only the first 15 lines of the commit message are shown above )
net/389-ds-base: Fix instance creation
Add a dedicated dirsrv user and group.
Use FreeBSD-compatible paths for runtime files, databases, backups,
LDIF files, and logs. Create the persistent database and log parent
directories with suitable permissions.
Detect getpeereid(3) during configuration and fix peer credential
handling for LDAPI SASL EXTERNAL authentication.
Sponsored by: Netzkommune GmbH
net/389-ds-base: Add new port
389 Directory Server is an enterprise-class LDAP directory server
designed to provide scalable and reliable directory services for
identity management, authentication, authorization, and centralized
account data.
It supports features such as replication, access control, schema
management, plugins, and administrative command-line utilities.
Required for development of the net/freeipa-server port.
WWW: https://www.port389.org/
Sponsored by: Netzkommune GmbH