From 66eba3ba9c419653a196b2b235204d794bd1eb1e Mon Sep 17 00:00:00 2001 From: Howard Chu Date: Thu, 5 Apr 2007 23:41:35 +0000 Subject: [PATCH] slurpd is strongly deprecated --- build/top.mk | 5 +- configure.in | 38 ++------ doc/man/man5/slapd-config.5 | 115 +------------------------ doc/man/man5/slapd.access.5 | 4 +- doc/man/man5/slapd.conf.5 | 62 ++----------- doc/man/man5/slapd.plugin.5 | 4 +- doc/man/man5/slapd.replog.5 | 167 ------------------------------------ doc/man/man5/slapo-dds.5 | 17 +--- doc/man/man8/slapd.8 | 12 +-- doc/man/man8/slurpd.8 | 160 ---------------------------------- 10 files changed, 25 insertions(+), 559 deletions(-) delete mode 100644 doc/man/man5/slapd.replog.5 delete mode 100644 doc/man/man8/slurpd.8 diff --git a/build/top.mk b/build/top.mk index d63fd33776..3b81f63d9d 100644 --- a/build/top.mk +++ b/build/top.mk @@ -170,10 +170,8 @@ LDAP_LIBLUTIL_A = $(LDAP_LIBDIR)/liblutil/liblutil.a LDAP_L = $(LDAP_LIBLUTIL_A) \ $(LDAP_LIBLDAP_LA) $(LDAP_LIBLBER_LA) -SLURPD_L = $(LDAP_LIBLUTIL_A) \ - $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA) SLAPD_L = $(LDAP_LIBLUNICODE_A) $(LDAP_LIBREWRITE_A) \ - $(SLURPD_L) + $(LDAP_LIBLUTIL_A) $(LDAP_LIBLDAP_R_LA) $(LDAP_LIBLBER_LA) WRAP_LIBS = @WRAP_LIBS@ # AutoConfig generated @@ -202,7 +200,6 @@ SLAPD_SQL_INCLUDES = @SLAPD_SQL_INCLUDES@ SLAPD_SQL_LIBS = @SLAPD_SQL_LIBS@ SLAPD_LIBS = @SLAPD_LIBS@ @SLAPD_PERL_LDFLAGS@ @SLAPD_SQL_LDFLAGS@ @SLAPD_SQL_LIBS@ @SLAPD_SLP_LIBS@ @SLAPD_GMP_LIBS@ $(ICU_LIBS) -SLURPD_LIBS = @SLURPD_LIBS@ # Our Defaults CC = $(AC_CC) diff --git a/configure.in b/configure.in index 8fe6c17bb2..04cb8886a6 100644 --- a/configure.in +++ b/configure.in @@ -377,12 +377,6 @@ OL_ARG_ENABLE(unique,[ --enable-unique Attribute Uniqueness overlay], OL_ARG_ENABLE(valsort,[ --enable-valsort Value Sorting overlay], no, [no yes mod], ol_enable_overlays) -dnl ---------------------------------------------------------------- -dnl SLURPD OPTIONS -AC_ARG_ENABLE(xxslurpdoptions,[ -SLURPD (Replication Daemon) Options:]) -OL_ARG_ENABLE(slurpd,[ --enable-slurpd enable building slurpd], auto)dnl - dnl ---------------------------------------------------------------- AC_ARG_ENABLE(xxliboptions,[ Library Generation & Linking Options]) @@ -422,9 +416,6 @@ if test $ol_enable_slapd = no ; then if test $ol_enable_aci != no ; then AC_MSG_WARN([slapd disabled, ignoring --enable-aci argument]) fi - if test $ol_enable_slurpd = yes ; then - AC_MSG_ERROR([slurpd requires slapd]) - fi if test $ol_enable_rewrite = yes ; then AC_MSG_WARN([slapd disabled, ignoring --enable-rewrite argument]) fi @@ -451,8 +442,6 @@ if test $ol_enable_slapd = no ; then ol_enable_aci=no ol_enable_wrappers=no - ol_enable_slurpd=no - ol_enable_rewrite=no elif test $ol_enable_modules != yes && @@ -482,13 +471,6 @@ if test $ol_enable_meta/$ol_enable_ldap = yes/no ; then AC_MSG_ERROR([--enable-meta requires --enable-ldap]) fi -if test $ol_enable_slurpd = yes ; then - dnl SLURPD was specifically enabled - if test $ol_with_threads = no ; then - AC_MSG_ERROR([slurpd requires threads]) - fi -fi - if test $ol_enable_lmpasswd = yes ; then if test $ol_with_tls = no ; then AC_MSG_ERROR([LAN Manager passwords require OpenSSL]) @@ -512,10 +494,8 @@ LTHREAD_LIBS= LUTIL_LIBS= SLAPD_LIBS= -SLURPD_LIBS= BUILD_SLAPD=no -BUILD_SLURPD=no BUILD_THREAD=no @@ -813,9 +793,11 @@ AC_CHECK_HEADERS( \ sysexits.h \ sys/file.h \ sys/filio.h \ + sys/fstyp.h \ sys/errno.h \ sys/ioctl.h \ sys/param.h \ + sys/privgrp.h \ sys/resource.h \ sys/select.h \ sys/socket.h \ @@ -824,6 +806,7 @@ AC_CHECK_HEADERS( \ sys/time.h \ sys/types.h \ sys/uio.h \ + sys/vmount.h \ syslog.h \ termios.h \ unistd.h \ @@ -2338,6 +2321,12 @@ if test "$ac_cv_func_getpeereid" != yes; then #include #endif]) fi + AC_CHECK_MEMBERS([struct stat.st_fstype, struct stat.st_vfstype]) + if test "$ac_cv_member_struct_stat_st_fstype" = yes; then + AC_COMPILE_IFELSE([struct stat st; char *ptr=st.st_fstype;], + AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_CHAR]), + AC_DEFINE([HAVE_STRUCT_STAT_ST_FSTYPE_INT])) + fi fi LIBSRCS="$LIBSRCS getpeereid.c" fi @@ -2795,12 +2784,6 @@ if test "$ol_enable_valsort" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_VALSORT,$MFLAG,[define for Value Sorting overlay]) fi -if test "$ol_enable_slurpd" != no && - test "$ol_link_threads" != no && - test $BUILD_SLAPD = yes ; then - BUILD_SLURPD=yes -fi - if test "$ol_enable_rewrite" != no ; then AC_DEFINE(ENABLE_REWRITE,1,[define to enable rewriting in back-ldap and back-meta]) BUILD_REWRITE=yes @@ -2871,11 +2854,9 @@ dnl overlays AC_SUBST(BUILD_TRANSLUCENT) AC_SUBST(BUILD_UNIQUE) AC_SUBST(BUILD_VALSORT) -AC_SUBST(BUILD_SLURPD) AC_SUBST(LDAP_LIBS) AC_SUBST(SLAPD_LIBS) -AC_SUBST(SLURPD_LIBS) AC_SUBST(BDB_LIBS) AC_SUBST(LTHREAD_LIBS) AC_SUBST(LUTIL_LIBS) @@ -2956,7 +2937,6 @@ AC_CONFIG_FILES([Makefile:build/top.mk:Makefile.in:build/dir.mk] [servers/slapd/shell-backends/Makefile:build/top.mk:servers/slapd/shell-backends/Makefile.in:build/srv.mk] [servers/slapd/slapi/Makefile:build/top.mk:servers/slapd/slapi/Makefile.in:build/lib.mk:build/lib-shared.mk] [servers/slapd/overlays/Makefile:build/top.mk:servers/slapd/overlays/Makefile.in:build/lib.mk] -[servers/slurpd/Makefile:build/top.mk:servers/slurpd/Makefile.in:build/srv.mk] [tests/Makefile:build/top.mk:tests/Makefile.in:build/dir.mk] [tests/run] [tests/progs/Makefile:build/top.mk:tests/progs/Makefile.in:build/rules.mk]) diff --git a/doc/man/man5/slapd-config.5 b/doc/man/man5/slapd-config.5 index 219f6e52bc..c1551adb35 100644 --- a/doc/man/man5/slapd-config.5 +++ b/doc/man/man5/slapd-config.5 @@ -672,40 +672,6 @@ Specify the referral to pass back when .BR slapd (8) cannot find a local database to handle a request. If multiple values are specified, each url is provided. -.\" slurpd-related keywords are all deprecated -.\".TP -.\".B replica-argsfile -.\"The ( absolute ) name of a file that will hold the -.\".B slurpd -.\"server's command line options -.\"if started without the debugging command line option. -.\"If it appears after a -.\".B replogfile -.\"directive, the args file is specific to the -.\".BR slurpd (8) -.\"instance that handles that replication log. -.\".TP -.\".B replica-pidfile -.\"The ( absolute ) name of a file that will hold the -.\".B slurpd -.\"server's process ID ( see -.\".BR getpid (2) -.\") if started without the debugging command line option. -.\"If it appears after a -.\".B replogfile -.\"directive, the pid file is specific to the -.\".BR slurpd (8) -.\"instance that handles that replication log. -.\".TP -.\".B replicationinterval -.\"The number of seconds -.\".B slurpd -.\"waits before checking the replogfile for changes. -.\"If it appears after a -.\".B replogfile -.\"directive, the replication interval is specific to the -.\".BR slurpd (8) -.\"instance that handles that replication log. .TP .B olcReverseLookup: TRUE | FALSE Enable/disable client name unverified reverse lookup (default is @@ -1471,79 +1437,6 @@ By default, this setting is FALSE. Configure a SLAPI plugin. See the .BR slapd.plugin (5) manpage for more details. -.\".HP -.\".hy 0 -.\".B replica uri=ldap[s]://[:port]|host=[:port] -.\".B [starttls=yes|critical] -.\".B [suffix= [...]] -.\".B bindmethod=simple|sasl [binddn=] [credentials=] -.\".B [saslmech=] [secprops=] [realm=] -.\".B [authcId=] [authzId=] -.\".B [attrs[!]=] -.\".RS -.\"Specify a replication site for this database. Refer to the "OpenLDAP -.\"Administrator's Guide" for detailed information on setting up a replicated -.\".B slapd -.\"directory service. Zero or more -.\".B suffix -.\"instances can be used to select the subtrees that will be replicated -.\"(defaults to all the database). -.\".B host -.\"is deprecated in favor of the -.\".B uri -.\"option. -.\".B uri -.\"allows the replica LDAP server to be specified as an LDAP URI. -.\"A -.\".B bindmethod -.\"of -.\".B simple -.\"requires the options -.\".B binddn -.\"and -.\".B credentials -.\"and should only be used when adequate security services -.\"(e.g TLS or IPSEC) are in place. A -.\".B bindmethod -.\"of -.\".B sasl -.\"requires the option -.\".B saslmech. -.\"Specific security properties (as with the -.\".B sasl-secprops -.\"keyword above) for a SASL bind can be set with the -.\".B secprops -.\"option. A non-default SASL realm can be set with the -.\".B realm -.\"option. -.\"If the -.\".B mechanism -.\"will use Kerberos, a kerberos instance should be given in -.\".B authcId. -.\"An -.\".B attr list -.\"can be given after the -.\".B attrs -.\"keyword to allow the selective replication of the listed attributes only; -.\"if the optional -.\".B ! -.\"mark is used, the list is considered exclusive, i.e. the listed attributes -.\"are not replicated. -.\"If an objectClass is listed, all the related attributes -.\"are (are not) replicated. -.\".RE -.\".TP -.\".B replogfile -.\"Specify the name of the replication log file to log changes to. -.\"The replication log is typically written by -.\".BR slapd (8) -.\"and read by -.\".BR slurpd (8). -.\"See -.\".BR slapd.replog (5) -.\"for more information. The specified file should be located -.\"in a directory with limited read/write/execute access as the replication -.\"logs may contain sensitive information. .TP .B olcRootDN: Specify the distinguished name that is not subject to access control @@ -1816,9 +1709,8 @@ ignored. This option is only applicable in a slave database. It specifies the DN permitted to update (subject to access controls) -the replica (typically, this is the DN -.BR slurpd (8) -binds to update the replica). Generally, this DN +the replica. It is only needed in certain push-mode +replication scenarios. Generally, this DN .I should not be the same as the .B rootdn @@ -1963,8 +1855,7 @@ default slapd configuration directory .BR slapdn (8), .BR slapindex (8), .BR slappasswd (8), -.BR slaptest (8), -.BR slurpd (8). +.BR slaptest (8). .LP "OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/) .SH ACKNOWLEDGEMENTS diff --git a/doc/man/man5/slapd.access.5 b/doc/man/man5/slapd.access.5 index 75450bd242..2129e58e83 100644 --- a/doc/man/man5/slapd.access.5 +++ b/doc/man/man5/slapd.access.5 @@ -10,9 +10,7 @@ The .BR slapd.conf (5) file contains configuration information for the .BR slapd (8) -daemon. This configuration file is also used by the -.BR slurpd (8) -replication daemon and by the SLAPD tools +daemon. This configuration file is also used by the SLAPD tools .BR slapacl (8), .BR slapadd (8), .BR slapauth (8), diff --git a/doc/man/man5/slapd.conf.5 b/doc/man/man5/slapd.conf.5 index 9ecc15ee1a..04d68780ef 100644 --- a/doc/man/man5/slapd.conf.5 +++ b/doc/man/man5/slapd.conf.5 @@ -11,9 +11,7 @@ The file .B ETCDIR/slapd.conf contains configuration information for the .BR slapd (8) -daemon. This configuration file is also used by the -.BR slurpd (8) -replication daemon and by the SLAPD tools +daemon. This configuration file is also used by the SLAPD tools .BR slapacl (8), .BR slapadd (8), .BR slapauth (8), @@ -720,39 +718,6 @@ Specify the referral to pass back when cannot find a local database to handle a request. If specified multiple times, each url is provided. .TP -.B replica-argsfile -The ( absolute ) name of a file that will hold the -.B slurpd -server's command line options -if started without the debugging command line option. -If it appears after a -.B replogfile -directive, the args file is specific to the -.BR slurpd (8) -instance that handles that replication log. -.TP -.B replica-pidfile -The ( absolute ) name of a file that will hold the -.B slurpd -server's process ID ( see -.BR getpid (2) -) if started without the debugging command line option. -If it appears after a -.B replogfile -directive, the pid file is specific to the -.BR slurpd (8) -instance that handles that replication log. -.TP -.B replicationinterval -The number of seconds -.B slurpd -waits before checking the replogfile for changes. -If it appears after a -.B replogfile -directive, the replication interval is specific to the -.BR slurpd (8) -instance that handles that replication log. -.TP .B require Specify a set of conditions (separated by white space) to require (default none). @@ -1346,7 +1311,7 @@ resolve an entry, used to avoid infinite alias loops. The default is 1. .B mirrormode on | off This option puts a replica database into "mirror" mode. Update operations will be accepted from any user, not just the updatedn. The -database must already be configured as a slurpd or syncrepl consumer +database must already be configured as a syncrepl consumer before this keyword may be set. This mode also requires a .B serverID (see above) to be configured. @@ -1430,18 +1395,6 @@ If an objectClass is listed, all the related attributes are (are not) replicated. .RE .TP -.B replogfile -Specify the name of the replication log file to log changes to. -The replication log is typically written by -.BR slapd (8) -and read by -.BR slurpd (8). -See -.BR slapd.replog (5) -for more information. The specified file should be located -in a directory with limited read/write/execute access as the replication -logs may contain sensitive information. -.TP .B restrict Specify a whitespace separated list of operations that are restricted. If defined inside a database specification, restrictions apply only @@ -1731,12 +1684,10 @@ ignored. .TP .B updatedn This option is only applicable in a slave -database updated using -.BR slurpd(8). +database. It specifies the DN permitted to update (subject to access controls) -the replica (typically, this is the DN -.BR slurpd (8) -binds to update the replica). Generally, this DN +the replica. It is only needed in certain push-mode +replication scenarios. Generally, this DN .I should not be the same as the .B rootdn @@ -1815,8 +1766,7 @@ default slapd configuration file .BR slapdn (8), .BR slapindex (8), .BR slappasswd (8), -.BR slaptest (8), -.BR slurpd (8). +.BR slaptest (8). .LP "OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/) .SH ACKNOWLEDGEMENTS diff --git a/doc/man/man5/slapd.plugin.5 b/doc/man/man5/slapd.plugin.5 index de9e4f3abc..c25b69b646 100644 --- a/doc/man/man5/slapd.plugin.5 +++ b/doc/man/man5/slapd.plugin.5 @@ -10,9 +10,7 @@ The .BR slapd.conf (5) file contains configuration information for the .BR slapd (8) -daemon. This configuration file is also used by the -.BR slurpd (8) -replication daemon and by the SLAPD tools +daemon. This configuration file is also used by the SLAPD tools .BR slapadd (8), .BR slapcat (8), and diff --git a/doc/man/man5/slapd.replog.5 b/doc/man/man5/slapd.replog.5 deleted file mode 100644 index 87f1c7398d..0000000000 --- a/doc/man/man5/slapd.replog.5 +++ /dev/null @@ -1,167 +0,0 @@ -.TH SLAPD.REPLOG 5 "RELEASEDATE" "OpenLDAP LDVERSION" -.\" $OpenLDAP$ -.\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. -.\" Copying restrictions apply. See COPYRIGHT/LICENSE. -.SH NAME -slapd.replog \- slapd replication log format -.SH SYNOPSIS -slapd.replog -slapd.replog.lock -.SH DESCRIPTION -.LP -The file slapd.replog is produced by the stand-alone LDAP daemon, -.BR slapd (8), -when changes are made to its local database that are to be -propagated to one or more replica -.IR slapd s. -The file consists of -zero or more records, each one corresponding to a change, addition, -or deletion from the -.I slapd -database. The file is meant to be read -and processed by -.BR slurpd (8), -the stand-alone LDAP update replication daemon. The records are -separated by a blank line. Each record has the following format. -.LP -The record begins with one or more lines indicating the replicas -to which the change is to be propagated: -.LP -.nf - replica: -.fi -.LP -Next, the time the change took place given, as the number of seconds since -00:00:00 GMT, Jan. 1, 1970, with an optional decimal extension, in order -to make times unique. Note that slapd does not make times unique, but -slurpd makes all times unique in its copies of the replog files. -.LP -.nf - time: -.fi -.LP -Next, the distinguished name of the entry being changed is given: -.LP -.nf - dn: -.fi -.LP -Next, the type of change being made is given: -.LP -.nf - changetype: <[modify|add|delete|modrdn]> -.fi -.LP -Finally, the change information itself is given, the format of which -depends on what kind of change was specified above. For a \fIchangetype\fP -of \fImodify\fP, the format is one or more of the following: -.LP -.nf - add: - : - : - ... - - -.fi -.LP -Or, for a replace modification: -.LP -.nf - replace: - : - : - ... - - -.fi -.LP -Or, for a delete modification: -.LP -.nf - delete: - : - : - ... - - -.fi -.LP -If no \fIattributetype\fP lines are given, the entire attribute is to be -deleted. -.LP -For a \fIchangetype\fP of \fIadd\fP, the format is: -.LP -.nf - : - : - ... - : - : -.fi -.LP -For a \fIchangetype\fP of \fImodrdn\fP, the format is: -.LP -.nf - newrdn: - deleteoldrdn: 0 | 1 -.fi -.LP -where a value of 1 for deleteoldrdn means to delete the values -forming the old rdn from the entry, and a value of 0 means to -leave the values as non-distinguished attributes in the entry. -.LP -For a \fIchangetype\fP of \fIdelete\fP, no additional information -is needed in the record. -.LP -The format of the values is the LDAP Directory Interchange Format -described in -.BR ldif (5). -.LP -Access to the \fIslapd.replog\fP file is synchronized through the -use of -.BR flock (3) -on the file \fIslapd.replog.lock\fP. Any process -reading or writing this file should obey this locking convention. -.SH EXAMPLE -The following sample \fIslapd.replog\fP file contains information -on one of each type of change. -.LP -.nf - replica: truelies.rs.itd.umich.edu - replica: judgmentday.rs.itd.umich.edu - time: 797612941 - dn: cn=Babs Jensen,dc=example,dc=com - changetype: add - objectclass: person - cn: babs - cn: babs jensen - sn: jensen - - replica: truelies.rs.itd.umich.edu - replica: judgmentday.rs.itd.umich.edu - time: 797612973 - dn: cn=Babs Jensen,dc=example,dc=com - changetype: modify - add: description - description: the fabulous babs - - replica: truelies.rs.itd.umich.edu - replica: judgmentday.rs.itd.umich.edu - time: 797613020 - dn: cn=Babs Jensen,dc=example,dc=com - changetype: modrdn - newrdn: cn=Barbara J Jensen - deleteoldrdn: 0 -.fi -.SH FILES -.TP -slapd.replog -slapd replication log file -.TP -slapd.replog.lock -lockfile for slapd.replog -.SH SEE ALSO -.BR ldap (3), -.BR ldif (5), -.BR slapd (8), -.BR slurpd (8) -.SH ACKNOWLEDGEMENTS -.so ../Project diff --git a/doc/man/man5/slapo-dds.5 b/doc/man/man5/slapo-dds.5 index c3215f30c0..435f368d8f 100644 --- a/doc/man/man5/slapo-dds.5 +++ b/doc/man/man5/slapo-dds.5 @@ -218,7 +218,7 @@ dynamic objects replicate. Only the master takes care of handling dynamic object expiration, while replicas simply see the dynamic object as a plain object. -When using slurpd replication, one needs to explicitly exclude the +When replicating these objects, one needs to explicitly exclude the .B dynamicObject class and the .B entryTtl @@ -227,21 +227,10 @@ This implementation of RFC 2589 introduces a new operational attribute, .BR entryExpireTimestamp , that contains the expiration timestamp. This must be excluded from replication as well. -In -.BR slapd.conf (5), -add the following \fIexclusion list\fP to each -.B replica -statement: - -.RS -.nf -replica ... - attrs!=@dynamicObject,entryTtl,entryExpireTimestamp -.fi -.RE -When using syncrepl, the quick and dirty solution is to set +The quick and dirty solution is to set .B schemacheck=off +in the syncrepl configuration and, optionally, exclude the operational attributes from replication, using .RS diff --git a/doc/man/man8/slapd.8 b/doc/man/man8/slapd.8 index bb070483e1..3ac2441dc7 100644 --- a/doc/man/man8/slapd.8 +++ b/doc/man/man8/slapd.8 @@ -46,15 +46,6 @@ flag is given, even with a zero argument, .B slapd will not fork and disassociate from the invoking tty. .LP -.B Slapd -can be configured to provide replicated service for a database with -the help of -.BR slurpd , -the standalone LDAP update replication daemon. -See -.BR slurpd (8) -for details. -.LP See the "OpenLDAP Administrator's Guide" for more details on .BR slapd . .SH OPTIONS @@ -306,8 +297,7 @@ To test whether the configuration file is correct or not, type: .BR slapdn (8), .BR slapindex (8), .BR slappasswd (8), -.BR slaptest (8), -.BR slurpd (8) +.BR slaptest (8). .LP "OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/) .SH BUGS diff --git a/doc/man/man8/slurpd.8 b/doc/man/man8/slurpd.8 deleted file mode 100644 index 0f7a303c6f..0000000000 --- a/doc/man/man8/slurpd.8 +++ /dev/null @@ -1,160 +0,0 @@ -.TH SLURPD 8C "RELEASEDATE" "OpenLDAP LDVERSION" -.\" $OpenLDAP$ -.\" Copyright 1998-2007 The OpenLDAP Foundation All Rights Reserved. -.\" Copying restrictions apply. See COPYRIGHT/LICENSE. -.SH NAME -slurpd \- Standalone LDAP Update Replication Daemon -.SH SYNOPSIS -.B LIBEXECDIR/slurpd [\-d debug\-level] -.B [\-f slapd\-config\-file] [\-r slapd\-replog\-file] -.B [\-t temp\-dir] [\-o] -.B -.SH DESCRIPTION -.LP -.B Slurpd -is used to propagate changes from one slapd database to another. If -slapd is configured to produce a replication log, -.B slurpd -reads that -replication log and sends the changes to the slave -.B slapd -instances -via the LDAP protocol. -.B slurpd -is typically invoked at boot time, usually out of -.BR /etc/rc.local . -.LP -Upon startup, -.B slurpd -normally forks and disassociates itself from the invoking tty, -then reads the replication log (given either by the -.I replogfile -directive in the -.B slapd -config file, or by the -.RB \- r -command-line option). -If the replication log file does not exist or is empty, -.B slurpd -goes to sleep. It periodically wakes up and checks to see if there -are any changes to be propagated. -.LP -When -.B slurpd -notices that there are changes to propagate to slave -.B slapd -instances, it locks the replication log, makes its own private copy, -releases the lock, and forks one copy of itself for each replica -.B slapd -to be updated. Each child process binds to the slave -.B slapd -as the -DN given by the -.I binddn -option to the -.I replica -directive in the -.B slapd -config file, and sends the changes. -.LP -See -.BR slapd (8) -for details on the standalone LDAP daemon. -.LP -Note that slurpd reads -.B replication -directive from -.BR slapd.conf (5), -but uses -.BR ldap.conf (5) -to obtain other configuration settings (such as TLS settings). -.SH OPTIONS -.TP -.BI \-d " debug\-level" -Turn on debugging as defined by -.I debug\-level. -If this option is specified, even with a zero argument, -.B slurpd -will not fork or disassociate from the invoking terminal. Some general -operation and status messages are printed for any value of \fIdebug\-level\fP. -\fIdebug\-level\fP is taken as a bit string, with each bit corresponding to a -different kind of debugging information. See for details. -.TP -.BI \-f " slapd\-config\-file" -Specifies the slapd configuration file. The default is -.BR ETCDIR/slapd.conf . -.TP -.BI \-r " slapd\-replog\-file" -Specifies the name of the -.B slapd -replication logfile. Normally, the name -of the replication log file is read from the -.B slapd -configuration file. The file should be located in a directory -with limited read/write/execute access. -The -.B \-r -option allows you to override this. In conjunction with the -.B \-o -option, you can process a replication log file in a "one\-shot" mode. For -example, if -.B slurpd -has encountered errors in processing a replication log, -you can run it in one\-shot mode and give the rejection file name as -the argument to the \-r option, once you've resolved the problem which caused -the replication to fail. -.TP -.B \-o -Run in "one\-shot" mode. Normally, -.B slurpd -processes the replog file -and then watches for more replication entries to be appended. In -one\-shot mode, -.B slurpd -processes a replication log and exits. -.TP -.BI \-t " temp\-dir" -.B slurpd -copies the replication log to a working directory before processing it. -The directory permissions should limit read/write/execute access as -temporary files may contain sensitive information. -This option allows you to specify the location of these temporary files. -The default is -.BR LOCALSTATEDIR/openldap-slurp . -.SH EXAMPLES -To start -.I slurpd -and have it fork and detach from the terminal and process -the replication logs generated by -.I slapd, -just type: -.LP -.nf -.ft tt - LIBEXECDIR/slurpd -.ft -.fi -.LP -To start -.I slurpd -with an alternate -.I slapd -configuration file, and turn -on voluminous debugging which will be printed on standard error, type: -.LP -.nf -.ft tt - LIBEXECDIR/slurpd -f ETCDIR/slapd.conf -d 255 -.ft -.fi -.LP -.SH "SEE ALSO" -.BR ldap (3), -.BR ldap.conf (5), -.BR slapd.conf (5), -.BR slapd.replog (5), -.BR slapd (8) -.LP -"OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/) -.SH ACKNOWLEDGEMENTS -.so ../Project -- 2.39.5