Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.
RHEL Engineering is moving the tracking of its product development work on RHEL 6 through RHEL 9 to Red Hat Jira (issues.redhat.com). If you're a Red Hat customer, please continue to file support cases via the Red Hat customer portal. If you're not, please head to the "RHEL project" in Red Hat Jira and file new tickets here. Individual Bugzilla bugs in the statuses "NEW", "ASSIGNED", and "POST" are being migrated throughout September 2023. Bugs of Red Hat partners with an assigned Engineering Partner Manager (EPM) are migrated in late September as per pre-agreed dates. Bugs against components "kernel", "kernel-rt", and "kpatch" are only migrated if still in "NEW" or "ASSIGNED". If you cannot log in to RH Jira, please consult article #7032570. That failing, please send an e-mail to the RH Jira admins at rh-issues@redhat.com to troubleshoot your issue as a user management inquiry. The email creates a ServiceNow ticket with Red Hat. Individual Bugzilla bugs that are migrated will be moved to status "CLOSED", resolution "MIGRATED", and set with "MigratedToJIRA" in "Keywords". The link to the successor Jira issue will be found under "Links", have a little "two-footprint" icon next to it, and direct you to the "RHEL project" in Red Hat Jira (issue links are of type "https://issues.redhat.com/browse/RHEL-XXXX", where "X" is a digit). This same link will be available in a blue banner at the top of the page informing you that that bug has been migrated.

Bug 785879

Summary: sss_obfuscate/python config parser modifies config file too much
Product: Red Hat Enterprise Linux 6 Reporter: Stephen Gallagher <sgallagh>
Component: sssdAssignee: Stephen Gallagher <sgallagh>
Status: CLOSED ERRATA QA Contact: IDM QE LIST <seceng-idm-qe-list>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.3CC: apeetham, grajaiya, jgalipea, jzeleny, prc
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: sssd-1.8.0-2.el6.beta2 Doc Type: Bug Fix
Doc Text:
Cause: there were two underline causes. First was that some config options were defined as required even though they weren't. The second one was that the script for configuration parsing didn't merge old tree with the new one when changing some options but it created new one and deleted the old one. Consequence: when updating config file using scripts for parsing the configuration, the file changed significantly (comments and blank lines disappeared, new options were added) Fix: the list of required options was reduced and config parsing script was modified so it merges old and new tree Result: after processing with our python scripts, the config file is now corresponding to the original
Story Points: ---
Clone Of: Environment:
Last Closed: 2012-06-20 11:54:17 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Stephen Gallagher 2012-01-30 20:17:49 UTC
This bug is created as a clone of upstream ticket:
https://fedorahosted.org/sssd/ticket/763

When calling sss_obfuscate with the following simplified config file:

{{{
; comment
[sssd]
config_file_version = 2

[domain/ABC]
id_provider = ldap

; trailing comment
}}}

to following is returned:

{{{
# comment
[sssd]
config_file_version = 2

domains = 
[domain/ABC]
cache_credentials = False
ldap_default_authtok_type = obfuscated_password
id_provider = ldap
ldap_id_use_start_tls = False
debug_level = 0
ldap_schema = rfc2307
ldap_default_authtok = AAAQAE0p7C2dwEkkvfhfsYO3h7E5avTltddh8+1sPi61Ff1tyHWJll0xoMaIrLjlz5WQ/k44UA1lns9I8K+hxYJIvJQAAQIDAAA=
}}}

As sss_obfuscate changes the config file more than just adding ldap_default_authtok_type and ldap_default_authtok it should save a copy of the original file.

I see the following issues with the additional changes:
 - trailing comments are remove
 - according to sssd.conf(5) '#' and ';' are valid signs for comments, so it would be nice if both are preserved respectively
 - adding default values for options which where not in the original file might lead to a config file less readable
 - an explicit 'debug_level = 0' overwrites the debug level given at the sssd command line, so it shouldn't be written to the new config file

Comment 1 Jenny Severance 2012-01-31 14:42:49 UTC
please clarify what is expected in the configuration.

Comment 2 Stephen Gallagher 2012-01-31 14:53:24 UTC
1. No comments should be removed from the original configuration. (Specifically, comments that occurred AFTER the final option were being dropped). Also, comments specified by semicolon instead of hash were being dropped.

2. We should not be adding new options except for ldap_default_authtok and ldap_default_authtok_type when running sss_obfuscate.

Comment 5 Jan Zeleny 2012-04-04 11:12:30 UTC
    Technical note added. If any revisions are required, please edit the "Technical Notes" field
    accordingly. All revisions will be proofread by the Engineering Content Services team.
    
    New Contents:
Cause: there were two underline causes. First was that some config options were defined as required even though they weren't. The second one was that the script for configuration parsing didn't merge old tree with the new one when changing some options but it created new one and deleted the old one.
Consequence: when updating config file using scripts for parsing the configuration, the file changed significantly (comments and blank lines disappeared, new options were added)
Fix: the list of required options was reduced and config parsing script was modified so it merges old and new tree
Result: after processing with our python scripts, the config file is now corresponding to the original

Comment 6 Amith 2012-05-02 23:44:15 UTC

Verified the bug on sssd-1.8.0-22.el6.x86_64. sss_obfuscate works properly as expected.

Comment 8 errata-xmlrpc 2012-06-20 11:54:17 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2012-0747.html