Added proper copyright notice
[mirror/userdir-ldap.git] / ud-host
diff --git a/ud-host b/ud-host
index f969a61..c3bf07d 100755 (executable)
--- a/ud-host
+++ b/ud-host
@@ -1,5 +1,25 @@
 #!/usr/bin/env python
 # -*- mode: python -*-
+
+#   Copyright (c) 2000-2001  Jason Gunthorpe <jgg@debian.org>
+#   Copyright (c) 2001       Ryan Murray <rmurray@debian.org>
+#   Copyright (c) 2003       James Troup <troup@debian.org>
+#   Copyright (c) 2004       Joey Schulze <joey@infodrom.org>
+#
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+#
+#   This program is distributed in the hope that it will be useful,
+#   but WITHOUT ANY WARRANTY; without even the implied warranty of
+#   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#   GNU General Public License for more details.
+#
+#   You should have received a copy of the GNU General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+
 # This script is an interactive way to manipulate fields in the LDAP directory.
 # When run it connects to the directory using the current users ID and fetches
 # all the attributes for the first machine. It then formats them nicely and
@@ -37,7 +57,7 @@ AttrPrompt = {"description": ["Purpose of the machine"],
               "distribution": ["The distribution version"],
               "access": ["all, developer only, restricted"],
               "admin": ["Admin email address"],
-              "architecture": ["Debian Arhitecture string"],
+              "architecture": ["Debian Architecture string"],
               "machine": ["Hardware description"],
               "memory": ["Installed RAM"],
               "disk": ["Disk Space, RAID levels, etc"],
@@ -174,22 +194,10 @@ for (switch, val) in options:
       BindUser = "";
 
 if (BindUser != ""):
-   print "Accessing LDAP entry",
-if (BindUser != User):
-   if (BindUser != ""):
-      print "as '" + BindUser + "'";
-else:
-   print;
-if (BindUser != ""):
-   Password = getpass(BindUser + "'s password: ");
-
-# Connect to the ldap server
-l = ldap.open(LDAPServer);
-UserDn = "uid=" + BindUser + "," + BaseDn;
-if (BindUser != ""):
-   l.simple_bind_s(UserDn,Password);
+   l = passwdAccessLDAP(LDAPServer, BaseDn, BindUser)
 else:
-   l.simple_bind_s("","");
+   l = ldap.open(LDAPServer);
+   l.simple_bind_s("","")
 
 HBaseDn = "ou=hosts,dc=debian,dc=org";
 HostDn = "host=" + Host + "," + HBaseDn;
@@ -243,9 +251,13 @@ while(1):
       if len(NAttrs) != 0:
          print "Host",NewHost,"already exists.";
          continue;
+      NewHostName = raw_input("Hostname? ");
+      if NewHost == "":
+         continue;
       Dn = "host=" + NewHost + "," + HBaseDn;
-      l.add_s(Dn,[("host",NewHost),
-                  ("objectclass","top")]);
+      l.add_s(Dn,[("host", NewHost),
+                  ("hostname", NewHostName),
+                  ("objectClass", ("top", "debianServer"))]);
 
       # Switch
       NAttrs = l.search_s(HBaseDn,ldap.SCOPE_ONELEVEL,"host=" + NewHost);