Page MenuHomeFreeBSD

Fix infinite loops in yplib.c
ClosedPublic

Authored by pushkarbk_gmail.com on Nov 6 2015, 12:20 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, May 2, 10:20 PM
Unknown Object (File)
Thu, May 2, 10:20 PM
Unknown Object (File)
Thu, May 2, 10:20 PM
Unknown Object (File)
Thu, May 2, 7:38 PM
Unknown Object (File)
Fri, Apr 26, 1:07 AM
Unknown Object (File)
Mon, Apr 22, 9:57 AM
Unknown Object (File)
Sat, Apr 20, 9:04 AM
Unknown Object (File)
Sun, Apr 14, 12:41 AM
Subscribers
None

Details

Summary

Configuring NIS server to use longer entries, creates an infinite retry loop for a NIS request.
A ypmatch call will return the following error until the command is killed:

  • yp_match: clnt_call: RPC: Can't decode result ***
Test Plan

  • Before Fix * ***

ypmatch sss_group1910 group

yp_match: clnt_call: RPC: Can't decode result
yp_match: clnt_call: RPC: Can't decode result
yp_match: clnt_call: RPC: Can't decode result
yp_match: clnt_call: RPC: Can't decode result
yp_match: clnt_call: RPC: Can't decode result
yp_match: clnt_call: RPC: Can't decode result
.
.
.
. * Infinite Loop *
.
.
.
yp_match: clnt_call: RPC: Can't decode result
yp_match: clnt_call: RPC: Can't decode result
yp_match: clnt_call: RPC: Can't decode result

After CTRL+C

yp_match: clnt^Catch: clnt_call: RPC: Can't decode result


  • After Fix * ******

ypmatch sss_group1910 group

yp_match: clnt_call: RPC: Can't decode result
yp_match: clnt_call: RPC: Can't decode result
.
.
.
. * After 20 retries *
.
.
ypmatch: can't match key sss_group1910 in map group.byname. reason: RPC failure

Diff Detail

Lint
Lint Skipped
Unit
Tests Skipped

Event Timeline

pushkarbk_gmail.com retitled this revision from to Fix infinite loops in yplib.c.
pushkarbk_gmail.com updated this object.
pushkarbk_gmail.com edited the test plan for this revision. (Show Details)
lib/libc/yp/yplib.c
983

Pushkar and I talked about this internally, but noting it here for the record - the reason the first arg to cln_perror() was changed was to match the first arg of the clnt_call() which failed.

araujo edited edge metadata.

Thanks to work on it!
Looks good to me.

This revision is now accepted and ready to land.Nov 19 2015, 8:56 AM
bapt added a reviewer: bapt.