<feed xmlns='http://www.w3.org/2005/Atom'>
<title>src-test/sys/netipx/ipx_usrreq.c, branch stable/7</title>
<subtitle>FreeBSD source tree</subtitle>
<id>https://cgit-dev.freebsd.org/src-test/atom?h=stable%2F7</id>
<link rel='self' href='https://cgit-dev.freebsd.org/src-test/atom?h=stable%2F7'/>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/'/>
<updated>2009-02-06T12:20:08Z</updated>
<entry>
<title>Merge r185928 from head to stable/7:</title>
<updated>2009-02-06T12:20:08Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2009-02-06T12:20:08Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=7280c9ddcec0eb1236259a4c7df4576a5a57ea83'/>
<id>urn:sha1:7280c9ddcec0eb1236259a4c7df4576a5a57ea83</id>
<content type='text'>
  Add missing "goto set_head" for SO_IPX_CHECKSUM; otherwise we fall through
  to the SO_HEADERS_ON_OUTPUT case and set that instead.

  Found with:   Coverity Prevent(tm)
  Coverity ID:  3988
</content>
</entry>
<entry>
<title>Remove IPX over IP tunneling support, which allows IPX routing over IP</title>
<updated>2007-06-13T14:01:43Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2007-06-13T14:01:43Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=2281b8f0546fb52f66cad2577ba98ab2bb73c959'/>
<id>urn:sha1:2281b8f0546fb52f66cad2577ba98ab2bb73c959</id>
<content type='text'>
tunnels, and was not MPSAFE.  The code can be easily restored in the
event that someone with an IPX over IP tunnel configuration can work
with me to test patches.

This removes one of five remaining consumers of NET_NEEDS_GIANT.

Approved by:	re (kensmith)
</content>
</entry>
<entry>
<title>Use ANSI C function declarations throughout netipx.</title>
<updated>2007-05-11T10:38:34Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2007-05-11T10:38:34Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=94ad7d68c755fc6bce5616c1eb5ac8dd1754d4d8'/>
<id>urn:sha1:94ad7d68c755fc6bce5616c1eb5ac8dd1754d4d8</id>
<content type='text'>
Remove 'register' use.
</content>
</entry>
<entry>
<title>Reduce network stack oddness: implement .pru_sockaddr and .pru_peeraddr</title>
<updated>2007-05-11T10:20:51Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2007-05-11T10:20:51Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=54d642bbe5699667d74f2117e6c0f58fcfa4384b'/>
<id>urn:sha1:54d642bbe5699667d74f2117e6c0f58fcfa4384b</id>
<content type='text'>
protocol entry points using functions named proto_getsockaddr and
proto_getpeeraddr rather than proto_setsockaddr and proto_setpeeraddr.
While it's true that sockaddrs are allocated and set, the net effect is
to retrieve (get) the socket address or peer address from a socket, not
set it, so align names to that intent.
</content>
</entry>
<entry>
<title>Factor out UCB and my copyrights from copyrights of Mike Mitchell;</title>
<updated>2007-01-08T22:14:00Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2007-01-08T22:14:00Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=28b2aee58f4fe5310bfdee185f9d118c2fca1ccd'/>
<id>urn:sha1:28b2aee58f4fe5310bfdee185f9d118c2fca1ccd</id>
<content type='text'>
the former use a three-clause BSD license (per UCB authorization
letter), whereas he uses a four-clause BSD license.

MFC after:	3 days
</content>
</entry>
<entry>
<title>Sweep kernel replacing suser(9) calls with priv(9) calls, assigning</title>
<updated>2006-11-06T13:42:10Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2006-11-06T13:42:10Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=acd3428b7d3e94cef0e1881c868cb4b131d4ff41'/>
<id>urn:sha1:acd3428b7d3e94cef0e1881c868cb4b131d4ff41</id>
<content type='text'>
specific privilege names to a broad range of privileges.  These may
require some future tweaking.

