diff options
author | David Kupka <dkupka@redhat.com> | 2014-10-14 06:54:00 -0400 |
---|---|---|
committer | Martin Kosek <mkosek@redhat.com> | 2014-10-16 09:51:17 +0200 |
commit | 40f967828999d243efe503b36c025b5d392c89a8 (patch) | |
tree | 8c82467ca5b2ea300a123251abed24bbdfca2292 | |
parent | 320ea12373f0172a9505c5e4f7c12b20c3439ac5 (diff) | |
download | freeipa-40f967828999d243efe503b36c025b5d392c89a8.tar.gz freeipa-40f967828999d243efe503b36c025b5d392c89a8.tar.xz freeipa-40f967828999d243efe503b36c025b5d392c89a8.zip |
Fix typo causing certmonger is provided with wrong path to ipa-submit.
Using strip() instead split() caused that only first character of path was specified.
Also using shlex for more robust parsing.
https://fedorahosted.org/freeipa/ticket/4624
Reviewed-By: Jan Cholasta <jcholast@redhat.com>
-rw-r--r-- | ipapython/certmonger.py | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/ipapython/certmonger.py b/ipapython/certmonger.py index 84f04a62e..72ae8d5ef 100644 --- a/ipapython/certmonger.py +++ b/ipapython/certmonger.py @@ -26,6 +26,7 @@ import os import sys import time import dbus +import shlex from ipapython import ipautil from ipapython import dogtag from ipaplatform.paths import paths @@ -357,7 +358,7 @@ def add_principal_to_cas(principal): ca = _find_IPA_ca() if ca: ext_helper = ca.prop_if.Get(DBUS_CM_CA_IF, 'external-helper') - if ext_helper and ext_helper.find('-k') == -1: + if ext_helper and '-k' not in shlex.split(ext_helper): ext_helper = '%s -k %s' % (ext_helper.strip(), principal) ca.prop_if.Set(DBUS_CM_CA_IF, 'external-helper', ext_helper) @@ -369,8 +370,8 @@ def remove_principal_from_cas(): ca = _find_IPA_ca() if ca: ext_helper = ca.prop_if.Get(DBUS_CM_CA_IF, 'external-helper') - if ext_helper and ext_helper.find('-k'): - ext_helper = ext_helper.strip()[0] + if ext_helper and '-k' in shlex.split(ext_helper): + ext_helper = shlex.split(ext_helper)[0] ca.prop_if.Set(DBUS_CM_CA_IF, 'external-helper', ext_helper) |