Handle TOS 0 also...
[doldaconnect.git] / daemon / net.c
index 16bcbe7..a5ff113 100644 (file)
@@ -866,17 +866,20 @@ int socksettos(struct socket *sk, int tos)
     {
        switch(tos)
        {
+       case 0:
+           buf = 0;
+           break;
        case SOCK_TOS_MINCOST:
-           buf = IPTOS_MINCOST;
+           buf = 0x02;
            break;
        case SOCK_TOS_MAXREL:
-           buf = IPTOS_RELIABILITY;
+           buf = 0x04;
            break;
        case SOCK_TOS_MAXTP:
-           buf = IPTOS_THROUGHPUT;
+           buf = 0x08;
            break;
        case SOCK_TOS_MINDELAY:
-           buf = IPTOS_LOWDELAY;
+           buf = 0x10;
            break;
        default:
            flog(LOG_WARNING, "attempted to set unknown TOS value %i to IPv4 sock", tos);
@@ -893,6 +896,8 @@ int socksettos(struct socket *sk, int tos)
     {
        switch(tos)
        {
+       case 0:
+           buf = 0;
        case SOCK_TOS_MINCOST:
            buf = confgetint("net", "diffserv-mincost");
            break;