Commit Graph

1886 Commits

Author SHA1 Message Date
christos
1ce87c4b29 - it is wrong to put inton/intoff arount ckmalloc(), because the code
around it is the one that does this.
- whitespace fixes.
2002-10-07 14:26:49 +00:00
christos
202746f803 explain what's breaking with alignments > 16, but no fix yet. 2002-10-07 14:26:08 +00:00
provos
4b7278c7f2 use FNM_LEADING_DIR 2002-10-06 03:16:25 +00:00
provos
9008ac33c8 assume that inserting a template implies permit for the current syscall 2002-10-06 01:28:55 +00:00
christos
b9d3050e20 Rename ALIGN to SHELL_ALIGN and simplify macro so that it does not have side
effects, and add double to it, so that it aligns doubles correctly too. This
is just a workaround to fix the sparc64 problem where ALIGN() is now defined
in some include file to be 16 instead of 8. Thanks to martin for debugging this.
2002-10-04 13:15:51 +00:00
wiz
881c258156 additional and positive with two is. From Adrian Mrva. 2002-10-02 15:59:51 +00:00
wiz
06bd76cf9a parameter, not paramter. By Adrian Mrva. 2002-10-02 15:58:04 +00:00
wiz
1da66f1f4c filesystem -> file system, automaticly -> automatically. 2002-10-02 10:01:46 +00:00
wiz
1d605b2386 evironment -> environment. 2002-10-02 09:57:14 +00:00
wiz
f3e4defc56 Use more mdoc. 2002-10-01 15:11:08 +00:00
wiz
2e6e2165c0 Use more mdoc, particularly to get rid of some \*[Lt] and \*[Gt]. 2002-10-01 15:06:31 +00:00
provos
a79af4d624 fix return value; from marius@umich.edu 2002-09-28 17:56:54 +00:00
mycroft
6092f7d52b Revert the previous for now. This is truly gross. 2002-09-28 03:15:43 +00:00
mycroft
7973b7a0ac Remove the duplicate setpgid() in forkparent(). The real bug was freeing the
job structure in the child and referencing freed memory.
2002-09-28 03:08:00 +00:00
christos
4783843fdc Revert previous change. No need to save rootshell. It is only affecting
the non-vfork case. Having said that, it would be nice if pipelines of
simple commands were vforked too. Right now they are not.
Explain that setpgid() might fail because we are doing it both in the
parent and the child case, because we don't know which one will come
first.
Suspending a pipeline prints %1 Suspended n times where n is the number
of processes, but that was there before. It is easy to fix, but I'll
leave the code alone for now.
2002-09-28 01:25:01 +00:00
christos
6f48233483 Deal with rootshell not being maintained correctly in the vfork() case.
Propagate isroot, throughout the eval process and maintain it properly.
Fixes sleep 10 | cat^C not exiting because sleep and cat ended up in
their own process groups, because wasroot was always true in the children.
2002-09-27 22:56:24 +00:00
mycroft
d84d36165d Clean up INTOFF/INTON usage a little -- none of fork{shell,parent,child}()
screw with them now, only their callers.
2002-09-27 21:32:24 +00:00
thorpej
bb95e8cb62 Revert previous; the change that required it will be done differently. 2002-09-27 21:04:46 +00:00
christos
ad1e7bca30 off by one in nprocs. 2002-09-27 21:04:08 +00:00
christos
35975338b0 Put back charles' fixes from -r1.60 2002-09-27 20:24:36 +00:00
christos
edcb454443 VFork()ing shell: From elric@netbsd.org:
Plus my changes:
	- walking process group fix in foregrounding a job.
	- reset of process group in parent shell if interrupted before the wait.
	- move INTON lower in the dowait so that the job structure is
	  consistent.
	- error check all setpgid(), tcsetpgrp() calls.
	- eliminate unneeded strpgid() call.
	- check that we don't belong in the process group before we try to
	  set it.
2002-09-27 18:56:50 +00:00
mycroft
2aa6ebd4ed In evalpipe(), move the INTOFF after the waitforjob(), to prevent possible
race conditions -- now we always synchronously wait for the job to finish.
In evalcommand(), add the same INTOFF/INTON locking as evalpipe(), to prevent
leaving internal state inconsistent, and also to insure that we synchronously
wait for the job.
2002-09-27 17:37:12 +00:00
christos
6438e7dcdc no SYSV for eagain, enable EMFILE 2002-09-27 16:56:15 +00:00
thorpej
6a244932ed Only use the MKDYNAMICROOT semantics (i.e. -rpath=/lib,/usr/lib and
-dynamic-linker=/libexec/ld.elf_so) if the BINDIR of the program being
built is /bin or /sbin.

The reason we do this is because now all programs *except* those in
/bin and /sbin (i.e. the "special cases") match the default the compiler
uses, which is what is used for things in e.g. xsrc, pkgsrc, and other
random 3rd party programs.
2002-09-27 15:56:39 +00:00
provos
0d78fff152 complete file names including a ~ correctly. 2002-09-27 13:23:55 +00:00
simonb
4bce9043f0 Need to initialise the blocksize variable if the -i option is used
too.  The code in display() could possibly be a bit smarter about this
requirement...

