Commit hnyman's changes
[lede.git] / package / network / ipv6 / 6in4 / files / 6in4.sh
index 05471db14b6dc2adc67ed4dee60fef817964b6b9..8749a60f733a24184f6a9f4f02a298e94bd7fac3 100755 (executable)
@@ -11,7 +11,7 @@
 
 proto_6in4_update() {
        sh -c '
-               local timeout=5
+               timeout=8
 
                (while [ $((timeout--)) -gt 0 ]; do
                        sleep 1
@@ -82,40 +82,23 @@ proto_6in4_setup() {
                [ -n "$updatekey" ] && password="$updatekey"
 
                local http="http"
-               local urlget="wget"
+               local urlget="uclient-fetch"
                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
+               local ca_path="${SSL_CERT_DIR:-/etc/ssl/certs}"
+
+               [ -f /lib/libustream-ssl.so ] && http=https
                [ "$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
+                       urlget_opts="$urlget_opts --no-check-certificate"
                }
 
-               local url="$http://$username:$password@ipv4.tunnelbroker.net/nic/update?hostname=$tunnelid"
+               local url="$http://ipv4.tunnelbroker.net/nic/update?hostname=$tunnelid"
                local try=0
                local max=3
 
                (
                        set -o pipefail
                        while [ $((++try)) -le $max ]; do
-                               if proto_6in4_update $urlget $urlget_opts "$url" 2>&1 | \
+                               if proto_6in4_update $urlget $urlget_opts --user="$username" --password="$password" "$url" 2>&1 | \
                                        sed -e 's,^Killed$,timeout,' -e "s,^,update $try/$max: ," | \
                                        logger -t "$link";
                                then