Commit Graph

4912 Commits

Author SHA1 Message Date
wiz e5c2f4953e Drop an unnecessary .Pp, fix a typo, use standard headers, sort sections,
mark up author name.
2001-11-25 23:30:46 +00:00
lukem ae62d656a9 - Use strsuftoull() from dd(1) to parse numbers, rather than home grown
version. The new version supports products, 'g' (GB) and 't' (TB)
  suffices, and `b' now means `blocks' instead of `bytes'.
  Functionality requested by perry.
- debug is now a u_int instead of an int.
- Ensure that various numbers have sane upper limits (e.g, 99 for %, etc)
2001-11-25 11:22:09 +00:00
christos 607b156b2d Use SA_NOCLDWAIT to avoid zombies. 2001-11-23 17:10:29 +00:00
tron 59d12b63b8 Add a handler for SIGCHLD which collects dead childs via wait3(2) so that
"rpc.statd" won't leave zombies arround.
2001-11-22 12:23:15 +00:00
gmcgarry 8c620e9ea0 Refer to ``moused'' consistently. 2001-11-22 04:10:07 +00:00
lukem b7eb0e9a18 reference the ufs/[uf]fs headers in ../../sys rather than using those
in /usr/include. this should make it easier to make this a host tool
2001-11-22 02:47:25 +00:00
enami bbd072ffbb s/^\.Are/.Ar/ 2001-11-21 22:29:20 +00:00
gmcgarry ec3da3741b Fix RCSID. 2001-11-21 21:05:41 +00:00
wiz 1fd7eeefcd "than" instead of "then". 2001-11-21 19:14:19 +00:00
wiz 55e6492076 Explicitly write explicitly without a second e. 2001-11-21 17:33:26 +00:00
itojun f8e9dbe7d3 assume the presense of getifaddrs(3). sync with kame 2001-11-21 06:53:13 +00:00
itojun d1fee0dd15 deal with wait3() returning -1. be careful on malloc failures. sync with kame 2001-11-21 06:52:35 +00:00
martin b44ac684a5 Add $NetBSD$, remove unneeded includes. 2001-11-19 10:20:34 +00:00
wiz ea7f2f8913 Add RCS Id. Add Xr in some places. Whitespace fixes, drop a .Pp.
Sort sections. Fix some typos. Sort option descriptions. Mark up paths with
.Pa. Use standard headers.
2001-11-19 10:10:45 +00:00
martin 17b08840ab Enable ifwatchd. 2001-11-19 09:45:46 +00:00
martin c8b09ee080 New utility: ifwatchd.
Monitors the routing socket for address changes of autonomous (kernel only)
interfaces (like PPPoE) and runs up/down scripts similar to what pppd
does for its interfaces.
2001-11-19 09:43:03 +00:00
perry fcd452088f Remove a spurious slash and clean up formatting. 2001-11-19 04:11:18 +00:00
itojun 3e54083fa3 __ss_{len,family} hack is no longer necessary 2001-11-19 03:19:10 +00:00
itojun f559c09989 __ss_{len,family} #define hack is no longer necessary 2001-11-19 03:18:28 +00:00
augustss 2e3aacf23d Adapt to small ioctl(USB_DEVICEINFO) change. 2001-11-17 01:52:56 +00:00
itojun b0de371030 rcsid cleanup 2001-11-16 07:10:09 +00:00
itojun c12361e68c sync with latest kame. terminate only if ripng response is not received
for 5 seconds (or length specified by -w).
2001-11-16 07:09:36 +00:00
itojun 074a5eb23b remove LBL_ALIGN. the code leaks memory severely, and makes packet dump
incorrect.
2001-11-15 07:39:25 +00:00
enami 6737e7d6b2 Test absense of command differently to avoid null pointer deference
when only whitespaces are given.
2001-11-14 03:01:15 +00:00
itojun d67d6cd1bb initialize sockaddr_in6 correctly. sync with kame 2001-11-14 01:56:29 +00:00
itojun a6b4b2d5a5 use strncpy instead of strcpy, just in case. sync with kame 2001-11-14 01:55:38 +00:00
jmc adf8bd3435 Ugg...Turn LIST_FOREACH into a while loop around LIST_NEXT...
The *_FOREACH macros got added post 1.5 and were pulled up into 1.5.2. This
makes it impossible to compile mtree local on a 1.5-release box as a cross
toolchain bit for bootstrapping to -current. (and why I never saw this problem
on my 1.5.2 machine)

