Red Hat Bugzilla – Bug 988203
NIS server returning 0 (YP_FALSE) instead of -1 (YP_NOMAP) for yp_first/yp_next requests
Last modified: 2016-05-31 07:10: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):
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 $?
WARNING: Internal NIS error (Map nonexistingmap)
WARNING: No such map in server's domain (Map nonexistingmap)
Created attachment 778065 [details]
Reproducer for yp_first and yp_next RPC calls
See comment #0 for instructions how the reproducer should be used.
Created attachment 778066 [details]
Patch that uses correct error handling
This patch is a back-port of error handling from ypserv-2.29.
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.