Bug 947936 - Corosync doesn't detect non-existing user in uidgid config section
Summary: Corosync doesn't detect non-existing user in uidgid config section
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: corosync
Version: 6.4
Hardware: Unspecified
OS: Unspecified
low
low
Target Milestone: rc
: ---
Assignee: Jan Friesse
QA Contact: Cluster QE
URL:
Whiteboard:
Keywords:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2013-04-03 15:04 UTC by Jan Friesse
Modified: 2013-11-21 04:33 UTC (History)
4 users (show)

(edit)
Cause: 
Corosync configuration of uidgid section contains non-existing user or group.

Consequence: 
Corosync doesn't display any error

Fix: 
Properly check return value of getpwnam_r

Result: 
Corosync display error message and exits with error code
Clone Of:
(edit)
Last Closed: 2013-11-21 04:33:50 UTC


Attachments (Terms of Use)
Proposed patch (4.17 KB, patch)
2013-04-03 15:04 UTC, Jan Friesse
no flags Details | Diff


External Trackers
Tracker ID Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2013:1531 normal SHIPPED_LIVE corosync bug fix and enhancement update 2013-11-21 00:40:57 UTC

Description Jan Friesse 2013-04-03 15:04:17 UTC
Created attachment 731215 [details]
Proposed patch

Description of problem:
corosync.conf:

...
uidgid {
    uid: nonexistinguser
}

No error is shown (even according to code it should)

Version-Release number of selected component (if applicable):
Flatiron

How reproducible:
100%
 
"Unit test":
https://github.com/jfriesse/csts/blob/master/tests/uidgid-parse.sh

Actual results:
Fail ($? != 0)

Expected results:
Success ($? == 0)

Additional info:

Comment 7 Jaroslav Kortus 2013-09-11 16:13:19 UTC
Verified with uidgid-parse.sh:

FAIL on corosync-1.4.1-15.el6.x86_64 (RHEL6.4)
PASS on corosync-1.4.1-17.el6.x86_64 (RHEL6.5)
Sep 11 18:10:06 virt-014 corosync[5211]:   [corosy] The 'nonexistinguid' user is not found in /etc/passwd, please read the documentation.
Sep 11 18:10:06 virt-014 corosync[5211]:   [MAIN  ] Corosync Cluster Engine exiting with status 1 at mainconfig.c:622.

Just a question: does it really check only /etc/passwd or is it also friendly to other system user entries (like ldap users) and the message is slightly misleading?

Comment 8 Jan Friesse 2013-09-12 08:15:58 UTC
It calls getpwnam_r, so second option is true.

Comment 10 errata-xmlrpc 2013-11-21 04:33:50 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-2013-1531.html


Note You need to log in before you can comment on or make changes to this bug.