Repository navigation
[pull] master from danielrobbins:master - #32
Merged
Merged
Conversation
Critical fixes for keychain failures when HOME path or username contains spaces: Core fixes: - Implemented portable get_owner() function using POSIX-defined ls -ld output with intelligent field parsing to distinguish space-in-username from normal owner/group fields - Rewrote write_pidfile() to use robust eval-in-subshell approach for extracting variable values from ssh-agent output - Fixed pidfile generation to properly quote SSH_AUTH_SOCK paths while leaving SSH_AGENT_PID unquoted (numeric value) - All pidfile formats (sh/csh/fish) now correctly handle paths with spaces - Fixed ssh-agent invocation to always use -s option for Bourne-compatible output, simplifying pidfile generation Testing: - Added scripts/test-space-home.sh automated test harness that simulates HOME directories with spaces and validates proper handling - Returns proper exit codes for CI integration - Integrated into GitHub Actions release workflow Documentation: - Updated keychain.pod with detailed implementation notes for space handling, POSIX compliance, and the robust eval approach - Added comprehensive COMPATIBILITY section documenting Git Bash/MINGW64 and WSL support - Added ShellCheck disable comments with justification for intentional POSIX ls usage Fixes #188, addresses #185
Fixed sed pattern in Makefile that was incorrectly matching 'br at start of line without a space, causing it to insert spurious periods in the generated man page. Changed pattern from s/^'br/.br/ to s/^'br /.br / to require a space after 'br, which prevents false matches. Fixes #183
Added comprehensive bash completion for keychain with full --extended mode support. Based on work by @mikkoi with significant enhancements. Features: - Context-aware completion for command-line options, SSH keys, and GPG keys - Dynamically parses keychain --help for up-to-date option completion - Completes SSH key names from ~/.ssh/*.pub files - Completes GPG key IDs (8-character short format) - Extended mode: sshk:<tab>, gpgk:<tab>, host:<tab> with prefix completion - Detects hostnames from ~/.ssh/config for host: completion - Proper handling of colons in completions using __ltrim_colon_completions - Single-character prefix matching (s<tab> → sshk:) - Graceful degradation when keychain not in PATH Installation: - Added Makefile targets: install-completions and uninstall-completions - Installs to /usr/share/bash-completion/completions/ by default - Updated RPM spec to include completion file - Added README section with installation instructions Testing: - Added scripts/test-completion.sh to verify functionality across environments - Returns proper exit codes (0=success, 1=failure) - Tests on WSL, Git Bash, and standard Linux shells Technical improvements: - Standardized keychain.pod option ordering (short first, then long) for regex compatibility - Added _init_completion -n : to prevent colon word-splitting - Uses compopt -o nospace to prevent spaces after colons - ShellCheck compliant Addresses #186
Updated keychain.spec.in for RHEL 8/9, Fedora, Rocky, AlmaLinux: - Modernized summary and description (removed obsolete ssh.com/Sun SSH) - Updated dependencies: sh-utils → coreutils - Added Recommends: bash-completion - Added bash completion file installation to RPM - Installs to standard location: /usr/share/bash-completion/completions/
- Add FUNDING.yml with PayPal (BreezyOps) and GitHub Sponsors options - Add 'Support This Project' section to README with funding links
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )