summaryrefslogtreecommitdiffstats
path: root/source4/scripting/python/samba/netcmd
ModeNameSize
-rw-r--r--__init__.py5264logstatsplain
-rw-r--r--domainlevel.py11385logstatsplain
-rw-r--r--dsacl.py7390logstatsplain
-rw-r--r--enableaccount.py2045logstatsplain
-rw-r--r--export.py1650logstatsplain
-rw-r--r--fsmo.py7823logstatsplain
-rw-r--r--group.py7043logstatsplain
-rw-r--r--join.py2051logstatsplain
-rw-r--r--machinepw.py1807logstatsplain
-rw-r--r--netacl.py1086logstatsplain
-rw-r--r--newuser.py4595logstatsplain
-rw-r--r--ntacl.py4364logstatsplain
-rw-r--r--pwsettings.py7771logstatsplain
-rw-r--r--setexpiry.py2315logstatsplain
-rw-r--r--setpassword.py2751logstatsplain
-rw-r--r--time.py1411logstatsplain
-rw-r--r--user.py2237logstatsplain
-rw-r--r--vampire.py1717logstatsplain
> onBootWritten: s = s + 'ONBOOT=no\n' return s def __init__ (self, dev): self.info = { "DEVICE" : dev } class Network: def __init__ (self): self.netdevices = {} self.gateway = "" self.primaryNS = "" self.secondaryNS = "" self.ternaryNS = "" self.domains = [] self.readData = 0 self.isConfigured = 0 self.hostname = "localhost.localdomain" try: f = open ("/tmp/netinfo", "r") except: pass else: lines = f.readlines () f.close () info = {} self.isConfigured = 1 for line in lines: netinf = string.splitfields (line, '=') info [netinf[0]] = string.strip (netinf[1]) self.netdevices [info["DEVICE"]] = NetworkDevice (info["DEVICE"]) if info.has_key ("IPADDR"): self.netdevices [info["DEVICE"]].set (("IPADDR", info["IPADDR"])) if info.has_key ("NETMASK"): self.netdevices [info["DEVICE"]].set (("NETMASK", info["NETMASK"])) if info.has_key ("BOOTPROTO"): self.netdevices [info["DEVICE"]].set (("BOOTPROTO", info["BOOTPROTO"])) if info.has_key ("ONBOOT"): self.netdevices [info["DEVICE"]].set (("ONBOOT", info["ONBOOT"])) if info.has_key ("GATEWAY"): self.gateway = info["GATEWAY"] if info.has_key ("DOMAIN"): self.domains.append(info["DOMAIN"]) if info.has_key ("HOSTNAME"): self.hostname = info["HOSTNAME"] self.readData = 1 try: f = open ("/etc/resolv.conf", "r") except: pass else: lines = f.readlines () f.close () for line in lines: resolv = string.split (line) if resolv and resolv[0] == 'nameserver': if self.primaryNS == "": self.primaryNS = resolv[1] elif self.secondaryNS == "": self.secondaryNS = resolv[1] elif self.ternaryNS == "": self.ternaryNS = resolv[1] def getDevice(self, device): return self.netdevices[device] def available (self): f = open ("/proc/net/dev") lines = f.readlines() f.close () # skip first two lines, they are header lines = lines[2:] for line in lines: dev = string.strip (line[0:6]) if dev != "lo" and not self.netdevices.has_key (dev): self.netdevices[dev] = NetworkDevice (dev) return self.netdevices def setHostname(self, hn): self.hostname = hn def lookupHostname (self): # can't look things up if they don't exist! if not self.hostname or self.hostname == "localhost.localdomain": return None if not self.primaryNS: return if not self.isConfigured: for dev in self.netdevices.values(): if dev.get('bootproto') == "dhcp": self.primaryNS = isys.pumpNetDevice(dev.get('device')) self.isConfigured = 1 break elif dev.get('ipaddr') and dev.get('netmask'): try: isys.configNetDevice(dev.get('device'), dev.get('ipaddr'), dev.get('netmask'), self.gateway) self.isConfigured = 1 break except SystemError: log ("failed to configure network device %s when " "looking up host name", dev.get('device')) if not self.isConfigured: log ("no network devices were availabe to look up host name") return None f = open("/etc/resolv.conf", "w") f.write("nameserver %s\n" % self.primaryNS) f.close() isys.resetResolv() isys.setResolvRetry(2) try: ip = socket.gethostbyname(self.hostname) except: return None return ip def nameservers (self): return [ self.primaryNS, self.secondaryNS, self.ternaryNS ] def writeKS(self, f): # XXX # # Hopefully the first one is the right one to use. We ought to support # multiple "network" lines # # This doesn't write out nodns, ever. # devNames = self.netdevices.keys() devNames.sort() dev = self.netdevices[devNames[0]]