Bug 988203 - NIS server returning 0 (YP_FALSE) instead of -1 (YP_NOMAP) for yp_first/yp_next requests
NIS server returning 0 (YP_FALSE) instead of -1 (YP_NOMAP) for yp_first/yp_ne...
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: ypserv (Show other bugs)
All Linux
medium Severity medium
: rc
: ---
Assigned To: Matej Mužila
Tomas Dolezal
Jiri Herrmann
: Patch
Depends On:
Blocks: 1075802 1172231 1269927
  Show dependency treegraph
Reported: 2013-07-25 01:49 EDT by Honza Horak
Modified: 2016-05-31 07:10 EDT (History)
5 users (show)

See Also:
Fixed In Version: ypserv-2.19-31.el6
Doc Type: Bug Fix
Doc Text:
*ypserv* now correctly reports a non-existent map The *ypserv* service previously incorrectly returned an `Internal NIS error` error message when a NIS client asked for a non-existent map using the *yp_first* or *yp_next* system calls. Now, *ypserv* correctly returns the `No such map in server's domain` error message in this scenario.
Story Points: ---
Clone Of:
Last Closed: 2016-05-10 16:34:02 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
Reproducer for yp_first and yp_next RPC calls (1005 bytes, text/plain)
2013-07-25 01:52 EDT, Honza Horak
no flags Details
Patch that uses correct error handling (3.64 KB, patch)
2013-07-25 01:54 EDT, Honza Horak
no flags Details | Diff

  None (edit)
Description Honza Horak 2013-07-25 01:49:33 EDT
Description of problem:
This is similar to bug #790812, which got incomplete fix. When NIS client asks for non-existing map using yp_first/yp_next RPC calls, it gets 0 (YP_FALSE) instead of -1 (YP_NOMAP) in the YP respond from server, which causes problems on Solaris/Linux deployments.

We need to fix *all* calls the same as yp_all RPC call has been fixed as a part of bug #790812.

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

How reproducible:

Steps to Reproduce:
1. See https://bugzilla.redhat.com/show_bug.cgi?id=783198#c3
and configure NIS according the steps there.
2. Download reproducer.c (will be attached)
3. gcc -o reproducer reproducer.c -lnsl 
4. ./reproducer yourdomainname nonexistingmap
5. echo $?

Actual results:
WARNING: Internal NIS error (Map nonexistingmap)

Expected results:
WARNING: No such map in server's domain (Map nonexistingmap)
Comment 1 Honza Horak 2013-07-25 01:52:33 EDT
Created attachment 778065 [details]
Reproducer for yp_first and yp_next RPC calls

See comment #0 for instructions how the reproducer should be used.
Comment 2 Honza Horak 2013-07-25 01:54:37 EDT
Created attachment 778066 [details]
Patch that uses correct error handling

This patch is a back-port of error handling from ypserv-2.29.
Comment 12 errata-xmlrpc 2016-05-10 16:34:02 EDT
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.


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