Commit Graph

61 Commits

Author SHA1 Message Date
Brooks Davis
838d985825 Rework the credential code to support larger values of NGROUPS and
NGROUPS_MAX, eliminate ABI dependencies on them, and raise the to 1024
and 1023 respectively.  (Previously they were equal, but under a close
reading of POSIX, NGROUPS_MAX was defined to be too large by 1 since it
is the number of supplemental groups, not total number of groups.)

The bulk of the change consists of converting the struct ucred member
cr_groups from a static array to a pointer.  Do the equivalent in
kinfo_proc.

Introduce new interfaces crcopysafe() and crsetgroups() for duplicating
a process credential before modifying it and for setting group lists
respectively.  Both interfaces take care for the details of allocating
groups array. crsetgroups() takes care of truncating the group list
to the current maximum (NGROUPS) if necessary.  In the future,
crsetgroups() may be responsible for insuring invariants such as sorting
the supplemental groups to allow groupmember() to be implemented as a
binary search.

Because we can not change struct xucred without breaking application
ABIs, we leave it alone and introduce a new XU_NGROUPS value which is
always 16 and is to be used or NGRPS as appropriate for things such as
NFS which need to use no more than 16 groups.  When feasible, truncate
the group list rather than generating an error.

Minor changes:
  - Reduce the number of hand rolled versions of groupmember().
  - Do not assign to both cr_gid and cr_groups[0].
  - Modify ipfw to cache ucreds instead of part of their contents since
    they are immutable once referenced by more than one entity.

Submitted by:	Isilon Systems (initial implementation)
X-MFC after:	never
PR:		bin/113398 kern/133867
2009-06-19 17:10:35 +00:00
Dag-Erling Smørgrav
c540146463 Add volatile to sig_atomic_t where it was missing.
MFC after:	1 week
2009-06-14 21:39:52 +00:00
Craig Rodrigues
8a7b7c22be Decrease to WARNS=3. 2007-01-20 23:24:11 +00:00
Craig Rodrigues
bec41fbe83 Clean up compilation warnings. Set WARNS=6 in Makefile.
PR:	71659
Submitted by:	Dan Lukes <dan obluda cz>
2007-01-20 21:35:11 +00:00
Ruslan Ermilov
9d73fabda7 Markup fixes.
Approved by:	re (blanket)
2005-06-14 12:26:36 +00:00
Philippe Charnier
20b5a7b446 Remove unused variable. 2005-05-20 12:57:01 +00:00
Juli Mallett
bf6b7d84fd Spell out shutdown(2)'s how argument in #ifdef notdef'd code. 2005-05-11 02:47:54 +00:00
Diomidis Spinellis
dea6ffd9f6 Remove wrong -unfilled .Bd argument implied by -literal.
MFC after:	1 day
2005-04-11 16:56:52 +00:00
Diomidis Spinellis
fdb4edd889 Move common credential save and restore code into a separate file.
Improve credential handling in pt_file.c
2005-03-11 08:39:58 +00:00
Diomidis Spinellis
0334071a83 Ensure the configuration file is given with an absolute file path. 2005-03-11 07:50:09 +00:00
Diomidis Spinellis
3c38c56afc Add examples for tcplisten, data scattering, and file views.
Improve formatting of existing examples.
2005-03-11 07:40:17 +00:00
Diomidis Spinellis
a00d9dc1de Add a new pipe sub-namespace.
This allows us to:
- perform scatter gather operations without using temporary files,
- create non-linear pipelines, and
- implement file views using symbolic links.

File view idea by: Vassilios Karakoidas
Portalfs pointer by: John Ioannidis
MFC after:	1 month
2005-03-10 22:10:16 +00:00
Diomidis Spinellis
c84febab1c Document new pipe sub-namespace.
Alphabetically order the description of the sub-namespaces.
Add usage examples for the net and pipe sub-namespaces.

