links

lynx-like text mode web browser
git clone anongit@rnpnr.xyz:links.git
Log | Files | Refs | Feed | README | LICENSE

Commit: 38aa1cffa67bffc0dfa1353e54c673956147e204
Parent: 8dc35a9249df2fb0be0b566d2e1fe6efdd5c389c
Author: Randy Palamar
Date:   Thu, 26 Aug 2021 17:23:12 -0600

cleanup some casting spaghetti in dns.c and connect.c

Diffstat:
Mconnect.c | 19+++++++++----------
Mdns.c | 18+++++++++---------
Mlinks.h | 8++++----
3 files changed, 22 insertions(+), 23 deletions(-)

diff --git a/connect.c b/connect.c @@ -99,17 +99,16 @@ void make_connection(struct connection *c, int port, int *sock, void (*func)(str { int socks_port = -1; int as; - unsigned char *host; - char *p; + char *p, *host; size_t sl; struct conn_info *b; if (*c->socks_proxy) { p = strchr(c->socks_proxy, '@'); if (p) p++; else p = c->socks_proxy; - host = (unsigned char *)strdup(p); + host = strdup(p); socks_port = 1080; - if ((p = strchr(cast_const_char host, ':'))) { + if ((p = strchr(host, ':'))) { long lp; *p++ = 0; if (!*p) goto badu; @@ -123,21 +122,21 @@ void make_connection(struct connection *c, int port, int *sock, void (*func)(str } socks_port = (int)lp; } - } else if (!(host = get_host_name(c->url))) { + } else if (!(host = (char *)get_host_name(c->url))) { setcstate(c, S_INTERNAL); abort_connection(c); return; } if (c->newconn) internal("already making a connection"); - sl = strlen(cast_const_char host); + sl = strlen(host); if (sl > INT_MAX - sizeof(struct conn_info)) overalloc(); b = mem_calloc(sizeof(struct conn_info) + sl); b->func = func; b->sock = sock; b->l.socks_port = socks_port; b->l.target_port = port; - strcpy(b->host, cast_const_char host); + strcpy(b->host, host); c->newconn = b; if (c->last_lookup_state.addr_index < c->last_lookup_state.addr.n) { b->l.addr = c->last_lookup_state.addr; @@ -481,7 +480,7 @@ void retry_connect(struct connection *c, int err, int ssl_downgrade) } else #endif { - dns_clear_host((unsigned char *)b->host); + dns_clear_host(b->host); setcstate(c, b->first_error); retry_connection(c); } @@ -667,8 +666,8 @@ static void update_dns_priority(struct connection *c) if (b->l.addr_index) { int i; for (i = 0; i < b->l.addr_index; i++) - dns_set_priority((unsigned char *)b->host, &b->l.addr.a[i], 0); - dns_set_priority((unsigned char *)b->host, &b->l.addr.a[i], 1); + dns_set_priority(b->host, &b->l.addr.a[i], 0); + dns_set_priority(b->host, &b->l.addr.a[i], 1); } b->l.dont_try_more_servers = 1; } diff --git a/dns.c b/dns.c @@ -279,13 +279,13 @@ static void check_dns_cache_addr_preference(void) } } -static int find_in_dns_cache(unsigned char *name, struct dnsentry **dnsentry) +static int find_in_dns_cache(char *name, struct dnsentry **dnsentry) { struct dnsentry *e = NULL; struct list_head *le; check_dns_cache_addr_preference(); foreach(struct dnsentry, e, le, dns_cache) - if (!casestrcmp((unsigned char *)e->name, name)) { + if (!strcasecmp(e->name, name)) { del_from_list(e); add_to_list(dns_cache, e); *dnsentry = e; @@ -309,7 +309,7 @@ static void end_dns_lookup(struct dnsquery *q, int a) free(q); return; } - if (!find_in_dns_cache((unsigned char *)q->name, &dnsentry)) { + if (!find_in_dns_cache(q->name, &dnsentry)) { if (a) { memcpy(q->addr, &dnsentry->addr, sizeof(struct lookup_result)); a = 0; @@ -336,22 +336,22 @@ e: fn(data, a); } -int find_host_no_cache(unsigned char *name, struct lookup_result *addr, void **qp, void (*fn)(void *, int), void *data) +int find_host_no_cache(char *name, struct lookup_result *addr, void **qp, void (*fn)(void *, int), void *data) { struct dnsquery *q; - q = xmalloc(sizeof(struct dnsquery) + strlen(cast_const_char name)); + q = xmalloc(sizeof(struct dnsquery) + strlen(name)); q->fn = fn; q->data = data; q->s = (struct dnsquery **)qp; q->addr = addr; q->addr_preference = ipv6_options.addr_preference; - strcpy(q->name, (char *)name); + strcpy(q->name, name); if (qp) *qp = q; return do_lookup(q); } -int find_host(unsigned char *name, struct lookup_result *addr, void **qp, void (*fn)(void *, int), void *data) +int find_host(char *name, struct lookup_result *addr, void **qp, void (*fn)(void *, int), void *data) { struct dnsentry *dnsentry; if (qp) @@ -375,7 +375,7 @@ void kill_dns_request(void **qp) } #if MAX_ADDRESSES > 1 -void dns_set_priority(unsigned char *name, struct host_address *address, int prefer) +void dns_set_priority(char *name, struct host_address *address, int prefer) { int i; struct dnsentry *dnsentry; @@ -398,7 +398,7 @@ found_it: } #endif -void dns_clear_host(unsigned char *name) +void dns_clear_host(char *name) { struct dnsentry *dnsentry; if (find_in_dns_cache(name, &dnsentry)) diff --git a/links.h b/links.h @@ -420,13 +420,13 @@ struct lookup_state { int numeric_ip_address(const char *name, char address[4]); int numeric_ipv6_address(const char *name, char address[16], unsigned *scope_id); void rotate_addresses(struct lookup_result *); -int find_host(unsigned char *, struct lookup_result *, void **, void (*)(void *, int), void *); -int find_host_no_cache(unsigned char *, struct lookup_result *, void **, void (*)(void *, int), void *); +int find_host(char *, struct lookup_result *, void **, void (*)(void *, int), void *); +int find_host_no_cache(char *, struct lookup_result *, void **, void (*)(void *, int), void *); void kill_dns_request(void **); #if MAX_ADDRESSES > 1 -void dns_set_priority(unsigned char *, struct host_address *, int); +void dns_set_priority(char *, struct host_address *, int); #endif -void dns_clear_host(unsigned char *); +void dns_clear_host(char *); unsigned long dns_info(int type); unsigned char *print_address(struct host_address *); int ipv6_full_access(void);