56c3f220f8
Removed the incorrect patch and added the correct one.
51 lines
2.0 KiB
Diff
51 lines
2.0 KiB
Diff
>From ff5fd17a20037377889b60a73b2b1f470c67c674 Mon Sep 17 00:00:00 2001
|
|
From: Jakub Hrozek <jhrozek@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
|
|
|