Sponsored by:           nCircle Network Security, Inc.
Obtained from:          TrustedBSD Project
Discussed on:           arch@
Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri,
                        Alex Lyashkov &lt;umka at sevcity dot net&gt;,
                        Skip Ford &lt;skip dot ford at verizon dot net&gt;,
                        Antoine Brodin &lt;antoine dot brodin at laposte dot net&gt;
</content>
</entry>
<entry>
<title>Change semantics of socket close and detach.  Add a new protocol switch</title>
<updated>2006-07-21T17:11:15Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2006-07-21T17:11:15Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=a152f8a36128ce99cc252941396d7db06ec7084e'/>
<id>urn:sha1:a152f8a36128ce99cc252941396d7db06ec7084e</id>
<content type='text'>
function, pru_close, to notify protocols that the file descriptor or
other consumer of a socket is closing the socket.  pru_abort is now a
notification of close also, and no longer detaches.  pru_detach is no
longer used to notify of close, and will be called during socket
tear-down by sofree() when all references to a socket evaporate after
an earlier call to abort or close the socket.  This means detach is now
an unconditional teardown of a socket, whereas previously sockets could
persist after detach of the protocol retained a reference.

This faciliates sharing mutexes between layers of the network stack as
the mutex is required during the checking and removal of references at
the head of sofree().  With this change, pru_detach can now assume that
the mutex will no longer be required by the socket layer after
completion, whereas before this was not necessarily true.

Reviewed by:	gnn
</content>
</entry>
<entry>
<title>Make this compile without INVARIANTS.</title>
<updated>2006-04-11T23:15:47Z</updated>
<author>
<name>Olivier Houchard</name>
<email>cognet@FreeBSD.org</email>
</author>
<published>2006-04-11T23:15:47Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=1334cfe00c5006747efec09324df412ece54d36f'/>
<id>urn:sha1:1334cfe00c5006747efec09324df412ece54d36f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Chance protocol switch method pru_detach() so that it returns void</title>
<updated>2006-04-01T15:42:02Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2006-04-01T15:42:02Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=bc725eafc7f7d0cb3d3746b71b3cad9b2bc9d499'/>
<id>urn:sha1:bc725eafc7f7d0cb3d3746b71b3cad9b2bc9d499</id>
<content type='text'>
rather than an error.  Detaches do not "fail", they other occur or
the protocol flags SS_PROTOREF to take ownership of the socket.

soclose() no longer looks at so_pcb to see if it's NULL, relying
entirely on the protocol to decide whether it's time to free the
socket or not using SS_PROTOREF.  so_pcb is now entirely owned and
managed by the protocol code.  Likewise, no longer test so_pcb in
other socket functions, such as soreceive(), which have no business
digging into protocol internals.

Protocol detach routines no longer try to free the socket on detach,
this is performed in the socket code if the protocol permits it.

In rts_detach(), no longer test for rp != NULL in detach, and
likewise in other protocols that don't permit a NULL so_pcb, reduce
the incidence of testing for it during detach.

netinet and netinet6 are not fully updated to this change, which
will be in an upcoming commit.  In their current state they may leak
memory or panic.

MFC after:	3 months
</content>
</entry>
<entry>
<title>Change protocol switch pru_abort() API so that it returns void rather</title>
<updated>2006-04-01T15:15:05Z</updated>
<author>
<name>Robert Watson</name>
<email>rwatson@FreeBSD.org</email>
</author>
<published>2006-04-01T15:15:05Z</published>
<link rel='alternate' type='text/html' href='https://cgit-dev.freebsd.org/src-test/commit/?id=ac45e92ff2195eb1addc4debd946c83ac6baa356'/>
<id>urn:sha1:ac45e92ff2195eb1addc4debd946c83ac6baa356</id>
<content type='text'>
than an int, as an error here is not meaningful.  Modify soabort() to
unconditionally free the socket on the return of pru_abort(), and
modify most protocols to no longer conditionally free the socket,
since the caller will do this.

This commit likely leaves parts of netinet and netinet6 in a situation
where they may panic or leak memory, as they have not are not fully
updated by this commit.  This will be corrected shortly in followup
commits to these components.

MFC after:      3 months
</content>
</entry>
</feed>
