6in4: use uclient-fetch instead of wget/curl
authorFelix Fietkau <nbd@openwrt.org>
Wed, 20 Jan 2016 10:15:29 +0000 (10:15 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 20 Jan 2016 10:15:29 +0000 (10:15 +0000)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 48391

package/network/ipv6/6in4/Makefile
package/network/ipv6/6in4/files/6in4.sh

index 9eca57af63fd428e1f1a8356f0e8cbf42b6b6360..5d9355fa540cdf66836165bf7905db3c2046f87d 100644 (file)
@@ -8,7 +8,7 @@
 include $(TOPDIR)/rules.mk
 
 PKG_NAME:=6in4
-PKG_VERSION:=22
+PKG_VERSION:=23
 PKG_RELEASE:=1
 PKG_LICENSE:=GPL-2.0
 
@@ -17,7 +17,7 @@ include $(INCLUDE_DIR)/package.mk
 define Package/6in4
   SECTION:=net
   CATEGORY:=Network
-  DEPENDS:=@IPV6 +kmod-sit
+  DEPENDS:=@IPV6 +kmod-sit +uclient-fetch
   TITLE:=IPv6-in-IPv4 configuration support
   MAINTAINER:=Jo-Philipp Wich <xm@subsignal.org>
   PKGARCH:=all
index 59747a3783a934595e318191ff167ecdab92eea6..c358a222fa355fcf2d196cfa3535df7fbc7b8646 100755 (executable)
@@ -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
+               [ -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://ipv4.tunnelbroker.net/nic/update?username=$username&password=$password&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