Fix upgrade issues from old (pre-0.5.0) releases of SSSD
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.
			
			
This commit is contained in:
		
							parent
							
								
									3c198001f3
								
							
						
					
					
						commit
						04c1b5452b
					
				
							
								
								
									
										50
									
								
								old_upgrades.patch
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								old_upgrades.patch
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,50 @@ | ||||
| >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 | ||||
| 
 | ||||
| @ -3,7 +3,7 @@ | ||||
| 
 | ||||
| Name: sssd | ||||
| Version: 0.7.0 | ||||
| Release: 1%{?dist} | ||||
| Release: 2%{?dist} | ||||
| Group: Applications/System | ||||
| Summary: System Security Services Daemon | ||||
| # The entire source code is GPLv3+ except replace/ which is LGPLv3+ | ||||
| @ -15,6 +15,8 @@ BuildRoot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX) | ||||
| 
 | ||||
| ### Patches ### | ||||
| 
 | ||||
| Patch1: 0001-Fix-migration-script-for-pre-0.5-local-domains.patch | ||||
| 
 | ||||
| ### Dependencies ### | ||||
| 
 | ||||
| Requires: libldb >= 0.9.3 | ||||
| @ -73,6 +75,8 @@ service. | ||||
| %prep | ||||
| %setup -q | ||||
| 
 | ||||
| %patch1 -p1 -b .upgrade_fixes | ||||
| 
 | ||||
| %build | ||||
| %configure \ | ||||
|     --without-tests \ | ||||
| @ -190,6 +194,9 @@ fi | ||||
| %postun client -p /sbin/ldconfig | ||||
| 
 | ||||
| %changelog | ||||
| * Mon Oct 26 2009 Stephen Gallagher <sgallagh@redhat.com> - 0.7.0-2 | ||||
| - Fix upgrade issues from old (pre-0.5.0) releases of SSSD | ||||
| 
 | ||||
| * Fri Oct 23 2009 Stephen Gallagher <sgallagh@redhat.com> - 0.7.0-1 | ||||
| - New upstream release 0.7.0 | ||||
| 
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user