Age | Commit message (Collapse) | Author |
|
by using size_t/ssize_t instead of int/u_int to handle I/O lengths in
uiomove(), vn_fsizechk(), and ktrgenio(). Eliminate the always-zero
'error' argument to ktrgenio() at the same time.
|
|
|
|
queue and calling soaccept(), so that the socket can't get torn down
by a TCP RST in the middle and trigger "panic: soaccept: !NOFDREF", as
seen by halex@
Analysis, original diff, and ok bluhm@
|
|
getpeername() to return the untruncated address length in *addrlen
instead of the number of bytes copied out. This matches POSIX's
requirements and allows userland applications to detect when the
returned address was truncated.
ok guenther
|
|
anticipation of further changes to closef(). No binary change.
ok krw@ miod@ deraadt@
|
|
linux bits compiled on i386 by sebastia@, mikeb@ ok
|
|
concurrency is possible in the future. discussed with guenther and
matthew. ok tedu
|
|
The song and dance for handling 16-bit af_family on big-endian
machines remains untouched.
ok claudio miod tedu guenther
|
|
struct sockaddress; mostly from freebsd. ok deraadt@ tedu@ nicm@
|
|
While here, switch compat_linux to just use sys_pipe() rather than
incorrectly wrapping sys_opipe().
ok tedu@, miod@
|
|
can go away
ok guenther
|
|
locking diff.
ok guenther@
|
|
code using socket options.
ok matthew
|
|
and make it possible to bind sockets (including listening sockets!)
to rtables and not just rdomains. This changes the name of the
system calls, socket option, and ioctl. After building with this
you should remove the files /usr/share/man/cat2/[gs]etrdomain.0.
Since this removes the existing [gs]etrdomain() system calls, the
libc major is bumped.
Written by claudio@, criticized^Wcritiqued by me
|
|
getpeereid(2), but also supplies the remote pid. This is supplied in
a 'struct sockpeercred' (unlike Linux -- they showed how little they
know about real unix by calling theirs 'struct ucred').
ok guenther ajacoutot
|
|
so put it in struct process instead of struct proc. While at it,
move the p_emul member inside struct proc so that it gets copied
automatically instead of requiring manual assignment.
ok deraadt@
|
|
catch the libc major bump per request from deraadt@
Diff by reyk.
ok guenther@
|
|
"looks right" deraadt@
|
|
just use strings and make things unique.
ok claudio@
|
|
the receiving side when passing fd's. ok deraadt@ kettenis@
|
|
that takes an additional argument "type" that indicates whether the
signal is for the process, just a particular thread, or propagated
to a thread because it's not caught or blocked. psignal() becomes
a wrapper that does the first of those.
So that sys_kill() can tell apart signals for the process and signals
for the process's original thread, the tid of the original thread
is defined as its pid + THREAD_PID_OFFSET.
ok tedu@ art@ andreas@ kurt@ "better early than late" deraadt@
|
|
get hung in nfs_reconnect() because they do not have the proper
privilages to bind to a socket, by adding a struct proc * argument
to sobind() (and the *_usrreq() routines, and finally in{6}_pcbbind)
and do the sobind() with proc0 in nfs_connect.
OK markus@, blambert@.
"go ahead" deraadt@.
Fixes an issue reported by bernd@ (Tested by bernd@).
Fixes PR5135 too.
|
|
wrong values on 64-bit machines otherwise. ok millert@, deraadt@
|
|
reported by ryo@nerv.org to netbsd, noticed by miod, ok millert
|
|
i got carried away and deleted a whole bunch of useless casts
this is C, not C++. ok md5
|
|
receives. Previously a non-blocking socket would mask this error by
returning EWOULDBLOCK and mislead applications to think accept() may
eventually succeed. Corrects a pthreads deadlock reported by Tero Koskinen
<tero.koskinen at iki.fi> okay kettenis@, theo@, markus@
|
|
|
|
|
|
unsigned.
ok millert@ deraadt@
|
|
|
|
from pedro martelletto, ok markus@
|
|
|
|
testing for quite some time by brad + otto
|
|
from Patrick Latifi <patrick.l@hermes.usherb.ca>
ok jason@ tedu@
|
|
takes a void *. convert uiomove to take a void * as well. ok deraadt@
|
|
rescinded 22 July 1999. Proofed by myself and Theo.
|
|
with not refing it.
Eyeballed by lurene@daemonkitty.net, fries@, nordin@ and fries@
Some additional cleanups by nordin@
|
|
freed it.
Noticed by enami@netbsd in a recent discussion on tech-kern@netbsd.
Thanks to miod@ for helping me understand my code and realize that
what the discussion was originally about (a diff by itojun@) didn't apply
to us because I tweaked the semantics of closef() to solve the problem
automagically for us (and I forgot about it).
miod@ ok.
|
|
I rearrange half of this function to properly handle unlocking in one
error case, then I forget to handle that error case.
I even had a regression test written for this!
In other words: fix accept(2) to unlock when it runs out of fds.
|
|
|
|
|
|
the same semantics as NetBSD anyway, so it's good to avoid name collissions.
- Always fdremove before freeing the file, not the other way around.
- falloc FREFs the file.
- have FILE_SET_MATURE FRELE the file (It feels like a good ortogonality to
falloc FREFing the file).
- Use closef as much as possible instead of ffree in error paths of
falloc:ing functions. closef is much more careful with the fd and can
deal with the fd being forcibly closed by dup2. Also try to avoid
manually calling *fo_close when closef can do that for us (this makes
some error paths mroe complicated (sys_socketpair and sys_pipe), but
others become simpler (sys_open)).
|
|
slightly modified version from the original diff by theo, based
on comments by niels@ and deraadt@; both ok'ed.
|
|
marcodsl@swbell.net
|
|
based on freebsd. okay art@ markus@
|
|
from NetBSD:
Wed Jan 7 23:47:08 1998 UTC by thorpej
Make insertion and removal of sockets from the partial and incoming
connections queues O(C) rather than O(N).
|
|
any anyone. Every caller of falloc matures the fd when it's usable.
- Since every lookup in the fd table must now check this flag and all of
them do the same thing, move all the necessary checks into a function -
fd_getfile.
|
|
idea from deraadt@ via NetBSD
millert@ ok
|
|
|
|
client credentials. mostly from superscript.com. deraadt@ ok
|