Commit Graph

95 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