<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/include/rpc, branch releng/8.4</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src/atom?h=releng%2F8.4</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src/atom?h=releng%2F8.4'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/'/>
<updated>2012-09-30T00:44:53Z</updated>
<entry>
<title>MFC	r241007, r241008:</title>
<updated>2012-09-30T00:44:53Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2012-09-30T00:44:53Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=c6889a39a6dc4db17cc61b8fc2772fdbf95e96a6'/>
<id>urn:sha1:c6889a39a6dc4db17cc61b8fc2772fdbf95e96a6</id>
<content type='text'>
Complete revert of r239963 (from head).

The attempt to merge changes from the linux libtirpc caused
rpc.lockd to exit after startup under unclear conditions.

Reported by:	David Wolfskill
</content>
</entry>
<entry>
<title>MFC	r239963:</title>
<updated>2012-09-22T04:22:17Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2012-09-22T04:22:17Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=b5da57b4f35096671d931c5f15a85680f0b4478e'/>
<id>urn:sha1:b5da57b4f35096671d931c5f15a85680f0b4478e</id>
<content type='text'>
Bring some changes from Bull's NFSv4 libtirpc implementation.

____

Fixed infinite loop in svc_run()
____

__rpc_taddr2uaddr_af() assumes the netbuf to always have a
non-zero data. This is a bad assumption and can lead to a
seg-fault. This patch adds a check for zero length and returns
NULL when found.
____

Changed clnt_spcreateerror() to return clearer
and more concise error messages.
____

Converted all uid and gid variables of the type uid_t and gid_t.
____

libtirpc: set r_netid and r_owner in __rpcb_findaddr_timed

These fields in the rpcbind GETADDR call are being passed uninitialized
to CLNT_CALL. In the case of x86_64 at least, this usually leads to a
segfault. On x86, it sometimes causes segfaults and other times causes
garbage to be sent on the wire.

rpcbind generally ignores the r_owner field for calls that come in over
the wire, so it really doesn't matter what we send in that slot. We just
need to send something. The reference implementation from Sun seems to
send a blank string. Have ours follow suit.
____

libtirpc: be sure to free cl_netid and cl_tp

When creating a client with clnt_tli_create, it uses strdup to copy
strings for these fields if nconf is passed in. clnt_dg_destroy frees
these strings already. Make sure clnt_vc_destroy frees them in the same
way.

____

Obtained from:		Bull GNU/Linux NFSv4 Project
</content>
</entry>
<entry>
<title>MFC	r240060, r240062:</title>
<updated>2012-09-16T00:34:04Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2012-09-16T00:34:04Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8445c945095535094826380d6b6db175ae2aa1b9'/>
<id>urn:sha1:8445c945095535094826380d6b6db175ae2aa1b9</id>
<content type='text'>
Rename __rpc_xdr with XDR. This fixes at least one C++ application and
matches what upstream (Solaris) has done on their xdr.h header.

PR:	137443
</content>
</entry>
<entry>
<title>MFC r231118:</title>
<updated>2012-02-14T19:49:06Z</updated>
<author>
<name>Dimitry Andric</name>
<email>dim@FreeBSD.org</email>
</author>
<published>2012-02-14T19:49:06Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=53466e96ffcf4df00e6f96a4906fd9ac55843d0a'/>
<id>urn:sha1:53466e96ffcf4df00e6f96a4906fd9ac55843d0a</id>
<content type='text'>
Consistently set RPCGEN_CPP when running rpcgen, so the C preprocessor
set via ${CPP} is used, instead of always using hardcoded /usr/bin/cpp.
</content>
</entry>
<entry>
<title>Re-do r192913 in less intrusive way. Only do IP_RECVDSTADDR/IP_SENDSRCADDR</title>
<updated>2009-06-18T17:10:43Z</updated>
<author>
<name>Alexander Kabaev</name>
<email>kan@FreeBSD.org</email>
</author>
<published>2009-06-18T17:10:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=e7733ffa39170acc47588733372fabf459a43819'/>
<id>urn:sha1:e7733ffa39170acc47588733372fabf459a43819</id>
<content type='text'>
dace for UPDv4 sockets bound to INADDR_ANY. Move the code to set
IP_RECVDSTADDR/IP_SENDSRCADDR into svc_dg.c, so that both TLI and non-TLI
users will be using it.

Back out my previous commit to mountd. Turns out the problem was affecting
more than one binary so it needs to me addressed in generic rpc code in
libc in order to fix them all.

Reported by:	lstewart
Tested by:	lstewart
</content>
</entry>
<entry>
<title>Implement support for RPCSEC_GSS authentication to both the NFS client</title>
<updated>2008-11-03T10:38:00Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>2008-11-03T10:38:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=a9148abd9da5db2f1c682fb17bed791845fc41c9'/>
<id>urn:sha1:a9148abd9da5db2f1c682fb17bed791845fc41c9</id>
<content type='text'>
and server. This replaces the RPC implementation of the NFS client and
server with the newer RPC implementation originally developed
(actually ported from the userland sunrpc code) to support the NFS
Lock Manager.  I have tested this code extensively and I believe it is
stable and that performance is at least equal to the legacy RPC
implementation.

