2
0
mirror of https://gitlab.isc.org/isc-projects/bind9 synced 2025-08-30 22:15:20 +00:00

3717. [port] hpux: Treat EOPNOTSUPP as a expected error code when

probing to see if it is possible to set dscp values
                        on a per packet basis. [RT #35252]

3716.   [bug]           The dns_request code was setting dcsp values when not
                        requested.  [RT #35252]
This commit is contained in:
Mark Andrews
2014-01-28 08:25:28 +11:00
parent 3b9bbd52c8
commit b8cf73a3b3
3 changed files with 23 additions and 10 deletions

View File

@@ -1,3 +1,10 @@
3717. [port] hpux: Treat EOPNOTSUPP as a expected error code when
probing to see if it is possible to set dscp values
on a per packet basis. [RT #35252]
3716. [bug] The dns_request code was setting dcsp values when not
requested. [RT #35252]
3715. [bug] The region and city databases could fail to
initialize when using some versions of libGeoIP,
causing assertion failures when named was

View File

@@ -665,7 +665,7 @@ dns_request_createraw(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf,
dns_request_t **requestp)
{
return(dns_request_createraw4(requestmgr, msgbuf, srcaddr, destaddr,
0, options, timeout, 0, 0, task, action,
-1, options, timeout, 0, 0, task, action,
arg, requestp));
}
@@ -683,7 +683,7 @@ dns_request_createraw2(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf,
udpretries = timeout / udptimeout;
return (dns_request_createraw4(requestmgr, msgbuf, srcaddr, destaddr,
0, options, timeout, udptimeout,
-1, options, timeout, udptimeout,
udpretries, task, action, arg,
requestp));
}
@@ -697,7 +697,7 @@ dns_request_createraw3(dns_requestmgr_t *requestmgr, isc_buffer_t *msgbuf,
dns_request_t **requestp)
{
return (dns_request_createraw4(requestmgr, msgbuf, srcaddr, destaddr,
0, options, timeout, udptimeout,
-1, options, timeout, udptimeout,
udpretries, task, action, arg,
requestp));
}
@@ -868,7 +868,7 @@ dns_request_create(dns_requestmgr_t *requestmgr, dns_message_t *message,
dns_request_t **requestp)
{
return (dns_request_createvia4(requestmgr, message, NULL, address,
0, options, key, timeout, 0, 0, task,
-1, options, key, timeout, 0, 0, task,
action, arg, requestp));
}
@@ -881,7 +881,7 @@ dns_request_createvia(dns_requestmgr_t *requestmgr, dns_message_t *message,
dns_request_t **requestp)
{
return(dns_request_createvia4(requestmgr, message, srcaddr, destaddr,
0, options, key, timeout, 0, 0, task,
-1, options, key, timeout, 0, 0, task,
action, arg, requestp));
}
@@ -898,7 +898,7 @@ dns_request_createvia2(dns_requestmgr_t *requestmgr, dns_message_t *message,
if (udptimeout != 0)
udpretries = timeout / udptimeout;
return (dns_request_createvia4(requestmgr, message, srcaddr, destaddr,
0, options, key, timeout, udptimeout,
-1, options, key, timeout, udptimeout,
udpretries, task, action, arg,
requestp));
}
@@ -913,7 +913,7 @@ dns_request_createvia3(dns_requestmgr_t *requestmgr, dns_message_t *message,
dns_request_t **requestp)
{
return (dns_request_createvia4(requestmgr, message, srcaddr, destaddr,
0, options, key, timeout, udptimeout,
-1, options, key, timeout, udptimeout,
udpretries, task, action, arg,
requestp));
}

View File

@@ -497,8 +497,8 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) {
} control;
struct cmsghdr *cmsgp;
int dscp = 46;
struct iovec iovec = { (void *)&iovec, sizeof(iovec) };
char buf[sizeof(iovec)];
struct iovec iovec;
char buf[1] = { 0 };
isc_result_t result;
if (bind(s, res->ai_addr, res->ai_addrlen) < 0) {
@@ -517,6 +517,9 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) {
return (ISC_FALSE);
}
iovec.iov_base = buf;
iovec.iov_len = sizeof(buf);
memset(&msg, 0, sizeof(msg));
msg.msg_name = (struct sockaddr *)&ss;
msg.msg_namelen = len;
@@ -552,6 +555,9 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) {
switch (errno) {
#ifdef ENOPROTOOPT
case ENOPROTOOPT:
#endif
#ifdef EOPNOTSUPP
case EOPNOTSUPP:
#endif
case EINVAL:
break;
@@ -582,7 +588,7 @@ cmsgsend(int s, int level, int type, struct addrinfo *res) {
RUNTIME_CHECK(result == ISC_R_SUCCESS);
iovec.iov_base = buf;
iovec.iov_len = sizeof(len);
iovec.iov_len = sizeof(buf);
memset(&msg, 0, sizeof(msg));
msg.msg_name = (struct sockaddr *)&ss;