a non-user-mod attribute (such as timeStamps).
Move generation of add_modify_attrs to frontend.
update of add_modify_attrs on modrdn needs work (currently
not updated to maintain consistency with replicas).
#include "slap.h"
-static void add_created_attrs(Operation *op, Entry *e);
+static int add_created_attrs(Operation *op, Entry *e);
int
do_add( Connection *conn, Operation *op )
strcmp( be->be_update_ndn, op->o_ndn ) == 0 )
{
if ( (be->be_lastmod == ON || (be->be_lastmod == UNDEFINED &&
- global_lastmod == ON)) && be->be_update_ndn == NULL ) {
-
- add_created_attrs( op, e );
+ global_lastmod == ON)) && be->be_update_ndn == NULL )
+ {
+ rc = add_created_attrs( op, e );
+
+ if( rc != LDAP_SUCCESS ) {
+ entry_free( e );
+ send_ldap_result( conn, op, rc,
+ NULL, "no-user-modification attribute type",
+ NULL, NULL );
+ return rc;
+ }
}
+
if ( (*be->be_add)( be, conn, op, e ) == 0 ) {
replog( be, LDAP_REQ_ADD, e->e_dn, e, 0 );
be_entry_release_w( be, e );
return rc;
}
-static void
+static int
add_created_attrs( Operation *op, Entry *e )
{
char buf[22];
struct berval bv;
struct berval *bvals[2];
- Attribute **a, **next;
+ Attribute *a;
Attribute *tmp;
struct tm *ltm;
time_t currenttime;
bvals[0] = &bv;
bvals[1] = NULL;
- /* remove any attempts by the user to add these attrs */
- for ( a = &e->e_attrs; *a != NULL; a = next ) {
- if ( oc_check_no_usermod_attr( (*a)->a_type ) ) {
- tmp = *a;
- *a = (*a)->a_next;
- attr_free( tmp );
- next = a;
- } else {
- next = &(*a)->a_next;
+ /* return error on any attempts by the user to add these attrs */
+ for ( a = e->e_attrs; a != NULL; a = a->a_next ) {
+ if ( oc_check_no_usermod_attr( a->a_type ) ) {
+ return LDAP_CONSTRAINT_VIOLATION;
}
}
bv.bv_val = buf;
bv.bv_len = strlen( bv.bv_val );
attr_merge( e, "createtimestamp", bvals );
+
+ return LDAP_SUCCESS;
}
#include "back-bdb2.h"
#include "proto-back-bdb2.h"
-
-static void add_lastmods(Operation *op, LDAPModList **ml);
-
-
-static void
-add_lastmods( Operation *op, LDAPModList **modlist )
-{
- char buf[22];
- struct berval bv;
- struct berval *bvals[2];
- LDAPModList **m;
- LDAPModList *tmp;
- struct tm *ltm;
- time_t currenttime;
-
- Debug( LDAP_DEBUG_TRACE, "add_lastmods\n", 0, 0, 0 );
-
- bvals[0] = &bv;
- bvals[1] = NULL;
-
- /* remove any attempts by the user to modify these attrs */
- for ( m = modlist; *m != NULL; m = &(*m)->ml_next ) {
- if ( oc_check_no_usermod_attr( (*m)->ml_type ) ) {
- Debug( LDAP_DEBUG_TRACE,
- "add_lastmods: found no user mod attr: %s\n",
- (*m)->ml_type, 0, 0 );
- tmp = *m;
- *m = (*m)->ml_next;
- free( tmp->ml_type );
- if ( tmp->ml_bvalues != NULL ) {
- ber_bvecfree( tmp->ml_bvalues );
- }
- free( tmp );
- if (!*m)
- break;
- }
- }
-
- if ( op->o_dn == NULL || op->o_dn[0] == '\0' ) {
- bv.bv_val = "NULLDN";
- bv.bv_len = strlen( bv.bv_val );
- } else {
- bv.bv_val = op->o_dn;
- bv.bv_len = strlen( bv.bv_val );
- }
- tmp = (LDAPModList *) ch_calloc( 1, sizeof(LDAPModList) );
- tmp->ml_type = ch_strdup( "modifiersname" );
- tmp->ml_op = LDAP_MOD_REPLACE;
- tmp->ml_bvalues = (struct berval **) ch_calloc(2, sizeof(struct berval *));
- tmp->ml_bvalues[0] = ber_bvdup( &bv );
- tmp->ml_next = *modlist;
- *modlist = tmp;
-
- currenttime = slap_get_time();
- ldap_pvt_thread_mutex_lock( &gmtime_mutex );
-#ifndef LDAP_LOCALTIME
- ltm = gmtime( ¤ttime );
- strftime( buf, sizeof(buf), "%Y%m%d%H%M%SZ", ltm );
-#else
- ltm = localtime( ¤ttime );
- strftime( buf, sizeof(buf), "%y%m%d%H%M%SZ", ltm );
-#endif
- ldap_pvt_thread_mutex_unlock( &gmtime_mutex );
-
- bv.bv_val = buf;
- bv.bv_len = strlen( bv.bv_val );
- tmp = (LDAPModList *) ch_calloc( 1, sizeof(LDAPModList) );
- tmp->ml_type = ch_strdup( "modifytimestamp" );
- tmp->ml_op = LDAP_MOD_REPLACE;
- tmp->ml_bvalues = (struct berval **) ch_calloc(2, sizeof(struct berval *));
- tmp->ml_bvalues[0] = ber_bvdup( &bv );
- tmp->ml_next = *modlist;
- *modlist = tmp;
-
-}
-
int
bdb2i_back_modify_internal(
BackendDB *be,
#include "back-ldbm.h"
#include "proto-back-ldbm.h"
-static void add_lastmods(Operation *op, LDAPModList **ml);
-
-
-static void
-add_lastmods( Operation *op, LDAPModList **modlist )
-{
- char buf[22];
- struct berval bv;
- struct berval *bvals[2];
- LDAPModList **m;
- LDAPModList *tmp;
- struct tm *ltm;
- time_t currenttime;
-
- Debug( LDAP_DEBUG_TRACE, "add_lastmods\n", 0, 0, 0 );
-
- bvals[0] = &bv;
- bvals[1] = NULL;
-
- /* remove any attempts by the user to modify these attrs */
- for ( m = modlist; *m != NULL; m = &(*m)->ml_next ) {
- if ( oc_check_no_usermod_attr( (*m)->ml_type ) ) {
- Debug( LDAP_DEBUG_TRACE,
- "add_lastmods: found no user mod attr: %s\n",
- (*m)->ml_type, 0, 0 );
- tmp = *m;
- *m = (*m)->ml_next;
- free( tmp->ml_type );
- if ( tmp->ml_bvalues != NULL ) {
- ber_bvecfree( tmp->ml_bvalues );
- }
- free( tmp );
- if (!*m)
- break;
- }
- }
-
- if ( op->o_dn == NULL || op->o_dn[0] == '\0' ) {
- bv.bv_val = "NULLDN";
- bv.bv_len = strlen( bv.bv_val );
- } else {
- bv.bv_val = op->o_dn;
- bv.bv_len = strlen( bv.bv_val );
- }
- tmp = (LDAPModList *) ch_calloc( 1, sizeof(LDAPModList) );
- tmp->ml_type = ch_strdup( "modifiersname" );
- tmp->ml_op = LDAP_MOD_REPLACE;
- tmp->ml_bvalues = (struct berval **) ch_calloc(2, sizeof(struct berval *));
- tmp->ml_bvalues[0] = ber_bvdup( &bv );
- tmp->ml_next = *modlist;
- *modlist = tmp;
-
- currenttime = slap_get_time();
- ldap_pvt_thread_mutex_lock( &gmtime_mutex );
-#ifndef LDAP_LOCALTIME
- ltm = gmtime( ¤ttime );
- strftime( buf, sizeof(buf), "%Y%m%d%H%M%SZ", ltm );
-#else
- ltm = localtime( ¤ttime );
- strftime( buf, sizeof(buf), "%y%m%d%H%M%SZ", ltm );
-#endif
- ldap_pvt_thread_mutex_unlock( &gmtime_mutex );
-
- bv.bv_val = buf;
- bv.bv_len = strlen( bv.bv_val );
- tmp = (LDAPModList *) ch_calloc( 1, sizeof(LDAPModList) );
- tmp->ml_type = ch_strdup( "modifytimestamp" );
- tmp->ml_op = LDAP_MOD_REPLACE;
- tmp->ml_bvalues = (struct berval **) ch_calloc(2, sizeof(struct berval *));
- tmp->ml_bvalues[0] = ber_bvdup( &bv );
- tmp->ml_next = *modlist;
- *modlist = tmp;
-
-}
-
/* We need this function because of LDAP modrdn. If we do not
* add this there would be a bunch of code replication here
* and there and of course the likelihood of bugs increases.
LDAPModList *ml;
Attribute *a;
- if ( ((be->be_lastmod == ON)
- || ((be->be_lastmod == UNDEFINED)&&(global_lastmod == ON)))
- && (be->be_update_ndn == NULL)) {
-
- /* XXX: It may be wrong, it changes mod time even if
- * mod fails!
- */
- add_lastmods( op, &modlist );
-
- }
-
-
if ( (err = acl_check_modlist( be, conn, op, e, modlist ))
!= LDAP_SUCCESS )
{
static void modlist_free(LDAPModList *ml);
+static int add_modified_attrs( Operation *op, LDAPModList **modlist );
+
int
do_modify(
Connection *conn,
if ( be->be_update_ndn == NULL ||
strcmp( be->be_update_ndn, op->o_ndn ) == 0 )
{
+ if ( (be->be_lastmod == ON || (be->be_lastmod == UNDEFINED &&
+ global_lastmod == ON)) && be->be_update_ndn == NULL )
+ {
+ rc = add_modified_attrs( op, &modlist );
+
+ if( rc != LDAP_SUCCESS ) {
+ free( ndn );
+ modlist_free( modlist );
+ send_ldap_result( conn, op, rc,
+ NULL, "no-user-modification attribute type",
+ NULL, NULL );
+ return rc;
+ }
+ }
+
if ( (*be->be_modify)( be, conn, op, ndn, modlist ) == 0 ) {
replog( be, LDAP_REQ_MODIFY, ndn, modlist, 0 );
}
return rc;
}
+static int
+add_modified_attrs( Operation *op, LDAPModList **modlist )
+{
+ char buf[22];
+ struct berval bv;
+ struct berval *bvals[2];
+ LDAPModList *m;
+ struct tm *ltm;
+ time_t currenttime;
+
+ bvals[0] = &bv;
+ bvals[1] = NULL;
+
+ /* remove any attempts by the user to modify these attrs */
+ for ( m = *modlist; m != NULL; m = m->ml_next ) {
+ if ( oc_check_no_usermod_attr( m->ml_type ) ) {
+ return LDAP_CONSTRAINT_VIOLATION;
+ }
+ }
+
+ if ( op->o_dn == NULL || op->o_dn[0] == '\0' ) {
+ bv.bv_val = "NULLDN";
+ bv.bv_len = strlen( bv.bv_val );
+ } else {
+ bv.bv_val = op->o_dn;
+ bv.bv_len = strlen( bv.bv_val );
+ }
+ m = (LDAPModList *) ch_calloc( 1, sizeof(LDAPModList) );
+ m->ml_type = ch_strdup( "modifiersname" );
+ m->ml_op = LDAP_MOD_REPLACE;
+ m->ml_bvalues = (struct berval **) ch_calloc(2, sizeof(struct berval *));
+ m->ml_bvalues[0] = ber_bvdup( &bv );
+ m->ml_next = *modlist;
+ *modlist = m;
+
+ currenttime = slap_get_time();
+ ldap_pvt_thread_mutex_lock( &gmtime_mutex );
+#ifndef LDAP_LOCALTIME
+ ltm = gmtime( ¤ttime );
+ strftime( buf, sizeof(buf), "%Y%m%d%H%M%SZ", ltm );
+#else
+ ltm = localtime( ¤ttime );
+ strftime( buf, sizeof(buf), "%y%m%d%H%M%SZ", ltm );
+#endif
+ ldap_pvt_thread_mutex_unlock( &gmtime_mutex );
+
+ bv.bv_val = buf;
+ bv.bv_len = strlen( bv.bv_val );
+ m = (LDAPModList *) ch_calloc( 1, sizeof(LDAPModList) );
+ m->ml_type = ch_strdup( "modifytimestamp" );
+ m->ml_op = LDAP_MOD_REPLACE;
+ m->ml_bvalues = (struct berval **) ch_calloc(2, sizeof(struct berval *));
+ m->ml_bvalues[0] = ber_bvdup( &bv );
+ m->ml_next = *modlist;
+ *modlist = m;
+
+ return LDAP_SUCCESS;
+}
+
static void
modlist_free(
LDAPModList *ml
onvacation: FALSE
labeledurl: http://www.umich.edu/ U-M Home Page
drink: water
-lastmodifiedtime: 960404035839Z
-lastmodifiedby: cn=Barbara Jensen, ou=Information Technology Division, ou=Peop
- le, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 3233
facsimiletelephonenumber: +1 313 555 2274
objectclass: quipuObject
objectclass: quipuNonLeafObject
ou: Groups
-lastmodifiedtime: 950120182331Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
dn: ou=Information Technology Division, ou=People, o=University of Michigan, c
=US
cn: Dir Man
sn: Manager
description: Manager of the directory
-lastmodifiedtime: 951212214144Z
-lastmodifiedby: cn=Manager, o=University of Michigan, c=US
krbname: bjensen@umich.edu
dn: ou=People, o=University of Michigan, c=US
postaladdress: University of Michigan $ 535 W. William St. $ Ann Arbor, MI 481
09 $ USpostalcode: 48109
telephonenumber: +1 313 764-1817
-lastmodifiedtime: 930106182800Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
associateddomain: umich.edu
joinable: FALSE
multilinedescription: Everyone in the sample data
objectclass: rfc822mailgroup
-modifiersname: cn=Manager, o=University of Michigan, c=US
dn: cn=Alumni Assoc Staff,ou=Groups,o=University of Michigan,c=US
member: cn=Manager, o=University of Michigan, c=US
onvacation: FALSE
labeledurl: http://www.umich.edu/ U-M Home Page
drink: water
-lastmodifiedtime: 960404035839Z
-lastmodifiedby: cn=Barbara Jensen, ou=Information Technology Division, ou=Peop
- le, o=University of Michigan, c=US
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 3233
facsimiletelephonenumber: +1 313 555 2274
pager: +1 313 555 4474
facsimiletelephonenumber: +1 313 555 2177
telephonenumber: +1 313 555 0355
-modifiersname: cn=Manager, o=University of Michigan, c=US
multilinedescription: The replaced multiLineDescription $ Blah Woof.
drink: Iced Tea
drink: Mad Dog 20/20
facsimiletelephonenumber: +1 313 555 3223
telephonenumber: +1 313 555 3664
mail: dots@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 0454
dn: cn=Gern Jensen, ou=Information Technology Division, ou=People, o=Universit
telephonenumber: +1 313 555 8343
mail: gjensen@mailgw.umich.edu
homephone: +1 313 555 8844
-creatorsname: cn=Manager, o=University of Michigan, c=US
dn: ou=Groups, o=University of Michigan, c=US
objectclass: top
objectclass: quipuObject
objectclass: quipuNonLeafObject
ou: Groups
-lastmodifiedtime: 950120182331Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
dn: ou=Information Technology Division, ou=People, o=University of Michigan, c
=US
member: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of
Michigan, c=US
labeledurl: http://www.itd.umich.edu ITD Home Page
-modifiersname: cn=Manager, o=University of Michigan, c=US
dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Mich
igan, c=US
mail: jaj@mail.alumni.umich.edu
facsimiletelephonenumber: +1 313 555 4332
telephonenumber: +1 313 555 0895
-modifiersname: cn=Manager, o=University of Michigan, c=US
drink: Orange Juice
dn: cn=Jane Doe, ou=Alumni Association, ou=People, o=University of Michigan, c
drink: diet coke
multilinedescription: Enthusiastic
mail: jdoe@woof.net
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5445
pager: +1 313 555 1220
facsimiletelephonenumber: +1 313 555 2311
homepostaladdress: 1000 Maple #44 $ Ann Arbor, MI 48103
title: Telemarketer, UM Alumni Association
mail: jen@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 6442
facsimiletelephonenumber: +1 313 555 2756
title: System Administrator, Information Technology Division
multilinedescription: overworked!
mail: johnd@mailgw.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 3774
pager: +1 313 555 6573
facsimiletelephonenumber: +1 313 555 4544
sn: Manager
description: Manager of the directory
userpassword: secret
-lastmodifiedtime: 951212214144Z
-lastmodifiedby: cn=Manager, o=University of Michigan, c=US
krbname: bjensen@umich.edu
dn: cn=Mark Elliot, ou=Alumni Association, ou=People, o=University of Michigan
drink: Gasoline
title: Director, UM Alumni Association
mail: melliot@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 7671
facsimiletelephonenumber: +1 313 555 7762
telephonenumber: +1 313 555 4177
postaladdress: University of Michigan $ 535 W. William St. $ Ann Arbor, MI 481
09 $ USpostalcode: 48109
telephonenumber: +1 313 764-1817
-lastmodifiedtime: 930106182800Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
associateddomain: umich.edu
dn: cn=Ursula Hampster, ou=Alumni Association, ou=People, o=University of Mich
nobatchupdates: TRUE
onvacation: FALSE
mail: uham@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 8421
pager: +1 313 555 2844
facsimiletelephonenumber: +1 313 555 9700
onvacation: FALSE
labeledurl: http://www.umich.edu/ U-M Home Page
drink: water
-lastmodifiedtime: 960404035839Z
-lastmodifiedby: cn=Barbara Jensen, ou=Information Technology Division, ou=Peop
- le, o=University of Michigan, c=US
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 3233
facsimiletelephonenumber: +1 313 555 2274
title: Director, Embedded Systems
postaladdress: Info Tech Division $ 535 W. William St. $ Ann Arbor, MI 48103
mail: bjorn@mailgw.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5444
pager: +1 313 555 4474
facsimiletelephonenumber: +1 313 555 2177
facsimiletelephonenumber: +1 313 555 3223
telephonenumber: +1 313 555 3664
mail: dots@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 0454
dn: ou=Groups, o=University of Michigan, c=US
objectclass: quipuObject
objectclass: quipuNonLeafObject
ou: Groups
-lastmodifiedtime: 950120182331Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
dn: ou=Information Technology Division, ou=People, o=University of Michigan, c
=US
niversity of Michigan, c=US
member: cn=John Doe, ou=Information Technology Division, ou=People, o=Universi
ty of Michigan, c=US
-modifiersname: cn=Manager, o=University of Michigan, c=US
labeledurl: http://www.itd.umich.edu ITD Home Page
dn: cn=James A Jones II, ou=Information Technology Division, ou=People, o=Univ
multilinedescription: Not around very much
mail: jjones@mailgw.umich.edu
postaladdress: Info Tech Division $ 535 W William $ Ann Arbor, MI 48103
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 2833
facsimiletelephonenumber: +1 313 555 8688
telephonenumber: +1 313 555 7334
title: Mad Cow Researcher, UM Alumni Association
pager: +1 313 555 3923
mail: jaj@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
facsimiletelephonenumber: +1 313 555 4332
telephonenumber: +1 313 555 0895
drink: diet coke
multilinedescription: Enthusiastic
mail: jdoe@woof.net
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5445
pager: +1 313 555 1220
facsimiletelephonenumber: +1 313 555 2311
homepostaladdress: 1000 Maple #44 $ Ann Arbor, MI 48103
title: Telemarketer, UM Alumni Association
mail: jen@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 6442
facsimiletelephonenumber: +1 313 555 2756
title: System Administrator, Information Technology Division
multilinedescription: overworked!
mail: johnd@mailgw.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 3774
pager: +1 313 555 6573
facsimiletelephonenumber: +1 313 555 4544
sn: Manager
description: Manager of the directory
userpassword: secret
-lastmodifiedtime: 951212214144Z
-lastmodifiedby: cn=Manager, o=University of Michigan, c=US
krbname: bjensen@umich.edu
dn: cn=Mark Elliot, ou=Alumni Association, ou=People, o=University of Michigan
drink: Gasoline
title: Director, UM Alumni Association
mail: melliot@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 7671
facsimiletelephonenumber: +1 313 555 7762
telephonenumber: +1 313 555 4177
postaladdress: University of Michigan $ 535 W. William St. $ Ann Arbor, MI 481
09 $ USpostalcode: 48109
telephonenumber: +1 313 764-1817
-lastmodifiedtime: 930106182800Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
associateddomain: umich.edu
dn: cn=Ursula Hampster, ou=Alumni Association, ou=People, o=University of Mich
nobatchupdates: TRUE
onvacation: FALSE
mail: uham@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 8421
pager: +1 313 555 2844
facsimiletelephonenumber: +1 313 555 9700
onvacation: FALSE
labeledurl: http://www.umich.edu/ U-M Home Page
drink: water
-lastmodifiedtime: 960404035839Z
-lastmodifiedby: cn=Barbara Jensen, ou=Information Technology Division, ou=Peop
- le, o=University of Michigan, c=US
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 3233
facsimiletelephonenumber: +1 313 555 2274
title: Director, Embedded Systems
postaladdress: Info Tech Division $ 535 W. William St. $ Ann Arbor, MI 48103
mail: bjorn@mailgw.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5444
pager: +1 313 555 4474
facsimiletelephonenumber: +1 313 555 2177
facsimiletelephonenumber: +1 313 555 3223
telephonenumber: +1 313 555 3664
mail: dots@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 0454
dn: ou=Groups, o=University of Michigan, c=US
objectclass: quipuObject
objectclass: quipuNonLeafObject
ou: Groups
-lastmodifiedtime: 950120182331Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
dn: ou=Information Technology Division, ou=People, o=University of Michigan, c
=US
niversity of Michigan, c=US
member: cn=John Doe, ou=Information Technology Division, ou=People, o=Universi
ty of Michigan, c=US
-modifiersname: cn=Manager, o=University of Michigan, c=US
labeledurl: http://www.itd.umich.edu ITD Home Page
dn: cn=James A Jones II, ou=Information Technology Division, ou=People, o=Univ
multilinedescription: Not around very much
mail: jjones@mailgw.umich.edu
postaladdress: Info Tech Division $ 535 W William $ Ann Arbor, MI 48103
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 2833
facsimiletelephonenumber: +1 313 555 8688
telephonenumber: +1 313 555 7334
title: Mad Cow Researcher, UM Alumni Association
pager: +1 313 555 3923
mail: jaj@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
facsimiletelephonenumber: +1 313 555 4332
telephonenumber: +1 313 555 0895
drink: diet coke
multilinedescription: Enthusiastic
mail: jdoe@woof.net
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5445
pager: +1 313 555 1220
facsimiletelephonenumber: +1 313 555 2311
homepostaladdress: 1000 Maple #44 $ Ann Arbor, MI 48103
title: Telemarketer, UM Alumni Association
mail: jen@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 6442
facsimiletelephonenumber: +1 313 555 2756
title: System Administrator, Information Technology Division
multilinedescription: overworked!
mail: johnd@mailgw.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 3774
pager: +1 313 555 6573
facsimiletelephonenumber: +1 313 555 4544
sn: Manager
description: Manager of the directory
userpassword: secret
-lastmodifiedtime: 951212214144Z
-lastmodifiedby: cn=Manager, o=University of Michigan, c=US
krbname: bjensen@umich.edu
dn: cn=Mark Elliot, ou=Alumni Association, ou=People, o=University of Michigan
drink: Gasoline
title: Director, UM Alumni Association
mail: melliot@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 7671
facsimiletelephonenumber: +1 313 555 7762
telephonenumber: +1 313 555 4177
postaladdress: University of Michigan $ 535 W. William St. $ Ann Arbor, MI 481
09 $ USpostalcode: 48109
telephonenumber: +1 313 764-1817
-lastmodifiedtime: 930106182800Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
associateddomain: umich.edu
dn: cn=Ursula Hampster, ou=Alumni Association, ou=People, o=University of Mich
nobatchupdates: TRUE
onvacation: FALSE
mail: uham@mail.alumni.umich.edu
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 8421
pager: +1 313 555 2844
facsimiletelephonenumber: +1 313 555 9700
mail: jaj@mail.alumni.umich.edu
facsimiletelephonenumber: +1 313 555 4332
telephonenumber: +1 313 555 0895
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 2833
facsimiletelephonenumber: +1 313 555 8688
telephonenumber: +1 313 555 7334
-modifiersname: cn=Manager, o=University of Michigan, c=US
mail: jaj@mail.alumni.umich.edu
facsimiletelephonenumber: +1 313 555 4332
telephonenumber: +1 313 555 0895
-modifiersname: cn=Manager, o=University of Michigan, c=US
onvacation: FALSE
labeledurl: http://www.umich.edu/ U-M Home Page
drink: water
-lastmodifiedtime: 960404035839Z
-lastmodifiedby: cn=Barbara Jensen, ou=Information Technology Division, ou=Peop
- le, o=University of Michigan, c=US
-modifytimestamp: 960404171405Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 3233
facsimiletelephonenumber: +1 313 555 2274
title: Director, Embedded Systems
postaladdress: Info Tech Division $ 535 W. William St. $ Ann Arbor, MI 48103
mail: bjorn@mailgw.umich.edu
-modifytimestamp: 960404171424Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5444
pager: +1 313 555 4474
facsimiletelephonenumber: +1 313 555 2177
niversity of Michigan, c=US
member: cn=John Doe, ou=Information Technology Division, ou=People, o=Universi
ty of Michigan, c=US
-modifytimestamp: 960404171730Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
labeledurl: http://www.itd.umich.edu ITD Home Page
dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Mich
title: Mad Cow Researcher, UM Alumni Association
pager: +1 313 555 3923
mail: jaj@mail.alumni.umich.edu
-modifytimestamp: 960404171231Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
facsimiletelephonenumber: +1 313 555 4332
telephonenumber: +1 313 555 0895
dn: cn=All Staff,ou=Groups,o=University of Michigan,c=US
objectclass: quipuObject
objectclass: quipuNonLeafObject
ou: Groups
-lastmodifiedtime: 950120182331Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
dn: ou=Information Technology Division, ou=People, o=University of Michigan, c
=US
niversity of Michigan, c=US
member: cn=John Doe, ou=Information Technology Division, ou=People, o=Universi
ty of Michigan, c=US
-modifiersname: cn=Manager, o=University of Michigan, c=US
labeledurl: http://www.itd.umich.edu ITD Home Page
dn: ou=People, o=University of Michigan, c=US
postaladdress: University of Michigan $ 535 W. William St. $ Ann Arbor, MI 481
09 $ USpostalcode: 48109
telephonenumber: +1 313 764-1817
-lastmodifiedtime: 930106182800Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
associateddomain: umich.edu
postaladdress: University of Michigan $ 535 W. William St. $ Ann Arbor, MI 481
09 $ USpostalcode: 48109
telephonenumber: +1 313 764-1817
-lastmodifiedtime: 930106182800Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
associateddomain: umich.edu
dn: ou=People, o=University of Michigan, c=US
objectclass: quipuObject
objectclass: quipuNonLeafObject
ou: Groups
-lastmodifiedtime: 950120182331Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
dn: ou=Alumni Association, ou=People, o=University of Michigan, c=US
objectclass: top
onvacation: FALSE
labeledurl: http://www.umich.edu/ U-M Home Page
drink: water
-lastmodifiedtime: 960404035839Z
-lastmodifiedby: cn=Barbara Jensen, ou=Information Technology Division, ou=Peop
- le, o=University of Michigan, c=US
-modifytimestamp: 960404171405Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 3233
facsimiletelephonenumber: +1 313 555 2274
title: Director, Embedded Systems
postaladdress: Info Tech Division $ 535 W. William St. $ Ann Arbor, MI 48103
mail: bjorn@mailgw.umich.edu
-modifytimestamp: 960404171424Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5444
pager: +1 313 555 4474
facsimiletelephonenumber: +1 313 555 2177
facsimiletelephonenumber: +1 313 555 3223
telephonenumber: +1 313 555 3664
mail: dots@mail.alumni.umich.edu
-modifytimestamp: 960404171218Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 0454
dn: cn=ITD Staff,ou=Groups,o=University of Michigan,c=US
niversity of Michigan, c=US
member: cn=John Doe, ou=Information Technology Division, ou=People, o=Universi
ty of Michigan, c=US
-modifytimestamp: 960404171730Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
labeledurl: http://www.itd.umich.edu ITD Home Page
dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Mich
title: Mad Cow Researcher, UM Alumni Association
pager: +1 313 555 3923
mail: jaj@mail.alumni.umich.edu
-modifytimestamp: 960404171231Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
facsimiletelephonenumber: +1 313 555 4332
telephonenumber: +1 313 555 0895
multilinedescription: Not around very much
mail: jjones@mailgw.umich.edu
postaladdress: Info Tech Division $ 535 W William $ Ann Arbor, MI 48103
-modifytimestamp: 960404171442Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 2833
facsimiletelephonenumber: +1 313 555 8688
telephonenumber: +1 313 555 7334
drink: diet coke
multilinedescription: Enthusiastic
mail: jdoe@woof.net
-modifytimestamp: 960404171249Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5445
pager: +1 313 555 1220
facsimiletelephonenumber: +1 313 555 2311
homepostaladdress: 1000 Maple #44 $ Ann Arbor, MI 48103
title: Telemarketer, UM Alumni Association
mail: jen@mail.alumni.umich.edu
-modifytimestamp: 960404171309Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 6442
facsimiletelephonenumber: +1 313 555 2756
title: System Administrator, Information Technology Division
multilinedescription: overworked!
mail: johnd@mailgw.umich.edu
-modifytimestamp: 960404171509Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 3774
pager: +1 313 555 6573
facsimiletelephonenumber: +1 313 555 4544
sn: Manager
description: Manager of the directory
userpassword: secret
-lastmodifiedtime: 951212214144Z
-lastmodifiedby: cn=Manager, o=University of Michigan, c=US
krbname: bjensen@umich.edu
dn: cn=Mark Elliot, ou=Alumni Association, ou=People, o=University of Michigan
drink: Gasoline
title: Director, UM Alumni Association
mail: melliot@mail.alumni.umich.edu
-modifytimestamp: 960404171327Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 7671
facsimiletelephonenumber: +1 313 555 7762
telephonenumber: +1 313 555 4177
nobatchupdates: TRUE
onvacation: FALSE
mail: uham@mail.alumni.umich.edu
-modifytimestamp: 960404171346Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 8421
pager: +1 313 555 2844
facsimiletelephonenumber: +1 313 555 9700
onvacation: FALSE
labeledurl: http://www.umich.edu/ U-M Home Page
drink: water
-lastmodifiedtime: 960404035839Z
-lastmodifiedby: cn=Barbara Jensen, ou=Information Technology Division, ou=Peop
- le, o=University of Michigan, c=US
-modifytimestamp: 960404171405Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 3233
facsimiletelephonenumber: +1 313 555 2274
title: Director, Embedded Systems
postaladdress: Info Tech Division $ 535 W. William St. $ Ann Arbor, MI 48103
mail: bjorn@mailgw.umich.edu
-modifytimestamp: 960404171424Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5444
pager: +1 313 555 4474
facsimiletelephonenumber: +1 313 555 2177
facsimiletelephonenumber: +1 313 555 3223
telephonenumber: +1 313 555 3664
mail: dots@mail.alumni.umich.edu
-modifytimestamp: 960404171218Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 0454
dn: ou=Groups, o=University of Michigan, c=US
objectclass: quipuObject
objectclass: quipuNonLeafObject
ou: Groups
-lastmodifiedtime: 950120182331Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
dn: ou=Information Technology Division, ou=People, o=University of Michigan, c
=US
niversity of Michigan, c=US
member: cn=John Doe, ou=Information Technology Division, ou=People, o=Universi
ty of Michigan, c=US
-modifytimestamp: 960404171730Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
labeledurl: http://www.itd.umich.edu ITD Home Page
dn: cn=James A Jones 1, ou=Alumni Association, ou=People, o=University of Mich
title: Mad Cow Researcher, UM Alumni Association
pager: +1 313 555 3923
mail: jaj@mail.alumni.umich.edu
-modifytimestamp: 960404171231Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
facsimiletelephonenumber: +1 313 555 4332
telephonenumber: +1 313 555 0895
multilinedescription: Not around very much
mail: jjones@mailgw.umich.edu
postaladdress: Info Tech Division $ 535 W William $ Ann Arbor, MI 48103
-modifytimestamp: 960404171442Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 2833
facsimiletelephonenumber: +1 313 555 8688
telephonenumber: +1 313 555 7334
drink: diet coke
multilinedescription: Enthusiastic
mail: jdoe@woof.net
-modifytimestamp: 960404171249Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 5445
pager: +1 313 555 1220
facsimiletelephonenumber: +1 313 555 2311
homepostaladdress: 1000 Maple #44 $ Ann Arbor, MI 48103
title: Telemarketer, UM Alumni Association
mail: jen@mail.alumni.umich.edu
-modifytimestamp: 960404171309Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 2333
pager: +1 313 555 6442
facsimiletelephonenumber: +1 313 555 2756
title: System Administrator, Information Technology Division
multilinedescription: overworked!
mail: johnd@mailgw.umich.edu
-modifytimestamp: 960404171509Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 3774
pager: +1 313 555 6573
facsimiletelephonenumber: +1 313 555 4544
sn: Manager
description: Manager of the directory
userpassword: secret
-lastmodifiedtime: 951212214144Z
-lastmodifiedby: cn=Manager, o=University of Michigan, c=US
krbname: bjensen@umich.edu
dn: cn=Mark Elliot, ou=Alumni Association, ou=People, o=University of Michigan
drink: Gasoline
title: Director, UM Alumni Association
mail: melliot@mail.alumni.umich.edu
-modifytimestamp: 960404171327Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
pager: +1 313 555 7671
facsimiletelephonenumber: +1 313 555 7762
telephonenumber: +1 313 555 4177
postaladdress: University of Michigan $ 535 W. William St. $ Ann Arbor, MI 481
09 $ USpostalcode: 48109
telephonenumber: +1 313 764-1817
-lastmodifiedtime: 930106182800Z
-lastmodifiedby: cn=manager, o=university of michigan, c=US
associateddomain: umich.edu
dn: cn=Ursula Hampster, ou=Alumni Association, ou=People, o=University of Mich
nobatchupdates: TRUE
onvacation: FALSE
mail: uham@mail.alumni.umich.edu
-modifytimestamp: 960404171346Z
-modifiersname: cn=Manager, o=University of Michigan, c=US
homephone: +1 313 555 8421
pager: +1 313 555 2844
facsimiletelephonenumber: +1 313 555 9700