diff options
Diffstat (limited to 'plugins')
-rwxr-xr-x | plugins/curl | 11 | ||||
-rwxr-xr-x | plugins/rsync | 10 |
2 files changed, 19 insertions, 2 deletions
diff --git a/plugins/curl b/plugins/curl index 8e658cc..5964613 100755 --- a/plugins/curl +++ b/plugins/curl @@ -4,10 +4,19 @@ # # ENVIRONMENT VARIABLES: # URL URL to download known_hosts file from +# SIGURL URL of the GnuPG signature +# KEYRING path to the keyring for use by gpgv # set -e -curl -Rz "./current" -m 300 -o new "${URL}" +if [ "${SIGURL}" ]; then + curl -Rz "./current" -m 300 -o new.sig "${SIGURL}" -o new "${URL}" + [ -e new ] || exit 0 + gpgv --keyring "${KEYRING}" --status-fd 2 new.sig || exit 1 + # return 1 because it's not clear what other codes may used +else + curl -Rz "./current" -m 300 -o new "${URL}" +fi # vim:set ft=sh: diff --git a/plugins/rsync b/plugins/rsync index 17a1e54..2d51a9d 100755 --- a/plugins/rsync +++ b/plugins/rsync @@ -3,7 +3,9 @@ # rsync plugin # # ENVIRONMENT VARIABLES: -# URL URL to download known_hosts file from +# URL URL to download known_hosts file from +# SIGURL URL of the GnuPG signature +# KEYRING path to the keyring for use by gpgv # set -e @@ -11,4 +13,10 @@ set -e ln -f current new || true rsync -vt --timeout=300 "${URL}" new +if [ "${SIGURL}" ]; then + rsync -vt --timeout=300 "${SIGURL}" new.sig + gpgv --keyring "${KEYRING}" --status-fd 2 new.sig || exit 1 + # return 1 because it's not clear what other codes may used +fi + # vim:set ft=sh: |