Fixes the problem in PR bin/18321 from David Laight and PR bin/18436
from FUKAUMI Naoki.
2002-09-27 12:01:51 +00:00
provos
4fd29e5dcf human-readable output via -h flag. output matches Linux and other BSDs.
partly from kstailey@openbsd.org.  approved itojun and perry.
2002-09-26 16:27:43 +00:00
wiz
6ab45c70b7 Begin new sentences on new lines. From Robert Elz (kre at munnari oz au). 2002-09-26 11:11:17 +00:00
wiz
14dfaa4b03 New policy: New sentences start on a new line.
Patches by Robert Elz <kre at munnari oz au>, with minimal changes by me.
2002-09-25 15:18:36 +00:00
provos
a94ce5a752 enable emacs mode, add tab key to do completion in emacs and vi mode.
from millert@openbsd.org.  approved by perry and thorpej.
2002-09-25 02:55:03 +00:00
provos
f9b44bb190 change complete-list to first complete and then print a list,
also complete after '=' (dd), and ':' (ssh) and ` (backtick)
improvements from camield@openbsd.org.  approved by perry and thorpej.
2002-09-25 02:41:11 +00:00
itojun
d584f0a0fc support for templates. they allow fast generation of new policies. an
appropriate template can be inserted during initial policy generation.
from provos
2002-09-23 04:35:41 +00:00
mycroft
826e316675 select() -> poll() 2002-09-21 18:15:57 +00:00
jschauma
9f40601644 comment out the (no longer) builtin newgrp 2002-09-20 20:57:58 +00:00
jschauma
b186175fa1 We don't have 'newgrp' -> ifdef the builtin alias. This prevents
the shell from unexpectedly dying if a user enters the (nonexistent)
'newgrp' command.  OK'd by perry.
As seen in OpenBSD.
2002-09-20 20:07:09 +00:00
itojun
ca5a36677b split white space and single line policy processing into separate
functions.  from provos
2002-09-17 05:07:21 +00:00
itojun
0b2d2fe3d7 daemon should not change the directory. from provos 2002-09-17 04:54:36 +00:00
itojun
c1261b4aff periodically save policies that have been modified. from provos
>here is a diff that will cause systrace to periodically save policies
>that have been modified.  Useful if you run systrace on an xterm and
>kill it accidently.  Or other applications like opera that are long
>running and can cause weird crashes.
2002-09-16 04:31:46 +00:00
thorpej
e41b1aa4a2 Use "unsigned char" and "char" instead of "u_int8_t" and "int8_t"
for TARGET_CHAR when building mksyntax.  This isn't perfect, but
it lets the host tool work on non-BSD systems without completely
redoing how sh is built.
2002-09-15 00:19:22 +00:00
sommerfeld
af723a4db0 Use the output blocksize when computing how much room to leave for the
-s option, to suppress unnecessary leading spaces.
2002-09-14 04:25:55 +00:00
thorpej
42321e369a Don't use MAX(); not all systems have it, and this is a host tool. 2002-09-13 18:07:52 +00:00
enami
caa54090d6 Add comment about my rev. 1.27 change. 2002-09-04 04:21:54 +00:00
tron
4fc0806163 Ignore EINVAL returned from fsync(2) because it is the expected error code
if we try to use it on a pipe.
2002-09-03 06:17:26 +00:00
enami
cef250dab9 Detect the last nfs write error. 2002-09-01 11:33:22 +00:00
itojun
c81b949059 allow # in system call name. remove trailing white space.
from provos
2002-08-30 17:09:31 +00:00
itojun
b6aefbe19f sync with latest systrace in openbsd tree. improved systrace with chroot. 2002-08-28 03:52:44 +00:00
lukem
ed401558f2 Implement MKDYNAMICROOT, which currently defaults to "no", but will
be changed in the future to "yes".

If MKDYNAMICROOT == "no", there is no change from existing behaviour
of a static /bin and /sbin (and a few programs in elsewhere).

If MKDYNAMICROOT == "yes", the following changes occur:
    in <bsd.own.mk>:
	SHLIBDIR?=     /lib
	SHLINKDIR?=	/lib
    in various Makefiles, the following entry is DISABLED.
	LDSTATIC?=-static
This results in all programs (except those "standalone" programs built
in sys/arch/*/stand) are linked dynamically, the shared linker is moved
from /usr/libexec to /lib (with a compat symlink), and the shared
libraries used by /bin and /sbin programs are moved from /usr/lib to
/lib (with compat symlinks).
2002-08-27 14:46:11 +00:00
lukem
146a774973 Use ${NETBSDSRCDIR}/some/path instead of ${.CURDIR}/../../some/path (etc). 2002-08-19 09:56:00 +00:00
wiz
33bb527e01 Drop trailing whitespace. 2002-08-13 13:22:35 +00:00
sommerfeld
8f4d948b68 Improve some of the description of optional drive features. 2002-08-13 13:16:24 +00:00
itojun
c3ca2a9ab6 calloc() arg mistake. it's (nelem, size). from openbsd 2002-08-12 02:37:26 +00:00
soren
236006d5dc Remove extraneous \n's in {err,warn}{,x} that used to be printfs. 2002-08-08 13:24:12 +00:00
itojun
95c7243aec more effort to make it compile on platforms w/o linux emul 2002-08-02 14:29:34 +00:00
soren
e426c0fac8 Following FreeBSD's example, remove the old pre-statfs(2) code for
examining FFS filesystems directly. This also gets rid of df(1)'s
setgid operator bit.
2002-08-02 08:17:12 +00:00
christos
1eb5da90ed don't include utmp.h 2002-08-01 20:05:48 +00:00
wiz
0f88938132 Remove unneeded utmp.h include. 2002-08-01 18:41:34 +00:00
itojun
71a4240254 aenable linux systrace only on platforms that support it.
noted by hannken@eis.cs.tu-bs.de
2002-08-01 08:47:03 +00:00
itojun
2b8709b902 backout previous. mandoc(4) lies. 2002-07-31 00:28:02 +00:00
itojun
822deb809a .Bd -offset does not take numeric arg, but string. 2002-07-31 00:26:56 +00:00
jdolecek
bdd538626a re-apply part of rev. 1.4 - Explain why you would use this.
contrary to rev. 1.4, keep 'The options are as follows' sentence, since
this seems to be used more on system manpages
2002-07-30 21:58:25 +00:00
jdolecek
e9b2b4b074 re-apply changes in rev. 1.3 - Slight changes to the English. 2002-07-30 21:43:26 +00:00
wiz
93aef72209 Sort sections, Sh -> Ss in one place. 2002-07-30 17:06:58 +00:00
itojun
4f0c9c76b6 sync up with latest openbsd systrace.
- avoid race conditions by having seqno in ioctl
- better uid/gid tracking
- "replace" policy to replace args
- less diffs, as many of local changes were fed back to openbsd already

due to the 1st item, it was impossible for us to provide backward-compatibility
(new kernel + old bin/systrace won't work).  upgrade both.
2002-07-30 16:29:28 +00:00
soren
8f6326d364 A local copy of <sys/tree.h> is unnecessary. 2002-07-30 06:09:56 +00:00
wiz
7b9b4ac6f7 'environment', not 'enviroment' 2002-07-11 10:53:19 +00:00
wiz
98c072db3b Fix a typo in a comment. moritz@jodeit.org via OpenBSD. 2002-07-10 22:22:29 +00:00
bjh21
525b050279 Align default behaviour of chmod, chgrp, chown, and chflags with symlink(7),
IEEE 1003.1-2001 (where applicable) and other systems, by follwoing symlinks
on the command line and changing their targets' modes/ownership/flags, rather
than ignoring them.

This fixes PR standards/563 (at last).
2002-07-07 11:44:02 +00:00
atatat
11bb544ec0 Mostly just a rewrite of intercept_run() so the arrangement of "child"
process and "parent" process is more conducive to policy generation.
Previously, tracing of a given program worked something like this:

	fork()
	if (child)
		execprogram()
	else
		dotracing()

That means that if you "systrace -a named", named would fork and
background itself, but you would never get your prompt back because
systrace didn't exit.  Now it works like this:

	fork()
	if (interactive)
		if (child)
			execprogram()
		else
			dotracing()
	else
		if (parent)
			execprogram()
		else
			fork()
			if (parent)
				exit(0)
			setsid()
			dotracing()

This makes it *much* easier to do automated policy generation for
tasks run from rc.d.  Or, for that matter, makes it much easier to use
systrace with tasks run from rc.d.
2002-07-03 22:54:38 +00:00
enami
fa2d3031e1 The el option is an extention. 2002-07-03 01:27:23 +00:00
lukem
e0fcc669c4 Change how "cd .." is handled in next_file() with -M, to ensure that curdir[]
isn't addressed with a negative offset when back at the top of the tree.
This caused pax -M on sparc64 to generate corrupt tar files.
Problem found by Tim Goodwin <tjg@star.le.ac.uk> in [bin/17412].
2002-06-28 11:29:45 +00:00
wiz
716daf6160 Sort sections. 2002-06-26 15:29:43 +00:00
gmcgarry
28272e6493 Explain why you would use this. Reword a little and add some history. 2002-06-26 06:50:14 +00:00
kleink
7595143319 Note that -T is to be used with -l; synced with FreeBSD via Michal
Pasternak on current-users.
2002-06-24 20:14:35 +00:00
agc
1e4714b470 Slight changes to the English. 2002-06-20 10:07:42 +00:00
jdolecek
fc257046b9 g/c procfs fallback code, it's redundant now that we use sysctl to get
process info
2002-06-19 08:11:55 +00:00
thorpej
2265b1ff78 Fix warnings on Alpha: Cast to intptr_t to extract ints stored in void *'s,
and pull in proper prototypes.
2002-06-18 21:22:45 +00:00
thorpej
44e317ae3d Do the previous slightly differently. 2002-06-18 21:21:17 +00:00
thorpej
2623bb99b9 Add an extra cast to size_t when extracting an int stored in a void *.
(XXX Gross.)
2002-06-18 21:19:59 +00:00
itojun
3196ec98ba need ${.CURDIR} for linux_syscalls.c include 2002-06-18 09:52:04 +00:00
thorpej
4192e0aa5a Fix an include snafu pointed out by Matt Thomas. 2002-06-18 02:55:19 +00:00
thorpej
873bb550a0 Some const poisoning. 2002-06-18 02:49:08 +00:00
thorpej
0e0062e921 * Use CPPFLAGS for preprocessor flags, not CFLAGS.
* Don't -I/sys -- that breaks cross-building.  Instead, use relative
  pathnames in netbsd-syscalls.c, similar to what kdump does.
* No need to explicitly CLEANFILES the generated lex/yacc results.
* No need to link against libl and liby.
2002-06-18 01:37:12 +00:00
thorpej
5a040ec813 The SYSTR_CLONE ioctl is gone, so don't use it. (The kernel clones
the systrace communication channel as needed.)
2002-06-18 01:25:04 +00:00
wiz
b70e67425c No .Pp before .Sh, drop trailing space, sort sections. 2002-06-17 17:06:08 +00:00
wiz
c8c3c3fd5f Sort SEE ALSO. 2002-06-17 16:55:05 +00:00
christos
d09016d45a Document some missing flags and add systrace(1) 'x' flag. 2002-06-17 16:48:44 +00:00
christos
5039a9e5ee Add userland portion of systrace. 2002-06-17 16:29:07 +00:00
bjh21
4a9e799f0d Rather than (ab)using the standard error message for EFTYPE, print our own
message when "cat -f" is used on a non-regular file.  This is necessary to
make cat(1) portable to systems that don't have EFTYPE (like Linux).
2002-06-11 22:05:07 +00:00
bjh21
06cc08da90 Only use __RCSID() and __COPYRIGHT() if they're defined. 2002-06-11 22:01:30 +00:00
itojun
0f62c3f25a no need for \n on errx 2002-06-11 05:33:51 +00:00
mason
aa8bdf5f50 Add wrapper around bsd.prog.mk include in preparation for this becoming a
host tool.
2002-06-10 18:31:12 +00:00
mason
ec4fb122bd Add -l option to cat(1), as discussed on tech-userlevel. This option
causes cat(1) to use fcntl(2) to set an exclusive advisory lock on stdout.
While being useful in its own right, this will shortly be used to
guarantee orderly writing to METALOG in the case of unprivileged builds
with NBUILDJOBS > 1.
2002-06-10 07:43:33 +00:00
matt
acc63b5fea Add LL to 1099511627776 since it won't fit in a long on ILP32 systems. 2002-06-09 19:38:00 +00:00
bjh21
28ac946ca2 Fix a comment: POSIX doesn't specify -h. 2002-05-31 18:54:01 +00:00
christos
82886e162e deal with char c; c != -129 warning. Hi jason! 2002-05-31 16:18:48 +00:00
wiz
1da7ff99f7 Since we have rlim_t, use it.
Approved by kleink.
2002-05-28 22:12:25 +00:00
wiz
1815854042 __STDC__ is always defined on NetBSD. 2002-05-25 23:29:16 +00:00
wiz
10610e5a31 __STDC__ is always defined on NetBSD. 2002-05-25 23:12:16 +00:00
wiz
0b398b282c __STDC__ is always defined on NetBSD, so remove #ifdef __STDC__ (and
unnecessary #else cases).
2002-05-25 23:09:06 +00:00
bjh21
84c006d0f8 The printf builtin has been "temporarily" disabled for eight years. Remove
its directory from .PATH to avoid confusion.
2002-05-15 20:45:17 +00:00
bjh21
6f786375c4 Implement sh -a (allexport). Code (all two lines of it) from FreeBSD
(FreeBSD var.c 1.13, sh.1 1.27).
2002-05-15 19:43:29 +00:00
christos
f629aa28d9 implement noclobber. From Ben Harris, with minor tweaks from me. Two
unimplemented comments to go. Go Ben!
2002-05-15 16:33:35 +00:00
christos
eac955176d Implement unset variable error messages from Ben Harris. 2002-05-15 14:59:21 +00:00
kleink
31f7fb4902 Consistent wording: regular' files, not plain' ones; from Giorgos
Keramidas in PR bin/16824.
2002-05-15 06:52:54 +00:00
simonb
f1a6122c11 Simplify previous - sbuf.st_blksize is a uint32_t, so just use
bsize = MAX(sbuf.st_blksize, BUFSIZ);
and skip playing with SSIZE_MAX altogether.
2002-05-09 02:19:42 +00:00
thorpej
f8b11571bb Fix oversight in last. 2002-05-09 02:13:10 +00:00
thorpej
2ee7baad55 Skip a check that is always true if _LP64 is defined. 2002-05-09 02:07:38 +00:00
enami
b0d6c27ed1 - Use four space to indent continuation line.
- Put a space after the C language keyword ``switch''.
- Put an empty line if a function doesn't have local variable.
- Use do { } while (/*CONSTCOND*/ 0) instead of { } to protect a multi
  statement macro
2002-05-02 13:25:09 +00:00
enami
9ca32dd36a A default .Ar arugment is sufficient. 2002-05-02 13:14:23 +00:00
enami
cda5eec6df - Don't put space before function call operator.
- Remove trailing whitespace.
- Put an empty line if function doesn't have local variables.
- Use tab instead of spaces.
2002-05-02 13:07:01 +00:00
kleink
5f23bdba58 Add missing -p to synopsis; from Ryan Younce in PR misc/16555. 2002-04-29 19:47:01 +00:00
nathanw
43634bc5ba Since kinfo_proc2 has many values that are 64-bit, ps needs to know
that they're 64-bit, and grab them out of memory appropriately. Otherwise,
big-endian systems get the wrong end of the 64-bit value and lose.

Keywords affected: inblk, majflt, minflt, msgrcv, msgsnd, nivcsw, nsigs,
nswap, nvcsw, and oublk.
2002-04-24 21:41:22 +00:00
wiz
66a3e61375 "a, b, c, and d", not "a, b, c and d". 2002-04-24 08:58:33 +00:00
wiz
46f7269fa1 End sentence with a dot. 2002-04-21 00:10:09 +00:00
lukem
94f2b78379 - Directories marked `optional' won't be stored, even though their
contents will be.
- Document that `optional' faked-up entries won't be created.
2002-04-20 23:36:48 +00:00
lukem
a879a977d2 If an entry is in the specfile but not in the underlying file system, and it's
marked "optional", don't add it.
2002-04-12 04:44:08 +00:00
christos
de525ac6ca Try harder to find a tty. 2002-04-10 15:52:07 +00:00
thorpej
3ea17f6cff Move the declaration of digit[] into the #ifdef'd code block that
uses it.  Prevents a warning from gcc 3.2.
2002-04-09 00:52:05 +00:00
christos
e6ab6d48dc PR/16174: Matthias Buelow: Job control fails on jobs that fd == 2 does not
point to a tty.

Unfortunately the shell assumed that it could do all process group
handling ioctls to fd=2, but this is not correct. Jobs that redirected
fd=2 would be unable to perform the ioctls and silently fail since
the error reporting channel is fd=2... Instead open /dev/tty set
it to close on exec, and use that instead (like all other shells
do). We don't handle the case where the OS does not provide FD_CLOEXEC
or FIOCLEX, because I am lazy.

While I am there:
- Simplify the code by defining functions for tc{g,s}pgrp when OLD_TTY_DRIVER
  is defined.
- make sure that 'sh &' works by stopping itself. Don't kill the shell's
  process group, kill the shell itself.
2002-04-03 14:30:44 +00:00
christos
c910c75b83 PR/16010: Andreas Gustafsson: wait is not interruptible. 2002-03-22 19:50:42 +00:00
thorpej
9c33b55e7c Split the notion of building Hesiod, Kerberos, S/key, and YP
infrastructure and using that infrastructure in programs.

	* MKHESIOD, MKKERBEROS, MKSKEY, and MKYP control building
	  of the infratsructure (libraries, support programs, etc.)

	* USE_HESIOD, USE_KERBEROS, USE_SKEY, and USE_YP control
	  building of support for using the corresponding API
	  in various libraries/programs that can use it.

As discussed on tech-toolchain.
2002-03-22 18:10:19 +00:00
simonb
668ba50fa3 In forkshell() don't free the current job. Fixes problem with previous
commit where pipeline commands didn't inherit the correct process group.
Reviewed by Christos.

Change a trace format string arg to use %p instead of %x and a long cast.
2002-03-12 03:45:02 +00:00
christos
bac9369a06 PR/15877: Ed Ravin: make sure that we cleanup enough of the job structure,
in jobfree() so that we don't fail when we use a malloc where free() trashes
freed memory.
2002-03-12 00:44:16 +00:00
christos
ccbeeb7cba get rid of sp completely, we were free-ing a bogus pointer; found by simonb. 2002-03-12 00:14:31 +00:00
wiz
af646eef11 Remove a __P(). 2002-03-09 19:32:03 +00:00
christos
971f33821d % set verbose echo
% echo foo >& bar
% cat bar
guess what you get:
echo foo
foo
2002-03-08 17:15:30 +00:00
christos
5d5763b4f5 Fix:
% set N2=`echo 1; echo 2; \
?                       echo 3`
% echo $N2
1 2
so that
% echo $N2
1 2 3
2002-03-08 16:37:45 +00:00
wiz
10d6eb080d Drop duplicate .Pp. 2002-03-05 15:09:26 +00:00
wiz
1932d50001 Drop trailing space. 2002-03-04 13:19:33 +00:00
ad
5a6b9d89df Xref pkill/pgrep. 2002-03-04 13:02:32 +00:00
lukem
b799ed2973 first variable argument to "read" is not optional 2002-02-24 21:41:52 +00:00
martin
f95cd5a968 Use int32_t for temporary variables (instead of long), that is the same
type as we get the data passed from the kernel. This avoids (missing)
sign extension bugs on LP64 systems and partly takes care of PR 15677.

We now print this values as negative seconds - still wrong, but that
probably is due to the simple way this values are acumulated in the
scheduler, causing negative times when ntpd steps time backwards.
2002-02-21 19:31:03 +00:00
christos
8b449b1ee8 enami convinced me that it is a good idea to use the first word of
the allocated area.
2002-02-20 21:42:35 +00:00
pooka
2b1fe1903a rewritten in NetBSD 1.6 -> rewritten for NetBSD 1.6 2002-02-19 21:14:45 +00:00
enami
3579a42285 Cosmetic changes. 2002-02-19 06:30:12 +00:00
christos
06ea4006cb PR/11542: Back-out previous change that caused
set -e
for x in a; do
    BAR="foo"
    false && echo true
    echo mumble
done

not to echo mumble...
2002-02-14 21:51:41 +00:00
enami
b127ec2616 Just use return value of strvis instead of calling strlen. 2002-02-14 06:57:19 +00:00
enami
4c30ea4ac5 Don't define variable as static unnecessarily. 2002-02-14 06:54:41 +00:00
christos
6c02afd8c4 Since we should be able to handle nested double quotes, don't use
the syntax maps to determine the beginning and end quotes (kill
CENDQUOTE).  Handle single quotes opening and closing via checking
the current syntax map. Keep a bitmap of doublequote state one bit
per variable nesting level.  For the first 32 nested double quotes,
we don't need any additional memory, but for more we allocate
dynamically.
2002-02-12 20:32:35 +00:00
ross
79f9ab6771 back this directory up a day, systems won't even boot (rc.subr splodes)
suggested back-to-the-drawing-board test: $ echo "${PWD:-notlikely}"
2002-02-12 06:39:10 +00:00
christos
f63e9a1ed6 PR/15579: Alan Barrett: }'s inside variable specs were taken into account
even if quoted:
    foo=${foo:-"'{}'"}; echo $foo
would display '{'} instead of '{}'.
2002-02-11 18:57:19 +00:00
christos
39d26b8867 Add a commented out -DDEBUG in CPPFLAGS. 2002-02-11 18:55:10 +00:00
christos
4398551708 Fix off by one in the display of var trees. 2002-02-11 18:54:30 +00:00
wiz
9baadd8ee5 "doesn't" should have an 's'. 2002-02-11 11:19:26 +00:00
wiz
f78eb76cbe achive is not a good word. 2002-02-11 10:57:57 +00:00
ross
dc5571b22e Generate <>& symbolically. I'm avoiding .../dist/... directories for now. 2002-02-08 01:21:55 +00:00
lukem
9c2af9970a .ifdef SMALLPROG, -DSMALL 2002-02-07 06:25:07 +00:00
ross
0271045b3e type in ^ directly, instead of \(ua which isn't in all the fonts 2002-02-06 12:51:13 +00:00
fair
4d71b1538f Add explanation of directory sizes, and a reference to dir(5),
per PR 14291.
2002-02-03 08:00:05 +00:00
lukem
1242cb95f9 .ifdef SMALLPROG, compile with -DNO_CONV and don't compile in conv_tab.o 2002-02-02 13:03:21 +00:00
lukem
c22ef7801b make smaller if SMALLPROG is defined, not CRUNCHEDPROG; it's feasible
that a crunchgen(3)ed version of pax wants -USMALL ...
2002-02-02 12:41:14 +00:00
lukem
6ee4925cf5 - don't compile in support for -M (mtree specfile input) or -N dbdir
(alternate directory for id info) if SMALL is defined
- enable -DSMALL and remove unused objects if CRUNCHEDPROG is defined
- minor cleanup in next_file() (preparation for future work)
2002-02-02 12:34:39 +00:00
tv
9fbd88883c Roll in fixes to permit cross-compiling from non-NetBSD hosts. This
round has been tested on Solaris/x86 and Linux hosts.

* Add host tools cap_mkdb, ctags, m4, uudecode.
* Protect __RCSID() and __COPYRIGHT() better.
* Reduce the number of places that need to include "config.h", to keep
  sources closer to their "vanilla" versions.
* Add more compat #defines and autoconf-checked functions.
2002-01-31 22:43:33 +00:00
tv
47b0d14e39 Protect __RCSID and __COPYRIGHT from being invoked if not defined. 2002-01-31 19:27:53 +00:00
christos
d1fe293a6b stderror does not return. 2002-01-30 20:53:33 +00:00
itohy
6ba4cdcf16 Fix problem where
% echo $20000000000
	Segmentation fault (core dumped)
2002-01-30 07:02:01 +00:00
wiz
a57e2bc28e Fix bin/5205 (weird interaction between tbl and man macros). 2002-01-29 15:12:54 +00:00
tv
6660e8d99e Blah, oversight. Revert previous; clean up to proper syntax, and add
conditional for <err.h>.
2002-01-29 10:53:39 +00:00
tv
4fe0f9e35e This doesn't appear to be used in src/tools any longer; remove the config.h
glue bits.
2002-01-29 10:51:45 +00:00
tv
a328e34106 Make almost all tools compile and run properly on non-NetBSD hosts. (In
particular, most tools now run correctly on Solaris 7.)
2002-01-29 10:20:28 +00:00
tv
fcae5f73b7 Add hooks to make mtree compilable from src/tools. 2002-01-29 00:07:27 +00:00
lukem
1a63c49a4f provide meaningful warning if -N is called with a dodgy dbdir 2002-01-26 02:22:54 +00:00
sjg
84412e9292 Fix some aspects of globbing - in emacs mode at least.
echo ~<ESC><ESC> and $HOME<ESC><ESC> as well as ~/b<ESC><ESC> all
now expand correctly.
2002-01-25 23:40:51 +00:00
martin
5bb1b47a42 Do not .include <bsd.prog.mk> if building as a host tool. 2002-01-25 22:11:11 +00:00
lukem
ae5120dc49 Add '-N dbdir', to specify that user & group lookups (via pwcache(3)) are to
be done from dbdir/master.passwd and dbdir/group, using simple text file
parsing routines from ../../usr.sbin/mtree/getid.c.
This does not affect the -G and -U options, which always use the
system databases.
2002-01-24 07:45:33 +00:00
atatat
c25d406046 Add a -E flag to ed(1) and sed(1) so that they can use extended
regular expressions instead of just basic regular expressions.
2002-01-23 19:07:33 +00:00
is
ef3617499c add config.h when compiled as host tool. 2002-01-22 13:03:57 +00:00
jdolecek
ef1ec2419d started(): don't assume that the field width is correct and recompute
it as needed

This fixes bogus output for cases like `ps -ao start=xx`, as reported by
Martin Macok of Undeground.cz on current-users@netbsd.org.
2002-01-21 23:01:55 +00:00
wiz
ad76045c6e Use mdoc macros instead of man ones. 2002-01-21 18:08:53 +00:00
wiz
0e1f9af4f9 We don't want trailing dots in .Nd. 2002-01-15 09:14:15 +00:00
lukem
466f245289 Convert some variables that were signed ints before my update to 64 bit sizes
from uint64_t to int64_t.  Fixes [bin/15187]
2002-01-10 03:25:12 +00:00
wiz
0042317848 Fix a typo, and improve grammar. 2002-01-03 16:58:04 +00:00
soren
3dfa483ad3 Oops, pasto. 2001-12-20 20:17:29 +00:00
soren
dc53bf3cba Sync getopt() / man page with actual getopt options. 2001-12-20 20:10:33 +00:00
wiz
598b3724c2 Punctuation nits, use Bd -literal instead of .nf, drop unnecessary .Pps. 2001-12-20 20:08:25 +00:00
wiz
5739c48f68 Punctuation nits, drop unnecessary .Pps, sort sections. 2001-12-20 20:07:40 +00:00
wiz
9f4702dcef Punctuation nit. 2001-12-20 20:06:45 +00:00
wiz
088f57c5f1 Punctuation nit, sort SEE ALSO. 2001-12-20 20:06:32 +00:00
wiz
8ee888f96f Properly quote punctuation. 2001-12-20 20:06:15 +00:00
wiz
8adaff33d3 Use standard headers. 2001-12-20 20:05:25 +00:00
wiz
e0ab876efe Use standard headers, sort sections. 2001-12-20 20:05:12 +00:00
wiz
6fa1adea30 Use standard headers, sort SEE ALSO. 2001-12-20 20:04:46 +00:00
wiz
22f1ac50a6 Sort sections. 2001-12-20 20:04:19 +00:00
wiz
bc5b87e7e0 Sort SEE ALSO. 2001-12-20 20:03:29 +00:00
wiz
0444d75ada Sort sections, drop unnecessary .Pps, use standard headers. 2001-12-20 20:02:47 +00:00
wiz
bd4e745f5b Drop unnecessary .Pps. 2001-12-20 20:01:55 +00:00
wiz
94eea247e1 Sort sections, drop unnecessary .Pps. 2001-12-20 20:01:15 +00:00
wiz
3ebcdc5e43 Whitespace nits. 2001-12-20 19:31:48 +00:00
kleink
6dc4210b48 Deocument the meaning of a pid value of 0 and remove the BUGS section;
mostly from Jonathan Perkin in resolution of PR bin/15008.
2001-12-20 15:13:08 +00:00
christos
8c43d5ed6d make sure that rlim_cur >= rlim_max in all the setrlimit(2) cases. 2001-12-17 16:38:12 +00:00
wiz
3fc2bda98b Document set time variables, and the format strings recognized.
Based on the patch provided by Jonathan Perkins in PR 14465.
2001-12-12 13:10:44 +00:00
tv
a2291b79c0 MKfoo=no -> NOfoo= 2001-12-12 00:07:45 +00:00
wiz
b4371d47f5 Replace some misuses of "then" with "than". 2001-12-04 17:56:30 +00:00
thorpej
eaf8d9021b Deal with LP64 printf format issues. 2001-11-30 00:12:04 +00:00
enami
cd5b60066b a bit more cosmetic changes. 2001-11-26 00:56:33 +00:00
lukem
301fb81a16 Replace {u_,}longlong_t usage with {u,}int64_t, as the former has
"issues" and really shouldn't be used outside of the Sun XDR stuff.
Thanks again to Chuck Silvers for reminding me.
2001-11-26 00:13:23 +00:00
wiz
0c148f3ac9 Drop a space and an unnecessary .Pp. 2001-11-25 18:08:29 +00:00
lukem
5605d92740 fix conv= description 2001-11-25 10:54:47 +00:00
lukem
b6ce735c04 - Use u_longlong_t instead of u_quad_t, u_long, or int for various buffer sizes
- Add strsuftoull(), which parses a number into a u_longlong_t, with
  multiplication support, and support for 'g' (GB) and 't' (TB) suffices.
  If an error occurs, print to stderr and exit.
  Based on get_blk() from args.c and strsufto*() (in other programs)
- Add strsuftoullx(), which acts as per strsuftoull() but returns the
  error in the supplied buffer instead (if the returned buffer != "", an
  error occurred)
- Replace get_bsz() use with strsuftoull()
- Remove (now) unnecessary argument validation
- Remove unused {f,p,s,t}_stats fields in struct IO
2001-11-25 10:50:06 +00:00
lukem
6848de8fe5 fix WARNS=2 for -DNO_CONV 2001-11-25 06:57:55 +00:00
lukem
8605a1aa68 - ANSI KNF
- WARNS=2 (mainly converting some "char *" -> "const char *")
2001-11-25 06:53:48 +00:00
jmc
440e119ba5 Patch from mycroft to fix case of rm -rf nonexistant on a r/o fs would still
report errors. Checking the fts_errno for ENOENT before attempting removal
fixes this.
2001-11-22 00:16:07 +00:00
he
ed00fe0aee Plug a memory leak when setting PWD -- don't mark the variable with
VTEXTFIXED because the value is dynamically allocated.  Fix from
Tor Egge, FreeBSD PR#31533.
2001-11-14 18:04:36 +00:00
christos
182abdd796 PR/14558: Tero Kivinen: Check the return value of nanosleep and don't fail
silently.
2001-11-12 14:55:53 +00:00
jwise
8ce003bad4 Fix a cross reference in man page. This should probably be mandoc-ified
if we are not going to use reachover makefiles for ksh (and given that
pdksh does not update very frequently (at all?  any more?  at the moment?),
it is probably reasonable not to).
2001-11-11 21:09:34 +00:00
hubertf
dc9f52db45 Add a second example for copying directory trees, this time as root
(using -pe, which also preserves ownership).

Proof-read by Perry.
2001-11-08 00:02:10 +00:00
hubertf
ab7c58c99d * Fix example on how to copy a tree.
Noted in PR 14486 by Hiramatsu Yoshifumi <hiramatu@boreas.dti.ne.jp>
 * In the same example, add flags to preserve permissions (-pp)
2001-11-07 03:17:24 +00:00
jdolecek
a76b375c0f put -l explanation before -m, so that the options are in alphabet order
Fixes misc/14471 by Hiramatsu Yoshifumi.
2001-11-05 17:51:56 +00:00
lukem
678a800f83 change from WARNS?=1 to WARNS?=2 for bin/ 2001-11-03 13:40:30 +00:00
lukem
94f08e9869 default to WARNS=1 if not set 2001-11-03 13:39:25 +00:00
lukem
537f55c6b7 fix WARNS=2 2001-11-03 13:35:39 +00:00
lukem
b8a6769184 fix minor WARNS=2 2001-11-03 13:21:09 +00:00
lukem
cc76cf8530 fix WARNS=2 2001-11-03 13:08:16 +00:00
lukem
33b90eebfd fix WARNS=2 2001-11-03 12:49:31 +00:00
christos
0598afe4d0 Fix switch alias handling. Inspired from FreeBSD, but corrected to handle
alias expansion inside the switch as appropriate. This is achieved by a
flag noalias which is turned on and off in as we parse. In the following
example [1] and [0] indicate the value of noalias.

[0] case <expr> in
[1] <lit> ) [0] <expr> ;;
[1] <lit> ) [0] <expr> ;;
...
[1] esac [0]

FreeBSD does:

[0] case <expr> in [1]
<lit> ) <expr> ;;
<lit> )  <expr> ;;
...
esac [0]

This handles the following shell script:

alias a=ls

case $1 in
a)	echo a;
	a;;
f)	echo f;;
*)	echo default;;
esac
2001-11-02 23:49:14 +00:00
wiz
ee03b26cd0 Whitespace nits, sort sections, fix Dv usage (doesn't like macro argument). 2001-10-28 19:03:12 +00:00
lukem
9ee82d317a s/u_longlong_t/unsigned long long/ to shut up the parc port 2001-10-28 13:06:43 +00:00
lukem
158048edab improve previous; use %lu and (u_long) to print size_t 2001-10-26 16:03:24 +00:00
lukem
5e919e1699 Cast size_t's to (int) when printing as %d; appeases the sparc port.
Found by Rob Windsor in [bin/14362].
2001-10-26 15:58:43 +00:00
lukem
a7febe9ca0 minor improvements in wording and flag testing 2001-10-25 13:54:54 +00:00
lukem
55026d5454 Implement -M flag: During a write or copy operation, treat the list of
files on standard input as an mtree(8) `specfile' specification, and
write or copy only those items in the specfile.

