Bug 704216

Summary: edquota defines global symbols with names that nsswitch modules might be using
Product: Red Hat Enterprise Linux 6 Reporter: Petr Pisar <ppisar>
Component: quotaAssignee: Petr Pisar <ppisar>
Status: CLOSED ERRATA QA Contact: Branislav Blaškovič <bblaskov>
Severity: high Docs Contact:
Priority: medium    
Version: 6.1CC: azelinka, bblaskov, nalin, ovasik, ppisar
Target Milestone: rcKeywords: Patch
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
URL: https://sourceforge.net/tracker/?func=detail&aid=3300978&group_id=18136&atid=118136
Whiteboard:
Fixed In Version: quota-3.17-18.el6 Doc Type: Bug Fix
Doc Text:
Cause: Configure name server switch to use libdb back-end. Consequence: edquota tool crashes. Fix: Clashing `dirname' symbol has been made static in edquota sources to dismiss from edquota symbol table and not to polute symbol name space and not to confuse dynamic linker. Result: edquota can be used on systems which use Berkeley database for storing user names, group names, or passwords.
Story Points: ---
Clone Of: 703567 Environment:
Last Closed: 2012-11-19 13:31:58 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:
Bug Depends On:    
Bug Blocks: 836160    
Attachments:
Description Flags
Fix none

Description Petr Pisar 2011-05-12 13:12:54 UTC
+++ This bug was initially created as a clone of Bug #703567 +++

Description of problem:
On a system with nss_db configured in /etc/nsswitch.conf, queries that go through libnss_db cause edquota to crash because the module expects to be calling libc's dirname() function, but ends up attempting to call the global variable named "dirname" that edquota defines (confirmed by running edquota with "$LD_DEBUG=bindings"). 

Version-Release number of selected component (if applicable):
quota-4.00-0.14.pre1.fc16.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Install nss_db
2. make -C /var/db
3. Add "db" to the beginning of the "passwd", "group", and "shadow" lists in /etc/nsswitch.conf.
4. Run "edquota -f $fs -u $user" for a given mountpoint and user.
  
Actual results:
Segfault.

Expected results:
Text editor opens, as you'd expect.

Additional info:
Renaming "dirname" or making it static both prevent this from happening.  I'm open to changes to how we build nss_db to prevent this there, but it won't help other nsswitch modules which might also be calling this dirname().

----

RHEL-6.1 (quota-3.17-16.el6.x86_64) affected.

Comment 1 Petr Pisar 2011-05-12 13:14:11 UTC
Created attachment 498538 [details]
Fix

Comment 2 Petr Pisar 2011-05-12 14:06:11 UTC
RHEL-5.7 (quota-3.13-5.el5) is not affected because the code is not compiled with -fPIE gcc option making all exported symbols dynamic.

Comment 3 Petr Pisar 2011-05-17 09:37:05 UTC
Accepted by upstream in commit 3ad0b3622cf92989584097787323f00bc7a36c48.

Comment 4 RHEL Program Management 2011-07-05 23:52:37 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 6 Suzanne Logcher 2012-02-14 23:09:45 UTC
This request was evaluated by Red Hat Product Management for
inclusion in the current release of Red Hat Enterprise Linux.
Because the affected component is not scheduled to be updated
in the current release, Red Hat is unfortunately unable to
address this request at this time. Red Hat invites you to
ask your support representative to propose this request, if
appropriate and relevant, in the next release of Red Hat
Enterprise Linux. If you would like it considered as an
exception in the current release, please ask your support
representative.

Comment 15 errata-xmlrpc 2012-11-19 13:31:58 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-1472.html