This whole thing is solved via a compat lib for the tools for all netbsd bits
and/or trimming down a version of mtree to just the bits needed for building
the snapshots.
2001-11-11 05:07:20 +00:00
lukem 7c6d79f87c provide the ability to remove support for generating or checking various
digests by #define-ing NO_MD5, NO_RMD160, or NO_SHA1.  the keywords are
still parsed.
2001-11-10 14:58:20 +00:00
lukem 9a07d795e3 need <stdio.h> and <time.h> for mtree.h 2001-11-10 07:13:07 +00:00
lukem 17d6712ceb replace <sys/time.h> with <time.h> (for consistency) 2001-11-10 07:11:14 +00:00
lukem 911a933fe1 with local crc.c, don't need usr.bin/cksum in .PATH any more 2001-11-10 07:10:11 +00:00
mycroft 23b6355049 Add a separate version of the CRC routine that listens to sflag. 2001-11-10 05:10:22 +00:00
lukem bae654cfa1 When used without -F, search for `special' in fstab and use the raw version
of the fs_spec. In any case, use opendisk(3) to open the device.

When used with -F just open `special' as-is.
2001-11-09 12:01:13 +00:00
lukem 704b08b696 Generally don't need the extra byte in MAXPATHLEN sized buffers, because
pathnames are guaranteed by POSIX to be MAXPATHLEN-1 bytes long.
Kindly pointed out by Warner Losh in private email.
2001-11-09 06:55:56 +00:00
christos 22002034fe Now that vnconfig uses opendisk(3) update it's usage encouraging use
of "vnd0" instead of "/dev/rvnd0{c,d}". Noted by tron.
2001-11-08 15:41:55 +00:00
simonb c71f9f2709 Include <limits.h> to get LLONG_{MIN,MAX}. 2001-11-08 12:24:12 +00:00
itojun e6ccd47666 use strncpy() to set ifname arg to ioctl. 2001-11-08 09:45:34 +00:00
tron 4c61cd90ba Don't abuse opendisk(3) to open PCI bus devices which are no disks. This
fixes PR bin/14468 by Valeriy E. Ushakov.
2001-11-08 08:05:05 +00:00
tron 316d7126f6 Try to open the file before configuring a vnode disk device to avoid silly
error messages when the file cannot be opened for some reason. This fixes
PR bin/12445 by <knotwell@ix.netcom.com>.
2001-11-08 07:44:32 +00:00
lukem 68b8babd26 sync with ufs/ufs/ufs_bmap.c rev 1.14:
- assert that ufs_getlbns() is only called for blocks which involve indirects
- use a shift instead of a multiply in one place
2001-11-08 06:10:13 +00:00
christos 271dd3ace8 Revert previous change that accepts non-raw devices as argument. The
distrib Makefiles have been adjusted appropriately. This change made
block devices and char devices look the same to the naive user, and
it is not appropriate.
2001-11-08 02:14:09 +00:00
tron 73ec93c7eb Invoke "opendisk" with "iscooked = 1" because existing makefiles and the
manual page used the block device.
2001-11-07 16:18:03 +00:00
lukem e8b2f3326f User interface changes from (or inspired by) FreeBSD:
- Add -L to walk the tree `logically', by following symbolic links in
  the heirarchy.
- Add -P to walk the tree `physically'. This is the current behaviour,
  and the default.
- Add "-X excludes-file" to give mtree the ability to exclude files and
  directories from its traversal.  excludes-file contains fnmatch(3)
  patterns to exclude from the walk.
- Add "md5digest" synonym for "md5".
- Add "rmd160" keyword for RMD-160 message digest, and "rmd160digest" synonym.
- Add "sha1" keyword for SHA-1 message digest, and "sha1digest" synonym.
- Don't try to compare() other attributes if the type doesn't match;
  it's nothing but trouble, and no use anyway.
- In -c, only emit "/set" records if something has changed since the
  previous one.

User interface changes by me:
- Check a device's parameters before checking uid/gid/mode.
- If updating (-u), modify the following to match the specification:
	- Device type (retaining existing ownership).
	- Symlink target.

Fixes from (or inspired by) FreeBSD:
- Use p->ftslevel instead of own code to keep track of the level ourself.
  The previous code got majorly confused if fts(3) couldn't descend
  into a subdir, resulting in leaf nodes getting attached to the wrong
  directory.
  XXX: This new method is much much more robust, even though it's not 100%
  perfect; it might result in a couple of following entries in the spec
  to be incorrectly tagged as missing.
- Pass a useful pathname to rlink(), so that logical (-L) traversal
  doesn't confuse symlink checking.
- Consistently use MAXPATHLEN+1 sized buffers for pathnames, so that
  there's room for the NUL.
- Use mtree_err() and strerror(p->fts_errno) to report errors during
  the fts(3) walk.

Fixes by me:
- Remove now-unused `const char *name' argument from compare().
- Change crc_total from an int to a u_int32_t, to match usr.bin/cksum/crc.c.
- Remove trailing whitespace.
- Remove unnecessary (void) casts on functions.
- Reorder entries in the getopt() switch.
- Replace strtoq() with strtoll(), and use strtoul() appropriately.
- Renumber F_ flags to be in alphabetical order.
2001-11-07 08:01:51 +00:00
lukem 272e588400 - KNF & whitespace cleanup
- use fparseln() instead of fgetln()
2001-11-07 01:36:50 +00:00
lukem e491f8950f Code from FreeBSD to give mtree the ability to exclude items from its traversal 2001-11-07 01:16:00 +00:00
augustss 5d206b8d31 Correct a comment. Pointed out by Michael.Eriksson@era-t.ericsson.se. 2001-11-06 22:56:02 +00:00
kim d561c70b4b None of the other calls to logerror() include a newline at the end of the
message, and it causes an unnecessary empty line in the syslog output.
2001-11-06 05:39:27 +00:00
atatat f5d592cf44 Add support for printing the AS number associated with the address at
each hop.
2001-11-04 23:14:35 +00:00
lukem c55aa0f9cb - move "Wflag" global from mtree.c to spec.c, and reinstate the functionality
of tv's previous code, which skips uname or gname parsing if -W is enabled.
- rename "lineno" to "mtree_lineno", to reduce possibility of name
  clashes in code that yanks in spec.c & misc.c (unlikely, but you never know)
2001-11-03 12:51:40 +00:00
lukem 1226af2bc4 tweak copyright 2001-11-02 03:12:48 +00:00
augustss 87faac94d7 Avoid opening /dev/ws{mouse,kbd}0; use stat() instead. 2001-11-01 19:06:08 +00:00
tv 70a4e4b481 Revert previous until it's fixed a more generic way ... I didn't realize
this was pulled in via reachover from elsewhere.
2001-11-01 02:15:41 +00:00
tv 8e97329393 Don't try to do uid or gid lookups from a supplied spec file if -W is given;
the numerical IDs won't be used anyway.
2001-10-31 20:41:17 +00:00
augustss 854fbc7c6b Oops, commit a version that actually works. :-) 2001-10-29 23:38:42 +00:00
wiz bc1878475f Standardise section headers, sort sections. 2001-10-29 23:27:14 +00:00
augustss cf866544bb Add moused, a daemon to take input from a serial mouse and feed it to
a wsmux.  This way serial mice can be accessed via /dev/wsmouse like all
other mice.
This program is heavily based on the FreeBSD moused program.
2001-10-29 23:23:41 +00:00
drochner 371be6ad2b update for loading into "wsfont" 2001-10-29 17:59:00 +00:00
drochner b03606ed0a change default device to "/dev/wsfont" - the vga driver likes it that
way now
2001-10-29 17:58:19 +00:00
lukem ae963680ea cast time_t values to long if printing as %ld to appease the sparc64 port 2001-10-29 07:30:07 +00:00
lukem d1270f6de8 - apply_specdir(): when adding a new symlink from the specfile, do the assert
check on the correct node
- apply_specentry(): if this node is a duplicate of another, apply the
  changes to the `master' entry instead of this one.
