master
there is no function called ypclnt(3), but yp_bind(3) exists...
Wrap _yp_check() and _yp_unbind() so internal calls go direct and they're weak
Move to the <limits.h> universe. review by millert, binary checking process with doug, concept with guenther
1) The yp_bind/yp_unbind and internal _yp_dobind/_yp_unbind sequences shared dom_binding structs between threads, which is unsafe -- example, dom_vers signalled retry events, and structs+socket would get deallocated in _yp_unbind. Change all yp_first (and similar) functions to understand that _yp_dobind now provides a private dom_binding and socket, which must be released using _yp_unbind. Use similar methods in the one-step yp_all function. 2) domainname caching in get* is not neccessary now that the domainname cannot change relative to ypconnect(2)'s decisions. Many fields in dom_binding struct become unused, so delete them. ok jmatthew, also tested by miod
grammar fixes from Varik "The Genuine Article!!!" Valefor;
When getpwnam(3) reaches out to YP, it calls clntudp_create(3) with a pre-initialized ypconnect(2) socket. That calls clntudp_bufcreate(), which contains code checking if the socket and address are configured.. If not, socket(2) is called, or an address allocation is performed via the portmapper (which calls a whole lot more code).
All these files include <stdlib.h>, so do not need to cast malloc/calloc/realloc* returns.
Stop publicly declaring _yp_dobind() and struct dom_binding, closing out a rant Theo wrote 24 years ago. Mark __ypexclude_{add,is,free}() as hidden
Wrap <rpcsvc/ypclnt.h> so that calls go direct and the symbols are all weak