Commit Graph

2713 Commits

Author SHA1 Message Date
christos 06cdcd1106 PR/34255: dieter roelants: Remove mention of -p f. 2006-08-22 17:42:19 +00:00
christos a6fdd24769 - detect buffer overflow.
- if we have a trailing slash, don't add another one.
2006-08-21 23:09:50 +00:00
dsl 413b7762c2 Rework the code changes from revisions 1.69, 1.70 and 1.74 so that the code
behaves correctly.
As far as I can tell, "x$@y" now expands correctly, as does IFS=:; set -$IFS.
Fixes PR/33472 (again) and PR/33956
2006-08-21 21:30:14 +00:00
christos eae5877e02 from zafer: you can have either -k or -h but not both since it does not make
sense.
2006-08-21 19:08:47 +00:00
christos b65b7f50b1 -h and -[mgk] are mutually exclusive. Only use the last specified. [from zafer]
Use one variable instead of 3 flags to hold the scale, so that we don't have
to reset each flag.
2006-08-21 19:05:14 +00:00
christos e6c35f2090 2 fixes from Elad:
1. fix the symlink issue mentioned in:
   http://marc.theaimsgroup.com/?l=openbsd-tech&m=115513754417683&w=2
2. handle socket(2) versioning.
2006-08-21 01:35:11 +00:00
jnemeth a0cb2a839d don't include program name when calling err() 2006-08-17 10:03:53 +00:00
jschauma d59f01f8fb initialize dne variable in the beginning, then move the resetting of
this variable down into the second (ie post-order) pass to make cp
pass all regression tests again.
2006-08-15 23:03:51 +00:00
tron af4d285682 Avoid errors like "cp: /foo/bar/directory" exists if cp(1) is used to
copy multiple directories and the first one doesn't exist in the
target directiry but another one (e.g. the second) does.
2006-08-15 13:06:02 +00:00
tls 1775a62964 Fix sentence fragment that somehow got into the long comment about rm -P. 2006-08-14 20:38:13 +00:00
christos 8c4dec8fa5 don't call get/set progname when we are a shell built-in. 2006-08-04 19:07:55 +00:00
christos c338573fdf use getprogname() instead of argv[0], because some programs that execv, pass
the full path in argv[0] instead of just the basename. In reality, those
programs should be fixed (hello gdb for example).
2006-08-04 14:38:58 +00:00
christos 8a487b533d PR/34055: Kevin Massey: Date uses a fixed 1K buffer for strftime
but does not check when strftime fails because the buffer is too small.
Our implementation of strftime does not NUL terminat the buffer
on failure (it does not have to; the results are undefined), so
garbage gets printed. Use a dynamically allocated buffer instead.
2006-07-23 20:39:10 +00:00
jschauma 471c8a8e68 return functionality backed out yesterday after fixing the bug I had
introduced before.  A regression test will be added to src/regress
shortly.
2006-07-16 16:22:24 +00:00
jschauma d8c803bc48 The last commit introduced a bug. Revert until that's found and fixed. 2006-07-15 20:42:55 +00:00
jschauma 2b5fd7fd97 As suggested on tech-userlevel:
"-R" claims:
 -R	[...] Created directories have the same mode as the corre-
	sponding source directory, unmodified
	by the process' umask.

Make this actually true.

