ipa-client-install now allows to configure firefox using
--configure-firefox option and optionally with --firefox-dir=INSTALL_DIR
option.

Old configuration files was removed.

Patches attached.

Ticket: https://fedorahosted.org/freeipa/ticket/3821
-- 
Martin^2 Basti
>From db8548d78f43aa90d35fafb2d25b418381ba23b0 Mon Sep 17 00:00:00 2001
From: Martin Basti <mba...@redhat.com>
Date: Mon, 4 Nov 2013 11:52:02 +0100
Subject: [PATCH] ipa-client-install: Added options to configure firefox

Option --configure-firefox configures firefox to use Kerberos
credentials within IPA domain
Optional option --firefox-dir=DIR allows to user to specify non-standard
path where firefox install directory is placed.

Part of ticket: https://fedorahosted.org/freeipa/ticket/3821
---
 ipa-client/ipa-install/ipa-client-install | 97 ++++++++++++++++++++++++++++++-
 ipapython/platform/base/__init__.py       |  6 ++
 ipapython/platform/fedora16/__init__.py   |  8 ++-
 ipapython/platform/fedora18/__init__.py   |  8 ++-
 ipapython/platform/redhat/__init__.py     |  8 ++-
 5 files changed, 123 insertions(+), 4 deletions(-)

diff --git a/ipa-client/ipa-install/ipa-client-install b/ipa-client/ipa-install/ipa-client-install
index cf27788f8c189721a1f644fa5841466abfbca54e..0681cb82e1f13594556006406f88b38a6933d796 100755
--- a/ipa-client/ipa-install/ipa-client-install
+++ b/ipa-client/ipa-install/ipa-client-install
@@ -40,7 +40,8 @@ try:
     import ipaclient.ipachangeconf
     import ipaclient.ntpconf
     from ipapython.ipautil import (
-        run, user_input, CalledProcessError, file_exists, realm_to_suffix)
+        run, user_input, CalledProcessError, file_exists, dir_exists,
+        realm_to_suffix)
     import ipapython.services as ipaservices
     from ipapython import ipautil, sysrestore, version, certmonger, ipaldap
     from ipapython.config import IPAOptionParser
@@ -150,7 +151,12 @@ def parse_options():
                       help=SUPPRESS_HELP, default=False)
     basic_group.add_option("--automount-location", dest="location",
                            help="Automount location")
+    basic_group.add_option("--configure-firefox", dest="configure_firefox",
+                            action="store_true", default=False,
+                            help="configure Firefox")
     parser.add_option_group(basic_group)