MFC after:	1 month
2005-03-10 22:02:40 +00:00
Diomidis Spinellis
509b9bb9a6 Reference the Usenix conference paper.
The paper explains very clearly how portals work.
2005-03-08 08:49:04 +00:00
Warner Losh
486c8cc4c6 Per letter dated July 22, 1999 remove 3rd clause of Berkeley derived software
(with permission of addtional copyright holders where appropriate)
2004-08-07 04:28:56 +00:00
Ruslan Ermilov
07bfccd71e Mechanically kill hard sentence breaks. 2004-07-02 23:13:00 +00:00
Stefan Farfeleder
2e3cf2039b Include <string.h> rather than <strings.h> for string function prototypes.
Approved by:	das (mentor)
2004-05-30 08:59:10 +00:00
Stefan Farfeleder
1eff217426 The file pt_tcplisten.c lacks the $FreeBSD$ keyword. Use the opportunity to
change all files to __FBSDID.

Approved by:	das (mentor)
2004-05-30 08:54:27 +00:00
Johan Karlsson
604d24db95 style.Makefile(5):
Use WARNS?= instead of WARNS=.
2004-02-23 20:25:27 +00:00
Gordon Tetlow
81f79bdd8b Correct paths to mount sources. 2003-07-02 16:43:14 +00:00
Tom Rhodes
ce66ddb763 s/filesystem/file system/g as discussed on -developers 2002-08-21 18:11:48 +00:00
Maxime Henrion
526ba6d32b Now that the kernel is able to load modules itself,
remove all the code which was trying to do so.
This code was nasty in several ways, it was hiding
the kernel bug where the kernel was unable to properly
load a module, and it was quitting if it wasn't able
to load the module.  The consequence is that an ABI
breakage of the vfsconf API would have broken *every*
mount utility.
2002-08-03 16:03:21 +00:00
Philippe Charnier
e1205e80e5 The .Nm utility 2002-07-06 19:34:18 +00:00
Warner Losh
854299908c o __P removed
o main prototype removed
2002-03-21 13:14:21 +00:00
David E. O'Brien
2d68bf45bf Default to WARNS=2.
Binary builds that cannot handle this must explicitly set WARNS=0.

Reviewed by:	mike
2001-12-04 02:19:58 +00:00
David Malone
2bc21ed985 Hopefully improve control message passing over Unix domain sockets.
1) Allow the sending of more than one control message at a time
over a unix domain socket. This should cover the PR 29499.

2) This requires that unp_{ex,in}ternalize and unp_scan understand
mbufs with more than one control message at a time.

3) Internalize and externalize used to work on the mbuf in-place.
This made life quite complicated and the code for sizeof(int) <
sizeof(file *) could end up doing the wrong thing. The patch always
create a new mbuf/cluster now. This resulted in the change of the
prototype for the domain externalise function.

4) You can now send SCM_TIMESTAMP messages.

5) Always use CMSG_DATA(cm) to determine the start where the data
in unp_{ex,in}ternalize. It was using ((struct cmsghdr *)cm + 1)
in some places, which gives the wrong alignment on the alpha.
(NetBSD made this fix some time ago).

This results in an ABI change for discriptor passing and creds
passing on the alpha. (Probably on the IA64 and Spare ports too).

6) Fix userland programs to use CMSG_* macros too.

7) Be more careful about freeing mbufs containing (file *)s.
This is made possible by the prototype change of externalise.

PR:		29499
MFC after:	6 weeks
2001-10-04 13:11:48 +00:00
Ruslan Ermilov
c7b23e0fb4 Actually rename FDESC, PORTAL, UMAP and UNION file systems.
OK'ed by:	bp
2001-05-24 15:20:11 +00:00
Ruslan Ermilov
6ad10804f7 Rename (after a repo-copy) some mount(8) programs:
mount_fdesc -> mount_fdescfs
mount_null -> mount_nullfs
mount_portal -> mount_portalfs
mount_umap -> mount_umapfs
mount_union -> mount_unionfs
2001-05-23 14:58:19 +00:00
Ruslan Ermilov
99d300a1ec - FDESC, FIFO, NULL, PORTAL, PROC, UMAP and UNION file
systems were repo-copied from sys/miscfs to sys/fs.

- Renamed the following file systems and their modules:
  fdesc -> fdescfs, portal -> portalfs, union -> unionfs.

- Renamed corresponding kernel options:
  FDESC -> FDESCFS, PORTAL -> PORTALFS, UNION -> UNIONFS.

- Install header files for the above file systems.

