Add change record format description

This commit is contained in:
Kurt Zeilenga 2005-11-24 19:26:44 +00:00
parent 8d19d52467
commit 2567e820b7

View File

@ -6,22 +6,25 @@
ldif \- LDAP Data Interchange Format ldif \- LDAP Data Interchange Format
.SH DESCRIPTION .SH DESCRIPTION
The LDAP Data Interchange Format (LDIF) is used to represent LDAP The LDAP Data Interchange Format (LDIF) is used to represent LDAP
entries in text form. LDAP tools, such as entries and change records in text form. LDAP tools, such as
.BR ldapadd (1) .BR ldapadd (1) and .BR ldapsearch (1), read and write LDIF entry
and records. ldapmodify(1) reads LDIF change records.
.BR ldapsearch (1),
read and write LDIF.
.LP .LP
The basic form of an LDIF entry is: This manual page provides a basic description of LDIF. A
formal specification of LDIF is published in RFC 2849.
.SH ENTRY RECORDS
.LP
LDIF entry records are used to represent directory entries. The basic
form of an entry record is:
.LP .LP
.nf .nf
.ft tt .ft tt
dn: <distinguished name> dn: <distinguished name>
<attrdesc>: <attrvalue> <attrdesc>: <attrvalue>
<attrdesc>: <attrvalue> <attrdesc>: <attrvalue>
<attrdesc>:: <base64-encoded-value> <attrdesc>:: <base64-encoded-value>
<attrdesc>:< <URL> <attrdesc>:< <URL>
... ...
.ft .ft
.fi .fi
.LP .LP
@ -33,8 +36,8 @@ or tab, e.g.,
.LP .LP
.nf .nf
.ft tt .ft tt
dn: cn=Barbara J Jensen,dc=exam dn: cn=Barbara J Jensen,dc=exam
ple,dc=com ple,dc=com
.ft .ft
.fi .fi
.LP .LP
@ -44,8 +47,8 @@ Multiple attribute values are specified on separate lines, e.g.,
.LP .LP
.nf .nf
.ft tt .ft tt
cn: Barbara J Jensen cn: Barbara J Jensen
cn: Babs Jensen cn: Babs Jensen
.ft .ft
.fi .fi
.LP .LP
@ -56,7 +59,7 @@ the value " begins with a space" would be encoded like this:
.LP .LP
.nf .nf
.ft tt .ft tt
cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U= cn:: IGJlZ2lucyB3aXRoIGEgc3BhY2U=
.ft .ft
.fi .fi
.LP .LP
@ -66,54 +69,175 @@ in the file /tmp/value would be listed like this:
.LP .LP
.nf .nf
.ft tt .ft tt
cn:< file:///tmp/value cn:< file:///tmp/value
.ft .ft
.fi .fi
Other URI schemes (ftp,http) may be supported as well. Other URI schemes (ftp,http) may be supported as well.
.LP .LP
Multiple entries within the same LDIF file are separated by blank Multiple entries within the same LDIF file are separated by blank
lines. lines.
.SH EXAMPLE .SH ENTRY RECORD EXAMPLE
Here is an example of an LDIF file containing three entries. Here is an example of an LDIF file containing three entries.
.LP .LP
.nf .nf
.ft tt .ft tt
dn: cn=Barbara J Jensen,dc=example,dc=com dn: cn=Barbara J Jensen,dc=example,dc=com
cn: Barbara J Jensen cn: Barbara J Jensen
cn: Babs Jensen cn: Babs Jensen
objectclass: person objectclass: person
description:< file:///tmp/babs description:< file:///tmp/babs
sn: Jensen sn: Jensen
dn: cn=Bjorn J Jensen,dc=example,dc=com dn: cn=Bjorn J Jensen,dc=example,dc=com
cn: Bjorn J Jensen cn: Bjorn J Jensen
cn: Bjorn Jensen cn: Bjorn Jensen
objectclass: person objectclass: person
sn: Jensen sn: Jensen
dn: cn=Jennifer J Jensen,dc=example,dc=com dn: cn=Jennifer J Jensen,dc=example,dc=com
cn: Jennifer J Jensen cn: Jennifer J Jensen
cn: Jennifer Jensen cn: Jennifer Jensen
objectclass: person objectclass: person
sn: Jensen sn: Jensen
jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD jpegPhoto:: /9j/4AAQSkZJRgABAAAAAQABAAD/2wBDABALD
A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ A4MChAODQ4SERATGCgaGBYWGDEjJR0oOjM9PDkzODdASFxOQ
ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG ERXRTc4UG1RV19iZ2hnPk1xeXBkeFxlZ2P/2wBDARESEhgVG
... ...
.ft .ft
.fi .fi
.LP .LP
Notice that the description in Barbara Jensen's entry is Note that the description in Barbara Jensen's entry is
read from file:///tmp/babs and the jpegPhoto in Jennifer read from file:///tmp/babs and the jpegPhoto in Jennifer
Jensen's entry is encoded using base 64. Jensen's entry is encoded using base 64.
.SH CHANGE RECORDS
LDIF change records are used to represent directory change requests.
Each change record starts with line indicating the distinguished
name of the entry being changed:
.LP
.nf
dn: <distinguishedname>
.fi
.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: <attributetype>
<attrdesc>: <value1>
<attrdesc>: <value2>
...
-
.fi
.LP
Or, for a replace modification:
.LP
.nf
replace: <attributetype>
<attrdesc>: <value1>
<attrdesc>: <value2>
...
-
.fi
.LP
If no \fIattributetype\fP lines are given to replace,
the entire attribute is to be deleted (if present).
.LP
Or, for a delete modification:
.LP
.nf
delete: <attributetype>
<attrdesc>: <value1>
<attrdesc>: <value2>
...
-
.fi
.LP
If no \fIattributetype\fP lines are given to delete,
the entire attribute is to be deleted.
.LP
For a \fIchangetype\fP of \fIadd\fP, the format is:
.LP
.nf
<attrdesc1>: <value1>
<attrdesc1>: <value2>
...
<attrdescN>: <value1>
<attrdescN>: <value2>
.fi
.LP
For a \fIchangetype\fP of \fImodrdn\fP or \fImoddn\fP,
the format is:
.LP
.nf
newrdn: <newrdn>
deleteoldrdn: 0 | 1
newsuperior: <DN>
.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.
The newsuperior line is optional and, if present, specifies the
new superior to move the entry to.
.LP
For a \fIchangetype\fP of \fIdelete\fP, no additional information
is needed in the record.
.LP
Note that attribute values may be presented using base64 or in
files as described for entry records. Lines in change records
may be continued in the manner described for entry records as
well.
.SH CHANGE RECORD EXAMPLE
The following sample LDIF file contains a change record
of each type of change.
.LP
.nf
dn: cn=Babs Jensen,dc=example,dc=com
changetype: add
objectclass: person
objectclass: extensibleObject
cn: babs
cn: babs jensen
sn: jensen
dn: cn=Babs Jensen,dc=example,dc=com
changetype: modify
add: givenName
givenName: Barbara
givenName: babs
-
replace: description
description: the fabulous babs
-
delete: sn
sn: jensen
-
dn: cn=Babs Jensen,dc=example,dc=com
changetype: modrdn
newrdn: cn=Barbara J Jensen
deleteoldrdn: 0
newsuperior: ou=People,dc=example,dc=com
dn: cn=Barbara J Jensen,ou=People,dc=example,dc=com
changetype: delete
.fi
.SH SEE ALSO .SH SEE ALSO
.BR ldap (3), .BR ldap (3),
.BR ldapsearch (1), .BR ldapsearch (1),
.BR ldapadd (1). .BR ldapadd (1),
.BR ldapmodify (1),
.BR slapd.replog (5).
.LP .LP
"LDAP Data Interchange Format," Good, G., RFC 2849. "LDAP Data Interchange Format," Good, G., RFC 2849.
.SH ACKNOWLEDGEMENTS .SH ACKNOWLEDGEMENTS
.B OpenLDAP .B OpenLDAP
is developed and maintained by The OpenLDAP Project (http://www.openldap.org/). is developed and maintained by The OpenLDAP Project (http://www.openldap.org/).
.B OpenLDAP .B OpenLDAP
is derived from University of Michigan LDAP 3.3 Release. is derived from University of Michigan LDAP 3.3 Release.