summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--packaging/debian/changelog4
-rw-r--r--packaging/debian/control4
-rw-r--r--src/share/common9
-rw-r--r--src/share/m/gen_subkey23
4 files changed, 31 insertions, 9 deletions
diff --git a/packaging/debian/changelog b/packaging/debian/changelog
index df28da4..f7e6032 100644
--- a/packaging/debian/changelog
+++ b/packaging/debian/changelog
@@ -3,14 +3,14 @@ monkeysphere (0.27-1~pre1) UNRELEASED; urgency=low
* New upstream release:
- fixed monkeysphere gen-subkey subcommand that was erroneously
creating DSA subkeys due to unannounced change in gpg edit-key UI.
+ Now tests for gpg version.
- add new monkeysphere keys-from-userid subcommand to output all
acceptable keys for a given user ID literal
* updated debian/copyright to match the latest revision of DEP5.
* updated standards version to 3.8.3 (no changes needed)
- * updated Depends to require >=1.4.10 due to gpg UI change.
* add cpio to Build-Depends (used in test suite) (Closes: #562444)
- -- Jameson Graef Rollins <jrollins@finestructure.net> Sun, 10 Jan 2010 16:52:54 -0500
+ -- Jameson Rollins <jrollins@finestructure.net> Sun, 10 Jan 2010 18:45:37 -0500
monkeysphere (0.26-1) unstable; urgency=low
diff --git a/packaging/debian/control b/packaging/debian/control
index df00ed0..f1341d4 100644
--- a/packaging/debian/control
+++ b/packaging/debian/control
@@ -3,7 +3,7 @@ Section: net
Priority: extra
Maintainer: Jameson Graef Rollins <jrollins@finestructure.net>
Uploaders: Daniel Kahn Gillmor <dkg@fifthhorseman.net>
-Build-Depends: debhelper (>= 7.0), cpio, socat, openssh-server, gnupg (>=1.4.10), libcrypt-openssl-rsa-perl, libdigest-sha-perl, lockfile-progs | procmail
+Build-Depends: debhelper (>= 7.0), cpio, socat, openssh-server, gnupg, libcrypt-openssl-rsa-perl, libdigest-sha-perl, lockfile-progs | procmail
Standards-Version: 3.8.3
Homepage: http://web.monkeysphere.info/
Vcs-Git: git://git.monkeysphere.info/monkeysphere
@@ -11,7 +11,7 @@ Dm-Upload-Allowed: yes
Package: monkeysphere
Architecture: all
-Depends: openssh-client, gnupg (>=1.4.10), libcrypt-openssl-rsa-perl, libdigest-sha-perl, lockfile-progs | procmail, adduser, ${misc:Depends}
+Depends: openssh-client, gnupg, libcrypt-openssl-rsa-perl, libdigest-sha-perl, lockfile-progs | procmail, adduser, ${misc:Depends}
Recommends: netcat | socat, ssh-askpass, cron
Enhances: openssh-client, openssh-server
Description: use the OpenPGP web of trust to verify ssh connections
diff --git a/src/share/common b/src/share/common
index 28da3c0..de97ef7 100644
--- a/src/share/common
+++ b/src/share/common
@@ -530,6 +530,15 @@ gpg2authorized_keys() {
### GPG UTILITIES
+# script to determine if gpg version is equal to or greater than specified version
+is_gpg_version_greater_equal() {
+ local gpgVersion=$(gpg --version | head -1 | awk '{ print $3 }')
+ local latest=$(printf '%s\n%s\n' "$1" "$gpgVersion" \
+ | tr '.' ' ' | sort -g -k1 -k2 -k3 \
+ | tail -1 | tr ' ' '.')
+ [[ "$gpgVersion" == "$latest" ]]
+}
+
# retrieve all keys with given user id from keyserver
# FIXME: need to figure out how to retrieve all matching keys
# (not just first N (5 in this case))
diff --git a/src/share/m/gen_subkey b/src/share/m/gen_subkey
index 9cc6028..cf1ed0c 100644
--- a/src/share/m/gen_subkey
+++ b/src/share/m/gen_subkey
@@ -44,12 +44,25 @@ Type '$PGRM help' for usage."
# check that an authentication subkey does not already exist
check_gpg_authentication_subkey "$keyID"
+ # determine which keyType to use from gpg version
+ keyType=7
+ case $(gpg --version | head -1 | awk '{ print $3 }' | cut -d. -f1) in
+ 1)
+ if is_gpg_version_greater_equal 1.4.10 ; then
+ keyType=8
+ fi
+ ;;
+ 2)
+ if is_gpg_version_greater_equal 2.0.13 ; then
+ keyType=8
+ fi
+ ;;
+ *)
+ keyType=8
+ ;;
+ esac
+
# generate the list of commands that will be passed to edit-key
- # 7 for < 1.4.10
- # 8 for >= 1.4.10
- # 7 for < 2.0.13
- # 8 for >= 2.0.13
- keyType=8
editCommands="addkey
$keyType
S