In addition, make '-P' (no symbolic links are followed) apply even if
'-R' is not specified.  This allows users to overwrite symbolic links
with files and/or to copy symbolic links over a file without indirecting
through the link (ie a copy of a link turns the target into a link, not
a copy of the file pointed to by the source).
2006-07-15 02:09:47 +00:00
mrg 334f3f5949 apply a little -O0 with GCC4 and vax... 2006-07-01 05:54:35 +00:00
christos 67a8ed80ce PR/33834: Bucky Katz: Crossbuild on FC5:sort doesn't handle '+' field
specifications
2006-06-27 12:27:27 +00:00
christos a8b3562160 PR/33775: YAMAMOTO Takashi: /bin/sh doesn't accept "(" before case patterns 2006-06-20 15:57:44 +00:00
ginsbach 84b3179a34 Adapt date(1), the netsettime function, to new return value from socket(2)
when the address family is unsupported.
2006-06-14 16:35:16 +00:00
christos 460f8d8a0c PR/33699: Kevin Massey: use strlcpy to prevent stack overflows. 2006-06-11 16:15:20 +00:00
dsl 0e765f005a When expanding "$@" add a \0 byte after the last argument (as well as all
the earlier ones) so that a separator is added before it when it is empty.
This wasn't needed before a recent change that chenged the behaviour of
trailing whitespace IFS characters.
Fixed PR/33472
2006-05-20 13:57:27 +00:00
christos 62faec262e Don't free random memory; thanks gcc-4. 2006-05-14 01:09:03 +00:00
christos a7679aa75e Fix two uninitialized variables with XXX: GCC. 2006-05-14 01:05:42 +00:00
christos c5d3cabfdd Coverity CID 3365: Fix inverted logic! 2006-05-13 21:58:51 +00:00
christos f88f667da4 Coverity CID 3367, 3368: Avoid NULL deref. 2006-05-13 21:54:13 +00:00
christos 4f633ea02a Coverity CID 3368: Fix memory leak. 2006-05-13 21:48:00 +00:00
christos 16464dcda5 Coverity CID 3369: Fix memory leak. 2006-05-13 21:42:45 +00:00
christos 2701e5b9be Coverity CID 3330: Initialize uninitialized variable. 2006-05-13 21:22:32 +00:00
christos 78b76e5792 Coverity CID 3331: Remove impossible test. 2006-05-13 21:18:57 +00:00
christos e80f354dab Coverity CID 3384: Don't close -1. 2006-05-13 19:47:22 +00:00
mrg aadd7d4847 sprinkle some -fno-strict-aliasing and -Wno-pointer-sign with GCC4. 2006-05-11 23:16:28 +00:00
mrg 084c052803 quell GCC 4.1 uninitialised variable warnings.
XXX: we should audit the tree for which old ones are no longer needed
after getting the older compilers out of the tree..
2006-05-10 21:53:14 +00:00
mrg 4d375f236f rename exp2() to csh_exp2(). (bah, we don't even have an exp2()) 2006-05-10 21:14:48 +00:00
simonb 15dc85722d Make the change for bin/31548 to set $PWD on shell startup non-fatal if
the current directory doesn't exist.
2006-05-04 11:16:53 +00:00
christos ec2162bd79 Avoid double free. 2006-04-27 13:25:21 +00:00
christos 6ce96df0b7 Coverity CID 2993: Fix memory leak. 2006-04-24 20:00:31 +00:00
christos 8a8f572953 Coverity CID 2994: Don't leak memory in the perm case. 2006-04-24 19:58:20 +00:00
christos f2ec0dc9a2 Coverity CID 2995: Fix memory leak. 2006-04-24 19:53:08 +00:00
snj a640fe8c43 It's "its." 2006-04-24 19:00:29 +00:00
snj bf5ceaae16 It's "its." 2006-04-24 18:00:53 +00:00
christos da09d1a838 PR/33281: Martin J. Laubach: Prevent core-dump on "echo abc | { }". bash
prints and error and ksh prints nothing. We go the ksh way.
2006-04-18 14:44:05 +00:00
christos c5d25686e0 PR/22995: Sergey Svishchev: If we are cd'ing around and we have directories
with relative paths, convert the directories to absolute paths, so that
restoring timestamps does not fail.
2006-04-16 16:20:21 +00:00
provos 9244f58a4e translate sendmsg so that tools like nslookup will show remote addresses;
i waited for three years and nobody did this; had to do it myself :-(
2006-04-16 05:19:02 +00:00
provos fed8136a4e add new system calls (__lstat30 and __stat30) that should have been added
for argument translation in Systrace
2006-04-15 20:35:24 +00:00
christos 6236eeb27a Don't free str; it is used in pat_add. Noted by: Kouichirou Hiratsuka 2006-04-14 16:57:01 +00:00
wiz 3598f93379 Fix date (no leading zero), fix xref: sticky(7) not (8). 2006-04-08 22:39:39 +00:00
jschauma b338995776 Address PR 30374 as suggested in there:
"Modify the man page to match the behaviour of "ls -q",

(done by yamt@ previously)

...
modify both the behaviour and documentation for "ls -b" and "ls -B" to
make spaces readily apparent.  This could be done by adding VIS_WHITE
to the flags passed to strvis(3) in the safe_print() function in
src/bin/ls/util.c."

'ls -b' now yields foo\sbar (whitespace) foo\tbar (tab) foo\rbar (CR).
'ls -B' now yields foo\040bar foo\011bar foo\015bar.
2006-04-08 22:28:06 +00:00
yamt 3dc055fb76 s/non-graphic/non-printable/ to match with the code. 2006-04-08 12:04:22 +00:00
christos 0346684a3d save the home directory. 2006-04-05 23:10:16 +00:00
christos 868accdb18 Coverity CID 1836: Free Source after return from shell. 2006-04-01 23:39:58 +00:00
christos c28f114217 Coverity CID 1844: Add annotations for aresize. 2006-04-01 23:36:28 +00:00
christos 0ad4767103 Coverity CID 1829: Fix memory leak. 2006-04-01 23:34:43 +00:00
christos c4378122a1 Don't leak memory if RJUST|LJUST is specified. This might fix a whole bunch
of Coverity issues, but we'll wait until the next run :-)
2006-03-29 15:51:00 +00:00
christos dcbe086f64 correct coverity model. 2006-03-26 21:36:13 +00:00
christos 7e2f55514f Coverity CID 1755: Add fts_close() in traverse. 2006-03-22 16:20:34 +00:00
christos 6365ef6a81 Change previous to assert that the index is within bounds only when the
index actually used.
2006-03-22 16:12:19 +00:00
christos 4bd79d53a1 Oops, the previous change was not entirely correct since we were checking
the wrong byte.
2006-03-22 01:45:08 +00:00
christos 80f67fa272 Coverity CID 879: Don't increment bits before checking it for NULL. 2006-03-21 23:50:09 +00:00
christos 3351d69442 Add coverity model annotations 2006-03-21 23:40:49 +00:00
christos 0c6d11b6a4 Coverity CID 2736: Remove 16 bit int compat code. 2006-03-21 16:46:44 +00:00
christos eab2cd7c2b Coverity CID 1827: Plug memory leak. 2006-03-20 20:20:07 +00:00
christos 85e611dd01 Goodbye KerberosIV 2006-03-20 04:03:10 +00:00
christos 59586f9983 Coverity CID 1606: Plug memory leak. 2006-03-19 19:12:23 +00:00
christos a8846ec5ac Coverity CID 2734, 2731: Use after free; resource leak 2006-03-19 19:06:39 +00:00
christos bb7bab2df4 Coverity CID 877: Prevent NULL deref. 2006-03-18 07:24:40 +00:00
christos c8a3069e94 Coverity CID 1484: Static buffer overrun. 2006-03-18 07:23:07 +00:00
christos 3cf8c179a3 Coverity CID 1763: Plug memory leak. 2006-03-18 07:09:08 +00:00
christos e889898c95 Coverity CID 1766: Plug memory leak. 2006-03-18 07:02:16 +00:00
christos f3ffb9c969 Coverity CID 1760: Plug memory leak. 2006-03-18 06:54:46 +00:00
christos 4d7c6251da Coverity CID 1228: protect against calling close with negative value. 2006-03-18 06:29:21 +00:00
christos dcfc467f4d Coverity CID 872: Possible NULL deref. 2006-03-18 06:24:26 +00:00
christos ee17e957e3 Coverity CID 343: Rework code so that we don't write after the end of the
array. The end effect is the same though.
2006-03-18 05:43:47 +00:00
christos 2ed09657c9 Coverity CID 345: Add missing free's. 2006-03-18 05:40:28 +00:00
christos eb903308f2 Coverity CID 1559: Fix memory leak. 2006-03-18 05:33:31 +00:00
christos 3e359756c9 Coverity CID 620: Remove dead code. 2006-03-18 05:25:56 +00:00
christos f6828859fa Coverity CID 890: Possible NULL pointer deref. 2006-03-18 05:23:08 +00:00
christos 169a269417 Coverity CID 1329: Possible NULL deref. 2006-03-18 05:17:36 +00:00
ginsbach f127f217fb Fix Coverity CID 1863, 1864; resource leak, bp not freed when !okname()
before function return and/or bp overwritten by malloc().
2006-03-18 04:44:49 +00:00
peter c8593a1a3c Wrap long lines. 2006-03-18 00:35:02 +00:00
peter dfd65180e1 Don't try to dereference pw when it's NULL.
Fixes Coverity CID 900.
2006-03-18 00:32:34 +00:00
peter 6dcaf25d17 Free allocated space upon failure.
Fixes Coverity CID 1661.
2006-03-18 00:14:50 +00:00
peter c75c0a8549 Change a return to "goto out" so that fclose will be called.
Fixes Coverity CID 1881.
2006-03-18 00:12:02 +00:00
peter 96b1a913a5 Call fts_close() at the end of rm_tree().
Fixes Coverity CID 1670.
2006-03-17 23:55:42 +00:00
christos 5653b43bfd Coverity CID 1226: Remove bogus close call. 2006-03-17 22:48:10 +00:00
christos 1006977549 Coverity CID 1324: Check adrof return; not really possible. 2006-03-17 22:38:44 +00:00
christos 65b5013e95 Coverity CID 2356: Remove bogus test !*argv; also cleanup string usage. 2006-03-17 22:30:11 +00:00
christos b807e41c56 Coverity CID 1762. Fix resource leak. 2006-03-17 22:24:28 +00:00
christos 94f9c01465 Coverity CID 610: Dead code 2006-03-17 22:20:31 +00:00
christos df8cbb182e Coverity CID 2479: Clarify confusion about uninitialized variable in the
presence of setjmp/vfork.
2006-03-17 17:20:47 +00:00
rumble 2174dda221 Handle asprintf failing to allocate. 2006-03-17 14:43:11 +00:00
rumble 88f1652fe8 Handle asprintf returning NULL. 2006-03-17 14:37:14 +00:00
rumble 3ad5f13d80 Handle malloc returning NULL. 2006-03-17 13:53:31 +00:00
erh a329a6a0ae Fix Coverity issue 1754. Call fts_close() after we're done copying. 2006-03-17 06:22:30 +00:00
dmcmahill 3ebb7ce790 Correct a check for an index being in bounds for a static array. 2006-03-17 00:02:30 +00:00
aymeric d5d0c11532 Make the -s flag of fc work correctly. Ensure that only one command is specified
and ensure that we break out of the loop after executing it.
With the previous code, because the re-executed command was added to the
history, it would think that it still had to execute it, leading to an infinite
loop.

The last thing which differs from ksh is that we get the "fc -s " command into
the history, but this is actually rather a feature in my humble opinion.

To test:
$ echo hello
$ fc -s ec
<infinite loop or correct behaviour>
2006-03-06 00:09:22 +00:00
christos cde6642bee PR/32931: Johan Veenhuizen: cat(1) does not clear the EOF indicator for
stdin in cooked mode.
2006-02-26 19:44:24 +00:00
wiz 1ad8067cb3 Fix typos, reported by Alexey Dobriyan ("Gathered from Linux"),
forwarded by jmc@openbsd.
2006-02-25 00:58:34 +00:00
dsl b419a25464 Ensure we exit with an error if we don't actually do anything.
There are a lot of tty_warn(0,...) and syswarn(0,...) which probably ought
to be tty_warn/syswarn(1,...) to force an error exit.  However some are
used in interactive parts (eg opening a continuation archive) where there
is a separate retry loop.
So we just pass a failure code out to main() - how quaint!
This should now cause the NetBSD build to fail when gzip tries to write
to a non-existant directory.
(I suspect there are still many errors that don't get reported correctly.)
2006-02-11 11:04:57 +00:00
dsl cdec4ac10c Change all the 'return(x)' to 'return c'.
Makes some other searches I want to do a bit easier.
2006-02-11 10:43:17 +00:00
dsl 885e558785 Actually exit with error if we cannot open("."), make it more obvious that
we exit with error on signals.
2006-02-11 10:35:19 +00:00
christos ef3fea8531 Solaris mkdir on an automounted component returns ENOSYS. Go figure.
Good choices whould have been EROFS, EEXIST, EACCES, EISDIR...
2006-01-31 19:25:20 +00:00
jschauma 262cdfcbd7 Start 'You have mail in' with a capital Y. 2006-01-15 18:16:30 +00:00
elad f909cee7d7 PR/23688: don't say we're printing in 1k-blocks if -h was also specified. 2006-01-13 14:07:57 +00:00
wiz 01db637894 Bump date for progress=n description change. 2006-01-12 21:42:11 +00:00
apb b7d86f5e4c In "dd progress=N", let the value of N control how often
to print a "." to stderr.  Previously, any non-zero
value behaved like "progress=1".

PR 24300

Approved by christos
2006-01-09 10:17:05 +00:00
yamt d2169f9f6e obey umask as it used to be before the "mkstemp and then rename" change. 2006-01-04 22:02:11 +00:00
garbled 6ac601d8c4 Add error printing for ENAMETOOLONG. Partially addresses PR bin/13850 .
The actual bug mentioned in that PR no longer exists, but it does cause:
~~~~~: error 63
Which this fix cleans up.
2006-01-02 19:10:33 +00:00
elad 9d002bc47d Give systrace its own version of realpath() that does what it wants,
call it intercept_realpath().
Unbreaks systrace.
2005-12-31 12:33:41 +00:00
dsl ea2078818f TOG require that 'set +o' output the options in a form suitable for
restoring them - make it so.
2005-12-13 17:44:18 +00:00
wiz fe8b349524 Add xref to chflags(1). From Andre Luiz de Oliveira in PR 32265. 2005-12-09 20:27:02 +00:00
christos d0d28f16f5 If we get EACCES from mkdir, try to stat() it, and if it is ok, we keep going.
Fixes problem with IRIX.
2005-12-06 19:11:15 +00:00
dsl e60beff86b Don't change the name of the directory we are going to 'cd' to just because
we decide to remove a leading "./" when deciding whether to print the name.
Stops 'cd .//tmp' ending up the same as 'cd /tmp'.
Fixes PR/30735
2005-11-26 21:44:43 +00:00
christos f85aae5649 PR/32103: Zafer Aydogan: Fix references to obsolete fstatfs and getfsstat 2005-11-18 05:04:24 +00:00
christos 95355c05c7 - Better detect pathname overflow (from FreeBSD)
- Change destination normal file detection to match with FreeBSD
- Trim trailing slashes from source filenames so that cp foo/ == cp foo
2005-11-16 22:42:12 +00:00
chs 83fd12c4fb add "uaddr" and improve text for "laddr". 2005-11-11 17:06:22 +00:00
chs 58c15fb5d1 add a keyword for the uarea address. very useful with crashdumps. 2005-11-05 19:27:24 +00:00
christos c952ef6b81 PR/31923: Sergey Svishchev: pax-as-tar ignores -k, overwrites existing files
Fix from Onno van der Linden
2005-11-01 23:43:27 +00:00
jschauma 0386433d98 Somehow missed this in the last commit, where I only changed the commentary
to reflect the actual change (plus minor nits).  So here's the actual change:

Rather than '-h' suppressing '-s' when using '-l', make it display
the blocks used in human readable form, as suggested by Alan Barrett
and Daniel Carosone.

(Missing bits spotted, as usual, by wiz@.)
2005-10-31 14:13:33 +00:00
elad 2fc1513987 The emulation for these should be "native", not "netbsd".
Noted by Ray Lai.
2005-10-26 21:17:23 +00:00
jschauma ea274fd69c Rather than '-h' suppressing '-s' when using '-l', make it display
the blocks used in human readable form, as suggested by Alan Barrett
and Daniel Carosone.
2005-10-26 02:24:22 +00:00
kleink fd4c891ff8 Remove the "" -> "." target conversion kludge. 2005-10-24 12:59:07 +00:00
jschauma 3478ebe108 document that -h makes -l suppress -s.
(Ie 'ls -lhs' == 'ls -lh')
2005-10-23 20:52:47 +00:00
elad c9981d258c PR/27140: "sleep time" doesn't error out.
Apply fix from Dheeraj Reddy.
2005-10-17 10:11:46 +00:00
christos 509c72ef94 - Don't output 'src -> dst' when -v and there was an error.
- Mark usage as noreturn, and remove extraneous exit.
- Pass lint.
Reported by Liam Foy.
2005-10-15 18:22:18 +00:00
jschauma ff54312f75 Honor the COLUMNS variable even when producing output not to a terminal,
as long as a specific format (that could use COLUMNS) was requested.
This makes

env COLUMNS=50 ls -C > file

not surprise the user who clearly wanted some specific output in the file.
2005-10-14 16:02:26 +00:00
christos 8d6ffce2ad PR/31548: Alexander Rigbo: $PWD not set when shell starts up, before pwd
or cd get executed.
2005-10-10 21:14:42 +00:00
wiz 803ccc7cb0 Bump date for previous. 2005-10-10 20:46:17 +00:00
jschauma 98615dcf47 Document that '-g' overrides -1, -C, -m, and -x, but is _always_
overridden by '-l', even if '-g' was specified last.
2005-10-10 20:30:34 +00:00
christos c05266af8a fix setmode error handling. 2005-10-01 20:23:54 +00:00
christos 16547af71a Fix setmode error handling. 2005-10-01 20:22:29 +00:00
christos 037f0a7b03 Now that setmode() is fixed, handle errors with err instead errx. 2005-10-01 20:09:18 +00:00
tv 964f98e703 Make slightly more portable without extra conditionals needed:
- Use getpgrp() rather than getpgid(0).
  (getpgrp() is already used elsewhere in this same file.)

- Use waitpid(-1, a, b) rather than wait3(a, b, NULL).
2005-09-30 18:57:55 +00:00
dsl 469d38dbae Don't leave arcn->org_name pointing to ftent->fts_path, if we being cpio
then ftent is freed just below.  Take a copy of the name and point org_name
at the copy.
Should fix PR/30627 (the fix in the PR will break pax and tar!)
2005-09-24 17:05:21 +00:00
christos 88ee54d8c2 Check for another race reported by chuq. 2005-09-18 12:15:41 +00:00
christos b39d90de0c mkdir(2) can return EISDIR for / 2005-09-17 06:05:04 +00:00
christos 5b36787563 spelling fixes from Joerg Sonnenberger 2005-09-16 17:05:14 +00:00
christos b60b306ef2 Another missing mkdir() race pointed out by chuq. Factor out the mkdir code. 2005-09-16 16:48:18 +00:00
christos 0743a9e845 use stat and not lstat to detect if we have a directory. refactor the mkpath()
code.
2005-09-13 20:09:55 +00:00
christos 929821126f when creating directories, check if the failure occured because someone
else created the directory before we did to avoid races. From chuq.
2005-09-13 15:50:17 +00:00
wiz 49c862f011 Use better section header. Sort sections. From YOMURA Masanori in private mail. 2005-09-11 23:21:17 +00:00
wiz 553e3c8477 Use better section header. From YOMURA Masanori in private mail. 2005-09-11 23:13:03 +00:00
christos a74ea5fcd7 Process window size changes after xread(). [change window size]
echo $COLUMS $LINES; will now print the new sizes immediately, instead
of after the second echo. From otto@OpenBSD
2005-09-11 22:23:42 +00:00
christos 57c8db64ce The following should print \"; from OpenBSD
$ cat << EOF
\"
EOF
2005-09-11 22:16:00 +00:00
wiz 2ea3362a10 In mdoc, use .Pp for new paragraphs, not .br. 2005-09-10 22:09:43 +00:00
wiz d8b6049e03 Sort options. Simplify macro usage. Use standard EXIT STATUS section. 2005-09-10 21:51:57 +00:00
elad d8a0e22d8a Adjust comment. Noted by Rui Paulo. 2005-09-07 19:15:49 +00:00
elad f777d75b5c Catch up with 64 bit inode changes. 2005-09-07 19:04:57 +00:00
elad e6a2d9e984 Simplify man-page a bit.
Patch from Patrick Welche.
2005-09-03 11:44:45 +00:00
elad 3752840791 Add a new keyword, ``topdir'', that grants access only if the file is
in a hierarchy below the specified path.
2005-08-24 19:09:03 +00:00
dsl 8c772bc707 Don't apply CDPATH if the the first component of the target is "." or "..".
Fixes PR/30973 and applies the principle of least surprise.
Update documentation to match (including date).
(matches behaviour of pdksh - if not it's documentation)
2005-08-20 21:07:42 +00:00
elad 76ed05e8b1 Add and document -N: When used with -p, it will not copy the file flags.
PR 13645.
2005-08-15 17:13:35 +00:00
elad 2d28a8933f Document -L correctly. PR #30430. 2005-08-13 15:59:28 +00:00
elad 3df38a6c89 Make inpath work like strstr again. :) 2005-08-10 21:53:01 +00:00
elad 9d164b22bc Add comments. 2005-08-10 21:33:36 +00:00
elad e4088913b5 Separate constructing the path to the policy away from systrace_addpolicy() and
into systrace_getpolicyfilename().
2005-08-10 18:19:21 +00:00
peter fa141339e0 More minor cleanup:
- remove unnecessary prototype for main()
- use symbolic exit code
- KNF & wrap a long line
2005-07-22 14:27:08 +00:00
hubertf 15bc25dc45 Minor code cleanup:
* remove unneeded cast
 * use err() instead of perror() + exit()
 * use symbolic exit code

Patch contributed by Liam J. Foy <liamfoy@sepulcrum.org> in private mail.
2005-07-22 11:06:24 +00:00
wiz 980a2652ee Aspell, fix an Xref, drop trailing whitespace. 2005-07-15 22:33:48 +00:00
christos 0df4f0ca31 Only do certain actions when we are trully interactive, not just when we
are connected to a tty:
	1. enable editor
	2. print directory on directory change.
	3. print job messages
2005-07-15 17:49:43 +00:00
christos b0d51313b4 If we have a script and we are interactive, set interactive to 2. This
allows us to run scripts with -i without printing the prompt like the
other shells do.
2005-07-15 17:46:54 +00:00
christos e996b4625d Allow trap to work on ignored signals when the shell is interactive. 2005-07-15 17:23:48 +00:00
christos ab760d2891 make setsig() return sig_t 2005-07-11 02:37:31 +00:00
christos 3564ac65d4 Don't hard ignore signals that were ignored by our environment, because
when we try to set a trap on them it will not work. Also while I am here:
1. don't change the action status if the signal system call failed.
2. don't try to sigignore it if signal failed.
3. clear the signal mask in case our parent blocked it for us.
2005-07-11 02:37:05 +00:00
elad 4e11de6548 Further correct handling of `inpath'.
The path in the policy is not normalized, and shouldn't be. We accept
only an absolute path, possibly with one trailing slash. Make note of
that in the manpage.
2005-07-04 16:32:30 +00:00
elad 931e7a5f52 Make `inpath' work as expected. Closes PR 29677.
Reported by Christian Biere, based on usenet post by John Wong.
2005-07-01 17:12:41 +00:00
elad 1d53f8bfa8 Use strcmp() when comparing strings in systrace.
Reported by Christian Biere in PR29676.
2005-07-01 16:12:11 +00:00
christos d7df71ba0e Don't compile in cpio usage, if we are SMALL. 2005-06-29 02:21:27 +00:00
elad 1b7133edad From marius@openbsd:
Fix an issue when scripts are executed under systrace where the argv[0]
would be normalized, and hence break scripts that depend on how they were
called.
2005-06-27 17:11:20 +00:00
christos 10a02919cc Add some more const so that this compiles again. 2005-06-27 00:46:04 +00:00
elad 8ebc2e9bee From marius@openbsd:
Add an exec message so that whenever a set-uid/gid process executes a new
image which we may control, the exec does not go by unnoticed.
2005-06-26 19:58:29 +00:00
christos 6310b59691 sprinkle a little const, and now everything compiles with WARNS=3 2005-06-26 19:10:48 +00:00
christos a397ec1f77 warns=3
- remove param names from function decls
- sprinkle const
- rename shadowed variables
- XXX: there is a lot of fishy __UNCONST going on.
2005-06-26 19:09:00 +00:00
elad 03d49eb07f From provos, via OpenBSD:
Prevent dereferencing possibly freed pointer.
2005-06-25 21:48:11 +00:00
elad 5cd24996d5 From marius@openbsd: (PR 3140)
If a string considered a filename is too long, don't exit but just let the
syscall fail, it might not actually be a filename.
2005-06-25 18:51:03 +00:00
elad b53ff10682 From rohee@openbsd:
Use strlcpy() instead of snprintf() where possible.
2005-06-25 18:47:42 +00:00
elad ddb0410ecc From deraadt@openbsd:
Wrap bind() to AF_UNIX with umask() to avoid race.
2005-06-25 18:41:30 +00:00
christos 671011e703 Simplify and fix the case where we have both known and unknown flags. 2005-06-25 14:37:33 +00:00
elad 8b57c1a70c Add translation for mmap()'s prot values. 2005-06-25 12:53:32 +00:00
elad cc0def8774 Add translation for mprotect()'s prot values. 2005-06-25 12:22:43 +00:00
elad 4d20624823 Improve readability. Order syscalls, add numbers where possible. 2005-06-25 12:17:57 +00:00
christos 250ff65369 Const poisoning. 2005-06-24 23:21:09 +00:00
christos b61c2197f1 Revert part of the previous commit. We cannot fix the problem by not waiting.
The problem is that the subshell code is not doing redirections properly.
2005-06-23 23:05:29 +00:00
christos 306d33d145 Don't wait for a background job in a subshell when we are set to EV_EXIT.
While I am here, call forkshell() explicitly FORK_FOO flags instead of
depending in FORK_FG == 0 and FORK_BG == 1.
2005-06-22 23:32:45 +00:00
hira f999ca1abd Sort options (description). 2005-06-17 14:40:47 +00:00
hira a2ed3bbe80 - Add -h to usage.
- Use set/getprogname(3).
2005-06-17 14:36:16 +00:00
hira dfa6df8e5a - Whitespace nit.
- Wrap long line.
2005-06-17 14:27:18 +00:00
he 0a5aea28f2 Initialize ipid in two functions to NULL, to appease -Wuninitialized.
Marked with XXXGCC for dreamcast (found while compiling for it).

Reviewed (in slightly different form) by lukem.
2005-06-07 09:00:18 +00:00
he 1d55d88929 Appease -Wuninitialized by initializing val and uval to 0.
Marked with XXXGCC for hpcarm (found while building for it).

Reviewed (in a slightly different form) by lukem.
2005-06-07 08:53:13 +00:00
chs 7bbdd188e1 appease gcc -Wuninitialized on hp700. 2005-06-05 19:08:28 +00:00
hubertf 2d4e6a01c0 the case of waitpid() returning an error was already tested, and errno
printed for that case. the tests for the return code don't have errno
set, so don't try to print it.

By Liam J. Foy <liamfoy sepulcrum.org>, posted to tech-userlevel@.
2005-06-03 13:55:04 +00:00
lukem 5166671bc3 appease gcc -Wuninitialized 2005-06-01 15:41:19 +00:00
lukem 50cde64b47 Mark temp_path volatile so that it won't get clobbered after longjmp.
(Also appeases gcc -Wuninitialized.)
2005-06-01 15:38:32 +00:00
lukem cfdf050ef3 appease gcc -Wuninitialized 2005-06-01 15:30:33 +00:00
lukem aab85a0fd4 appease gcc -Wuninitialized 2005-06-01 15:25:51 +00:00
lukem 5760da6393 appease gcc -Wuninitialized 2005-06-01 15:12:18 +00:00
wiz 6599ec1bca Bump date for -no-recursion. 2005-05-24 00:05:01 +00:00
wiz 24bf3d8ac3 Whitespace and punctuation fixes. 2005-05-24 00:03:52 +00:00
rillig 42627098be Fixed wrong use of the <ctype.h> functions by adding (unsigned char) casts. 2005-05-23 08:03:25 +00:00
rillig cb5d6856d5 Fixed another instance of isspace(char). 2005-05-23 08:01:17 +00:00
christos 4e0ae89b44 Don't even declare fdochroot() if we are in tool mode. 2005-05-22 17:41:50 +00:00
dsl d85801918d Set (and report) the new time (not the old one).
I broke it in rev 1.38, someone has finally noticed....
2005-05-15 18:39:39 +00:00
christos a1484a9949 be more lenient on the comparison to argv[0] to determine our personality. 2005-05-15 02:04:30 +00:00
christos 398a081644 Allow writing symlinks that point outside our tree, but not traversing
them to write other files.
2005-05-14 18:49:51 +00:00
pooka 2cf84fc283 Clarify the description for -s to include a pointer to an explanation
on how BLOCKSIZE affects the parameter.
2005-05-11 09:10:49 +00:00
christos c3b8cf7d21 Only add the function when we initialize. Restore the binding of tab to
ed-insert if tabcomplete is cleared.
2005-05-09 11:35:19 +00:00
christos 8dcba5679e PR/30167: J.T. Conklin: NetBSD tar does not support GNU tar --no-recursion flag 2005-05-07 22:27:33 +00:00
dsl 82537bf8e8 If 'set -o tabcomplete' it set, then bind <tab> to the libedit filename
completion function.
Note that the libedit code will probably want fine-tuning!
While editing the man page, add a note that non-whitespace IFS chars are
terminators and can generate null arguments.
2005-05-07 19:52:17 +00:00
provos d6497b197c provide translation for fcntl cmd names; requested by Nicolai Johannes 2005-05-07 15:11:02 +00:00
jmc 6ae4f78197 Wrap call to fchroot in CONFIG tests so this doesn't blow up on cross-tools 2005-05-06 16:49:25 +00:00
christos 0a6f2d385f PR/30132: Juan RP: tar --chroot refuses to extract files.
fchroot() changes the effective path, so we need to call updatepath().
2005-05-05 14:54:49 +00:00
christos 33cefcde7e PR/29005: Jesse Off: nbpax requires sys/mtio.h which doesn't exist on Interix
I added an ifdef called HAVE_MTIO_H and fixed the code to use it. It is
always defined now, but you can change this for Interix.
2005-05-01 02:59:28 +00:00
christos 13d863367b Pax longopts were not empty element terminated. 2005-04-24 03:39:26 +00:00
christos 14f615efd9 If we cannot resolve a path, that probably means that we have not created
directories for that path yet. So, do the check for each component recursively
and succeed if none of the components fall outside our current working
directory.
2005-04-24 03:36:54 +00:00
christos bc5cd54e43 PR/20228: Simon Burge: pax has problems reading a particular cpio archive
The problem here is that the archive is too short (< 512 bytes). The
buffer routines, try to read at least 512 bytes, even when we try to determine
what format file we have, which is wrong.
2005-04-24 03:26:03 +00:00
christos 15ea30eb09 PR/18759: FUKAUMI Naoki: pax/tar dot-dot handling broken
PR/18840: Frederick Bruckman:  Fix for PR/18663 incomplete pax symlink handling

This patch makes ``--insecure'' do something. Now if ``--insecure''
is not set (the default) we do a realpath(3) in all the pathnames
that we are trying to create and if either realpath fails, or the
path is outside our working directory, we print a warning and die.
This maybe too strict and might fail on valid archives that create
symlinks and directories in the wrong order.
2005-04-24 01:45:03 +00:00
christos 06a1f6e7f2 For clarity instead of using -1 and -2 use the negative of the archive type. 2005-04-24 01:24:57 +00:00
christos 71c0f67846 PR/20071: Perry Metzger: --extract handling is broken. This patch fixes
Perry's example.
2005-04-24 01:23:21 +00:00
wiz 50175a3a4d From jmc@openbsd:
-c option take names as well as numerical ids. checked w/ sturm@
diff from ray.
2005-04-23 10:56:54 +00:00
rillig 57fc49ddbc Fixed an off-by-one error with ASCII <-> EBCDIC conversion combined with
lcase/ucase. Approved by mrg.
2005-04-20 17:38:59 +00:00
rillig 4f6457e756 Fixed wrong use of the <ctype.h> functions by adding an explicit conversion
to unsigned char. Approved by christos.
2005-04-19 20:14:29 +00:00
dsl a7151c0abc Add a '-a' option to set the time using adjtime(2) instead of settimeofday(2).
Fix usage so that the options which apply to dat/time setting are on the
correct line.
2005-04-18 06:53:35 +00:00
dsl 3acd9704cb A rather better fix for treating $((x)) as equivalent to $(($x)) provided
that $x has a numeric value - which is what posix/sus needs.
2005-03-21 22:37:09 +00:00
dsl a65ddf9664 Back out previous, amongst other things it breaks $((0x10)) 2005-03-21 20:10:29 +00:00
dsl b747d738fa Treat $((x)) as equivalent to $(($x)) - posix seems to require this now. 2005-03-20 21:39:11 +00:00
dsl aecb1ce456 Add 'continue' as body of empty loop. 2005-03-20 21:38:17 +00:00
dsl 328c436518 Check quoting before merging ifs regions.
sh -c 'set -- a; x="b c"; set -- "$@"$x'
now correctly gives $1=ab, $2=c
2005-03-19 16:38:27 +00:00
dsl 2078d2c0ca Don't merge ifs regions with different quoting requirements 2005-03-19 15:02:58 +00:00
dsl 4803d37f2b Fix the way the 'read' builtin processes IFS. In particular:
- IFS whitespace is now processes correctly,
- Trailing non-whitespace IFS characters are added to the last variable
  iff a subsequent variable would have been assigned a non-null string.
Now passes the 'read' tests in http://www.research.att.com/~gsf/public/ifs.sh
2005-03-19 14:22:50 +00:00
wiz 1a27add367 Use more macros (Sq/Dq). 2005-03-11 13:16:10 +00:00
ginsbach 0d1bfba8c7 Add mechanism for escaping IPv6 address strings, since they already
contain colons.  Idea from Solaris rcp(1).
2005-03-11 02:55:23 +00:00
wiz 165812e4cb Add -4 and -6 to usage. 2005-03-09 17:09:39 +00:00
ginsbach 25e3a7ec6d - Support -4 and -6. Approved by christos. 2005-03-09 03:11:21 +00:00
dsl 8693718ba1 Fix printing of invalid commandname after certain types of errors on builtins.
Fixes bug bin/29410 in head.
All of /bin/sh needs pulling up into 2.0
2005-03-02 20:57:31 +00:00
christos 128abffcbe The quagga-0.98.2 tar archive is busted. It was created with an old tar
program, and then someone appended to it a ustar record. Detect this and
warn, but don't treat it as an error.
2005-02-20 07:35:47 +00:00
xtraeme d33a7206d5 Kill __P(), use ANSI function declarations. 2005-02-17 16:29:26 +00:00
xtraeme 06bca8b1ce Kill __P(). 2005-02-17 16:07:53 +00:00
xtraeme 0b39b8da10 Kill __P(), use ANSI function declarations. 2005-02-17 15:17:44 +00:00
dsl f712e70aee expbackq() was incorrectly backing up a temporary buffer when removing \n
from the end of output of commands inside $(...) substitutions.
If the program output is n*128+1 bytes long (ending in a \n) then the code
checks buf[-1] for another \n - looking an uninitialised stack.
On a big-endian system an integer of value 10 will satisfy this (unlikely
on little endian) and can happen depending on the last code path to use
a lot of stack!
This caused the problem with newvers.sh on sparc64 after ', 2005' was
added to the date list.
Fixed PR/28852
2005-02-14 20:46:26 +00:00
christos 4dd264a6c5 allow -t ttyp0 -t p0 -t /dev/ttyp0 -t /dev/pts/0 2005-02-11 18:26:18 +00:00
simonb 3cebd9325e White space nit- don't put a space before/after increment/decrement
operators.
2005-02-11 06:21:21 +00:00
jmc 4dca8bd51e Fix from PR#29290. Properly terminate the cpio_longopts struct so an unknown
option doesn't run off the end and core dump
2005-02-10 17:48:33 +00:00
simonb dec70f4a29 KNF, use NULL instead of (type *)0. 2005-02-10 06:56:55 +00:00
perry 3fa24d7834 remove obsolete register declarations 2005-02-06 04:43:43 +00:00
matt f57592cd95 Don't write hardlinked file contents in sv4cpio mode. 2005-02-04 00:38:15 +00:00
christos cff5b51c44 Allow short command names as long as they are not ambiguous. 2005-02-03 15:15:48 +00:00
christos 796d7ce2f3 Use the length of the command for comparison not the length
of the command line argument. Allows "compression" to be used
for "compress" etc.
2005-02-03 00:03:02 +00:00
jmc 94eaa31771 Apply user supplied patterns first before applying actions for -A. This way pax
behavior WRT to patterns lines up with the example in the documentation
and how other implementations do it as well since -A is a non-standard
option/behavior. Fixes items noted in PR#23776
2005-01-23 06:19:03 +00:00
dsl 3b8851c887 Check for *ptr == 0, not ptr == NULL twice when validating -s xxxxx in tar mode.
Fixes PR bin/29040
Also actually report an error to the tty if NET2_REGEX is defined.
2005-01-21 20:23:44 +00:00
christos 2a32d39ed6 PR/28940: David Laight: /bin/sh doesn't quote the output of trap. 2005-01-11 19:38:57 +00:00