Commit Graph

195 Commits

Author SHA1 Message Date
Robert Watson
a78d3eaffc Tighten up the string->integer conversion in sysctl(8):
(1) Reject zero-length strings for CTLTYPE_INT, _UINT, _LONG,
    _ULONG.  Do not silently convert to 0.

(2) When converting CTLTYPE_INT, _UINT, _LONG, and _ULONG, check the
    end pointer generated by strtol() and strtoul() rather than
    discarding it.  Reject the string if either none of the string
    was useful for conversion to an integer, or if there was
    trailing garbage.

I.e., we will not allow you to set a numeric sysctl to a value unless
we can completely convert the string argument to a numeric value.
I tripped over this when I put the following in /etc/sysctl.conf:

   kern.maxfiles="4000"

Ouch.
2003-06-15 06:26:08 +00:00
Philippe Charnier
4f898f942d .Nm -> .Xr 2003-06-08 12:57:39 +00:00
Christian Brueffer
ab5e6ef004 Clarify setting sysctl variables via loader(8) tunables
* s/can not/cannot/

Submitted by:	ru (*)
Approved by:	re (rwatson)
2003-05-18 00:27:02 +00:00
Christian Brueffer
433087977a Add information about setting sysctl variables via loader(8) and
loader.conf(5)

PR:		38426 (slightly modified)
Submitted by:	Phil Pennock <pdp@nl.demon.net>
Approved by:	re (bmah)
MFC after:	3 days
2003-05-17 01:01:03 +00:00
Tim J. Robbins
7a22a933fa This file does not seem to serve any purpose. It has never been hooked up
to the build, and performs a subset of the functionality that the getconf(1)
utility performs.
2003-04-28 00:38:48 +00:00
Poul-Henning Kamp
5b03e4b6a1 Output machdep.guessed_bootdev as an integer rather than try to format
it according to ancient and obsolete rules.

This removes one more user of <sys/diskslice.h>
2003-04-03 21:41:14 +00:00
Peter Wemm
661b2c1683 Fix what I think is an off-by-one in certain worst-case scenarios
caused by rev 1.45.  (eg: the estimate being exactly half of the result.)
2003-01-22 00:34:22 +00:00
Matthew Dillon
654e22e7bb Cleanup the formatting from the last commit, convert everything to
a more human-readable 'kilobytes' instead of pages.
2003-01-11 20:03:43 +00:00
Matthew Dillon
f7550ecf3f Make 'sysctl vm.vmtotal' work properly using updated patch from Hiten.
(the patch in the PR was stale).

PR:             kern/5689
Submitted by:   Hiten Pandya <hiten@unixdaemons.com>
2003-01-11 07:29:47 +00:00
Peter Wemm
9866352ec7 Fix a "bug" in sysctl(8). Limit the length when we print a string from
the kernel rather than ignoring the length and keeping on going till we
finally hit a \0 character in the buffer.
2002-11-12 21:18:21 +00:00
Philippe Charnier
7fed38d0a0 Replace various spelling with FALLTHROUGH which is lint()able 2002-08-25 13:10:45 +00:00
Philippe Charnier
629e80effb The .Nm utility. 2002-07-06 19:35:14 +00:00
Alfred Perlstein
996076bbc7 Don't err(3) (and exit prematurely) when a sysctl's object size has
changed, instead just warn(3)
2002-05-24 08:34:18 +00:00
Andrey A. Chernov
76d3dc5297 Don't forget to null-terminate string we got from sysctl (f.e. in 'A' format).
Stack garbadge may be printed otherwise.
2002-05-08 23:49:19 +00:00
Poul-Henning Kamp
b35c8f287d Take the "tickadj" element out of struct clockinfo. Our adjtime(2)
implementation is being changed and the very concept of tickadj will
no longer be meaningful.
2002-04-15 12:11:06 +00:00
Warner Losh
d476a036e2 o remove __P
o remove main prototype
2002-03-21 13:20:49 +00:00
Ruslan Ermilov
d1f8bca053 mdoc(7) police: tiny fixes. 2002-03-15 15:07:39 +00:00
Luigi Rizzo
617cc038bc Document the existence of machdep.guessed_bootdev, as suggested
by Sheldon.
For a detailed description look at the commit log for sysctl.c
rev.1.42 -- i do not think it is appropriate to put the full
description in this manpage, and the "boot" and "loader" manpages
where this description might go are also missing a description of
a number of similar variables, so i think this it is ok to limit
documentation to this now, and update it later when I (or someone
else) have a chance to revise "boot" and "loader".
2002-03-12 13:55:19 +00:00
Luigi Rizzo
bca9bbeae7 Make the handling of machdep.guessed_bootdev compiled on i386 only. 2002-03-11 06:50:28 +00:00
Luigi Rizzo
60cf2c1254 Export a (machine dependent) kernel variable bootdev as
machdep.guessed_bootdev, and add code to sysctl to parse its value
and give a (not necessarily correct) name to the device we booted
from (the main motivation for this code is to use the info in the
PicoBSD boot scripts, and the impact on the kernel is minimal).

