summaryrefslogtreecommitdiff
path: root/plugins/curl
blob: 29c0ace14657e25f34233659179a4e5938b7ab77 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#!/bin/sh

# curl plugin
#
# ENVIRONMENT VARIABLES:
#	URL		URL to download known_hosts file from
#	CURL_OPTIONS	options passed to curl
#	SIGURL		URL of the OpenPGP signature
#	KEYRING		path to the OpenPGP keyring with certificates
#

set -e

if [ "${SIGURL}" ]; then
	curl -fRz "./current" -m 300 ${CURL_OPTIONS} -o new.sig "${SIGURL}" -o new "${URL}"
	[ -e new ] || exit 0
	gpgv --keyring "${KEYRING}" --status-fd 2 new.sig new || exit 1
	# return 1 because it's not clear what other codes may be safe to
	# use that do not overlap with codes from curl.
else
	curl -fRz "./current" -m 300 ${CURL_OPTIONS} -o new "${URL}"
fi

# vim:set ft=sh: