summaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2020-02-2445487: Missing mod_export declarations for AIXPeter Stephenson7-6/+12
2020-02-1945447: Complete vcs_info_hookadd and vcs_info_hookdel. Expose ↵Daniel Shahaf4-3/+41
_vcs_info_hooks as a top-level helper function.
2020-02-1845463: test: kill: Document why we use SIGURGChris Down2-0/+12
See discussion in workers/45460.
2020-02-1845453: builtins: kill: Do not signal current process group when pid is emptyChris Down3-3/+15
The following case was encountered in the wild: % zsh; echo "$?" % trap 'exit 5' TERM % kill '' 5 This behaviour seems more likely to be the result of bugs in programs (e.g. `kill -9 "$unsetvar") rather than being desirable behaviour to me. It also seems unintentional judging by the code and documentation, since it comes about as a result of the fact that: - `isanum` returns true for empty strings (since an empty string technically only consists of digits and minuses...); - `atoi`, when passed a pointer to an invalid number, returns 0; - `kill(0, signal)` sends the signal in question to all processes in the current process group. There are (at least) two ways to solve this issue: 1. Add special handling to `kill` to avoid this case. See this patch[0] for a version that does that. 2. Change how isanum behaves. Since the only two call sites that use it both seem like they should handle the case where the input char array is empty, that seems like a reasonable overall change to me.[1] After this patch: % trap 'exit 5' TERM % kill '' kill: illegal pid: The regression test for `kill` without a sigspec is also included in this commit, as previously it's not possible to test it trivially as it would still kill the test runner in expected-to-fail mode; see discussion in workers/45449. 0: workers/45426: https://www.zsh.org/mla/workers/2020/msg00251.html 1: The other call site using isanum() is the fg builtin, but in that case we just fail later since we can't find any job named '', so no big deal either way. It's the kill case which is more concerning.
2020-02-1845452: builtins: kill: Add `kill ''` regression test with explicit sigspecChris Down2-0/+12
The version without a sigspec can't be added yet because it would still kill the test runner even in expected-to-fail mode; see workers/45449 for discussion. For the same reason, we use a signal which is non-fatal by default and unlikely to be sent by someone else, SIGURG, to do the expected-to-fail case prior to the fix.
2020-02-1845451: builtins: kill: Add basic test suiteChris Down2-0/+64
This is not totally comprehensive, but at least it's a start for the core functionality. In the next commits, we'll also use this base to add some regression tests.
2020-02-17github #48/0002: vcs_info git: properly detect bare repositoriesbrian m. carlson2-0/+8
We currently detect Git repositories by finding the top level of the working tree, and if we fail to detect it, assume that we're not in a repository. However, there's a case we don't consider: a bare repository. Let's detect if the user is in a bare repository by checking if gitdir is set, and if so, using that if there is no working tree. We now detect bare Git repositories with vcs_info, as expected.
2020-02-17github #48/0001: vcs_info git: avoid warnings in bare repositoriesbrian m. carlson2-1/+7
Git 2.25 introduced a change to how git rev-parse --show-toplevel behaves. Traditionally, it succeeded with no output if the user was in a bare repository. Now it dies, printing an error to standard error. Consequently, when the user is in a bare repository with a newer Git, vcs_info prints noisily to standard error. While this is functionally harmless, it is annoying for the shell to print messages from Git every time the prompt is printed, so let's silence the error message.
2020-02-14unposted: Post-release version bumpdana2-2/+4
2020-02-14unposted: Release 5.8dana2-2/+4
2020-02-14CVE-2019-20044: Update change log for preceding commitsdana1-0/+6
2020-02-14Update NEWS/READMEdana2-4/+25
2020-02-14Add unsetopt/PRIVILEGED testsdana3-1/+207
2020-02-14Clean up error-message white spacedana1-9/+21
2020-02-14Improve PRIVILEGED fixes (again)dana1-49/+43
* Pass RGID instead of passwd GID to initgroups() * Clean up #ifdefs, avoid unnecessary checks * Flatten conditions
2020-02-14Improve PRIVILEGED fixesDaniel Shahaf6-102/+292
- 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
2020-02-14Drop privileges securelySam Foxman2-41/+124
2020-02-14unposted: V01zmodload: Fix failing test from workers/45385dana2-2/+7
2020-02-1445423: _su: Improve arg handling, shell look-upsdana2-12/+38
Differences from ML post: * Properly fix escaping issue with $usr (needs unescaped first) * Make $shell emptiness check easier to read (per feedback)
2020-02-07unposted: _zip: Recognise '--'dana2-3/+7
2020-02-0745385: Add a test for 'zmodload -Fa' preemptively disabling ↵Daniel Shahaf2-0/+19
("blacklisting"?) features.
2020-02-06unposted: Test release: 5.7.1-test-3dana2-2/+4
2020-02-06zsh/system: Fix infinite loop in sysreadRoman Perepelitsa2-1/+4
2020-02-06_diff_options: Restore -w completion lost in workers/43351Martin von Wittich2-0/+7
2020-02-06unposted: Fix ChangeLog typo.Daniel Shahaf1-1/+1
2020-02-0345368: Add tests for workers/45367's issue about double slashes in 'cd -P' ↵Daniel Shahaf3-0/+14
and /home/daniel/in/zsh.
2020-02-0245373: Fix ERR_EXIT bug in else branch of if.Peter Stephenson3-1/+15
The flags need resetting for this branch otherwise e.g. command substitution with non-zero status doesn't cause exit.
2020-02-0245372: Record a symlink loop bug involving :PDaniel Shahaf2-0/+6
2020-02-0245365: _git: Fix __git_recent_branches for the case when a commit has an ↵WGH2-2/+7
empty message
2020-01-2945343: Queue signals around arithmetic evaluationsDaniel Shahaf3-7/+14
The queueing added in execarith() in 45083 is reverted since the callee does this now.
2020-01-2945344: Document where third-party completion functions should be installed.Daniel Shahaf2-0/+15
2020-01-2845345: internal: ztst.vim: Fix highlighting of zsh comments in test payloadDaniel Shahaf2-1/+12
2020-01-26unposted: internal: Add some comments and fix indentation. No functional ↵Daniel Shahaf2-2/+18
change.
2020-01-2345340: internal: Document the difference between paramtab and realparamtab.Daniel Shahaf2-1/+12
2020-01-1945332: _git: add completion for git-versionEitan Adler2-1/+17
Signed-off-by: Eitan Adler <lists@eitanadler.com>
2020-01-19_brace_parameter: add missing \Mikael Magnusson1-1/+1
2020-01-1645305: Add an XFail test: The exec-last-command optimization is applied to ↵Daniel Shahaf2-0/+7
try/always.
2020-01-1645307: zstyle docs: Unoverload a placeholder variable name.Daniel Shahaf2-4/+8
Use 'pattern' to refer to things matched against contexts and 'metapattern' to refer to things matched against patterns.
2020-01-1645306: zstyle docs: Introduce the first synopsis in the same way as all ↵Daniel Shahaf2-6/+10
others: with an item()().
2020-01-16unposted: docs: Fix a cross-reference.Daniel Shahaf3-2/+9
2020-01-1545287: zshexpn: Describe parameter elision and add some introductory proseDaniel Shahaf2-11/+23
2020-01-1545302: bin_umask(): Queue signals around umask().Daniel Shahaf2-1/+9
Otherwise, a signal handler might create files while the temporary umask is in effect.
2020-01-14users/24656: docs: Add an example of setting and querying zstylesDaniel Shahaf2-8/+32
2020-01-14users/24659: Cross-ref doc for matchers.Peter Stephenson2-0/+11
2020-01-1345296: D02glob: Clean up after test from users/24633dana2-0/+9
2020-01-1345290: New helper script for listing XFail tests.Daniel Shahaf2-0/+10
2020-01-12users/24633: Add an xfail test for users/24619.Daniel Shahaf2-0/+18
2020-01-11unposted: additional typo fixOliver Kiddle2-1/+3
2020-01-1145280: _git: add -local variantsEitan Adler2-2/+14
Technically all timezone formats support the "-local" suffix but it is not meaningful for all of them. As such just list out the specific formats which it does. Also adjust the 'default' description
2020-01-11users/24628 (fixed): More doc for selectw-word-style widgets.Peter Stephenson2-1/+19
Add example of how to add a new binding for a widget that fixes a particular word behaviour using styles.