If the file exists in the underlying file system, its permissions and
modification time will be used unless specifically overridden by the
specfile. An error will be raised if the type of entry in the specfile
conflicts with that of an existing file.

Otherwise, it is necessary to specify at least the following parameters
in the specfile: type, mode, gname or gid, and uname or uid, device
(in the case of block or character devices), and link (in the case of
symbolic links). If time isn't provided, the current time will be used.
2001-10-25 08:51:50 +00:00
lukem
c1bd745ccb - ansi KNF (just remove all the #ifndef __STDC__ prototype junk,
leaving the ansi stuff)
- use longlong_t instead of quad_t (etc), and rename *uqd*() -> *ull*()
- clean up the NET2_STAT stuff similar to ftpd; provide #defines and
  macros which select which cast to use, etc
- clean up the NET2_FTS and NET2_REGEX #define use
2001-10-25 05:33:32 +00:00
lukem
655fadf63c fix typo 2001-10-24 11:28:55 +00:00
lukem
a596720367 enable WARNS?= 2 2001-10-19 00:59:07 +00:00
wiz
880b4d21b9 Quote `:' correctly. 2001-10-18 11:00:03 +00:00
lukem
353bb37176 fix strlcpy length in previous... 2001-10-18 08:03:46 +00:00
lukem
b720dda403 make this WARNS=2 safe 2001-10-18 03:54:18 +00:00
lukem
0d74a5dc03 flags_to_strings() changes:
- fix bug where the 'clear' flag was set outside of main loop, so
  "dump,uchg,arch" on a file with flags would clear all the bits
  (because "dump" sets 'clear'). noted in FreeBSD PR 10071, and fix
  obtained from FreeBSD.

- enforce right-most priority on arguments by clearing the appropriate
  bit in the opposite set; if a string of "nouchg,uchg" is given,
  chflags(8) would clear uchg because it applies the "set" bits before
  clearing the "clear" bits.  now, "uchg" sets UF_IMMUTABLE in setp
  and also resets it in clrp, solving this problem

- constify second arg (the `default' arg)
2001-10-18 03:16:20 +00:00
wiz
98af901532 Whitespace, punctuation fixes. Sort sections. 2001-10-17 21:50:57 +00:00
wiz
4b238d257d Properly quote `[' as macro argument. 2001-10-17 21:14:45 +00:00
christos
bebeebd8aa if -a is not given, we need to walk the filesystem list to check the
flags in order to get the correct count (from enami)
2001-10-11 16:31:33 +00:00
enami
802d6b10df KNF. 2001-10-11 09:23:31 +00:00
wiz
5893dbb3e5 Fix typo. 2001-10-07 16:28:39 +00:00
wiz
3eaf37c5c9 Bring in pdksh-5.2.14-patches.2.
ChangeLog entry:
Mon Jan 29 10:12:31 NST 2001 Michael Rendell (michael@garfield.cs.mun.ca)
* c_exec.c(execute): added rv_prop flag to prevent if/while/for/...
  in the presence of "set -e" from causing the shell to exit.
Example:
	set -e
	(false && echo hi)
[exits shell though it shouldn't]
ChangeLog and example provided by pdksh maintainer, Michael Rendell.
2001-09-29 15:05:47 +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
itojun
31952d578f make sure we do not truncate arith expresssion > 10 digits.
freebsd bin/sh/expand.c revision 1.15.  NetBSD PR 13943.
2001-09-19 06:38:19 +00:00
wiz
f64af5cae0 ANSIfy, KNF, by Petri Koistinen. 2001-09-16 22:14:40 +00:00
wiz
3684e0c468 ANSIfy, KNF, use [gs]etprogname. By Petri Koistinen. 2001-09-16 22:07:14 +00:00
wiz
12fd1274d8 ANSIfy, KNF, use [gs]etprogname. Patch by Petri Koistinen. 2001-09-16 21:57:34 +00:00
wiz
263be60d13 ANSIfy, KNF, use [gs]etprogname. By Petri Koistinen, slightly modified by me. 2001-09-16 21:53:55 +00:00
wiz
0b11ad4584 ANSIfy, KNF, [gs]etprogname, by Petri Koistinen. 2001-09-16 21:24:54 +00:00
wiz
244247f8ff ANSIfy, KNF, [gs]etprogname. By Petri Koistinen. 2001-09-16 21:21:14 +00:00
wiz
240b5f82de ANSIfy and KNF by Petri Koistinen. 2001-09-16 21:18:33 +00:00
wiz
d3d81c4e84 Some KNF fixes by Petri Koistinen and me. 2001-09-16 19:03:26 +00:00
wiz
f80fec075d ANSIfy, use setprogname. Patch by Petri Koistinen. 2001-09-16 18:57:45 +00:00
wiz
456dff6cb8 Spell 'occurred' with two 'r's. 2001-09-16 16:34:23 +00:00
wiz
ed7b508e36 Use {g,s}etprogname. Patch by Petri Koistinen. 2001-09-16 13:55:09 +00:00
wiz
354d883bd4 ANSIfy and KNF fixes, use {g,s}etprogname. Patch by Petri Koistinen. 2001-09-16 13:48:35 +00:00
wiz
7a64806dbc Use {g,s}etprogname, and some other KNF stuff. Patch by Petri Koistinen. 2001-09-16 13:42:10 +00:00
wiz
bb88f10d3d Use setprogname. Patch by Petri Koistinen. 2001-09-16 13:35:52 +00:00