NOTE: the information available in bootdev is not always reliable,
so you should not trust it too much.  The parsing code is the same
as in boot2.c, and cannot cover all cases -- as it is, it seems to
work fine with floppies and IDE disks recognised by the BIOS. It
_should_ work as well with SCSI disks recognised by the BIOS.
Booting from a CDROM in floppy emulation will return /dev/fd0 (because
this is what the BIOS tells us).
Booting off the network (e.g. with etherboot) leaves bootdev unset so
the value will be printed as "invalid (0xffffffff)".

Finally, this feature might go away at some point, hopefully when we
have a more reliable way to get the same information.

MFC-after: 5 days
2002-03-10 20:08:44 +00:00
Dima Dorfman
42277d473c Document `sysctl variable=/dev/foo' syntax.
PR:		34184
Submitted by:	Thomas Quinot <thomas@cuivre.fr.eu.org>
2002-03-10 09:53:39 +00:00
Bruce Evans
ce68584226 #include <sys/time.h> instead of depending on namespace pollution in
<sys/stat.h> for its prerequisite <sys/time.h>.

#include <sys/param.h> in the correct place instead of bogusly including
<sys/types.h>.
2002-02-25 03:36:06 +00:00
Andrew R. Reiter
d0615c64a5 - Attempt to help declutter kern. sysctl by moving security out from
beneath it.

Reviewed by: rwatson
2002-01-16 06:55:30 +00:00
Poul-Henning Kamp
d58f005463 Allow setting of variables of type dev_t by indicating the name of
a special file on the command line, eg:
  sysctl kern.dumpdev=/dev/ad1s1b

In parse(), when a value is given for a CTLTYPE_QUAD variable,
newval and newsize erroneously fail to be set because of an early
"break".

show_var() contains code that duplicates the functionality of the
oidfmt() function.

PR:		33151, 33150
Submitted by:	Thomas Quinot <thomas@cuivre.fr.eu.org>
2001-12-30 10:33:34 +00:00
Luigi Rizzo
6105f81565 Add code to export and print the description associated to sysctl
variables. Use the -d flag in sysctl(8) to see this information.

Possible extensions to sysctl:
 + report variables that do not have a description
 + given a name, report the oid it maps to.

Note to developers: have a look at your code, there are a number of
	variables which do not have a description.

Note to developers: do we want this in 4.5 ? It is a very small change
	and very useful for documentation purposes.

Suggested by: Orion Hodson
2001-12-16 02:55:41 +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
Robert Watson
1bd0b24685 o Update sysctl.8 to reflect renaming of various security-related
sysctls, and to introduce new ones.

Obtained from:	TrustedBSD Project
Sponsored by:	DARPA, NAI Labs
2001-11-30 21:55:22 +00:00
Anton Berezin
28dc1d2377 Replace =' with more correct `.Ql =''.
Mdoc-policed by:	ru
2001-10-31 15:57:55 +00:00
Anton Berezin
d0b8aabb19 Implement -e option. It modifies the output produced by sysctl(8) in
such a way that the name and the value of the variable(s) are separated
with `=' instead of the usual `: '.  This is useful for producing output
that can be fed back to the sysctl utility (pasted to sysctl.conf, for
example).

