Wget error in DDNS update [Solved]

I am using David's LEDE build for my WRT1900ACS

I receive error for DDNS update, and as I dig into the details, I found something odd:

  • wget 1.18-2 have been installed
  • curl 7.51.0-1 have been installed
  • ddns script always use wget-ssl to update ENom, have error. the old router in OpenWRT use wget 1.17.1-1 update with no error
  • ddns using https to update dynv6.com service do not have error

I ssh to the router and use below command and found that wget don't work on ENom, curl work, but I don't know how to force the script to use curl to update.

Any idea on how to fix it?

below are command and output

root@lede:~# wget-ssl 'https://reseller.enom.com'
--2017-01-07 10:19:27--  https://reseller.enom.com/
Resolving reseller.enom.com... 69.64.157.53
Connecting to reseller.enom.com|69.64.157.53|:443... connected.
OpenSSL: error:0606C06E:lib(6):func(108):reason(110)
OpenSSL: error:1408D07B:lib(20):func(141):reason(123)
Unable to establish SSL connection.
root@lede:~# wget 'https://reseller.enom.com'
--2017-01-07 10:22:48--  https://reseller.enom.com/
Resolving reseller.enom.com... 69.64.157.53
Connecting to reseller.enom.com|69.64.157.53|:443... connected.
OpenSSL: error:0606C06E:lib(6):func(108):reason(110)
OpenSSL: error:1408D07B:lib(20):func(141):reason(123)
Unable to establish SSL connection.
root@lede:~# 

root@lede:~# wget 'https://dynv6.com'
--2017-01-07 10:32:43--  https://dynv6.com/
Resolving dynv6.com... 2a03:4000:10:1db::, 2a01:4f8:130:6070::53, 2a00:c380:c0de::5353, ...
Connecting to dynv6.com|2a03:4000:10:1db::|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'index.html'

index.html              [ <=>                ]   3.23K  --.-KB/s    in 0s      

2017-01-07 10:32:43 (6.64 MB/s) - 'index.html' saved [3310]

root@lede:~# wget-ssl 'https://dynv6.com'
--2017-01-07 10:33:15--  https://dynv6.com/
Resolving dynv6.com... 2a00:c380:c0de::5353, 2a03:4000:10:1db::, 2a01:4f8:130:6070::53, ...
Connecting to dynv6.com|2a00:c380:c0de::5353|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [text/html]
Saving to: 'index.html.1'

index.html.1            [ <=>                ]   3.23K  --.-KB/s    in 0s      

2017-01-07 10:33:16 (14.7 MB/s) - 'index.html.1' saved [3310]

root@lede:~#

I found that I could use the following in ddns config
option use_curl '1'

but the ddns script simply ignore my request, continue to use wget-ssl

I then uninstall wget, luci complain I cannot use https.
I reboot and both shows below

 112442 ERROR : cURL Error: '77'
 112442       : curl: (77) Error reading ca cert file /etc/ssl/certs/ca-certificates.crt - PolarSSL: (-0x2180) X509 - The CRT/CRL/CSR format is invalid, e.g. different type expected

How old is this build?

PolarSSL is being stripped from LEDE since it's the legacy version of mbedTLS, and upstream support for PolarSSL ended starting January 1st, 2017. Might be it has something to do with that.

LuCI shouldn't need wget, though, afaik.

LEDE is latest from davidc502sis
Lede leviathan II SNAPSHOT r2695-c9c68c7 / LuCI Master (git-16.358.28306-df0d765)

The old OpenWRT do not have any module contain name 'polar'
Whereas the Lede build contain polarssl, I removed it then the ddns script complain there is no SSL support (openssl libopenssl are present)

reinstalled libpolarssl and installed libustream-polarssl no help either

The build described in original question is r2695

My another router just set up with wget and have no problem, the build is newer r2818

The ddns update I have made it working on r2695 with a reset of the router, not install wget package, install libustream-openssl and curl, the ddns script will update properly with curl. Well, I think if the release version of LEDE work like the r2818 of my another router, this is not an issue anymore.

It would be interesting to know if this patch fixes your problem, since you say cURL works but wget does not.

Will require you to run a build yourself though (or wait for it to be accepted by the devs).

Upgraded to a customed r3063, the wget-ssl still come up with the same error

OpenSSL: error:0606C06E:lib(6):func(108):reason(110)
OpenSSL: error:1408D07B:lib(20):func(141):reason(123)
Unable to establish SSL connection.

Flashed the 17.01-SNAPSHOT r3024-6b68635 downloaded directly from LEDE, this time the problem solved