|
|
590d18 |
From ae5939600d367172a1e830c87254d2fc1bb56fe8 Mon Sep 17 00:00:00 2001
|
|
|
590d18 |
From: Christian Heimes <cheimes@redhat.com>
|
|
|
590d18 |
Date: Thu, 23 Jul 2015 17:48:56 +0200
|
|
|
590d18 |
Subject: [PATCH] certprofile-import: do not require profileId in profile data
|
|
|
590d18 |
|
|
|
590d18 |
certprofile-import no longer requires profileId in profile data. Instead
|
|
|
590d18 |
the profile ID from the command line is taken and added to the profile
|
|
|
590d18 |
data internally.
|
|
|
590d18 |
|
|
|
590d18 |
If profileId is set in the profile, then it still has to match the CLI
|
|
|
590d18 |
option.
|
|
|
590d18 |
|
|
|
590d18 |
https://fedorahosted.org/freeipa/ticket/5090
|
|
|
590d18 |
|
|
|
590d18 |
Reviewed-By: Martin Basti <mbasti@redhat.com>
|
|
|
590d18 |
---
|
|
|
590d18 |
ipalib/plugins/certprofile.py | 8 +++++---
|
|
|
590d18 |
1 file changed, 5 insertions(+), 3 deletions(-)
|
|
|
590d18 |
|
|
|
590d18 |
diff --git a/ipalib/plugins/certprofile.py b/ipalib/plugins/certprofile.py
|
|
|
590d18 |
index 5550ed942521dbab2e783fba1570520268f9b378..b0b76ca8e78f2482b5c08dad21d9161fd4c2c2d0 100644
|
|
|
590d18 |
--- a/ipalib/plugins/certprofile.py
|
|
|
590d18 |
+++ b/ipalib/plugins/certprofile.py
|
|
|
590d18 |
@@ -11,6 +11,7 @@ from ipalib.plugins.virtual import VirtualCommand
|
|
|
590d18 |
from ipalib.plugins.baseldap import (
|
|
|
590d18 |
LDAPObject, LDAPSearch, LDAPCreate,
|
|
|
590d18 |
LDAPDelete, LDAPUpdate, LDAPRetrieve)
|
|
|
590d18 |
+from ipalib.request import context
|
|
|
590d18 |
from ipalib import ngettext
|
|
|
590d18 |
from ipalib.text import _
|
|
|
590d18 |
from ipapython.version import API_VERSION
|
|
|
590d18 |
@@ -230,11 +231,12 @@ class certprofile_import(LDAPCreate):
|
|
|
590d18 |
|
|
|
590d18 |
def pre_callback(self, ldap, dn, entry, entry_attrs, *keys, **options):
|
|
|
590d18 |
ca_enabled_check()
|
|
|
590d18 |
+ context.profile = options['file']
|
|
|
590d18 |
|
|
|
590d18 |
match = self.PROFILE_ID_PATTERN.search(options['file'])
|
|
|
590d18 |
if match is None:
|
|
|
590d18 |
- raise errors.ValidationError(name='file',
|
|
|
590d18 |
- error=_("Profile ID is not present in profile data"))
|
|
|
590d18 |
+ # no profileId found, use CLI value as profileId.
|
|
|
590d18 |
+ context.profile = u'profileId=%s\n%s' % (keys[0], context.profile)
|
|
|
590d18 |
elif keys[0] != match.group(1):
|
|
|
590d18 |
raise errors.ValidationError(name='file',
|
|
|
590d18 |
error=_("Profile ID '%(cli_value)s' does not match profile data '%(file_value)s'")
|
|
|
590d18 |
@@ -250,7 +252,7 @@ class certprofile_import(LDAPCreate):
|
|
|
590d18 |
"""
|
|
|
590d18 |
try:
|
|
|
590d18 |
with self.api.Backend.ra_certprofile as profile_api:
|
|
|
590d18 |
- profile_api.create_profile(options['file'])
|
|
|
590d18 |
+ profile_api.create_profile(context.profile)
|
|
|
590d18 |
profile_api.enable_profile(keys[0])
|
|
|
590d18 |
except:
|
|
|
590d18 |
# something went wrong ; delete entry
|
|
|
590d18 |
--
|
|
|
590d18 |
2.4.3
|
|
|
590d18 |
|