- Removed bogus -I${.CURDIR}/../../sys CFLAGS from userland
  Makefiles.
2001-05-23 09:42:29 +00:00
Ruslan Ermilov
0a5779d45b - Backout botched attempt to introduce MANSECT feature.
- MAN[1-9] -> MAN.
2001-03-26 14:33:27 +00:00
Ruslan Ermilov
fe655281c5 Set the default manual section for sbin/ to 8. 2001-03-20 18:13:31 +00:00
Ruslan Ermilov
7c7fb079b9 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 16:52:27 +00:00
Sheldon Hearn
ef8f7ac935 Remove single-space hard sentence breaks. These degrade the quality
of the typeset output, tend to make diffs harder to read and provide
bad examples for new-comers to mdoc.
2000-03-01 11:27:47 +00:00
Kris Kennaway
afb5459b5d 10 X's for mktemp(). This seems to be free from race conditions. 2000-01-10 09:33:37 +00:00
Poul-Henning Kamp
73dd316734 mount* fixes from Martin Blapp <mb@imp.ch>:
Made mount more userfriendly (bad slashes are now filtered out)
        and we remove in mount_nfs trailing slashes if there are any.

        Fixed mount_xxx binarys to resolve with realpath(3)
        the mountpoint.

        Translate the deprecated nfs-syntax with '@' to ':' .
        The ':' syntax has now precedence, but '@' still works.
        Notify the user that the '@' syntax should not be used.

PR: 7846
PR: 13692
Submitted by:   Martin Blapp <mb@imp.ch>
Reviewed by:    phk
1999-10-09 11:54:14 +00:00
Peter Wemm
7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Chris Costello
9f237b0c79 Bad reference getsockname(8) -> getsockname(2) 1999-08-14 22:25:59 +00:00
Doug White
9b268fbc8f Typo police. 'Acknowledgement' is spelled correctly so it was left untouched.
PR: docs/12986
Submitted by:	Seth <seth@freebie.dp.ny.frb.org>
1999-08-06 04:19:27 +00:00
Matthew Dillon
a16800d862 Add pt_tcplisten.c functionality, fix a few minor bugs
PR:             kern/8793, misc/8796, kern/8797, kern/8798, kern/8050, kern/6758
Submitted by:	Duncan Barclay <dmlb@ragnet.demon.co.uk>
1998-12-15 18:59:07 +00:00
Matthew Dillon
25970dbc51 sendmsg() didn't like the MSG_EOR flag and returned an error. Removing the
flag makes portal tcp operation work.
1998-12-12 21:30:17 +00:00
Bruce Evans
ab84534772 Fixed printf format errors. 1998-08-02 16:06:35 +00:00
Philippe Charnier
e37a54892b Correct use of .Nm. Spelling. Add rcsid and remove unused #includes. 1998-07-06 07:19:27 +00:00
Bruce Evans
87f01287d2 Removed definition of _NEW_VFSCONF. The new vfsconf interface is now
the default.
1998-01-20 10:40:18 +00:00
Darren Reed
5905ba8289 change s_port to ntohs(s_port) for printf in DEBUG. 1998-01-11 06:03:35 +00:00
Warner Losh
8d64695c7c compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-29 03:33:12 +00:00
Warner Losh
94cf2e751d Fix small race window when creating portal socket.
Obtained from: OpenBSD
1997-03-24 05:53:12 +00:00
Peter Wemm
4a4c52857e Merge from Lite2 (use new getvfsbyname() and mount(2) interface) 1997-03-11 12:40:45 +00:00
Peter Wemm
c0ec1f37ef Revert $FreeBSD$ to $Id$ 1997-02-22 14:40:44 +00:00
Jordan K. Hubbard
1130b656e5 Make the long-awaited change from $Id$ to $FreeBSD$
This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore.  This update would have been
insane otherwise.
1997-01-14 07:20:47 +00:00
Bruce Evans
eaa86f9d7f Don't use __dead or __pure in user code. They were obfuscations
for gcc >= 2.5 and no-ops for gcc >= 2.6.  Converted to use __dead2
or __pure2 where it wasn't already done, except in math.h where use
of __pure was mostly wrong.
1996-09-14 03:00:32 +00:00