The NFS code currently contains support for both the new RPC
implementation and the older legacy implementation inherited from the
original NFS codebase. The default is to use the new implementation -
add the NFS_LEGACYRPC option to fall back to the old code. When I
merge this support back to RELENG_7, I will probably change this so
that users have to 'opt in' to get the new code.

To use RPCSEC_GSS on either client or server, you must build a kernel
which includes the KGSSAPI option and the crypto device. On the
userland side, you must build at least a new libc, mountd, mount_nfs
and gssd. You must install new versions of /etc/rc.d/gssd and
/etc/rc.d/nfsd and add 'gssd_enable=YES' to /etc/rc.conf.

As long as gssd is running, you should be able to mount an NFS
filesystem from a server that requires RPCSEC_GSS authentication. The
mount itself can happen without any kerberos credentials but all
access to the filesystem will be denied unless the accessing user has
a valid ticket file in the standard place (/tmp/krb5cc_&lt;uid&gt;). There
is currently no support for situations where the ticket file is in a
different place, such as when the user logged in via SSH and has
delegated credentials from that login. This restriction is also
present in Solaris and Linux. In theory, we could improve this in
future, possibly using Brooks Davis' implementation of variant
symlinks.

Supporting RPCSEC_GSS on a server is nearly as simple. You must create
service creds for the server in the form 'nfs/&lt;fqdn&gt;@&lt;REALM&gt;' and
install them in /etc/krb5.keytab. The standard heimdal utility ktutil
makes this fairly easy. After the service creds have been created, you
can add a '-sec=krb5' option to /etc/exports and restart both mountd
and nfsd.

The only other difference an administrator should notice is that nfsd
doesn't fork to create service threads any more. In normal operation,
there will be two nfsd processes, one in userland waiting for TCP
connections and one in the kernel handling requests. The latter
process will create as many kthreads as required - these should be
visible via 'top -H'. The code has some support for varying the number
of service threads according to load but initially at least, nfsd uses
a fixed number of threads according to the value supplied to its '-n'
option.

Sponsored by:	Isilon Systems
MFC after:	1 month
</content>
</entry>
<entry>
<title>Initialise the SVCAUTH field for new transport structures when they are</title>
<updated>2008-09-09T14:15:55Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>2008-09-09T14:15:55Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=4efa8f3e07ebafa84f29bd13261d4a4685f2840a'/>
<id>urn:sha1:4efa8f3e07ebafa84f29bd13261d4a4685f2840a</id>
<content type='text'>
allocated instead of waiting for the first request. This fixes an issue with
rpcbind's support for PMAPPROC_CALLIT.

Reviewed by:	markm
</content>
</entry>
<entry>
<title>Add an implementation of the RPCSEC_GSS authentication protocol for RPC. This</title>
<updated>2008-08-06T14:02:05Z</updated>
<author>
<name>Doug Rabson</name>
<email>dfr@FreeBSD.org</email>
</author>
<published>2008-08-06T14:02:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8f55a568f69c5b2fadaa020a452c2043a7dcf65f'/>
<id>urn:sha1:8f55a568f69c5b2fadaa020a452c2043a7dcf65f</id>
<content type='text'>
is based on an old implementation from the University of Michigan with lots of
changes and fixes by me and the addition of a Solaris-compatible API.

Sponsored by:	Isilon Systems
Reviewed by:	alfred
</content>
</entry>
<entry>
<title>Move rpc/types.h under sys/, as this is used by ZFS kernel module.</title>
<updated>2007-04-10T22:10:16Z</updated>
<author>
<name>Pawel Jakub Dawidek</name>
<email>pjd@FreeBSD.org</email>
</author>
<published>2007-04-10T22:10:16Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=7f64b05f79f4e13e2f5daa1cafce54ed82467ebc'/>
<id>urn:sha1:7f64b05f79f4e13e2f5daa1cafce54ed82467ebc</id>
<content type='text'>
Repo-copied by:	simon
</content>
</entry>
<entry>
<title>Comment the token after #endif, like we do everywhere else.</title>
<updated>2007-02-02T18:11:18Z</updated>
<author>
<name>Jens Schweikhardt</name>
<email>schweikh@FreeBSD.org</email>
</author>
<published>2007-02-02T18:11:18Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src/commit/?id=8011e03458be40f7286e77073983dd584c06b992'/>
<id>urn:sha1:8011e03458be40f7286e77073983dd584c06b992</id>
<content type='text'>
Static analyzers like FlexeLint complain about it.

MFC after:	7 days
</content>
</entry>
</feed>
