| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
I do not consider this a bug because POSIX permits it and argument strings
and environment variables cannot contain '\0' anyway.
PR: bin/25542
MFC after: 2 weeks
Notes:
svn path=/head/; revision=197371
|
|
|
|
|
|
|
| |
Reviewed by: rwatson
Notes:
svn path=/head/; revision=196936
|
|
|
|
|
|
|
| |
Reviewed by: rwatson
Notes:
svn path=/head/; revision=196841
|
|
|
|
|
|
|
| |
Reviewed by: rwatson
Notes:
svn path=/head/; revision=196827
|
|
|
|
|
|
|
|
|
| |
to be rewritten for each file we want to check ACL on. Without
this change, ls(1) would check only the ACL on the first file
to list.
Notes:
svn path=/head/; revision=196773
|
|
|
|
|
|
|
|
|
|
|
|
| |
Note that this changes error reporting behaviour somewhat - before,
no error was reported if ACL couldn't be copied because the target
filesystem doesn't support ACLs. Now, it will be reported - of course,
only if there actually is an ACL to copy.
Reviewed by: rwatson
Notes:
svn path=/head/; revision=196754
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Keep variables sorted
- Fix logic error with -f and -v options - don't print
the usual -v output if there was an error, whether or not
we were passed -f
- Don't call free(3) just before exit(2)
- Whitespace fixes
Submitted by: bde
Notes:
svn path=/head/; revision=196753
|
|
|
|
| |
Notes:
svn path=/head/; revision=196712
|
|
|
|
|
|
|
| |
NFSv4 enabled.
Notes:
svn path=/head/; revision=196711
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Empty pairs of braces are represented by a NULL node pointer, just like
empty lines at the top level.
Support for empty pairs of braces may be removed later. They make the code
more complex, have inconsistent behaviour (may or may not change $?), are
not specified by POSIX and are not allowed by some other shells like bash,
dash and ksh93.
Reported by: kan
Notes:
svn path=/head/; revision=196634
|
|
|
|
|
|
|
|
|
|
|
| |
Add a reference count to function definitions.
Memory may leak if multiple SIGINTs arrive in interactive mode,
this will be fixed later by changing SIGINT handling.
PR: bin/137640
Notes:
svn path=/head/; revision=196483
|
|
|
|
|
|
|
|
|
| |
Submitted by: Emil Mikulic - emil at dmr dot ath dot cx
Approved by: re (kib)
MFC after: 1 week
Notes:
svn path=/head/; revision=195830
|
|
|
|
|
|
|
|
|
|
|
| |
This implements the POSIX.1-2008 -L and -P flags.
The default remains to create hard links to the target of symlinks.
Approved by: re (kib), ed (mentor)
Notes:
svn path=/head/; revision=195768
|
|
|
|
|
|
|
| |
Approved by: re (kib)
Notes:
svn path=/head/; revision=195502
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
is identical to the mode computed from that ACL will modify the ACL.
For example, mode computed from the following ACL is 0600:
user:kamila:rwx--------C--:------:allow
owner@:--x-----------:------:deny
owner@:rw-p---A-W-Co-:------:allow
group@:rwxp----------:------:deny
group@:--------------:------:allow
everyone@:rwxp---A-W-Co-:------:deny
everyone@:------a-R-c--s:------:allow
However, applying that mode (chmod 0600) changes the ACL into this:
user:kamila:rwx-----------:------:deny
user:kamila:rwx--------C--:------:allow
owner@:--x-----------:------:deny
owner@:rw-p---A-W-Co-:------:allow
group@:rwxp----------:------:deny
group@:--------------:------:allow
everyone@:rwxp---A-W-Co-:------:deny
everyone@:------a-R-c--s:------:allow
In chmod(1) utility, there is an optimisation, which makes it not
call chmod(2) if the mode of the file is the same as the new mode.
Disable that optimisation for files which may have NFSv4 ACLs.
Reviewed by: rwatson
Approved by: re (kib)
Notes:
svn path=/head/; revision=195243
|
|
|
|
|
|
|
|
|
|
|
| |
in particular "$@"$ifschar if the final positional parameter is empty.
With the NetBSD code, adding the $ifschar removes a parameter.
PR: standards/79067
Approved by: ed (mentor) (implicit)
Notes:
svn path=/head/; revision=194977
|
|
|
|
|
|
|
|
|
|
|
| |
We now pass the ifs.sh testsuite.
PR: standards/79067
Approved by: ed (mentor) (implicit)
Obtained from: NetBSD
Notes:
svn path=/head/; revision=194975
|
|
|
|
|
|
|
|
|
| |
Also document various properties of special builtins that we implement.
Approved by: ed (mentor) (implicit)
Notes:
svn path=/head/; revision=194922
|
|
|
|
| |
Notes:
svn path=/head/; revision=194795
|
|
|
|
|
|
|
|
|
| |
It is usually but not always suitable for re-input to the shell.
Approved by: ed (mentor) (implicit)
Notes:
svn path=/head/; revision=194786
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
(EV_EXIT). The fork is still done as normal if any traps are active.
In many cases, the fork can be avoided even without this change by using {}
instead of (), but in practice many scripts use (), likely because the
syntax is simpler.
Example:
sh -c '(/bin/sleep 10)& sleep 1;ps -p $! -o comm='
Now prints "sleep" instead of "sh". $! is more useful this way.
Most shells (dash, bash, pdksh, ksh93, zsh) seem to print "sleep" for this.
Example:
sh -c '( ( ( (ps jT))))'
Now shows no waiting shell processes instead of four.
Most shells (dash, bash, pdksh, ksh93, zsh) seem to show zero or one.
PR: bin/74404
Approved by: ed (mentor) (implicit)
Notes:
svn path=/head/; revision=194774
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- update for getrlimit(2) manpage;
- support for setting RLIMIT_SWAP in login class;
- addition to the limits(1) and sh and csh limit-setting builtins;
- tuning(7) documentation on the sysctls controlling overcommit.
In collaboration with: pho
Reviewed by: alc
Approved by: re (kensmith)
Notes:
svn path=/head/; revision=194767
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
- remove ineffective and unnecessary (void) &var; [1]
- remove some unnecessary volatile keywords
- add a necessary volatile keyword
- save the old handler before doing something that could use the saved
value
Submitted by: Christoph Mallon [1]
Approved by: ed (mentor)
Notes:
svn path=/head/; revision=194765
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Formerly, it was possible for the file to be created between the check if it
existed and the open; the contents would then be lost.
Because this must use O_EXCL, noclobber > will not create a file through a
symlink anymore. This agrees with behaviour of other shells.
Approved by: ed (mentor) (implicit)
Notes:
svn path=/head/; revision=194560
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Output quoted suitable for re-input to the shell occurs in
various cases such as 'set', 'trap'.
Bugfix: *, ? and [ must be quoted (except sole [)
Bugfix: ~ and # must be quoted (really only sometimes, but keep it simple)
Bugfix: space, tab and newline must always be quoted
Shortening: other IFS characters do not need quoting
Bugfix: send to correct output file, not hard-coded stdout
Shortening: avoid unnecessary '' with \'
Approved by: ed (mentor)
Notes:
svn path=/head/; revision=194516
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
For parsing an old-style backquote substitution (`...`),
a string "file" is used to store the contents of the
substitution (with the special backslash processing done).
If an error occurs, the shell cleans up all these files
(returning to the top level) and flush the top level
file. Erroneously, it first flushed the current file and
then cleaned up all extra files, so that the top level
file (i.e. the terminal) was not flushed.
Example (in interactive mode):
echo `for` echo This should not be printed
Also noticeable in (in interactive mode):
echo `(`
The old version prints an extraneous prompt.
Approved by: ed (mentor)
Notes:
svn path=/head/; revision=194406
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This change only affects strings passed to -c, when the -s
option is not used.
The approach is to check if there may be additional data
in the string after parsing each command. If there is none,
use the EV_EXIT flag so that a fork may be omitted in
specific cases.
If there are empty lines after the command, the check will
not see the end and forks will not be omitted. The same
thing seems to happen in bash.
Example:
sh -c 'ps lT'
No longer shows a shell process waiting for ps to finish.
PR: bin/113860
Reviewed by: stefanf
Approved by: ed (mentor)
Notes:
svn path=/head/; revision=194128
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Example:
sh -c '(trap "echo trapped" EXIT; sleep 3)'
now correctly prints "trapped".
With this check, it is no longer necessary to check for -T
explicitly in that case.
This is a useful bugfix by itself and also important because I plan to
skip forking more often.
PR: bin/113860 (part of)
PR: bin/74404 (part of)
Reviewed by: stefanf
Approved by: ed (mentor)
Notes:
svn path=/head/; revision=194127
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The exit status may exceed 255 in some cases (return); even though it seems
unwise to rely on this, it is also unwise to assume that $? is always
between 0 and 255.
This resolves bin/124748 by documenting that 'exit -1' is not valid.
PR: bin/124748
Approved by: ed (mentor)
Notes:
svn path=/head/; revision=193636
|
|
|
|
|
|
|
|
|
|
|
|
| |
Base 10 is always used for the inode counts as I could not think of any
reason base 2 inode counts would be useful.
Minor mdoc markup fix to df(1) while here anyway.
MFC after: 3 weeks
Notes:
svn path=/head/; revision=193629
|
|
|
|
|
|
|
| |
make linting tools (e.g. FlexeLint) happy, too
Notes:
svn path=/head/; revision=193225
|
|
|
|
| |
Notes:
svn path=/head/; revision=193223
|
|
|
|
|
|
|
| |
at all)
Notes:
svn path=/head/; revision=193222
|
|
|
|
|
|
|
| |
malloc(3) by using a "size_t" instead of an "int" argument
Notes:
svn path=/head/; revision=193221
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
character.
This avoids using non-standard behaviour of the old (upto FreeBSD 7) TTY
layer: it reprocesses the input queue when switching to canonical mode. The
new TTY layer does not provide this functionality and so read -t worked
very poorly (first character is not echoed, cannot be backspaced but is
still read).
This also agrees with what most other shells with read -t do.
PR: bin/129566
Reviewed by: stefanf
Approved by: ed (mentor)
Notes:
svn path=/head/; revision=193185
|
|
|
|
|
|
|
|
|
|
|
|
| |
would always terminate if eval returned with a non-zero exit status regardless
if the status was actually tested. Unfortunately a new file-scope variable
is needed, the alternative would only be to add a new parameter to all
built-ins.
PR: 134881
Notes:
svn path=/head/; revision=193169
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Formerly, this tried to clear the flags on the symlink's target
instead of the symlink itself.
As before, this only happens for root or for the unlink(1) variant of rm.
PR: bin/111226 (part of)
Submitted by: Martin Kammerhofer
Approved by: ed (mentor)
MFC after: 3 weeks
Notes:
svn path=/head/; revision=193087
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reported ENOSYS before.
PR: bin/111226 (part of)
Submitted by: Martin Kammerhofer
Approved by: ed (mentor)
MFC after: 3 weeks
Notes:
svn path=/head/; revision=193086
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More precisely, this gives precedence to an interpretation not using the
'(', ')', '-a' and '-o' in their special meaning, if possible. For example,
it is now safe to write [ "$a" = "$b" ] and assume it compares the two
strings.
The man page already says that test(1) works this way, so does not need to
be changed.
Interpretation of input with more parameters tries a bit harder to find a
valid parse in some cases.
Add various additional test cases to TEST.sh.
PR: standards/133369
Approved by: ed (mentor)
Notes:
svn path=/head/; revision=192862
|
|
|
|
|
|
|
|
|
|
|
|
| |
show '-' instead of time since the Epoch.
PR: bin/123069
Submitted by: Vladimir Kozbin
Approved by: ed (mentor)
MFC after: 3 weeks
Notes:
svn path=/head/; revision=192688
|
|
|
|
|
|
|
|
|
|
|
|
| |
Patch slightly changed to align more with chmod.c.
PR: bin/131999
Submitted by: bde
Approved by: ed (mentor)
MFC after: 3 weeks
Notes:
svn path=/head/; revision=192687
|
|
|
|
|
|
|
|
|
| |
compatibility interfaces in both kernel and libc.
Reviewed by: rwatson
Notes:
svn path=/head/; revision=192586
|
|
|
|
| |
Notes:
svn path=/head/; revision=192280
|
|
|
|
|
|
|
|
|
|
|
|
| |
always surprising when you kill a 'sh -c ...' ancestor or when you kill
yourself when using -f.
Add a -a switch for backwards compatibility.
MFC after: 3 weeks
Notes:
svn path=/head/; revision=192242
|
|
|
|
|
|
|
|
|
| |
This is similar to linux's -H (or -f) switch.
MFC after: 3 weeks
Notes:
svn path=/head/; revision=192239
|
|
|
|
|
|
|
|
|
| |
removes when you hit ^T. This is similar to what's done for cp. The
signal handler and type definitions for "info" were borrowed directly
from cp.
Notes:
svn path=/head/; revision=191670
|
|
|
|
|
|
|
|
|
|
| |
pipeline cmd2 | cmd3 and not just cmd2.
PR: 130298
Submitted by: Jilles Tjoelker
Notes:
svn path=/head/; revision=191009
|
|
|
|
| |
Notes:
svn path=/head/; revision=191003
|
|
|
|
|
|
|
|
|
|
| |
This affects the built-ins eval, fc, and trap and also the string passed to sh
with the -c option.
Submitted by: Jilles Tjoelker
Notes:
svn path=/head/; revision=190698
|
|
|
|
|
|
|
| |
Obtained from: NetBSD
Notes:
svn path=/head/; revision=190298
|