Fix Windows build and silence some warnings

This commit is contained in:
dmiller 2026-06-11 17:56:27 +00:00
parent 2e47fa8746
commit e8392e7cca
2 changed files with 19 additions and 16 deletions

View file

@ -110,22 +110,21 @@
//
// * Figure out best way to estimate completion time
// and display it in a ScanProgressMeter
#include "massdns.h"
#include "netutil.h"
#include <limits.h>
#include <sstream>
#include <fstream>
//#include <istream>
#include <algorithm>
#include <map>
#include <assert.h>
#ifdef WIN32
#include <winsock2.h>
#include <iphlpapi.h>
#endif
#include <sstream>
#include <fstream>
#include <algorithm>
#include <map>
#include "massdns.h"
#include "netutil.h"
#include <limits.h>
#include <assert.h>
// From nmap.h
#ifndef MIN_RTT_TIMEOUT
#define MIN_RTT_TIMEOUT 100
@ -218,7 +217,7 @@ struct dns_server {
std::list<request *> to_process;
std::list<request *> in_process;
struct timeval last_increase;
dns_server(DNS::ResolverImpl *i) : impl(i), hostname(), addr_len(0), status(DISCONNECTED), reqs_on_wire(0),
dns_server(DNS::ResolverImpl *i) : impl(i), hostname(), addr_len(0), nsd(NULL), status(DISCONNECTED), reqs_on_wire(0),
capacity(CAPACITY_MIN), ssthresh((CAPACITY_MAX + CAPACITY_MIN)/2), write_busy(0), to_process(), in_process()
{
memset(&addr, 0, sizeof(addr));
@ -738,7 +737,7 @@ bool DNS::ResolverImpl::resolve_nsock()
connect_dns_servers();
int read_timeout_index = MIN(sizeof(read_timeouts)/sizeof(read_timeouts[0]), servs.size()) - 1;
int read_timeout_index = MIN(sizeof(default_read_timeouts)/sizeof(default_read_timeouts[0]), servs.size()) - 1;
read_timeouts = default_read_timeouts[read_timeout_index];
int timeout = 0;
@ -1600,8 +1599,8 @@ void DNS::ResolverImpl::etchosts_init(void) {
char tpbuf[2048];
int has_backslash;
if (!GetWindowsDirectory(windows_dir, sizeof(windows_dir)))
log_func(0, "Failed to determine your windows directory");
if (!GetWindowsDirectoryA(windows_dir, sizeof(windows_dir)))
fprintf(stderr, "massdns: Failed to determine your windows directory\n");
// If it has a backslash it's C:\, otherwise something like C:\WINNT
has_backslash = (windows_dir[strlen(windows_dir)-1] == '\\');

View file

@ -157,6 +157,7 @@ class A_Record : public Record
{
public:
sockaddr_storage value;
A_Record() : value() {}
Record * clone() { return new A_Record(*this); }
~A_Record() {}
size_t parseFromBuffer(const u8 *buf, size_t offset, size_t maxlen, RECORD_TYPE rt);
@ -189,6 +190,7 @@ public:
class Query
{
public:
Query() : record_type(RECORD_TYPE::NONE), record_class(RECORD_CLASS::CLASS_IN) {}
std::string name;
u16 record_type;
u16 record_class;
@ -199,7 +201,9 @@ public:
class Answer
{
public:
Answer() : record(NULL) {}
Answer() : record_type(RECORD_TYPE::NONE),
record_class(RECORD_CLASS::CLASS_IN), ttl(0), length(0),
record(NULL) {}
Answer(const Answer &c) : name(c.name), record_type(c.record_type),
record_class(c.record_class), ttl(c.ttl), length(c.length),
record(c.record->clone()) {}