<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src/lib/libc/net/getservent.c, branch release/2.2.2</title>
<subtitle>FreeBSD source tree</subtitle>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/'/>
<entry>
<title>Bring in YP buffer size/NUL termination fixes from -current.</title>
<updated>1996-12-31T16:22:35+00:00</updated>
<author>
<name>Bill Paul</name>
<email>wpaul@FreeBSD.org</email>
</author>
<published>1996-12-31T16:22:35+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=85921a688fe399041269781a80c629cf2b18070b'/>
<id>85921a688fe399041269781a80c629cf2b18070b</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>YAMFC</title>
<updated>1996-12-10T21:08:53+00:00</updated>
<author>
<name>Joerg Wunsch</name>
<email>joerg@FreeBSD.org</email>
</author>
<published>1996-12-10T21:08:53+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=abab9471bdf045268312afa77cbccb87a3a123f5'/>
<id>abab9471bdf045268312afa77cbccb87a3a123f5</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>General -Wall warning cleanup, part I.</title>
<updated>1996-07-12T18:57:58+00:00</updated>
<author>
<name>Jordan K. Hubbard</name>
<email>jkh@FreeBSD.org</email>
</author>
<published>1996-07-12T18:57:58+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=51295a4d3e4c551df85249433c490208dc7fd23d'/>
<id>51295a4d3e4c551df85249433c490208dc7fd23d</id>
<content type='text'>
Submitted-By: Kent Vander Velden &lt;graphix@iastate.edu&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Submitted-By: Kent Vander Velden &lt;graphix@iastate.edu&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve NIS performace of getservbyname() and getservbyport(). Both these</title>
<updated>1996-06-01T04:40:42+00:00</updated>
<author>
<name>Bill Paul</name>
<email>wpaul@FreeBSD.org</email>
</author>
<published>1996-06-01T04:40:42+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=217ae63218d8980902670cd89cacaa7c9ad81b0a'/>
<id>217ae63218d8980902670cd89cacaa7c9ad81b0a</id>
<content type='text'>
functions are implimented as wrappers around getservent(), which means it's
up to getservent() to do all the work. The NIS support in getservent()
only allows it to scan through the services.byname map one entry at a
time until it finds the requested service name/port. This can be painfully
slow due to the overhead involved (lots and lots of successive RPCs).

To fix this, we allow getservbyname() and getservbyport() to signal
getservent() that if NIS is turned on (there's a '+' in /etc/services),
the usual yp_first()/yp_next() linear search should be abandoned and
yp_match() used instead. This causes getservent() to immediately
locate the requested entry instead of wasting time groping through the
whole map.

The downside is that this trick is accomplished by exporting a couple of
pointers from getservent.c which getservbyname.c and getservbyport.c can
preset in order to tell getservent() what to do. If all three functions
were in the same source module, then the extra cruft could be delcared
static to avoid poluting the global symbol space. Maybe they should be
combined anyway. For now I've settled on prepending lots of underscores.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
functions are implimented as wrappers around getservent(), which means it's
up to getservent() to do all the work. The NIS support in getservent()
only allows it to scan through the services.byname map one entry at a
time until it finds the requested service name/port. This can be painfully
slow due to the overhead involved (lots and lots of successive RPCs).

To fix this, we allow getservbyname() and getservbyport() to signal
getservent() that if NIS is turned on (there's a '+' in /etc/services),
the usual yp_first()/yp_next() linear search should be abandoned and
yp_match() used instead. This causes getservent() to immediately
locate the requested entry instead of wasting time groping through the
whole map.

The downside is that this trick is accomplished by exporting a couple of
pointers from getservent.c which getservbyname.c and getservbyport.c can
preset in order to tell getservent() what to do. If all three functions
were in the same source module, then the extra cruft could be delcared
static to avoid poluting the global symbol space. Maybe they should be
combined anyway. For now I've settled on prepending lots of underscores.
</pre>
</div>
</content>
</entry>
<entry>
<title>Getpwent() and getservent() can wind up calling free() with</title>
<updated>1996-01-29T20:16:30+00:00</updated>
<author>
<name>Mike Pritchard</name>
<email>mpp@FreeBSD.org</email>
</author>
<published>1996-01-29T20:16:30+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=70520b51b9086b1fd1f7824e5bee5d721131c3c1'/>
<id>70520b51b9086b1fd1f7824e5bee5d721131c3c1</id>
<content type='text'>
an invalid pointer if a call to yp_first() fails.  Closes PR # 964,
and possibly # 952.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
an invalid pointer if a call to yp_first() fails.  Closes PR # 964,
and possibly # 952.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add NIS support to getservent(3) functions (getservbyport() and getservbyname()</title>
<updated>1995-11-04T19:07:27+00:00</updated>
<author>
<name>Bill Paul</name>
<email>wpaul@FreeBSD.org</email>
</author>
<published>1995-11-04T19:07:27+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=215032be8c9f4ecd8344497ee87264dc5232d912'/>
<id>215032be8c9f4ecd8344497ee87264dc5232d912</id>
<content type='text'>
both call getservent() to do most of the work, so we only need to modify
this file to take care of everybody).

Note that there is only one NIS services map (services.byname) even
though there are getservbyname() and getservbyport() library functions.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
both call getservent() to do most of the work, so we only need to modify
this file to take care of everybody).

Note that there is only one NIS services map (services.byname) even
though there are getservbyname() and getservbyport() library functions.
</pre>
</div>
</content>
</entry>
<entry>
<title>BSD 4.4 Lite Lib Sources</title>
<updated>1994-05-27T05:00:24+00:00</updated>
<author>
<name>Rodney W. Grimes</name>
<email>rgrimes@FreeBSD.org</email>
</author>
<published>1994-05-27T05:00:24+00:00</published>
<link rel='alternate' type='text/html' href='http://cgit.freebsd.org/src/commit/?id=58f0484fa251c266ede97b591b499fe3dd4f578e'/>
<id>58f0484fa251c266ede97b591b499fe3dd4f578e</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
