diff options
author | cvsadm <cvsadm> | 2005-01-21 00:44:34 +0000 |
---|---|---|
committer | cvsadm <cvsadm> | 2005-01-21 00:44:34 +0000 |
commit | b2093e3016027d6b5cf06b3f91f30769bfc099e2 (patch) | |
tree | cf58939393a9032182c4fbc4441164a9456e82f8 /ldap/admin/src/makevlvindex | |
download | ds-b2093e3016027d6b5cf06b3f91f30769bfc099e2.tar.gz ds-b2093e3016027d6b5cf06b3f91f30769bfc099e2.tar.xz ds-b2093e3016027d6b5cf06b3f91f30769bfc099e2.zip |
Moving NSCP Directory Server from DirectoryBranch to TRUNK, initial drop. (foxworth)ldapserver7x
Diffstat (limited to 'ldap/admin/src/makevlvindex')
-rw-r--r-- | ldap/admin/src/makevlvindex | 109 |
1 files changed, 109 insertions, 0 deletions
diff --git a/ldap/admin/src/makevlvindex b/ldap/admin/src/makevlvindex new file mode 100644 index 00000000..ef68798c --- /dev/null +++ b/ldap/admin/src/makevlvindex @@ -0,0 +1,109 @@ +#!perl +# +# BEGIN COPYRIGHT BLOCK +# Copyright 2001 Sun Microsystems, Inc. +# Portions copyright 1999, 2001-2003 Netscape Communications Corporation. +# All rights reserved. +# END COPYRIGHT BLOCK +# + +# makevlvindex + +sub usage_and_exit +{ + print "makevlvindex [options]\n"; + print "\n"; + print "Options:\n"; + print "-? - help\n"; + print "-D rootdn - Provide a root DN. Default= '$rootdn'\n"; + print "-w password - Provide a password for the root DN.\n"; + print "-h host - Provide a host name. Default= '$host'\n"; + print "-p port - Provide a port. Default= '$port'\n"; + print "-sn search_name - RDN of the vlvSearch parent entry.\n"; + print "-in index_name - RDN for the vlvIndex child entry.\n"; + print "-s sort - Provide a sort specification. Default='$vlvsort'\n"; + exit; +} + +# Initialise some things +$vlvsearch_name= ""; +$vlvindex_name= ""; +$vlvsort= "sn givenname cn ou o"; +$rootdn= "cn=Directory Manager"; +$host= "localhost"; +$port= "389"; + +# Process the command line arguments +while( $arg = shift) +{ + if($arg eq "-?") + { + usage_and_exit(); + } + elsif($arg eq "-D") + { + $rootdn= shift @ARGV; + } + elsif($arg eq "-w") + { + $rootpw= shift @ARGV; + } + elsif($arg eq "-h") + { + $host= shift @ARGV; + } + elsif($arg eq "-p") + { + $port= shift @ARGV; + } + elsif($arg eq "-sn") + { + $vlvsearch_name= shift @ARGV; + } + elsif($arg eq "-in") + { + $vlvindex_name= shift @ARGV; + } + elsif($arg eq "-s") + { + $vlvsort= shift @ARGV; + } + else + { + print "$arg: Unknown command line argument.\n"; + } +} + +$ldapmodify= "ldapmodify -h $host -p $port -D \"$rootdn\" -w $rootpw"; + +if( $vlvsearch_name eq "" || + $vlvindex_name eq "" || + $vlvsort eq "" || + $rootdn eq "" || + $host eq "" || + $port eq "") +{ + print "Error: Need command line information..\n"; + usage_and_exit(); +} + +if( $rootpw eq "" ) +{ + print "Warning: No root DN password provided. Won't be able to add VLV Search and Index entries.\n"; +} + +# Tell the user what we're up to. +print "Adding VLV Search entry.\n"; + +@vlvindex= ( + "dn: cn=$vlvindex_name, cn=$vlvsearch_name, cn=config, cn=ldbm\n", + "objectclass: top\n", + "objectclass: vlvIndex\n", + "cn: $vlvindex_name\n", + "vlvsort: $vlvsort\n\n" ); + +open(FD,"| $ldapmodify -a -c"); +print FD @vlvindex; +close(FD); + + |