]> git.sur5r.net Git - openldap/blob - contrib/slapd-modules/lastmod/slapo-lastmod.5
a5ac35148707f8de6ef5f2bb3e2d436e3cb4d68e
[openldap] / contrib / slapd-modules / lastmod / slapo-lastmod.5
1 .\" Copyright 2004-2017 The OpenLDAP Foundation All Rights Reserved.
2 .\" Copying restrictions apply.  See COPYRIGHT/LICENSE.
3 .TH SLAPO_LASTMOD 5 "RELEASEDATE" "OpenLDAP LDVERSION"
4 .SH NAME
5 slapo-lastmod \- Last Modification overlay
6 .SH SYNOPSIS
7 ETCDIR/slapd.conf
8 .SH DESCRIPTION
9 .LP
10 The 
11 .B lastmod
12 overlay creates a service entry rooted at the suffix of the database
13 it's stacked onto, which holds the DN, the modification type,
14 the modifiersName and the modifyTimestamp of the last write operation
15 performed on that database.
16 The lastmod overlay cannot be used when the "lastmod" feature
17 is disabled, i.e. "lastmod off" is used.
18 .P
19 All operations targeted at the DN of the lastmod entry are rejected,
20 except reads, i.e. searches with 
21 .B base
22 scope.
23 Regular operations are ignored, unless they result in writing; then,
24 in case of success, the lastmod entry is updated accordingly,
25 if possible.
26
27 .SH CONFIGURATION
28 These 
29 .B slapd.conf
30 configuration options apply to the lastmod overlay. They must appear
31 after the
32 .B overlay
33 directive.
34 .TP
35 .B lastmod-rdnvalue <RDN value>
36 Specify the value of the RDN used for the service entry.  By default
37 .I Lastmod
38 is used.
39 .TP
40 .B lastmod-enabled {yes|no}
41 Specify whether the overlay must be enabled or not at startup.
42 By default, the overlay is enabled; however, by changing the boolean
43 value of the attribute
44 .IR lastmodEnabled ,
45 one can affect the status of the overlay.
46 This is useful, for instance, to inhibit the overlay from keeping track
47 of large bulk loads or deletions.
48
49 .SH OBJECT CLASS
50 The 
51 .B lastmod
52 overlay depends on the
53 .B lastmod
54 objectClass.  The definition of that class is as follows:
55 .LP
56 .RS 4
57 ( 1.3.6.1.4.1.4203.666.3.13 "
58     NAME 'lastmod'
59     DESC 'OpenLDAP per-database last modification monitoring'
60     STRUCTURAL
61     SUP top
62     MUST ( cn $ lastmodDN $ lastmodType )
63     MAY ( description $ seeAlso ) )
64 .RE
65
66 .SH ATTRIBUTES
67 .P
68 Each one of the sections below details the meaning and use of a particular
69 attribute of this
70 .B lastmod
71 objectClass.
72 Most of the attributes that are specific to the lastmod objectClass are
73 operational, since they can logically be altered only by the DSA.
74 The most notable exception is the
75 .I lastmodEnabled
76 attributeType, which can be altered via protocol to change the status
77 of the overlay.
78 .P
79
80 .B lastmodEnabled
81 .P
82 This attribute contains a boolean flag that determines the status
83 of the overlay.  It can be altered via protocol by issuing a modify
84 operation that replaces the value of the attribute.
85 .LP
86 .RS 4
87 (  1.3.6.1.4.1.4203.666.1.30
88    NAME 'lastmodEnabled'
89    DESC 'Lastmod overlay state'
90    SYNTAX 1.3.6.1.4.1.1466.115.121.1.7
91    EQUALITY booleanMatch
92    SINGLE-VALUE )
93 .RE
94
95 .SH OPERATIONAL ATTRIBUTES
96 .P
97 Each one of the sections below details the meaning and use of a particular
98 attribute of this
99 .B lastmod
100 objectClass.
101 Most of the attributes that are specific to the lastmod objectClass are
102 operational, since they can logically be altered only by the DSA.
103 .P
104
105 .B lastmodDN
106 .P
107 This attribute contains the distinguished name of the entry
108 that was last modified within the naming context of a database.
109 .LP
110 .RS 4
111 (  1.3.6.1.4.1.4203.666.1.28
112    NAME 'lastmodDN'
113    DESC 'DN of last modification'
114    EQUALITY distinguishedNameMatch
115    SYNTAX 1.3.6.1.4.1.1466.115.121.1.12
116    NO-USER-MODIFICATION
117    USAGE directoryOperation )
118 .RE
119
120 .B lastmodType
121 .P
122 This attribute contains the type of the modification that occurred
123 to the last modified entry.  Legal values are
124 .BR add ,
125 .BR delete ,
126 .BR exop ,
127 .BR modify ,
128 .B modrdn
129 and
130 .BR unknown .
131 The latter should only be used as a fall-thru in case of unhandled
132 request types that are considered equivalent to a write operation.
133 .LP
134 .RS 4
135 (  1.3.6.1.4.1.4203.666.1.29
136    NAME 'lastmodType'
137    DESC 'Type of last modification'
138    SYNTAX 1.3.6.1.4.1.1466.115.121.1.15
139    EQUALITY caseIgnoreMatch
140    SINGLE-VALUE
141    NO-USER-MODIFICATION
142    USAGE directoryOperation )
143 .RE
144
145
146 .SH EXAMPLES
147 .LP
148 .RS
149 .nf
150 database    mdb
151 suffix      dc=example,dc=com
152 \...
153 overlay     lastmod
154 lastmod-rdnvalue "Last Modification"
155 .fi
156 .RE
157
158 .SH SEE ALSO
159 .BR ldap (3),
160 .BR slapd.conf (5),
161 .LP
162 "OpenLDAP Administrator's Guide" (http://www.OpenLDAP.org/doc/admin/)
163 .LP
164
165 .SH BUGS
166 It is unclear whether this overlay can safely interoperate 
167 with other overlays.
168 If the underlying backend does not implement entry_get/entry_release
169 handlers, modrdn update can become tricky.
170 The code needs some cleanup and more consistent error handling.
171 So far, the OIDs for the schema haven't been assigned yet.
172
173 .SH ACKNOWLEDGEMENTS
174 .P
175 This module was written in 2004 by Pierangelo Masarati in fulfillment
176 of requirements from SysNet s.n.c.; this man page has been copied
177 from 
178 .BR slapo-ppolicy (5),
179 and most of the overlays ever written are copied from Howard Chu's
180 first overlays.
181 .P
182 .B OpenLDAP
183 is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
184 .B OpenLDAP
185 is derived from University of Michigan LDAP 3.3 Release.