Page MenuHomeFreeBSD

D47107.id145517.diff
No OneTemporary

D47107.id145517.diff

diff --git a/sbin/sysctl/sysctl.8 b/sbin/sysctl/sysctl.8
--- a/sbin/sysctl/sysctl.8
+++ b/sbin/sysctl/sysctl.8
@@ -28,7 +28,7 @@
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
.\" SUCH DAMAGE.
.\"
-.Dd August 18, 2023
+.Dd October 14, 2024
.Dt SYSCTL 8
.Os
.Sh NAME
@@ -111,6 +111,8 @@
.Nm
for collecting data from a variety of machines (not all of which
are necessarily running exactly the same software) easier.
+.It Fl J
+Display only jail prision sysctl variables (CTLFLAG_PRISON).
.It Fl l
Show the length of variables along with their values.
This option cannot be combined with the
@@ -153,6 +155,8 @@
Display only variables that are settable via loader (CTLFLAG_TUN).
.It Fl t
Print the type of the variable.
+.It Fl V
+Display only VNET sysctl variables (CTLFLAG_VNET).
.It Fl W
Display only writable variables that are not statistical.
Useful for determining the set of runtime tunable sysctls.
@@ -325,7 +329,8 @@
.Xr loader.conf 5 ,
.Xr sysctl.conf 5 ,
.Xr security 7 ,
-.Xr loader 8
+.Xr loader 8 ,
+.Xr jail 8
.Sh HISTORY
A
.Nm
diff --git a/sbin/sysctl/sysctl.c b/sbin/sysctl/sysctl.c
--- a/sbin/sysctl/sysctl.c
+++ b/sbin/sysctl/sysctl.c
@@ -63,7 +63,7 @@
static int aflag, bflag, Bflag, dflag, eflag, hflag, iflag;
static int Nflag, nflag, oflag, qflag, tflag, Tflag, Wflag, xflag;
-static bool Fflag, lflag;
+static bool Fflag, Jflag, lflag, Vflag;
static int oidfmt(int *, int, char *, u_int *);
static int parsefile(const char *);
@@ -136,7 +136,7 @@
setbuf(stdout,0);
setbuf(stderr,0);
- while ((ch = getopt(argc, argv, "AabB:def:FhilNnoqtTwWxX")) != -1) {
+ while ((ch = getopt(argc, argv, "AabB:def:FhiJlNnoqtTVwWxX")) != -1) {
switch (ch) {
case 'A':
/* compatibility */
@@ -169,6 +169,9 @@
case 'i':
iflag = 1;
break;
+ case 'J':
+ Jflag = true;
+ break;
case 'l':
lflag = true;
break;
@@ -190,6 +193,9 @@
case 'T':
Tflag = 1;
break;
+ case 'V':
+ Vflag = true;
+ break;
case 'w':
/* compatibility */
/* ignored */
@@ -1048,10 +1054,18 @@
if (Wflag && ((kind & CTLFLAG_WR) == 0 || (kind & CTLFLAG_STATS) != 0))
return (1);
+ /* if Jflag then only list sysctls that are prison variables. */
+ if (Jflag && (kind & CTLFLAG_PRISON) == 0)
+ return (1);
+
/* if Tflag then only list sysctls that are tuneables. */
if (Tflag && (kind & CTLFLAG_TUN) == 0)
return (1);
+ /* if Vflag then only list sysctls that are vnet variables. */
+ if (Vflag && (kind & CTLFLAG_VNET) == 0)
+ return (1);
+
if (Nflag) {
printf("%s", name);
return (0);

File Metadata

Mime Type
text/plain
Expires
Mon, Oct 27, 11:18 PM (1 h, 54 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24321579
Default Alt Text
D47107.id145517.diff (2 KB)

Event Timeline