+    basic_group.add_option("--firefox-dir", dest="firefox_dir", default=None,
+                            help="specify directory where Firefox is installed (for example: '/usr/lib/firefox')")
 
     sssd_group = OptionGroup(parser, "SSSD options")
     sssd_group.add_option("--permit", dest="permit",
@@ -185,6 +191,9 @@ def parse_options():
     if options.force_ntpd and not options.conf_ntp:
         parser.error("--force-ntpd cannot be used together with --no-ntp")
 
+    if options.firefox_dir and not options.configure_firefox:
+        parser.error("--firefox-dir cannot be used without --configure-firefox option")
+
     return safe_opts, options
 
 def logging_setup(options):
@@ -622,6 +631,18 @@ def uninstall(options, env):
     if was_sshd_configured and ipaservices.knownservices.sshd.is_running():
         ipaservices.knownservices.sshd.restart()
 
+    # Remove the Firefox configuration
+    if statestore.has_state('firefox'):
+        root_logger.info("Removing Firefox configuration.")
+        preferences_fname = statestore.restore_state('firefox', 'preferences_fname')
+        if preferences_fname is not None:
+            if file_exists(preferences_fname):
+                try:
+                    os.remove(preferences_fname)
+                except Exception, e:
+                    root_logger.warning("'%s' could not be removed: %s." % preferences_fname, str(e))
+                    root_logger.warning("Please remove file '%s' manually." % preferences_fname)
+
     rv = 0
 
     if fstore.has_files():
@@ -1823,6 +1844,77 @@ def get_ca_cert(fstore, options, server, basedn):
         raise errors.FileError(reason=u"Unable set permissions on ca "
                                u"cert '%s': %s" % (CACERT, e))
 
+#IMPORTANT First line of FF config file is ignored
+FIREFOX_CONFIG_TEMPLATE = """
+
+/* Kerberos SSO configuration */
+pref("network.negotiate-auth.trusted-uris", ".$DOMAIN");
+pref("network.negotiate-auth.delegation-uris", ".$DOMAIN");
+
+/* These are the defaults */
+pref("network.negotiate-auth.gsslib", "");
+pref("network.negotiate-auth.using-native-gsslib", true);
+pref("network.negotiate-auth.allow-proxies", true);
+"""
+
+FIREFOX_PREFERENCES_FILENAME = "all-ipa.js"
+
+def configure_firefox(options, statestore, domain):
+    try:
+        root_logger.debug("Setting up Firefox configuration.")
+
+        preferences_dir = None
+
+        # Check user specified location of firefox install directory
+        if options.firefox_dir is not None:
+            pref_path = os.path.join(options.firefox_dir,
+                                    ipaservices.FIREFOX_PREFERENCES_REL_PATH)
+            if dir_exists(pref_path):
+                preferences_dir = pref_path
+            else:
+                root_logger.error("Directory '%s' does not exists." % pref_path)
+        else:
+            # test if firefox is installed
+            if file_exists(ipaservices.FIREFOX_EXEC):
+
+                # find valid preferences path
+                for path in ipaservices.FIREFOX_INSTALL_DIRS:
+                    pref_path = os.path.join(path,
+                                            ipaservices.FIREFOX_PREFERENCES_REL_PATH)
+                    if dir_exists(pref_path):
+                        preferences_dir = pref_path
+                        break
+            else:
+                root_logger.error("Firefox configuration skipped (Firefox not found).")
+                return
+
+        # setting up firefox
+        if preferences_dir is not None:
+
+            # user could specify relative path, we need to store absolute
+            preferences_dir = os.path.abspath(preferences_dir)
+            root_logger.debug("Firefox preferences directory found '%s'." % preferences_dir)
+            preferences_fname = os.path.join(preferences_dir, FIREFOX_PREFERENCES_FILENAME)
+            update_txt = ipautil.template_str(FIREFOX_CONFIG_TEMPLATE, dict(DOMAIN=domain))
+            root_logger.debug("Firefox trusted and delegation uris will be set as '.%s' domain." % domain)
+            root_logger.debug("Firefox configuration will be stored in '%s' file." % preferences_fname)
+
+            try:
+                with open(preferences_fname, 'w') as f:
+                    f.write(update_txt)
+                root_logger.info("Firefox sucessfully configured.")
+                statestore.backup_state('firefox', 'preferences_fname', preferences_fname)
+            except Exception, e:
+                root_logger.debug("An error occured during creating preferences file: %s." % str(e))
+                root_logger.error("Firefox configuration failed.")
+        else:
+            root_logger.debug("Firefox preferences directory not found.")
+            root_logger.error("Firefox configuration failed.")
+
+    except Exception, e:
+        root_logger.debug(str(e))
+        root_logger.error("Firefox configuration failed.")
+
 
 def install(options, env, fstore, statestore):
     dnsok = False
@@ -2568,6 +2660,9 @@ def install(options, env, fstore, statestore):
     if options.location:
         configure_automount(options)
 
+    if options.configure_firefox:
+        configure_firefox(options, statestore, cli_domain)
+
     root_logger.info('Client configuration complete.')
 
     return 0
diff --git a/ipapython/platform/base/__init__.py b/ipapython/platform/base/__init__.py
index e2aa33faf9ccf182c778dfdbd8fd68d3686deae0..48b89cfcb05aca94f8bc7bcd503cb76885feb391 100644
--- a/ipapython/platform/base/__init__.py
+++ b/ipapython/platform/base/__init__.py
@@ -48,6 +48,12 @@ wellknownports = {
 
 SVC_LIST_FILE = "/var/run/ipa/services.list"
 
+# Firefox paths
+FIREFOX_EXEC = "/usr/bin/firefox"
+FIREFOX_INSTALL_DIRS = ["/usr/lib64/firefox", "/usr/lib/firefox"]
+# /firefox/install/dir/FIREFOX_PREFERENCES_REL_PATH
+FIREFOX_PREFERENCES_REL_PATH = "browser/defaults/preferences"
+
 class AuthConfig(object):
     """
     AuthConfig class implements system-independent interface to configure
diff --git a/ipapython/platform/fedora16/__init__.py b/ipapython/platform/fedora16/__init__.py
index 26a6afd286f83f7c2781f1edf3e80fec8ebff06e..ef6e37e733e8085f10722f35d7c8f76134b8c486 100644
--- a/ipapython/platform/fedora16/__init__.py
+++ b/ipapython/platform/fedora16/__init__.py
@@ -38,7 +38,8 @@ from ipapython.platform.fedora16.service import f16_service, Fedora16Services
 #                         and restorecon is installed.
 __all__ = ['authconfig', 'service', 'knownservices',
     'backup_and_replace_hostname', 'restore_context', 'check_selinux_status',
-    'restore_network_configuration', 'timedate_services']
+    'restore_network_configuration', 'timedate_services', 'FIREFOX_EXEC',
+    'FIREFOX_INSTALL_DIRS', 'FIREFOX_PREFERENCES_REL_PATH']
 
 # Just copy a referential list of timedate services
 timedate_services = list(base.timedate_services)
@@ -50,3 +51,8 @@ backup_and_replace_hostname = redhat.backup_and_replace_hostname
 restore_context = selinux.restore_context
 check_selinux_status = selinux.check_selinux_status
 restore_network_configuration = redhat.restore_network_configuration
+
+# Firefox paths
+FIREFOX_EXEC = base.FIREFOX_EXEC
+FIREFOX_INSTALL_DIRS = base.FIREFOX_INSTALL_DIRS
+FIREFOX_PREFERENCES_REL_PATH = base.FIREFOX_PREFERENCES_REL_PATH
diff --git a/ipapython/platform/fedora18/__init__.py b/ipapython/platform/fedora18/__init__.py
index d12bdcad5eb53881db5fe94cef97f2fafe2c6442..b7963c78e3ecbd9969a1f0a766b976b4ac6564f2 100644
--- a/ipapython/platform/fedora18/__init__.py
+++ b/ipapython/platform/fedora18/__init__.py
@@ -44,7 +44,8 @@ from ipapython.platform import fedora16, base
 #                         and restorecon is installed.
 __all__ = ['authconfig', 'service', 'knownservices',
     'backup_and_replace_hostname', 'restore_context', 'check_selinux_status',
-    'restore_network_configuration', 'timedate_services']
+    'restore_network_configuration', 'timedate_services', 'FIREFOX_EXEC',
+    'FIREFOX_INSTALL_DIRS', 'FIREFOX_PREFERENCES_REL_PATH']
 
 # Just copy a referential list of timedate services
 timedate_services = list(base.timedate_services)
@@ -111,3 +112,8 @@ service = fedora16.service
 knownservices = fedora16.knownservices
 restore_context = fedora16.restore_context
 check_selinux_status = fedora16.check_selinux_status
+
+# Firefox paths
+FIREFOX_EXEC = base.FIREFOX_EXEC
+FIREFOX_INSTALL_DIRS = base.FIREFOX_INSTALL_DIRS
+FIREFOX_PREFERENCES_REL_PATH = base.FIREFOX_PREFERENCES_REL_PATH
diff --git a/ipapython/platform/redhat/__init__.py b/ipapython/platform/redhat/__init__.py
index f7680e7ec510d3a2fde4febc88be15fe8d9f98d5..cd7b105bb6eceed98bb3178b71c48ebeb047a4c4 100644
--- a/ipapython/platform/redhat/__init__.py
+++ b/ipapython/platform/redhat/__init__.py
@@ -48,7 +48,8 @@ from ipapython.platform.redhat.service import redhat_service, RedHatServices
 #                         and restorecon is installed.
 __all__ = ['authconfig', 'service', 'knownservices',
     'backup_and_replace_hostname', 'restore_context', 'check_selinux_status',
-    'restore_network_configuration', 'timedate_services']
+    'restore_network_configuration', 'timedate_services', 'FIREFOX_EXEC',
+    'FIREFOX_INSTALL_DIRS', 'FIREFOX_PREFERENCES_REL_PATH']
 
 # Just copy a referential list of timedate services
 timedate_services = list(base.timedate_services)
@@ -131,3 +132,8 @@ def restore_network_configuration(fstore, statestore):
     filepath = '/etc/sysconfig/network'
     if fstore.has_file(filepath):
         fstore.restore_file(filepath)
+
+# Firefox paths
+FIREFOX_EXEC = base.FIREFOX_EXEC
+FIREFOX_INSTALL_DIRS = base.FIREFOX_INSTALL_DIRS
+FIREFOX_PREFERENCES_REL_PATH = base.FIREFOX_PREFERENCES_REL_PATH
-- 
1.8.3.1

>From 265c28351d00d2959807299242b34149f109a804 Mon Sep 17 00:00:00 2001
From: Martin Basti <mba...@redhat.com>
Date: Mon, 4 Nov 2013 12:12:30 +0100
Subject: [PATCH] Removed old firefox configuration scripts

Part of ticket https://fedorahosted.org/freeipa/ticket/3821
---
 freeipa.spec.in                   |  3 ---
 ipa-client/Makefile.am            |  1 -
 ipa-client/configure.ac           |  1 -
 ipa-client/firefox/Makefile.am    | 18 --------------
 ipa-client/firefox/README         | 23 -----------------
 ipa-client/firefox/globalsetup.sh | 52 ---------------------------------------
 ipa-client/firefox/ipa.cfg        | 19 --------------
 ipa-client/firefox/ipa.js         | 34 -------------------------
 ipa-client/firefox/usersetup.sh   | 40 ------------------------------
 9 files changed, 191 deletions(-)
 delete mode 100644 ipa-client/firefox/Makefile.am
 delete mode 100644 ipa-client/firefox/README
 delete mode 100644 ipa-client/firefox/globalsetup.sh
 delete mode 100644 ipa-client/firefox/ipa.cfg
 delete mode 100644 ipa-client/firefox/ipa.js
 delete mode 100644 ipa-client/firefox/usersetup.sh

diff --git a/freeipa.spec.in b/freeipa.spec.in
index 5b37c4c43850d34fa9c11ef0ceae2b6340526a98..6ded28e8cdde674d6348134b02e8f304ef87b2ee 100644
--- a/freeipa.spec.in
+++ b/freeipa.spec.in
@@ -764,11 +764,8 @@ fi
 %{_sbindir}/ipa-rmkeytab
 %{_sbindir}/ipa-join
 %dir %{_usr}/share/ipa
-%dir %{_usr}/share/ipa/ipaclient
 %dir %{_localstatedir}/lib/ipa-client
 %dir %{_localstatedir}/lib/ipa-client/sysrestore
-%{_usr}/share/ipa/ipaclient/ipa.cfg
-%{_usr}/share/ipa/ipaclient/ipa.js
 %dir %{python_sitelib}/ipaclient
 %{python_sitelib}/ipaclient/*.py*
 %{_mandir}/man1/ipa-getkeytab.1.gz
diff --git a/ipa-client/Makefile.am b/ipa-client/Makefile.am
index b7d70fd8d0d4383cac497b2978196e25893f9fe1..ca251ae9de92885fb9ef2ce1081929968185cbdc 100644
--- a/ipa-client/Makefile.am
+++ b/ipa-client/Makefile.am
@@ -81,7 +81,6 @@ ipa_join_LDADD = 		\
 	$(NULL)
 
 SUBDIRS =			\
-	firefox			\
 	ipaclient		\
 	ipa-install		\
 	man			\
diff --git a/ipa-client/configure.ac b/ipa-client/configure.ac
index bb4ac854b0952a42329587f566125b9976281cd2..82b09615c436dcafcdd99547a2c500b4c4297d7e 100644
--- a/ipa-client/configure.ac
+++ b/ipa-client/configure.ac
@@ -205,7 +205,6 @@ dnl ---------------------------------------------------------------------------
 
 AC_CONFIG_FILES([
     Makefile
-    firefox/Makefile
     ipaclient/Makefile
     ipa-install/Makefile
     man/Makefile
diff --git a/ipa-client/firefox/Makefile.am b/ipa-client/firefox/Makefile.am
deleted file mode 100644
index daf694248a7ceadc060d3c3e0e1319e7289c51b2..0000000000000000000000000000000000000000
--- a/ipa-client/firefox/Makefile.am
+++ /dev/null
@@ -1,18 +0,0 @@
-NULL =
-
-appdir = $(IPA_DATA_DIR)/ipaclient
-app_DATA =			\
-	ipa.cfg			\
-	ipa.js			\
-	$(NULL)
-
-EXTRA_DIST =			\
-	README			\
-	$(app_DATA)		\
-	globalsetup.sh		\
-	usersetup.sh		\
-	$(NULL)
-
-MAINTAINERCLEANFILES =		\
-	*~			\
-	Makefile.in
diff --git a/ipa-client/firefox/README b/ipa-client/firefox/README
deleted file mode 100644
index 67013fcca23895fd47f5c573264d14543dd98cea..0000000000000000000000000000000000000000
--- a/ipa-client/firefox/README
+++ /dev/null
@@ -1,23 +0,0 @@
-Firefox automatic configuration.
-
-ipa.cfg needs to be installed in the Firefox root directory
-(/usr/lib/firefox-version). It can be a symlink somewhere else. We install
-the actual file into /usr/share/ipa.
-
-ipa.js contains the javascript that sets the desired configuration.
-
-The Firefox all.js needs to be modified to set:
-
-pref('general.config.obscure_value', 0);
-pref('general.config.filename', 'ipa.cfg');
-
-First need to remove any existing values for these.
-
-For more information on autoconfiguration, see:
-http://mit.edu/~firefox/www/maintainers/autoconfig.html
-
-globalsetup.sh will change the default setup for all users and will
-lock the preferences. The downside is that rpm -V will show firefox as
-corrupt.
-
-usersetup.sh will change all existing profiles of the current user
diff --git a/ipa-client/firefox/globalsetup.sh b/ipa-client/firefox/globalsetup.sh
deleted file mode 100644
index 698fbeb72b754e9285c17152eb32d1fee09d0f40..0000000000000000000000000000000000000000
--- a/ipa-client/firefox/globalsetup.sh
+++ /dev/null
@@ -1,52 +0,0 @@
-#!/bin/sh
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-ipacfg="ipa.cfg"
-
-for file in /usr/lib/firefox-* /usr/lib64/firefox*
-do
-    # Find the configuration file we want to change
-    cfg=`find $file -name all.js`
-
-    # determine the directory by removing all.js
-    dir=`echo $cfg | sed 's/greprefs\/all.js//'`
-
-    # It is possible that there will be empty Firefox directories, so skip
-    # those.
-    if test "X"$cfg != "X"; then
-
-        rm -f $cfg.new
-
-        # If the configuration already exists, remove it
-        if grep general.config.filename $cfg > /dev/null 2>&1; then
-            grep -v general.config.filename $cfg > $cfg.new
-            mv $cfg.new $cfg
-        fi
-
-        # We have the configuration unobscured
-        if grep general.config.filename $cfg > /dev/null 2>&1; then
-            grep -v general.config.obscure_value $cfg > $cfg.new
-            mv $cfg.new $cfg
-        fi
-
-        # Now we can add the new stuff to the file
-        echo "pref('general.config.obscure_value', 0);" >> "$cfg"
-        echo "pref('general.config.filename', '$ipacfg');" >> "$cfg"
-
-        # Create a link to our configuration file
-        rm -f $dir/$ipacfg
-        ln -s /usr/share/ipa/ipa.cfg $dir/$ipacfg
-    fi
-done
diff --git a/ipa-client/firefox/ipa.cfg b/ipa-client/firefox/ipa.cfg
deleted file mode 100644
index 022ef9993219a579a4717f6c2b1b8243c579be6e..0000000000000000000000000000000000000000
--- a/ipa-client/firefox/ipa.cfg
+++ /dev/null
@@ -1,19 +0,0 @@
-#
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
-
-lockPref("autoadmin.global_config_url","file:///usr/share/ipa/ipa.js");
diff --git a/ipa-client/firefox/ipa.js b/ipa-client/firefox/ipa.js
deleted file mode 100644
index 0f4c91247cdee95ff3c5e21a43a113eb0cf9fd0b..0000000000000000000000000000000000000000
--- a/ipa-client/firefox/ipa.js
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation, either version 3 of the License, or
- * (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program.  If not, see <http://www.gnu.org/licenses/>.
- *
- */
- 
-try
-{
-    /* Kerberos SSO configuration */
-    lockPref("network.negotiate-auth.trusted-uris", ".freeipa.org");
-    lockPref("network.negotiate-auth.delegation-uris", ".freeipa.org");
-
-    /* These are the defaults */
-    lockPref("network.negotiate-auth.gsslib", "");
-    lockPref("network.negotiate-auth.using-native-gsslib", true);
-    lockPref("network.negotiate-auth.allow-proxies", true);
-
-    /* For Windows */
-    lockPref("network.auth.use-sspi", false);	
-}
-catch(e)
-{
-    displayError("Error in Autoconfig", e);
-}
diff --git a/ipa-client/firefox/usersetup.sh b/ipa-client/firefox/usersetup.sh
deleted file mode 100644
index 99b301606572a7eae4224360ea5151189ccf7323..0000000000000000000000000000000000000000
--- a/ipa-client/firefox/usersetup.sh
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/sh
-
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-for file in `find $HOME/.mozilla -name prefs.js`
-do
-    rm -f $file.new
-
-    # If the configuration already exists, remove it
-    if grep network.negotiate- $file > /dev/null 2>&1; then
-        grep -v network.negotiate- $file > $file.new
-        mv $file.new $file
-    fi
-
-    # We have the configuration unobscured
-    if grep network.auth.use-sspi $file > /dev/null 2>&1; then
-        grep -v network.auth.use-sspi $file > $file.new
-        mv $file.new $file
-    fi
-
-    # Now we can add the new stuff to the file
-    echo "user_pref('network.auth.use-sspi', false);" >> $file
-    echo "user_pref('network.cookie.prefsMigrated', true);" >> $file
-    echo "user_pref('network.negotiate-auth.allow-proxies', true);" >> $file
-    echo "user_pref('network.negotiate-auth.delegation-uris', '.freeipa.org');" >> $file
-    echo "user_pref('network.negotiate-auth.gsslib', '');" >> $file
-    echo "user_pref('network.negotiate-auth.trusted-uris', '.freeipa.org');" >> $file
-    echo "user_pref('network.negotiate-auth.using-native-gsslib', true);" >> $file
-done
-- 
1.8.3.1

_______________________________________________
Freeipa-devel mailing list
Freeipa-devel@redhat.com
https://www.redhat.com/mailman/listinfo/freeipa-devel

Reply via email to