From 4e3976711dec26ba1f462f19c4b865dea3dbe4d7 Mon Sep 17 00:00:00 2001 From: Michael Brown Date: Thu, 18 Jan 2007 22:38:13 +0000 Subject: A working name resolution framework --- src/net/tcp/http.c | 14 +++++--------- src/net/udp/dns.c | 7 +++++++ 2 files changed, 12 insertions(+), 9 deletions(-) (limited to 'src/net') diff --git a/src/net/tcp/http.c b/src/net/tcp/http.c index 04e8f9a1d..87f6eee2b 100644 --- a/src/net/tcp/http.c +++ b/src/net/tcp/http.c @@ -35,6 +35,7 @@ #include #include #include +#include #include static struct async_operations http_async_operations; @@ -391,17 +392,12 @@ int http_get ( struct uri *uri, struct buffer *buffer, struct async *parent ) { http->buffer = buffer; async_init ( &http->async, &http_async_operations, parent ); - -#warning "Quick name resolution hack" - extern int dns_resolv ( const char *name, - struct sockaddr *sa, - struct async *parent ); - - if ( ( rc = dns_resolv ( uri->host, &http->server, - &http->async ) ) != 0 ) + /* Start name resolution. The download proper will start when + * name resolution completes. + */ + if ( ( rc = resolv ( uri->host, &http->server, &http->async ) ) != 0 ) goto err; - return 0; err: diff --git a/src/net/udp/dns.c b/src/net/udp/dns.c index 872e3b296..a5b658c29 100644 --- a/src/net/udp/dns.c +++ b/src/net/udp/dns.c @@ -26,6 +26,7 @@ #include #include #include +#include #include /** @file @@ -468,3 +469,9 @@ int dns_resolv ( const char *name, struct sockaddr *sa, free ( dns ); return rc; } + +/** DNS name resolver */ +struct resolver dns_resolver __resolver = { + .name = "DNS", + .resolv = dns_resolv, +}; -- cgit v1.2.3-55-g7522