summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--sbin/dump/dump.859
-rw-r--r--sbin/dump/main.c34
-rw-r--r--sbin/ping/ping.880
-rw-r--r--sbin/ping/ping.c80
-rw-r--r--sbin/tunefs/tunefs.86
-rw-r--r--sbin/tunefs/tunefs.c38
6 files changed, 158 insertions, 139 deletions
diff --git a/sbin/dump/dump.8 b/sbin/dump/dump.8
index 424e4b3..350792d 100644
--- a/sbin/dump/dump.8
+++ b/sbin/dump/dump.8
@@ -45,8 +45,8 @@
.Op Fl 0123456789ackLnSu
.Op Fl B Ar records
.Op Fl b Ar blocksize
-.Op Fl D Ar dumpdates
.Op Fl C Ar cachesize
+.Op Fl D Ar dumpdates
.Op Fl d Ar density
.Op Fl f Ar file
.Op Fl h Ar level
@@ -80,7 +80,8 @@ option below for doing remote backups).
A dump that is larger than the output medium is broken into
multiple volumes.
On most media the size is determined by writing until an
-end-of-media indication is returned. This can be enforced
+end-of-media indication is returned.
+This can be enforced
by using the
.Fl a
option.
@@ -103,7 +104,7 @@ as either its device-special file or its mount point
The following options are supported by
.Nm :
.Bl -tag -width Ds
-.It Fl 0\-9
+.It Fl 0-9
Dump levels.
A level 0, full backup,
guarantees the entire file system is copied
@@ -119,8 +120,9 @@ The default level is 0.
.It Fl a
.Dq auto-size .
Bypass all tape length considerations, and enforce writing
-until an end-of-media indication is returned. This fits best
-for most modern tape drives. Use of this option is particularly
+until an end-of-media indication is returned.
+This fits best for most modern tape drives.
+Use of this option is particularly
recommended when appending to an existing tape, or using a tape
drive with hardware compression (where you can never be sure about
the compression ratio).
@@ -132,8 +134,24 @@ This option overrides the calculation of tape size
based on length and density.
.It Fl b Ar blocksize
The number of kilobytes per output block, except that if it is
-larger than 64, the command uses 64. (See the BUGS section.)
+larger than 64, the command uses 64.
+(See the
+.Sx BUGS
+section.)
The default block size is 10.
+.It Fl C Ar cachesize
+Specify the cache size in megabytes.
+This will greatly improve performance
+at the cost of
+.Nm
+possibly not noticing changes in the file system between passes.
+It is
+recommended that you always use this option when dumping a snapshot.
+Beware that
+.Nm
+forks, and the actual memory use may be larger than the specified cache
+size.
+The recommended cache size is between 8 and 32 (megabytes).
.It Fl c
Change the defaults for use with a cartridge tape drive, with a density
of 8000 bpi, and a length of 1700 feet.
@@ -143,16 +161,6 @@ Specify an alternate path to the
file.
The default is
.Pa /etc/dumpdates .
-.It Fl C Ar cachesize
-Specify the cache size in megabytes. This will greatly improve performance
-at the cost of
-.Nm
-possibly not noticing changes in the filesystem between passes. It is
-recommended that you always use this option when dumping a snapshot.
-Beware that
-.Nm
-forks, and the actual memory use may be larger then the specified cache
-size. The recommended cache size is between 8 and 32 (megabytes).
.It Fl d Ar density
Set tape density to
.Ar density .
@@ -201,7 +209,8 @@ The default honor level is 1,
so that incremental backups omit such files
but full backups retain them.
.It Fl k
-Use Kerberos authentication to talk to remote tape servers. (Only
+Use Kerberos authentication to talk to remote tape servers.
+(Only
available if this option was enabled when
.Nm
was compiled.)
@@ -222,6 +231,9 @@ notify all operators in the group
.Dq operator
by means similar to a
.Xr wall 1 .
+.It Fl S
+Display an estimate of the backup size and the number of
+tapes required, and exit without actually performing the dump.
.It Fl s Ar feet
Attempt to calculate the amount of tape needed
at a particular density.
@@ -230,9 +242,6 @@ If this amount is exceeded,
prompts for a new tape.
It is recommended to be a bit conservative on this option.
The default tape length is 2300 feet.
-.It Fl S
-Display an estimate of the backup size and the number of
-tapes required, and exit without actually performing the dump.
.It Fl T Ar date
Use the specified date as the starting time for the dump
instead of the time determined from looking in
@@ -299,7 +308,9 @@ option is set, all other options are ignored, and
.Nm
exits immediately.
.It Fl w
-Is like W, but prints only those file systems which need to be dumped.
+Is like
+.Fl W ,
+but prints only those file systems which need to be dumped.
.El
.Pp
Directories and regular files which have their
@@ -442,7 +453,8 @@ is written.
.Pp
Currently,
.Xr physio 9
-slices all requests into chunks of 64 KB. Therefore, it is
+slices all requests into chunks of 64 KB.
+Therefore, it is
impossible to use a larger output block size, so
.Nm
will prevent this from happening.
@@ -472,7 +484,8 @@ for the operator running
The
.Nm
utility cannot do remote backups without being run as root, due to its
-security history. This will be fixed in a later version of
+security history.
+This will be fixed in a later version of
.Fx .
Presently, it works if you set it setuid (like it used to be), but this
might constitute a security risk.
diff --git a/sbin/dump/main.c b/sbin/dump/main.c
index 6784b55..b540383 100644
--- a/sbin/dump/main.c
+++ b/sbin/dump/main.c
@@ -128,9 +128,9 @@ main(int argc, char *argv[])
obsolete(&argc, &argv);
#ifdef KERBEROS
-#define optstring "0123456789aB:b:cd:f:h:kLns:ST:uWwD:C:"
+#define optstring "0123456789aB:b:C:cD:d:f:h:kLnSs:T:uWw"
#else
-#define optstring "0123456789aB:b:cd:f:h:Lns:ST:uWwD:C:"
+#define optstring "0123456789aB:b:C:cD:d:f:h:LnSs:T:uWw"
#endif
while ((ch = getopt(argc, argv, optstring)) != -1)
#undef optstring
@@ -155,10 +155,18 @@ main(int argc, char *argv[])
1L, 1000L);
break;
+ case 'C':
+ cachesize = numarg("cachesize", 0, 0) * 1024 * 1024;
+ break;
+
case 'c': /* Tape is cart. not 9-track */
cartridge = 1;
break;
+ case 'D':
+ dumpdates = optarg;
+ break;
+
case 'd': /* density, in bits per inch */
density = numarg("density", 10L, 327670L) / 10;
if (density >= 625 && !bflag)
@@ -169,14 +177,6 @@ main(int argc, char *argv[])
tape = optarg;
break;
- case 'D':
- dumpdates = optarg;
- break;
-
- case 'C':
- cachesize = numarg("cachesize", 0, 0) * 1024 * 1024;
- break;
-
case 'h':
honorlevel = numarg("honor level", 0L, 10L);
break;
@@ -195,14 +195,14 @@ main(int argc, char *argv[])
notify = 1;
break;
- case 's': /* tape size, feet */
- tsize = numarg("tape size", 1L, 0L) * 12 * 10;
- break;
-
case 'S': /* exit after estimating # of tapes */
just_estimate = 1;
break;
+ case 's': /* tape size, feet */
+ tsize = numarg("tape size", 1L, 0L) * 12 * 10;
+ break;
+
case 'T': /* time of last dump */
spcl.c_ddate = unctime(optarg);
if (spcl.c_ddate < 0) {
@@ -576,9 +576,9 @@ usage(void)
#ifdef KERBEROS
"k"
#endif
- "nSu] [-B records] [-b blocksize] [-D dumpdates]\n"
- " [-d density] [-f file] [-h level] [-s feet]\n"
- " [-T date] [-C cachesizeMB] filesystem\n"
+ "LnSu] [-B records] [-b blocksize] [-C cachesize]\n"
+ " [-D dumpdates] [-d density] [-f file] [-h level] [-s feet]\n"
+ " [-T date] filesystem\n"
" dump -W | -w\n");
exit(X_STARTUP);
}
diff --git a/sbin/ping/ping.8 b/sbin/ping/ping.8
index 5efdcdf..eae6b1e 100644
--- a/sbin/ping/ping.8
+++ b/sbin/ping/ping.8
@@ -42,24 +42,22 @@
packets to network hosts
.Sh SYNOPSIS
.Nm
-.Op Fl ADQRadfMnoqrv
+.Op Fl AaDdfMnoQqRrv
.Op Fl c Ar count
.Op Fl i Ar wait
.Op Fl l Ar preload
.Op Fl m Ar ttl
-.Op Fl p Ar pattern
.Op Fl P Ar policy
-.Op Fl s Ar packetsize
+.Op Fl p Ar pattern
.Op Fl S Ar src_addr
+.Op Fl s Ar packetsize
.Op Fl t Ar timeout
.Op Fl z Ar tos
-.Bo
.Ar host |
.Op Fl L
.Op Fl I Ar interface
.Op Fl T Ar ttl
.Ar mcast-group
-.Bc
.Sh DESCRIPTION
The
.Nm
@@ -79,7 +77,8 @@ header, followed by a
.Dq struct timeval
and then an arbitrary number of
.Dq pad
-bytes used to fill out the packet. The options are as follows:
+bytes used to fill out the packet.
+The options are as follows:
.Bl -tag -width indent
.It Fl A
Audible.
@@ -108,12 +107,12 @@ packets.
If this option is not specified,
.Nm
will operate until interrupted.
+.It Fl D
+Set the Don't Fragment bit.
.It Fl d
Set the
.Dv SO_DEBUG
option on the socket being used.
-.It Fl D
-Set the Don't Fragment bit.
.It Fl f
Flood ping.
Outputs packets as fast as they come back or one hundred times per second,
@@ -130,6 +129,9 @@ Only the super-user may use this option.
.Bf -emphasis
This can be very hard on a network and should be used with caution.
.Ef
+.It Fl I Ar interface
+Source multicast packets with the given interface address.
+This flag only applies if the ping destination is a multicast address.
.It Fl i Ar wait
Wait
.Ar wait
@@ -141,8 +143,8 @@ values less than 1 second.
This option is incompatible with the
.Fl f
option.
-.It Fl I Ar interface
-Source multicast packets with the given interface address.
+.It Fl L
+Suppress loopback of multicast packets.
This flag only applies if the ping destination is a multicast address.
.It Fl l Ar preload
If
@@ -152,24 +154,33 @@ is specified,
sends that many packets as fast as possible before falling into its normal
mode of behavior.
Only the super-user may use this option.
-.It Fl L
-Suppress loopback of multicast packets.
-This flag only applies if the ping destination is a multicast address.
+.It Fl M
+Use
+.Dv ICMP_MASKREQ
+instead of
+.Dv ICMP_ECHO .
+Print the netmask of the remote machine.
+Set the
+.Va net.inet.icmp.maskrepl
+MIB variable to enable
+.Dv ICMP_MASKREPLY .
.It Fl m Ar ttl
Set the IP Time To Live for outgoing packets.
If not specified, the kernel uses the value of the
.Va net.inet.ip.ttl
MIB variable.
-.It Fl M
-Use ICMP_MASKREQ instead of ICMP_ECHO. Print the netmask of the remote
-machine. Set the
-.Va net.inet.icmp.maskrepl
-MIB variable to enable ICMP_MASKREPLY.
.It Fl n
Numeric output only.
No attempt will be made to lookup symbolic names for host addresses.
.It Fl o
Exit successfully after receiving one reply packet.
+.It Fl P Ar policy
+.Ar policy
+specifies IPsec policy for the ping session.
+For details please refer to
+.Xr ipsec 4
+and
+.Xr ipsec_set_policy 3 .
.It Fl p Ar pattern
You may specify up to 16
.Dq pad
@@ -179,13 +190,6 @@ For example,
.Dq Li \-p ff
will cause the sent packet to be filled with all
ones.
-.It Fl P Ar policy
-.Ar policy
-specifies IPsec policy for the ping session.
-For details please refer to
-.Xr ipsec 4
-and
-.Xr ipsec_set_policy 3 .
.It Fl Q
Somewhat quiet output.
.No Don Ap t
@@ -194,8 +198,9 @@ Originally, the
.Fl v
flag was required to display such errors, but
.Fl v
-displays all ICMP error messages. On a busy machine, this output can
-be overbearing. Without the
+displays all ICMP error messages.
+On a busy machine, this output can be overbearing.
+Without the
.Fl Q
flag,
.Nm
@@ -232,6 +237,14 @@ This option can be used to ping a local host through an interface
that has no route through it
(e.g., after the interface was dropped by
.Xr routed 8 ) .
+.It Fl S Ar src_addr
+Use the following IP address as the source address in outgoing packets.
+On hosts with more than one IP address, this option can be used to
+force the source address to be something other than the IP address
+of the interface the probe packet is sent on.
+If the IP address
+is not one of this machine's interface addresses, an error is
+returned and nothing is sent.
.It Fl s Ar packetsize
Specify the number of data bytes to be sent.
The default is 56, which translates into 64
@@ -241,19 +254,12 @@ with the 8 bytes of
.Tn ICMP
header data.
Only the super-user may specify values more than default.
-.It Fl S Ar src_addr
-Use the following IP address as the source address in outgoing packets.
-On hosts with more than one IP address, this option can be used to
-force the source address to be something other than the IP address
-of the interface the probe packet is sent on. If the IP address
-is not one of this machine's interface addresses, an error is
-returned and nothing is sent.
-.It Fl t Ar timeout
-Specify a timeout, in seconds, before ping exits regardless of how
-many packets have been received.
.It Fl T Ar ttl
Set the IP Time To Live for multicasted packets.
This flag only applies if the ping destination is a multicast address.
+.It Fl t Ar timeout
+Specify a timeout, in seconds, before ping exits regardless of how
+many packets have been received.
.It Fl v
Verbose output.
.Tn ICMP
diff --git a/sbin/ping/ping.c b/sbin/ping/ping.c
index a1f2450..593ab20 100644
--- a/sbin/ping/ping.c
+++ b/sbin/ping/ping.c
@@ -250,7 +250,7 @@ main(argc, argv)
outpack = outpackhdr + sizeof(struct ip);
while ((ch = getopt(argc, argv,
- "ADI:LQRS:T:c:adfi:l:m:Mnop:qrs:t:vz:"
+ "Aac:DdfI:i:Ll:Mm:nop:QqRrS:s:T:t:vz:"
#ifdef IPSEC
#ifdef IPSEC_POLICY_IPSEC
"P:"
@@ -288,6 +288,13 @@ main(argc, argv)
options |= F_FLOOD;
setbuf(stdout, (char *)NULL);
break;
+ case 'I': /* multicast interface */
+ if (inet_aton(optarg, &ifaddr) == 0)
+ errx(EX_USAGE,
+ "invalid multicast interface: `%s'",
+ optarg);
+ options |= F_MIF;
+ break;
case 'i': /* wait between sending packets */
t = strtod(optarg, &ep) * 1000.0;
if (*ep || ep == optarg || t > (double)INT_MAX)
@@ -300,12 +307,9 @@ main(argc, argv)
err(EX_NOPERM, "-i interval too short");
}
break;
- case 'I': /* multicast interface */
- if (inet_aton(optarg, &ifaddr) == 0)
- errx(EX_USAGE,
- "invalid multicast interface: `%s'",
- optarg);
- options |= F_MIF;
+ case 'L':
+ options |= F_NOLOOP;
+ loop = 0;
break;
case 'l':
ultmp = strtoul(optarg, &ep, 0);
@@ -318,9 +322,8 @@ main(argc, argv)
}
preload = ultmp;
break;
- case 'L':
- options |= F_NOLOOP;
- loop = 0;
+ case 'M':
+ options |= F_MASK;
break;
case 'm': /* TTL */
ultmp = strtoul(optarg, &ep, 0);
@@ -329,15 +332,25 @@ main(argc, argv)
ttl = ultmp;
options |= F_TTL;
break;
- case 'M':
- options |= F_MASK;
- break;
case 'n':
options |= F_NUMERIC;
break;
case 'o':
options |= F_ONCE;
break;
+#ifdef IPSEC
+#ifdef IPSEC_POLICY_IPSEC
+ case 'P':
+ options |= F_POLICY;
+ if (!strncmp("in", optarg, 2))
+ policy_in = strdup(optarg);
+ else if (!strncmp("out", optarg, 3))
+ policy_out = strdup(optarg);
+ else
+ errx(1, "invalid security policy");
+ break;
+#endif /*IPSEC_POLICY_IPSEC*/
+#endif /*IPSEC*/
case 'p': /* fill buffer with user pattern */
options |= F_PINGFILLED;
payload = optarg;
@@ -354,6 +367,9 @@ main(argc, argv)
case 'r':
options |= F_SO_DONTROUTE;
break;
+ case 'S':
+ source = optarg;
+ break;
case 's': /* size of packet to send */
ultmp = strtoul(optarg, &ep, 0);
if (*ep || ep == optarg)
@@ -367,8 +383,13 @@ main(argc, argv)
}
datalen = ultmp;
break;
- case 'S':
- source = optarg;
+ case 'T': /* multicast TTL */
+ ultmp = strtoul(optarg, &ep, 0);
+ if (*ep || ep == optarg || ultmp > MAXTTL)
+ errx(EX_USAGE, "invalid multicast TTL: `%s'",
+ optarg);
+ mttl = ultmp;
+ options |= F_MTTL;
break;
case 't':
alarmtimeout = strtoul(optarg, &ep, 0);
@@ -380,28 +401,9 @@ main(argc, argv)
optarg, MAXALARM);
alarm((int)alarmtimeout);
break;
- case 'T': /* multicast TTL */
- ultmp = strtoul(optarg, &ep, 0);
- if (*ep || ep == optarg || ultmp > MAXTTL)
- errx(EX_USAGE, "invalid multicast TTL: `%s'",
- optarg);
- mttl = ultmp;
- options |= F_MTTL;
- break;
case 'v':
options |= F_VERBOSE;
break;
-#ifdef IPSEC
-#ifdef IPSEC_POLICY_IPSEC
- case 'P':
- options |= F_POLICY;
- if (!strncmp("in", optarg, 2))
- policy_in = strdup(optarg);
- else if (!strncmp("out", optarg, 3))
- policy_out = strdup(optarg);
- else
- errx(1, "invalid security policy");
- break;
case 'z':
options |= F_HDRINCL;
ultmp = strtoul(optarg, &ep, 0);
@@ -409,8 +411,6 @@ main(argc, argv)
errx(EX_USAGE, "invalid TOS: `%s'", optarg);
tos = ultmp;
break;
-#endif /*IPSEC_POLICY_IPSEC*/
-#endif /*IPSEC*/
default:
usage();
}
@@ -1515,14 +1515,14 @@ static void
usage()
{
(void)fprintf(stderr, "%s\n%s\n%s\n",
-"usage: ping [-ADQRadfnoqrv] [-c count] [-i wait] [-l preload] [-m ttl]",
-" [-p pattern] "
+"usage: ping [-AaDdfMnoQqRrv] [-c count] [-i wait] [-l preload] [-m ttl]",
+" "
#ifdef IPSEC
#ifdef IPSEC_POLICY_IPSEC
"[-P policy] "
#endif
#endif
-"[-s packetsize] [-S src_addr] [-t timeout]",
-" [-z tos ] [host | [-L] [-I iface] [-T ttl] mcast-group]");
+"[-p pattern] [-S src_addr] [-s packetsize] [-t timeout]",
+" [-z tos ] host | [-L] [-I iface] [-T ttl] mcast-group");
exit(EX_USAGE);
}
diff --git a/sbin/tunefs/tunefs.8 b/sbin/tunefs/tunefs.8
index 1a4ab8c..d8a1207 100644
--- a/sbin/tunefs/tunefs.8
+++ b/sbin/tunefs/tunefs.8
@@ -41,10 +41,10 @@
.Sh SYNOPSIS
.Nm
.Op Fl A
-.Op Fl L Ar volname
.Op Fl a Cm enable | disable
.Op Fl e Ar maxbpg
.Op Fl f Ar avgfilesize
+.Op Fl L Ar volname
.Op Fl l Cm enable | disable
.Op Fl m Ar minfree
.Op Fl n Cm enable | disable
@@ -72,8 +72,6 @@ Specifying
this option will cause all backups to be modified as well as the
primary super-block.
This is potentially dangerous - use with caution.
-.It Fl L Ar volname
-Add/modify an optional file system volume label.
.It Fl a Cm enable | disable
Turn on/off the administrative ACL enable flag.
.It Fl e Ar maxbpg
@@ -93,6 +91,8 @@ For file systems with exclusively large files,
this parameter should be set higher.
.It Fl f Ar avgfilesize
Specify the expected average file size.
+.It Fl L Ar volname
+Add/modify an optional file system volume label.
.It Fl l Cm enable | disable
Turn on/off MAC multilabel flag.
.It Fl m Ar minfree
diff --git a/sbin/tunefs/tunefs.c b/sbin/tunefs/tunefs.c
index a861248..418fcae 100644
--- a/sbin/tunefs/tunefs.c
+++ b/sbin/tunefs/tunefs.c
@@ -96,28 +96,12 @@ main(int argc, char *argv[])
if (argc < 3)
usage();
found_arg = 0; /* at least one arg is required */
- while ((ch = getopt(argc, argv, "AL:a:e:f:l:m:n:o:ps:")) != -1)
+ while ((ch = getopt(argc, argv, "Aa:e:f:L:l:m:n:o:ps:")) != -1)
switch (ch) {
case 'A':
found_arg = 1;
Aflag++;
break;
- case 'L':
- found_arg = 1;
- name = "volume label";
- Lvalue = optarg;
- i = -1;
- while (isalnum(Lvalue[++i]));
- if (Lvalue[i] != '\0') {
- errx(10, "bad %s. Valid characters are alphanumerics.",
- name);
- }
- if (strlen(Lvalue) >= MAXVOLLEN) {
- errx(10, "bad %s. Length is longer than %d.",
- name, MAXVOLLEN - 1);
- }
- Lflag = 1;
- break;
case 'a':
found_arg = 1;
name = "ACLs";
@@ -144,6 +128,22 @@ main(int argc, char *argv[])
errx(10, "%s must be >= 1 (was %s)", name, optarg);
fflag = 1;
break;
+ case 'L':
+ found_arg = 1;
+ name = "volume label";
+ Lvalue = optarg;
+ i = -1;
+ while (isalnum(Lvalue[++i]));
+ if (Lvalue[i] != '\0') {
+ errx(10, "bad %s. Valid characters are alphanumerics.",
+ name);
+ }
+ if (strlen(Lvalue) >= MAXVOLLEN) {
+ errx(10, "bad %s. Length is longer than %d.",
+ name, MAXVOLLEN - 1);
+ }
+ Lflag = 1;
+ break;
case 'l':
found_arg = 1;
name = "multilabel MAC file system";
@@ -376,8 +376,8 @@ void
usage(void)
{
fprintf(stderr, "%s\n%s\n%s\n%s\n",
-"usage: tunefs [-A] [-L volname] [-a enable | disable] [-e maxbpg]",
-" [-f avgfilesize] [-l enable | disable] [-m minfree]",
+"usage: tunefs [-A] [-a enable | disable] [-e maxbpg] [-f avgfilesize]",
+" [-L volname] [-l enable | disable] [-m minfree]",
" [-n enable | disable] [-o space | time] [-p]",
" [-s avgfpdir] special | filesystem");
exit(2);
OpenPOWER on IntegriCloud