libevent отправил DNS-запрос со смешанными случаями

При подключении с помощью libevent странно то, что отправленный DNS-запрос был для хоста «WWw.yahoo.COM». Вот фрагмент кода, вызвавший это.

struct evhttp_connection * evcon = evhttp_connection_base_bufferevent_new(
        base, dns_base, bev,    "www.yahoo.com", port);

Кажется, это не вызывает никаких проблем в моем приложении, просто интересно, есть ли причина, по которой libevent должен смешивать случаи.

Спасибо.


person packetie    schedule 20.07.2014    source источник


Ответы (1)


Это функция безопасности.

randomize-case:INT Если не ноль, мы рандомизируем регистр исходящих DNS-запросов и удостоверяемся, что ответы имеют тот же регистр, что и наши запросы. Этот так называемый «взлом 0x20» может помочь предотвратить некоторые простые активные события против DNS. По умолчанию 1.

http://www.wangafu.net/~nickm/libevent-book/Ref9_dns.html

Если вы хотите, вы можете отключить его, используя:

evdns_base_set_option(base, "randomize-case", "0");
person Jahaja    schedule 20.07.2014
comment
Спасибо @jahaja! Это помогает. Хотелось бы, чтобы по умолчанию не было случайного случая, принцип наименьшего удивления :-) - person packetie; 20.07.2014