Reviewed by:	rwatson
Approved by:	markm
MFC after:	2 weeks
2001-10-30 20:15:32 +00:00
Yaroslav Tykhiy
2a6bc06445 Document the deprecated `-w' option in the COMPATIBILITY section. 2001-08-02 12:38:23 +00:00
Yaroslav Tykhiy
7e7cdfa09d Since the ``-w'' sysctl(8) option has been deprecated,
don't mention it in the manpages.
2001-07-30 14:18:14 +00:00
Ruslan Ermilov
e8b02a428d mdoc(7) police: -xwidth has been fold into -width. 2001-07-13 09:09:52 +00:00
Ruslan Ermilov
def778b8fe mdoc(7) police: fixed formatting. 2001-07-05 11:22:50 +00:00
Jim Pirzyk
1ce1a53dc3 modfied sysctl command to allow setting values > 2GB if the mib supports it.
PR:		kern/21132
Reviewed by:	no objections to by -arch
MFC after:	1 month
2001-06-18 21:06:24 +00:00
Dima Dorfman
31fb466194 Normalize the use of sizeof according to style(9).
Reviewed by:	md5(1)
2001-06-09 03:56:16 +00:00
Dima Dorfman
369a22fab1 Remove xref to blackhole(4). sysctl has nothing to do with
blackhole(4), except that blackhole(4) uses sysctl's.  This xref
obviously isn't appropriate unless we want to xref all the other man
pages which mention sysctls, which we obviously don't (we may want to
list those sysctls, but that's another story).

PR:		27937
Submitted by:	yar
2001-06-08 03:12:32 +00:00
Dima Dorfman
ce35978374 Remove unused variable (descr) in show_var().
PR:		22582
Submitted by:	Giorgos Keramidas <charon@gray.westgate.gr>
2001-06-01 02:58:09 +00:00
Dima Dorfman
c4da2cc9b3 Update the document date after DES's updates, move the description of
the -b option below -a to maintain alphabetical order, and add a
missing ".It" before "Fl o".
2001-05-29 00:17:17 +00:00
Dag-Erling Smørgrav
a89ab9bbe4 Perform random drive-by style cleanups, and rewrite a while loop that
offended my artistic sensibilities.
2001-05-28 12:35:40 +00:00
Dag-Erling Smørgrav
9a2402bc41 Try to make sysctl options slightly more orthogonal:
- introduce a -o option that displays opaque variables.
 - introduce a -x option that displays opaque variables in full.
 - deprecate -A in favor of -ao and -X in favor of -ax.
 - remove -A and -X from usage() and SYNOPSIS (but not from DESCRIPTION).
 - ignore -a if one or more variables were listed on the command line.
 - deprecate -w, it is not needed to determine the user's intentions.
 - some language and style cleanup in the man page.

This commit should not break any existing scripts.

MFC after:	4 weeks
2001-05-28 12:15:45 +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
d0353b836e mdoc(7) police: split punctuation characters + misc fixes. 2001-02-01 16:38:02 +00:00
Dag-Erling Smørgrav
0ef56fd857 Document the -N option in the usage message and the man page. 2001-01-14 19:08:58 +00:00
Dag-Erling Smørgrav
ca5fac557f Add a -N option that makes sysctl(8) print out just the variable names.
Zsh users can add the following to their .zshrc for sysctl completion:

function listsysctls {
    case $1 in
    *.*) set -A reply $(sysctl -AN ${1%.*}) ;;
    *) set -A reply $(sysctl -AN) ;;
    esac
}
compctl -K listsysctls sysctl

While I'm here, brucify the getopt() switch.
2001-01-14 16:40:06 +00:00
Ruslan Ermilov
d8aa002e9c Prepare for mdoc(7)NG. 2000-12-19 15:36:48 +00:00
Alexey Zelkin
97a00e767a Add missing coma in SEE ALSO section
Reported by: Rich Morin <rdm@cfcl.com>
2000-12-14 16:24:38 +00:00
Ruslan Ermilov
7c7fb079b9 mdoc(7) police: use the new features of the Nm macro. 2000-11-20 16:52:27 +00:00
Andrew Gallatin
3c884b5097 Give correct results for SYSCTL_LONG arrays when sizeof(int) != sizeof(long)
This fixes unaligned access on alpha for, eg, sysctl kern.ipc.mbtypes.
2000-10-23 21:04:18 +00:00
David E. O'Brien
2cd4f9e14b Add reference to sysctl.conf. 2000-07-27 22:57:46 +00:00
Sheldon Hearn
733144d91d Describe the syncer(4)-related sysctls kern.filedelay, kern.dirdelay
and kern.metadelay, thanks to mckusick's feedback.
2000-07-26 08:51:58 +00:00
Poul-Henning Kamp
aa02fb5729 Array of long support.
Submitted by:	Ian Dowse <iedowse@maths.tcd.ie>
2000-07-11 21:59:54 +00:00
John Baldwin
9701cd40b4 Support for unsigned integer and long sysctl variables. Update the
SYSCTL_LONG macro to be consistent with other integer sysctl variables
and require an initial value instead of assuming 0.  Update several
sysctl variables to use the unsigned types.

PR:		15251
Submitted by:	Kelly Yancey <kbyanc@posi.net>
2000-07-05 07:46:41 +00:00
Poul-Henning Kamp
6ed3a29777 Handle minors like ls(1) does it.
PR:		19179
Submitted by:	Kelly Yancey <kbyanc@posi.net>
2000-06-10 19:55:39 +00:00
Robert Watson
69a451890e o Mention kern.suser_permitted
Obtained from:	TrustedBSD Project
2000-06-05 14:56:01 +00:00
Steve Price
b91e5f675c Use 'following' instead of 'follow' in a couple of places for a slightly
better read.
2000-02-26 16:55:21 +00:00
Dag-Erling Smørgrav
2d730c265e Belatedly back out rev. 1.20. 1999-11-22 08:38:29 +00:00
Greg Lehey
26909c8019 Allow octal or hex input.
Suggested-by:	Geoff Steckel <gwes@sitaranetworks.com>
1999-11-17 23:42:09 +00:00
Peter Wemm
7f3dea244c $Id$ -> $FreeBSD$ 1999-08-28 00:22:10 +00:00
Geoff Rehmet
5a00da3716 Add reference to blackhole(4) 1999-08-17 14:28:07 +00:00
Bill Fumerola
c1160fe492 Avoid ambigious if/else 1999-07-21 02:49:42 +00:00
David E. O'Brien
ce68c9929a Move sysctl/ to src/sbin/ where it now belongs.
Repository copied by:	Peter
1999-05-10 10:17:22 +00:00
Dag-Erling Smørgrav
81e7454a25 Clean up option handling a little.
Add an option for showing sysctl descriptions instead of their values.
1999-01-10 02:10:08 +00:00
Poul-Henning Kamp
2b4c0a3bc6 Allow for printing out integer arrays. 1998-11-08 19:27:43 +00:00
Joseph Koshy
1c4d62951a `kern.maxproc' is not changeable using sysctl(1). Change examples
that show `kern.maxproc' being written.

PR:		docs/7978
Submitted by:	jlemon@americantv.com
1998-09-29 02:01:06 +00:00
Doug Rabson
dbf9b92f80 Change length arguments to sysctl to size_t. 1998-08-25 07:38:19 +00:00
Joerg Wunsch
62052b46f7 Document the kern.logsigexit sysctl variable (sort of).
Reminded by:	bde
1998-07-29 08:30:37 +00:00
Joerg Wunsch
aa81f3a9d8 Document sef's recent changes in the corefile naming.
Reviewed by:	sef (well, i believe his `Looks good' was a review result :)
1998-07-21 18:16:16 +00:00
Bruce Evans
c2deb6082e Don't assume that time_t is long. 1998-06-29 17:54:29 +00:00
Bruce Evans
5ce43a5e9b Install sysctl in /sbin. It is used in some cases in network_pass1(),
before /usr is mounted if /usr has type nfs.
1997-12-18 15:34:08 +00:00
John Polstra
14b94d0464 Add missing argument detected by "-Wformat". 1997-11-18 03:37:45 +00:00
Philippe Charnier
d9b1bc7779 Use err(3). Change err(-1,... to err(1,... 1997-10-20 12:53:54 +00:00
KATO Takenori
d1d9bf7e77 Added hw.machine_arch. 1997-08-30 02:28:00 +00:00
John Hay
0fad62aead Display tickadj in struct clockinfo. 1997-06-24 18:23:32 +00:00
Warner Losh
6c3f552a31 compare return value from getopt against -1 rather than EOF, per the final
posix standard on the topic.
1997-03-31 05:11:47 +00:00
Peter Wemm
476602a9d0 Revert $FreeBSD$ to $Id$ 1997-02-22 16:15:28 +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
750f8dc963 Removed references to pathconf-related variables that were never handled
by sysctl and never can be in their documented form (kern.name_max would
have to become fs.filesystemname.name_max, etc.).

Added missing references to user.stream_max and user.tzname_max.  These
seem to misnamed.  <sys/sysconf.h> says that they correspond to POSIX2
names, but the sysconf names don't have POSIX2 or "posix2" like all the
other POSIX2 names.
1996-09-28 14:43:03 +00:00
Mike Pritchard
85cf659a76 Use the .Fx macro where appropriate. 1996-08-23 00:57:08 +00:00
Sujal Patel
019d933039 Fix a core dump when the user gives "-w" without an "=" 1996-04-10 00:53:22 +00:00
Mike Pritchard
4a8d02835c Fix a bunch of spelling errors in a bunch of man pages. 1996-01-30 13:52:50 +00:00
Poul-Henning Kamp
1d86b91c32 The rewamped sysctl program that will find all the variables itself.
Also a couple of handy new options.
1995-12-21 12:39:25 +00:00
Poul-Henning Kamp
07f16e5324 Make sysctl compile again by removing all the debug stuff. 1995-11-17 16:28:42 +00:00
Rodney W. Grimes
d3628763db Merge RELENG_2_0_5 into HEAD 1995-06-11 19:33:05 +00:00
Rodney W. Grimes
709e8f9ae1 Remove trailing whitespace. 1995-05-30 03:57:47 +00:00
Garrett Wollman
55678a2eb9 Learn how to print out kern.dumpdev as a name. 1995-05-12 19:10:56 +00:00
Guido van Rooij
e6373c9ec0 Implement maxprocperuid and maxfilesperproc. They are tunable
via sysctl(8). The initial value of maxprocperuid is maxproc-1,
that of maxfilesperproc is maxfiles (untill maxfile will disappear)

Now it is at least possible to prohibit one user opening maxfiles

-Guido

Submitted by:
Obtained from:
1995-02-20 19:42:42 +00:00
Garrett Wollman
9426bb7c1d Allow the user access to net.inet.igmp, even though there's nothing
sysctl(8) can interpret there.  (Someday there might be.)
1995-02-16 00:28:42 +00:00
Garrett Wollman
35c13fa033 Implement TCP MIB variables. 1995-02-09 23:16:17 +00:00
Andrey A. Chernov
27e3c1f843 Remove machdep.color_display 1994-10-18 03:41:16 +00:00
Andrey A. Chernov
5a66307202 Document new machdep variables, pointed by Rod 1994-10-17 18:55:21 +00:00
Garrett Wollman
8e3847b2b9 Document more MIB variables. 1994-09-23 19:04:02 +00:00
Garrett Wollman
ebe06549fd Suppress irritating extra newline after kern.boottime. 1994-08-08 15:37:35 +00:00
Garrett Wollman
84e59eb50d Get rid of update. Make man page installation work with our scheme
(and rename a few in the process).
1994-08-05 16:31:05 +00:00
Rodney W. Grimes
dea673e932 BSD 4.4 Lite usr.sbin Sources 1994-05-26 05:23:31 +00:00