diff options
author | Rikard Falkeborn <rikard.falkeborn@gmail.com> | 2020-04-27 12:07:34 +0200 |
---|---|---|
committer | Daniel Stenberg <daniel@haxx.se> | 2020-04-28 07:56:34 +0200 |
commit | fc0e29dd57bb0dc7bbf4d0e5c9638b01f7b6afc6 (patch) | |
tree | 8f24df11dadfaace6b9fbc3ad9868c8acdd155ca | |
parent | cad15b9f92812ea4cdec6b65b7e2a83bdc007eb3 (diff) | |
download | curl-fc0e29dd57bb0dc7bbf4d0e5c9638b01f7b6afc6.tar.gz |
doh: Constify some input pointers
Closes #5306
-rw-r--r-- | lib/doh.c | 26 | ||||
-rw-r--r-- | lib/doh.h | 2 | ||||
-rw-r--r-- | tests/unit/unit1650.c | 8 |
3 files changed, 19 insertions, 17 deletions
@@ -174,7 +174,7 @@ UNITTEST DOHcode doh_encode(const char *host, } static size_t -doh_write_cb(void *contents, size_t size, size_t nmemb, void *userp) +doh_write_cb(const void *contents, size_t size, size_t nmemb, void *userp) { size_t realsize = size * nmemb; struct dohresponse *mem = (struct dohresponse *)userp; @@ -439,7 +439,7 @@ Curl_addrinfo *Curl_doh(struct connectdata *conn, return NULL; } -static DOHcode skipqname(unsigned char *doh, size_t dohlen, +static DOHcode skipqname(const unsigned char *doh, size_t dohlen, unsigned int *indexp) { unsigned char length; @@ -463,12 +463,12 @@ static DOHcode skipqname(unsigned char *doh, size_t dohlen, return DOH_OK; } -static unsigned short get16bit(unsigned char *doh, int index) +static unsigned short get16bit(const unsigned char *doh, int index) { return (unsigned short)((doh[index] << 8) | doh[index + 1]); } -static unsigned int get32bit(unsigned char *doh, int index) +static unsigned int get32bit(const unsigned char *doh, int index) { /* make clang and gcc optimize this to bswap by incrementing the pointer first. */ @@ -480,7 +480,7 @@ static unsigned int get32bit(unsigned char *doh, int index) return ( (unsigned)doh[0] << 24) | (doh[1] << 16) |(doh[2] << 8) | doh[3]; } -static DOHcode store_a(unsigned char *doh, int index, struct dohentry *d) +static DOHcode store_a(const unsigned char *doh, int index, struct dohentry *d) { /* silently ignore addresses over the limit */ if(d->numaddr < DOH_MAX_ADDR) { @@ -492,7 +492,9 @@ static DOHcode store_a(unsigned char *doh, int index, struct dohentry *d) return DOH_OK; } -static DOHcode store_aaaa(unsigned char *doh, int index, struct dohentry *d) +static DOHcode store_aaaa(const unsigned char *doh, + int index, + struct dohentry *d) { /* silently ignore addresses over the limit */ if(d->numaddr < DOH_MAX_ADDR) { @@ -505,7 +507,7 @@ static DOHcode store_aaaa(unsigned char *doh, int index, struct dohentry *d) } static DOHcode cnameappend(struct cnamestore *c, - unsigned char *src, + const unsigned char *src, size_t len) { if(!c->alloc) { @@ -530,7 +532,7 @@ static DOHcode cnameappend(struct cnamestore *c, return DOH_OK; } -static DOHcode store_cname(unsigned char *doh, +static DOHcode store_cname(const unsigned char *doh, size_t dohlen, unsigned int index, struct dohentry *d) @@ -585,7 +587,7 @@ static DOHcode store_cname(unsigned char *doh, return DOH_OK; } -static DOHcode rdata(unsigned char *doh, +static DOHcode rdata(const unsigned char *doh, size_t dohlen, unsigned short rdlength, unsigned short type, @@ -635,7 +637,7 @@ static void init_dohentry(struct dohentry *de) } -UNITTEST DOHcode doh_decode(unsigned char *doh, +UNITTEST DOHcode doh_decode(const unsigned char *doh, size_t dohlen, DNStype dnstype, struct dohentry *d) @@ -775,12 +777,12 @@ UNITTEST DOHcode doh_decode(unsigned char *doh, #ifndef CURL_DISABLE_VERBOSE_STRINGS static void showdoh(struct Curl_easy *data, - struct dohentry *d) + const struct dohentry *d) { int i; infof(data, "TTL: %u seconds\n", d->ttl); for(i = 0; i < d->numaddr; i++) { - struct dohaddr *a = &d->addr[i]; + const struct dohaddr *a = &d->addr[i]; if(a->type == DNS_TYPE_A) { infof(data, "DOH A: %u.%u.%u.%u\n", a->ip.v4[0], a->ip.v4[1], @@ -99,7 +99,7 @@ DOHcode doh_encode(const char *host, unsigned char *dnsp, /* buffer */ size_t len, /* buffer size */ size_t *olen); /* output length */ -DOHcode doh_decode(unsigned char *doh, +DOHcode doh_decode(const unsigned char *doh, size_t dohlen, DNStype dnstype, struct dohentry *d); diff --git a/tests/unit/unit1650.c b/tests/unit/unit1650.c index 35ac12c81..502bf9df0 100644 --- a/tests/unit/unit1650.c +++ b/tests/unit/unit1650.c @@ -185,7 +185,7 @@ UNITTEST_START size_t len; int u; memset(&d, 0, sizeof(d)); - rc = doh_decode((unsigned char *)resp[i].packet, resp[i].size, + rc = doh_decode((const unsigned char *)resp[i].packet, resp[i].size, resp[i].type, &d); if(rc != resp[i].rc) { fprintf(stderr, "resp %zu: Expected return code %d got %d\n", i, @@ -241,7 +241,7 @@ UNITTEST_START struct dohentry d; int rc; memset(&d, 0, sizeof(d)); - rc = doh_decode((unsigned char *)full49, i, DNS_TYPE_A, &d); + rc = doh_decode((const unsigned char *)full49, i, DNS_TYPE_A, &d); if(!rc) { /* none of them should work */ fprintf(stderr, "%zu: %d\n", i, rc); @@ -253,7 +253,7 @@ UNITTEST_START struct dohentry d; int rc; memset(&d, 0, sizeof(d)); - rc = doh_decode((unsigned char *)&full49[i], sizeof(full49)-i-1, + rc = doh_decode((const unsigned char *)&full49[i], sizeof(full49)-i-1, DNS_TYPE_A, &d); if(!rc) { /* none of them should work */ @@ -266,7 +266,7 @@ UNITTEST_START struct dohentry d; struct dohaddr *a; memset(&d, 0, sizeof(d)); - rc = doh_decode((unsigned char *)full49, sizeof(full49)-1, + rc = doh_decode((const unsigned char *)full49, sizeof(full49)-1, DNS_TYPE_A, &d); fail_if(d.numaddr != 1, "missing address"); a = &d.addr[0]; |