- [ -n "$tunnelid" -a -n "$username" -a -n "$password" ] && {
- [ "${#password}" == 32 -a -z "${password//[a-fA-F0-9]/}" ] || {
- password="$(echo -n "$password" | md5sum)"; password="${password%% *}"
+ [ -n "$tunnelid" -a -n "$username" -a \( -n "$password" -o -n "$updatekey" \) ] && {
+ [ -n "$updatekey" ] && password="$updatekey"
+
+ local http="http"
+ local urlget="wget"
+ local urlget_opts="-qO-"
+ local ca_path="${SSL_CERT_DIR-/etc/ssl/certs}"
+
+ if [ -n "$(which curl)" ]; then
+ urlget="curl"
+ urlget_opts="-s -S"
+ if curl -V | grep "Protocols:" | grep -qF "https"; then
+ http="https"
+ urlget_opts="$urlget_opts --capath $ca_path"
+ fi
+ fi
+ if [ "$http" = "http" ] &&
+ wget --version 2>&1 | grep -qF "+https"; then
+ urlget="wget"
+ urlget_opts="-qO- --ca-directory=$ca_path"
+ http="https"
+ fi
+ [ "$http" = "https" -a -z "$(find $ca_path -name "*.0" 2>/dev/null)" ] && {
+ if [ "$urlget" = "curl" ]; then
+ urlget_opts="$urlget_opts -k"
+ else
+ urlget_opts="$urlget_opts --no-check-certificate"
+ fi