mirror of
https://github.com/Matir/skel.git
synced 2026-07-24 21:26:57 -07:00
Improve SSH_AUTH_SOCK handling.
This commit is contained in:
@@ -97,6 +97,8 @@ export LVM_SUPPRESS_FD_WARNINGS=1
|
|||||||
export EARTHLY_SSH_AUTH_SOCK=""
|
export EARTHLY_SSH_AUTH_SOCK=""
|
||||||
|
|
||||||
# Handle SSH_AUTH_SOCK for tmux consistency
|
# Handle SSH_AUTH_SOCK for tmux consistency
|
||||||
|
case "$-" in
|
||||||
|
*i*)
|
||||||
_SSH_AUTH_LINK="${HOME}/.ssh/ssh_auth_sock"
|
_SSH_AUTH_LINK="${HOME}/.ssh/ssh_auth_sock"
|
||||||
|
|
||||||
# Helper to check if a path is our link or points to it
|
# Helper to check if a path is our link or points to it
|
||||||
@@ -115,10 +117,19 @@ _is_link_path() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
# Helper to check if an SSH socket is valid and useful via ssh-add return codes
|
# Helper to check if an SSH socket is valid and useful
|
||||||
_is_valid_ssh_sock() {
|
_is_valid_ssh_sock() {
|
||||||
[ -z "$1" ] && return 1
|
[ -z "$1" ] && return 1
|
||||||
[ -S "$1" ] || return 1
|
[ -S "$1" ] || return 1
|
||||||
|
|
||||||
|
if command -v nc >/dev/null 2>&1; then
|
||||||
|
# Use nc to quickly check if the socket is listening.
|
||||||
|
# We use -N to shutdown the socket after EOF on stdin (for OpenBSD netcat compatibility).
|
||||||
|
if echo '' | nc -w 1 -N -U "$1" >/dev/null 2>&1; then
|
||||||
|
return 0
|
||||||
|
fi
|
||||||
|
fi
|
||||||
|
|
||||||
if command -v ssh-add >/dev/null 2>&1; then
|
if command -v ssh-add >/dev/null 2>&1; then
|
||||||
SSH_AUTH_SOCK="$1" ssh-add -l >/dev/null 2>&1
|
SSH_AUTH_SOCK="$1" ssh-add -l >/dev/null 2>&1
|
||||||
case "$?" in
|
case "$?" in
|
||||||
@@ -126,6 +137,10 @@ _is_valid_ssh_sock() {
|
|||||||
*) return 1 ;;
|
*) return 1 ;;
|
||||||
esac
|
esac
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
if command -v nc >/dev/null 2>&1; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -234,6 +249,8 @@ elif _is_valid_ssh_sock "${_SSH_AUTH_LINK}"; then
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
unset _SSH_AUTH_LINK _CANDIDATE
|
unset _SSH_AUTH_LINK _CANDIDATE
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
# Setup XDG-like dirs on MacOS
|
# Setup XDG-like dirs on MacOS
|
||||||
# Based on https://leebyron.com/til/mac-xdg/
|
# Based on https://leebyron.com/til/mac-xdg/
|
||||||
|
|||||||
Reference in New Issue
Block a user