summaryrefslogtreecommitdiffstats
path: root/usr.sbin/rpcbind/util.c
Commit message (Collapse)AuthorAgeFilesLines
* WARNS=3 safety (mostly), use __unused for unused params and unsigned wherealfred2002-10-071-1/+2
| | | | needed to avoid warnings about comparing signed and unsigned values.
* Simplify to bitmaskcmp() to use the obvious approach instead ofiedowse2001-07-141-22/+19
| | | | | | | | | | | | comparing bit by bit. Make the logic in in6_fillscopeid() match that in our ifconfig(8): only set the scope ID if there is one in the address and none in sin6_scope_id. Correct a comment in network_init() that didn't make sense; it was probably never updated after it was pasted from similar code in addrmerge().
* Clean up the addrmerge() function, which was over-complicated andiedowse2001-06-241-136/+120
| | | | | | | | | | | | | | | | | contained a number of memory leaks. The changes include: - Add a comment describing what addrmerge() does. - Deal with 0.0.0.0./::. or AF_LOCAL callers correctly. - Use rpcbind_get_conf() instead of getnetconfigent() so we don't have to remember to free the returned netconfig struct. - Make just one pass through the ifaddrs list; we can pick up a fallback interface address in the same pass as the netmask comparison. - Define and use SA2SIN* macros to avoid the need for loads of protocol-specific local variables. - Use mostly protocol-independent code for building the netbuf version of the address to be returned. - Use the common cleanup code for virtually all error and non-error cases, fixing a number of memory leaks.
* Bring in some bugfixes from NetBSD. I'm going to make a moreiedowse2001-04-261-17/+37
| | | | | | | | | | | | | | | extensive pass through the rpcbind code soon, but I might as well bring these in now. - (NetBSD util.c r1.5) Move the initialisation of `tbuf' to avoid a case where it could end up containing junk from the stack. This should address the issue in PR bin/26806. - (NetBSD util.c r1.6) Don't `merge' AF_LOCAL addresses, fix a few memory leaks. PR: bin/26806 Submitted by: Martin Blapp <mb@imp.ch> Obtained from: NetBSD
* Bring in a hybrid of SunSoft's transport-independent RPC (TI-RPC) andalfred2001-03-191-0/+381
associated changes that had to happen to make this possible as well as bugs fixed along the way. Bring in required TLI library routines to support this. Since we don't support TLI we've essentially copied what NetBSD has done, adding a thin layer to emulate direct the TLI calls into BSD socket calls. This is mostly from Sun's tirpc release that was made in 1994, however some fixes were backported from the 1999 release (supposedly only made available after this porting effort was underway). The submitter has agreed to continue on and bring us up to the 1999 release. Several key features are introduced with this update: Client calls are thread safe. (1999 code has server side thread safe) Updated, a more modern interface. Many userland updates were done to bring the code up to par with the recent RPC API. There is an update to the pthreads library, a function pthread_main_np() was added to emulate a function of Sun's threads library. While we're at it, bring in NetBSD's lockd, it's been far too long of a wait. New rpcbind(8) replaces portmap(8) (supporting communication over an authenticated Unix-domain socket, and by default only allowing set and unset requests over that channel). It's much more secure than the old portmapper. Umount(8), mountd(8), mount_nfs(8), nfsd(8) have also been upgraded to support TI-RPC and to support IPV6. Umount(8) is also fixed to unmount pathnames longer than 80 chars, which are currently truncated by the Kernel statfs structure. Submitted by: Martin Blapp <mb@imp.ch> Manpage review: ru Secure RPC implemented by: wpaul
OpenPOWER on IntegriCloud