From c1e900f9f4b4917e63ddc6446043ad9af74cf2f4 Mon Sep 17 00:00:00 2001 From: Narayan Desai Date: Mon, 28 Nov 2005 20:18:16 +0000 Subject: work around stupid lxml bug (Logical change 1.367) git-svn-id: https://svn.mcs.anl.gov/repos/bcfg/trunk/bcfg2@1543 ce84e21b-d406-0410-9b95-82705330c041 --- src/lib/Server/Plugins/Pkgmgr.py | 6 ++++-- src/lib/Server/Plugins/SSHbase.py | 13 ++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) (limited to 'src') 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''' -- cgit v1.2.3-1-g7c22