Bug #155492 - allow skipping members for large LDAP installs. Feature not enabled...
authorRobin H. Johnson <robbat2@gentoo.org>
Tue, 6 Feb 2007 04:50:25 +0000 (04:50 +0000)
committerRobin H. Johnson <robbat2@gentoo.org>
Tue, 6 Feb 2007 04:50:25 +0000 (04:50 +0000)
Package-Manager: portage-2.1.2-r7

sys-auth/nss_ldap/ChangeLog
sys-auth/nss_ldap/Manifest
sys-auth/nss_ldap/files/digest-nss_ldap-254 [new file with mode: 0644]
sys-auth/nss_ldap/files/nss_ldap-254-nss_getgrent_skipmembers.patch [new file with mode: 0644]
sys-auth/nss_ldap/nss_ldap-254.ebuild [new file with mode: 0644]

index 83ec5339dadf6aa68b9be432e25fada87ae0d292..9715a3f2220b6e3e921fef9091885b9b40c80fdf 100644 (file)
@@ -1,6 +1,13 @@
 # ChangeLog for sys-auth/nss_ldap
 # Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/sys-auth/nss_ldap/ChangeLog,v 1.38 2007/02/06 04:48:04 robbat2 Exp $
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/nss_ldap/ChangeLog,v 1.39 2007/02/06 04:50:25 robbat2 Exp $
+
+*nss_ldap-254 (06 Feb 2007)
+
+  06 Feb 2007; Robin H. Johnson <robbat2@gentoo.org>
+  +files/nss_ldap-254-nss_getgrent_skipmembers.patch, +nss_ldap-254.ebuild:
+  Bug #155492 - allow skipping members for large LDAP installs. Feature not
+  enabled by default.
 
 *nss_ldap-253-r1 (31 Jan 2007)
 
index 6fbe1b49149ebc0974c62aac00365740bd3e1896..8e26cc82c9f8f655e5564e0619237bf25ccfd5a5 100644 (file)
@@ -14,6 +14,10 @@ AUX nss_ldap-252-reconnect-timeouts.patch 3169 RMD160 f442c89e3065db02aef6fd6023
 MD5 60732935a69fdd5ddedfe204c918f07c files/nss_ldap-252-reconnect-timeouts.patch 3169
 RMD160 f442c89e3065db02aef6fd60235e20db9baadb16 files/nss_ldap-252-reconnect-timeouts.patch 3169
 SHA256 9867267fb7ae1e08f3aa872f3682b12855465bf5bfc9407d75935e54678ab90f files/nss_ldap-252-reconnect-timeouts.patch 3169
+AUX nss_ldap-254-nss_getgrent_skipmembers.patch 7921 RMD160 e9479d357c28e63f24b08fd73023322e8107a632 SHA1 c95b986c02a23a60509ae82c0e4caa155043b8c4 SHA256 4ea143c1c33c771a1868f46a349a71ba2c904a14d8ec23320fa2d500a72c9882
+MD5 20070322d93999cfc7d90f2760d6ea13 files/nss_ldap-254-nss_getgrent_skipmembers.patch 7921
+RMD160 e9479d357c28e63f24b08fd73023322e8107a632 files/nss_ldap-254-nss_getgrent_skipmembers.patch 7921
+SHA256 4ea143c1c33c771a1868f46a349a71ba2c904a14d8ec23320fa2d500a72c9882 files/nss_ldap-254-nss_getgrent_skipmembers.patch 7921
 AUX nsswitch.ldap.diff 575 RMD160 6c429261de3f99eccfb6f613e0d8a499fa798245 SHA1 a2aada398f1db0eb162633d39992646ce513a3b6 SHA256 f3bf121d1fa4e3c0119d36ddd2445bcbbd955e2b7fe2f0fe65ebaa6d2808c43e
 MD5 1fe060c70b1c673346b696dbe194260a files/nsswitch.ldap.diff 575
 RMD160 6c429261de3f99eccfb6f613e0d8a499fa798245 files/nsswitch.ldap.diff 575
