summaryrefslogtreecommitdiffstats
path: root/ldap/admin/src/makevlvindex
diff options
context:
space:
mode:
authorcvsadm <cvsadm>2005-01-21 00:44:34 +0000
committercvsadm <cvsadm>2005-01-21 00:44:34 +0000
commitb2093e3016027d6b5cf06b3f91f30769bfc099e2 (patch)
treecf58939393a9032182c4fbc4441164a9456e82f8 /ldap/admin/src/makevlvindex
downloadds-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/makevlvindex109
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);
+
+