Merge branch 'artem-dig-http-plain-get-post-support-fix' into 'main'
DIG: fix handling of +http-plain-get and +http-plain-post options See merge request isc-projects/bind9!6672
This commit is contained in:
4
CHANGES
4
CHANGES
@@ -1,3 +1,7 @@
|
||||
5944. [bug] Fix +http-plain-get and +http-plain-post options
|
||||
support in dig. Thanks to Marco Davids at SIDN for
|
||||
reporting the problem. [GL !6672]
|
||||
|
||||
5943. [placeholder]
|
||||
|
||||
5942. [bug] Fix tkey.c:buildquery() function's error handling by
|
||||
|
||||
@@ -359,9 +359,11 @@ received(unsigned int bytes, isc_sockaddr_t *from, dig_query_t *query) {
|
||||
proto = "TLS";
|
||||
} else if (query->lookup->https_mode) {
|
||||
if (query->lookup->http_plain) {
|
||||
proto = "HTTP";
|
||||
proto = query->lookup->https_get ? "HTTP-GET"
|
||||
: "HTTP";
|
||||
} else {
|
||||
proto = "HTTPS";
|
||||
proto = query->lookup->https_get ? "HTTPS-GET"
|
||||
: "HTTPS";
|
||||
}
|
||||
} else if (query->lookup->tcp_mode) {
|
||||
proto = "TCP";
|
||||
@@ -1552,12 +1554,12 @@ plus_option(char *option, bool is_batchfile, bool *need_clone,
|
||||
FULLCHECK("http-plain");
|
||||
break;
|
||||
case '-':
|
||||
switch (cmd[6]) {
|
||||
switch (cmd[11]) {
|
||||
case 'p':
|
||||
FULLCHECK("https-plain-post");
|
||||
FULLCHECK("http-plain-post");
|
||||
break;
|
||||
case 'g':
|
||||
FULLCHECK("https-plain-get");
|
||||
FULLCHECK("http-plain-get");
|
||||
lookup->https_get = true;
|
||||
break;
|
||||
}
|
||||
|
||||
@@ -344,16 +344,18 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "checking DoH query (POST) ($n)"
|
||||
ret=0
|
||||
dig_with_https_opts @10.53.0.1 . SOA > dig.out.test$n
|
||||
dig_with_https_opts +stat @10.53.0.1 . SOA > dig.out.test$n
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
grep -F "(HTTPS)" dig.out.test$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
n=$((n + 1))
|
||||
echo_i "checking DoH query via IPv6 (POST) ($n)"
|
||||
ret=0
|
||||
dig_with_https_opts -6 @fd92:7065:b8e:ffff::1 . SOA > dig.out.test$n
|
||||
dig_with_https_opts +stat -6 @fd92:7065:b8e:ffff::1 . SOA > dig.out.test$n
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
grep -F "(HTTPS)" dig.out.test$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
@@ -416,16 +418,18 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "checking DoH query (GET) ($n)"
|
||||
ret=0
|
||||
dig_with_https_opts +https-get @10.53.0.1 . SOA > dig.out.test$n
|
||||
dig_with_https_opts +stat +https-get @10.53.0.1 . SOA > dig.out.test$n
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
grep -F "(HTTPS-GET)" dig.out.test$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
n=$((n + 1))
|
||||
echo_i "checking DoH query via IPv6 (GET) ($n)"
|
||||
ret=0
|
||||
dig_with_https_opts -6 +https-get @fd92:7065:b8e:ffff::1 . SOA > dig.out.test$n
|
||||
dig_with_https_opts -6 +stat +https-get @fd92:7065:b8e:ffff::1 . SOA > dig.out.test$n
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
grep -F "(HTTPS-GET)" dig.out.test$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
@@ -488,32 +492,36 @@ status=$((status + ret))
|
||||
n=$((n + 1))
|
||||
echo_i "checking unencrypted DoH query (POST) ($n)"
|
||||
ret=0
|
||||
dig_with_http_opts @10.53.0.1 . SOA > dig.out.test$n
|
||||
dig_with_http_opts +stat @10.53.0.1 . SOA > dig.out.test$n
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
grep -F "(HTTP)" dig.out.test$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
n=$((n + 1))
|
||||
echo_i "checking unencrypted DoH query via IPv6 (POST) ($n)"
|
||||
ret=0
|
||||
dig_with_http_opts -6 @fd92:7065:b8e:ffff::1 . SOA > dig.out.test$n
|
||||
dig_with_http_opts -6 +stat @fd92:7065:b8e:ffff::1 . SOA > dig.out.test$n
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
grep -F "(HTTP)" dig.out.test$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
n=$((n + 1))
|
||||
echo_i "checking unencrypted DoH query (GET) ($n)"
|
||||
ret=0
|
||||
dig_with_http_opts +http-plain-get @10.53.0.1 . SOA > dig.out.test$n
|
||||
dig_with_http_opts +stat +http-plain-get @10.53.0.1 . SOA > dig.out.test$n
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
grep -F "(HTTP-GET)" dig.out.test$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
n=$((n + 1))
|
||||
echo_i "checking unencrypted DoH query via IPv6 (GET) ($n)"
|
||||
ret=0
|
||||
dig_with_http_opts -6 +http-plain-get @fd92:7065:b8e:ffff::1 . SOA > dig.out.test$n
|
||||
dig_with_http_opts -6 +stat +http-plain-get @fd92:7065:b8e:ffff::1 . SOA > dig.out.test$n
|
||||
grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
|
||||
grep -F "(HTTP-GET)" dig.out.test$n > /dev/null || ret=1
|
||||
if [ $ret != 0 ]; then echo_i "failed"; fi
|
||||
status=$((status + ret))
|
||||
|
||||
|
||||
Reference in New Issue
Block a user