Parcourir la source

Merge branch 'dscp-support' of https://github.com/iavael/aria2 into iavael-dscp-support

Tatsuhiro Tsujikawa il y a 11 ans
Parent
commit
a67096522d
1 fichiers modifiés avec 9 ajouts et 1 suppressions
  1. 9 1
      src/SocketCore.cc

+ 9 - 1
src/SocketCore.cc

@@ -535,7 +535,15 @@ void SocketCore::setTcpNodelay(bool f)
 
 void SocketCore::applyIpDscp()
 {
-  setSockOpt(IPPROTO_IP, IP_TOS, &ipDscp_, sizeof(ipDscp_));
+  int family = getAddressFamily();
+  if(family == AF_INET) {
+    setSockOpt(IPPROTO_IP, IP_TOS, &ipDscp_, sizeof(ipDscp_));
+  }
+#if defined(__linux__) || defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(__DragonFly__)
+  else if(family == AF_INET6) {
+    setSockOpt(IPPROTO_IPV6, IPV6_TCLASS, &ipDscp_, sizeof(ipDscp_));
+  }
+#endif
 }
 
 void SocketCore::setNonBlockingMode()