diff options
-rw-r--r-- | src/lib/Server/Plugins/Pkgmgr.py | 6 | ||||
-rw-r--r-- | src/lib/Server/Plugins/SSHbase.py | 13 |
2 files changed, 12 insertions, 7 deletions
diff --git a/src/lib/Server/Plugins/Pkgmgr.py b/src/lib/Server/Plugins/Pkgmgr.py index 8ee74dd68..f3b3aa144 100644 --- a/src/lib/Server/Plugins/Pkgmgr.py +++ b/src/lib/Server/Plugins/Pkgmgr.py @@ -83,13 +83,15 @@ class Pkgmgr(Plugin): if self.pkgdir.entries.has_key("%s.xml" % metadata.hostname): pkglist = self.pkgdir["%s.xml" % metadata.hostname] if pkglist.packages.has_key(pkgname): - entry.attrib.update(pkglist.packages[pkgname]) + pkginfo = pkglist.packages[pkgname] + [entry.attrib.__setitem__(x, pkginfo[x]) for x in pkginfo] return elif not self.pkgdir.entries.has_key("%s.xml" % metadata.image): self.LogError("Pkgmgr: no package index for image %s" % metadata.image) raise PluginExecutionError, ("Image", metadata.image) pkglist = self.pkgdir["%s.xml" % (metadata.image)] if pkglist.packages.has_key(pkgname): - entry.attrib.update(pkglist.packages[pkgname]) + pkginfo = pkglist.packages[pkgname] + [entry.attrib.__setitem__(x, pkginfo[x]) for x in pkginfo] else: raise PluginExecutionError, ("Package", pkgname) diff --git a/src/lib/Server/Plugins/SSHbase.py b/src/lib/Server/Plugins/SSHbase.py index 9c7fb9357..1d378f1f2 100644 --- a/src/lib/Server/Plugins/SSHbase.py +++ b/src/lib/Server/Plugins/SSHbase.py @@ -95,7 +95,8 @@ class SSHbase(Plugin): for hostkey in [keytmpl % client for keytmpl in self.pubkeys]: entry.text += "localhost,localhost.localdomain,127.0.0.1 %s" % ( self.repository.entries[hostkey].data) - entry.attrib.update({'owner':'root', 'group':'root', 'perms':'0644'}) + permdata = {'owner':'root', 'group':'root', 'perms':'0644'} + [entry.attrib.__setitem__(x, permdata[x]) for x in permdata] def build_hk(self, entry, metadata): '''This binds host key data into entries''' @@ -109,14 +110,16 @@ class SSHbase(Plugin): self.LogError("%s still not registered" % filename) raise PluginExecutionError keydata = self.repository.entries[filename].data - perms = '0600' + permdata = {'owner':'root', 'group':'root'} + permdata['perms'] = '0600' if entry.get('name')[-4:] == '.pub': - perms = '0644' - entry.attrib.update({'owner':'root', 'group':'root', 'perms':perms}) - entry.text = keydata + permdata['perms'] = '0644' + [entry.attrib.__setitem__(x, permdata[x]) for x in permdata] if "ssh_host_key.H_" == filename[:15]: entry.attrib['encoding'] = 'base64' entry.text = b2a_base64(keydata) + else: + entry.text = keydata def GenerateHostKeys(self, client): '''Generate new host keys for client''' |