-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 10/26/2009 01:10 PM, Stephen Gallagher wrote: > On 10/26/2009 07:58 AM, Jakub Hrozek wrote: >> Configuration files before 0.5.0 did not enforce provider= in local >> domains it did special-case by domain name (LOCAL). Our script was >> relying on provider= value, this patch adds the special-casing in case >> the domain was called LOCAL. > >> Fixes: RHBZ #530949 > > Nack. > > The approach looks sound, but I think you want to check that old_domsec > == 'domains/LOCAL' rather than checking the new_domsec == > 'domain/LOCAL'. I'm aware that they should both work, but old_domsec > seems more correct. >
OK, new patch attached. -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.9 (GNU/Linux) Comment: Using GnuPG with Fedora - http://enigmail.mozdev.org/ iEYEARECAAYFAkrlkyMACgkQHsardTLnvCUbogCgxR5wfOiXGbZT/JSiRzAXT6ws jt0AoOtunVSS9CmsMzMVgIss3evmYQG/ =K0Qy -----END PGP SIGNATURE-----
>From ff5fd17a20037377889b60a73b2b1f470c67c674 Mon Sep 17 00:00:00 2001 From: Jakub Hrozek <jhro...@redhat.com> Date: Mon, 26 Oct 2009 12:54:38 +0100 Subject: [PATCH] Fix migration script for pre-0.5 local domains Configuration files before 0.5.0 did not enforce provider= in local domains it did special-case by domain name (LOCAL). Our script was relying on provider= value, this patch adds the special-casing in case the domain was called LOCAL. --- server/upgrade/upgrade_config.py | 13 +++++++++++-- 1 files changed, 11 insertions(+), 2 deletions(-) diff --git a/server/upgrade/upgrade_config.py b/server/upgrade/upgrade_config.py index 87e3990..fe20811 100644 --- a/server/upgrade/upgrade_config.py +++ b/server/upgrade/upgrade_config.py @@ -25,6 +25,7 @@ import sys import shutil import traceback from ConfigParser import RawConfigParser +from ConfigParser import NoOptionError from optparse import OptionParser class SSSDConfigParser(RawConfigParser): @@ -211,11 +212,19 @@ class SSSDConfigFile(object): self._migrate_kw(new_domsec, old_domsec, ldap_kw) self._migrate_kw(new_domsec, old_domsec, krb5_kw) + # configuration files before 0.5.0 did not enforce provider= in local domains + # it did special-case by domain name (LOCAL) + try: + prv = self._new_config.get(new_domsec, 'id_provider') + except NoOptionError: + if old_domsec == 'domains/LOCAL': + prv = 'local' + self._new_config.set(new_domsec, 'id_provider', prv) + # if domain was local, update with parameters from [user_defaults] - if self._new_config.get(new_domsec, 'id_provider') == 'local': + if prv == 'local': self._migrate_kw(new_domsec, 'user_defaults', user_defaults_kw) - def _migrate_domains(self): for domain in [ s.replace('domains/','') for s in self._config.sections() if s.startswith("domains/") ]: domain = domain.strip() -- 1.6.2.5
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/sssd-devel