- fix inotype() to DTRT
- comment out some debugging info that is too verbose
2001-10-29 05:38:09 +00:00
lukem 751eb87e65 typographical cleanups 2001-10-29 05:18:25 +00:00
lukem cafb53fc3d add __RCSID() 2001-10-28 13:14:05 +00:00
lukem 1450efa805 a possible feature... 2001-10-28 13:12:50 +00:00
christos ffea4be4c7 - KNF
- use syslog after we become a daemon to write error messages.
- failure to open a device is not fatal.
- copy timeval, because select is allowed to change it.
- if we failed to blank all the devices we are monitoring, exit
2001-10-28 01:32:46 +00:00
lukem 16257ef5fc fix manual page building 2001-10-26 16:12:30 +00:00
lukem c431c1e4f0 add makefs(8) 2001-10-26 16:06:57 +00:00
lukem 8e9dab2d53 fix potential sparc compiler warning (if DEBUG was defined, that is...) 2001-10-26 16:01:46 +00:00
lukem de8b3ad2c7 makefs - create a file system image from a directory tree.
It doesn't need any special privileges or kernel devices.

Only ffs image creation is supported at this time, although makefs has been
designed to allow the addition of other file system formats by writing new
back-ends.

This program was designed & implemented by Luke Mewburn of Wasabi Systems.
2001-10-26 06:50:48 +00:00
lukem 6325773eff makefs - create a file system image from a directory tree.
It doesn't need any special privileges or kernel devices.

Only ffs image creation is supported at this time, although makefs has been
designed to allow the addition of other file system formats by writing new
back-ends.

This program was designed & implemented by Luke Mewburn of Wasabi Systems.
2001-10-26 06:16:19 +00:00
lukem 99147a7648 remove #include <ufs/ufs/quota.h> where it was just to appease
<ufs/ufs/inode.h>, since the latter now includes the former.  leave the former
in source that obviously uses specific bits of it (for completeness.)
2001-10-26 05:56:06 +00:00
lukem 009121cf2c makefs - create a file system image from a directory tree.
It doesn't need any special privileges or kernel devices.

Only ffs image creation is supported at this time, although makefs has been
designed to allow the addition of other file system formats by writing new
back-ends.

