]> git.ipfire.org Git - thirdparty/bind9.git/commitdiff
handle both cmsg types IP_TOS and IP_RECVTOS being used to return IP_TOS
authorMark Andrews <marka@isc.org>
Thu, 11 Apr 2013 23:32:41 +0000 (09:32 +1000)
committerMark Andrews <marka@isc.org>
Thu, 11 Apr 2013 23:33:33 +0000 (09:33 +1000)
lib/isc/unix/socket.c

index 2eebf0acb5edd05c4586b748fe4377692a5d03a1..668fbcd1bafb775ace3a45c817e3f2f254e72e42 100644 (file)
@@ -1339,7 +1339,11 @@ process_cmsg(isc__socket_t *sock, struct msghdr *msg, isc_socketevent_t *dev) {
 
 #ifdef IP_TOS
                if (cmsgp->cmsg_level == IPPROTO_IP
-                   && cmsgp->cmsg_type == IP_TOS) {
+                   && (cmsgp->cmsg_type == IP_TOS
+#ifdef IP_RECVTOS
+                       || cmsgp->cmsg_type == IP_RECVTOS
+#endif
+                       )) {
                        dev->dscp = (int) *(uint8_t *)CMSG_DATA(cmsgp);
                        dev->dscp >>= 2;
                        dev->attributes |= ISC_SOCKEVENTATTR_DSCP;