diff --git a/ChangeLog b/ChangeLog index 77e269a..dbb96b7 100644 --- a/ChangeLog +++ b/ChangeLog @@ -13,6 +13,18 @@ # Maintained July 2009 - September 2017 by Daniel Robbins # Maintained September 2017 - present by Ryan Harris +* keychain 2.8.5 (24 Jan 2018) + + Summary Various fixes and support systemd gnupg sockets + + Some shells don't support local builtin (Roy Marples) + + Support systemd managed gnupg sockets (Pedro Romano) + + Fix some lintian warnings in the man page (Chris West) + + Fix issues loading pem keys (Jack Twilley) + * keychain 2.8.4 (19 Oct 2017) Summary: Support to GPG2 (Ryan Harris) diff --git a/VERSION b/VERSION index 2701a22..766d708 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.8.4 +2.8.5 diff --git a/keychain b/keychain index 3d7fee7..0eee68f 100755 --- a/keychain +++ b/keychain @@ -13,7 +13,7 @@ # Maintained July 2009 - Sept 2017 by Daniel Robbins # Maintained September 2017 - present by Ryan Harris -version=2.8.4 +version=2.8.5 PATH="${PATH:-/usr/bin:/bin:/sbin:/usr/sbin:/usr/ucb}" @@ -246,7 +246,7 @@ OPTIONS specified if they haven't yet been added to ssh-agent. ${GREEN}--nocolor${OFF} - Disable color hilighting for non ANSI-compatible terms. + Disable color highlighting for non ANSI-compatible terms. ${GREEN}--nogui${OFF} Don't honor SSH_ASKPASS, if it is set. This will cause ssh-add to @@ -357,7 +357,7 @@ lockfile() { # it returns 0. If it fails, it returns 1. This function retuns immediately # and only tries to acquire the lock once. - local tmpfile="$lockf.$$" + tmpfile="$lockf.$$" echo $$ >"$tmpfile" 2>/dev/null || exit if ln "$tmpfile" "$lockf" 2>/dev/null; then @@ -386,7 +386,7 @@ takelock() { # First attempt: lockfile && return 0 - local counter=0 + counter=0 mesg "Waiting $lockwait seconds for lock..." while [ "$counter" -lt "$(( $lockwait * 2 ))" ] do @@ -557,9 +557,15 @@ inheritagents() { inherit_gpg_agent_info="$GPG_AGENT_INFO" inherit_gpg_agent_pid=$(echo "$GPG_AGENT_INFO" | cut -f2 -d:) # GnuPG v.2.1+ removes $GPG_AGENT_INFO - elif [ -S "${GNUPGHOME:=$HOME/.gnupg}/S.gpg-agent" ]; then - inherit_gpg_agent_pid=$(findpids "${gpg_prog_name}") - inherit_gpg_agent_info="$GNUPGHOME/S.gpg-agent:${inherit_gpg_agent_pid}:1" + else + gpg_socket_dir="${GNUPGHOME:=$HOME/.gnupg}" + if [ ! -S "${GNUPGHOME:=$HOME/.gnupg}/S.gpg-agent" ]; then + gpg_socket_dir="${XDG_RUNTIME_DIR}/gnupg" + fi + if [ -S "${gpg_socket_dir}/S.gpg-agent" ]; then + inherit_gpg_agent_pid=$(findpids "${gpg_prog_name}") + inherit_gpg_agent_info="${gpg_socket_dir}/S.gpg-agent:${inherit_gpg_agent_pid}:1" + fi fi fi fi @@ -942,7 +948,7 @@ ssh_l() { # synopsis: ssh_f filename # Return fingerprint for a keyfile -# Requires $openssh and $sunssh +# Requires $openssh or $sunssh ssh_f() { sf_filename="$1" @@ -960,9 +966,8 @@ ssh_f() { fi lsf_filename=$(echo "$sf_filename" | sed 's/\.[^\.]*$//').pub if [ ! -f "$lsf_filename" ]; then - warn "Cannot find public key for $sf_filename." - basename "$sf_filename" - return 0 + warn "Cannot find separate public key for $1." + lsf_filename="$sf_filename" fi fi sf_fing=$(ssh-keygen -l -f "$lsf_filename") || return 1 diff --git a/keychain.1 b/keychain.1 index b170d67..711546e 100644 --- a/keychain.1 +++ b/keychain.1 @@ -1,4 +1,4 @@ -.\" Automatically generated by Pod::Man 4.07 (Pod::Simple 3.32) +.\" Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) .\" .\" Standard preamble: .\" ======================================================================== @@ -129,7 +129,7 @@ .\" ======================================================================== .\" .IX Title "keychain 1" -.TH keychain 1 "2017-11-12" "2.8.4" "http://www.funtoo.org" +.TH keychain 1 "2018-01-24" "2.8.5" "http://www.funtoo.org" .\" For nroff, turn off justification. Always turn off hyphenation; it makes .\" way too many mistakes in technical documents. .if n .ad l @@ -138,8 +138,8 @@ keychain \- re\-use ssh\-agent and/or gpg\-agent between logins .SH "SYNOPSIS" .IX Header "SYNOPSIS" -keychain\ [\ \-hklQqV\ ]\ [\ \-\-clear\ \-\-confhost\ \-\-gpg2\ \-\-help\ \-\-ignore\-missing\ \-\-list\ \-\-noask -\&\-\-nocolor\ \-\-nogui\ \-\-nolock\ \-\-quick\ \-\-quiet\ \-\-version\ ] +keychain\ [\ \-hklQqV\ ]\ [\ \-\-clear\ \-\-confhost\ \-\-gpg2\ \-\-help\ \-\-ignore\-missing\ \-\-list +\&\-\-noask\ \-\-nocolor\ \-\-nogui\ \-\-nolock\ \-\-quick\ \-\-quiet\ \-\-version\ ] [\ \-\-agents\ \fIlist\fR\ ]\ [\ \-\-attempts\ \fInum\fR\ ]\ [\ \-\-dir\ \fIdirname\fR\ ] [\ \-\-host\ \fIname\fR\ ]\ [\ \-\-lockwait\ \fIseconds\fR\ ] [\ \-\-stop\ \fIwhich\fR\ ]\ [\ \-\-timeout\ \fIminutes\fR\ ]\ [\ keys...\ ] @@ -303,7 +303,7 @@ except that it will not prompt you to add any of the keys you specified if they haven't yet been added to ssh-agent. .IP "\fB\-\-nocolor\fR" 4 .IX Item "--nocolor" -Disable color hilighting for non ANSI-compatible terms. +Disable color highlighting for non ANSI-compatible terms. .IP "\fB\-\-nogui\fR" 4 .IX Item "--nogui" Don't honor \s-1SSH_ASKPASS,\s0 if it is set. This will cause ssh-add to diff --git a/keychain.spec b/keychain.spec index 8e0bbcc..487348f 100644 --- a/keychain.spec +++ b/keychain.spec @@ -1,5 +1,5 @@ Name: keychain -Version: 2.8.4 +Version: 2.8.5 Release: 1 Summary: agent manager for OpenSSH, ssh.com, Sun SSH, and GnuPG Packager: Daniel Robbins diff --git a/keychain.txt b/keychain.txt index a722507..175664d 100644 --- a/keychain.txt +++ b/keychain.txt @@ -162,7 +162,7 @@ OPTIONS specified if they haven't yet been added to ssh-agent. --nocolor - Disable color hilighting for non ANSI-compatible terms. + Disable color highlighting for non ANSI-compatible terms. --nogui Don't honor SSH_ASKPASS, if it is set. This will cause ssh-add to