Bug 710494

Summary: ipa-nis-manage crashes if the specified passwd file does not exist.
Product: Red Hat Enterprise Linux 6 Reporter: Gowrishankar Rajaiyan <grajaiya>
Component: ipaAssignee: Rob Crittenden <rcritten>
Status: CLOSED ERRATA QA Contact: Chandrasekar Kannan <ckannan>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.2CC: benl, dpal, jgalipea, mkosek
Target Milestone: rc   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: ipa-2.1.0-1.el6 Doc Type: Bug Fix
Doc Text:
Cause: ipa-nis-manage has an option, -y, to specify the Directory Manager password in a file. This option causes the command to crash if the file does not exist. Consequence: The -y option of ipa-nis-manage does not provide a useful error. Fix: Add an exception handler around the password reader. Result: A proper error message is displayed when the password file does not exist or is unreadable.
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-12-06 18:24:56 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 Gowrishankar Rajaiyan 2011-06-03 14:52:25 UTC
Description of problem:


Version-Release number of selected component (if applicable):
Name        : ipa-server                   Relocations: (not relocatable)
Version     : 2.0.0                             Vendor: Red Hat, Inc.
Release     : 23.el6                        Build Date: Wed 20 Apr 2011 09:57:13 AM EDT
Install Date: Wed 18 May 2011 09:14:40 AM EDT      Build Host: x86-003.build.bos.redhat.com
Group       : System Environment/Base       Source RPM: ipa-2.0.0-23.el6.src.rpm
Size        : 2565882                          License: GPLv3+
Signature   : (none)
Packager    : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla>
URL         : http://www.freeipa.org/
Summary     : The IPA authentication server


How reproducible:
Always

Steps to Reproduce:
1. Make sure /root/passwd.txt does not exist.

2. As root do, # ipa-nis-manage -y /root/passwd.txt enable

  
Actual results:

ipa-nis-manager crashes.

# ipa-nis-manage -y /root/passwd.txt enable
Traceback (most recent call last):
  File "/usr/sbin/ipa-nis-manage", line 215, in <module>
    sys.exit(main())
  File "/usr/sbin/ipa-nis-manage", line 104, in main
    pw = ipautil.template_file(options.password, [])
  File "/usr/lib/python2.6/site-packages/ipapython/ipautil.py", line 82, in template_file
    txt = open(infilename).read()
IOError: [Errno 2] No such file or directory: '/root/passwd.txt'


Expected results:
Should not crash and give appropriate error.

Additional info:

# abrt-cli -i 0:c3ce353d
Crash ID:           0:c3ce353d
Last crash:         Fri 03 Jun 2011 05:13:51 PM EDT
Analyzer:           Python
Component:          ipa
Package:            ipa-server-2.0.0-23.el6
Command:            /usr/bin/python /usr/sbin/ipa-nis-manage -y /root/passwd.txt enable
Executable:         /usr/sbin/ipa-nis-manage
System:             Red Hat Enterprise Linux Server release 6.1 (Santiago), kernel 2.6.32-131.0.15.el6.x86_64
Reason:             ipautil.py:82:template_file:IOError: [Errno 2] No such file or directory: '/root/passwd.txt'
Hostname:           bumblebee.lab.eng.pnq.redhat.com

Comment 2 Martin Kosek 2011-06-06 07:12:01 UTC
https://fedorahosted.org/freeipa/ticket/1283

Comment 3 Martin Kosek 2011-06-13 11:01:23 UTC
Upstream commits:
master: d2b483cbb3ca15a68115cf32cfaf89572259914e
ipa-2-0: ce875684b97b2a37aa3969f15fe3143f60329d77

Comment 5 Jenny Severance 2011-10-05 20:46:07 UTC
verified:

# ipa-nis-manage -y /root/passwd.txt enable
File "/root/passwd.txt" not found or not readable

# echo $?
1

version:
ipa-server-2.1.1-4.el6.x86_64

Comment 6 Rob Crittenden 2011-10-31 19:31:41 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: ipa-nis-manage has an option, -y, to specify the Directory Manager password in a file. This option causes the command to crash if the file does not exist.
Consequence: The -y option of ipa-nis-manage does not provide a useful error.
Fix: Add an exception handler around the password reader.
Result: A proper error message is displayed when the password file does not exist or is unreadable.

Comment 7 errata-xmlrpc 2011-12-06 18:24:56 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/RHSA-2011-1533.html