summaryrefslogtreecommitdiffstats
path: root/install/tools/ipa-upgradeconfig
diff options
context:
space:
mode:
authorRob Crittenden <rcritten@redhat.com>2012-06-20 14:09:55 -0400
committerMartin Kosek <mkosek@redhat.com>2012-07-02 15:20:13 +0200
commita4d2bcde3347eb387b8094d703f02c3d24f21218 (patch)
treed457dd3c32e71d7ec0fd875468ebfb61754ffe0f /install/tools/ipa-upgradeconfig
parent03f247ec863eaafa1a760d520eaed91120d522de (diff)
downloadfreeipa-a4d2bcde3347eb387b8094d703f02c3d24f21218.tar.gz
freeipa-a4d2bcde3347eb387b8094d703f02c3d24f21218.tar.xz
freeipa-a4d2bcde3347eb387b8094d703f02c3d24f21218.zip
Fix compatibility with Fedora 18.
We need a Requires on openssl, the mod_rewrite syntax has changed so we can dump some unused configuration and we need a newer version of mod_auth_kerb to pick up the new location of delegated ccache. https://fedorahosted.org/freeipa/ticket/2839
Diffstat (limited to 'install/tools/ipa-upgradeconfig')
-rw-r--r--install/tools/ipa-upgradeconfig23
1 files changed, 22 insertions, 1 deletions
diff --git a/install/tools/ipa-upgradeconfig b/install/tools/ipa-upgradeconfig
index bc8e6a249..248232ac6 100644
--- a/install/tools/ipa-upgradeconfig
+++ b/install/tools/ipa-upgradeconfig
@@ -125,6 +125,26 @@ def find_hostname():
raise RuntimeError("Unable to determine the fully qualified hostname from %s" % filename)
+def find_autoredirect(fqdn):
+ """
+ When upgrading ipa-rewrite.conf we need to see if the automatic redirect
+ was disabled during install time (or afterward). So sift through the
+ configuration file and see if we can determine the status.
+
+ Returns True if autoredirect is enabled, False otherwise
+ """
+ filename = '/etc/httpd/conf.d/ipa-rewrite.conf'
+ if os.path.exists(filename):
+ pattern = "^RewriteRule \^/\$ https://%s/ipa/ui \[L,NC,R=301\]" % fqdn
+ p = re.compile(pattern)
+ for line in fileinput.input(filename):
+ if p.search(line):
+ fileinput.close()
+ return True
+ fileinput.close()
+ return False
+ return True
+
def find_version(filename):
"""Find the version of a configuration file"""
if os.path.exists(filename):
@@ -386,7 +406,8 @@ def main():
check_certs()
- sub_dict = { "REALM" : krbctx.default_realm, "FQDN": fqdn }
+ auto_redirect = find_autoredirect(fqdn)
+ sub_dict = { "REALM" : krbctx.default_realm, "FQDN": fqdn, "AUTOREDIR": '' if auto_redirect else '#'}
upgrade(sub_dict, "/etc/httpd/conf.d/ipa.conf", ipautil.SHARE_DIR + "ipa.conf")
upgrade(sub_dict, "/etc/httpd/conf.d/ipa-rewrite.conf", ipautil.SHARE_DIR + "ipa-rewrite.conf")