1. kresd/1.3.0/tcp/patch
NS/CNAME毒盛の機会を減らすために、QURY_NO_MINIMIZEの場合にはTCPを使うことにしてみた。 -- ToshinoriMaeno 2017-06-20 23:39:21
resolve.c
type = (qry->flags & (QUERY_TCP |QUERY_NO_MINIMIZE)) ? SOCK_STREAM : SOCK_DGRAM;
qry->flags にQUERY_TCPを追加すると副作用がでるので、ここの判定だけを変更してみる。 -- ToshinoriMaeno 2017-06-20 23:37:35
$ diff -c resolve.c resolve.c.orig
*** resolve.c 2017-06-21 08:14:11.938308657 +0900 --- resolve.c.orig 2017-06-21 08:35:32.721655314 +0900 *************** *** 1418,1424 **** gettimeofday(&qry->timestamp, NULL); *dst = &qry->ns.addr[0].ip; ! *type = (qry->flags & (QUERY_TCP |QUERY_NO_MINIMIZE)) ? SOCK_STREAM : SOCK_DGRAM; return request->state; } --- 1418,1424 ---- gettimeofday(&qry->timestamp, NULL); *dst = &qry->ns.addr[0].ip; ! *type = (qry->flags & QUERY_TCP) ? SOCK_STREAM : SOCK_DGRAM; return request->state; }