<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test2/lib/libc/rpc, branch release/8.4.0</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.4.0</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test2/atom?h=release%2F8.4.0'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/'/>
<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-test2/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	240880:</title>
<updated>2012-09-27T04:06:20Z</updated>
<author>
<name>Pedro F. Giffuni</name>
<email>pfg@FreeBSD.org</email>
</author>
<published>2012-09-27T04:06:20Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=a740f867f4d88a267a244a97bd0be9d8a0c5012f'/>
<id>urn:sha1:a740f867f4d88a267a244a97bd0be9d8a0c5012f</id>
<content type='text'>
Revert a change from Bull's NFSv4 libtirpc implementation:

libtirpc: be sure to free cl_netid and cl_tp

This change is causing rpc.lockd to exit after startup.

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-test2/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 r235286:</title>
<updated>2012-05-18T00:32:29Z</updated>
<author>
<name>Glen Barber</name>
<email>gjb@FreeBSD.org</email>
</author>
<published>2012-05-18T00:32:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=84c3e87e1c04082f23653ce1c5baed9a418df242'/>
<id>urn:sha1:84c3e87e1c04082f23653ce1c5baed9a418df242</id>
<content type='text'>
General mdoc(7) and typo fixes.

PR:		167734
</content>
</entry>
<entry>
<title>MFC r235143:</title>
<updated>2012-05-15T09:37:22Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2012-05-15T09:37:22Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=9e618949929b7789eed564b00b8de3c74442311e'/>
<id>urn:sha1:9e618949929b7789eed564b00b8de3c74442311e</id>
<content type='text'>
Plug a leak.
</content>
</entry>
<entry>
<title>MFC r234769:</title>
<updated>2012-05-05T00:30:43Z</updated>
<author>
<name>Konstantin Belousov</name>
<email>kib@FreeBSD.org</email>
</author>
<published>2012-05-05T00:30:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=c38ba2e1281df96daad81c197d4bbd76f89bcd40'/>
<id>urn:sha1:c38ba2e1281df96daad81c197d4bbd76f89bcd40</id>
<content type='text'>
Fix several memory and lock leaks on the out of memory condition.
</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-test2/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>MFC: r220519</title>
<updated>2011-04-24T21:27:29Z</updated>
<author>
<name>Rick Macklem</name>
<email>rmacklem@FreeBSD.org</email>
</author>
<published>2011-04-24T21:27:29Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=731941f3b0008d42ad8dc085cea8de85dccf1999'/>
<id>urn:sha1:731941f3b0008d42ad8dc085cea8de85dccf1999</id>
<content type='text'>
Fix a bug in the userland rpc library, where it would use a
negative return value from write to update its position in
a buffer. The patch, courtesy of Andrey Simonenko, also simplifies
a conditional by removing the "i != cnt" clause, since it is
always true at this point in the code. The bug caused problems
for mountd, when it generated a large reply to an exports RPC
request.
</content>
</entry>
<entry>
<title>MFC r218965, 219055:</title>
<updated>2011-03-05T04:27:02Z</updated>
<author>
<name>Rebecca Cran</name>
<email>brucec@FreeBSD.org</email>
</author>
<published>2011-03-05T04:27:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=476a29cbb2d61c111c88ac9fdc8670cdd74e4125'/>
<id>urn:sha1:476a29cbb2d61c111c88ac9fdc8670cdd74e4125</id>
<content type='text'>
Fix typos - remove duplicate "is".

PR:		docs/154934
</content>
</entry>
<entry>
<title>MFC 204950,205020:</title>
<updated>2010-03-22T15:52:26Z</updated>
<author>
<name>John Baldwin</name>
<email>jhb@FreeBSD.org</email>
</author>
<published>2010-03-22T15:52:26Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test2/commit/?id=f5ccef8fd9baedaeb699cbad6d99e275c6e590ef'/>
<id>urn:sha1:f5ccef8fd9baedaeb699cbad6d99e275c6e590ef</id>
<content type='text'>
Use thr_once() with once_t controls to initialize various thread_key_t
objects used to provide per-thread storage in the RPC code.  Almost all
of these used double-checking with a dedicated mutex (tsd_lock) to do this
before.  However, that is not always safe with more relaxed memory orders.
There were also other bugs, such as one in __rpc_createrr() that caused a
new key to be allocated each time __rpc_createrr() was invoked.
</content>
</entry>
</feed>