@@ -23,6 +27,7 @@ DIST nss_ldap-249.tar.gz 262800 RMD160 d411ab872932707bb38829fa388cf2090ffa4855
 DIST nss_ldap-250.tar.gz 240122 RMD160 52a27c0282d43c0b4e291dceaeeac7fcf43d8ece SHA1 8f53f1f2f0013943631a7439cfecbfa8936ee8de SHA256 555c8fc9585478bc31b25349469685fbb6036cc6895e3761731c2c0e7accf2f0
 DIST nss_ldap-252.tar.gz 228027 RMD160 2748ae6cf76b785bfe5fbab8d650f66d2dd830ef SHA1 a2ac1f394360c1d78f51393f3948cf38c6ef5391 SHA256 ce9dd91ac056c70fd2608dd0b8dad0627bf942c2b24de7e61ac18c50385fac9d
 DIST nss_ldap-253.tar.gz 228278 RMD160 a129985fe6b27a481efa94e07e994cbcdbb6867c SHA1 fb08e794233d4524bcd784fe6d845b0b236a72a2 SHA256 c2caa483d171304f08a7e9a6cad7569ace5bc7f4f297ddd470e940799c6f190c
+DIST nss_ldap-254.tar.gz 228504 RMD160 db8e57be27f0fddca0f285380eb3bd9d7e2a11f9 SHA1 4ef320b99edc0f8fc2e9c3ebf13842490c772c98 SHA256 3bc77bd173b1cbeda8d19a923f3d62ae4ce02c57d5af68b71254fb3896c03730
 EBUILD nss_ldap-239-r1.ebuild 1332 RMD160 c5a2131479d36728cbff0b34ef47a4de446a7196 SHA1 2910eb4e8e6e12d23becf07a57e41f2e4c48335d SHA256 bc64cb4592a7831564d60df2e68e4c41519bf087529895b4cd5c75ae99b7a731
 MD5 0bec2e49ca3b8d321e3d4d66e24dd970 nss_ldap-239-r1.ebuild 1332
 RMD160 c5a2131479d36728cbff0b34ef47a4de446a7196 nss_ldap-239-r1.ebuild 1332
@@ -51,10 +56,14 @@ EBUILD nss_ldap-253.ebuild 1796 RMD160 afe66631c73598603c251bac25ecb06c1b093d18
 MD5 cda549770a26bb7a28dbc578861443e8 nss_ldap-253.ebuild 1796
 RMD160 afe66631c73598603c251bac25ecb06c1b093d18 nss_ldap-253.ebuild 1796
 SHA256 5313c44ef7a840bc64800883499fe75248ed7e4174422425b352234a31530d87 nss_ldap-253.ebuild 1796
-MISC ChangeLog 12199 RMD160 c63dd55d956dbde8222e1a4a5fe90c377058ecf1 SHA1 aaedcb49e1eff6fdf5495e180840194ba85200be SHA256 85ea60f46e928bd2a4ad5b8512a340c71c7d55f86dfe53822d4cc874cb1ab782
-MD5 5abfa70eedba3b90692e01450a0262cf ChangeLog 12199
-RMD160 c63dd55d956dbde8222e1a4a5fe90c377058ecf1 ChangeLog 12199
-SHA256 85ea60f46e928bd2a4ad5b8512a340c71c7d55f86dfe53822d4cc874cb1ab782 ChangeLog 12199
+EBUILD nss_ldap-254.ebuild 2008 RMD160 67b513726939c2c7e9fef855e570067f160bf055 SHA1 74cec6af65ed9d6347ee715ea10a19184cf8daf0 SHA256 ea408c745a66301cc22b2b0fcdc07f0595450d5719bed13199aa3deeebe2cfc0
+MD5 91b1e00ab060b412bed878fbcdaa1195 nss_ldap-254.ebuild 2008
+RMD160 67b513726939c2c7e9fef855e570067f160bf055 nss_ldap-254.ebuild 2008
+SHA256 ea408c745a66301cc22b2b0fcdc07f0595450d5719bed13199aa3deeebe2cfc0 nss_ldap-254.ebuild 2008
+MISC ChangeLog 12456 RMD160 6eab4cd7eef54f53f703a42d7be9cd2bcc52f19c SHA1 b16be28b3892f7192bcd1b464904ff9a50242a41 SHA256 5f94b41c24dd8228f813d223d1a3eb3e11e2c91a607185d903d4a2c9ed430b9f
+MD5 dac2649a67cca86b353016a704fe3024 ChangeLog 12456
+RMD160 6eab4cd7eef54f53f703a42d7be9cd2bcc52f19c ChangeLog 12456
+SHA256 5f94b41c24dd8228f813d223d1a3eb3e11e2c91a607185d903d4a2c9ed430b9f ChangeLog 12456
 MISC metadata.xml 255 RMD160 2a5b1ef0df8360b2a563653844baae48e44c6e79 SHA1 8124f773eff8377a014c4a83dfb6f3071ad80bd1 SHA256 c3d87e158edbe4189c6e38c4c891285af2e68b0fbef16d59cb6326e287da0cb6
 MD5 5ba8c9c9be079ebcbc93c08f838665bd metadata.xml 255
 RMD160 2a5b1ef0df8360b2a563653844baae48e44c6e79 metadata.xml 255