This program was designed & implemented by Luke Mewburn of Wasabi Systems.
2001-10-26 05:11:42 +00:00
lukem 1e617f29fb Add -W: don't attempt to change the perms/time/flags on existing entries, nor
set them when creating new directories. (AKA the ``don't whack'' option).
Concept suggested by Todd Vierling.
2001-10-25 14:47:39 +00:00
lukem 68a03bad5d - add lineno field to NODE
- move inotype() prototype into mtree.h from extern.h
2001-10-25 03:00:14 +00:00
thorpej a830755714 Don't descend into this mdsetimage -- we now use the BFD'ified
version in src/gnu/usr.sbin.
2001-10-24 23:59:40 +00:00
augustss 87c42c4d3f Improve language. 2001-10-24 18:33:52 +00:00
augustss 6a51bdd2f2 Update usage message. 2001-10-24 18:31:16 +00:00
augustss b97e37c9db Update for wsmux ioctl() name changes. 2001-10-24 14:14:03 +00:00
oster 4a785b3509 Fix a memory leak: when unlocking make sure we release the memory associated
with the lock begin removed!

Reviewed by thorpej.
2001-10-23 19:54:53 +00:00
thorpej b2cb6c26ef Don't set TARGET_MACHINE, set MACHINE, instead. MACHINE is consistent
with what other Makefiles use, and as a result, make cross-compiling
kernels a little easier.
2001-10-23 18:56:42 +00:00
agc cd27040c88 + add backwards compatibility hook for old pw_mkdb() calls with no args
+ remove some unused code in a comment.

+ add F_SHELL flag in userdel

+ use a separate local declaration for a temporary variable, rather
than overloading a variable that's used for something else.
2001-10-22 11:00:05 +00:00
itojun 9525a1af56 define LBL_ALIGN, to avoid unaligned access on align-picky arch.
suggested by Manuel Bouyer
2001-10-22 09:24:27 +00:00
lukem 273cdba6ea document requirement about first node being a directory called "." 2001-10-22 07:11:46 +00:00
lukem 57566f70f8 - enforce the top-most entry must be "." and must be a directory; avoids
various potential problems when intermixing full and relative paths
- changes to make it much easier to use spec() - the specfile parser - in
  other programs (via .PATHing spec.c and misc.c):
	- move excludetags, includetags and keys from mtree.c to misc.c
	- implement mtree_err() using vwarnx() instead of assuming name is
	  "mtree"
	- move inotype() and nodetype() from compare.c to misc.c
	- add nodetoinode(), to convert from an mtree F_* type to a
	  mode_t S_IF* type
	- clean up #include use; don't assume "mtree.h" pulls in some
	  standard includes
	- change spec() to take a FILE * arg (where the specfile is read from)
2001-10-22 07:07:46 +00:00
jmc a831891141 Pull in mdsetimage to the tools builds. (XXX - using libbfd here would
probably be preferrable long term).
2001-10-21 23:10:46 +00:00
tv 29fb1f6827 Unravel the include spaghetti here:
- make a copy of cfparse.y called "y.tab.y" because "cfparse.h" is not
  actually the yacc generated header file (duh?)
- include the tcpdump directory with -I *after* racoon's source, else
  tcpdump's headers will be picked up unexpectedly
- include . *before* racoon's source so as to make the generated files
  first on the list
2001-10-19 23:59:56 +00:00
tv f526c532b2 "YFLAGS=-d" causes inconsistent parallelism behavior. Instead, use the
NetBSD standard YHEADER and #include "rc_parse.h".
2001-10-19 22:57:53 +00:00
lukem dafcb3846f improve enumeration of the different specfile entry types 2001-10-19 02:57:34 +00:00
augustss 5869e8a41c Fix another typo. 2001-10-18 12:35:44 +00:00
wiz 4f72f67a5e Whitespace nit. 2001-10-18 12:28:50 +00:00
augustss aa8b76c40d Fix typo. 2001-10-18 12:28:06 +00:00
augustss 856c597a58 Add -L flag to list devices recursively. 2001-10-18 12:27:15 +00:00
lukem f644bd620b complete WARNS=2 cleanup (with a bit of ickiness for the fts_open argv issue) 2001-10-18 05:06:01 +00:00
lukem 0b41840fcb need semicolon between goto label and closing brace 2001-10-18 04:45:41 +00:00
lukem 98df36b3a5 make this mostly WARNS=2 safe 2001-10-18 04:37:56 +00:00
lukem 7f56f49762 convert from strtok() to strsep() 2001-10-17 01:19:17 +00:00
agc c94b91a672 Update documentation to reflect reality - "userdel -p" replaces the login
shell with /sbin/nologin, rather than /usr/bin/false.
2001-10-16 08:17:07 +00:00
itojun c878544aa7 s/IPV6_BINDV6ONLY/IPV6_V6ONLY/ to follow changes made yesterday. 2001-10-16 01:51:26 +00:00
augustss 4adb2fae92 Add copyright notice. 2001-10-14 20:13:31 +00:00
wiz 4be44c080f No .Pp before .Sh. 2001-10-14 19:56:22 +00:00
augustss 2c843484d5 Fix typo. 2001-10-13 20:11:00 +00:00
augustss 9f01baeb47 Add a simple program for listing, adding, and removing wsmux devices.
It's not a much used utility, but when you need it it's a pain to
be without.
2001-10-13 20:05:42 +00:00
yamt 76e9d7eb12 fix lsrr. 2001-10-09 12:43:37 +00:00
enami a28fcd776c Make mtree a host tool and use it when appropriate. 2001-10-09 05:19:03 +00:00
lukem bc1697fc70 Add "device" keyword, which allows the device number to be specified,
to be later checked and possibly created. Uses parsing and encoding
routines from mknod(8).
2001-10-09 04:50:00 +00:00
mjl c903850da8 Replace 1 and 2 with STDOUT_FILENO and STDERR_FILENO.
ANSIfy and constify.
2001-10-09 02:15:37 +00:00
lukem 09805a42a3 - use "full path" instead of "absolute path"; perry thinks it's less confusing
- clarify the `all' keyword support in -k, -K and -R. should solve [misc/14186]
- use ".sp" instead of ".Pp"  (from FreeBSD).
2001-10-08 00:53:30 +00:00
bjh21 d5a914aad0 Use getnameinfo() to format link-layer addresses rather than doing it
ourselves.
2001-10-06 19:39:23 +00:00
bjh21 587779435b Use getnameinfo() to format link-layer addresses, rather than doing it
ourselves.
2001-10-06 19:09:44 +00:00
veego 0a9ac47f7c CLEANFILES has to come before the include of <bsd.prog.mk>. 2001-10-05 23:42:11 +00:00
lukem 8b951d1f0d * Implement support for absolute paths in the specfile. An absolute path
is one that contains a `/' character that is not the first character.
  All parent directories referenced in the path must exist.
* Add copyright for all the work I've done.
* Document the history of various features added since 4.3-Reno.
2001-10-05 15:32:57 +00:00
lukem d8c78c600b - support "all" as a valid keyword for -k, -K and -R.
- parsekey(): support "all" as a keyword which returns a value with all bits
  set that pertain to a valid keyword.
- dump_nodes():
	- only print out a keyword if it's requested AND it's set in the node
	- UNAME falls back to UID if the user name can't be determined
	- GNAME falls back to GID if the group name can't be determined
- rework man page:
	- use Sy instead of Cm
	- use Pq, Dq, Ql, etc instead of ``...''
2001-10-05 13:14:56 +00:00
lukem acd40f8dd4 dump_nodes() fixes:
- in F_GID, print the gid not the uid
- support F_GNAME
2001-10-05 12:44:47 +00:00
lukem 4da22cb499 cleanup tags support;
- create a typedef struct slist_t to hold stuff in (avoid stringlist(3)
  because it's less portable)
- move the tag manipulate stuff into misc.c
- add matchtags(), which returns 0 if the node is explicitly excluded,
  or not included if an include list is given; or 1 otherwise
- in -D, change tags support from files-only to all-non-directories

(xxx; still considering implementing tags support for -c and !-D)
2001-10-05 01:03:24 +00:00
agc c7f73c3331 "it's" is short for "it is".
The possessive pronoun is "its".
2001-10-04 19:44:48 +00:00
wiz 2cf8bd020e Whitespace fixes, sort sections. 2001-10-04 11:24:05 +00:00
yamt d75115bcb0 fix typo that prevents to select best version of package. 2001-10-04 05:32:50 +00:00
lukem 3f1c463ef7 - skip F_OPT entries (recently added diagnostic detected this)
- put F_TAG parsing in the correct alphabetical position
2001-10-04 05:03:42 +00:00
lukem 7c30045cef features:
- add a new keyword - "tags" - which is a comma separated list of tags
  associated with that file.
- add "-E tags"; exclude files in -D output with matching tags
- add "-I tags"; only include files in -D output with matching tags
  (default is to list all)

fixes:
- move all extern variable references from individual files into extern.h
- `quote' some more user-specified strings in error messages
- man page: list an options arguments in the description, and sort xrefs.
2001-10-04 04:51:27 +00:00
lukem a251d86b79 add F_TYPE to KEYDEFAULT.
whilst -c always prints the type (even if removed with -R),
-D wasn't printing it in the default config
2001-10-03 14:33:49 +00:00
tv 47ab6193ba Make this a little more portable to other NetBSD versions without
MAKE_BOOTSTRAP -- use our hand-rolled [gs]etprogname() at all times (er,
actually, the single time we need it...).
2001-10-02 21:31:01 +00:00
cgd 0fcb9b7701 Remove the advertising clause from my license notice FOR THIS PROGRAM ONLY.
The purpose of that modification is to make the license on these files
"GPL-compatible," so that mdsetimage may be combined with BFD.  (The
resulting license is word-for-word identicial to one of the licenses
described as being GPL compatible on
http://www.gnu.org/licenses/license-list.html.)
2001-10-01 23:32:34 +00:00
simonb c6d44b5eb4 ANSIfy the output of config(8). 2001-10-01 04:22:00 +00:00
lukem 0c2c66fb9a - implement -D - dump the specfile out in a manner that's parseable
by various tools
- implement -R key  - remove the given key(s) from the list of keys to print
  (now it's possible with "-k type -R type" to remove all keys :)
- rename ftype() to nodetype(), and make it public
- use pwcache(3) functions instead of get{gr,pw}{nam,uid}(3)
- add dump_nodes(), which provides the guts for -D.
2001-10-01 02:30:40 +00:00
jdolecek 4bf4fb5731 Fix obvious mistake in way the disk tailq is walked.
Fixes bin/14086 by Ben Harris.
2001-09-29 17:04:10 +00:00
hubertf 384aae98cc use full pathname of tar consistentlc
Patch provided in PR 14072 by Stoned Elipot <seb@script.jussieu.fr>
2001-09-26 13:48:27 +00:00
lukem 6b4ee83154 <sys/stat.h> is unnecessary 2001-09-26 07:05:39 +00:00
agc ead534127e Print out the name of the detached signature file which is being used to
verify the binary package. Idea from Hubert Feyrer.
2001-09-25 11:42:56 +00:00
agc 03663b89ae Add a "-s verification-type" argument to pkg_add, which adds a callout
to a verification program for a binary package. The following callouts
are defined: "none", "gpg" and "pgp5".

This feature allows you to verify a binary package against a detached
signature file, and to proceed with the installation or not, depending
upon the level of trust you place in the signatory of the binary
package.

Digital signatures will be checked in a recursive manner (i.e. if
pkg_add is called with a verification type which is not "none", the
verification type will be passed to subsequent invocations of pkg_add
for the dependent packages).

At the current time, digital signatures cannot be used with the URL
form of pkg_add(1) - the detached signature file must be in the same
directory as the binary package, either locally or mounted by NFS.

If no -s argument is given, pkg_add(1) retains its current behaviour -
the package will not be verified before installation takes place.
2001-09-25 10:28:16 +00:00
tv 6042281606 Don't override the definition of LEX. 2001-09-25 01:40:09 +00:00
wiz 4c99916337 va_{start,end} audit:
Make sure that each va_start has one and only one matching va_end,
especially in error cases.
If the va_list is used multiple times, do multiple va_starts/va_ends.
If a function gets va_list as argument, don't let it use va_end (since
it's the callers responsibility).

Improved by comments from enami and christos -- thanks!

Heimdal/krb4/KAME changes already fed back, rest to follow.

Inspired by, but not not based on, OpenBSD.
2001-09-24 13:22:25 +00:00
perry 9864f0aae8 Add a -l flag which does "loose" permissions checks, i.e. a mode 444
matches a check for mode 644 (though obviously not the reverse). This
can be used by the nightly security run, making the output1 more useful
by having it contain fewer spurious permissions violations.

Note that I did not make -l work if you have a sgid/suid/sticky bit
set. I don't know how you could cause security trouble with more
stringent settings and a suid file, but I don't want to find out the
hard way.
2001-09-22 03:56:29 +00:00
thorpej f189453cbc Pull in fbio.h from <dev/sun/fbio.h> 2001-09-19 16:16:03 +00:00
itojun 9a881fc0f7 typo in IPv6 support. listen to wildcard address correctly. 2001-09-18 04:36:28 +00:00
assar 2a2aa85a8d update infrastructure for krb4 1.1 and heimdal 0.4e 2001-09-17 12:34:40 +00:00
joda f51bc9e68b use strtol instead of atoi to catch non numeric values 2001-09-17 10:05:57 +00:00
hubertf 5653bfc431 if creategid() fails, don't try to print system error message (use errx()
instead of err()), as all error cases in creategid() are already commented
properly from inside creategid().

This prevents funny errors like:

	miyu# groupadd test2
	miyu# groupadd test2
	groupadd: group `test2' already exists
	groupadd: can't add group: problems with /etc/group file: Inappropriate ioctl for device
2001-09-16 18:08:37 +00:00
wiz 456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
manu 171c550e3a Removed the HAVE_CLOCKCTL for now (it should not be enabled until all
ports use clockctl. Silly me!)
2001-09-16 09:12:50 +00:00
manu 98b40d754d Enable use of the clockctl device for ntpd (this feature has not yet been
commited to the ntp CVS)
2001-09-16 07:53:12 +00:00
thorpej 8b531ac998 By poppular demand, don't wildcard "bus" on the "list" command
by default.
2001-09-15 18:35:00 +00:00
enami a88b4adee6 Zero clear the apm_power_info structure being passed to ioctl. 2001-09-15 02:42:26 +00:00
thorpej 477798fcac Fix missing : in a getopt() string. 2001-09-14 17:28:36 +00:00
thorpej 9ed4e90471 Build pcictl. 2001-09-13 23:51:39 +00:00
thorpej 0c91ac689b pcictl(8) -- a program for frobbing the PCI bus, and also an example
of how to use libpci.

Currently has "list" (list devices within a PCI domain) and "dump" (dump
PCI configuration header for a device) sub-commands.
2001-09-13 23:51:04 +00:00
itojun de3a065dcc CPPFLAGS, not CFLAGS, for -D. 2001-09-13 13:02:20 +00:00
enami 69af775e86 - Bail out when failed to ioctl.
- Clear args to APM_IOC_GETPOWER.
2001-09-13 11:05:58 +00:00
enami 453bf8d640 KNF and other misc. stylistic changes. 2001-09-13 11:01:49 +00:00
thorpej dd5462b93f Update for TCP timer changes. 2001-09-11 15:45:01 +00:00
thorpej 85f032ca45 Fix printf format. 2001-09-11 15:10:45 +00:00
enami 54d0f0cc4b Fix off-by-one error; root on sd0i shoule be rejected if maxpartition is 8. 2001-09-11 05:11:59 +00:00
itojun 55e8bc4e8b make sup/supfilesrv IPv6 ready. supfilesrv listens to single socket,
therefore, you will need two instances running for dual stack support
(one with -4 and one with -6).
2001-09-11 03:33:52 +00:00
itojun c976c20dc0 correct 1st arg to select(). 2001-09-11 03:32:55 +00:00
simonb 2db48f4c88 Add "Remember to update distrib/sets..." lines (and NetBSD RCS IDs in
some cases).
2001-09-10 11:18:41 +00:00
lukem 617a65b6f7 replace home-grown parser with fparseln() 2001-09-10 03:22:24 +00:00
lukem 5c2ee5861d Incorporate the enhanced ffs_dirpref() by Grigoriy Orlov, as found in
FreeBSD (three commits; the initial work, man page updates, and a fix
to ffs_reload()), with the following differences:
- Be consistent between newfs(8) and tunefs(8) as to the options which
  set and control the tuning parameters for this work (avgfilesize & avgfpdir)
- Use u_int16_t instead of u_int8_t to keep track of the number of
  contiguous directories (suggested by Chuck Silvers)
- Work within our FFS_EI framework
- Ensure that fs->fs_maxclusters and fs->fs_contigdirs don't point to
  the same area of memory

The new algorithm has a marked performance increase, especially when
performing tasks such as untarring pkgsrc.tar.gz, etc.

The original FreeBSD commit messages are attached:

=====
mckusick    2001/04/10 01:39:00 PDT
  Directory layout preference improvements from Grigoriy Orlov <gluk@ptci.ru>.
  His description of the problem and solution follow. My own tests show
  speedups on typical filesystem intensive workloads of 5% to 12% which
  is very impressive considering the small amount of code change involved.

  ------

    One day I noticed that some file operations run much faster on
  small file systems then on big ones. I've looked at the ffs
  algorithms, thought about them, and redesigned the dirpref algorithm.

    First I want to describe the results of my tests. These results are old
  and I have improved the algorithm after these tests were done. Nevertheless
  they show how big the perfomance speedup may be. I have done two file/directory
  intensive tests on a two OpenBSD systems with old and new dirpref algorithm.
  The first test is "tar -xzf ports.tar.gz", the second is "rm -rf ports".
  The ports.tar.gz file is the ports collection from the OpenBSD 2.8 release.
  It contains 6596 directories and 13868 files. The test systems are:

  1. Celeron-450, 128Mb, two IDE drives, the system at wd0, file system for
     test is at wd1. Size of test file system is 8 Gb, number of cg=991,
     size of cg is 8m, block size = 8k, fragment size = 1k OpenBSD-current
     from Dec 2000 with BUFCACHEPERCENT=35

  2. PIII-600, 128Mb, two IBM DTLA-307045 IDE drives at i815e, the system
     at wd0, file system for test is at wd1. Size of test file system is 40 Gb,
     number of cg=5324, size of cg is 8m, block size = 8k, fragment size = 1k
     OpenBSD-current from Dec 2000 with BUFCACHEPERCENT=50

  You can get more info about the test systems and methods at:
  http://www.ptci.ru/gluk/dirpref/old/dirpref.html

                                Test Results

               tar -xzf ports.tar.gz               rm -rf ports
    mode  old dirpref new dirpref speedup old dirprefnew dirpref speedup
                               First system
   normal     667         472      1.41       477        331       1.44
   async      285         144      1.98       130         14       9.29
   sync       768         616      1.25       477        334       1.43
   softdep    413         252      1.64       241         38       6.34
                               Second system
   normal     329         81       4.06       263.5       93.5     2.81
   async      302         25.7    11.75       112          2.26   49.56
   sync       281         57.0     4.93       263         90.5     2.9
   softdep    341         40.6     8.4        284          4.76   59.66

  "old dirpref" and "new dirpref" columns give a test time in seconds.
  speedup - speed increasement in times, ie. old dirpref / new dirpref.

  ------

  Algorithm description

  The old dirpref algorithm is described in comments:

  /*
   * Find a cylinder to place a directory.
   *
   * The policy implemented by this algorithm is to select from
   * among those cylinder groups with above the average number of
   * free inodes, the one with the smallest number of directories.
   */

  A new directory is allocated in a different cylinder groups than its
  parent directory resulting in a directory tree that is spreaded across
  all the cylinder groups. This spreading out results in a non-optimal
  access to the directories and files. When we have a small filesystem
  it is not a problem but when the filesystem is big then perfomance
  degradation becomes very apparent.

  What I mean by a big file system ?

    1. A big filesystem is a filesystem which occupy 20-30 or more percent
       of total drive space, i.e. first and last cylinder are physically
       located relatively far from each other.
    2. It has a relatively large number of cylinder groups, for example
       more cylinder groups than 50% of the buffers in the buffer cache.

  The first results in long access times, while the second results in
  many buffers being used by metadata operations. Such operations use
  cylinder group blocks and on-disk inode blocks. The cylinder group
  block (fs->fs_cblkno) contains struct cg, inode and block bit maps.
  It is 2k in size for the default filesystem parameters. If new and
  parent directories are located in different cylinder groups then the
  system performs more input/output operations and uses more buffers.
  On filesystems with many cylinder groups, lots of cache buffers are
  used for metadata operations.

  My solution for this problem is very simple. I allocate many directories
  in one cylinder group. I also do some things, so that the new allocation
  method does not cause excessive fragmentation and all directory inodes
  will not be located at a location far from its file's inodes and data.
  The algorithm is:
  /*
   * Find a cylinder group to place a directory.
   *
   * The policy implemented by this algorithm is to allocate a
   * directory inode in the same cylinder group as its parent
   * directory, but also to reserve space for its files inodes
   * and data. Restrict the number of directories which may be
   * allocated one after another in the same cylinder group
   * without intervening allocation of files.
   *
   * If we allocate a first level directory then force allocation
   * in another cylinder group.
   */

    My early versions of dirpref give me a good results for a wide range of
  file operations and different filesystem capacities except one case:
  those applications that create their entire directory structure first
  and only later fill this structure with files.

    My solution for such and similar cases is to limit a number of
  directories which may be created one after another in the same cylinder
  group without intervening file creations. For this purpose, I allocate
  an array of counters at mount time. This array is linked to the superblock
  fs->fs_contigdirs[cg]. Each time a directory is created the counter
  increases and each time a file is created the counter decreases. A 60Gb
  filesystem with 8mb/cg requires 10kb of memory for the counters array.

    The maxcontigdirs is a maximum number of directories which may be created
  without an intervening file creation. I found in my tests that the best
  performance occurs when I restrict the number of directories in one cylinder
  group such that all its files may be located in the same cylinder group.
  There may be some deterioration in performance if all the file inodes
  are in the same cylinder group as its containing directory, but their
  data partially resides in a different cylinder group. The maxcontigdirs
  value is calculated to try to prevent this condition. Since there is
  no way to know how many files and directories will be allocated later
  I added two optimization parameters in superblock/tunefs. They are:

          int32_t  fs_avgfilesize;   /* expected average file size */
          int32_t  fs_avgfpdir;      /* expected # of files per directory */

  These parameters have reasonable defaults but may be tweeked for special
  uses of a filesystem. They are only necessary in rare cases like better
  tuning a filesystem being used to store a squid cache.

  I have been using this algorithm for about 3 months. I have done
  a lot of testing on filesystems with different capacities, average
  filesize, average number of files per directory, and so on. I think
  this algorithm has no negative impact on filesystem perfomance. It
  works better than the default one in all cases. The new dirpref
  will greatly improve untarring/removing/coping of big directories,
  decrease load on cvs servers and much more. The new dirpref doesn't
  speedup a compilation process, but also doesn't slow it down.

  Obtained from:	Grigoriy Orlov <gluk@ptci.ru>
=====

=====
iedowse     2001/04/23 17:37:17 PDT
  Pre-dirpref versions of fsck may zero out the new superblock fields
  fs_contigdirs, fs_avgfilesize and fs_avgfpdir. This could cause
  panics if these fields were zeroed while a filesystem was mounted
  read-only, and then remounted read-write.

  Add code to ffs_reload() which copies the fs_contigdirs pointer
  from the previous superblock, and reinitialises fs_avgf* if necessary.

  Reviewed by:	mckusick
=====

=====
nik         2001/04/10 03:36:44 PDT
  Add information about the new options to newfs and tunefs which set the
  expected average file size and number of files per directory.  Could do
  with some fleshing out.
=====
2001-09-06 02:16:00 +00:00
christos 9a9926ee57 PR/13874: Hubert Feyrer: Add -L class to useradd 2001-09-05 21:37:32 +00:00
itojun bc0d6cdd22 sync with the latest kame.
- select() with the right maxfd.
- don't write() with len <= 0.
- no wacky macro ERRSTR.
2001-09-05 01:22:24 +00:00
itojun a12c72c978 sync with the latest KAME tree.
- don't use FD_SETSIZE on select
- "sin" conflicts with math library, so use sin6
- other minor updates
2001-09-05 01:17:31 +00:00
drochner e569277f0d -fix uninitialized "verbose" flag
-add iso2, iso7 encodings
2001-09-04 17:59:04 +00:00
wiz c1434a021e Don't mention /usr/local/lib/isdn, since it's not used (anymore?). 2001-09-03 01:22:54 +00:00
lukem e3ba61f9f3 Incorporate fix by iedowse @ FreeBSD to allow disks with large numbers of
cylinder groups to work correctly, with minor modifications by me to work
with our FFS_EI code.  From the FreeBSD commit message:

	The ffs superblock includes a 128-byte region for use by temporary
	in-core pointers to summary information. An array in this region
	(fs_csp) could overflow on filesystems with a very large number of
	cylinder groups (~16000 on i386 with 8k blocks). When this happens,
	other fields in the superblock get corrupted, and fsck refuses to
	check the filesystem.

	Solve this problem by replacing the fs_csp array in 'struct fs'
	with a single pointer, and add padding to keep the length of the
	128-byte region fixed. Update the kernel and userland utilities
	to use just this single pointer.

	With this change, the kernel no longer makes use of the superblock
	fields 'fs_csshift' and 'fs_csmask'. Add a comment to newfs/mkfs.c
	to indicate that these fields must be calculated for compatibility
	with older kernels.

	Reviewed by:    mckusick
2001-09-02 01:58:30 +00:00
reinoud ec98fbc0db Code cleanup; remove all `#ifdef sgi' from the code... this clobbered the
code considerably and was mainly providing SGI specific logging facilities
and some hacks to improve the relyablility on SGI systems by increasing
priorities etc...
2001-09-02 00:13:05 +00:00
itojun ee42f09d5b upgrade to KAME 2001/8/31. 2001-08-31 10:36:08 +00:00
lukem c56418af73 some improvements from freebsd/openbsd
- replace the unused fs_headswitch and fs_trkseek with fs_id[2], bringing
  our struct fs closer to that in freebsd & openbsd (& solaris FWIW)
- dumpfs: improve warning message when cpc == 0
2001-08-30 14:37:25 +00:00
itojun 7cdedd5c84 use strlcpy. from openbsd 2001-08-30 00:53:53 +00:00
itojun c9e786ce9e security fix from openbsd:
Fix buffer oflow reading from queue file.  While we are at it, crank
the size of buffers that can hold filenames to MAXPATHLEN.
2001-08-30 00:51:50 +00:00
wiz 251b3464be heirarchy -> hierarchy 2001-08-24 10:24:45 +00:00
hubertf c5967dbc76 Fix typo: heirarchies 2001-08-24 00:48:48 +00:00
itojun d5e1f166e0 sync with latest kame tree. snprintf() return value audit, log() cleanup,
and such.
2001-08-22 08:52:35 +00:00
itojun 029bd4843d sync with kame better. snprintf return value audit. 2001-08-22 05:24:37 +00:00
yamt 7bc6654ad8 disable unnecessary warning when PKG_PATH isn't set. 2001-08-21 18:38:40 +00:00
wiz 1e378c4c12 precede, not preceed. 2001-08-20 12:00:46 +00:00
hubertf 194031e9be Don't do FTP stuff when operating on all pkgs
Adresses PR 13397 by Greg A. Woods <woods@weird.com>
2001-08-19 23:33:35 +00:00
ad e04fd20395 Clean up previous. 2001-08-19 09:01:47 +00:00
ad 1e8e78ed07 Update for pw_mkdb() change: restrict updates to one user's records and/or
the secure database where appropriate.
2001-08-18 19:35:32 +00:00
ad e13d145336 Speed things up a bit. Parts dredged from OpenBSD/FreeBSD.
- Add -u option, to update one user's records only.
- Add -s option, to update the secure database only.
- Give us roughly 1MB of cache per 50kB of password file, but keep within
  a 2MB minimum and 8MB maximum.
- Tidy a little.
2001-08-18 19:29:31 +00:00
ad e3af9d1d6b getopt() returns -1 on error, not EOF. 2001-08-18 17:10:04 +00:00
joda 3a2248a4e7 (usermod): ~F_MKDIR is usually much better than !F_MKDIR in bit masks 2001-08-17 08:29:00 +00:00
lukem 1b81d6353d remove third argument (`int ns') from ffs_sb_swap(), and let ffs_sb_swap()
determine the endianness of the `struct fs *o' superblock from o->fs_magic
and set needswap as necessary, rather than trusting the caller to get
it right.  invariably, almost every caller of ffs_sb_swap() was calling it
with ns set to the wrong value for ns anyway!
ansi KNF ffs_bswap.c declarations whilst here.

this fixes all sorts of problems when trying to use other-endian file systems,
notably the kernel trying to access memory *way* off, possibly corrupting or
panicing, and userland programs SEGVing and/or corrupting things (e.g,
"fsck_ffs -B"  to swap a file system endianness).

whilst the previous rev of ffs_bswap.c (1.10, 2000/12/23) made this problem
worse, i suspect that the problem was always there and previous versions
just happened not to trash things at the wrong time.

FFS_EI should now be a lot more stable.
2001-08-17 02:18:46 +00:00
tv c98eaba8e8 dhcpd no longer needs the OS_VERSION define. 2001-08-16 18:29:20 +00:00
tv 22207c0806 Add NetBSD rcsids. 2001-08-16 18:03:03 +00:00
itojun 62856425b4 $NetBSD$ 2001-08-16 07:48:08 +00:00
itojun 8b8734d26b string length audit (use strlcpy). sync with latest kame ALTQ. 2001-08-16 07:45:35 +00:00
lukem 69124d8ff2 call ffs_sb_swap() with ns=1, otherwise dumpfs core dumps on other endian fses 2001-08-15 05:52:28 +00:00
tv dba5d44670 Add hooks to allow toolchain bits to be reachover-built at the top level. 2001-08-14 10:18:26 +00:00
lukem e4ec9e7a11 - ansi KNF
- add -F flag to specify "argument is an fs image" (effectively a no-op,
  but here for consistency with other tools).
2001-08-14 01:02:02 +00:00
agc d069ffa789 Add a -n switch to show the packages "needed" by a package (i.e. the
packages which are depended upon).

Provided in PR 13071 by woods@planix.com (Greg A. Woods), the addition
to the synopsis by myself, pedant-in-chief.
2001-08-13 20:08:58 +00:00
yamt cb1ee3b752 make consistent escape sequence handling
between commandline and command input.

pointed by Christoph Badura <bad@netbsd.org>
2001-08-13 06:54:58 +00:00
uwe 242ff27a4b s/width/height/ in the description of -h option. 2001-08-12 23:51:15 +00:00
mjl 98e1bdc90d Add -W parameter to lpd to disable check for a reserved port,
this is needed to get Win2k print to a NetBSD box. Heavily
inspired by FreeBSD.
2001-08-11 01:04:57 +00:00
drochner 32af7c842a define HMAC_MD5
should fix PR security/13043 by Frank Kardel
2001-08-07 14:51:27 +00:00
christos 4e7d8e10f6 - Filter out the YP_ keys from mail.aliases. How did this ever work?
- Don't be verbose when creating the amd maps.
2001-08-06 18:28:19 +00:00
itojun 92b62a25f8 avoid inet_addr. use snprintf. recent changes from openbsd-current via kame 2001-08-06 07:00:59 +00:00
hubertf 86a406c1ce * Allow generating more than one amd map, by storing the maps to create
in a variable that can be added other maps than amd.home. Patch submitted
   in PR 11826 by Anthony Mallet <anthony.mallet@ficus.yi.org>
 * Slightly optimize calculation of DOMAIN
2001-08-05 12:40:15 +00:00
ad cc274c12b6 Better argument checking. 2001-08-04 16:55:46 +00:00
drochner 96914bd8e8 our dhclient-script diverged too much from the distributed one,
keep it separate
2001-08-03 14:30:19 +00:00
drochner ecd0a03ec8 switch to reachover build from src/dist/dhcp 2001-08-03 14:13:55 +00:00
itojun bb65ba4b13 fgetln() does not \0-terminate the result. 2001-08-03 09:18:58 +00:00
yamt 69ecbbeb80 Fix a bug that prevented %'s and \'s from being passed to the program
invoked.
from FreeBSD.
2001-08-03 04:10:51 +00:00
itojun 4acce1d060 include version number into binary to help diagnosis 2001-08-02 15:27:21 +00:00