Commit Graph

18 Commits

Author SHA1 Message Date
Jilles Tjoelker
c2e3c52e0d Implement SOCK_CLOEXEC, SOCK_NONBLOCK and MSG_CMSG_CLOEXEC.
This change allows creating file descriptors with close-on-exec set in some
situations. SOCK_CLOEXEC and SOCK_NONBLOCK can be OR'ed in socket() and
socketpair()'s type parameter, and MSG_CMSG_CLOEXEC to recvmsg() makes file
descriptors (SCM_RIGHTS) atomically close-on-exec.

The numerical values for SOCK_CLOEXEC and SOCK_NONBLOCK are as in NetBSD.
MSG_CMSG_CLOEXEC is the first free bit for MSG_*.

The SOCK_* flags are not passed to MAC because this may cause incorrect
failures and can be done later via fcntl() anyway. On the other hand, audit
is expected to cope with the new flags.

For MSG_CMSG_CLOEXEC, unp_externalize() is extended to take a flags
argument.

Reviewed by:	kib
2013-03-19 20:58:17 +00:00
Joel Dahl
ddc936569c Remove trailing whitespace. 2012-11-16 14:30:40 +00:00
Gleb Smirnoff
dc169f2862 o Remove meaningless PROTOCOLS section.
o Describe passing file descriptors as separate section.
  - Descriptors can be passed through any protocol of the UNIX family,
    not SOCK_STREAM and SOCK_SEQPACKET only. [1]
o Describe socket options as separate section.
  - Move LOCAL_PEERCRED option to this section.
  - Describe struct xucred.
  - In LOCAL_CREDS section mention that credentials
    are passed only on the first read on non-datagram
    sockets.
o Xref all mentioned system calls.

Noticed by:	Igor Sysoev [1]
2012-11-16 14:00:27 +00:00
Robert Watson
9fa8a03e51 Bump unix(4) man page date for SOCK_SEQPACKET.
Suggested by:	bz
MFC after:	3 months
2009-10-05 15:15:13 +00:00
Robert Watson
ebb8cecb01 SOCK_SEQPACKET is now supported on UNIX domain sockets.
Sponsored by:	Google
MFC after:	3 months
2009-10-05 15:07:44 +00:00
Maxim Konovalov
271e6026c7 o Fix typo: id_t -> uid_t.
o Use align aware CMSG_LEN() macro for cmsg_len computation.

PR:		docs/90731
Submitted by:	Andrey Simonenko
Reviewed by:	mdodd
MFC after:	1 week
2005-12-21 08:23:04 +00:00
Ruslan Ermilov
4f06896130 Assorted markup fixes and minor wordsmithing.
Approved by:	re
2005-06-15 13:31:23 +00:00
Matthew N. Dodd
6a2989fd54 Implement unix(4) socket options LOCAL_CREDS and LOCAL_CONNWAIT.
- Add unp_addsockcred() (for LOCAL_CREDS).
- Add an argument to unp_connect2() to differentiate between
  PRU_CONNECT and PRU_CONNECT2. (for LOCAL_CONNWAIT)

Obtained from:	 NetBSD (with some changes)
2005-04-13 00:01:46 +00:00
Matthew N. Dodd
5d69a26bc9 Indent structure members. 2005-04-12 23:49:57 +00:00
Matthew N. Dodd
811391b18d Document the SUN_LEN macro.
Obtained from:	 NetBSD
2005-04-12 23:24:40 +00:00
Ruslan Ermilov
fe08efe680 mdoc(7): Use the new feature of the .In macro. 2003-09-08 19:57:22 +00:00
Ruslan Ermilov
8d5d039f80 Uniformly refer to a file system as "file system".
Approved by:	re
2002-12-12 17:26:04 +00:00
Ruslan Ermilov
c17af17b5c mdoc(7) police: fixed markup, removed the extra word. 2001-08-20 08:28:18 +00:00
Dima Dorfman
0c1bb4fbf1 Implement a LOCAL_PEERCRED socket option which returns a
`struct xucred` with the credentials of the connected peer.
Obviously this only works (and makes sense) on SOCK_STREAM
sockets.  This works for both the connect(2) and listen(2)
callers.

There is precise documentation of the semantics in unix(4).

Reviewed by:	dwmalone (eyeballed)
2001-08-17 22:01:18 +00:00
Jens Schweikhardt
c1f3e4bf21 Removed whitespace at end-of-line; no content changes. I simply did
cd src/share; find man[1-9] -type f|xargs perl -pi -e 's/[ \t]+$//'

BTW, what editors are the culprits? I'm using vim and it shows
me whitespace at EOL in troff files with a thick blue block...

Reviewed by:	Silence from cvs diff -b
MFC after:	7 days
2001-07-14 19:41:16 +00:00
Peter Wemm
7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
John-Mark Gurney
892cb98e6b add missing cvs Id lines. 1997-03-07 02:50:01 +00:00
Rodney W. Grimes
afe61c1516 BSD 4.4 Lite Share Sources 1994-05-30 19:09:18 +00:00