about summary refs log tree commit diff
path: root/Src
Commit message (Collapse)AuthorAgeFilesLines
* Clean up error-message white spacedana2020-02-141-9/+21
|
* Improve PRIVILEGED fixes (again)dana2020-02-141-49/+43
| | | | | | | | * Pass RGID instead of passwd GID to initgroups() * Clean up #ifdefs, avoid unnecessary checks * Flatten conditions
* Improve PRIVILEGED fixesDaniel Shahaf2020-02-144-99/+275
| | | | | | | | | | | | | | | | | | | | | | | | - Fix retval handling in bin_setopt() - Don't skip_setuid / skip_setgid. It's not our place to optimize away noops (that might not even _be_ noops; they might change the saved uid…). - Remove HAVE_* guard checks around functions that are used unguarded elsewhere. - Use bsd-setres_id.c from OpenSSH to provide setresuid() / setresgid() everywhere, and thus simplify the ifdef soup. Fix some preëxisting bugs in the macro definitions of setuid() (do we still need that one?). - Fix zwarning() format codes for variadic arguments type safety - Restored a comment from HEAD - Fix failure modes around initgroups() - Compared privilege restoration code with OpenSSH's permanently_drop_uid() and updated as needed - Add E01 PRIVILEGED sanity checks
* Drop privileges securelySam Foxman2020-02-141-40/+121
|
* zsh/system: Fix infinite loop in sysreadRoman Perepelitsa2020-02-061-1/+1
|
* 45373: Fix ERR_EXIT bug in else branch of if.Peter Stephenson2020-02-021-1/+1
| | | | | The flags need resetting for this branch otherwise e.g. command substitution with non-zero status doesn't cause exit.
* 45343: Queue signals around arithmetic evaluationsDaniel Shahaf2020-01-292-7/+11
| | | | | The queueing added in execarith() in 45083 is reverted since the callee does this now.
* unposted: internal: Add some comments and fix indentation. No functional ↵Daniel Shahaf2020-01-261-2/+13
| | | | change.
* 45340: internal: Document the difference between paramtab and realparamtab.Daniel Shahaf2020-01-231-1/+7
|
* 45302: bin_umask(): Queue signals around umask().Daniel Shahaf2020-01-151-1/+4
| | | | | Otherwise, a signal handler might create files while the temporary umask is in effect.
* Fix typos reported by codespell in Src/Mikael Magnusson2020-01-094-4/+4
|
* 45269: Fix misspellings in completions and elsewhere.Jens Schleusener2020-01-0915-17/+17
|
* 45181: Fix workers/45164: ${(S)%%} will now consider the empty string as a ↵Daniel Shahaf2020-01-021-2/+2
| | | | potential match.
* 24581: Fix array assignments in shell word splitting and completion.Peter Stephenson2019-12-312-1/+13
| | | | | | Assignments after the first were not recognised as such as without the full parser the state didn't return to command position. Fix this in bufferwords() and the completion miniparser.
* unposted: zerrmsg(): Fix macro guard missed in previous commitdana2019-12-261-2/+0
|
* internal: Allow %L in zerrmsg() in non-debug builds, too.Daniel Shahaf2019-12-261-2/+0
| | | | This will let error messages include long integers.
* 45083: Add signal protection to execarith().Peter Stephenson2019-12-181-0/+3
| | | | | Otherwise we could get re-entrancy in memory functions when setting variables.
* 45076: internal: Simplify handling of try_tryflag. No functional change.Daniel Shahaf2019-12-181-6/+3
| | | | | try_tryflag isn't assigned anywhere, other than at initialization and by these lines, so we don't need to save and restore the value.
* 45066: internal: Document forklevel, locallevel, and exit_pending.Daniel Shahaf2019-12-183-2/+14
|
* 45065: Make 'make -s' print nothing when it does nothing.Daniel Shahaf2019-12-181-1/+0
|
* 45064: Fix the mktemp() warning, in debug builds only.Daniel Shahaf2019-12-181-0/+25
| | | | | | | | | | | | On Linux, linking to mktemp() generates the following warning: . utils.o: In function `gettempname': ./Src/utils.c:2229: warning: the use of `mktemp' is dangerous, better use `mkstemp' or `mkdtemp' The warning cannot be disabled. Work around that by using mkstemp() instead, and massage its output so it behaves like mktemp(). See the new comment for further details.
* 45058: internal: Add symbolic names to possible values of zexit()'s ↵Daniel Shahaf2019-12-178-25/+35
| | | | "from_where" parameter. No functional change.
* unposted: Update comment to reflect variable rename in 41012 (= ↵Daniel Shahaf2019-12-171-1/+1
| | | | zsh-5.3.1-182-gd7110d8f0).
* 45025: fix re-entrancy problem with memory management in readoutput().Peter Stephenson2019-12-151-25/+36
| | | | This could cause a signal received during $(...) to corrupt memory.
* 45009: POSIX_CD needs to suppress some forms of option.Peter Stephenson2019-12-121-1/+1
| | | | | Otherwise forms of argument allowed by POSIX are interpreted as options instead.
* 45001: Fix zero-length matches with ${...%...}Peter Stephenson2019-12-121-0/+6
| | | | As the shortest match is preferred, zero-length matches beat any other.
* 45004: Fix typos in commentsMartijn Dekker2019-12-1120-47/+47
|
* 44997: GLOB_COMPLETE fix for compctl file completion.Peter Stephenson2019-12-101-1/+21
| | | | Dashes could cause problems in directory prefixes.
* 44976: fixup describe-key-briefly for visual modeOliver Kiddle2019-12-041-0/+4
|
* unposted: zstyle: Add a unit test and some comments.Daniel Shahaf2019-12-011-3/+16
|
* users/24451: zgetcwd: Add a guard against returning an empty string.Daniel Shahaf2019-11-191-1/+1
|
* users/24445: Add :P modifier to history code.Peter Stephenson2019-11-181-0/+10
| | | | | This was in the glob qualifier and variable code but got missed out of the separate history modifier function.
* 44864: Avoid inifinite loop in tty init.Peter Stephenson2019-10-281-2/+16
| | | | | | | If we can't grab the terminal in interactive mode, give up after 100 goes. This is a completely arbitrary choice; we simply don't know what in the system could change the result of looping further.
* unposted: fix indentation (whitespace-only change)romkatv2019-10-281-30/+30
| | | | | | | Indentatin in moveto was broken by 3eea35d0 (my bad), making it difficult to read. This commit reverts it to what it used ot be. While at it, fix indentation in a few other places in the same file.
* 44841: Better checking of errors from "nice"_RuRo_ (Андрей Стоцкий)2019-10-161-2/+5
|
* unposted: functions -c: Fix typoDaniel Shahaf2019-10-101-1/+1
|
* bug fix: infinite loop when tty disappearsromkatv2019-10-041-1/+1
| | | | | | | | | | | | | | | | | | | | | When TTY disappears and there is at least one fd watcher, raw_getbyte() can enter an infinite loop where it keeps calling poll() over and over again. To reproduce, open a terminal, start zsh and type this: rm -f /tmp/fifo mkfifo /tmp/fifo exec 3<>/tmp/fifo do-nothing() {} zle -F 3 do-nothing Then make TTY disappear. For example, kill the parent with `kill -9 $PPID` and close the terminal window if it's still there. Observe that zsh is consiming 100% CPU. Note that do-nothing() never gets called. This patch makes the poll() loop in raw_getbyte() terminate when TTY is signalling POLLHUP. This makes the behavior consistent with the case where TTY disappears while no fd watchers are installed.
* 44714: Take account of CDABLE_VARS while checking spellingJun-ichi Takimoto2019-08-291-0/+2
|
* 44710: support RLIMIT_UMTXP on FreeBSDJun-ichi Takimoto2019-08-282-0/+12
|
* 44709: incluce sys/capability.h only if HAVE_CAP_GET_PROC is definedJun-ichi Takimoto2019-08-281-1/+1
|
* 44664: Fix problem with temporary assignment.Peter Stephenson2019-08-141-1/+3
| | | | | "foo=bar builtin" inside a function lost any variable from enclosing scope.
* Copy functions using functions -c old new.Peter Stephenson2019-08-031-2/+41
| | | | Documentation and test.
* 44635: Don't apply STAT_NOPRINT to backgrounded jobsPeter Stephenson2019-08-031-1/+2
|
* 44637: = doesn't need quoting in awk regexp.Shlomi Fish2019-08-031-1/+1
| | | | Known to cause warnings in gawk 5.
* 44582: Fix foregoing commit to use DPUTS() betterKamil Dudka2019-07-261-6/+4
|
* 44566: make sure Zle doesn't crash if history entry not foundKamil Dudka2019-07-241-2/+12
|
* 44509: Prevent crash with modified path / PATH combination.Peter Stephenson2019-07-151-4/+12
| | | | | | Crash came from "fn() { typeset -U path=($path); unset PATH; }". Note PATH unset is global as only path was made local.
* 44502: Quote function name for "autoload -X"Bart Schaefer2019-07-081-1/+1
|
* 44480: Don't automatically close externally visible file descroptors.Peter Stephenson2019-07-022-3/+6
| | | | | | | | | | These are descriptors marked FDT_EXTERNAL. Make all sysopen'ed file descriptors FDT_EXTERNAL. Make =(...) call closem() consistent with other substitutions. Document file descriptors are left open.
* 44469: correct error on missing option argumentMartijn Dekker2019-07-011-5/+12
|