From 3fa3e6ac17cbab8003ce3b3ae87928de5f5eaaf4 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Mon, 3 Jun 2024 07:34:56 +0200 Subject: Adding upstream version 2.6.8+dfsg. Signed-off-by: Daniel Baumann --- servers/slapd/Makefile.in | 2 +- servers/slapd/abandon.c | 2 +- servers/slapd/aci.c | 2 +- servers/slapd/acl.c | 2 +- servers/slapd/aclparse.c | 2 +- servers/slapd/ad.c | 2 +- servers/slapd/add.c | 2 +- servers/slapd/at.c | 2 +- servers/slapd/attr.c | 2 +- servers/slapd/ava.c | 2 +- servers/slapd/back-asyncmeta/Makefile.in | 2 +- servers/slapd/back-asyncmeta/add.c | 2 +- servers/slapd/back-asyncmeta/back-asyncmeta.h | 5 +- servers/slapd/back-asyncmeta/bind.c | 2 +- servers/slapd/back-asyncmeta/candidates.c | 2 +- servers/slapd/back-asyncmeta/compare.c | 2 +- servers/slapd/back-asyncmeta/config.c | 103 ++- servers/slapd/back-asyncmeta/conn.c | 2 +- servers/slapd/back-asyncmeta/delete.c | 2 +- servers/slapd/back-asyncmeta/dncache.c | 2 +- servers/slapd/back-asyncmeta/init.c | 6 +- servers/slapd/back-asyncmeta/map.c | 2 +- servers/slapd/back-asyncmeta/message_queue.c | 2 +- servers/slapd/back-asyncmeta/meta_result.c | 2 +- servers/slapd/back-asyncmeta/modify.c | 2 +- servers/slapd/back-asyncmeta/modrdn.c | 2 +- servers/slapd/back-asyncmeta/proto-asyncmeta.h | 2 +- servers/slapd/back-asyncmeta/search.c | 2 +- servers/slapd/back-dnssrv/Makefile.in | 2 +- servers/slapd/back-dnssrv/bind.c | 2 +- servers/slapd/back-dnssrv/compare.c | 2 +- servers/slapd/back-dnssrv/config.c | 2 +- servers/slapd/back-dnssrv/init.c | 2 +- servers/slapd/back-dnssrv/proto-dnssrv.h | 2 +- servers/slapd/back-dnssrv/referral.c | 2 +- servers/slapd/back-dnssrv/search.c | 2 +- servers/slapd/back-ldap/Makefile.in | 2 +- servers/slapd/back-ldap/add.c | 2 +- servers/slapd/back-ldap/back-ldap.h | 2 +- servers/slapd/back-ldap/bind.c | 2 +- servers/slapd/back-ldap/chain.c | 2 +- servers/slapd/back-ldap/compare.c | 2 +- servers/slapd/back-ldap/config.c | 2 +- servers/slapd/back-ldap/delete.c | 2 +- servers/slapd/back-ldap/distproc.c | 2 +- servers/slapd/back-ldap/extended.c | 2 +- servers/slapd/back-ldap/init.c | 2 +- servers/slapd/back-ldap/modify.c | 2 +- servers/slapd/back-ldap/modrdn.c | 2 +- servers/slapd/back-ldap/monitor.c | 2 +- servers/slapd/back-ldap/pbind.c | 2 +- servers/slapd/back-ldap/proto-ldap.h | 2 +- servers/slapd/back-ldap/search.c | 2 +- servers/slapd/back-ldap/unbind.c | 2 +- servers/slapd/back-ldif/Makefile.in | 2 +- servers/slapd/back-ldif/ldif.c | 2 +- servers/slapd/back-mdb/Makefile.in | 2 +- servers/slapd/back-mdb/add.c | 2 +- servers/slapd/back-mdb/attr.c | 2 +- servers/slapd/back-mdb/back-mdb.h | 2 +- servers/slapd/back-mdb/bind.c | 2 +- servers/slapd/back-mdb/compare.c | 2 +- servers/slapd/back-mdb/config.c | 2 +- servers/slapd/back-mdb/delete.c | 2 +- servers/slapd/back-mdb/dn2entry.c | 2 +- servers/slapd/back-mdb/dn2id.c | 2 +- servers/slapd/back-mdb/extended.c | 2 +- servers/slapd/back-mdb/filterindex.c | 2 +- servers/slapd/back-mdb/id2entry.c | 2 +- servers/slapd/back-mdb/idl.c | 2 +- servers/slapd/back-mdb/idl.h | 2 +- servers/slapd/back-mdb/index.c | 2 +- servers/slapd/back-mdb/init.c | 2 +- servers/slapd/back-mdb/key.c | 2 +- servers/slapd/back-mdb/modify.c | 2 +- servers/slapd/back-mdb/modrdn.c | 2 +- servers/slapd/back-mdb/monitor.c | 2 +- servers/slapd/back-mdb/nextid.c | 2 +- servers/slapd/back-mdb/operational.c | 2 +- servers/slapd/back-mdb/proto-mdb.h | 2 +- servers/slapd/back-mdb/referral.c | 2 +- servers/slapd/back-mdb/search.c | 2 +- servers/slapd/back-mdb/tools.c | 2 +- servers/slapd/back-meta/Makefile.in | 2 +- servers/slapd/back-meta/add.c | 14 +- servers/slapd/back-meta/back-meta.h | 17 +- servers/slapd/back-meta/bind.c | 19 +- servers/slapd/back-meta/candidates.c | 6 +- servers/slapd/back-meta/compare.c | 12 +- servers/slapd/back-meta/config.c | 75 +- servers/slapd/back-meta/conn.c | 70 +- servers/slapd/back-meta/delete.c | 12 +- servers/slapd/back-meta/dncache.c | 2 +- servers/slapd/back-meta/init.c | 8 +- servers/slapd/back-meta/map.c | 2 +- servers/slapd/back-meta/modify.c | 12 +- servers/slapd/back-meta/modrdn.c | 12 +- servers/slapd/back-meta/proto-meta.h | 2 +- servers/slapd/back-meta/search.c | 12 +- servers/slapd/back-meta/suffixmassage.c | 2 +- servers/slapd/back-meta/unbind.c | 2 +- servers/slapd/back-monitor/Makefile.in | 2 +- servers/slapd/back-monitor/back-monitor.h | 2 +- servers/slapd/back-monitor/backend.c | 2 +- servers/slapd/back-monitor/bind.c | 2 +- servers/slapd/back-monitor/cache.c | 2 +- servers/slapd/back-monitor/compare.c | 2 +- servers/slapd/back-monitor/conn.c | 2 +- servers/slapd/back-monitor/database.c | 2 +- servers/slapd/back-monitor/entry.c | 2 +- servers/slapd/back-monitor/init.c | 2 +- servers/slapd/back-monitor/listener.c | 2 +- servers/slapd/back-monitor/log.c | 2 +- servers/slapd/back-monitor/modify.c | 2 +- servers/slapd/back-monitor/operation.c | 2 +- servers/slapd/back-monitor/operational.c | 2 +- servers/slapd/back-monitor/overlay.c | 2 +- servers/slapd/back-monitor/proto-back-monitor.h | 2 +- servers/slapd/back-monitor/rww.c | 2 +- servers/slapd/back-monitor/search.c | 2 +- servers/slapd/back-monitor/sent.c | 2 +- servers/slapd/back-monitor/thread.c | 2 +- servers/slapd/back-monitor/time.c | 2 +- servers/slapd/back-null/Makefile.in | 2 +- servers/slapd/back-null/null.c | 2 +- servers/slapd/back-passwd/Makefile.in | 2 +- servers/slapd/back-passwd/back-passwd.h | 2 +- servers/slapd/back-passwd/config.c | 2 +- servers/slapd/back-passwd/init.c | 2 +- servers/slapd/back-passwd/proto-passwd.h | 2 +- servers/slapd/back-passwd/search.c | 2 +- servers/slapd/back-perl/Makefile.in | 2 +- servers/slapd/back-perl/SampleLDAP.pm | 2 +- servers/slapd/back-perl/add.c | 2 +- servers/slapd/back-perl/asperl_undefs.h | 2 +- servers/slapd/back-perl/bind.c | 2 +- servers/slapd/back-perl/close.c | 2 +- servers/slapd/back-perl/compare.c | 2 +- servers/slapd/back-perl/config.c | 2 +- servers/slapd/back-perl/delete.c | 2 +- servers/slapd/back-perl/init.c | 2 +- servers/slapd/back-perl/modify.c | 2 +- servers/slapd/back-perl/modrdn.c | 2 +- servers/slapd/back-perl/perl_back.h | 2 +- servers/slapd/back-perl/proto-perl.h | 2 +- servers/slapd/back-perl/search.c | 2 +- servers/slapd/back-relay/Makefile.in | 2 +- servers/slapd/back-relay/back-relay.h | 2 +- servers/slapd/back-relay/init.c | 2 +- servers/slapd/back-relay/op.c | 2 +- servers/slapd/back-relay/proto-back-relay.h | 2 +- servers/slapd/back-sock/Makefile.in | 2 +- servers/slapd/back-sock/add.c | 2 +- servers/slapd/back-sock/back-sock.h | 2 +- servers/slapd/back-sock/bind.c | 2 +- servers/slapd/back-sock/compare.c | 2 +- servers/slapd/back-sock/config.c | 2 +- servers/slapd/back-sock/delete.c | 2 +- servers/slapd/back-sock/extended.c | 2 +- servers/slapd/back-sock/init.c | 2 +- servers/slapd/back-sock/modify.c | 2 +- servers/slapd/back-sock/modrdn.c | 2 +- servers/slapd/back-sock/opensock.c | 2 +- servers/slapd/back-sock/proto-sock.h | 2 +- servers/slapd/back-sock/result.c | 2 +- servers/slapd/back-sock/search.c | 2 +- servers/slapd/back-sock/searchexample.conf | 2 +- servers/slapd/back-sock/searchexample.pl | 2 +- servers/slapd/back-sock/unbind.c | 2 +- servers/slapd/back-sql/Makefile.in | 2 +- servers/slapd/back-sql/add.c | 2 +- servers/slapd/back-sql/api.c | 2 +- servers/slapd/back-sql/back-sql.h | 2 +- servers/slapd/back-sql/bind.c | 2 +- servers/slapd/back-sql/compare.c | 2 +- servers/slapd/back-sql/config.c | 2 +- servers/slapd/back-sql/delete.c | 2 +- servers/slapd/back-sql/entry-id.c | 2 +- servers/slapd/back-sql/init.c | 2 +- servers/slapd/back-sql/modify.c | 2 +- servers/slapd/back-sql/modrdn.c | 2 +- servers/slapd/back-sql/operational.c | 2 +- servers/slapd/back-sql/proto-sql.h | 2 +- .../rdbms_depend/timesten/dnreverse/Makefile | 2 +- .../rdbms_depend/timesten/dnreverse/dnreverse.cpp | 2 +- servers/slapd/back-sql/schema-map.c | 2 +- servers/slapd/back-sql/search.c | 2 +- servers/slapd/back-sql/sql-wrap.c | 2 +- servers/slapd/back-sql/util.c | 2 +- servers/slapd/back-wt/Makefile.in | 2 +- servers/slapd/back-wt/add.c | 2 +- servers/slapd/back-wt/attr.c | 2 +- servers/slapd/back-wt/back-wt.h | 2 +- servers/slapd/back-wt/bind.c | 2 +- servers/slapd/back-wt/cache.c | 2 +- servers/slapd/back-wt/compare.c | 2 +- servers/slapd/back-wt/config.c | 2 +- servers/slapd/back-wt/ctx.c | 2 +- servers/slapd/back-wt/delete.c | 2 +- servers/slapd/back-wt/dn2entry.c | 2 +- servers/slapd/back-wt/dn2id.c | 2 +- servers/slapd/back-wt/extended.c | 2 +- servers/slapd/back-wt/filterindex.c | 2 +- servers/slapd/back-wt/id2entry.c | 2 +- servers/slapd/back-wt/idl.c | 2 +- servers/slapd/back-wt/idl.h | 2 +- servers/slapd/back-wt/index.c | 2 +- servers/slapd/back-wt/init.c | 2 +- servers/slapd/back-wt/key.c | 2 +- servers/slapd/back-wt/modify.c | 2 +- servers/slapd/back-wt/modrdn.c | 2 +- servers/slapd/back-wt/nextid.c | 2 +- servers/slapd/back-wt/operational.c | 2 +- servers/slapd/back-wt/proto-wt.h | 2 +- servers/slapd/back-wt/search.c | 2 +- servers/slapd/back-wt/tools.c | 2 +- servers/slapd/backend.c | 2 +- servers/slapd/backglue.c | 2 +- servers/slapd/backover.c | 2 +- servers/slapd/bconfig.c | 3 +- servers/slapd/bind.c | 2 +- servers/slapd/cancel.c | 2 +- servers/slapd/ch_malloc.c | 2 +- servers/slapd/compare.c | 2 +- servers/slapd/component.c | 2 +- servers/slapd/component.h | 2 +- servers/slapd/config.c | 4 +- servers/slapd/connection.c | 2 +- servers/slapd/controls.c | 2 +- servers/slapd/cr.c | 2 +- servers/slapd/ctxcsn.c | 2 +- servers/slapd/daemon.c | 10 +- servers/slapd/delete.c | 2 +- servers/slapd/dn.c | 2 +- servers/slapd/entry.c | 2 +- servers/slapd/extended.c | 2 +- servers/slapd/filter.c | 2 +- servers/slapd/filterentry.c | 2 +- servers/slapd/frontend.c | 2 +- servers/slapd/globals.c | 2 +- servers/slapd/index.c | 2 +- servers/slapd/init.c | 2 +- servers/slapd/ldapsync.c | 2 +- servers/slapd/limits.c | 2 +- servers/slapd/lock.c | 2 +- servers/slapd/logging.c | 53 +- servers/slapd/main.c | 2 +- servers/slapd/matchedValues.c | 2 +- servers/slapd/modify.c | 2 +- servers/slapd/modrdn.c | 2 +- servers/slapd/mods.c | 2 +- servers/slapd/module.c | 2 +- servers/slapd/mr.c | 2 +- servers/slapd/mra.c | 2 +- servers/slapd/nt_svc.c | 2 +- servers/slapd/oc.c | 2 +- servers/slapd/oidm.c | 2 +- servers/slapd/operation.c | 2 +- servers/slapd/operational.c | 2 +- servers/slapd/overlays/Makefile.in | 6 +- servers/slapd/overlays/accesslog.c | 10 +- servers/slapd/overlays/auditlog.c | 2 +- servers/slapd/overlays/autoca.c | 2 +- servers/slapd/overlays/collect.c | 2 +- servers/slapd/overlays/constraint.c | 3 +- servers/slapd/overlays/dds.c | 2 +- servers/slapd/overlays/deref.c | 2 +- servers/slapd/overlays/dyngroup.c | 4 +- servers/slapd/overlays/dynlist.c | 5 +- servers/slapd/overlays/homedir.c | 2 +- servers/slapd/overlays/memberof.c | 119 +++ servers/slapd/overlays/nestgroup.c | 909 +++++++++++++++++++++ servers/slapd/overlays/otp.c | 2 +- servers/slapd/overlays/overlays.c | 2 +- servers/slapd/overlays/pcache.c | 2 +- servers/slapd/overlays/ppolicy.c | 2 +- servers/slapd/overlays/refint.c | 3 +- servers/slapd/overlays/remoteauth.c | 2 +- servers/slapd/overlays/retcode.c | 2 +- servers/slapd/overlays/rwm.c | 2 +- servers/slapd/overlays/rwm.h | 2 +- servers/slapd/overlays/rwmconf.c | 2 +- servers/slapd/overlays/rwmdn.c | 2 +- servers/slapd/overlays/rwmmap.c | 2 +- servers/slapd/overlays/seqmod.c | 2 +- servers/slapd/overlays/sssvlv.c | 2 +- servers/slapd/overlays/syncprov.c | 10 +- servers/slapd/overlays/translucent.c | 2 +- servers/slapd/overlays/unique.c | 2 +- servers/slapd/overlays/valsort.c | 4 +- servers/slapd/passwd.c | 2 +- servers/slapd/phonetic.c | 2 +- servers/slapd/proto-slap.h | 2 +- servers/slapd/proxyp.c | 2 +- servers/slapd/pwmods/Makefile.in | 2 +- servers/slapd/pwmods/README.argon2 | 2 +- servers/slapd/pwmods/argon2.c | 2 +- servers/slapd/referral.c | 2 +- servers/slapd/result.c | 2 +- servers/slapd/root_dse.c | 2 +- servers/slapd/sasl.c | 2 +- servers/slapd/saslauthz.c | 2 +- servers/slapd/schema.c | 2 +- servers/slapd/schema/README | 2 +- servers/slapd/schema/collective.ldif | 2 +- servers/slapd/schema/corba.ldif | 2 +- servers/slapd/schema/cosine.ldif | 2 +- servers/slapd/schema/dsee.ldif | 2 +- servers/slapd/schema/dsee.schema | 2 +- servers/slapd/schema/duaconf.ldif | 2 +- servers/slapd/schema/dyngroup.ldif | 2 +- servers/slapd/schema/dyngroup.schema | 2 +- servers/slapd/schema/inetorgperson.ldif | 2 +- servers/slapd/schema/java.ldif | 2 +- servers/slapd/schema/misc.ldif | 2 +- servers/slapd/schema/misc.schema | 2 +- servers/slapd/schema/msuser.ldif | 2 +- servers/slapd/schema/msuser.schema | 2 +- servers/slapd/schema/namedobject.ldif | 2 +- servers/slapd/schema/nis.ldif | 2 +- servers/slapd/schema/nis.schema | 2 +- servers/slapd/schema/openldap.ldif | 2 +- servers/slapd/schema/openldap.schema | 2 +- servers/slapd/schema/pmi.ldif | 2 +- servers/slapd/schema_check.c | 2 +- servers/slapd/schema_init.c | 2 +- servers/slapd/schema_prep.c | 2 +- servers/slapd/schemaparse.c | 2 +- servers/slapd/search.c | 2 +- servers/slapd/sets.c | 2 +- servers/slapd/sets.h | 2 +- servers/slapd/sl_malloc.c | 2 +- servers/slapd/slap-cfglog.h | 2 +- servers/slapd/slap-config.h | 2 +- servers/slapd/slap.h | 2 +- servers/slapd/slapacl.c | 2 +- servers/slapd/slapadd.c | 2 +- servers/slapd/slapauth.c | 2 +- servers/slapd/slapcat.c | 2 +- servers/slapd/slapcommon.c | 2 +- servers/slapd/slapcommon.h | 2 +- servers/slapd/slapdn.c | 2 +- servers/slapd/slapi/Makefile.in | 2 +- servers/slapd/slapi/plugin.c | 4 +- servers/slapd/slapi/printmsg.c | 2 +- servers/slapd/slapi/proto-slapi.h | 2 +- servers/slapd/slapi/slapi.h | 2 +- servers/slapd/slapi/slapi_dn.c | 2 +- servers/slapd/slapi/slapi_ext.c | 2 +- servers/slapd/slapi/slapi_ops.c | 2 +- servers/slapd/slapi/slapi_overlay.c | 2 +- servers/slapd/slapi/slapi_pblock.c | 2 +- servers/slapd/slapi/slapi_utils.c | 2 +- servers/slapd/slapindex.c | 2 +- servers/slapd/slapmodify.c | 2 +- servers/slapd/slappasswd.c | 2 +- servers/slapd/slapschema.c | 2 +- servers/slapd/slaptest.c | 2 +- servers/slapd/starttls.c | 2 +- servers/slapd/str2filter.c | 2 +- servers/slapd/syncrepl.c | 2 +- servers/slapd/syntax.c | 2 +- servers/slapd/txn.c | 2 +- servers/slapd/unbind.c | 2 +- servers/slapd/user.c | 2 +- servers/slapd/value.c | 2 +- servers/slapd/verbs.c | 2 +- servers/slapd/zn_malloc.c | 2 +- 368 files changed, 1641 insertions(+), 565 deletions(-) create mode 100644 servers/slapd/overlays/nestgroup.c (limited to 'servers/slapd') diff --git a/servers/slapd/Makefile.in b/servers/slapd/Makefile.in index a1bc722..6f492a9 100644 --- a/servers/slapd/Makefile.in +++ b/servers/slapd/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/abandon.c b/servers/slapd/abandon.c index bec95e2..74cb4a5 100644 --- a/servers/slapd/abandon.c +++ b/servers/slapd/abandon.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/aci.c b/servers/slapd/aci.c index c8cc41d..4c14c84 100644 --- a/servers/slapd/aci.c +++ b/servers/slapd/aci.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/acl.c b/servers/slapd/acl.c index 4cfa172..f6f0587 100644 --- a/servers/slapd/acl.c +++ b/servers/slapd/acl.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/aclparse.c b/servers/slapd/aclparse.c index f08de6a..b41951d 100644 --- a/servers/slapd/aclparse.c +++ b/servers/slapd/aclparse.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/ad.c b/servers/slapd/ad.c index 6b643f5..da46cc9 100644 --- a/servers/slapd/ad.c +++ b/servers/slapd/ad.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/add.c b/servers/slapd/add.c index 7934d3e..d6029d0 100644 --- a/servers/slapd/add.c +++ b/servers/slapd/add.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/at.c b/servers/slapd/at.c index 353a641..c900262 100644 --- a/servers/slapd/at.c +++ b/servers/slapd/at.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/attr.c b/servers/slapd/attr.c index 0828a76..dd435f0 100644 --- a/servers/slapd/attr.c +++ b/servers/slapd/attr.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/ava.c b/servers/slapd/ava.c index ae9351d..f65f522 100644 --- a/servers/slapd/ava.c +++ b/servers/slapd/ava.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-asyncmeta/Makefile.in b/servers/slapd/back-asyncmeta/Makefile.in index c609458..6a375e7 100644 --- a/servers/slapd/back-asyncmeta/Makefile.in +++ b/servers/slapd/back-asyncmeta/Makefile.in @@ -2,7 +2,7 @@ ## $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2016-2022 The OpenLDAP Foundation. +## Copyright 2016-2024 The OpenLDAP Foundation. ## Portions Copyright 2016 Symas Corporation. ## All rights reserved. ## diff --git a/servers/slapd/back-asyncmeta/add.c b/servers/slapd/back-asyncmeta/add.c index 55277ee..a90322c 100644 --- a/servers/slapd/back-asyncmeta/add.c +++ b/servers/slapd/back-asyncmeta/add.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/back-asyncmeta.h b/servers/slapd/back-asyncmeta/back-asyncmeta.h index a5ae6cd..038d2fa 100644 --- a/servers/slapd/back-asyncmeta/back-asyncmeta.h +++ b/servers/slapd/back-asyncmeta/back-asyncmeta.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * @@ -777,6 +777,9 @@ asyncmeta_db_has_pending_ops(a_metainfo_t *mi); int asyncmeta_db_has_mscs(a_metainfo_t *mi); +void +asyncmeta_target_free(a_metatarget_t *mt); + /* The the maximum time in seconds after a result has been received on a connection, * after which it can be reset if a sender error occurs. Should this be configurable? */ #define META_BACK_RESULT_INTERVAL (2) diff --git a/servers/slapd/back-asyncmeta/bind.c b/servers/slapd/back-asyncmeta/bind.c index 78c0e57..f0dc2a6 100644 --- a/servers/slapd/back-asyncmeta/bind.c +++ b/servers/slapd/back-asyncmeta/bind.c @@ -3,7 +3,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/candidates.c b/servers/slapd/back-asyncmeta/candidates.c index 5f3b228..9e22dc8 100644 --- a/servers/slapd/back-asyncmeta/candidates.c +++ b/servers/slapd/back-asyncmeta/candidates.c @@ -3,7 +3,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/compare.c b/servers/slapd/back-asyncmeta/compare.c index 8f56719..f649433 100644 --- a/servers/slapd/back-asyncmeta/compare.c +++ b/servers/slapd/back-asyncmeta/compare.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/config.c b/servers/slapd/back-asyncmeta/config.c index e4cc5ea..9271ba8 100644 --- a/servers/slapd/back-asyncmeta/config.c +++ b/servers/slapd/back-asyncmeta/config.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * @@ -496,18 +496,14 @@ asyncmeta_cfadd( Operation *op, SlapReply *rs, Entry *p, ConfigArgs *c ) static int asyncmeta_back_new_target( - a_metatarget_t **mtp, - a_metainfo_t *mi ) + a_metatarget_t *mt, + a_metainfo_t *mi, + BackendDB *db ) { - a_metatarget_t *mt; - - *mtp = NULL; int i; assert ( mi != NULL ); - mt = ch_calloc( sizeof( a_metatarget_t ), 1 ); - - ldap_pvt_thread_mutex_init( &mt->mt_uri_mutex ); + assert ( mt != NULL ); mt->mt_idassert_mode = LDAP_BACK_IDASSERT_LEGACY; mt->mt_idassert_authmethod = LDAP_AUTH_NONE; @@ -515,8 +511,9 @@ asyncmeta_back_new_target( /* by default, use proxyAuthz control on each operation */ mt->mt_idassert_flags = LDAP_BACK_AUTH_PRESCRIPTIVE; - *mtp = mt; - + if ( !SLAP_DBOPEN(db) || !(slapMode & SLAP_SERVER_MODE)) { + return 0; + } for ( i = 0; i < mi->mi_num_conns; i++ ) { a_metaconn_t *mc = &mi->mi_conns[i]; mc->mc_conns = ch_realloc( mc->mc_conns, sizeof( a_metasingleconn_t ) * mi->mi_ntargets); @@ -1884,7 +1881,6 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) LDAPURLDesc *ludp; struct berval dn; int j; - char **uris = NULL; if ( c->be->be_nsuffix == NULL ) { @@ -1894,39 +1890,6 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) return 1; } - i = mi->mi_ntargets++; - - mi->mi_targets = ( a_metatarget_t ** )ch_realloc( mi->mi_targets, - sizeof( a_metatarget_t * ) * mi->mi_ntargets ); - if ( mi->mi_targets == NULL ) { - snprintf( c->cr_msg, sizeof( c->cr_msg ), - "out of memory while storing server name" - " in \"%s ://[:port]/\"", - c->argv[0] ); - Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); - return 1; - } - - if ( asyncmeta_back_new_target( &mi->mi_targets[ i ], mi ) != 0 ) { - snprintf( c->cr_msg, sizeof( c->cr_msg ), - "unable to init server" - " in \"%s ://[:port]/\"", - c->argv[0] ); - Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); - return 1; - } - - mt = mi->mi_targets[ i ]; - - mt->mt_rebind_f = mi->mi_rebind_f; - mt->mt_urllist_f = mi->mi_urllist_f; - mt->mt_urllist_p = mt; - - if ( META_BACK_QUARANTINE( mi ) ) { - ldap_pvt_thread_mutex_init( &mt->mt_quarantine_mutex ); - } - mt->mt_mc = mi->mi_mc; - for ( j = 1; j < c->argc; j++ ) { char **tmpuris = ldap_str2charray( c->argv[ j ], "\t" ); @@ -1948,6 +1911,8 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) } } + mt = ch_calloc( sizeof( a_metatarget_t ), 1 ); + for ( j = 0; uris[ j ] != NULL; j++ ) { char *tmpuri = NULL; @@ -1964,6 +1929,7 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) j-1, c->argv[0] ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_charray_free( uris ); + asyncmeta_target_free( mt ); return 1; } @@ -1980,6 +1946,7 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_free_urllist( ludp ); ldap_charray_free( uris ); + asyncmeta_target_free( mt ); return 1; } @@ -1996,6 +1963,7 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_free_urllist( ludp ); ldap_charray_free( uris ); + asyncmeta_target_free( mt ); return( 1 ); } @@ -2018,6 +1986,7 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_free_urllist( ludp ); ldap_charray_free( uris ); + asyncmeta_target_free( mt ); return( 1 ); } @@ -2029,6 +1998,7 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_free_urllist( ludp ); ldap_charray_free( uris ); + asyncmeta_target_free( mt ); return( 1 ); } @@ -2040,6 +2010,7 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) snprintf( c->cr_msg, sizeof( c->cr_msg ), "no memory?" ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_charray_free( uris ); + asyncmeta_target_free( mt ); return( 1 ); } ldap_memfree( uris[ j ] ); @@ -2051,7 +2022,10 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) if ( mt->mt_uri == NULL) { snprintf( c->cr_msg, sizeof( c->cr_msg ), "no memory?" ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); + asyncmeta_target_free( mt ); return( 1 ); + } else { + ldap_pvt_thread_mutex_init( &mt->mt_uri_mutex ); } /* @@ -2067,8 +2041,47 @@ asyncmeta_back_cf_gen( ConfigArgs *c ) snprintf( c->cr_msg, sizeof( c->cr_msg ), " of URI must be within the naming context of this database." ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); + asyncmeta_target_free( mt ); + return 1; + } + + i = mi->mi_ntargets++; + + mi->mi_targets = ( a_metatarget_t ** )ch_realloc( mi->mi_targets, + sizeof( a_metatarget_t * ) * mi->mi_ntargets ); + if ( mi->mi_targets == NULL ) { + snprintf( c->cr_msg, sizeof( c->cr_msg ), + "out of memory while storing server name" + " in \"%s ://[:port]/\"", + c->argv[0] ); + Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); + asyncmeta_target_free( mt ); return 1; } + + mi->mi_targets[ i ] = mt; + if ( asyncmeta_back_new_target( mt, mi, c->be ) != 0 ) { + /* does not currently happen, asyncmeta back_new_target always returns 0 */ + snprintf( c->cr_msg, sizeof( c->cr_msg ), + "unable to init server" + " in \"%s ://[:port]/\"", + c->argv[0] ); + Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); + asyncmeta_target_free( mt ); + mi->mi_ntargets--; + return 1; + } + + + mt->mt_rebind_f = mi->mi_rebind_f; + mt->mt_urllist_f = mi->mi_urllist_f; + mt->mt_urllist_p = mt; + + if ( META_BACK_QUARANTINE( mi ) ) { + ldap_pvt_thread_mutex_init( &mt->mt_quarantine_mutex ); + } + mt->mt_mc = mi->mi_mc; + c->ca_private = mt; config_push_cleanup( c, asyncmeta_cf_cleanup ); } break; diff --git a/servers/slapd/back-asyncmeta/conn.c b/servers/slapd/back-asyncmeta/conn.c index 19c100e..fd04d70 100644 --- a/servers/slapd/back-asyncmeta/conn.c +++ b/servers/slapd/back-asyncmeta/conn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/delete.c b/servers/slapd/back-asyncmeta/delete.c index b85d463..63bd39c 100644 --- a/servers/slapd/back-asyncmeta/delete.c +++ b/servers/slapd/back-asyncmeta/delete.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/dncache.c b/servers/slapd/back-asyncmeta/dncache.c index a588290..89f615a 100644 --- a/servers/slapd/back-asyncmeta/dncache.c +++ b/servers/slapd/back-asyncmeta/dncache.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/init.c b/servers/slapd/back-asyncmeta/init.c index 2b43958..def4494 100644 --- a/servers/slapd/back-asyncmeta/init.c +++ b/servers/slapd/back-asyncmeta/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * @@ -275,7 +275,7 @@ asyncmeta_back_db_open( ber_dupbv ( &mi->mi_suffix, &be->be_suffix[0] ); - if ( mi->mi_ntargets > 0 ) { + if ( ( slapMode & SLAP_SERVER_MODE ) && mi->mi_ntargets > 0 ) { ldap_pvt_thread_mutex_lock( &slapd_rq.rq_mutex ); mi->mi_task = ldap_pvt_runqueue_insert( &slapd_rq, 1, asyncmeta_timeout_loop, mi, "asyncmeta_timeout_loop", mi->mi_suffix.bv_val ); @@ -325,7 +325,7 @@ asyncmeta_back_clear_miconns( a_metainfo_t *mi ) free(mi->mi_conns); } -static void +void asyncmeta_target_free( a_metatarget_t *mt ) { diff --git a/servers/slapd/back-asyncmeta/map.c b/servers/slapd/back-asyncmeta/map.c index 66bb8b0..2de4915 100644 --- a/servers/slapd/back-asyncmeta/map.c +++ b/servers/slapd/back-asyncmeta/map.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/message_queue.c b/servers/slapd/back-asyncmeta/message_queue.c index 29087c5..3eb704c 100644 --- a/servers/slapd/back-asyncmeta/message_queue.c +++ b/servers/slapd/back-asyncmeta/message_queue.c @@ -3,7 +3,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/meta_result.c b/servers/slapd/back-asyncmeta/meta_result.c index 0ce279a..80a02c8 100644 --- a/servers/slapd/back-asyncmeta/meta_result.c +++ b/servers/slapd/back-asyncmeta/meta_result.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/modify.c b/servers/slapd/back-asyncmeta/modify.c index 14105ae..bfa9a6a 100644 --- a/servers/slapd/back-asyncmeta/modify.c +++ b/servers/slapd/back-asyncmeta/modify.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/modrdn.c b/servers/slapd/back-asyncmeta/modrdn.c index 6793686..3bbcf78 100644 --- a/servers/slapd/back-asyncmeta/modrdn.c +++ b/servers/slapd/back-asyncmeta/modrdn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/proto-asyncmeta.h b/servers/slapd/back-asyncmeta/proto-asyncmeta.h index 54041fa..d57855a 100644 --- a/servers/slapd/back-asyncmeta/proto-asyncmeta.h +++ b/servers/slapd/back-asyncmeta/proto-asyncmeta.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-asyncmeta/search.c b/servers/slapd/back-asyncmeta/search.c index ab32c48..bf91056 100644 --- a/servers/slapd/back-asyncmeta/search.c +++ b/servers/slapd/back-asyncmeta/search.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2016-2022 The OpenLDAP Foundation. + * Copyright 2016-2024 The OpenLDAP Foundation. * Portions Copyright 2016 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/back-dnssrv/Makefile.in b/servers/slapd/back-dnssrv/Makefile.in index cf571e0..a88a556 100644 --- a/servers/slapd/back-dnssrv/Makefile.in +++ b/servers/slapd/back-dnssrv/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## Portions Copyright 1998-2003 Kurt D. Zeilenga. ## All rights reserved. ## diff --git a/servers/slapd/back-dnssrv/bind.c b/servers/slapd/back-dnssrv/bind.c index 705c503..974c2b8 100644 --- a/servers/slapd/back-dnssrv/bind.c +++ b/servers/slapd/back-dnssrv/bind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * Portions Copyright 2000-2003 Kurt D. Zeilenga. * All rights reserved. * diff --git a/servers/slapd/back-dnssrv/compare.c b/servers/slapd/back-dnssrv/compare.c index 28a0f6c..c64bb09 100644 --- a/servers/slapd/back-dnssrv/compare.c +++ b/servers/slapd/back-dnssrv/compare.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * Portions Copyright 2000-2003 Kurt D. Zeilenga. * All rights reserved. * diff --git a/servers/slapd/back-dnssrv/config.c b/servers/slapd/back-dnssrv/config.c index 32e412e..cf7852e 100644 --- a/servers/slapd/back-dnssrv/config.c +++ b/servers/slapd/back-dnssrv/config.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * Portions Copyright 2000-2003 Kurt D. Zeilenga. * All rights reserved. * diff --git a/servers/slapd/back-dnssrv/init.c b/servers/slapd/back-dnssrv/init.c index a253be7..d086925 100644 --- a/servers/slapd/back-dnssrv/init.c +++ b/servers/slapd/back-dnssrv/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * Portions Copyright 2000-2003 Kurt D. Zeilenga. * All rights reserved. * diff --git a/servers/slapd/back-dnssrv/proto-dnssrv.h b/servers/slapd/back-dnssrv/proto-dnssrv.h index 23b01aa..c92faf0 100644 --- a/servers/slapd/back-dnssrv/proto-dnssrv.h +++ b/servers/slapd/back-dnssrv/proto-dnssrv.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-dnssrv/referral.c b/servers/slapd/back-dnssrv/referral.c index c3b801a..8a10079 100644 --- a/servers/slapd/back-dnssrv/referral.c +++ b/servers/slapd/back-dnssrv/referral.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * Portions Copyright 2000-2003 Kurt D. Zeilenga. * All rights reserved. * diff --git a/servers/slapd/back-dnssrv/search.c b/servers/slapd/back-dnssrv/search.c index 4403248..6f76e9e 100644 --- a/servers/slapd/back-dnssrv/search.c +++ b/servers/slapd/back-dnssrv/search.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * Portions Copyright 2000-2003 Kurt D. Zeilenga. * All rights reserved. * diff --git a/servers/slapd/back-ldap/Makefile.in b/servers/slapd/back-ldap/Makefile.in index 4b10d77..0e37e83 100644 --- a/servers/slapd/back-ldap/Makefile.in +++ b/servers/slapd/back-ldap/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-ldap/add.c b/servers/slapd/back-ldap/add.c index 32ceda2..3a72179 100644 --- a/servers/slapd/back-ldap/add.c +++ b/servers/slapd/back-ldap/add.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2000-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. diff --git a/servers/slapd/back-ldap/back-ldap.h b/servers/slapd/back-ldap/back-ldap.h index 96bc6f3..d2273b7 100644 --- a/servers/slapd/back-ldap/back-ldap.h +++ b/servers/slapd/back-ldap/back-ldap.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2000-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. diff --git a/servers/slapd/back-ldap/bind.c b/servers/slapd/back-ldap/bind.c index 16a09bf..4afbedb 100644 --- a/servers/slapd/back-ldap/bind.c +++ b/servers/slapd/back-ldap/bind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2000-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. diff --git a/servers/slapd/back-ldap/chain.c b/servers/slapd/back-ldap/chain.c index fece74d..d1cf9f2 100644 --- a/servers/slapd/back-ldap/chain.c +++ b/servers/slapd/back-ldap/chain.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2003 Howard Chu. * All rights reserved. * diff --git a/servers/slapd/back-ldap/compare.c b/servers/slapd/back-ldap/compare.c index 1e410db..7f18a5e 100644 --- a/servers/slapd/back-ldap/compare.c +++ b/servers/slapd/back-ldap/compare.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-ldap/config.c b/servers/slapd/back-ldap/config.c index fb97e8e..57e3d01 100644 --- a/servers/slapd/back-ldap/config.c +++ b/servers/slapd/back-ldap/config.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-ldap/delete.c b/servers/slapd/back-ldap/delete.c index 470aa0b..6bf83ad 100644 --- a/servers/slapd/back-ldap/delete.c +++ b/servers/slapd/back-ldap/delete.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-ldap/distproc.c b/servers/slapd/back-ldap/distproc.c index a2417a3..eea915b 100644 --- a/servers/slapd/back-ldap/distproc.c +++ b/servers/slapd/back-ldap/distproc.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2022 The OpenLDAP Foundation. + * Copyright 2005-2024 The OpenLDAP Foundation. * Portions Copyright 2003 Howard Chu. * All rights reserved. * diff --git a/servers/slapd/back-ldap/extended.c b/servers/slapd/back-ldap/extended.c index b6f4ec5..61a3663 100644 --- a/servers/slapd/back-ldap/extended.c +++ b/servers/slapd/back-ldap/extended.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-ldap/init.c b/servers/slapd/back-ldap/init.c index e2db2a0..8f2f006 100644 --- a/servers/slapd/back-ldap/init.c +++ b/servers/slapd/back-ldap/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-ldap/modify.c b/servers/slapd/back-ldap/modify.c index 53e8a68..8f42dbc 100644 --- a/servers/slapd/back-ldap/modify.c +++ b/servers/slapd/back-ldap/modify.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-ldap/modrdn.c b/servers/slapd/back-ldap/modrdn.c index 9c441eb..e3de243 100644 --- a/servers/slapd/back-ldap/modrdn.c +++ b/servers/slapd/back-ldap/modrdn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-ldap/monitor.c b/servers/slapd/back-ldap/monitor.c index 16c2d6f..c4df22d 100644 --- a/servers/slapd/back-ldap/monitor.c +++ b/servers/slapd/back-ldap/monitor.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-ldap/pbind.c b/servers/slapd/back-ldap/pbind.c index f5841e9..e53d078 100644 --- a/servers/slapd/back-ldap/pbind.c +++ b/servers/slapd/back-ldap/pbind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2003-2010 Howard Chu. * All rights reserved. * diff --git a/servers/slapd/back-ldap/proto-ldap.h b/servers/slapd/back-ldap/proto-ldap.h index 445d551..4003b0d 100644 --- a/servers/slapd/back-ldap/proto-ldap.h +++ b/servers/slapd/back-ldap/proto-ldap.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-ldap/search.c b/servers/slapd/back-ldap/search.c index 90b5b65..7ff0d32 100644 --- a/servers/slapd/back-ldap/search.c +++ b/servers/slapd/back-ldap/search.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-ldap/unbind.c b/servers/slapd/back-ldap/unbind.c index 071380e..2c292ff 100644 --- a/servers/slapd/back-ldap/unbind.c +++ b/servers/slapd/back-ldap/unbind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-ldif/Makefile.in b/servers/slapd/back-ldif/Makefile.in index 50f2553..c6ac68b 100644 --- a/servers/slapd/back-ldif/Makefile.in +++ b/servers/slapd/back-ldif/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2005-2022 The OpenLDAP Foundation. +## Copyright 2005-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-ldif/ldif.c b/servers/slapd/back-ldif/ldif.c index 2de8b8a..a20095e 100644 --- a/servers/slapd/back-ldif/ldif.c +++ b/servers/slapd/back-ldif/ldif.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2022 The OpenLDAP Foundation. + * Copyright 2005-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/Makefile.in b/servers/slapd/back-mdb/Makefile.in index ad38048..1d3a649 100644 --- a/servers/slapd/back-mdb/Makefile.in +++ b/servers/slapd/back-mdb/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2011-2022 The OpenLDAP Foundation. +## Copyright 2011-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/add.c b/servers/slapd/back-mdb/add.c index f1632e2..5b17808 100644 --- a/servers/slapd/back-mdb/add.c +++ b/servers/slapd/back-mdb/add.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/attr.c b/servers/slapd/back-mdb/attr.c index 7219705..3ee0a48 100644 --- a/servers/slapd/back-mdb/attr.c +++ b/servers/slapd/back-mdb/attr.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/back-mdb.h b/servers/slapd/back-mdb/back-mdb.h index 4dba1a0..e2d7351 100644 --- a/servers/slapd/back-mdb/back-mdb.h +++ b/servers/slapd/back-mdb/back-mdb.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/bind.c b/servers/slapd/back-mdb/bind.c index 6df3f2d..a7c08c7 100644 --- a/servers/slapd/back-mdb/bind.c +++ b/servers/slapd/back-mdb/bind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/compare.c b/servers/slapd/back-mdb/compare.c index 10a6ccd..24b8467 100644 --- a/servers/slapd/back-mdb/compare.c +++ b/servers/slapd/back-mdb/compare.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/config.c b/servers/slapd/back-mdb/config.c index 8676ac3..0f86f76 100644 --- a/servers/slapd/back-mdb/config.c +++ b/servers/slapd/back-mdb/config.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/delete.c b/servers/slapd/back-mdb/delete.c index d4e6b8d..186127b 100644 --- a/servers/slapd/back-mdb/delete.c +++ b/servers/slapd/back-mdb/delete.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/dn2entry.c b/servers/slapd/back-mdb/dn2entry.c index 2262147..c26ac99 100644 --- a/servers/slapd/back-mdb/dn2entry.c +++ b/servers/slapd/back-mdb/dn2entry.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/dn2id.c b/servers/slapd/back-mdb/dn2id.c index 68000ca..06172c2 100644 --- a/servers/slapd/back-mdb/dn2id.c +++ b/servers/slapd/back-mdb/dn2id.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/extended.c b/servers/slapd/back-mdb/extended.c index 9ede8b7..24804ff 100644 --- a/servers/slapd/back-mdb/extended.c +++ b/servers/slapd/back-mdb/extended.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/filterindex.c b/servers/slapd/back-mdb/filterindex.c index 70cb37b..ed67a78 100644 --- a/servers/slapd/back-mdb/filterindex.c +++ b/servers/slapd/back-mdb/filterindex.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/id2entry.c b/servers/slapd/back-mdb/id2entry.c index cfe02f0..bebe07b 100644 --- a/servers/slapd/back-mdb/id2entry.c +++ b/servers/slapd/back-mdb/id2entry.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/idl.c b/servers/slapd/back-mdb/idl.c index c7ffbfa..c433372 100644 --- a/servers/slapd/back-mdb/idl.c +++ b/servers/slapd/back-mdb/idl.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/idl.h b/servers/slapd/back-mdb/idl.h index 1405571..02cfd64 100644 --- a/servers/slapd/back-mdb/idl.h +++ b/servers/slapd/back-mdb/idl.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/index.c b/servers/slapd/back-mdb/index.c index fa9006c..7dcdb71 100644 --- a/servers/slapd/back-mdb/index.c +++ b/servers/slapd/back-mdb/index.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/init.c b/servers/slapd/back-mdb/init.c index 606edbc..02ba8b2 100644 --- a/servers/slapd/back-mdb/init.c +++ b/servers/slapd/back-mdb/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/key.c b/servers/slapd/back-mdb/key.c index b0b453b..d55667f 100644 --- a/servers/slapd/back-mdb/key.c +++ b/servers/slapd/back-mdb/key.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/modify.c b/servers/slapd/back-mdb/modify.c index f2233e8..0da0890 100644 --- a/servers/slapd/back-mdb/modify.c +++ b/servers/slapd/back-mdb/modify.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/modrdn.c b/servers/slapd/back-mdb/modrdn.c index 840812c..41ecb81 100644 --- a/servers/slapd/back-mdb/modrdn.c +++ b/servers/slapd/back-mdb/modrdn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/monitor.c b/servers/slapd/back-mdb/monitor.c index fc77bc6..e8995df 100644 --- a/servers/slapd/back-mdb/monitor.c +++ b/servers/slapd/back-mdb/monitor.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/nextid.c b/servers/slapd/back-mdb/nextid.c index b342b48..4035d01 100644 --- a/servers/slapd/back-mdb/nextid.c +++ b/servers/slapd/back-mdb/nextid.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/operational.c b/servers/slapd/back-mdb/operational.c index e2d4495..a01b8c7 100644 --- a/servers/slapd/back-mdb/operational.c +++ b/servers/slapd/back-mdb/operational.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/proto-mdb.h b/servers/slapd/back-mdb/proto-mdb.h index 58191e1..e24a6a7 100644 --- a/servers/slapd/back-mdb/proto-mdb.h +++ b/servers/slapd/back-mdb/proto-mdb.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/referral.c b/servers/slapd/back-mdb/referral.c index 3164890..ca86f69 100644 --- a/servers/slapd/back-mdb/referral.c +++ b/servers/slapd/back-mdb/referral.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/search.c b/servers/slapd/back-mdb/search.c index a3d629c..880aa1a 100644 --- a/servers/slapd/back-mdb/search.c +++ b/servers/slapd/back-mdb/search.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-mdb/tools.c b/servers/slapd/back-mdb/tools.c index 3a468b2..2a94147 100644 --- a/servers/slapd/back-mdb/tools.c +++ b/servers/slapd/back-mdb/tools.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2011-2022 The OpenLDAP Foundation. + * Copyright 2011-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-meta/Makefile.in b/servers/slapd/back-meta/Makefile.in index 05b7ec7..0279abe 100644 --- a/servers/slapd/back-meta/Makefile.in +++ b/servers/slapd/back-meta/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-meta/add.c b/servers/slapd/back-meta/add.c index ec75db1..10adcd7 100644 --- a/servers/slapd/back-meta/add.c +++ b/servers/slapd/back-meta/add.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -47,15 +47,17 @@ meta_back_add( Operation *op, SlapReply *rs ) int msgid; ldap_back_send_t retrying = LDAP_BACK_RETRYING; LDAPControl **ctrls = NULL; - + SlapReply *candidates = NULL; Debug(LDAP_DEBUG_ARGS, "==> meta_back_add: %s\n", op->o_req_dn.bv_val ); /* * get the current connection */ - mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR ); - if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR ) ) { + candidates = meta_back_candidates_get( op ); + mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR, candidates ); + if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR, candidates ) ) { + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } @@ -181,7 +183,7 @@ retry:; mt->mt_timeout[ SLAP_OP_ADD ], ( LDAP_BACK_SENDRESULT | retrying ) ); if ( rs->sr_err == LDAP_UNAVAILABLE && retrying ) { retrying &= ~LDAP_BACK_RETRYING; - if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR ) ) { + if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR, candidates ) ) { /* if the identity changed, there might be need to re-authz */ (void)mi->mi_ldap_extra->controls_free( op, rs, &ctrls ); goto retry; @@ -205,7 +207,7 @@ done:; if ( mc ) { meta_back_release_conn( mi, mc ); } - + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } diff --git a/servers/slapd/back-meta/back-meta.h b/servers/slapd/back-meta/back-meta.h index 82b2105..c767fa2 100644 --- a/servers/slapd/back-meta/back-meta.h +++ b/servers/slapd/back-meta/back-meta.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -489,7 +489,8 @@ meta_back_getconn( Operation *op, SlapReply *rs, int *candidate, - ldap_back_send_t sendok ); + ldap_back_send_t sendok, + SlapReply *candidates ); extern void meta_back_release_conn_lock( @@ -504,7 +505,8 @@ meta_back_retry( SlapReply *rs, metaconn_t **mcp, int candidate, - ldap_back_send_t sendok ); + ldap_back_send_t sendok, + SlapReply *candidates ); extern void meta_back_conn_free( @@ -538,7 +540,8 @@ meta_back_dobind( Operation *op, SlapReply *rs, metaconn_t *mc, - ldap_back_send_t sendok ); + ldap_back_send_t sendok, + SlapReply *candidates ); extern int meta_back_single_dobind( @@ -625,7 +628,8 @@ meta_back_select_unique_candidate( extern int meta_clear_unused_candidates( Operation *op, - int candidate ); + int candidate, + SlapReply *candidates ); extern int meta_clear_one_candidate( @@ -681,6 +685,9 @@ meta_target_finish( metainfo_t *mi, metatarget_t *mt, const char *log, char *msg, size_t msize ); +extern void +meta_back_target_free( metatarget_t *mt ); + extern LDAP_REBIND_PROC meta_back_default_rebind; extern LDAP_URLLIST_PROC meta_back_default_urllist; diff --git a/servers/slapd/back-meta/bind.c b/servers/slapd/back-meta/bind.c index edfabbb..2fce8dd 100644 --- a/servers/slapd/back-meta/bind.c +++ b/servers/slapd/back-meta/bind.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -89,10 +89,11 @@ meta_back_bind( Operation *op, SlapReply *rs ) return rs->sr_err; } + candidates = meta_back_candidates_get( op ); /* we need meta_back_getconn() not send result even on error, * because we want to intercept the error and make it * invalidCredentials */ - mc = meta_back_getconn( op, rs, NULL, LDAP_BACK_BIND_DONTSEND ); + mc = meta_back_getconn( op, rs, NULL, LDAP_BACK_BIND_DONTSEND, candidates ); if ( !mc ) { Debug(LDAP_DEBUG_ANY, "%s meta_back_bind: no target " "for dn \"%s\" (%d%s%s).\n", @@ -110,11 +111,10 @@ meta_back_bind( Operation *op, SlapReply *rs ) break; } send_ldap_result( op, rs ); + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } - candidates = meta_back_candidates_get( op ); - /* * Each target is scanned ... */ @@ -284,10 +284,12 @@ meta_back_bind( Operation *op, SlapReply *rs ) rs->sr_err = slap_map_api2result( rs ); } send_ldap_result( op, rs ); + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } + op->o_tmpfree( candidates, op->o_tmpmemctx ); return LDAP_SUCCESS; } @@ -672,7 +674,8 @@ meta_back_dobind( Operation *op, SlapReply *rs, metaconn_t *mc, - ldap_back_send_t sendok ) + ldap_back_send_t sendok, + SlapReply *candidates ) { metainfo_t *mi = ( metainfo_t * )op->o_bd->be_private; @@ -680,8 +683,6 @@ meta_back_dobind( i, isroot = 0; - SlapReply *candidates; - if ( be_isroot( op ) ) { isroot = 1; } @@ -704,8 +705,6 @@ meta_back_dobind( goto done; } - candidates = meta_back_candidates_get( op ); - for ( i = 0; i < mi->mi_ntargets; i++ ) { metatarget_t *mt = mi->mi_targets[ i ]; metasingleconn_t *msc = &mc->mc_conns[ i ]; @@ -761,7 +760,7 @@ retry_binding:; if ( rc == LDAP_UNAVAILABLE ) { /* FIXME: meta_back_retry() already re-calls * meta_back_single_dobind() */ - if ( meta_back_retry( op, rs, &mc, i, sendok ) ) { + if ( meta_back_retry( op, rs, &mc, i, sendok, candidates ) ) { goto retry_ok; } diff --git a/servers/slapd/back-meta/candidates.c b/servers/slapd/back-meta/candidates.c index ffb5992..4baae2e 100644 --- a/servers/slapd/back-meta/candidates.c +++ b/servers/slapd/back-meta/candidates.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -222,11 +222,11 @@ meta_back_select_unique_candidate( int meta_clear_unused_candidates( Operation *op, - int candidate ) + int candidate, + SlapReply *candidates ) { metainfo_t *mi = ( metainfo_t * )op->o_bd->be_private; int i; - SlapReply *candidates = meta_back_candidates_get( op ); for ( i = 0; i < mi->mi_ntargets; ++i ) { if ( i == candidate ) { diff --git a/servers/slapd/back-meta/compare.c b/servers/slapd/back-meta/compare.c index f6fd54d..0fdc81c 100644 --- a/servers/slapd/back-meta/compare.c +++ b/servers/slapd/back-meta/compare.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -46,9 +46,12 @@ meta_back_compare( Operation *op, SlapReply *rs ) int msgid; ldap_back_send_t retrying = LDAP_BACK_RETRYING; LDAPControl **ctrls = NULL; + SlapReply *candidates = NULL; - mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR ); - if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR ) ) { + candidates = meta_back_candidates_get( op ); + mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR, candidates ); + if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR, candidates ) ) { + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } @@ -127,7 +130,7 @@ retry:; mt->mt_timeout[ SLAP_OP_COMPARE ], ( LDAP_BACK_SENDRESULT | retrying ) ); if ( rs->sr_err == LDAP_UNAVAILABLE && retrying ) { retrying &= ~LDAP_BACK_RETRYING; - if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR ) ) { + if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR, candidates ) ) { /* if the identity changed, there might be need to re-authz */ (void)mi->mi_ldap_extra->controls_free( op, rs, &ctrls ); goto retry; @@ -149,6 +152,7 @@ cleanup:; meta_back_release_conn( mi, mc ); } + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } diff --git a/servers/slapd/back-meta/config.c b/servers/slapd/back-meta/config.c index 6b1e607..8b2cdbe 100644 --- a/servers/slapd/back-meta/config.c +++ b/servers/slapd/back-meta/config.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -565,16 +565,10 @@ meta_rwi_init( struct rewrite_info **rwm_rw ) static int meta_back_new_target( - metatarget_t **mtp ) + metatarget_t *mt ) { - metatarget_t *mt; - - *mtp = NULL; - - mt = ch_calloc( sizeof( metatarget_t ), 1 ); if ( meta_rwi_init( &mt->mt_rwmap.rwm_rw )) { - ch_free( mt ); return -1; } @@ -587,8 +581,6 @@ meta_back_new_target( /* by default, use proxyAuthz control on each operation */ mt->mt_idassert_flags = LDAP_BACK_AUTH_PRESCRIPTIVE; - *mtp = mt; - return 0; } @@ -1960,7 +1952,6 @@ meta_back_cf_gen( ConfigArgs *c ) LDAPURLDesc *ludp; struct berval dn; int j; - char **uris = NULL; if ( c->be->be_nsuffix == NULL ) { @@ -1970,39 +1961,17 @@ meta_back_cf_gen( ConfigArgs *c ) return 1; } - i = mi->mi_ntargets++; - - mi->mi_targets = ( metatarget_t ** )ch_realloc( mi->mi_targets, - sizeof( metatarget_t * ) * mi->mi_ntargets ); - if ( mi->mi_targets == NULL ) { - snprintf( c->cr_msg, sizeof( c->cr_msg ), - "out of memory while storing server name" - " in \"%s ://[:port]/\"", - c->argv[0] ); - Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); - return 1; - } - - if ( meta_back_new_target( &mi->mi_targets[ i ] ) != 0 ) { + mt = ch_calloc( sizeof( metatarget_t ), 1 ); + if ( meta_back_new_target( mt ) != 0 ) { snprintf( c->cr_msg, sizeof( c->cr_msg ), "unable to init server" " in \"%s ://[:port]/\"", c->argv[0] ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); + meta_back_target_free( mt ); return 1; } - mt = mi->mi_targets[ i ]; - - mt->mt_rebind_f = mi->mi_rebind_f; - mt->mt_urllist_f = mi->mi_urllist_f; - mt->mt_urllist_p = mt; - - if ( META_BACK_QUARANTINE( mi ) ) { - ldap_pvt_thread_mutex_init( &mt->mt_quarantine_mutex ); - } - mt->mt_mc = mi->mi_mc; - for ( j = 1; j < c->argc; j++ ) { char **tmpuris = ldap_str2charray( c->argv[ j ], "\t" ); @@ -2012,6 +1981,7 @@ meta_back_cf_gen( ConfigArgs *c ) " in \"%s ://[:port]/\"", j-1, c->argv[0] ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); + meta_back_target_free( mt ); return 1; } @@ -2040,6 +2010,7 @@ meta_back_cf_gen( ConfigArgs *c ) j-1, c->argv[0] ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_charray_free( uris ); + meta_back_target_free( mt ); return 1; } @@ -2056,6 +2027,7 @@ meta_back_cf_gen( ConfigArgs *c ) Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_free_urllist( ludp ); ldap_charray_free( uris ); + meta_back_target_free( mt ); return 1; } @@ -2072,6 +2044,7 @@ meta_back_cf_gen( ConfigArgs *c ) Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_free_urllist( ludp ); ldap_charray_free( uris ); + meta_back_target_free( mt ); return( 1 ); } @@ -2094,6 +2067,7 @@ meta_back_cf_gen( ConfigArgs *c ) Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_free_urllist( ludp ); ldap_charray_free( uris ); + meta_back_target_free( mt ); return( 1 ); } @@ -2105,6 +2079,7 @@ meta_back_cf_gen( ConfigArgs *c ) Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_free_urllist( ludp ); ldap_charray_free( uris ); + meta_back_target_free( mt ); return( 1 ); } @@ -2116,6 +2091,7 @@ meta_back_cf_gen( ConfigArgs *c ) snprintf( c->cr_msg, sizeof( c->cr_msg ), "no memory?" ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); ldap_charray_free( uris ); + meta_back_target_free( mt ); return( 1 ); } ldap_memfree( uris[ j ] ); @@ -2127,6 +2103,7 @@ meta_back_cf_gen( ConfigArgs *c ) if ( mt->mt_uri == NULL) { snprintf( c->cr_msg, sizeof( c->cr_msg ), "no memory?" ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); + meta_back_target_free( mt ); return( 1 ); } @@ -2143,8 +2120,34 @@ meta_back_cf_gen( ConfigArgs *c ) snprintf( c->cr_msg, sizeof( c->cr_msg ), " of URI must be within the naming context of this database." ); Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); + meta_back_target_free( mt ); return 1; } + + i = mi->mi_ntargets++; + + mi->mi_targets = ( metatarget_t ** )ch_realloc( mi->mi_targets, + sizeof( metatarget_t * ) * mi->mi_ntargets ); + if ( mi->mi_targets == NULL ) { + snprintf( c->cr_msg, sizeof( c->cr_msg ), + "out of memory while storing server name" + " in \"%s ://[:port]/\"", + c->argv[0] ); + Debug( LDAP_DEBUG_ANY, "%s: %s.\n", c->log, c->cr_msg ); + meta_back_target_free( mt ); + return 1; + } + + mi->mi_targets[i] = mt; + mt->mt_rebind_f = mi->mi_rebind_f; + mt->mt_urllist_f = mi->mi_urllist_f; + mt->mt_urllist_p = mt; + + if ( META_BACK_QUARANTINE( mi ) ) { + ldap_pvt_thread_mutex_init( &mt->mt_quarantine_mutex ); + } + + mt->mt_mc = mi->mi_mc; c->ca_private = mt; config_push_cleanup( c, meta_cf_cleanup ); } break; diff --git a/servers/slapd/back-meta/conn.c b/servers/slapd/back-meta/conn.c index 91fdad3..f9a1f23 100644 --- a/servers/slapd/back-meta/conn.c +++ b/servers/slapd/back-meta/conn.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -699,7 +699,8 @@ meta_back_retry( SlapReply *rs, metaconn_t **mcp, int candidate, - ldap_back_send_t sendok ) + ldap_back_send_t sendok, + SlapReply *candidates ) { metainfo_t *mi = ( metainfo_t * )op->o_bd->be_private; metatarget_t *mt = mi->mi_targets[ candidate ]; @@ -971,64 +972,14 @@ meta_back_get_candidate( return candidate; } -static void *meta_back_candidates_dummy; - -static void -meta_back_candidates_keyfree( - void *key, - void *data ) -{ - metacandidates_t *mc = (metacandidates_t *)data; - - ber_memfree_x( mc->mc_candidates, NULL ); - ber_memfree_x( data, NULL ); -} - SlapReply * meta_back_candidates_get( Operation *op ) { metainfo_t *mi = ( metainfo_t * )op->o_bd->be_private; - metacandidates_t *mc; - - if ( op->o_threadctx ) { - void *data = NULL; - - ldap_pvt_thread_pool_getkey( op->o_threadctx, - &meta_back_candidates_dummy, &data, NULL ); - mc = (metacandidates_t *)data; + SlapReply *candidates; - } else { - mc = mi->mi_candidates; - } - - if ( mc == NULL ) { - mc = ch_calloc( sizeof( metacandidates_t ), 1 ); - mc->mc_ntargets = mi->mi_ntargets; - mc->mc_candidates = ch_calloc( sizeof( SlapReply ), mc->mc_ntargets ); - if ( op->o_threadctx ) { - void *data = NULL; - - data = (void *)mc; - ldap_pvt_thread_pool_setkey( op->o_threadctx, - &meta_back_candidates_dummy, data, - meta_back_candidates_keyfree, - NULL, NULL ); - - } else { - mi->mi_candidates = mc; - } - - } else if ( mc->mc_ntargets < mi->mi_ntargets ) { - /* NOTE: in the future, may want to allow back-config - * to add/remove targets from back-meta... */ - mc->mc_candidates = ch_realloc( mc->mc_candidates, - sizeof( SlapReply ) * mi->mi_ntargets ); - memset( &mc->mc_candidates[ mc->mc_ntargets ], 0, - sizeof( SlapReply ) * ( mi->mi_ntargets - mc->mc_ntargets ) ); - mc->mc_ntargets = mi->mi_ntargets; - } - - return mc->mc_candidates; + candidates = op->o_tmpcalloc( mi->mi_ntargets, sizeof( SlapReply ), op->o_tmpmemctx ); + return candidates; } /* @@ -1066,10 +1017,11 @@ meta_back_candidates_get( Operation *op ) */ metaconn_t * meta_back_getconn( - Operation *op, + Operation *op, SlapReply *rs, int *candidate, - ldap_back_send_t sendok ) + ldap_back_send_t sendok, + SlapReply *candidates ) { metainfo_t *mi = ( metainfo_t * )op->o_bd->be_private; metaconn_t *mc = NULL, @@ -1090,8 +1042,6 @@ meta_back_getconn( struct berval ndn = op->o_req_ndn, pndn; - SlapReply *candidates = meta_back_candidates_get( op ); - /* Internal searches are privileged and shared. So is root. */ if ( ( !BER_BVISEMPTY( &op->o_ndn ) && META_BACK_PROXYAUTHZ_ALWAYS( mi ) ) || ( BER_BVISEMPTY( &op->o_ndn ) && META_BACK_PROXYAUTHZ_ANON( mi ) ) @@ -1474,7 +1424,7 @@ retry_lock2:; /* * Clear all other candidates */ - ( void )meta_clear_unused_candidates( op, i ); + ( void )meta_clear_unused_candidates( op, i, candidates ); mt = mi->mi_targets[ i ]; msc = &mc->mc_conns[ i ]; diff --git a/servers/slapd/back-meta/delete.c b/servers/slapd/back-meta/delete.c index bec437a..6174e44 100644 --- a/servers/slapd/back-meta/delete.c +++ b/servers/slapd/back-meta/delete.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -43,9 +43,12 @@ meta_back_delete( Operation *op, SlapReply *rs ) int msgid; ldap_back_send_t retrying = LDAP_BACK_RETRYING; LDAPControl **ctrls = NULL; + SlapReply *candidates = NULL; - mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR ); - if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR ) ) { + candidates = meta_back_candidates_get( op ); + mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR, candidates ); + if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR, candidates ) ) { + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } @@ -79,7 +82,7 @@ retry:; mt->mt_timeout[ SLAP_OP_DELETE ], ( LDAP_BACK_SENDRESULT | retrying ) ); if ( rs->sr_err == LDAP_UNAVAILABLE && retrying ) { retrying &= ~LDAP_BACK_RETRYING; - if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR ) ) { + if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR, candidates ) ) { /* if the identity changed, there might be need to re-authz */ (void)mi->mi_ldap_extra->controls_free( op, rs, &ctrls ); goto retry; @@ -98,6 +101,7 @@ cleanup:; meta_back_release_conn( mi, mc ); } + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } diff --git a/servers/slapd/back-meta/dncache.c b/servers/slapd/back-meta/dncache.c index a3e7958..2781b8c 100644 --- a/servers/slapd/back-meta/dncache.c +++ b/servers/slapd/back-meta/dncache.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. diff --git a/servers/slapd/back-meta/init.c b/servers/slapd/back-meta/init.c index 8639109..08890a7 100644 --- a/servers/slapd/back-meta/init.c +++ b/servers/slapd/back-meta/init.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -326,8 +326,8 @@ meta_back_map_free( struct ldapmap *lm ) lm->map = NULL; } -static void -target_free( +void +meta_back_target_free( metatarget_t *mt ) { if ( mt->mt_uri ) { @@ -433,7 +433,7 @@ meta_back_db_destroy( ldap_pvt_thread_mutex_destroy( &mt->mt_quarantine_mutex ); } - target_free( mt ); + meta_back_target_free( mt ); } free( mi->mi_targets ); diff --git a/servers/slapd/back-meta/map.c b/servers/slapd/back-meta/map.c index 6591341..b606d70 100644 --- a/servers/slapd/back-meta/map.c +++ b/servers/slapd/back-meta/map.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-meta/modify.c b/servers/slapd/back-meta/modify.c index 459e835..9485eee 100644 --- a/servers/slapd/back-meta/modify.c +++ b/servers/slapd/back-meta/modify.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -49,9 +49,12 @@ meta_back_modify( Operation *op, SlapReply *rs ) int msgid; ldap_back_send_t retrying = LDAP_BACK_RETRYING; LDAPControl **ctrls = NULL; + SlapReply *candidates = NULL; - mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR ); - if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR ) ) { + candidates = meta_back_candidates_get( op ); + mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR, candidates ); + if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR, candidates ) ) { + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } @@ -180,7 +183,7 @@ retry:; mt->mt_timeout[ SLAP_OP_MODIFY ], ( LDAP_BACK_SENDRESULT | retrying ) ); if ( rs->sr_err == LDAP_UNAVAILABLE && retrying ) { retrying &= ~LDAP_BACK_RETRYING; - if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR ) ) { + if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR, candidates ) ) { /* if the identity changed, there might be need to re-authz */ (void)mi->mi_ldap_extra->controls_free( op, rs, &ctrls ); goto retry; @@ -205,6 +208,7 @@ cleanup:; meta_back_release_conn( mi, mc ); } + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } diff --git a/servers/slapd/back-meta/modrdn.c b/servers/slapd/back-meta/modrdn.c index cf6e1be..818ac37 100644 --- a/servers/slapd/back-meta/modrdn.c +++ b/servers/slapd/back-meta/modrdn.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -45,9 +45,12 @@ meta_back_modrdn( Operation *op, SlapReply *rs ) ldap_back_send_t retrying = LDAP_BACK_RETRYING; LDAPControl **ctrls = NULL; struct berval newrdn = BER_BVNULL; + SlapReply *candidates = NULL; - mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR ); - if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR ) ) { + candidates = meta_back_candidates_get( op ); + mc = meta_back_getconn( op, rs, &candidate, LDAP_BACK_SENDERR, candidates ); + if ( !mc || !meta_back_dobind( op, rs, mc, LDAP_BACK_SENDERR, candidates ) ) { + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } @@ -142,7 +145,7 @@ retry:; mt->mt_timeout[ SLAP_OP_MODRDN ], ( LDAP_BACK_SENDRESULT | retrying ) ); if ( rs->sr_err == LDAP_UNAVAILABLE && retrying ) { retrying &= ~LDAP_BACK_RETRYING; - if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR ) ) { + if ( meta_back_retry( op, rs, &mc, candidate, LDAP_BACK_SENDERR, candidates ) ) { /* if the identity changed, there might be need to re-authz */ (void)mi->mi_ldap_extra->controls_free( op, rs, &ctrls ); goto retry; @@ -172,6 +175,7 @@ cleanup:; meta_back_release_conn( mi, mc ); } + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } diff --git a/servers/slapd/back-meta/proto-meta.h b/servers/slapd/back-meta/proto-meta.h index f6c16b2..e299ce3 100644 --- a/servers/slapd/back-meta/proto-meta.h +++ b/servers/slapd/back-meta/proto-meta.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. diff --git a/servers/slapd/back-meta/search.c b/servers/slapd/back-meta/search.c index cfd2f4b..fd4407d 100644 --- a/servers/slapd/back-meta/search.c +++ b/servers/slapd/back-meta/search.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. @@ -177,7 +177,6 @@ meta_search_dobind_init( /* NOTE: this obsoletes pseudorootdn */ if ( op->o_conn != NULL && - !op->o_do_not_cache && ( BER_BVISNULL( &msc->msc_bound_ndn ) || BER_BVISEMPTY( &msc->msc_bound_ndn ) || ( mt->mt_idassert_flags & LDAP_BACK_AUTH_OVERRIDE ) ) ) @@ -723,7 +722,7 @@ retry:; break; case LDAP_SERVER_DOWN: - if ( nretries && meta_back_retry( op, rs, mcp, candidate, LDAP_BACK_DONTSEND ) ) { + if ( nretries && meta_back_retry( op, rs, mcp, candidate, LDAP_BACK_DONTSEND, candidates ) ) { nretries = 0; /* if the identity changed, there might be need to re-authz */ (void)mi->mi_ldap_extra->controls_free( op, rs, &ctrls ); @@ -799,8 +798,9 @@ meta_back_search( Operation *op, SlapReply *rs ) * FIXME: in case of values return filter, we might want * to map attrs and maybe rewrite value */ + candidates = meta_back_candidates_get( op ); getconn:; - mc = meta_back_getconn( op, rs, NULL, sendok ); + mc = meta_back_getconn( op, rs, NULL, sendok, candidates ); if ( !mc ) { return rs->sr_err; } @@ -808,7 +808,6 @@ getconn:; dc.conn = op->o_conn; dc.rs = rs; - if ( candidates == NULL ) candidates = meta_back_candidates_get( op ); /* * Inits searches */ @@ -1147,7 +1146,7 @@ really_bad:; if ( candidates[ i ].sr_type == REP_INTERMEDIATE ) { candidates[ i ].sr_type = REP_RESULT; - if ( meta_back_retry( op, rs, &mc, i, LDAP_BACK_DONTSEND ) ) { + if ( meta_back_retry( op, rs, &mc, i, LDAP_BACK_DONTSEND, candidates ) ) { candidates[ i ].sr_msgid = META_MSGID_IGNORE; switch ( meta_back_search_start( op, rs, &dc, &mc, i, candidates, NULL, 0 ) ) { @@ -1998,6 +1997,7 @@ finish:; ldap_pvt_thread_mutex_unlock( &mi->mi_conninfo.lai_mutex ); } + op->o_tmpfree( candidates, op->o_tmpmemctx ); return rs->sr_err; } diff --git a/servers/slapd/back-meta/suffixmassage.c b/servers/slapd/back-meta/suffixmassage.c index 8d0b5e7..26be544 100644 --- a/servers/slapd/back-meta/suffixmassage.c +++ b/servers/slapd/back-meta/suffixmassage.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-meta/unbind.c b/servers/slapd/back-meta/unbind.c index 6c2928d..2c5720b 100644 --- a/servers/slapd/back-meta/unbind.c +++ b/servers/slapd/back-meta/unbind.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * Portions Copyright 1999-2003 Howard Chu. * All rights reserved. diff --git a/servers/slapd/back-monitor/Makefile.in b/servers/slapd/back-monitor/Makefile.in index e3b30a0..426365d 100644 --- a/servers/slapd/back-monitor/Makefile.in +++ b/servers/slapd/back-monitor/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-monitor/back-monitor.h b/servers/slapd/back-monitor/back-monitor.h index 27966d7..30851af 100644 --- a/servers/slapd/back-monitor/back-monitor.h +++ b/servers/slapd/back-monitor/back-monitor.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/backend.c b/servers/slapd/back-monitor/backend.c index d3afdf1..fc428a7 100644 --- a/servers/slapd/back-monitor/backend.c +++ b/servers/slapd/back-monitor/backend.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/bind.c b/servers/slapd/back-monitor/bind.c index 718c001..f9b9166 100644 --- a/servers/slapd/back-monitor/bind.c +++ b/servers/slapd/back-monitor/bind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/cache.c b/servers/slapd/back-monitor/cache.c index 990c88e..8598f87 100644 --- a/servers/slapd/back-monitor/cache.c +++ b/servers/slapd/back-monitor/cache.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/compare.c b/servers/slapd/back-monitor/compare.c index e17b4f1..21cbeb9 100644 --- a/servers/slapd/back-monitor/compare.c +++ b/servers/slapd/back-monitor/compare.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/conn.c b/servers/slapd/back-monitor/conn.c index adfb626..2c24708 100644 --- a/servers/slapd/back-monitor/conn.c +++ b/servers/slapd/back-monitor/conn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/database.c b/servers/slapd/back-monitor/database.c index dc1100d..d2aec13 100644 --- a/servers/slapd/back-monitor/database.c +++ b/servers/slapd/back-monitor/database.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/entry.c b/servers/slapd/back-monitor/entry.c index 027dcc3..d83f9c9 100644 --- a/servers/slapd/back-monitor/entry.c +++ b/servers/slapd/back-monitor/entry.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/init.c b/servers/slapd/back-monitor/init.c index af79fb4..84e59a9 100644 --- a/servers/slapd/back-monitor/init.c +++ b/servers/slapd/back-monitor/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/listener.c b/servers/slapd/back-monitor/listener.c index 18e5d01..63ab3b9 100644 --- a/servers/slapd/back-monitor/listener.c +++ b/servers/slapd/back-monitor/listener.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/log.c b/servers/slapd/back-monitor/log.c index c3d7d53..c8e56bf 100644 --- a/servers/slapd/back-monitor/log.c +++ b/servers/slapd/back-monitor/log.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/modify.c b/servers/slapd/back-monitor/modify.c index bc6543f..c0567fc 100644 --- a/servers/slapd/back-monitor/modify.c +++ b/servers/slapd/back-monitor/modify.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/operation.c b/servers/slapd/back-monitor/operation.c index 921ee95..c850772 100644 --- a/servers/slapd/back-monitor/operation.c +++ b/servers/slapd/back-monitor/operation.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/operational.c b/servers/slapd/back-monitor/operational.c index 994b254..cb07c80 100644 --- a/servers/slapd/back-monitor/operational.c +++ b/servers/slapd/back-monitor/operational.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/overlay.c b/servers/slapd/back-monitor/overlay.c index aac6767..ab631db 100644 --- a/servers/slapd/back-monitor/overlay.c +++ b/servers/slapd/back-monitor/overlay.c @@ -1,7 +1,7 @@ /* overlay.c - deals with overlay subsystem */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/proto-back-monitor.h b/servers/slapd/back-monitor/proto-back-monitor.h index 662ac6d..71e0834 100644 --- a/servers/slapd/back-monitor/proto-back-monitor.h +++ b/servers/slapd/back-monitor/proto-back-monitor.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/rww.c b/servers/slapd/back-monitor/rww.c index db1b318..90c09b2 100644 --- a/servers/slapd/back-monitor/rww.c +++ b/servers/slapd/back-monitor/rww.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/search.c b/servers/slapd/back-monitor/search.c index f58ff11..9a0653d 100644 --- a/servers/slapd/back-monitor/search.c +++ b/servers/slapd/back-monitor/search.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/sent.c b/servers/slapd/back-monitor/sent.c index 24cc3b6..a99136e 100644 --- a/servers/slapd/back-monitor/sent.c +++ b/servers/slapd/back-monitor/sent.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/thread.c b/servers/slapd/back-monitor/thread.c index a29a875..d79eeb3 100644 --- a/servers/slapd/back-monitor/thread.c +++ b/servers/slapd/back-monitor/thread.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-monitor/time.c b/servers/slapd/back-monitor/time.c index 53e0ac6..92041af 100644 --- a/servers/slapd/back-monitor/time.c +++ b/servers/slapd/back-monitor/time.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * Portions Copyright 2001-2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-null/Makefile.in b/servers/slapd/back-null/Makefile.in index 707c780..1ef6116 100644 --- a/servers/slapd/back-null/Makefile.in +++ b/servers/slapd/back-null/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-null/null.c b/servers/slapd/back-null/null.c index c8d3292..04f5447 100644 --- a/servers/slapd/back-null/null.c +++ b/servers/slapd/back-null/null.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-passwd/Makefile.in b/servers/slapd/back-passwd/Makefile.in index 937cf88..91ea524 100644 --- a/servers/slapd/back-passwd/Makefile.in +++ b/servers/slapd/back-passwd/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-passwd/back-passwd.h b/servers/slapd/back-passwd/back-passwd.h index d1957cc..f697702 100644 --- a/servers/slapd/back-passwd/back-passwd.h +++ b/servers/slapd/back-passwd/back-passwd.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-passwd/config.c b/servers/slapd/back-passwd/config.c index 9168e4b..116283f 100644 --- a/servers/slapd/back-passwd/config.c +++ b/servers/slapd/back-passwd/config.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-passwd/init.c b/servers/slapd/back-passwd/init.c index b855c15..c0ed3f6 100644 --- a/servers/slapd/back-passwd/init.c +++ b/servers/slapd/back-passwd/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-passwd/proto-passwd.h b/servers/slapd/back-passwd/proto-passwd.h index 96bc73e..1ff8482 100644 --- a/servers/slapd/back-passwd/proto-passwd.h +++ b/servers/slapd/back-passwd/proto-passwd.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-passwd/search.c b/servers/slapd/back-passwd/search.c index 19d847c..6354e39 100644 --- a/servers/slapd/back-passwd/search.c +++ b/servers/slapd/back-passwd/search.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-perl/Makefile.in b/servers/slapd/back-perl/Makefile.in index 3fed1e3..1f27e55 100644 --- a/servers/slapd/back-perl/Makefile.in +++ b/servers/slapd/back-perl/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## Portions Copyright 1999 John C. Quillan. ## All rights reserved. ## diff --git a/servers/slapd/back-perl/SampleLDAP.pm b/servers/slapd/back-perl/SampleLDAP.pm index 91e9ae3..3746fce 100644 --- a/servers/slapd/back-perl/SampleLDAP.pm +++ b/servers/slapd/back-perl/SampleLDAP.pm @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## Portions Copyright 1999 John C. Quillan. ## All rights reserved. ## diff --git a/servers/slapd/back-perl/add.c b/servers/slapd/back-perl/add.c index 2e6cd5c..3e64f34 100644 --- a/servers/slapd/back-perl/add.c +++ b/servers/slapd/back-perl/add.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/asperl_undefs.h b/servers/slapd/back-perl/asperl_undefs.h index 80a9243..874d4dc 100644 --- a/servers/slapd/back-perl/asperl_undefs.h +++ b/servers/slapd/back-perl/asperl_undefs.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-perl/bind.c b/servers/slapd/back-perl/bind.c index 915c911..1f4220f 100644 --- a/servers/slapd/back-perl/bind.c +++ b/servers/slapd/back-perl/bind.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/close.c b/servers/slapd/back-perl/close.c index 88b0a2f..e380b3b 100644 --- a/servers/slapd/back-perl/close.c +++ b/servers/slapd/back-perl/close.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/compare.c b/servers/slapd/back-perl/compare.c index 08e62c9..83ee631 100644 --- a/servers/slapd/back-perl/compare.c +++ b/servers/slapd/back-perl/compare.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/config.c b/servers/slapd/back-perl/config.c index 21f198b..e9f56cf 100644 --- a/servers/slapd/back-perl/config.c +++ b/servers/slapd/back-perl/config.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/delete.c b/servers/slapd/back-perl/delete.c index 68c1b3a..c18c27b 100644 --- a/servers/slapd/back-perl/delete.c +++ b/servers/slapd/back-perl/delete.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/init.c b/servers/slapd/back-perl/init.c index 644c855..2e80ecc 100644 --- a/servers/slapd/back-perl/init.c +++ b/servers/slapd/back-perl/init.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/modify.c b/servers/slapd/back-perl/modify.c index 94fed62..43dfb76 100644 --- a/servers/slapd/back-perl/modify.c +++ b/servers/slapd/back-perl/modify.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/modrdn.c b/servers/slapd/back-perl/modrdn.c index 4f2dc81..c47bcf2 100644 --- a/servers/slapd/back-perl/modrdn.c +++ b/servers/slapd/back-perl/modrdn.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/perl_back.h b/servers/slapd/back-perl/perl_back.h index 9446c2d..ec07e6d 100644 --- a/servers/slapd/back-perl/perl_back.h +++ b/servers/slapd/back-perl/perl_back.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/proto-perl.h b/servers/slapd/back-perl/proto-perl.h index b6cb387..46491c1 100644 --- a/servers/slapd/back-perl/proto-perl.h +++ b/servers/slapd/back-perl/proto-perl.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-perl/search.c b/servers/slapd/back-perl/search.c index 7566b06..86e8bc3 100644 --- a/servers/slapd/back-perl/search.c +++ b/servers/slapd/back-perl/search.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 John C. Quillan. * Portions Copyright 2002 myinternet Limited. * All rights reserved. diff --git a/servers/slapd/back-relay/Makefile.in b/servers/slapd/back-relay/Makefile.in index 5f111bc..1bca50b 100644 --- a/servers/slapd/back-relay/Makefile.in +++ b/servers/slapd/back-relay/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-relay/back-relay.h b/servers/slapd/back-relay/back-relay.h index e5c0e17..a458f42 100644 --- a/servers/slapd/back-relay/back-relay.h +++ b/servers/slapd/back-relay/back-relay.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-relay/init.c b/servers/slapd/back-relay/init.c index efad958..f1fb6c3 100644 --- a/servers/slapd/back-relay/init.c +++ b/servers/slapd/back-relay/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-relay/op.c b/servers/slapd/back-relay/op.c index 40e9e88..078001b 100644 --- a/servers/slapd/back-relay/op.c +++ b/servers/slapd/back-relay/op.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-relay/proto-back-relay.h b/servers/slapd/back-relay/proto-back-relay.h index 854be4e..7c11ff4 100644 --- a/servers/slapd/back-relay/proto-back-relay.h +++ b/servers/slapd/back-relay/proto-back-relay.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/back-sock/Makefile.in b/servers/slapd/back-sock/Makefile.in index 1db07bf..7930cbe 100644 --- a/servers/slapd/back-sock/Makefile.in +++ b/servers/slapd/back-sock/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2007-2022 The OpenLDAP Foundation. +## Copyright 2007-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/add.c b/servers/slapd/back-sock/add.c index 0e96d95..5566779 100644 --- a/servers/slapd/back-sock/add.c +++ b/servers/slapd/back-sock/add.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/back-sock.h b/servers/slapd/back-sock/back-sock.h index 55dbe75..31f1c25 100644 --- a/servers/slapd/back-sock/back-sock.h +++ b/servers/slapd/back-sock/back-sock.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/bind.c b/servers/slapd/back-sock/bind.c index 8e8ec97..87bf15b 100644 --- a/servers/slapd/back-sock/bind.c +++ b/servers/slapd/back-sock/bind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/compare.c b/servers/slapd/back-sock/compare.c index 735e688..f13a90d 100644 --- a/servers/slapd/back-sock/compare.c +++ b/servers/slapd/back-sock/compare.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/config.c b/servers/slapd/back-sock/config.c index e6d3183..c23e20a 100644 --- a/servers/slapd/back-sock/config.c +++ b/servers/slapd/back-sock/config.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/delete.c b/servers/slapd/back-sock/delete.c index 89a268f..ce0aa55 100644 --- a/servers/slapd/back-sock/delete.c +++ b/servers/slapd/back-sock/delete.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/extended.c b/servers/slapd/back-sock/extended.c index e065761..8c4e06e 100644 --- a/servers/slapd/back-sock/extended.c +++ b/servers/slapd/back-sock/extended.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/init.c b/servers/slapd/back-sock/init.c index 02b7bc8..963229c 100644 --- a/servers/slapd/back-sock/init.c +++ b/servers/slapd/back-sock/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/modify.c b/servers/slapd/back-sock/modify.c index a5ec012..b7ebceb 100644 --- a/servers/slapd/back-sock/modify.c +++ b/servers/slapd/back-sock/modify.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/modrdn.c b/servers/slapd/back-sock/modrdn.c index c5a9195..61967f6 100644 --- a/servers/slapd/back-sock/modrdn.c +++ b/servers/slapd/back-sock/modrdn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/opensock.c b/servers/slapd/back-sock/opensock.c index 9b4826d..838f909 100644 --- a/servers/slapd/back-sock/opensock.c +++ b/servers/slapd/back-sock/opensock.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/proto-sock.h b/servers/slapd/back-sock/proto-sock.h index 0808329..7a2a2e2 100644 --- a/servers/slapd/back-sock/proto-sock.h +++ b/servers/slapd/back-sock/proto-sock.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/result.c b/servers/slapd/back-sock/result.c index 55a4060..f4b366f 100644 --- a/servers/slapd/back-sock/result.c +++ b/servers/slapd/back-sock/result.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/search.c b/servers/slapd/back-sock/search.c index 9812e99..44cc130 100644 --- a/servers/slapd/back-sock/search.c +++ b/servers/slapd/back-sock/search.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/searchexample.conf b/servers/slapd/back-sock/searchexample.conf index 842d6aa..2b1b320 100644 --- a/servers/slapd/back-sock/searchexample.conf +++ b/servers/slapd/back-sock/searchexample.conf @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2007-2022 The OpenLDAP Foundation. +## Copyright 2007-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/searchexample.pl b/servers/slapd/back-sock/searchexample.pl index f867005..f600025 100644 --- a/servers/slapd/back-sock/searchexample.pl +++ b/servers/slapd/back-sock/searchexample.pl @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2007-2022 The OpenLDAP Foundation. +## Copyright 2007-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sock/unbind.c b/servers/slapd/back-sock/unbind.c index 0b349e1..8fef2f3 100644 --- a/servers/slapd/back-sock/unbind.c +++ b/servers/slapd/back-sock/unbind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2007-2022 The OpenLDAP Foundation. + * Copyright 2007-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sql/Makefile.in b/servers/slapd/back-sql/Makefile.in index b90bb31..b0fc537 100644 --- a/servers/slapd/back-sql/Makefile.in +++ b/servers/slapd/back-sql/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-sql/add.c b/servers/slapd/back-sql/add.c index 3098521..15bf504 100644 --- a/servers/slapd/back-sql/add.c +++ b/servers/slapd/back-sql/add.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * Portions Copyright 2004 Mark Adamson. diff --git a/servers/slapd/back-sql/api.c b/servers/slapd/back-sql/api.c index 7ef1d9f..699d09a 100644 --- a/servers/slapd/back-sql/api.c +++ b/servers/slapd/back-sql/api.c @@ -1,6 +1,6 @@ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-sql/back-sql.h b/servers/slapd/back-sql/back-sql.h index 556ea6f..4abbad3 100644 --- a/servers/slapd/back-sql/back-sql.h +++ b/servers/slapd/back-sql/back-sql.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Mararati. * Portions Copyright 2004 Mark Adamson. diff --git a/servers/slapd/back-sql/bind.c b/servers/slapd/back-sql/bind.c index ac78fc8..8c106d0 100644 --- a/servers/slapd/back-sql/bind.c +++ b/servers/slapd/back-sql/bind.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-sql/compare.c b/servers/slapd/back-sql/compare.c index d457085..3d87d6c 100644 --- a/servers/slapd/back-sql/compare.c +++ b/servers/slapd/back-sql/compare.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-sql/config.c b/servers/slapd/back-sql/config.c index 51a6be3..e97eefa 100644 --- a/servers/slapd/back-sql/config.c +++ b/servers/slapd/back-sql/config.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * Portions Copyright 2004 Mark Adamson. diff --git a/servers/slapd/back-sql/delete.c b/servers/slapd/back-sql/delete.c index 489d4d3..14b9f9c 100644 --- a/servers/slapd/back-sql/delete.c +++ b/servers/slapd/back-sql/delete.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-sql/entry-id.c b/servers/slapd/back-sql/entry-id.c index c2d78a7..54f97e4 100644 --- a/servers/slapd/back-sql/entry-id.c +++ b/servers/slapd/back-sql/entry-id.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * Portions Copyright 2004 Mark Adamson. diff --git a/servers/slapd/back-sql/init.c b/servers/slapd/back-sql/init.c index 1b45f8f..633b5df 100644 --- a/servers/slapd/back-sql/init.c +++ b/servers/slapd/back-sql/init.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-sql/modify.c b/servers/slapd/back-sql/modify.c index 83afec3..9980b46 100644 --- a/servers/slapd/back-sql/modify.c +++ b/servers/slapd/back-sql/modify.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-sql/modrdn.c b/servers/slapd/back-sql/modrdn.c index 39114b3..0ee82d4 100644 --- a/servers/slapd/back-sql/modrdn.c +++ b/servers/slapd/back-sql/modrdn.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-sql/operational.c b/servers/slapd/back-sql/operational.c index 3eb1ec2..d252164 100644 --- a/servers/slapd/back-sql/operational.c +++ b/servers/slapd/back-sql/operational.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-sql/proto-sql.h b/servers/slapd/back-sql/proto-sql.h index 169be76..c1e4575 100644 --- a/servers/slapd/back-sql/proto-sql.h +++ b/servers/slapd/back-sql/proto-sql.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Mararati. * All rights reserved. diff --git a/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/Makefile b/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/Makefile index 1b0b1ee..f9c2b66 100644 --- a/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/Makefile +++ b/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/Makefile @@ -1,4 +1,4 @@ -## Copyright 1997-2022 The OpenLDAP Foundation, All Rights Reserved. +## Copyright 1997-2024 The OpenLDAP Foundation, All Rights Reserved. ## COPYING RESTRICTIONS APPLY, see COPYRIGHT file # diff --git a/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/dnreverse.cpp b/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/dnreverse.cpp index 7407b4e..5fad825 100644 --- a/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/dnreverse.cpp +++ b/servers/slapd/back-sql/rdbms_depend/timesten/dnreverse/dnreverse.cpp @@ -1,4 +1,4 @@ -// Copyright 1997-2022 The OpenLDAP Foundation, All Rights Reserved. +// Copyright 1997-2024 The OpenLDAP Foundation, All Rights Reserved. // COPYING RESTRICTIONS APPLY, see COPYRIGHT file // (c) Copyright 1999-2001 TimesTen Performance Software. All rights reserved. diff --git a/servers/slapd/back-sql/schema-map.c b/servers/slapd/back-sql/schema-map.c index f6294bb..7e56762 100644 --- a/servers/slapd/back-sql/schema-map.c +++ b/servers/slapd/back-sql/schema-map.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * Portions Copyright 2004 Mark Adamson. diff --git a/servers/slapd/back-sql/search.c b/servers/slapd/back-sql/search.c index d4177f6..a37e13d 100644 --- a/servers/slapd/back-sql/search.c +++ b/servers/slapd/back-sql/search.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * Portions Copyright 2004 Mark Adamson. diff --git a/servers/slapd/back-sql/sql-wrap.c b/servers/slapd/back-sql/sql-wrap.c index 289b590..7affbea 100644 --- a/servers/slapd/back-sql/sql-wrap.c +++ b/servers/slapd/back-sql/sql-wrap.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * Portions Copyright 2004 Mark Adamson. diff --git a/servers/slapd/back-sql/util.c b/servers/slapd/back-sql/util.c index 94a00ca..6f6c20d 100644 --- a/servers/slapd/back-sql/util.c +++ b/servers/slapd/back-sql/util.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999 Dmitry Kovalev. * Portions Copyright 2002 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/back-wt/Makefile.in b/servers/slapd/back-wt/Makefile.in index 054025e..a88f1a0 100644 --- a/servers/slapd/back-wt/Makefile.in +++ b/servers/slapd/back-wt/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/add.c b/servers/slapd/back-wt/add.c index 04c08a1..40ad1ed 100644 --- a/servers/slapd/back-wt/add.c +++ b/servers/slapd/back-wt/add.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/attr.c b/servers/slapd/back-wt/attr.c index 70f278c..6131b11 100644 --- a/servers/slapd/back-wt/attr.c +++ b/servers/slapd/back-wt/attr.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/back-wt.h b/servers/slapd/back-wt/back-wt.h index 386dd85..fd4fa8d 100644 --- a/servers/slapd/back-wt/back-wt.h +++ b/servers/slapd/back-wt/back-wt.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/bind.c b/servers/slapd/back-wt/bind.c index 43abe87..99a2b7e 100644 --- a/servers/slapd/back-wt/bind.c +++ b/servers/slapd/back-wt/bind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/cache.c b/servers/slapd/back-wt/cache.c index ee393a0..69ca3a6 100644 --- a/servers/slapd/back-wt/cache.c +++ b/servers/slapd/back-wt/cache.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/compare.c b/servers/slapd/back-wt/compare.c index 038b273..6f719cf 100644 --- a/servers/slapd/back-wt/compare.c +++ b/servers/slapd/back-wt/compare.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/config.c b/servers/slapd/back-wt/config.c index 804e25b..dcdb03d 100644 --- a/servers/slapd/back-wt/config.c +++ b/servers/slapd/back-wt/config.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/ctx.c b/servers/slapd/back-wt/ctx.c index de6578e..b5723b6 100644 --- a/servers/slapd/back-wt/ctx.c +++ b/servers/slapd/back-wt/ctx.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/delete.c b/servers/slapd/back-wt/delete.c index 9673662..52853d2 100644 --- a/servers/slapd/back-wt/delete.c +++ b/servers/slapd/back-wt/delete.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/dn2entry.c b/servers/slapd/back-wt/dn2entry.c index 84cb13d..e1f198d 100644 --- a/servers/slapd/back-wt/dn2entry.c +++ b/servers/slapd/back-wt/dn2entry.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/dn2id.c b/servers/slapd/back-wt/dn2id.c index d8765ce..a1b7d3d 100644 --- a/servers/slapd/back-wt/dn2id.c +++ b/servers/slapd/back-wt/dn2id.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/extended.c b/servers/slapd/back-wt/extended.c index 595672f..ab12f93 100644 --- a/servers/slapd/back-wt/extended.c +++ b/servers/slapd/back-wt/extended.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/filterindex.c b/servers/slapd/back-wt/filterindex.c index f321128..6667c4c 100644 --- a/servers/slapd/back-wt/filterindex.c +++ b/servers/slapd/back-wt/filterindex.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/id2entry.c b/servers/slapd/back-wt/id2entry.c index 95b197c..a9bba18 100644 --- a/servers/slapd/back-wt/id2entry.c +++ b/servers/slapd/back-wt/id2entry.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/idl.c b/servers/slapd/back-wt/idl.c index 0f3167d..c42aa3a 100644 --- a/servers/slapd/back-wt/idl.c +++ b/servers/slapd/back-wt/idl.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/idl.h b/servers/slapd/back-wt/idl.h index d323e54..e25a98c 100644 --- a/servers/slapd/back-wt/idl.h +++ b/servers/slapd/back-wt/idl.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/index.c b/servers/slapd/back-wt/index.c index 3301977..d99b069 100644 --- a/servers/slapd/back-wt/index.c +++ b/servers/slapd/back-wt/index.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/init.c b/servers/slapd/back-wt/init.c index cc0c53a..0be7d0d 100644 --- a/servers/slapd/back-wt/init.c +++ b/servers/slapd/back-wt/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/key.c b/servers/slapd/back-wt/key.c index ea86829..5658987 100644 --- a/servers/slapd/back-wt/key.c +++ b/servers/slapd/back-wt/key.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/modify.c b/servers/slapd/back-wt/modify.c index d78c438..26d844f 100644 --- a/servers/slapd/back-wt/modify.c +++ b/servers/slapd/back-wt/modify.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/modrdn.c b/servers/slapd/back-wt/modrdn.c index faef948..07104fe 100644 --- a/servers/slapd/back-wt/modrdn.c +++ b/servers/slapd/back-wt/modrdn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/nextid.c b/servers/slapd/back-wt/nextid.c index 99620e9..1874686 100644 --- a/servers/slapd/back-wt/nextid.c +++ b/servers/slapd/back-wt/nextid.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/operational.c b/servers/slapd/back-wt/operational.c index df9d0c6..e2cf380 100644 --- a/servers/slapd/back-wt/operational.c +++ b/servers/slapd/back-wt/operational.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/proto-wt.h b/servers/slapd/back-wt/proto-wt.h index 7fa2666..00df3fd 100644 --- a/servers/slapd/back-wt/proto-wt.h +++ b/servers/slapd/back-wt/proto-wt.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/search.c b/servers/slapd/back-wt/search.c index 8a313b3..d759b7c 100644 --- a/servers/slapd/back-wt/search.c +++ b/servers/slapd/back-wt/search.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/back-wt/tools.c b/servers/slapd/back-wt/tools.c index 795e81d..b6fc7c6 100644 --- a/servers/slapd/back-wt/tools.c +++ b/servers/slapd/back-wt/tools.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/backend.c b/servers/slapd/backend.c index 30a32db..e50b1e2 100644 --- a/servers/slapd/backend.c +++ b/servers/slapd/backend.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/backglue.c b/servers/slapd/backglue.c index 00a672d..69be561 100644 --- a/servers/slapd/backglue.c +++ b/servers/slapd/backglue.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/backover.c b/servers/slapd/backover.c index dbf67e6..b80833e 100644 --- a/servers/slapd/backover.c +++ b/servers/slapd/backover.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/bconfig.c b/servers/slapd/bconfig.c index 58ce3a5..572bcc4 100644 --- a/servers/slapd/bconfig.c +++ b/servers/slapd/bconfig.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2022 The OpenLDAP Foundation. + * Copyright 2005-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -285,6 +285,7 @@ static OidRec OidMacros[] = { * OLcfgOv{Oc|At}:21 -> sssvlv * OLcfgOv{Oc|At}:22 -> autoca * OLcfgOv{Oc|At}:24 -> remoteauth + * OLcfgOv{Oc|At}:25 -> nestgroup */ /* alphabetical ordering */ diff --git a/servers/slapd/bind.c b/servers/slapd/bind.c index 19598f1..1422491 100644 --- a/servers/slapd/bind.c +++ b/servers/slapd/bind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/cancel.c b/servers/slapd/cancel.c index 3e5ee99..38b3423 100644 --- a/servers/slapd/cancel.c +++ b/servers/slapd/cancel.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/ch_malloc.c b/servers/slapd/ch_malloc.c index 6acf831..9cc715b 100644 --- a/servers/slapd/ch_malloc.c +++ b/servers/slapd/ch_malloc.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/compare.c b/servers/slapd/compare.c index e7a4f88..989a7ec 100644 --- a/servers/slapd/compare.c +++ b/servers/slapd/compare.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/component.c b/servers/slapd/component.c index 37ce97d..1ab54e9 100644 --- a/servers/slapd/component.c +++ b/servers/slapd/component.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2004 by IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/component.h b/servers/slapd/component.h index 202773e..7d076db 100644 --- a/servers/slapd/component.h +++ b/servers/slapd/component.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 by IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/config.c b/servers/slapd/config.c index 80333f3..b82d287 100644 --- a/servers/slapd/config.c +++ b/servers/slapd/config.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -151,7 +151,7 @@ int config_check_vals(ConfigTable *Conf, ConfigArgs *c, int check_only ) { int rc, arg_user, arg_type, arg_syn, iarg; unsigned uiarg; long larg; - size_t ularg; + unsigned long ularg; ber_len_t barg; if(Conf->arg_type == ARG_IGNORED) { diff --git a/servers/slapd/connection.c b/servers/slapd/connection.c index 9b363fe..717934b 100644 --- a/servers/slapd/connection.c +++ b/servers/slapd/connection.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/controls.c b/servers/slapd/controls.c index beabe44..ed856b3 100644 --- a/servers/slapd/controls.c +++ b/servers/slapd/controls.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/cr.c b/servers/slapd/cr.c index a828aa8..aa3ac4e 100644 --- a/servers/slapd/cr.c +++ b/servers/slapd/cr.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/ctxcsn.c b/servers/slapd/ctxcsn.c index a8f73c3..e0e0ef8 100644 --- a/servers/slapd/ctxcsn.c +++ b/servers/slapd/ctxcsn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2003 IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/daemon.c b/servers/slapd/daemon.c index 18db97a..eb0f538 100644 --- a/servers/slapd/daemon.c +++ b/servers/slapd/daemon.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 2007 by Howard Chu, Symas Corporation. * All rights reserved. * @@ -41,8 +41,8 @@ #include "ldap_rq.h" -#ifdef HAVE_SYSTEMD_SD_DAEMON_H -#include +#ifdef HAVE_SYSTEMD +#include "sd-notify.h" #endif #ifdef HAVE_POLL @@ -2261,9 +2261,9 @@ slap_listener( STRLENOF( "gidNumber=4294967295+uidNumber=4294967295," "cn=peercred,cn=external,cn=auth" ) + 1 ); authid.bv_len = sprintf( authid.bv_val, - "gidNumber=%d+uidNumber=%d," + "gidNumber=%u+uidNumber=%u," "cn=peercred,cn=external,cn=auth", - (int) gid, (int) uid ); + gid, uid ); assert( authid.bv_len <= STRLENOF( "gidNumber=4294967295+uidNumber=4294967295," "cn=peercred,cn=external,cn=auth" ) ); diff --git a/servers/slapd/delete.c b/servers/slapd/delete.c index 0329154..0f9138e 100644 --- a/servers/slapd/delete.c +++ b/servers/slapd/delete.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/dn.c b/servers/slapd/dn.c index 9b82f55..c2a5a57 100644 --- a/servers/slapd/dn.c +++ b/servers/slapd/dn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/entry.c b/servers/slapd/entry.c index 8e1463c..e104135 100644 --- a/servers/slapd/entry.c +++ b/servers/slapd/entry.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/extended.c b/servers/slapd/extended.c index 3f17889..0a55019 100644 --- a/servers/slapd/extended.c +++ b/servers/slapd/extended.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/filter.c b/servers/slapd/filter.c index 9d000bc..f7b83c5 100644 --- a/servers/slapd/filter.c +++ b/servers/slapd/filter.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/filterentry.c b/servers/slapd/filterentry.c index 61b64ff..4334091 100644 --- a/servers/slapd/filterentry.c +++ b/servers/slapd/filterentry.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/frontend.c b/servers/slapd/frontend.c index d0ca419..633384f 100644 --- a/servers/slapd/frontend.c +++ b/servers/slapd/frontend.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/globals.c b/servers/slapd/globals.c index c785165..4fac656 100644 --- a/servers/slapd/globals.c +++ b/servers/slapd/globals.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/index.c b/servers/slapd/index.c index 303cb9a..4aa28fa 100644 --- a/servers/slapd/index.c +++ b/servers/slapd/index.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/init.c b/servers/slapd/init.c index 591276b..1cf82de 100644 --- a/servers/slapd/init.c +++ b/servers/slapd/init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/ldapsync.c b/servers/slapd/ldapsync.c index f922cd5..e726867 100644 --- a/servers/slapd/ldapsync.c +++ b/servers/slapd/ldapsync.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2003 IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/limits.c b/servers/slapd/limits.c index 2e4d051..d91c606 100644 --- a/servers/slapd/limits.c +++ b/servers/slapd/limits.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/lock.c b/servers/slapd/lock.c index 91a4e34..9eb9a75 100644 --- a/servers/slapd/lock.c +++ b/servers/slapd/lock.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/logging.c b/servers/slapd/logging.c index 95f7ff2..b766138 100644 --- a/servers/slapd/logging.c +++ b/servers/slapd/logging.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2021-2022 The OpenLDAP Foundation. + * Copyright 2021-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -44,6 +44,7 @@ static long logfile_fslimit; static int logfile_age, logfile_only, logfile_max; static char *syslog_prefix; static int splen; +static int logfile_rotfail, logfile_openfail; typedef enum { LFMT_DEFAULT, LFMT_DEBUG, LFMT_SYSLOG_UTC, LFMT_SYSLOG_LOCAL } LogFormat; static LogFormat logfile_format; @@ -129,11 +130,42 @@ slap_debug_print( const char *data ) if ( logfile_age && tv.tv_sec - logfile_fcreated >= logfile_age ) rotate |= 2; if ( rotate ) { - close( logfile_fd ); - logfile_fd = -1; + int rc, savefd; strcpy( logpaths[0]+logpathlen, ".tmp" ); - rename( logfile_path, logpaths[0] ); - logfile_open( logfile_path ); + if ( rename( logfile_path, logpaths[0] )) { + rc = errno; + if ( !logfile_rotfail ) { + char buf[BUFSIZ]; + char ebuf[128]; + int len = snprintf(buf, sizeof( buf ), "ERROR! logfile rotate failure, err=%d \"%s\"\n", + rc, AC_STRERROR_R( rc, ebuf, sizeof(ebuf) )); + if ( !logfile_only ) + !write( 2, buf, len ); + !write( logfile_fd, buf, len ); + logfile_rotfail = 1; + } + rotate = 0; /* don't bother since it will fail */ + } else { + logfile_rotfail = 0; + } + savefd = logfile_fd; + logfile_fd = -1; + if (( rc = logfile_open( logfile_path ))) { + logfile_fd = savefd; + if ( !logfile_openfail ) { + char buf[BUFSIZ]; + char ebuf[128]; + int len = snprintf(buf, sizeof( buf ), "ERROR! logfile couldn't be reopened, err=%d \"%s\"\n", + rc, AC_STRERROR_R( rc, ebuf, sizeof(ebuf) )); + if ( !logfile_only ) + !write( 2, buf, len ); + !write( logfile_fd, buf, len ); + logfile_openfail = 1; + } + } else { + close( savefd ); + logfile_openfail = 0; + } } } @@ -205,7 +237,7 @@ logfile_open( const char *path ) if ( !( slapMode & SLAP_SERVER_MODE )) return 0; - fd = open( path, O_CREAT|O_WRONLY, 0640 ); + fd = open( path, O_CREAT|O_WRONLY|O_APPEND, 0640 ); if ( fd < 0 ) { saved_errno = errno; fail: @@ -233,7 +265,6 @@ fail: logfile_fsize = st.st_size; logfile_fcreated = st.st_ctime; /* not strictly true but close enough */ logfile_fd = fd; - lseek( fd, 0, SEEK_END ); return 0; } @@ -760,6 +791,14 @@ reset: case CFG_LOGFILE: rc = logfile_open( c->value_string ); + if ( rc ) { + char ebuf[128]; + snprintf( c->cr_msg, sizeof( c->cr_msg ), "<%s> unable to open logfile, err=%d \"%s\"", + c->argv[0], rc, AC_STRERROR_R( rc, ebuf, sizeof(ebuf) ) ); + Debug( LDAP_DEBUG_ANY, "%s: %s \"%s\"\n", + c->log, c->cr_msg, c->argv[1]); + return( 1 ); + } ch_free( c->value_string ); break; diff --git a/servers/slapd/main.c b/servers/slapd/main.c index a02d663..6a7c956 100644 --- a/servers/slapd/main.c +++ b/servers/slapd/main.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/matchedValues.c b/servers/slapd/matchedValues.c index 574e085..a6317b3 100644 --- a/servers/slapd/matchedValues.c +++ b/servers/slapd/matchedValues.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/modify.c b/servers/slapd/modify.c index 0da8953..5d19ee8 100644 --- a/servers/slapd/modify.c +++ b/servers/slapd/modify.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/modrdn.c b/servers/slapd/modrdn.c index 77a20d1..8d3e950 100644 --- a/servers/slapd/modrdn.c +++ b/servers/slapd/modrdn.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/mods.c b/servers/slapd/mods.c index 989274f..08fff7d 100644 --- a/servers/slapd/mods.c +++ b/servers/slapd/mods.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/module.c b/servers/slapd/module.c index 048ce8d..d3cffcf 100644 --- a/servers/slapd/module.c +++ b/servers/slapd/module.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/mr.c b/servers/slapd/mr.c index 8170345..2b8a10f 100644 --- a/servers/slapd/mr.c +++ b/servers/slapd/mr.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/mra.c b/servers/slapd/mra.c index 10cf117..acf9b1c 100644 --- a/servers/slapd/mra.c +++ b/servers/slapd/mra.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/nt_svc.c b/servers/slapd/nt_svc.c index 1d2c1c3..1fbd3a7 100644 --- a/servers/slapd/nt_svc.c +++ b/servers/slapd/nt_svc.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/oc.c b/servers/slapd/oc.c index d88c88c..e2b15a1 100644 --- a/servers/slapd/oc.c +++ b/servers/slapd/oc.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/oidm.c b/servers/slapd/oidm.c index 19725ac..1dc7f56 100644 --- a/servers/slapd/oidm.c +++ b/servers/slapd/oidm.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/operation.c b/servers/slapd/operation.c index b4b4830..d5048af 100644 --- a/servers/slapd/operation.c +++ b/servers/slapd/operation.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/operational.c b/servers/slapd/operational.c index 77dce46..f22edf8 100644 --- a/servers/slapd/operational.c +++ b/servers/slapd/operational.c @@ -1,7 +1,7 @@ /* operational.c - routines to deal with on-the-fly operational attrs */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/overlays/Makefile.in b/servers/slapd/overlays/Makefile.in index e6711fe..6d886f8 100644 --- a/servers/slapd/overlays/Makefile.in +++ b/servers/slapd/overlays/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2003-2022 The OpenLDAP Foundation. +## Copyright 2003-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without @@ -24,6 +24,7 @@ SRCS = overlays.c \ dynlist.c \ homedir.c \ memberof.c \ + nestgroup.c \ otp.c \ pcache.c \ collect.c \ @@ -96,6 +97,9 @@ homedir.la : homedir.lo memberof.la : memberof.lo $(LTLINK_MOD) -module -o $@ memberof.lo version.lo $(LINK_LIBS) +nestgroup.la : nestgroup.lo + $(LTLINK_MOD) -module -o $@ nestgroup.lo version.lo $(LINK_LIBS) + otp.la : otp.lo $(LTLINK_MOD) -module -o $@ otp.lo version.lo $(LINK_LIBS) diff --git a/servers/slapd/overlays/accesslog.c b/servers/slapd/overlays/accesslog.c index 182be57..19bbdbf 100644 --- a/servers/slapd/overlays/accesslog.c +++ b/servers/slapd/overlays/accesslog.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2022 The OpenLDAP Foundation. + * Copyright 2005-2024 The OpenLDAP Foundation. * Portions copyright 2004-2005 Symas Corporation. * All rights reserved. * @@ -1567,7 +1567,7 @@ accesslog_response(Operation *op, SlapReply *rs) lo = logops+logop+EN_OFFSET; /* can't do anything if logDB isn't open */ - if ( !SLAP_DBOPEN( li->li_db ) ) { + if ( !li->li_db || !SLAP_DBOPEN( li->li_db ) ) { goto skip; } @@ -2497,7 +2497,13 @@ accesslog_db_root( attr_merge_one( e, slap_schema.si_ad_entryCSN, &a->a_vals[0], &a->a_nvals[0] ); attr_merge( e, a->a_desc, a->a_vals, a->a_nvals ); + + /* Populate minCSN */ attr_merge( e, ad_minCSN, a->a_vals, a->a_nvals ); + ber_bvarray_dup_x( &li->li_mincsn, a->a_vals, NULL ); + li->li_numcsns = a->a_numvals; + li->li_sids = slap_parse_csn_sids( li->li_mincsn, li->li_numcsns, NULL ); + slap_sort_csn_sids( li->li_mincsn, li->li_sids, li->li_numcsns, NULL ); } be_entry_release_rw( op, e_ctx, 0 ); } diff --git a/servers/slapd/overlays/auditlog.c b/servers/slapd/overlays/auditlog.c index 9292d4a..69482e7 100644 --- a/servers/slapd/overlays/auditlog.c +++ b/servers/slapd/overlays/auditlog.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2022 The OpenLDAP Foundation. + * Copyright 2005-2024 The OpenLDAP Foundation. * Portions copyright 2004-2005 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/overlays/autoca.c b/servers/slapd/overlays/autoca.c index 5fcd204..692d9d5 100644 --- a/servers/slapd/overlays/autoca.c +++ b/servers/slapd/overlays/autoca.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2009-2022 The OpenLDAP Foundation. + * Copyright 2009-2024 The OpenLDAP Foundation. * Copyright 2009-2018 by Howard Chu. * All rights reserved. * diff --git a/servers/slapd/overlays/collect.c b/servers/slapd/overlays/collect.c index bbc6219..b133cd2 100644 --- a/servers/slapd/overlays/collect.c +++ b/servers/slapd/overlays/collect.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2003 Howard Chu. * All rights reserved. * diff --git a/servers/slapd/overlays/constraint.c b/servers/slapd/overlays/constraint.c index f939b37..9622c29 100644 --- a/servers/slapd/overlays/constraint.c +++ b/servers/slapd/overlays/constraint.c @@ -369,6 +369,7 @@ constraint_cf_gen( ConfigArgs *c ) ap.attrs[i] = NULL; if ( slap_str2ad( ap.lud->lud_attrs[i], &ap.attrs[i], &text ) ) { ch_free( ap.attrs ); + ap.attrs = NULL; snprintf( c->cr_msg, sizeof( c->cr_msg ), "%s <%s>: %s\n", c->argv[0], ap.lud->lud_attrs[i], text ); rc = ARG_BAD_CONF; @@ -557,7 +558,7 @@ done:; a2->restrict_filter = ap.restrict_filter; a2->restrict_val = ap.restrict_val; - for ( app = &on->on_bi.bi_private; *app; app = &(*app)->ap_next ) + for ( app = (constraint **)&on->on_bi.bi_private; *app; app = &(*app)->ap_next ) /* Get to the end */ ; a2->ap_next = *app; diff --git a/servers/slapd/overlays/dds.c b/servers/slapd/overlays/dds.c index c19f042..422183a 100644 --- a/servers/slapd/overlays/dds.c +++ b/servers/slapd/overlays/dds.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2022 The OpenLDAP Foundation. + * Copyright 2005-2024 The OpenLDAP Foundation. * Portions Copyright 2005-2006 SysNet s.n.c. * All rights reserved. * diff --git a/servers/slapd/overlays/deref.c b/servers/slapd/overlays/deref.c index 93b7f69..aed4f68 100644 --- a/servers/slapd/overlays/deref.c +++ b/servers/slapd/overlays/deref.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 2008 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/overlays/dyngroup.c b/servers/slapd/overlays/dyngroup.c index 5d890d6..2c9ba7e 100644 --- a/servers/slapd/overlays/dyngroup.c +++ b/servers/slapd/overlays/dyngroup.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Copyright 2003 by Howard Chu. * All rights reserved. * @@ -111,7 +111,7 @@ static int dgroup_cf( ConfigArgs *c ) */ a2 = ch_malloc( sizeof(adpair) ); - for ( app = &on->on_bi.bi_private; *app; app = &(*app)->ap_next ) + for ( app = (adpair **)&on->on_bi.bi_private; *app; app = &(*app)->ap_next ) /* Get to the end */ ; a2->ap_mem = ap.ap_mem; diff --git a/servers/slapd/overlays/dynlist.c b/servers/slapd/overlays/dynlist.c index 5c38b64..eb3a313 100644 --- a/servers/slapd/overlays/dynlist.c +++ b/servers/slapd/overlays/dynlist.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2004-2005 Pierangelo Masarati. * Portions Copyright 2008 Emmanuel Dreyfus. * All rights reserved. @@ -1648,6 +1648,9 @@ dynlist_search2resp( Operation *op, SlapReply *rs ) dynlist_name_t *dyn; int rc; + if ( op->o_abandon ) + return SLAP_CB_CONTINUE; + if ( rs->sr_type == REP_SEARCH && rs->sr_entry != NULL ) { rc = SLAP_CB_CONTINUE; /* See if this is one of our dynamic groups */ diff --git a/servers/slapd/overlays/homedir.c b/servers/slapd/overlays/homedir.c index 159090e..78e3886 100644 --- a/servers/slapd/overlays/homedir.c +++ b/servers/slapd/overlays/homedir.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2009-2022 The OpenLDAP Foundation. + * Copyright 2009-2024 The OpenLDAP Foundation. * Portions copyright 2009-2010 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/overlays/memberof.c b/servers/slapd/overlays/memberof.c index 5affbbf..351aa56 100644 --- a/servers/slapd/overlays/memberof.c +++ b/servers/slapd/overlays/memberof.c @@ -159,6 +159,7 @@ typedef struct memberof_t { #define MEMBEROF_FDANGLING_MASK (MEMBEROF_FDANGLING_DROP|MEMBEROF_FDANGLING_ERROR) #define MEMBEROF_FREFINT 0x04U #define MEMBEROF_FREVERSE 0x08U +#define MEMBEROF_FADDCHECK 0x10U ber_int_t mo_dangling_err; @@ -174,6 +175,8 @@ typedef struct memberof_t { MEMBEROF_CHK((mo),MEMBEROF_FREFINT) #define MEMBEROF_REVERSE(mo) \ MEMBEROF_CHK((mo),MEMBEROF_FREVERSE) +#define MEMBEROF_ADDCHECK(mo) \ + MEMBEROF_CHK((mo),MEMBEROF_FADDCHECK) } memberof_t; typedef enum memberof_is_t { @@ -385,6 +388,10 @@ memberof_value_modify( op2.orm_no_opattrs = 1; op2.o_dont_replicate = 1; + /* main op has already completed if we got here, so even + * if its abandon flag was set we must complete as well. */ + op2.o_abandon = 0; + if ( !BER_BVISNULL( &mo->mo_ndn ) ) { ml = &mod[ mcnt ]; ml->sml_numvals = 1; @@ -521,6 +528,87 @@ static int memberof_res_delete( Operation *op, SlapReply *rs ); static int memberof_res_modify( Operation *op, SlapReply *rs ); static int memberof_res_modrdn( Operation *op, SlapReply *rs ); +typedef struct mo_addcheck_t { + memberof_t *ma_mo; + Entry *ma_e; + Attribute *ma_a; +} mo_addcheck_t; + +static int memberof_res_addcheck( Operation *op, SlapReply *rs ) +{ + mo_addcheck_t *ma = op->o_callback->sc_private; + if ( rs->sr_type == REP_SEARCH ) { + if ( !ma->ma_a ) { + attr_merge_one( ma->ma_e, ma->ma_mo->mo_ad_memberof, + &rs->sr_entry->e_name, &rs->sr_entry->e_nname ); + ma->ma_a = attr_find( ma->ma_e->e_attrs, ma->ma_mo->mo_ad_memberof ); + } else { + if ( attr_valfind( ma->ma_a, SLAP_MR_EQUALITY | SLAP_MR_ASSERTED_VALUE_NORMALIZED_MATCH | + SLAP_MR_ATTRIBUTE_VALUE_NORMALIZED_MATCH, &rs->sr_entry->e_nname, NULL, NULL )) { + attr_valadd( ma->ma_a, &rs->sr_entry->e_name, &rs->sr_entry->e_nname, 1 ); + } + } + } + return 0; +} + +/* Check if an entry being added is already a member of existing groups; + * add those groups to the entry's memberof if any. + */ +static void +memberof_addcheck( Operation *op ) +{ + slap_overinst *on = (slap_overinst *)op->o_bd->bd_info; + memberof_t *mo = (memberof_t *)on->on_bi.bi_private; + Operation o = *op; + Filter mf; + AttributeAssertion mava; + slap_callback sc = {0}; + mo_addcheck_t ma; + SlapReply rs = {REP_SEARCH}; + + o.o_dn = op->o_bd->be_rootdn; + o.o_ndn = op->o_bd->be_rootndn; + o.o_bd->bd_info = (BackendInfo *)on->on_info; + o.o_tag = LDAP_REQ_SEARCH; + o.o_req_dn = op->o_bd->be_suffix[0]; + o.o_req_ndn = op->o_bd->be_nsuffix[0]; + o.o_do_not_cache = 1; + o.ors_scope = LDAP_SCOPE_SUBTREE; + o.ors_slimit = SLAP_NO_LIMIT; + o.ors_tlimit = SLAP_NO_LIMIT; + o.ors_limit = NULL; + o.ors_attrsonly = 1; + o.ors_attrs = slap_anlist_no_attrs; + mf.f_choice = LDAP_FILTER_EQUALITY; + mf.f_ava = &mava; + mf.f_next = NULL; + mf.f_av_desc = mo->mo_ad_member; + mf.f_av_value = op->o_req_ndn; + o.ors_filter = &mf; + o.ors_filterstr.bv_val = op->o_tmpalloc( mo->mo_ad_member->ad_cname.bv_len + 2 + + op->o_req_ndn.bv_len + 2, op->o_tmpmemctx ); + { + char *ptr = o.ors_filterstr.bv_val; + *ptr++ = '('; + ptr = lutil_strcopy( ptr, mo->mo_ad_member->ad_cname.bv_val ); + *ptr++ = '='; + ptr = lutil_strcopy( ptr, op->o_req_ndn.bv_val ); + *ptr++ = ')'; + *ptr = '\0'; + } + sc.sc_private = &ma; + sc.sc_response = memberof_res_addcheck; + ma.ma_mo = mo; + ma.ma_e = op->ora_e; + ma.ma_a = attr_find( op->ora_e->e_attrs, mo->mo_ad_memberof ); + o.o_callback = ≻ + + o.o_bd->be_search( &o, &rs ); + o.o_bd->bd_info = (BackendInfo *)on; + op->o_tmpfree( o.ors_filterstr.bv_val, op->o_tmpmemctx ); +} + static int memberof_op_add( Operation *op, SlapReply *rs ) { @@ -549,6 +637,10 @@ memberof_op_add( Operation *op, SlapReply *rs ) return SLAP_CB_CONTINUE; } + if ( MEMBEROF_ADDCHECK( mo )) { + memberof_addcheck( op ); + } + if ( MEMBEROF_REVERSE( mo ) ) { for ( ap = &op->ora_e->e_attrs; *ap; ap = &(*ap)->a_next ) { Attribute *a = *ap; @@ -1649,6 +1741,7 @@ enum { #endif MO_DANGLING_ERROR, + MO_ADDCHECK, MO_LAST }; @@ -1730,6 +1823,14 @@ static ConfigTable mo_cfg[] = { "SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL }, + { "memberof-addcheck", "true|FALSE", + 2, 2, 0, ARG_MAGIC|ARG_ON_OFF|MO_ADDCHECK, mo_cf_gen, + "( OLcfgOvAt:18.8 NAME 'olcMemberOfAddCheck' " + "DESC 'Check for memberships on added entries' " + "EQUALITY booleanMatch " + "SYNTAX OMsBoolean SINGLE-VALUE )", + NULL, NULL }, + { NULL, NULL, 0, 0, 0, ARG_IGNORED } }; @@ -1749,6 +1850,7 @@ static ConfigOCs mo_ocs[] = { #if 0 "$ olcMemberOfReverse " #endif + "$ olcMemberOfAddCheck " ") " ")", Cft_Overlay, mo_cfg, NULL, NULL }, @@ -1887,6 +1989,10 @@ mo_cf_gen( ConfigArgs *c ) c->value_ad = mo->mo_ad_memberof; break; + case MO_ADDCHECK: + c->value_int = MEMBEROF_ADDCHECK( mo ); + break; + default: assert( 0 ); return 1; @@ -1937,6 +2043,10 @@ mo_cf_gen( ConfigArgs *c ) memberof_make_member_filter( mo ); break; + case MO_ADDCHECK: + mo->mo_flags &= ~MEMBEROF_FADDCHECK; + break; + default: assert( 0 ); return 1; @@ -2046,6 +2156,15 @@ mo_cf_gen( ConfigArgs *c ) memberof_make_member_filter( mo ); } break; + case MO_ADDCHECK: + if ( c->value_int ) { + mo->mo_flags |= MEMBEROF_FADDCHECK; + + } else { + mo->mo_flags &= ~MEMBEROF_FADDCHECK; + } + break; + default: assert( 0 ); return 1; diff --git a/servers/slapd/overlays/nestgroup.c b/servers/slapd/overlays/nestgroup.c new file mode 100644 index 0000000..ca5c928 --- /dev/null +++ b/servers/slapd/overlays/nestgroup.c @@ -0,0 +1,909 @@ +/* nestgroup.c - nested group overlay */ +/* $OpenLDAP$ */ +/* This work is part of OpenLDAP Software . + * + * Copyright 2024 The OpenLDAP Foundation. + * Copyright 2024 by Howard Chu. + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted only as authorized by the OpenLDAP + * Public License. + * + * A copy of this license is available in the file LICENSE in the + * top-level directory of the distribution or, alternatively, at + * . + */ +/* ACKNOWLEDGEMENTS: + * This work was initially developed by Howard Chu for inclusion in + * OpenLDAP Software. + */ + +#include "portable.h" + +#ifdef SLAPD_OVER_NESTGROUP + +#include + +#include +#include + +#include "lutil.h" +#include "slap.h" +#include "slap-config.h" + +/* This overlay dynamically constructs member and memberOf attributes + * for nested groups. + */ + +#define SLAPD_MEMBEROF_ATTR "memberOf" + +#define NG_MBR_VALUES 0x01 +#define NG_MBR_FILTER 0x02 +#define NG_MOF_VALUES 0x04 +#define NG_MOF_FILTER 0x08 +#define NG_NEGATED 0x10 + +static AttributeDescription *ad_member; +static AttributeDescription *ad_memberOf; + +static slap_verbmasks nestgroup_flags[] = { + { BER_BVC("member-values"), NG_MBR_VALUES }, + { BER_BVC("member-filter"), NG_MBR_FILTER }, + { BER_BVC("memberof-values"), NG_MOF_VALUES }, + { BER_BVC("memberof-filter"), NG_MOF_FILTER }, + { BER_BVNULL, 0 } +}; + +enum { + NG_MEMBER = 1, + NG_MEMBEROF, + NG_GROUPBASE, + NG_FLAGS +}; + +typedef struct nestgroup_info_t { + AttributeDescription *ngi_member; + AttributeDescription *ngi_memberOf; + BerVarray ngi_groupBase; + BerVarray ngi_ngroupBase; + int ngi_flags; +} nestgroup_info_t; + +static int ngroup_cf( ConfigArgs *c ) +{ + slap_overinst *on = (slap_overinst *)c->bi; + nestgroup_info_t *ngi = (nestgroup_info_t *)on->on_bi.bi_private; + int rc = 1; + + if ( c->op == SLAP_CONFIG_EMIT ) { + switch( c->type ) { + case NG_MEMBER: + if ( ngi->ngi_member ) { + value_add_one( &c->rvalue_vals, &ngi->ngi_member->ad_cname ); + rc = 0; + } + break; + case NG_MEMBEROF: + if ( ngi->ngi_memberOf ) { + value_add_one( &c->rvalue_vals, &ngi->ngi_memberOf->ad_cname ); + rc = 0; + } + break; + case NG_GROUPBASE: + if ( ngi->ngi_groupBase ) { + value_add( &c->rvalue_vals, ngi->ngi_groupBase ); + value_add( &c->rvalue_nvals, ngi->ngi_ngroupBase ); + rc = 0; + } + break; + case NG_FLAGS: + return mask_to_verbs( nestgroup_flags, ngi->ngi_flags, &c->rvalue_vals ); + default: + break; + } + return rc; + } else if ( c->op == LDAP_MOD_DELETE ) { + switch( c->type ) { + case NG_MEMBER: + ngi->ngi_member = ad_member; + rc = 0; + break; + case NG_MEMBEROF: + ngi->ngi_memberOf = ad_memberOf; + rc = 0; + break; + case NG_GROUPBASE: + if ( c->valx < 0 ) { + ber_bvarray_free( ngi->ngi_groupBase ); + ber_bvarray_free( ngi->ngi_ngroupBase ); + ngi->ngi_groupBase = NULL; + ngi->ngi_ngroupBase = NULL; + } else { + int i = c->valx; + ch_free( ngi->ngi_groupBase[i].bv_val ); + ch_free( ngi->ngi_ngroupBase[i].bv_val ); + do { + ngi->ngi_groupBase[i] = ngi->ngi_groupBase[i+1]; + ngi->ngi_ngroupBase[i] = ngi->ngi_ngroupBase[i+1]; + i++; + } while ( !BER_BVISNULL( &ngi->ngi_groupBase[i] )); + } + rc = 0; + break; + case NG_FLAGS: + if ( !c->line ) { + ngi->ngi_flags = 0; + } else { + int i = verb_to_mask( c->line, nestgroup_flags ); + ngi->ngi_flags &= ~nestgroup_flags[i].mask; + } + rc = 0; + break; + default: + break; + } + return rc; + } + + switch( c->type ) { + case NG_MEMBER: + if ( !is_at_syntax( c->value_ad->ad_type, SLAPD_DN_SYNTAX ) && + !is_at_syntax( c->value_ad->ad_type, SLAPD_NAMEUID_SYNTAX )) { + snprintf( c->cr_msg, sizeof( c->cr_msg ), + "member attribute=\"%s\" must use DN (%s) or NAMEUID (%s) syntax", + c->argv[1], SLAPD_DN_SYNTAX, SLAPD_NAMEUID_SYNTAX ); + Debug( LDAP_DEBUG_CONFIG|LDAP_DEBUG_NONE, + "%s: %s\n", c->log, c->cr_msg ); + return ARG_BAD_CONF; + } + ngi->ngi_member = c->value_ad; + rc = 0; + break; + case NG_MEMBEROF: + if ( !is_at_syntax( c->value_ad->ad_type, SLAPD_DN_SYNTAX ) && + !is_at_syntax( c->value_ad->ad_type, SLAPD_NAMEUID_SYNTAX )) { + snprintf( c->cr_msg, sizeof( c->cr_msg ), + "memberOf attribute=\"%s\" must use DN (%s) or NAMEUID (%s) syntax", + c->argv[1], SLAPD_DN_SYNTAX, SLAPD_NAMEUID_SYNTAX ); + Debug( LDAP_DEBUG_CONFIG|LDAP_DEBUG_NONE, + "%s: %s\n", c->log, c->cr_msg ); + return ARG_BAD_CONF; + } + ngi->ngi_memberOf = c->value_ad; + rc = 0; + break; + case NG_GROUPBASE: + ber_bvarray_add( &ngi->ngi_groupBase, &c->value_dn ); + ber_bvarray_add( &ngi->ngi_ngroupBase, &c->value_ndn ); + rc = 0; + break; + case NG_FLAGS: { + slap_mask_t flags = 0; + int i; + if ( c->op != SLAP_CONFIG_ADD && c->argc > 2 ) { + /* We wouldn't know how to delete these values later */ + snprintf( c->cr_msg, sizeof( c->cr_msg ), + "Please insert multiple names as separate %s values", + c->argv[0] ); + Debug( LDAP_DEBUG_CONFIG|LDAP_DEBUG_NONE, + "%s: %s\n", c->log, c->cr_msg ); + rc = LDAP_INVALID_SYNTAX; + break; + } + i = verbs_to_mask( c->argc, c->argv, nestgroup_flags, &flags ); + if ( i ) { + snprintf( c->cr_msg, sizeof( c->cr_msg ), "<%s> unknown option", c->argv[0] ); + Debug(LDAP_DEBUG_ANY, "%s: %s %s\n", + c->log, c->cr_msg, c->argv[i]); + return(1); + } + ngi->ngi_flags |= flags; + rc = 0; + break; } + default: + break; + } + + return rc; +} + +static ConfigTable ngroupcfg[] = { + { "nestgroup-member", "member-ad", 2, 2, 0, + ARG_MAGIC|ARG_ATDESC|NG_MEMBER, ngroup_cf, + "( OLcfgOvAt:25.1 NAME 'olcNestGroupMember' " + "EQUALITY caseIgnoreMatch " + "DESC 'Member attribute' " + "SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL }, + { "nestgroup-memberof", "memberOf-ad", 2, 2, 0, + ARG_MAGIC|ARG_ATDESC|NG_MEMBEROF, ngroup_cf, + "( OLcfgOvAt:25.2 NAME 'olcNestGroupMemberOf' " + "EQUALITY caseIgnoreMatch " + "DESC 'MemberOf attribute' " + "SYNTAX OMsDirectoryString SINGLE-VALUE )", NULL, NULL }, + { "nestgroup-base", "dn", 2, 2, 0, + ARG_DN|ARG_QUOTE|ARG_MAGIC|NG_GROUPBASE, ngroup_cf, + "( OLcfgOvAt:25.3 NAME 'olcNestGroupBase' " + "EQUALITY distinguishedNameMatch " + "DESC 'Base[s] of group subtree[s]' " + "SYNTAX OMsDN )", NULL, NULL }, + { "nestgroup-flags", "options", 2, 0, 0, + ARG_MAGIC|NG_FLAGS, ngroup_cf, + "( OLcfgOvAt:25.4 NAME 'olcNestGroupFlags' " + "EQUALITY caseIgnoreMatch " + "DESC 'Features to use' " + "SYNTAX OMsDirectoryString )", NULL, NULL }, + { NULL, NULL, 0, 0, 0, ARG_IGNORED } +}; + +static ConfigOCs ngroupocs[] = { + { "( OLcfgOvOc:25.1 " + "NAME 'olcNestGroupConfig' " + "DESC 'Nested Group configuration' " + "SUP olcOverlayConfig " + "MAY ( olcNestGroupMember $ olcNestGroupMemberOf $ " + " olcNestGroupBase $ olcNestGroupFlags ) ) ", + Cft_Overlay, ngroupcfg }, + { NULL, 0, NULL } +}; + +typedef struct nestgroup_filterinst_t { + Filter *nf_f; + Filter *nf_new; + Entry *nf_e; +} nestgroup_filterinst_t; + +/* Record occurrences of ad in filter. Ignore in negated filters. */ +static void +nestgroup_filter_instances( Operation *op, AttributeDescription *ad, Filter *f, int not, + int *nfn, nestgroup_filterinst_t **nfp, int *negated ) +{ + if ( !f ) + return; + + switch( f->f_choice & SLAPD_FILTER_MASK ) { + case LDAP_FILTER_EQUALITY: + if ( f->f_av_desc == ad ) { + if ( not ) { + *negated = 1; + } else { + nestgroup_filterinst_t *nf = *nfp; + int n = *nfn; + nf = op->o_tmprealloc( nf, (n + 1) * sizeof(nestgroup_filterinst_t), op->o_tmpmemctx ); + nf[n].nf_f = f; + nf[n].nf_new = NULL; + nf[n++].nf_e = NULL; + *nfp = nf; + *nfn = n; + } + } + break; + case SLAPD_FILTER_COMPUTED: + case LDAP_FILTER_PRESENT: + case LDAP_FILTER_GE: + case LDAP_FILTER_LE: + case LDAP_FILTER_APPROX: + case LDAP_FILTER_SUBSTRINGS: + case LDAP_FILTER_EXT: + break; + case LDAP_FILTER_NOT: not ^= 1; + /* FALLTHRU */ + case LDAP_FILTER_AND: + case LDAP_FILTER_OR: + for ( f = f->f_list; f; f = f->f_next ) + nestgroup_filter_instances( op, ad, f, not, nfn, nfp, negated ); + } +} + +static int +nestgroup_check_needed( Operation *op, int attrflags, AttributeDescription *ad ) +{ + if ( is_at_operational( ad->ad_type )) { + if ( SLAP_OPATTRS( attrflags )) + return 1; + } else { + if ( SLAP_USERATTRS( attrflags )) + return 1; + } + return ( ad_inlist( ad, op->ors_attrs )); +} + +typedef struct DNpair { + struct berval dp_ndn; + struct berval dp_dn; + struct DNpair *dp_next; + int dp_flag; +} DNpair; + +typedef struct gdn_info { + TAvlnode *gi_DNs; + DNpair *gi_DNlist; + nestgroup_info_t *gi_ngi; + int gi_numDNs; + int gi_saveDN; + Attribute *gi_merge; +} gdn_info; + +static int +nestgroup_dncmp( const void *v1, const void *v2 ) +{ + return ber_bvcmp((const struct berval *)v1, (const struct berval *)v2); +} + +static int +nestgroup_gotDNresp( Operation *op, SlapReply *rs ) +{ + if ( rs->sr_type == REP_SEARCH ) { + gdn_info *gi = (gdn_info *)(op->o_callback+1); + DNpair *dp = op->o_tmpalloc( sizeof(DNpair), op->o_tmpmemctx ); + dp->dp_ndn = rs->sr_entry->e_nname; + if ( ldap_tavl_insert( &gi->gi_DNs, dp, nestgroup_dncmp, ldap_avl_dup_error )) { + op->o_tmpfree( dp, op->o_tmpmemctx ); + } else { + ber_dupbv_x( &dp->dp_ndn, &rs->sr_entry->e_nname, op->o_tmpmemctx ); + if ( gi->gi_saveDN ) + ber_dupbv_x( &dp->dp_dn, &rs->sr_entry->e_name, op->o_tmpmemctx ); + gi->gi_numDNs++; + dp->dp_next = gi->gi_DNlist; + dp->dp_flag = 0; + gi->gi_DNlist = dp; + } + } + return 0; +} + +static void +nestgroup_get_parentDNs( Operation *op, struct berval *ndn ) +{ + SlapReply r = { REP_SEARCH }; + gdn_info *gi = (gdn_info *)(op->o_callback+1); + nestgroup_info_t *ngi = gi->gi_ngi; + int i; + + op->ors_filter->f_av_value = *ndn; + for ( i=0; !BER_BVISEMPTY( &ngi->ngi_ngroupBase[i] ); i++ ) { + op->o_req_dn = ngi->ngi_groupBase[i]; + op->o_req_ndn = ngi->ngi_ngroupBase[i]; + op->o_bd->be_search( op, &r ); + } + gi->gi_numDNs = 0; /* ignore first count, that's just the original member= result set */ + + while ( gi->gi_DNlist ) { + int prevnum; + DNpair *dp = gi->gi_DNlist; + gi->gi_DNlist = NULL; + for ( ; dp; dp=dp->dp_next ) { + op->ors_filter->f_av_value = dp->dp_ndn; + prevnum = gi->gi_numDNs; + for ( i=0; !BER_BVISEMPTY( &ngi->ngi_ngroupBase[i] ); i++ ) { + op->o_req_dn = ngi->ngi_groupBase[i]; + op->o_req_ndn = ngi->ngi_ngroupBase[i]; + op->o_bd->be_search( op, &r ); + } + if ( gi->gi_numDNs > prevnum ) + dp->dp_flag = 1; /* this group had a parent */ + } + } +} + +static void +nestgroup_memberFilter( Operation *op, int mbr_nf, nestgroup_filterinst_t *mbr_f ) +{ + slap_overinst *on = (slap_overinst *) op->o_bd->bd_info; + nestgroup_info_t *ngi = on->on_bi.bi_private; + AttributeDescription *ad = mbr_f[0].nf_f->f_av_desc; + slap_callback *sc; + gdn_info *gi; + Filter mf; + AttributeAssertion mava; + Operation o = *op; + int i; + + o.o_managedsait = SLAP_CONTROL_CRITICAL; + sc = op->o_tmpcalloc( 1, sizeof(slap_callback) + sizeof(gdn_info), op->o_tmpmemctx); + gi = (gdn_info *)(sc+1); + gi->gi_ngi = ngi; + o.o_callback = sc; + sc->sc_response = nestgroup_gotDNresp; + o.ors_attrs = slap_anlist_no_attrs; + + mf.f_choice = LDAP_FILTER_EQUALITY; + mf.f_ava = &mava; + mf.f_av_desc = ad; + mf.f_next = NULL; + + o.ors_scope = LDAP_SCOPE_SUBTREE; + o.ors_deref = LDAP_DEREF_NEVER; + o.ors_limit = NULL; + o.ors_tlimit = SLAP_NO_LIMIT; + o.ors_slimit = SLAP_NO_LIMIT; + o.ors_filter = &mf; + o.o_bd->bd_info = (BackendInfo *)on->on_info; + + for ( i=0; igi_DNs = NULL; + gi->gi_numDNs = 0; + nestgroup_get_parentDNs( &o, &mbr_f[i].nf_f->f_av_value ); + if ( gi->gi_numDNs ) { + int j; + Filter *f, *nf; + TAvlnode *t; + DNpair *dp; + + f = op->o_tmpalloc( sizeof(Filter), op->o_tmpmemctx ); + f->f_next = NULL; + t = ldap_tavl_end( gi->gi_DNs, TAVL_DIR_RIGHT ); + do { + dp = t->avl_data; + if ( dp->dp_flag ) { + nf = f; + nf->f_ava = op->o_tmpcalloc( 1, sizeof( AttributeAssertion ), op->o_tmpmemctx ); + nf->f_choice = LDAP_FILTER_EQUALITY; + nf->f_av_desc = ad; + nf->f_av_value = dp->dp_ndn; + f = op->o_tmpalloc( sizeof(Filter), op->o_tmpmemctx ); + f->f_next = nf; + } + t = ldap_tavl_next( t, TAVL_DIR_LEFT ); + op->o_tmpfree( dp, op->o_tmpmemctx ); + } while ( t ); + ldap_tavl_free( gi->gi_DNs, NULL ); + f->f_choice = LDAP_FILTER_EQUALITY; + f->f_ava = mbr_f[i].nf_f->f_ava; + mbr_f[i].nf_new = f; + } + } + o.o_bd->bd_info = (BackendInfo *)on->on_info; + op->o_tmpfree( sc, op->o_tmpmemctx ); +} + +static void +nestgroup_addUnique( Operation *op, Attribute *old, Attribute *new ) +{ + /* strip out any duplicates from new before adding */ + struct berval *bv, *nbv; + int i, j, flags; + + bv = op->o_tmpalloc( (new->a_numvals + 1) * 2 * sizeof(struct berval), op->o_tmpmemctx ); + nbv = bv + new->a_numvals+1; + + flags = SLAP_MR_ASSERTED_VALUE_NORMALIZED_MATCH|SLAP_MR_ATTRIBUTE_VALUE_NORMALIZED_MATCH; + for (i=0,j=0; ia_numvals; i++) { + int rc = attr_valfind( old, flags, &new->a_nvals[i], NULL, NULL ); + if ( rc ) { + bv[j] = new->a_vals[i]; + nbv[j++] = new->a_nvals[i]; + } + } + BER_BVZERO( &bv[j] ); + BER_BVZERO( &nbv[j] ); + attr_valadd( old, bv, nbv, j ); + op->o_tmpfree( bv, op->o_tmpmemctx ); +} + +static void +nestgroup_get_childDNs( Operation *op, slap_overinst *on, gdn_info *gi, struct berval *ndn ) +{ + nestgroup_info_t *ngi = on->on_bi.bi_private; + Entry *e; + Attribute *a; + + if ( overlay_entry_get_ov( op, ndn, NULL, NULL, 0, &e, on ) != LDAP_SUCCESS || e == NULL ) + return; + + a = attr_find( e->e_attrs, ngi->ngi_member ); + if ( a ) { + int i, j; + for (i = 0; ia_numvals; i++ ) { + /* record all group entries */ + for (j = 0; !BER_BVISEMPTY( &ngi->ngi_groupBase[j] ); j++) { + if ( dnIsSuffix( &a->a_nvals[i], &ngi->ngi_ngroupBase[j] )) { + DNpair *dp = op->o_tmpalloc( sizeof(DNpair), op->o_tmpmemctx ); + dp->dp_ndn = a->a_nvals[i]; + if ( ldap_tavl_insert( &gi->gi_DNs, dp, nestgroup_dncmp, ldap_avl_dup_error )) { + op->o_tmpfree( dp, op->o_tmpmemctx ); + } else { + ber_dupbv_x( &dp->dp_ndn, &a->a_nvals[i], op->o_tmpmemctx ); + gi->gi_numDNs++; + dp->dp_next = gi->gi_DNlist; + gi->gi_DNlist = dp; + } + break; + } + } + } + if ( gi->gi_merge ) { + nestgroup_addUnique( op, gi->gi_merge, a ); + } + } + overlay_entry_release_ov( op, e, 0, on ); +} + +static void +nestgroup_memberOfFilter( Operation *op, int mof_nf, nestgroup_filterinst_t *mof_f ) +{ + slap_overinst *on = (slap_overinst *) op->o_bd->bd_info; + AttributeDescription *ad = mof_f[0].nf_f->f_av_desc; + gdn_info gi = {0}; + int i; + + for ( i=0; if_av_value ); + + while ( gi.gi_DNlist ) { + DNpair *dp = gi.gi_DNlist; + gi.gi_DNlist = NULL; + for ( ; dp; dp=dp->dp_next ) { + nestgroup_get_childDNs( op, on, &gi, &dp->dp_ndn ); + } + } + + if ( gi.gi_numDNs ) { + int j; + Filter *f, *nf; + TAvlnode *t; + DNpair *dp; + + f = op->o_tmpalloc( sizeof(Filter), op->o_tmpmemctx ); + f->f_next = NULL; + t = ldap_tavl_end( gi.gi_DNs, TAVL_DIR_RIGHT ); + do { + dp = t->avl_data; + nf = f; + nf->f_ava = op->o_tmpcalloc( 1, sizeof( AttributeAssertion ), op->o_tmpmemctx ); + nf->f_choice = LDAP_FILTER_EQUALITY; + nf->f_av_desc = ad; + nf->f_av_value = dp->dp_ndn; + f = op->o_tmpalloc( sizeof(Filter), op->o_tmpmemctx ); + f->f_next = nf; + t = ldap_tavl_next( t, TAVL_DIR_LEFT ); + op->o_tmpfree( dp, op->o_tmpmemctx ); + } while ( t ); + ldap_tavl_free( gi.gi_DNs, NULL ); + f->f_choice = LDAP_FILTER_EQUALITY; + f->f_ava = mof_f[i].nf_f->f_ava; + mof_f[i].nf_new = f; + } + } +} + +static void +nestgroup_memberOfVals( Operation *op, slap_overinst *on, Attribute *a ) +{ + nestgroup_info_t *ngi = on->on_bi.bi_private; + Operation o = *op; + slap_callback *sc; + gdn_info *gi; + Filter mf; + AttributeAssertion mava; + int i; + + o.o_managedsait = SLAP_CONTROL_CRITICAL; + sc = op->o_tmpcalloc( 1, sizeof(slap_callback) + sizeof(gdn_info), op->o_tmpmemctx); + gi = (gdn_info *)(sc+1); + gi->gi_ngi = ngi; + o.o_callback = sc; + sc->sc_response = nestgroup_gotDNresp; + o.ors_attrs = slap_anlist_no_attrs; + + mf.f_choice = LDAP_FILTER_EQUALITY; + mf.f_ava = &mava; + mf.f_av_desc = ngi->ngi_member; + mf.f_next = NULL; + + o.ors_filter = &mf; + o.ors_scope = LDAP_SCOPE_SUBTREE; + o.ors_deref = LDAP_DEREF_NEVER; + o.ors_limit = NULL; + o.ors_tlimit = SLAP_NO_LIMIT; + o.ors_slimit = SLAP_NO_LIMIT; + o.o_bd->bd_info = (BackendInfo *)on->on_info; + gi->gi_saveDN = 1; + + for ( i=0; ia_numvals; i++ ) { + nestgroup_get_parentDNs( &o, &a->a_nvals[i] ); + + while ( gi->gi_DNlist ) { + DNpair *dp = gi->gi_DNlist; + gi->gi_DNlist = NULL; + for ( ; dp; dp=dp->dp_next ) { + nestgroup_get_parentDNs( &o, &dp->dp_ndn ); + } + } + } + if ( gi->gi_DNs ) { + TAvlnode *p = ldap_tavl_end( gi->gi_DNs, TAVL_DIR_LEFT ); + int flags = SLAP_MR_ASSERTED_VALUE_NORMALIZED_MATCH|SLAP_MR_ATTRIBUTE_VALUE_NORMALIZED_MATCH; + do { + DNpair *dp = p->avl_data; + int rc = attr_valfind( a, flags, &dp->dp_ndn, NULL, NULL ); + if ( rc ) + attr_valadd( a, &dp->dp_dn, &dp->dp_ndn, 1 ); + op->o_tmpfree( dp->dp_dn.bv_val, op->o_tmpmemctx ); + op->o_tmpfree( dp->dp_ndn.bv_val, op->o_tmpmemctx ); + op->o_tmpfree( dp, op->o_tmpmemctx ); + p = ldap_tavl_next( p, TAVL_DIR_RIGHT ); + } while ( p ); + ldap_tavl_free( gi->gi_DNs, NULL ); + } + o.o_bd->bd_info = (BackendInfo *)on->on_info; + op->o_tmpfree( sc, op->o_tmpmemctx ); +} + +typedef struct nestgroup_cbinfo { + slap_overinst *nc_on; + int nc_needed; +} nestgroup_cbinfo; + +static int +nestgroup_searchresp( Operation *op, SlapReply *rs ) +{ + if (rs->sr_type == REP_SEARCH ) { + nestgroup_cbinfo *nc = op->o_callback->sc_private; + slap_overinst *on = nc->nc_on; + nestgroup_info_t *ngi = on->on_bi.bi_private; + Attribute *a; + + if ( nc->nc_needed & NG_MBR_VALUES ) { + a = attr_find( rs->sr_entry->e_attrs, ngi->ngi_member ); + if ( a ) { + gdn_info gi = {0}; + int i, j; + if ( !( rs->sr_flags & REP_ENTRY_MODIFIABLE )) { + Entry *e = entry_dup( rs->sr_entry ); + rs_replace_entry( op, rs, on, e ); + rs->sr_flags |= REP_ENTRY_MODIFIABLE | REP_ENTRY_MUSTBEFREED; + a = attr_find( e->e_attrs, ngi->ngi_member ); + } + gi.gi_merge = a; + + for ( i=0; ia_numvals; i++ ) { + for ( j=0; !BER_BVISEMPTY( &ngi->ngi_ngroupBase[j] ); j++ ) { + if ( dnIsSuffix( &a->a_nvals[i], &ngi->ngi_ngroupBase[j] )) { + nestgroup_get_childDNs( op, on, &gi, &a->a_nvals[i] ); + + while ( gi.gi_DNlist ) { + DNpair *dp = gi.gi_DNlist; + gi.gi_DNlist = NULL; + for ( ; dp; dp=dp->dp_next ) { + nestgroup_get_childDNs( op, on, &gi, &dp->dp_ndn ); + } + } + break; + } + } + } + if ( gi.gi_numDNs ) { + TAvlnode *p = ldap_tavl_end( gi.gi_DNs, TAVL_DIR_LEFT ); + do { + DNpair *dp = p->avl_data; + op->o_tmpfree( dp->dp_ndn.bv_val, op->o_tmpmemctx ); + op->o_tmpfree( dp, op->o_tmpmemctx ); + p = ldap_tavl_next( p, TAVL_DIR_RIGHT ); + } while ( p ); + ldap_tavl_free( gi.gi_DNs, NULL ); + } + } + } + + if ( nc->nc_needed & NG_MOF_VALUES ) { + a = attr_find( rs->sr_entry->e_attrs, ngi->ngi_memberOf ); + if ( a ) { + if ( !( rs->sr_flags & REP_ENTRY_MODIFIABLE )) { + Entry *e = entry_dup( rs->sr_entry ); + rs_replace_entry( op, rs, on, e ); + rs->sr_flags |= REP_ENTRY_MODIFIABLE | REP_ENTRY_MUSTBEFREED; + a = attr_find( e->e_attrs, ngi->ngi_memberOf ); + } + nestgroup_memberOfVals( op, on, a ); + } + } + if (( nc->nc_needed & NG_NEGATED ) && + test_filter( op, rs->sr_entry, op->ors_filter ) != LDAP_COMPARE_TRUE ) + return 0; + } + return SLAP_CB_CONTINUE; +} + +static int +nestgroup_op_search( Operation *op, SlapReply *rs ) +{ + slap_overinst *on = (slap_overinst *) op->o_bd->bd_info; + nestgroup_info_t *ngi = on->on_bi.bi_private; + int mbr_nf = 0, mof_nf = 0, negated = 0; + nestgroup_filterinst_t *mbr_f = NULL, *mof_f = NULL; + + if ( get_manageDSAit( op )) + return SLAP_CB_CONTINUE; + + /* groupBase must be explicitly configured */ + if ( !ngi->ngi_ngroupBase ) + return SLAP_CB_CONTINUE; + + /* handle attrs in filter */ + if ( ngi->ngi_flags & NG_MBR_FILTER ) { + nestgroup_filter_instances( op, ngi->ngi_member, op->ors_filter, 0, &mbr_nf, &mbr_f, &negated ); + if ( mbr_nf ) { + /* find member=(parent groups) */ + nestgroup_memberFilter( op, mbr_nf, mbr_f ); + } + } + if ( ngi->ngi_flags & NG_MOF_FILTER ) { + nestgroup_filter_instances( op, ngi->ngi_memberOf, op->ors_filter, 0, &mof_nf, &mof_f, &negated ); + if ( mof_nf ) { + /* find memberOf=(child groups) */ + nestgroup_memberOfFilter( op, mof_nf, mof_f ); + } + } + if ( mbr_nf ) { + int i; + for ( i=0; if_choice = LDAP_FILTER_OR; + mbr_f[i].nf_f->f_list = mbr_f[i].nf_new; + } + } + op->o_tmpfree( mbr_f, op->o_tmpmemctx ); + } + if ( mof_nf ) { + int i; + for ( i=0; if_choice = LDAP_FILTER_OR; + mof_f[i].nf_f->f_list = mof_f[i].nf_new; + } + } + op->o_tmpfree( mof_f, op->o_tmpmemctx ); + } + + if ( ngi->ngi_flags & ( NG_MBR_VALUES|NG_MOF_VALUES )) { + /* check for attrs in attrlist */ + int attrflags = slap_attr_flags( op->ors_attrs ); + int needed = 0; + if (( ngi->ngi_flags & NG_MBR_VALUES ) && + nestgroup_check_needed( op, attrflags, ngi->ngi_member )) { + /* collect all members from child groups */ + needed |= NG_MBR_VALUES; + } + if (( ngi->ngi_flags & NG_MOF_VALUES ) && + nestgroup_check_needed( op, attrflags, ngi->ngi_memberOf )) { + /* collect DNs of all parent groups */ + needed |= NG_MOF_VALUES; + } + if ( needed ) { + nestgroup_cbinfo *nc; + slap_callback *sc = op->o_tmpcalloc( 1, sizeof(slap_callback)+sizeof(nestgroup_cbinfo), op->o_tmpmemctx ); + nc = (nestgroup_cbinfo *)(sc+1); + sc->sc_private = nc; + nc->nc_needed = needed; + nc->nc_on = on; + sc->sc_response = nestgroup_searchresp; + sc->sc_next = op->o_callback; + op->o_callback = sc; + if ( negated ) nc->nc_needed |= NG_NEGATED; + } + } + return SLAP_CB_CONTINUE; +} + +static int +nestgroup_db_init( + BackendDB *be, + ConfigReply *cr) +{ + slap_overinst *on = (slap_overinst *)be->bd_info; + nestgroup_info_t *ngi; + int rc; + const char *text = NULL; + + ngi = (nestgroup_info_t *)ch_calloc( 1, sizeof( *ngi )); + on->on_bi.bi_private = ngi; + + if ( !ad_memberOf ) { + rc = slap_str2ad( SLAPD_MEMBEROF_ATTR, &ad_memberOf, &text ); + if ( rc != LDAP_SUCCESS ) { + Debug( LDAP_DEBUG_ANY, "nestgroup_db_init: " + "unable to find attribute=\"%s\": %s (%d)\n", + SLAPD_MEMBEROF_ATTR, text, rc ); + return rc; + } + } + + if ( !ad_member ) { + rc = slap_str2ad( SLAPD_GROUP_ATTR, &ad_member, &text ); + if ( rc != LDAP_SUCCESS ) { + Debug( LDAP_DEBUG_ANY, "nestgroup_db_init: " + "unable to find attribute=\"%s\": %s (%d)\n", + SLAPD_GROUP_ATTR, text, rc ); + return rc; + } + } + + return 0; +} + +static int +nestgroup_db_open( + BackendDB *be, + ConfigReply *cr) +{ + slap_overinst *on = (slap_overinst *)be->bd_info; + nestgroup_info_t *ngi = on->on_bi.bi_private; + + if ( !ngi->ngi_member ) + ngi->ngi_member = ad_member; + + if ( !ngi->ngi_memberOf ) + ngi->ngi_memberOf = ad_memberOf; + + return 0; +} + +static int +nestgroup_db_destroy( + BackendDB *be, + ConfigReply *cr +) +{ + slap_overinst *on = (slap_overinst *) be->bd_info; + nestgroup_info_t *ngi = on->on_bi.bi_private; + + ber_bvarray_free( ngi->ngi_groupBase ); + ber_bvarray_free( ngi->ngi_ngroupBase ); + ch_free( ngi ); + + return 0; +} + +static slap_overinst nestgroup; + +/* This overlay is set up for dynamic loading via moduleload. For static + * configuration, you'll need to arrange for the slap_overinst to be + * initialized and registered by some other function inside slapd. + */ + +int nestgroup_initialize() { + int code; + + code = register_at( + "( 1.2.840.113556.1.2.102 " + "NAME 'memberOf' " + "DESC 'Group that the entry belongs to' " + "SYNTAX '1.3.6.1.4.1.1466.115.121.1.12' " + "EQUALITY distinguishedNameMatch " /* added */ + "USAGE dSAOperation " /* added; questioned */ + "NO-USER-MODIFICATION " /* added */ + "X-ORIGIN 'iPlanet Delegated Administrator' )", + &ad_memberOf, 0 ); + if ( code && code != SLAP_SCHERR_ATTR_DUP ) { + Debug( LDAP_DEBUG_ANY, + "nestgroup_initialize: register_at (memberOf) failed\n" ); + return code; + } + + nestgroup.on_bi.bi_type = "nestgroup"; + nestgroup.on_bi.bi_db_init = nestgroup_db_init; + nestgroup.on_bi.bi_db_open = nestgroup_db_open; + nestgroup.on_bi.bi_db_destroy = nestgroup_db_destroy; + + nestgroup.on_bi.bi_op_search = nestgroup_op_search; +/* nestgroup.on_bi.bi_op_compare = nestgroup_op_compare; */ + + nestgroup.on_bi.bi_cf_ocs = ngroupocs; + code = config_register_schema( ngroupcfg, ngroupocs ); + if ( code ) return code; + + return overlay_register( &nestgroup ); +} + +#if SLAPD_OVER_NESTGROUP == SLAPD_MOD_DYNAMIC +int +init_module( int argc, char *argv[] ) +{ + return nestgroup_initialize(); +} +#endif + +#endif /* defined(SLAPD_OVER_NESTGROUP) */ diff --git a/servers/slapd/overlays/otp.c b/servers/slapd/overlays/otp.c index 590ee50..b39c186 100644 --- a/servers/slapd/overlays/otp.c +++ b/servers/slapd/overlays/otp.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2015-2022 The OpenLDAP Foundation. + * Copyright 2015-2024 The OpenLDAP Foundation. * Portions Copyright 2015 by Howard Chu, Symas Corp. * Portions Copyright 2016-2017 by Michael Ströder * Portions Copyright 2018 by Ondřej Kuzník, Symas Corp. diff --git a/servers/slapd/overlays/overlays.c b/servers/slapd/overlays/overlays.c index 8290200..6ee4395 100644 --- a/servers/slapd/overlays/overlays.c +++ b/servers/slapd/overlays/overlays.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Copyright 2003 by Howard Chu. * All rights reserved. * diff --git a/servers/slapd/overlays/pcache.c b/servers/slapd/overlays/pcache.c index 2b947e4..3a1e18a 100644 --- a/servers/slapd/overlays/pcache.c +++ b/servers/slapd/overlays/pcache.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2003 IBM Corporation. * Portions Copyright 2003-2009 Symas Corporation. * All rights reserved. diff --git a/servers/slapd/overlays/ppolicy.c b/servers/slapd/overlays/ppolicy.c index 29a77c8..0cdba70 100644 --- a/servers/slapd/overlays/ppolicy.c +++ b/servers/slapd/overlays/ppolicy.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004-2005 Howard Chu, Symas Corporation. * Portions Copyright 2004 Hewlett-Packard Company. * All rights reserved. diff --git a/servers/slapd/overlays/refint.c b/servers/slapd/overlays/refint.c index 201803b..77935a7 100644 --- a/servers/slapd/overlays/refint.c +++ b/servers/slapd/overlays/refint.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 Symas Corporation. * All rights reserved. * @@ -603,6 +603,7 @@ refint_repair( op->o_ndn = op->o_bd->be_rootndn; cache = op->o_do_not_cache; op->o_do_not_cache = 1; + op->o_abandon = 0; /* search */ rc = op->o_bd->be_search( op, &rs ); diff --git a/servers/slapd/overlays/remoteauth.c b/servers/slapd/overlays/remoteauth.c index 1d60af0..63f784e 100644 --- a/servers/slapd/overlays/remoteauth.c +++ b/servers/slapd/overlays/remoteauth.c @@ -2,7 +2,7 @@ /* remoteauth.c - Overlay to delegate bind processing to a remote server */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2017-2021 Ondřej Kuzník, Symas Corporation. * Portions Copyright 2004-2017 Howard Chu, Symas Corporation. * Portions Copyright 2004 Hewlett-Packard Company. diff --git a/servers/slapd/overlays/retcode.c b/servers/slapd/overlays/retcode.c index 15052e0..85b8f74 100644 --- a/servers/slapd/overlays/retcode.c +++ b/servers/slapd/overlays/retcode.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2022 The OpenLDAP Foundation. + * Copyright 2005-2024 The OpenLDAP Foundation. * Portions Copyright 2005 Pierangelo Masarati * All rights reserved. * diff --git a/servers/slapd/overlays/rwm.c b/servers/slapd/overlays/rwm.c index af10f6d..d12d7b3 100644 --- a/servers/slapd/overlays/rwm.c +++ b/servers/slapd/overlays/rwm.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2003 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/overlays/rwm.h b/servers/slapd/overlays/rwm.h index 6753737..1504699 100644 --- a/servers/slapd/overlays/rwm.h +++ b/servers/slapd/overlays/rwm.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/overlays/rwmconf.c b/servers/slapd/overlays/rwmconf.c index a1a9f36..4b3c690 100644 --- a/servers/slapd/overlays/rwmconf.c +++ b/servers/slapd/overlays/rwmconf.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/overlays/rwmdn.c b/servers/slapd/overlays/rwmdn.c index c67e3cf..fd53002 100644 --- a/servers/slapd/overlays/rwmdn.c +++ b/servers/slapd/overlays/rwmdn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/overlays/rwmmap.c b/servers/slapd/overlays/rwmmap.c index 74ffd05..90a800c 100644 --- a/servers/slapd/overlays/rwmmap.c +++ b/servers/slapd/overlays/rwmmap.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * Portions Copyright 1999-2003 Howard Chu. * Portions Copyright 2000-2003 Pierangelo Masarati. * All rights reserved. diff --git a/servers/slapd/overlays/seqmod.c b/servers/slapd/overlays/seqmod.c index 503d6a6..64c1c33 100644 --- a/servers/slapd/overlays/seqmod.c +++ b/servers/slapd/overlays/seqmod.c @@ -1,7 +1,7 @@ /* seqmod.c - sequenced modifies */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/overlays/sssvlv.c b/servers/slapd/overlays/sssvlv.c index 828782a..95803d9 100644 --- a/servers/slapd/overlays/sssvlv.c +++ b/servers/slapd/overlays/sssvlv.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2009-2022 The OpenLDAP Foundation. + * Copyright 2009-2024 The OpenLDAP Foundation. * Portions copyright 2009 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/overlays/syncprov.c b/servers/slapd/overlays/syncprov.c index f208846..6739e24 100644 --- a/servers/slapd/overlays/syncprov.c +++ b/servers/slapd/overlays/syncprov.c @@ -2,7 +2,7 @@ /* syncprov.c - syncrepl provider */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without @@ -3878,14 +3878,14 @@ sp_cf_gen(ConfigArgs *c) break; case SP_NOPRES: si->si_nopres = c->value_int; - break; - case SP_USEHINT: - si->si_usehint = c->value_int; - if ( si->si_usehint ) { + if ( si->si_nopres ) { /* Consider we might be a delta provider, but it's ok if not */ (void)syncprov_setup_accesslog(); } break; + case SP_USEHINT: + si->si_usehint = c->value_int; + break; case SP_LOGDB: if ( si->si_logs ) { Debug( LDAP_DEBUG_ANY, "syncprov_config: while configuring " diff --git a/servers/slapd/overlays/translucent.c b/servers/slapd/overlays/translucent.c index 09b12dc..0b2fa4c 100644 --- a/servers/slapd/overlays/translucent.c +++ b/servers/slapd/overlays/translucent.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2005 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/overlays/unique.c b/servers/slapd/overlays/unique.c index 561d86d..c3913af 100644 --- a/servers/slapd/overlays/unique.c +++ b/servers/slapd/overlays/unique.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004,2006-2007 Symas Corporation. * All rights reserved. * diff --git a/servers/slapd/overlays/valsort.c b/servers/slapd/overlays/valsort.c index 3d998e2..6cc95f7 100644 --- a/servers/slapd/overlays/valsort.c +++ b/servers/slapd/overlays/valsort.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2022 The OpenLDAP Foundation. + * Copyright 2005-2024 The OpenLDAP Foundation. * Portions copyright 2005 Symas Corporation. * All rights reserved. * @@ -201,7 +201,7 @@ valsort_cf_func(ConfigArgs *c) { return(1); } - for ( vip = &on->on_bi.bi_private; *vip; vip = &(*vip)->vi_next ) + for ( vip = (valsort_info **)&on->on_bi.bi_private; *vip; vip = &(*vip)->vi_next ) /* Get to the end */ ; vi = ch_malloc( sizeof(valsort_info) ); diff --git a/servers/slapd/passwd.c b/servers/slapd/passwd.c index b6b1ddb..942c2a2 100644 --- a/servers/slapd/passwd.c +++ b/servers/slapd/passwd.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/phonetic.c b/servers/slapd/phonetic.c index ed3641c..c6ec98f 100644 --- a/servers/slapd/phonetic.c +++ b/servers/slapd/phonetic.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/proto-slap.h b/servers/slapd/proto-slap.h index 4b223ec..0d58ddb 100644 --- a/servers/slapd/proto-slap.h +++ b/servers/slapd/proto-slap.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/proxyp.c b/servers/slapd/proxyp.c index c548bca..205bf26 100644 --- a/servers/slapd/proxyp.c +++ b/servers/slapd/proxyp.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/pwmods/Makefile.in b/servers/slapd/pwmods/Makefile.in index e8d76b8..1845c8d 100644 --- a/servers/slapd/pwmods/Makefile.in +++ b/servers/slapd/pwmods/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2003-2022 The OpenLDAP Foundation. +## Copyright 2003-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/pwmods/README.argon2 b/servers/slapd/pwmods/README.argon2 index 33c562b..adb076f 100644 --- a/servers/slapd/pwmods/README.argon2 +++ b/servers/slapd/pwmods/README.argon2 @@ -83,7 +83,7 @@ $ ldapsearch -b "dc=example,dc=com" -D "uid=jturner,ou=People,dc=example,dc=com" This work is part of OpenLDAP Software . -Copyright 2017-2022 The OpenLDAP Foundation. +Copyright 2017-2024 The OpenLDAP Foundation. All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/pwmods/argon2.c b/servers/slapd/pwmods/argon2.c index f3f7b4c..68d4ad7 100644 --- a/servers/slapd/pwmods/argon2.c +++ b/servers/slapd/pwmods/argon2.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2017-2022 The OpenLDAP Foundation. + * Copyright 2017-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/referral.c b/servers/slapd/referral.c index 57465c0..519cc7c 100644 --- a/servers/slapd/referral.c +++ b/servers/slapd/referral.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/result.c b/servers/slapd/result.c index a928e95..56ca2c2 100644 --- a/servers/slapd/result.c +++ b/servers/slapd/result.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/root_dse.c b/servers/slapd/root_dse.c index 368bd9b..4deb730 100644 --- a/servers/slapd/root_dse.c +++ b/servers/slapd/root_dse.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1999-2022 The OpenLDAP Foundation. + * Copyright 1999-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/sasl.c b/servers/slapd/sasl.c index 1e17304..fff68a2 100644 --- a/servers/slapd/sasl.c +++ b/servers/slapd/sasl.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/saslauthz.c b/servers/slapd/saslauthz.c index 181f40f..744a514 100644 --- a/servers/slapd/saslauthz.c +++ b/servers/slapd/saslauthz.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 2000 Mark Adamson, Carnegie Mellon. * All rights reserved. * diff --git a/servers/slapd/schema.c b/servers/slapd/schema.c index a98f0c6..ea3b41b 100644 --- a/servers/slapd/schema.c +++ b/servers/slapd/schema.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/README b/servers/slapd/schema/README index 9ae23ca..13f9d66 100644 --- a/servers/slapd/schema/README +++ b/servers/slapd/schema/README @@ -36,7 +36,7 @@ convert schema files in general. This notice applies to all files in this directory. -Copyright 1998-2022 The OpenLDAP Foundation, Redwood City, California, USA +Copyright 1998-2024 The OpenLDAP Foundation, Redwood City, California, USA All rights reserved. Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/collective.ldif b/servers/slapd/schema/collective.ldif index fa62326..eab42bf 100644 --- a/servers/slapd/schema/collective.ldif +++ b/servers/slapd/schema/collective.ldif @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/corba.ldif b/servers/slapd/schema/corba.ldif index 2933932..622572b 100644 --- a/servers/slapd/schema/corba.ldif +++ b/servers/slapd/schema/corba.ldif @@ -3,7 +3,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/cosine.ldif b/servers/slapd/schema/cosine.ldif index 311d9ce..61d02f5 100644 --- a/servers/slapd/schema/cosine.ldif +++ b/servers/slapd/schema/cosine.ldif @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/dsee.ldif b/servers/slapd/schema/dsee.ldif index 798fe51..c970cf1 100644 --- a/servers/slapd/schema/dsee.ldif +++ b/servers/slapd/schema/dsee.ldif @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2019-2022 The OpenLDAP Foundation. +## Copyright 2019-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/dsee.schema b/servers/slapd/schema/dsee.schema index 18a9190..79be215 100644 --- a/servers/slapd/schema/dsee.schema +++ b/servers/slapd/schema/dsee.schema @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2019-2022 The OpenLDAP Foundation. +## Copyright 2019-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/duaconf.ldif b/servers/slapd/schema/duaconf.ldif index 2bfd5a0..13d82ac 100644 --- a/servers/slapd/schema/duaconf.ldif +++ b/servers/slapd/schema/duaconf.ldif @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/dyngroup.ldif b/servers/slapd/schema/dyngroup.ldif index 7383091..5809c50 100644 --- a/servers/slapd/schema/dyngroup.ldif +++ b/servers/slapd/schema/dyngroup.ldif @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/dyngroup.schema b/servers/slapd/schema/dyngroup.schema index f756c33..66417ae 100644 --- a/servers/slapd/schema/dyngroup.schema +++ b/servers/slapd/schema/dyngroup.schema @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/inetorgperson.ldif b/servers/slapd/schema/inetorgperson.ldif index 780f848..a8deccc 100644 --- a/servers/slapd/schema/inetorgperson.ldif +++ b/servers/slapd/schema/inetorgperson.ldif @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/java.ldif b/servers/slapd/schema/java.ldif index 74f202e..2bc46f0 100644 --- a/servers/slapd/schema/java.ldif +++ b/servers/slapd/schema/java.ldif @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/misc.ldif b/servers/slapd/schema/misc.ldif index a77a7e3..74de21e 100644 --- a/servers/slapd/schema/misc.ldif +++ b/servers/slapd/schema/misc.ldif @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/misc.schema b/servers/slapd/schema/misc.schema index 150abbc..d3cc8c3 100644 --- a/servers/slapd/schema/misc.schema +++ b/servers/slapd/schema/misc.schema @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/msuser.ldif b/servers/slapd/schema/msuser.ldif index 9211c91..cab9916 100644 --- a/servers/slapd/schema/msuser.ldif +++ b/servers/slapd/schema/msuser.ldif @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2018-2022 The OpenLDAP Foundation. +## Copyright 2018-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/msuser.schema b/servers/slapd/schema/msuser.schema index 4cce48f..5870d46 100644 --- a/servers/slapd/schema/msuser.schema +++ b/servers/slapd/schema/msuser.schema @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2018-2022 The OpenLDAP Foundation. +## Copyright 2018-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/namedobject.ldif b/servers/slapd/schema/namedobject.ldif index d2c2e24..34e6b2f 100644 --- a/servers/slapd/schema/namedobject.ldif +++ b/servers/slapd/schema/namedobject.ldif @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 2021-2022 The OpenLDAP Foundation. +## Copyright 2021-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/nis.ldif b/servers/slapd/schema/nis.ldif index f623e29..55facdf 100644 --- a/servers/slapd/schema/nis.ldif +++ b/servers/slapd/schema/nis.ldif @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/nis.schema b/servers/slapd/schema/nis.schema index 1322fe5..20c59a9 100644 --- a/servers/slapd/schema/nis.schema +++ b/servers/slapd/schema/nis.schema @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/openldap.ldif b/servers/slapd/schema/openldap.ldif index ef44da3..1f0bf45 100644 --- a/servers/slapd/schema/openldap.ldif +++ b/servers/slapd/schema/openldap.ldif @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/openldap.schema b/servers/slapd/schema/openldap.schema index ae27205..383b97f 100644 --- a/servers/slapd/schema/openldap.schema +++ b/servers/slapd/schema/openldap.schema @@ -1,7 +1,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema/pmi.ldif b/servers/slapd/schema/pmi.ldif index c6d9cc3..29616b7 100644 --- a/servers/slapd/schema/pmi.ldif +++ b/servers/slapd/schema/pmi.ldif @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## All rights reserved. ## ## Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema_check.c b/servers/slapd/schema_check.c index b6090be..6331bdb 100644 --- a/servers/slapd/schema_check.c +++ b/servers/slapd/schema_check.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema_init.c b/servers/slapd/schema_init.c index 4564043..5c0c6c9 100644 --- a/servers/slapd/schema_init.c +++ b/servers/slapd/schema_init.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schema_prep.c b/servers/slapd/schema_prep.c index b8793f5..fbf44cf 100644 --- a/servers/slapd/schema_prep.c +++ b/servers/slapd/schema_prep.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/schemaparse.c b/servers/slapd/schemaparse.c index a13c89c..55f8028 100644 --- a/servers/slapd/schemaparse.c +++ b/servers/slapd/schemaparse.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/search.c b/servers/slapd/search.c index 7846f0f..993923e 100644 --- a/servers/slapd/search.c +++ b/servers/slapd/search.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/sets.c b/servers/slapd/sets.c index 9ab2b36..ad3c70e 100644 --- a/servers/slapd/sets.c +++ b/servers/slapd/sets.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2000-2022 The OpenLDAP Foundation. + * Copyright 2000-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/sets.h b/servers/slapd/sets.h index c2b7673..f930d63 100644 --- a/servers/slapd/sets.h +++ b/servers/slapd/sets.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/sl_malloc.c b/servers/slapd/sl_malloc.c index 9765bc3..8ac07db 100644 --- a/servers/slapd/sl_malloc.c +++ b/servers/slapd/sl_malloc.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/slap-cfglog.h b/servers/slapd/slap-cfglog.h index 1ad67ff..3c5a99c 100644 --- a/servers/slapd/slap-cfglog.h +++ b/servers/slapd/slap-cfglog.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/slap-config.h b/servers/slapd/slap-config.h index ed67474..6e32ae1 100644 --- a/servers/slapd/slap-config.h +++ b/servers/slapd/slap-config.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/slap.h b/servers/slapd/slap.h index 946e552..3df63e0 100644 --- a/servers/slapd/slap.h +++ b/servers/slapd/slap.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/slapacl.c b/servers/slapd/slapacl.c index f5bdd09..9c67e5e 100644 --- a/servers/slapd/slapacl.c +++ b/servers/slapd/slapacl.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/slapadd.c b/servers/slapd/slapadd.c index 056d80a..de848b3 100644 --- a/servers/slapd/slapadd.c +++ b/servers/slapd/slapadd.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 1998-2003 Kurt D. Zeilenga. * Portions Copyright 2003 IBM Corporation. * All rights reserved. diff --git a/servers/slapd/slapauth.c b/servers/slapd/slapauth.c index 19cdcaf..edfa77b 100644 --- a/servers/slapd/slapauth.c +++ b/servers/slapd/slapauth.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/slapcat.c b/servers/slapd/slapcat.c index 6f580e7..91775f0 100644 --- a/servers/slapd/slapcat.c +++ b/servers/slapd/slapcat.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 1998-2003 Kurt D. Zeilenga. * Portions Copyright 2003 IBM Corporation. * All rights reserved. diff --git a/servers/slapd/slapcommon.c b/servers/slapd/slapcommon.c index 374d08f..8353ae2 100644 --- a/servers/slapd/slapcommon.c +++ b/servers/slapd/slapcommon.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 1998-2003 Kurt D. Zeilenga. * Portions Copyright 2003 IBM Corporation. * All rights reserved. diff --git a/servers/slapd/slapcommon.h b/servers/slapd/slapcommon.h index f0de178..7fe0695 100644 --- a/servers/slapd/slapcommon.h +++ b/servers/slapd/slapcommon.h @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/slapdn.c b/servers/slapd/slapdn.c index d38322e..03d686f 100644 --- a/servers/slapd/slapdn.c +++ b/servers/slapd/slapdn.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/slapi/Makefile.in b/servers/slapd/slapi/Makefile.in index 32ade0c..2ffb5b2 100644 --- a/servers/slapd/slapi/Makefile.in +++ b/servers/slapd/slapi/Makefile.in @@ -2,7 +2,7 @@ # $OpenLDAP$ ## This work is part of OpenLDAP Software . ## -## Copyright 1998-2022 The OpenLDAP Foundation. +## Copyright 1998-2024 The OpenLDAP Foundation. ## Portions Copyright IBM Corp. 1997,2002,2003 ## All rights reserved. ## diff --git a/servers/slapd/slapi/plugin.c b/servers/slapd/slapi/plugin.c index ca5dbea..e75b0c1 100644 --- a/servers/slapd/slapi/plugin.c +++ b/servers/slapd/slapi/plugin.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * Portions Copyright 1997,2002-2003 IBM Corporation. * All rights reserved. * @@ -694,7 +694,7 @@ slapi_int_read_config( int rc; Slapi_PBlock *pPlugin; - pPlugin = plugin_pblock_new( iType, numPluginArgc, c->argv ); + pPlugin = plugin_pblock_new( iType, numPluginArgc, c ); if (pPlugin == NULL) { return 1; } diff --git a/servers/slapd/slapi/printmsg.c b/servers/slapd/slapi/printmsg.c index 5251846..52283b9 100644 --- a/servers/slapd/slapi/printmsg.c +++ b/servers/slapd/slapi/printmsg.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * Portions Copyright 1997,2002-2003 IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/slapi/proto-slapi.h b/servers/slapd/slapi/proto-slapi.h index e9eb76b..219e8a1 100644 --- a/servers/slapd/slapi/proto-slapi.h +++ b/servers/slapd/slapi/proto-slapi.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * Portions Copyright 1997,2002-2003 IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/slapi/slapi.h b/servers/slapd/slapi/slapi.h index 14d6bc1..127e882 100644 --- a/servers/slapd/slapi/slapi.h +++ b/servers/slapd/slapi/slapi.h @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * Portions Copyright 1997,2002-2003 IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/slapi/slapi_dn.c b/servers/slapd/slapi/slapi_dn.c index 32d04d2..db4c5c2 100644 --- a/servers/slapd/slapi/slapi_dn.c +++ b/servers/slapd/slapi/slapi_dn.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2005-2022 The OpenLDAP Foundation. + * Copyright 2005-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/slapi/slapi_ext.c b/servers/slapd/slapi/slapi_ext.c index 81a50f1..3e5da25 100644 --- a/servers/slapd/slapi/slapi_ext.c +++ b/servers/slapd/slapi/slapi_ext.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/slapi/slapi_ops.c b/servers/slapd/slapi/slapi_ops.c index afec4bd..89dcc1a 100644 --- a/servers/slapd/slapi/slapi_ops.c +++ b/servers/slapd/slapi/slapi_ops.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * Portions Copyright 1997,2002-2003 IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/slapi/slapi_overlay.c b/servers/slapd/slapi/slapi_overlay.c index b01793b..1516f0b 100644 --- a/servers/slapd/slapi/slapi_overlay.c +++ b/servers/slapd/slapi/slapi_overlay.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2001-2022 The OpenLDAP Foundation. + * Copyright 2001-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/slapi/slapi_pblock.c b/servers/slapd/slapi/slapi_pblock.c index 2c0afda..98a0efe 100644 --- a/servers/slapd/slapi/slapi_pblock.c +++ b/servers/slapd/slapi/slapi_pblock.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * Portions Copyright 1997,2002-2003 IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/slapi/slapi_utils.c b/servers/slapd/slapi/slapi_utils.c index c459122..37d385d 100644 --- a/servers/slapd/slapi/slapi_utils.c +++ b/servers/slapd/slapi/slapi_utils.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2002-2022 The OpenLDAP Foundation. + * Copyright 2002-2024 The OpenLDAP Foundation. * Portions Copyright 1997,2002-2003 IBM Corporation. * All rights reserved. * diff --git a/servers/slapd/slapindex.c b/servers/slapd/slapindex.c index 8400e82..a933884 100644 --- a/servers/slapd/slapindex.c +++ b/servers/slapd/slapindex.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 1998-2003 Kurt D. Zeilenga. * All rights reserved. * diff --git a/servers/slapd/slapmodify.c b/servers/slapd/slapmodify.c index d59eba6..7dbdb0d 100644 --- a/servers/slapd/slapmodify.c +++ b/servers/slapd/slapmodify.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 1998-2003 Kurt D. Zeilenga. * Portions Copyright 2003 IBM Corporation. * All rights reserved. diff --git a/servers/slapd/slappasswd.c b/servers/slapd/slappasswd.c index e384364..044b9d4 100644 --- a/servers/slapd/slappasswd.c +++ b/servers/slapd/slappasswd.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 1998-2003 Kurt D. Zeilenga. * All rights reserved. * diff --git a/servers/slapd/slapschema.c b/servers/slapd/slapschema.c index f1d1d18..768da33 100644 --- a/servers/slapd/slapschema.c +++ b/servers/slapd/slapschema.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 1998-2003 Kurt D. Zeilenga. * Portions Copyright 2003 IBM Corporation. * All rights reserved. diff --git a/servers/slapd/slaptest.c b/servers/slapd/slaptest.c index 4992147..f9af027 100644 --- a/servers/slapd/slaptest.c +++ b/servers/slapd/slaptest.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2004-2022 The OpenLDAP Foundation. + * Copyright 2004-2024 The OpenLDAP Foundation. * Portions Copyright 2004 Pierangelo Masarati. * All rights reserved. * diff --git a/servers/slapd/starttls.c b/servers/slapd/starttls.c index 6a3c90b..3a98bbb 100644 --- a/servers/slapd/starttls.c +++ b/servers/slapd/starttls.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/str2filter.c b/servers/slapd/str2filter.c index 8642ec3..5daca5a 100644 --- a/servers/slapd/str2filter.c +++ b/servers/slapd/str2filter.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/syncrepl.c b/servers/slapd/syncrepl.c index 80f73a2..0299b3d 100644 --- a/servers/slapd/syncrepl.c +++ b/servers/slapd/syncrepl.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * Portions Copyright 2003 by IBM Corporation. * Portions Copyright 2003-2008 by Howard Chu, Symas Corporation. * All rights reserved. diff --git a/servers/slapd/syntax.c b/servers/slapd/syntax.c index 0400011..1546e31 100644 --- a/servers/slapd/syntax.c +++ b/servers/slapd/syntax.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/txn.c b/servers/slapd/txn.c index 785a2d5..1ddc2a8 100644 --- a/servers/slapd/txn.c +++ b/servers/slapd/txn.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/unbind.c b/servers/slapd/unbind.c index 7995ac2..13b0963 100644 --- a/servers/slapd/unbind.c +++ b/servers/slapd/unbind.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/user.c b/servers/slapd/user.c index 8adee4f..0a65218 100644 --- a/servers/slapd/user.c +++ b/servers/slapd/user.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * Portions Copyright 1999 PM Lashley. * All rights reserved. * diff --git a/servers/slapd/value.c b/servers/slapd/value.c index 0f0cffc..00e6bed 100644 --- a/servers/slapd/value.c +++ b/servers/slapd/value.c @@ -2,7 +2,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/verbs.c b/servers/slapd/verbs.c index 36c53e3..7571732 100644 --- a/servers/slapd/verbs.c +++ b/servers/slapd/verbs.c @@ -1,7 +1,7 @@ /* $OpenLDAP$ */ /* This work is part of OpenLDAP Software . * - * Copyright 1998-2022 The OpenLDAP Foundation. + * Copyright 1998-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without diff --git a/servers/slapd/zn_malloc.c b/servers/slapd/zn_malloc.c index e2cdc21..70d5409 100644 --- a/servers/slapd/zn_malloc.c +++ b/servers/slapd/zn_malloc.c @@ -2,7 +2,7 @@ /* $OpenLDAP$*/ /* This work is part of OpenLDAP Software . * - * Copyright 2003-2022 The OpenLDAP Foundation. + * Copyright 2003-2024 The OpenLDAP Foundation. * All rights reserved. * * Redistribution and use in source and binary forms, with or without -- cgit v1.2.3