@@ -80,3 +89,6 @@ SHA256 0318db0dbe7aa3f304fdba4f7475180db9361833ba53890f16f13b7ee46f1bc7 files/di
 MD5 b55c8509cbf5ca94d4b1a04a15d7b549 files/digest-nss_ldap-253-r1 238
 RMD160 e14a0aa03b5e710a74e18b72167672b65f426156 files/digest-nss_ldap-253-r1 238
 SHA256 0318db0dbe7aa3f304fdba4f7475180db9361833ba53890f16f13b7ee46f1bc7 files/digest-nss_ldap-253-r1 238
+MD5 73a38cdcb1abf609a10c428260cdf54c files/digest-nss_ldap-254 238
+RMD160 747677fdf114b6782d853c5d60540eac779ef214 files/digest-nss_ldap-254 238
+SHA256 264643b639bda401692e803df310f0dbd733b4e0ff0b957adef1aa06f1d86736 files/digest-nss_ldap-254 238
diff --git a/sys-auth/nss_ldap/files/digest-nss_ldap-254 b/sys-auth/nss_ldap/files/digest-nss_ldap-254
new file mode 100644 (file)
index 0000000..b4be5ee
--- /dev/null
@@ -0,0 +1,3 @@
+MD5 00475b790d3aff3ccd40a1ab4520965e nss_ldap-254.tar.gz 228504
+RMD160 db8e57be27f0fddca0f285380eb3bd9d7e2a11f9 nss_ldap-254.tar.gz 228504
+SHA256 3bc77bd173b1cbeda8d19a923f3d62ae4ce02c57d5af68b71254fb3896c03730 nss_ldap-254.tar.gz 228504
diff --git a/sys-auth/nss_ldap/files/nss_ldap-254-nss_getgrent_skipmembers.patch b/sys-auth/nss_ldap/files/nss_ldap-254-nss_getgrent_skipmembers.patch
new file mode 100644 (file)
index 0000000..0f89ecd
--- /dev/null
@@ -0,0 +1,226 @@
+diff -c -r nss_ldap-250/ChangeLog nss_ldap-250.1/ChangeLog
+*** nss_ldap-250/ChangeLog     Wed Apr 26 18:19:00 2006
+--- nss_ldap-250.1/ChangeLog   Wed Aug 16 16:58:57 2006
+***************
+*** 1,6 ****
+--- 1,13 ----
+  $Id: nss_ldap-254-nss_getgrent_skipmembers.patch,v 1.1 2007/02/06 04:50:25 robbat2 Exp $
+  ===============================================================
+  
++ 250.1   Paul B. Henson <henson@acm.org>
++ 
++      * add nss_getgrent_skipmembers parameter to ldap.conf,
++        if enabled will not request member attributes for
++        group lookups, greatly increasing performance in the
++        face of large groups
++ 
+  250  Luke Howard <lukeh@padl.com>
+  
+       * don't use static _nss_ldap_no_members buffer,
+diff -c -r nss_ldap-250/ldap-nss.c nss_ldap-250.1/ldap-nss.c
+*** nss_ldap-250/ldap-nss.c    Wed Apr 26 18:19:00 2006
+--- nss_ldap-250.1/ldap-nss.c  Wed Aug 16 16:51:49 2006
+***************
+*** 1258,1264 ****
+  
+    cfg = __config;
+  
+!   _nss_ldap_init_attributes (cfg->ldc_attrtab);
+    _nss_ldap_init_filters ();
+  
+  #ifdef HAVE_LDAP_SET_OPTION
+--- 1258,1264 ----
+  
+    cfg = __config;
+  
+!   _nss_ldap_init_attributes (cfg->ldc_attrtab, cfg->ldc_getgrent_skipmembers);
+    _nss_ldap_init_filters ();
+  
+  #ifdef HAVE_LDAP_SET_OPTION
+diff -c -r nss_ldap-250/ldap-nss.h nss_ldap-250.1/ldap-nss.h
+*** nss_ldap-250/ldap-nss.h    Wed Apr 26 18:19:00 2006
+--- nss_ldap-250.1/ldap-nss.h  Wed Aug 16 16:51:59 2006
+***************
+*** 390,395 ****
+--- 390,396 ----
+    time_t ldc_mtime;
+  
+    char **ldc_initgroups_ignoreusers;
++   int ldc_getgrent_skipmembers;
+  };
+  
+  typedef struct ldap_config ldap_config_t;
+diff -c -r nss_ldap-250/ldap-schema.c nss_ldap-250.1/ldap-schema.c
+*** nss_ldap-250/ldap-schema.c Wed Apr 26 18:19:00 2006
+--- nss_ldap-250.1/ldap-schema.c       Wed Aug 16 16:54:52 2006
+***************
+*** 273,279 ****
+  
+  static void init_pwd_attributes (const char ***pwd_attrs);
+  static void init_sp_attributes (const char ***sp_attrs);
+! static void init_grp_attributes (const char ***grp_attrs);
+  static void init_hosts_attributes (const char ***hosts_attrs);
+  static void init_services_attributes (const char ***services_attrs);
+  static void init_network_attributes (const char ***network_attrs);
+--- 273,279 ----
+  
+  static void init_pwd_attributes (const char ***pwd_attrs);
+  static void init_sp_attributes (const char ***sp_attrs);
+! static void init_grp_attributes (const char ***grp_attrs, int ldc_getgrent_skipmembers);
+  static void init_hosts_attributes (const char ***hosts_attrs);
+  static void init_services_attributes (const char ***services_attrs);
+  static void init_network_attributes (const char ***network_attrs);
+***************
+*** 289,299 ****
+   * attribute table initialization routines
+   */
+  void
+! _nss_ldap_init_attributes (const char ***attrtab)
+  {
+    init_pwd_attributes (&attrtab[LM_PASSWD]);
+    init_sp_attributes (&attrtab[LM_SHADOW]);
+!   init_grp_attributes (&attrtab[LM_GROUP]);
+    init_hosts_attributes (&attrtab[LM_HOSTS]);
+    init_services_attributes (&attrtab[LM_SERVICES]);
+    init_network_attributes (&attrtab[LM_NETWORKS]);
+--- 289,299 ----
+   * attribute table initialization routines
+   */
+  void
+! _nss_ldap_init_attributes (const char ***attrtab, int ldc_getgrent_skipmembers)
+  {
+    init_pwd_attributes (&attrtab[LM_PASSWD]);
+    init_sp_attributes (&attrtab[LM_SHADOW]);
+!   init_grp_attributes (&attrtab[LM_GROUP], ldc_getgrent_skipmembers);
+    init_hosts_attributes (&attrtab[LM_HOSTS]);
+    init_services_attributes (&attrtab[LM_SERVICES]);
+    init_network_attributes (&attrtab[LM_NETWORKS]);
+***************
+*** 357,363 ****
+  }
+  
+  static void
+! init_grp_attributes (const char ***grp_attrs)
+  {
+    int i = 0;
+    static const char *__grp_attrs[ATTRTAB_SIZE + 1];
+--- 357,363 ----
+  }
+  
+  static void
+! init_grp_attributes (const char ***grp_attrs, int ldc_getgrent_skipmembers)
+  {
+    int i = 0;
+    static const char *__grp_attrs[ATTRTAB_SIZE + 1];
+***************
+*** 366,374 ****
+  
+    (*grp_attrs)[i++] = (char *) ATM (LM_GROUP, cn);
+    (*grp_attrs)[i++] = (char *) ATM (LM_GROUP, userPassword);
+!   (*grp_attrs)[i++] = (char *) AT (memberUid);
+!   if (_nss_ldap_test_config_flag (NSS_LDAP_FLAGS_RFC2307BIS))
+!     (*grp_attrs)[i++] = (char *) AT (uniqueMember);
+    (*grp_attrs)[i++] = (char *) ATM (LM_GROUP, gidNumber);
+    (*grp_attrs)[i] = NULL;
+  }
+--- 366,377 ----
+  
+    (*grp_attrs)[i++] = (char *) ATM (LM_GROUP, cn);
+    (*grp_attrs)[i++] = (char *) ATM (LM_GROUP, userPassword);
+!   if (!ldc_getgrent_skipmembers)
+!     {
+!       (*grp_attrs)[i++] = (char *) AT (memberUid);
+!       if (_nss_ldap_test_config_flag (NSS_LDAP_FLAGS_RFC2307BIS))
+!         (*grp_attrs)[i++] = (char *) AT (uniqueMember);
+!     }
+    (*grp_attrs)[i++] = (char *) ATM (LM_GROUP, gidNumber);
+    (*grp_attrs)[i] = NULL;
+  }
+diff -c -r nss_ldap-250/ldap-schema.h nss_ldap-250.1/ldap-schema.h
+*** nss_ldap-250/ldap-schema.h Wed Apr 26 18:19:00 2006
+--- nss_ldap-250.1/ldap-schema.h       Wed Aug 16 16:54:07 2006
+***************
+*** 30,36 ****
+   * function to initialize global lookup filters.
+   */
+  void _nss_ldap_init_filters ();
+! void _nss_ldap_init_attributes (const char ***attrtab);
+  
+  /**
+   * make filters formerly declared in ldap-*.h globally available.
+--- 30,36 ----
+   * function to initialize global lookup filters.
+   */
+  void _nss_ldap_init_filters ();
+! void _nss_ldap_init_attributes (const char ***attrtab, int ldc_getgrent_skipmembers);
+  
+  /**
+   * make filters formerly declared in ldap-*.h globally available.
+diff -c -r nss_ldap-250/nss_ldap.5 nss_ldap-250.1/nss_ldap.5
+*** nss_ldap-250/nss_ldap.5    Wed Apr 26 18:19:00 2006
+--- nss_ldap-250.1/nss_ldap.5  Wed Aug 16 17:07:19 2006
+***************
+*** 445,450 ****
+--- 445,458 ----
+  to return NSS_STATUS_NOTFOUND if called with a listed users as
+  its argument.
+  .TP
++ .B nss_getgrent_skipmembers <yes|no>
++ Specifies whether or not to populate the members list in
++ the group structure for group lookups. If very large groups
++ are present, enabling this option will greatly increase
++ perforance, at the cost of some lost functionality. You should
++ verify no local applications rely on this information before
++ enabling this on a production system.
++ .TP
+  .B nss_srv_domain <domain>
+  This option determines the DNS domain used for performing SRV
+  lookups.
+diff -c -r nss_ldap-250/util.c nss_ldap-250.1/util.c
+*** nss_ldap-250/util.c        Wed Apr 26 18:19:00 2006
+--- nss_ldap-250.1/util.c      Wed Aug 16 16:52:55 2006
+***************
+*** 660,665 ****
+--- 660,666 ----
+    result->ldc_reconnect_maxsleeptime = LDAP_NSS_MAXSLEEPTIME;
+    result->ldc_reconnect_maxconntries = LDAP_NSS_MAXCONNTRIES;
+    result->ldc_initgroups_ignoreusers = NULL;
++   result->ldc_getgrent_skipmembers = 0;
+  
+    for (i = 0; i <= LM_NONE; i++)
+      {
+***************
+*** 1137,1142 ****
+--- 1138,1156 ----
+             break;
+           }
+       }
++       else if (!strcasecmp (k, NSS_LDAP_KEY_GETGRENT_SKIPMEMBERS))
++      {
++        if (!strcasecmp (v, "on") || !strcasecmp (v, "yes")
++            || !strcasecmp (v, "true"))
++          {
++            result->ldc_getgrent_skipmembers = 1;
++          }
++        else if (!strcasecmp (v, "off") || !strcasecmp (v, "no")
++                 || !strcasecmp (v, "false"))
++          {
++            result->ldc_getgrent_skipmembers = 0;
++          }
++      }
+        else if (!strcasecmp (k, NSS_LDAP_KEY_CONNECT_POLICY))
+          {
+         if (!strcasecmp (v, "oneshot"))
+diff -c -r nss_ldap-250/util.h nss_ldap-250.1/util.h
+*** nss_ldap-250/util.h        Wed Apr 26 18:19:00 2006
+--- nss_ldap-250.1/util.h      Wed Aug 16 16:49:52 2006
+***************
+*** 83,88 ****
+--- 83,89 ----
+  #define NSS_LDAP_KEY_PAGESIZE                "pagesize"
+  #define NSS_LDAP_KEY_INITGROUPS              "nss_initgroups"
+  #define NSS_LDAP_KEY_INITGROUPS_IGNOREUSERS  "nss_initgroups_ignoreusers"
++ #define NSS_LDAP_KEY_GETGRENT_SKIPMEMBERS    "nss_getgrent_skipmembers"
+  
+  /* more reconnect policy fine-tuning */
+  #define NSS_LDAP_KEY_RECONNECT_TRIES         "nss_reconnect_tries"
diff --git a/sys-auth/nss_ldap/nss_ldap-254.ebuild b/sys-auth/nss_ldap/nss_ldap-254.ebuild
new file mode 100644 (file)
index 0000000..0c8ed89
--- /dev/null
@@ -0,0 +1,70 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/sys-auth/nss_ldap/nss_ldap-254.ebuild,v 1.1 2007/02/06 04:50:25 robbat2 Exp $
+
+inherit fixheadtails eutils multilib
+
+IUSE="debug sasl kerberos"
+
+DESCRIPTION="NSS LDAP Module"
+HOMEPAGE="http://www.padl.com/OSS/nss_ldap.html"
+SRC_URI="http://www.padl.com/download/${P}.tar.gz"
+
+SLOT="0"
+LICENSE="LGPL-2"
+KEYWORDS="~alpha ~amd64 ~hppa ~mips ~ppc ~ppc64 ~sparc ~x86"
+
+DEPEND=">=net-nds/openldap-2.1.30-r5
+               sasl? ( dev-libs/cyrus-sasl )
+               kerberos? ( virtual/krb5 )"
+RDEPEND="${DEPEND}
+               !<net-fs/autofs-4.1.3"
+
+src_unpack() {
+       unpack ${A}
+       cd ${S}
+       epatch ${FILESDIR}/nsswitch.ldap.diff
+       epatch ${FILESDIR}/${PN}-239-tls-security-bug.patch
+       epatch ${FILESDIR}/${PN}-249-sasl-compile.patch
+       EPATCH_OPTS="-p1 -d ${S}" epatch ${FILESDIR}/${PN}-252-reconnect-timeouts.patch
+       EPATCH_OPTS="-p1 -d ${S}" epatch ${FILESDIR}/${PN}-254-nss_getgrent_skipmembers.patch
+       sed -i.orig \
+               -e '/^ @(#)\$Id: ldap.conf,v/s,^,#,' \
+               ${S}/ldap.conf || die "failed to clean up initial version marker"
+       # fix head/tail stuff
+       ht_fix_file ${S}/Makefile.am ${S}/Makefile.in ${S}/depcomp
+       # fix build borkage
+       for i in Makefile.{in,am}; do
+         sed -i.orig \
+           -e '/^install-exec-local: nss_ldap.so/s,nss_ldap.so,,g' \
+           ${S}/$i
+       done
+}
+
+src_compile() {
+       local myconf=""
+       use debug && myconf="${myconf} --enable-debugging"
+       use kerberos && myconf="${myconf} --enable-configurable-krb5-ccname-gssapi"
+       econf \
+               --with-ldap-lib=openldap \
+               --libdir=/$(get_libdir) \
+               --enable-schema-mapping \
+               --enable-paged-results \
+               --enable-rfc2307bis \
+               ${myconf} || die "configure failed"
+
+       emake || die "make failed"
+}
+
+src_install() {
+       dodir /$(get_libdir)
+
+       emake -j1 DESTDIR="${D}" install || die "make install failed"
+
+       insinto /etc
+       doins ldap.conf
+
+       dodoc ldap.conf ANNOUNCE NEWS ChangeLog AUTHORS \
+               COPYING CVSVersionInfo.txt README nsswitch.ldap certutil
+       docinto docs; dodoc doc/*
+}