Initialize dns servers if a hostname (vs ipaddr) is used in a URL.
Otherwise the wget will fail without displaying an error due to
dns_gethostbyname failing silently when no DNS servers are set unless
you have previously performed a 'dns <arg>' command.

Signed-off-by: Tim Harvey <thar...@gateworks.com>
Acked-by: Jerome Forissier <jerome.foriss...@linaro.org>
---
v2:
 - added tags
---
 net/lwip/wget.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/net/lwip/wget.c b/net/lwip/wget.c
index fcaf684e61da..2ca369db65a1 100644
--- a/net/lwip/wget.c
+++ b/net/lwip/wget.c
@@ -460,6 +460,10 @@ int wget_do_request(ulong dst_addr, char *uri)
        if (!netif)
                return -1;
 
+       /* if URL with hostname init dns */
+       if (!ipaddr_aton(ctx.server_name, NULL) && net_lwip_dns_init())
+               return CMD_RET_FAILURE;
+
        memset(&conn, 0, sizeof(conn));
 #if CONFIG_IS_ENABLED(WGET_HTTPS)
        if (is_https) {
-- 
2.25.1

Reply via email to