From 96139421d6006a3ce4d40aa6c7e482b1da9e38cc Mon Sep 17 00:00:00 2001 From: Evan Hunt Date: Tue, 26 Mar 2013 23:01:13 -0700 Subject: [PATCH] [master] win32 portability fixes --- bin/check/win32/checktool.dsp | 4 ++-- bin/dnssec/win32/dnssectool.dsp | 4 ++-- bin/named/server.c | 1 + bin/named/win32/dlz_dlopen_driver.c | 12 ++++++++---- lib/dns/win32/libdns.def | 12 +++++++----- lib/dns/win32/libdns.dsp | 2 ++ lib/dns/win32/libdns.mak | 5 +++-- lib/isc/win32/libisc.def | 9 +++++++-- lib/isc/win32/socket.c | 18 ++++++++++++------ 9 files changed, 44 insertions(+), 23 deletions(-) diff --git a/bin/check/win32/checktool.dsp b/bin/check/win32/checktool.dsp index f6b6c4c620..44e9525329 100644 --- a/bin/check/win32/checktool.dsp +++ b/bin/check/win32/checktool.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fdchecktool +# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fdchecktool # SUBTRACT CPP /X # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 @@ -70,7 +70,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fdchecktool +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/isccfg/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fdchecktool # SUBTRACT CPP /X # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 diff --git a/bin/dnssec/win32/dnssectool.dsp b/bin/dnssec/win32/dnssectool.dsp index 9f5b60d7e5..9bd9573f85 100644 --- a/bin/dnssec/win32/dnssectool.dsp +++ b/bin/dnssec/win32/dnssectool.dsp @@ -43,7 +43,7 @@ RSC=rc.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MT /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /D "_MBCS" /D "_USRDLL" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fddnssectool +# ADD CPP /nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "NDEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /YX /FD /c /Fddnssectool # SUBTRACT CPP /X # ADD BASE MTL /nologo /D "NDEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "NDEBUG" /mktyplib203 /win32 @@ -70,7 +70,7 @@ LINK32=link.exe # PROP Ignore_Export_Lib 0 # PROP Target_Dir "" # ADD BASE CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_WINDOWS" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fddnssectool +# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "./" /I "../../../" /I "../../../../libxml2-2.7.3/include" /I "../include" /I "../../../lib/isc/noatomic/include" /I "../../../lib/isc/win32" /I "../../../lib/isc/win32/include" /I "../../../lib/isc/include" /I "../../../lib/dns/include" /D "_DEBUG" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /FR /YX /FD /GZ /c /Fddnssectool # SUBTRACT CPP /X # ADD BASE MTL /nologo /D "_DEBUG" /mktyplib203 /win32 # ADD MTL /nologo /D "_DEBUG" /mktyplib203 /win32 diff --git a/bin/named/server.c b/bin/named/server.c index 18bfef8fe6..fbf7db0555 100644 --- a/bin/named/server.c +++ b/bin/named/server.c @@ -2290,6 +2290,7 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig, const cfg_obj_t *dlzopts; obj = NULL; + obj = NULL; dlz = cfg_listelt_value(element); dlzopts = cfg_tuple_get(dlz, "options"); (void)cfg_map_get(dlzopts, "database", &obj); diff --git a/bin/named/win32/dlz_dlopen_driver.c b/bin/named/win32/dlz_dlopen_driver.c index 20448bda45..1c83729ed8 100644 --- a/bin/named/win32/dlz_dlopen_driver.c +++ b/bin/named/win32/dlz_dlopen_driver.c @@ -162,7 +162,9 @@ dlopen_dlz_authority(const char *zone, void *driverarg, void *dbdata, } static isc_result_t -dlopen_dlz_findzonedb(void *driverarg, void *dbdata, const char *name) +dlopen_dlz_findzonedb(void *driverarg, void *dbdata, const char *name, + dns_clientinfomethods_t *methods, + dns_clientinfo_t *clientinfo) { dlopen_data_t *cd = (dlopen_data_t *) dbdata; isc_result_t result; @@ -170,7 +172,7 @@ dlopen_dlz_findzonedb(void *driverarg, void *dbdata, const char *name) UNUSED(driverarg); MAYBE_LOCK(cd); - result = cd->dlz_findzonedb(cd->dbdata, name); + result = cd->dlz_findzonedb(cd->dbdata, name, methods, clientinfo); MAYBE_UNLOCK(cd); return (result); } @@ -436,7 +438,9 @@ dlopen_dlz_closeversion(const char *zone, isc_boolean_t commit, * Called on startup to configure any writeable zones */ static isc_result_t -dlopen_dlz_configure(dns_view_t *view, void *driverarg, void *dbdata) { +dlopen_dlz_configure(dns_view_t *view, dns_dlzdb_t *dlzdb, + void *driverarg, void *dbdata) +{ dlopen_data_t *cd = (dlopen_data_t *) dbdata; isc_result_t result; @@ -447,7 +451,7 @@ dlopen_dlz_configure(dns_view_t *view, void *driverarg, void *dbdata) { MAYBE_LOCK(cd); cd->in_configure = ISC_TRUE; - result = cd->dlz_configure(view, cd->dbdata); + result = cd->dlz_configure(view, dlzdb, cd->dbdata); cd->in_configure = ISC_FALSE; MAYBE_UNLOCK(cd); diff --git a/lib/dns/win32/libdns.def b/lib/dns/win32/libdns.def index 48fe2b6df8..fddc2bd303 100644 --- a/lib/dns/win32/libdns.def +++ b/lib/dns/win32/libdns.def @@ -61,11 +61,14 @@ dns_cache_create2 dns_cache_create3 dns_cache_detach dns_cache_dump +dns_cache_dumpstats dns_cache_flush dns_cache_getcachesize dns_cache_getcleaninginterval dns_cache_getname +dns_cache_getstats dns_cache_load +dns_cache_renderxml dns_cache_setcachesize dns_cache_setcleaninginterval dns_cache_setfilename @@ -234,6 +237,7 @@ dns_dnsseckey_destroy dns_ds_buildrdata dns_dumpctx_detach dns_fwdtable_add +dns_fwdtable_addfwd dns_fwdtable_create dns_fwdtable_destroy dns_fwdtable_find @@ -647,6 +651,8 @@ dns_resolver_resetmustbesecure dns_resolver_setclientsperquery dns_resolver_setlamettl dns_resolver_setmustbesecure +dns_resolver_setquerydscp4 +dns_resolver_setquerydscp6 dns_resolver_settimeout dns_resolver_setudpsize dns_resolver_setzeronosoattl @@ -661,11 +667,8 @@ dns_rootns_create dns_rpz_add dns_rpz_attach_rpzs dns_rpz_beginload -dns_rpz_cidr_addip -dns_rpz_cidr_find dns_rpz_decode_cname dns_rpz_delete -dns_rpz_delete_node dns_rpz_detach_rpzs dns_rpz_find_ip dns_rpz_find_name @@ -866,7 +869,6 @@ dns_zone_getqueryacl dns_zone_getraw dns_zone_getqueryaoncl dns_zone_getrequeststats -dns_zone_getrpz_num dns_zone_getserial dns_zone_getserial2 dns_zone_getserialupdatemethod @@ -906,11 +908,11 @@ dns_zone_nscheck dns_zone_refresh dns_zone_rekey dns_zone_replacedb -dns_zone_rpz_attach dns_zone_rpz_enable dns_zone_setacache dns_zone_setadded dns_zone_setalsonotify +dns_zone_setalsonotifydscpkeys dns_zone_setalsonotifywithkeys dns_zone_setaltxfrsource4 dns_zone_setaltxfrsource4dscp diff --git a/lib/dns/win32/libdns.dsp b/lib/dns/win32/libdns.dsp index a9f8fdad50..0af1f528f2 100644 --- a/lib/dns/win32/libdns.dsp +++ b/lib/dns/win32/libdns.dsp @@ -54,6 +54,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /machine:I386 +# ADD LINK32 ../../../../libxml2-2.7.3/win32/bin.msvc/libxml2.lib # ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../isc/win32/Release/libisc.lib ../../../../openssl-0.9.8l/out32dll/libeay32.lib /nologo /dll /machine:I386 /out:"../../../Build/Release/libdns.dll" !ELSEIF "$(CFG)" == "libdns - Win32 Debug" @@ -81,6 +82,7 @@ BSC32=bscmake.exe # ADD BSC32 /nologo LINK32=link.exe # ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /dll /debug /machine:I386 /pdbtype:sept +# ADD LINK32 ../../../../libxml2-2.7.3/win32/bin.msvc/libxml2.lib # ADD LINK32 user32.lib advapi32.lib ws2_32.lib ../../isc/win32/debug/libisc.lib ../../../../openssl-0.9.8l/out32dll/libeay32.lib /nologo /dll /map /debug /machine:I386 /out:"../../../Build/Debug/libdns.dll" /pdbtype:sept !ENDIF diff --git a/lib/dns/win32/libdns.mak b/lib/dns/win32/libdns.mak index cbdf8585f0..a43367620a 100644 --- a/lib/dns/win32/libdns.mak +++ b/lib/dns/win32/libdns.mak @@ -214,6 +214,7 @@ CLEAN : "$(OUTDIR)" : if not exist "$(OUTDIR)/$(NULL)" mkdir "$(OUTDIR)" +LIBXML=../../../../libxml2-2.7.3/win32/bin.msvc/libxml2.lib CPP=cl.exe CPP_PROJ=/nologo /MD /W3 /GX /O2 /I "./" /I "../../../" /I "include" /I "../include" /I "../../isc/win32" /I "../../isc/win32/include" /I "../../isc/include" /I "../../../lib/isc/noatomic/include" /I "../../../../openssl-0.9.8l/inc32" /I "../../../../libxml2-2.7.3/include" /D "NDEBUG" /D "BIND9" /D "WIN32" /D "_WINDOWS" /D "__STDC__" /D "_MBCS" /D "_USRDLL" /D "USE_MD5" /D "OPENSSL" /D "DST_USE_PRIVATE_OPENSSL" /D "LIBDNS_EXPORTS" /Fp"$(INTDIR)\libdns.pch" /YX /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c @@ -255,7 +256,7 @@ BSC32_FLAGS=/nologo /o"$(OUTDIR)\libdns.bsc" BSC32_SBRS= \ LINK32=link.exe -LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../isc/win32/Release/libisc.lib ../../../../openssl-0.9.8l/out32dll/libeay32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\libdns.pdb" /machine:I386 /def:".\libdns.def" /out:"../../../Build/Release/libdns.dll" /implib:"$(OUTDIR)\libdns.lib" +LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib $(LIBXML) ../../isc/win32/Release/libisc.lib ../../../../openssl-0.9.8l/out32dll/libeay32.lib /nologo /dll /incremental:no /pdb:"$(OUTDIR)\libdns.pdb" /machine:I386 /def:".\libdns.def" /out:"../../../Build/Release/libdns.dll" /implib:"$(OUTDIR)\libdns.lib" DEF_FILE= \ ".\libdns.def" LINK32_OBJS= \ @@ -698,7 +699,7 @@ BSC32_SBRS= \ << LINK32=link.exe -LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib ../../isc/win32/debug/libisc.lib ../../../../openssl-0.9.8l/out32dll/libeay32.lib /nologo /dll /incremental:yes /pdb:"$(OUTDIR)\libdns.pdb" /map:"$(INTDIR)\libdns.map" /debug /machine:I386 /def:".\libdns.def" /out:"../../../Build/Debug/libdns.dll" /implib:"$(OUTDIR)\libdns.lib" /pdbtype:sept +LINK32_FLAGS=user32.lib advapi32.lib ws2_32.lib $(LIBXML) ../../isc/win32/debug/libisc.lib ../../../../openssl-0.9.8l/out32dll/libeay32.lib /nologo /dll /incremental:yes /pdb:"$(OUTDIR)\libdns.pdb" /map:"$(INTDIR)\libdns.map" /debug /machine:I386 /def:".\libdns.def" /out:"../../../Build/Debug/libdns.dll" /implib:"$(OUTDIR)\libdns.lib" /pdbtype:sept DEF_FILE= \ ".\libdns.def" LINK32_OBJS= \ diff --git a/lib/isc/win32/libisc.def b/lib/isc/win32/libisc.def index 18c093c571..8a0b1f3d74 100644 --- a/lib/isc/win32/libisc.def +++ b/lib/isc/win32/libisc.def @@ -59,6 +59,7 @@ isc__mem_getquota isc__mem_gettag isc__mem_inuse isc__mem_isovermem +isc__mem_maxinuse isc__mem_ondestroy isc__mem_references isc__mem_setdestroycheck @@ -66,6 +67,7 @@ isc__mem_setname isc__mem_setquota isc__mem_setwater isc__mem_stats +isc__mem_total isc__mem_waterack isc__mempool_associatelock isc__mempool_create @@ -88,6 +90,7 @@ isc__socket_close isc__socket_connect isc__socket_create isc__socket_detach +isc__socket_dscp isc__socket_dup isc__socket_filter isc__socket_getfd @@ -110,7 +113,6 @@ isc__socket_sendto2 isc__socket_sendtov isc__socket_sendv isc__socket_setname -isc__socket_socketevent isc__socketmgr_create isc__socketmgr_create2 isc__socketmgr_destroy @@ -197,6 +199,7 @@ isc_dir_init isc_dir_open isc_dir_read isc_dir_reset +isc_dscp_check_value isc_entropy_addcallbacksample isc_entropy_addsample isc_entropy_attach @@ -519,7 +522,7 @@ isc_sockaddr_pf isc_sockaddr_setport isc_sockaddr_totext isc_sockaddr_v6fromin -isc_socket_dscp +isc_socket_socketevent isc_socketmgr_renderxml isc_stats_attach isc_stats_create @@ -528,6 +531,7 @@ isc_stats_detach isc_stats_dump isc_stats_increment isc_stats_ncounters +isc_stats_set isc_stdio_close isc_stdio_flush isc_stdio_open @@ -570,6 +574,7 @@ isc_thread_setconcurrency isc_time_add isc_time_compare isc_time_formatISO8601 +isc_time_formathttptimestamp isc_time_formattimestamp isc_time_isepoch isc_time_microdiff diff --git a/lib/isc/win32/socket.c b/lib/isc/win32/socket.c index bbdd93364c..07716712b5 100644 --- a/lib/isc/win32/socket.c +++ b/lib/isc/win32/socket.c @@ -77,6 +77,13 @@ #include "errno2result.h" +/* + * Set by the -T dscp option on the command line. If set to a value + * other than -1, we check to make sure DSCP values match it, and + * assert if not. + */ +int isc_dscp_check_value = -1; + /* * How in the world can Microsoft exist with APIs like this? * We can't actually call this directly, because it turns out @@ -3808,7 +3815,7 @@ isc__socket_ipv6only(isc_socket_t *sock, isc_boolean_t yes) { } void -isc__socket_dscp(isc_socket_t *sock, unsigned int dscp) { +isc__socket_dscp(isc_socket_t *sock, isc_dscp_t dscp) { #if !defined(IP_TOS) && !defined(IPV6_TCLASS) UNUSED(dscp); #else @@ -3897,9 +3904,9 @@ isc___socketmgr_maxudp(isc_socketmgr_t *manager, int maxudp) { } isc_socketevent_t * -isc__socket_socketevent(isc_mem_t *mctx, void *sender, - isc_eventtype_t eventtype, isc_taskaction_t action, - const void *arg) +isc_socket_socketevent(isc_mem_t *mctx, void *sender, + isc_eventtype_t eventtype, isc_taskaction_t action, + const void *arg) { return (allocate_socketevent(mctx, sender, eventtype, action, arg)); } @@ -3907,8 +3914,7 @@ isc__socket_socketevent(isc_mem_t *mctx, void *sender, #ifdef HAVE_LIBXML2 static const char * -_socktype(isc_sockettype_t type) -{ +_socktype(isc_sockettype_t type) { if (type == isc_sockettype_udp) return ("udp"); else if (type == isc_sockettype_tcp)