# Copyright (c) 2001 Ryan Murray <rmurray@debian.org>
# Copyright (c) 2003 James Troup <troup@debian.org>
# Copyright (c) 2004-2005 Joey Schulze <joey@infodrom.org>
+# Copyright (c) 2008,2009 Peter Palfrader <peter@palfrader.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
# -l list all hosts and their status
# -f list all SSH fingerprints
-import string, time, os, pwd, sys, getopt, ldap, crypt, readline, copy;
+import time, os, pwd, sys, getopt, ldap, crypt, readline, copy;
from tempfile import mktemp
from os import O_CREAT, O_EXCL, O_WRONLY
from userdir_ldap import *;
"physicalHost": ["Physical Host", 13],
"sshRSAHostKey": ["SSH Host Keys", 14],
"bandwidth": ["Bandwidth", 15],
- "purpose": ["Purposes", 16],};
+ "purpose": ["Purposes", 16],
+ "allowedGroups": ["Groups", 17],
+ "exportOptions": ["Export-Opts", 18],
+ "ipHostNumber": ["IP Address", 19],
+ "mXRecord": ["MXRecord", 20],
+ "dnsTTL": ["dnsTTL", 21],
+ "sshdistAuthKeysHost": ["extra authkeys ip", 22],
+ }
AttrPrompt = {"description": ["Purpose of the machine"],
"hostname": ["The hostnames for the box (ipv4/ipv6)"],
"memory": ["Installed RAM"],
"disk": ["Disk Space, RAID levels, etc"],
"physicalHost": ["The box hosting this virtual server"],
- "sshRSAHostKey": ["A copy of /etc/ssh/ssh_*host_key.pub"],
+ "sshRSAHostKey": ["A copy of /etc/ssh/ssh_*host_key.pub"],
"bandwidth": ["Available outbound"],
- "purpose": ["The purposes of this host"],};
+ "purpose": ["The purposes of this host"],
+ "allowedGroups": ["allowed Groups on this host"],
+ "exportOptions": ["additional export options"],
+ "ipHostNumber": ["IP Addresses(es) of the machine"],
+ "mXRecord": ["Mail Exchanger for this machine"],
+ "dnsTTL": ["dns TTL value"],
+ "sshdistAuthKeysHost": ["additional hosts for sshdist's authkeys file"],
+ };
# Create a map of IDs to desc,value,attr
OrderedIndex = {};
# Change a single attribute
def ChangeAttr(Attrs,Attr):
- if (Attr in ["sponsor", "sshRSAHostKey", "purpose"]):
+ if (Attr in ["sponsor", "sshRSAHostKey", "purpose", "allowedGroups", "exportOptions", "ipHostNumber", "mXRecord", "sshdistAuthKeysHost"]):
return MultiChangeAttr(Attrs,Attr);
print "Old value: '%s'" % (GetAttr(Attrs,Attr,""));
Attrs[1][Attr].sort();
print "Old values: ",Attrs[1][Attr];
- Mode = string.upper(raw_input("[D]elete or [A]dd? "));
+ Mode = raw_input("[D]elete or [A]dd? ").upper()
if (Mode != 'D' and Mode != 'A'):
return;
FingerPrints = 1
if (BindUser != ""):
- l = passwdAccessLDAP(LDAPServer, BaseDn, BindUser)
+ l = passwdAccessLDAP(BaseDn, BindUser)
else:
- l = ldap.open(LDAPServer);
+ l = connectLDAP()
l.simple_bind_s("","")
if ListMode == 1: