summaryrefslogtreecommitdiffstats
path: root/mDNSResponder/mDNSWindows
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-19 08:53:26 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2018-09-20 11:23:32 +0200
commitf01edf10244ccd53e098abdc1773c1aa0e4c5f8d (patch)
tree958a1ee323520629c4f027de1d4c56715949aa5c /mDNSResponder/mDNSWindows
parentmDNSResponder: Update to v625.41.2 (diff)
downloadrtems-libbsd-f01edf10244ccd53e098abdc1773c1aa0e4c5f8d.tar.bz2
mDNSResponder: Update to v765.1.2
The sources can be obtained via: https://opensource.apple.com/tarballs/mDNSResponder/mDNSResponder-765.1.2.tar.gz Move mDNS_StartResolveService() and mDNS_StopResolveService() to an RTEMS-specific file (rtemsbsd/mdns/mDNSResolveService.c) using the v576.30.4 implementation. Apple removed these functions without explanation. Update #3522.
Diffstat (limited to 'mDNSResponder/mDNSWindows')
-rwxr-xr-xmDNSResponder/mDNSWindows/ControlPanel/ConfigPropertySheet.cpp4
-rwxr-xr-xmDNSResponder/mDNSWindows/ControlPanel/ControlPanelExe.cpp9
-rwxr-xr-xmDNSResponder/mDNSWindows/ControlPanel/FourthPage.cpp2
-rwxr-xr-xmDNSResponder/mDNSWindows/DLLStub/DLLStub.cpp4
-rwxr-xr-xmDNSResponder/mDNSWindows/DLLX/DNSSD.cpp2
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.cpp12
-rw-r--r--mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp2
-rw-r--r--mDNSResponder/mDNSWindows/Java/makefile2
-rw-r--r--mDNSResponder/mDNSWindows/Java/makefile642
-rw-r--r--mDNSResponder/mDNSWindows/NSPTool/NSPTool.c8
-rw-r--r--mDNSResponder/mDNSWindows/SystemService/Service.c2
-rwxr-xr-xmDNSResponder/mDNSWindows/mDNSWin32.c195
-rw-r--r--mDNSResponder/mDNSWindows/mdnsNSP/mdnsNSP.c13
13 files changed, 91 insertions, 166 deletions
diff --git a/mDNSResponder/mDNSWindows/ControlPanel/ConfigPropertySheet.cpp b/mDNSResponder/mDNSWindows/ControlPanel/ConfigPropertySheet.cpp
index 5fae9555..34c418e3 100755
--- a/mDNSResponder/mDNSWindows/ControlPanel/ConfigPropertySheet.cpp
+++ b/mDNSResponder/mDNSWindows/ControlPanel/ConfigPropertySheet.cpp
@@ -227,8 +227,8 @@ CConfigPropertySheet::DecodeDomainName( const char * raw, CString & decoded )
for (i = 0; i < labels; i++)
{
buffer = (char *)GetNextLabel(buffer, nextLabel);
- strcat(decodedDomainString, nextLabel);
- strcat(decodedDomainString, ".");
+ strcat_s(decodedDomainString, sizeof(decodedDomainString), nextLabel);
+ strcat_s(decodedDomainString, sizeof(decodedDomainString), ".");
}
// Remove trailing dot from domain name.
diff --git a/mDNSResponder/mDNSWindows/ControlPanel/ControlPanelExe.cpp b/mDNSResponder/mDNSWindows/ControlPanel/ControlPanelExe.cpp
index 36447d11..94de794b 100755
--- a/mDNSResponder/mDNSWindows/ControlPanel/ControlPanelExe.cpp
+++ b/mDNSResponder/mDNSWindows/ControlPanel/ControlPanelExe.cpp
@@ -23,6 +23,7 @@
#include <DebugServices.h>
#include "loclibrary.h"
+#include <strsafe.h>
#ifdef _DEBUG
@@ -205,7 +206,7 @@ CCPApp::Register( LPCTSTR inClsidString, LPCTSTR inName, LPCTSTR inCanonicalName
n = sizeof_array( entries );
for( i = 0; i < n; ++i )
{
- wsprintf( keyName, entries[ i ].subKey, inClsidString );
+ StringCbPrintf( keyName, sizeof( keyName ), entries[ i ].subKey, inClsidString );
err = RegCreateKeyEx( entries[ i ].rootKey, keyName, 0, NULL, REG_OPTION_NON_VOLATILE, KEY_WRITE, NULL, &key, NULL );
require_noerr( err, exit );
@@ -232,10 +233,10 @@ CCPApp::Unregister( LPCTSTR clsidString )
{
TCHAR keyName[ MAX_PATH * 2 ];
- wsprintf( keyName, L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ControlPanel\\NameSpace\\%s", clsidString );
+ StringCbPrintf( keyName, sizeof( keyName ), L"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Explorer\\ControlPanel\\NameSpace\\%s", clsidString );
MyRegDeleteKey( HKEY_LOCAL_MACHINE, keyName );
- wsprintf( keyName, L"CLSID\\%s", clsidString );
+ StringCbPrintf( keyName, sizeof( keyName ), L"CLSID\\%s", clsidString );
MyRegDeleteKey( HKEY_CLASSES_ROOT, keyName );
}
@@ -313,7 +314,7 @@ CCPApp::InitInstance()
require_noerr( err, exit );
- wsprintf( iconPath, L"%s,-%d", exePath, IDR_APPLET );
+ StringCbPrintf( iconPath, sizeof( iconPath ), L"%s,-%d", exePath, IDR_APPLET );
localizedName.LoadString( IDS_APPLET_NAME );
toolTip.LoadString( IDS_APPLET_TOOLTIP );
diff --git a/mDNSResponder/mDNSWindows/ControlPanel/FourthPage.cpp b/mDNSResponder/mDNSWindows/ControlPanel/FourthPage.cpp
index b6c8d15d..7ded08fc 100755
--- a/mDNSResponder/mDNSWindows/ControlPanel/FourthPage.cpp
+++ b/mDNSResponder/mDNSWindows/ControlPanel/FourthPage.cpp
@@ -183,7 +183,7 @@ void CFourthPage::OnBnClickedPowerManagement()
- sprintf( buf, "check box: %d", m_checkBox.GetCheck() );
+ snprintf( buf, sizeof( buf ), "check box: %d", m_checkBox.GetCheck() );
OutputDebugStringA( buf );
diff --git a/mDNSResponder/mDNSWindows/DLLStub/DLLStub.cpp b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.cpp
index 503465f2..38fd5e0a 100755
--- a/mDNSResponder/mDNSWindows/DLLStub/DLLStub.cpp
+++ b/mDNSResponder/mDNSWindows/DLLStub/DLLStub.cpp
@@ -80,12 +80,12 @@ DLLStub::GetProcAddress( FARPROC * func, LPCSTR lpProcName )
}
-int DNSSD_API
+dnssd_sock_t DNSSD_API
DNSServiceRefSockFD(DNSServiceRef sdRef)
{
typedef int (DNSSD_API * Func)(DNSServiceRef sdRef);
static Func func = NULL;
- int ret = -1;
+ int ret = INVALID_SOCKET;
if ( DLLStub::GetProcAddress( ( FARPROC* ) &func, __FUNCTION__ ) )
{
diff --git a/mDNSResponder/mDNSWindows/DLLX/DNSSD.cpp b/mDNSResponder/mDNSWindows/DLLX/DNSSD.cpp
index 8813d2df..f011dd14 100755
--- a/mDNSResponder/mDNSWindows/DLLX/DNSSD.cpp
+++ b/mDNSResponder/mDNSWindows/DLLX/DNSSD.cpp
@@ -643,7 +643,7 @@ CDNSSD::ResolveReply
record->AddRef();
char buf[ 64 ];
- sprintf( buf, "txtLen = %d", txtLen );
+ snprintf( buf, sizeof( buf ), "txtLen = %d", txtLen );
OutputDebugStringA( buf );
if ( txtLen > 0 )
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.cpp b/mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.cpp
index 9e4db65b..fe46be08 100644
--- a/mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.cpp
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/Windows/Sources/ChooserDialog.cpp
@@ -269,7 +269,7 @@ static void
DNSStatus inStatusCode,
const DNSBrowserEvent * inEvent );
-static char * DNSNetworkAddressToString( const DNSNetworkAddress *inAddr, char *outString );
+static char * DNSNetworkAddressToString( const DNSNetworkAddress *inAddr, size_t inLen, char *outString );
static DWORD UTF8StringToStringObject( const char *inUTF8, CString &inObject );
static DWORD StringObjectToUTF8String( CString &inObject, std::string &outUTF8 );
@@ -1273,8 +1273,8 @@ static void
serviceInstance->name = inEvent->data.resolved->name;
serviceInstance->type = inEvent->data.resolved->type;
serviceInstance->domain = inEvent->data.resolved->domain;
- serviceInstance->ip = DNSNetworkAddressToString( &inEvent->data.resolved->address, s );
- serviceInstance->ifIP = DNSNetworkAddressToString( &inEvent->data.resolved->interfaceIP, s );
+ serviceInstance->ip = DNSNetworkAddressToString( &inEvent->data.resolved->address, sizeof( s ), s );
+ serviceInstance->ifIP = DNSNetworkAddressToString( &inEvent->data.resolved->interfaceIP, sizeof( s ), s );
serviceInstance->text = inEvent->data.resolved->textRecord;
serviceInstance->hostName = inEvent->data.resolved->hostName;
@@ -1303,7 +1303,7 @@ static void
// Note: Currently only supports IPv4 network addresses.
//===========================================================================================================================
-static char * DNSNetworkAddressToString( const DNSNetworkAddress *inAddr, char *outString )
+static char * DNSNetworkAddressToString( const DNSNetworkAddress *inAddr, size_t inLen, char *outString )
{
const DNSUInt8 * p;
DNSUInt16 port;
@@ -1312,11 +1312,11 @@ static char * DNSNetworkAddressToString( const DNSNetworkAddress *inAddr, char *
port = ntohs( inAddr->u.ipv4.port.v16 );
if( port != kDNSPortInvalid )
{
- sprintf( outString, "%u.%u.%u.%u:%u", p[ 0 ], p[ 1 ], p[ 2 ], p[ 3 ], port );
+ snprintf( outString, inLen, "%u.%u.%u.%u:%u", p[ 0 ], p[ 1 ], p[ 2 ], p[ 3 ], port );
}
else
{
- sprintf( outString, "%u.%u.%u.%u", p[ 0 ], p[ 1 ], p[ 2 ], p[ 3 ] );
+ snprintf( outString, inLen, "%u.%u.%u.%u", p[ 0 ], p[ 1 ], p[ 2 ], p[ 3 ] );
}
return( outString );
}
diff --git a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp
index 92cdeb30..67b9cb85 100644
--- a/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp
+++ b/mDNSResponder/mDNSWindows/DNSServiceBrowser/WindowsCE/Sources/BrowserDialog.cpp
@@ -204,7 +204,7 @@ void
{
char ip[ 64 ];
- sprintf( ip, "%u.%u.%u.%u:%u",
+ snprintf( ip, sizeof( ip ), "%u.%u.%u.%u:%u",
inEvent->data.resolved->address.u.ipv4.addr.v8[ 0 ],
inEvent->data.resolved->address.u.ipv4.addr.v8[ 1 ],
inEvent->data.resolved->address.u.ipv4.addr.v8[ 2 ],
diff --git a/mDNSResponder/mDNSWindows/Java/makefile b/mDNSResponder/mDNSWindows/Java/makefile
index 2e4b6bd0..da237976 100644
--- a/mDNSResponder/mDNSWindows/Java/makefile
+++ b/mDNSResponder/mDNSWindows/Java/makefile
@@ -34,7 +34,7 @@
COREDIR = ..\..\mDNSCore
SHAREDDIR = ..\..\mDNSShared
-JDK = $(JAVA_HOME)
+JDK = "$(JAVA_HOME)"
CC = cl
RC = rc
diff --git a/mDNSResponder/mDNSWindows/Java/makefile64 b/mDNSResponder/mDNSWindows/Java/makefile64
index fb0ff9ce..5845ab5e 100644
--- a/mDNSResponder/mDNSWindows/Java/makefile64
+++ b/mDNSResponder/mDNSWindows/Java/makefile64
@@ -34,7 +34,7 @@
COREDIR = ..\..\mDNSCore
SHAREDDIR = ..\..\mDNSShared
-JDK = $(JAVA_HOME)
+JDK = "$(JAVA_HOME)"
CC = cl
RC = rc
diff --git a/mDNSResponder/mDNSWindows/NSPTool/NSPTool.c b/mDNSResponder/mDNSWindows/NSPTool/NSPTool.c
index f3052d16..0be174df 100644
--- a/mDNSResponder/mDNSWindows/NSPTool/NSPTool.c
+++ b/mDNSResponder/mDNSWindows/NSPTool/NSPTool.c
@@ -38,7 +38,7 @@ DEBUG_LOCAL OSStatus ListNameSpaces( void );
DEBUG_LOCAL OSStatus ReorderNameSpaces( void );
DEBUG_LOCAL WCHAR * CharToWCharString( const char *inCharString, WCHAR *outWCharString );
-DEBUG_LOCAL char * GUIDtoString( const GUID *inGUID, char *outString );
+DEBUG_LOCAL char * GUIDtoString( const GUID *inGUID, size_t inLen, char *outString );
DEBUG_LOCAL OSStatus StringToGUID( const char *inCharString, GUID *outGUID );
DEBUG_LOCAL BOOL gToolQuietMode = FALSE;
@@ -390,7 +390,7 @@ DEBUG_LOCAL OSStatus ListNameSpaces( void )
for( i = 0; i < n; ++i )
{
fprintf( stdout, "Name Space %d\n", i + 1 );
- fprintf( stdout, " NSProviderId: %s\n", GUIDtoString( &array[ i ].NSProviderId, s ) );
+ fprintf( stdout, " NSProviderId: %s\n", GUIDtoString( &array[ i ].NSProviderId, sizeof( s ), s ) );
fprintf( stdout, " dwNameSpace: %d\n", array[ i ].dwNameSpace );
fprintf( stdout, " fActive: %s\n", array[ i ].fActive ? "YES" : "NO" );
fprintf( stdout, " dwVersion: %d\n", array[ i ].dwVersion );
@@ -536,12 +536,12 @@ DEBUG_LOCAL WCHAR * CharToWCharString( const char *inCharString, WCHAR *outWChar
// GUIDtoString
//===========================================================================================================================
-DEBUG_LOCAL char * GUIDtoString( const GUID *inGUID, char *outString )
+DEBUG_LOCAL char * GUIDtoString( const GUID *inGUID, size_t inLen, char *outString )
{
check( inGUID );
check( outString );
- sprintf( outString, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
+ _snprintf( outString, inLen, "%08x-%04x-%04x-%02x%02x-%02x%02x%02x%02x%02x%02x",
inGUID->Data1, inGUID->Data2, inGUID->Data3,
inGUID->Data4[ 0 ], inGUID->Data4[ 1 ], inGUID->Data4[ 2 ], inGUID->Data4[ 3 ],
inGUID->Data4[ 4 ], inGUID->Data4[ 5 ], inGUID->Data4[ 6 ], inGUID->Data4[ 7 ] );
diff --git a/mDNSResponder/mDNSWindows/SystemService/Service.c b/mDNSResponder/mDNSWindows/SystemService/Service.c
index d175326f..1dea5c79 100644
--- a/mDNSResponder/mDNSWindows/SystemService/Service.c
+++ b/mDNSResponder/mDNSWindows/SystemService/Service.c
@@ -786,7 +786,7 @@ static void ReportStatus( int inType, const char *inFormat, ... )
BOOL ok;
const char * array[ 1 ];
- vsprintf( s, inFormat, args );
+ vsnprintf( s, sizeof( s ), inFormat, args );
array[ 0 ] = s;
ok = ReportEventA( gServiceEventSource, (WORD) inType, 0, MDNSRESPONDER_LOG, NULL, 1, 0, array, NULL );
check_translated_errno( ok, GetLastError(), kUnknownErr );
diff --git a/mDNSResponder/mDNSWindows/mDNSWin32.c b/mDNSResponder/mDNSWindows/mDNSWin32.c
index 0789cf4d..011125b9 100755
--- a/mDNSResponder/mDNSWindows/mDNSWin32.c
+++ b/mDNSResponder/mDNSWindows/mDNSWin32.c
@@ -106,7 +106,6 @@ mDNSlocal int getifaddrs( struct ifaddrs **outAddrs );
mDNSlocal void freeifaddrs( struct ifaddrs *inAddrs );
-
// Platform Accessors
#ifdef __cplusplus
@@ -127,8 +126,6 @@ mDNSexport mStatus mDNSPlatformInterfaceIDToInfo( mDNS * const inMDNS, mDNSInter
// Wakeup Structs
-#define kUnicastWakeupNumTries ( 1 )
-#define kUnicastWakeupSleepBetweenTries ( 0 )
#define kMulticastWakeupNumTries ( 18 )
#define kMulticastWakeupSleepBetweenTries ( 100 )
@@ -152,7 +149,6 @@ typedef struct MulticastWakeupStruct
mDNSlocal int getifaddrs_ipv4( struct ifaddrs **outAddrs );
-
mDNSlocal DWORD GetPrimaryInterface();
mDNSlocal mStatus AddressToIndexAndMask( struct sockaddr * address, uint32_t * index, struct sockaddr * mask );
mDNSlocal mDNSBool CanReceiveUnicast( void );
@@ -216,12 +212,10 @@ mDNSlocal BOOL gEnableIPv6 = TRUE;
#endif
-
#ifndef HCRYPTPROV
typedef ULONG_PTR HCRYPTPROV; // WinCrypt.h, line 249
#endif
-
#ifndef CRYPT_MACHINE_KEYSET
# define CRYPT_MACHINE_KEYSET 0x00000020
#endif
@@ -277,7 +271,6 @@ mDNSlocal HANDLE gSMBThreadQuitEvent = NULL;
#define kSMBRegisterEvent ( WAIT_OBJECT_0 + 1 )
#define kSMBDeregisterEvent ( WAIT_OBJECT_0 + 2 )
-
#if 0
#pragma mark -
#pragma mark == Platform Support ==
@@ -570,7 +563,6 @@ mDNSexport void mDNSPlatformClose( mDNS * const inMDNS )
dlog( kDebugLevelTrace, DEBUG_NAME "platform close done\n" );
}
-
//===========================================================================================================================
// mDNSPlatformLock
//===========================================================================================================================
@@ -602,6 +594,39 @@ mDNSexport void mDNSPlatformStrCopy( void *inDst, const void *inSrc )
}
//===========================================================================================================================
+// mDNSPlatformStrLCopy
+//===========================================================================================================================
+
+mDNSexport mDNSu32 mDNSPlatformStrLCopy( void *inDst, const void *inSrc, mDNSu32 inSize )
+{
+ const char * src = (const char *) inSrc;
+
+ if( inSize > 0 )
+ {
+ size_t n;
+ char * dst = (char *) inDst;
+
+ for( n = inSize - 1; n > 0; --n )
+ {
+ if( ( *dst++ = *src++ ) == '\0' )
+ {
+ // Null terminator encountered, so exit.
+ goto exit;
+ }
+ }
+ *dst = '\0';
+ }
+
+ while( *src++ != '\0' )
+ {
+ // Stop at null terminator.
+ }
+
+exit:
+ return( (mDNSu32)( src - (const char *) inSrc ) - 1 );
+}
+
+//===========================================================================================================================
// mDNSPlatformStrLen
//===========================================================================================================================
@@ -940,7 +965,6 @@ mDNSexport mDNSu32 mDNSPlatformInterfaceIndexfromInterfaceID( mDNS * const inMDN
return( index );
}
-
//===========================================================================================================================
// mDNSPlatformTCPSocket
//===========================================================================================================================
@@ -1077,12 +1101,10 @@ exit:
return err;
}
-
//===========================================================================================================================
// mDNSPlatformTCPAccept
//===========================================================================================================================
-mDNSexport
mDNSexport TCPSocket *mDNSPlatformTCPAccept( TCPSocketFlags flags, int fd )
{
TCPSocket * sock = NULL;
@@ -1109,7 +1131,6 @@ exit:
return sock;
}
-
//===========================================================================================================================
// mDNSPlatformTCPCloseConnection
//===========================================================================================================================
@@ -1133,7 +1154,6 @@ mDNSexport void mDNSPlatformTCPCloseConnection( TCPSocket *sock )
}
}
-
//===========================================================================================================================
// mDNSPlatformReadTCP
//===========================================================================================================================
@@ -1173,7 +1193,6 @@ mDNSexport long mDNSPlatformReadTCP( TCPSocket *sock, void *inBuffer, unsigned l
return nread;
}
-
//===========================================================================================================================
// mDNSPlatformWriteTCP
//===========================================================================================================================
@@ -1207,8 +1226,6 @@ mDNSexport int mDNSPlatformTCPGetFD(TCPSocket *sock )
return ( int ) sock->fd;
}
-
-
//===========================================================================================================================
// TCPSocketNotification
//===========================================================================================================================
@@ -1248,8 +1265,6 @@ exit:
return;
}
-
-
//===========================================================================================================================
// mDNSPlatformUDPSocket
//===========================================================================================================================
@@ -1362,7 +1377,6 @@ mDNSexport void mDNSPlatformUDPClose( UDPSocket *sock )
}
}
-
//===========================================================================================================================
// mDNSPlatformSendUDP
//===========================================================================================================================
@@ -1450,21 +1464,12 @@ exit:
return( err );
}
-
-mDNSexport mDNSBool mDNSPlatformPeekUDP(mDNS *const m, UDPSocket *src)
-{
- DEBUG_UNUSED( m );
- DEBUG_UNUSED( src );
- return mDNSfalse;
-}
-
mDNSexport void mDNSPlatformUpdateProxyList(mDNS *const m, const mDNSInterfaceID InterfaceID)
{
DEBUG_UNUSED( m );
DEBUG_UNUSED( InterfaceID );
}
-
mDNSexport void mDNSPlatformSetAllowSleep(mDNS *const m, mDNSBool allowSleep, const char *reason)
{
DEBUG_UNUSED( m );
@@ -1482,14 +1487,13 @@ mDNSexport void mDNSPlatformSendWakeupPacket(mDNS *const m, mDNSInterfaceID Inte
unsigned char buf[ 102 ];
char hex[ 3 ] = { 0 };
unsigned char *bufPtr = buf;
- struct sockaddr_storage saddr;
- INT len = sizeof( saddr );
- mDNSBool unicast = mDNSfalse;
MulticastWakeupStruct *info;
int i;
mStatus err;
- (void) InterfaceID;
+ (void) InterfaceID; // unused
+ (void) ipaddr; // unused
+ (void) iteration; // unused
require_action( ethaddr, exit, err = mStatus_BadParamErr );
@@ -1512,44 +1516,6 @@ mDNSexport void mDNSPlatformSendWakeupPacket(mDNS *const m, mDNSInterfaceID Inte
bufPtr += sizeof( mac );
}
- if ( ipaddr )
- {
- if ( WSAStringToAddressA( ipaddr, AF_INET, NULL, ( LPSOCKADDR ) &saddr, &len ) == 0 )
- {
- struct sockaddr_in * saddr4 = ( struct sockaddr_in* ) &saddr;
- saddr4->sin_port = htons( 9 );
- len = sizeof( *saddr4 );
-
- if ( saddr4->sin_addr.s_addr != htonl( INADDR_ANY ) )
- {
- unicast = mDNStrue;
- }
- }
- else if ( WSAStringToAddressA( ipaddr, AF_INET6, NULL, ( LPSOCKADDR ) &saddr, &len ) == 0 )
- {
- mDNSInterfaceData *ifd = ( mDNSInterfaceData* ) InterfaceID;
- struct sockaddr_in6 * saddr6 = ( struct sockaddr_in6* ) &saddr;
- saddr6->sin6_port = htons( 9 );
-
- if ( ifd != NULL )
- {
- saddr6->sin6_scope_id = ifd->scopeID;
- }
-
- len = sizeof( *saddr6 );
-
- if ( memcmp( &saddr6->sin6_addr, &in6addr_any, sizeof( IN6_ADDR ) ) != 0 )
- {
- unicast = mDNStrue;
- }
- }
- }
-
- if ( ( iteration < 2 ) && ( unicast ) )
- {
- SendWakeupPacket( m, ( LPSOCKADDR ) &saddr, len, ( const char* ) buf, sizeof( buf ), kUnicastWakeupNumTries, kUnicastWakeupSleepBetweenTries );
- }
-
info = ( MulticastWakeupStruct* ) malloc( sizeof( MulticastWakeupStruct ) );
require_action( info, exit, err = mStatus_NoMemoryErr );
info->inMDNS = m;
@@ -1570,11 +1536,10 @@ exit:
return;
}
-
-mDNSexport mDNSBool mDNSPlatformValidRecordForInterface(AuthRecord *rr, const NetworkInterfaceInfo *intf)
+mDNSexport mDNSBool mDNSPlatformValidRecordForInterface(const AuthRecord *rr, mDNSInterfaceID InterfaceID)
{
DEBUG_UNUSED( rr );
- DEBUG_UNUSED( intf );
+ DEBUG_UNUSED( InterfaceID );
return mDNStrue;
}
@@ -1601,7 +1566,6 @@ mDNSexport void mDNSPlatformFormatTime(unsigned long te, mDNSu8 *buf, int bufsiz
if (bufsize) buf[0] = 0;
}
-
mDNSexport void mDNSPlatformSetLocalAddressCacheEntry(mDNS *const m, const mDNSAddr *const tpa, const mDNSEthAddr *const tha, mDNSInterfaceID InterfaceID)
{
DEBUG_UNUSED( m );
@@ -1610,7 +1574,6 @@ mDNSexport void mDNSPlatformSetLocalAddressCacheEntry(mDNS *const m, const mDNSA
DEBUG_UNUSED( InterfaceID );
}
-
mDNSexport void mDNSPlatformReceiveRawPacket(const void *const msg, const mDNSu8 *const end, mDNSInterfaceID InterfaceID)
{
DEBUG_UNUSED( msg );
@@ -1711,7 +1674,6 @@ mDNSexport mDNSBool mDNSPlatformSetDNSConfig(mDNS *const m, mDNSBool setservers,
return mDNStrue;
}
-
//===========================================================================================================================
// mDNSPlatformDynDNSHostNameStatusChanged
//===========================================================================================================================
@@ -1756,7 +1718,6 @@ exit:
return;
}
-
//===========================================================================================================================
// SetDomainSecrets
//===========================================================================================================================
@@ -1798,7 +1759,6 @@ SetDomainSecrets( mDNS * const m )
}
}
-
//===========================================================================================================================
// SetSearchDomainList
//===========================================================================================================================
@@ -1849,7 +1809,6 @@ exit:
SetReverseMapSearchDomainList();
}
-
//===========================================================================================================================
// SetReverseMapSearchDomainList
//===========================================================================================================================
@@ -1871,10 +1830,10 @@ SetReverseMapSearchDomainList( void )
if (!SetupAddr(&netmask, ifa->ifa_netmask))
{
- sprintf(buffer, "%d.%d.%d.%d.in-addr.arpa.", addr.ip.v4.b[3] & netmask.ip.v4.b[3],
- addr.ip.v4.b[2] & netmask.ip.v4.b[2],
- addr.ip.v4.b[1] & netmask.ip.v4.b[1],
- addr.ip.v4.b[0] & netmask.ip.v4.b[0]);
+ _snprintf(buffer, sizeof( buffer ), "%d.%d.%d.%d.in-addr.arpa.", addr.ip.v4.b[3] & netmask.ip.v4.b[3],
+ addr.ip.v4.b[2] & netmask.ip.v4.b[2],
+ addr.ip.v4.b[1] & netmask.ip.v4.b[1],
+ addr.ip.v4.b[0] & netmask.ip.v4.b[0]);
mDNS_AddSearchDomain_CString(buffer, mDNSNULL);
}
}
@@ -1885,7 +1844,6 @@ SetReverseMapSearchDomainList( void )
return;
}
-
//===========================================================================================================================
// SetDNSServers
//===========================================================================================================================
@@ -1978,7 +1936,6 @@ exit:
}
}
-
//===========================================================================================================================
// SetDomainFromDHCP
//===========================================================================================================================
@@ -2071,7 +2028,6 @@ exit:
}
}
-
//===========================================================================================================================
// mDNSPlatformGetPrimaryInterface
//===========================================================================================================================
@@ -2171,8 +2127,16 @@ mDNSexport mStatus mDNSPlatformStoreSPSMACAddr(mDNSAddr *spsaddr, char *ifna
return mStatus_UnsupportedErr;
}
-mDNSexport mStatus mDNSPlatformClearSPSMACAddr(void)
+mDNSexport mStatus mDNSPlatformClearSPSData(void)
+{
+ return mStatus_UnsupportedErr;
+}
+
+mDNSexport mStatus mDNSPlatformStoreOwnerOptRecord(char *ifname, DNSMessage *msg, int length)
{
+ (void) ifname; // Unused
+ (void) msg; // Unused
+ (void) length; // Unused
return mStatus_UnsupportedErr;
}
@@ -2188,18 +2152,11 @@ mDNSexport mStatus mDNSPlatformRetrieveTCPInfo(mDNS *const m, mDNSAddr *laddr, m
return mStatus_UnsupportedErr;
}
-mDNSexport void mDNSPlatformGetDNSRoutePolicy(mDNS *const m, DNSQuestion *q, mDNSBool *isCellBlocked)
-{
- (void) m;
-
- q->ServiceID = -1;
- *isCellBlocked = mDNSfalse;
-}
-
-mDNSexport void mDNSPlatformSetuDNSSocktOpt(UDPSocket *src, const mDNSAddr *dst, DNSQuestion *q)
+mDNSexport void mDNSPlatformSetSocktOpt(void *sock, mDNSTransport_Type transType, mDNSAddr_Type addrType, DNSQuestion *q)
{
- (void) src;
- (void) dst;
+ (void) sock;
+ (void) transType;
+ (void) addrType;
(void) q;
}
@@ -2263,13 +2220,11 @@ mDNSexport void verbosedebugf_( const char *inFormat, ... )
}
#endif
-
#if 0
#pragma mark -
#pragma mark == Platform Internals ==
#endif
-
//===========================================================================================================================
// SetupNiceName
//===========================================================================================================================
@@ -2341,7 +2296,7 @@ mStatus SetupNiceName( mDNS * const inMDNS )
{
// Invalidate name so fall back to a default name.
- strcpy( utf8, kMDNSDefaultName );
+ strcpy_s( utf8, sizeof( utf8 ), kMDNSDefaultName );
}
utf8[ sizeof( utf8 ) - 1 ] = '\0';
@@ -2411,7 +2366,7 @@ mDNSlocal mStatus SetupHostName( mDNS * const inMDNS )
{
// Invalidate name so fall back to a default name.
- strcpy( tempString, kMDNSDefaultName );
+ strcpy_s( tempString, sizeof( tempString ), kMDNSDefaultName );
}
tempString[ sizeof( tempString ) - 1 ] = '\0';
@@ -2456,7 +2411,6 @@ mDNSlocal mStatus SetupName( mDNS * const inMDNS )
return err;
}
-
//===========================================================================================================================
// SetupInterfaceList
//===========================================================================================================================
@@ -3209,7 +3163,6 @@ mDNSlocal mStatus SockAddrToMDNSAddr( const struct sockaddr * const inSA, mDNSAd
return( err );
}
-
#if 0
#pragma mark -
#endif
@@ -3404,7 +3357,6 @@ exit:
return;
}
-
//===========================================================================================================================
// InterfaceListDidChange
//===========================================================================================================================
@@ -3435,7 +3387,6 @@ void InterfaceListDidChange( mDNS * const inMDNS )
mDNSCoreMachineSleep( inMDNS, mDNSfalse ); // What is this for? Mac OS X does not do this
}
-
//===========================================================================================================================
// ComputerDescriptionDidChange
//===========================================================================================================================
@@ -3448,7 +3399,6 @@ void ComputerDescriptionDidChange( mDNS * const inMDNS )
SetupNiceName( inMDNS );
}
-
//===========================================================================================================================
// TCPIPConfigDidChange
//===========================================================================================================================
@@ -3463,7 +3413,6 @@ void TCPIPConfigDidChange( mDNS * const inMDNS )
check_noerr( err );
}
-
//===========================================================================================================================
// DynDNSConfigDidChange
//===========================================================================================================================
@@ -3480,7 +3429,6 @@ void DynDNSConfigDidChange( mDNS * const inMDNS )
check_noerr( err );
}
-
//===========================================================================================================================
// FileSharingDidChange
//===========================================================================================================================
@@ -3492,7 +3440,6 @@ void FileSharingDidChange( mDNS * const inMDNS )
CheckFileShares( inMDNS );
}
-
//===========================================================================================================================
// FilewallDidChange
//===========================================================================================================================
@@ -3504,7 +3451,6 @@ void FirewallDidChange( mDNS * const inMDNS )
CheckFileShares( inMDNS );
}
-
#if 0
#pragma mark -
#pragma mark == Utilities ==
@@ -3982,7 +3928,7 @@ mDNSlocal int getifaddrs_ipv4( struct ifaddrs **outAddrs )
ifa->ifa_name = (char *) malloc( 16 );
require_action( ifa->ifa_name, exit, err = WSAENOBUFS );
- sprintf( ifa->ifa_name, "%d", i + 1 );
+ _snprintf( ifa->ifa_name, 16, "%d", i + 1 );
// Get interface flags.
@@ -4092,7 +4038,6 @@ mDNSlocal void freeifaddrs( struct ifaddrs *inIFAs )
}
}
-
//===========================================================================================================================
// GetPrimaryInterface
//===========================================================================================================================
@@ -4123,7 +4068,6 @@ GetPrimaryInterface()
err = GetIpForwardTable(pIpForwardTable, &dwSize, bOrder);
require_noerr( err, exit );
-
// Search for the row in the table we want.
for ( i = 0; i < pIpForwardTable->dwNumEntries; i++)
@@ -4152,7 +4096,6 @@ exit:
return index;
}
-
//===========================================================================================================================
// AddressToIndexAndMask
//===========================================================================================================================
@@ -4213,7 +4156,6 @@ exit:
return err;
}
-
//===========================================================================================================================
// CanReceiveUnicast
//===========================================================================================================================
@@ -4244,7 +4186,6 @@ mDNSlocal mDNSBool CanReceiveUnicast( void )
return( ok );
}
-
//===========================================================================================================================
// IsPointToPoint
//===========================================================================================================================
@@ -4286,7 +4227,6 @@ exit:
return ret;
}
-
//===========================================================================================================================
// GetWindowsVersionString
//===========================================================================================================================
@@ -4387,7 +4327,6 @@ exit:
return( err );
}
-
//===========================================================================================================================
// RegQueryString
//===========================================================================================================================
@@ -4436,7 +4375,6 @@ exit:
return err;
}
-
//===========================================================================================================================
// StringToAddress
//===========================================================================================================================
@@ -4476,7 +4414,6 @@ exit:
return err;
}
-
//===========================================================================================================================
// myGetIfAddrs
//===========================================================================================================================
@@ -4500,7 +4437,6 @@ myGetIfAddrs(int refresh)
return ifa;
}
-
//===========================================================================================================================
// TCHARtoUTF8
//===========================================================================================================================
@@ -4523,7 +4459,6 @@ exit:
#endif
}
-
//===========================================================================================================================
// WindowsLatin1toUTF8
//===========================================================================================================================
@@ -4561,7 +4496,6 @@ exit:
return( err );
}
-
//===========================================================================================================================
// TCPCloseSocket
//===========================================================================================================================
@@ -4578,7 +4512,6 @@ TCPCloseSocket( TCPSocket * sock )
}
}
-
//===========================================================================================================================
// UDPCloseSocket
//===========================================================================================================================
@@ -4596,7 +4529,6 @@ UDPCloseSocket( UDPSocket * sock )
}
}
-
//===========================================================================================================================
// SetupAddr
//===========================================================================================================================
@@ -4626,7 +4558,6 @@ mDNSlocal mStatus SetupAddr(mDNSAddr *ip, const struct sockaddr *const sa)
return(mStatus_Invalid);
}
-
mDNSlocal void GetDDNSFQDN( domainname *const fqdn )
{
LPSTR name = NULL;
@@ -4670,7 +4601,6 @@ exit:
}
}
-
#ifdef UNICODE
mDNSlocal void GetDDNSDomains( DNameListElem ** domains, LPCWSTR lpSubKey )
#else
@@ -4754,7 +4684,6 @@ exit:
}
}
-
mDNSlocal void SetDomainSecret( mDNS * const m, const domainname * inDomain )
{
char domainUTF8[ 256 ];
@@ -4801,7 +4730,6 @@ exit:
return;
}
-
mDNSlocal VOID CALLBACK
CheckFileSharesProc( LPVOID arg, DWORD dwTimerLowValue, DWORD dwTimerHighValue )
{
@@ -4813,7 +4741,6 @@ CheckFileSharesProc( LPVOID arg, DWORD dwTimerLowValue, DWORD dwTimerHighValue )
CheckFileShares( m );
}
-
mDNSlocal unsigned __stdcall
SMBRegistrationThread( void * arg )
{
@@ -4902,7 +4829,6 @@ exit:
return 0;
}
-
mDNSlocal void
CheckFileShares( mDNS * const m )
{
@@ -5056,7 +4982,6 @@ exit:
}
}
-
BOOL
IsWOMPEnabled( mDNS * const m )
{
@@ -5078,7 +5003,6 @@ IsWOMPEnabled( mDNS * const m )
return enabled;
}
-
mDNSlocal mDNSu8
IsWOMPEnabledForAdapter( const char * adapterName )
{
@@ -5128,7 +5052,6 @@ exit:
return ( mDNSu8 ) ok;
}
-
mDNSlocal void
SendWakeupPacket( mDNS * const inMDNS, LPSOCKADDR addr, INT addrlen, const char * buf, INT buflen, INT numTries, INT msecSleep )
{
@@ -5175,7 +5098,6 @@ exit:
}
}
-
mDNSlocal void _cdecl
SendMulticastWakeupPacket( void *arg )
{
@@ -5190,7 +5112,6 @@ SendMulticastWakeupPacket( void *arg )
_endthread();
}
-
mDNSexport void FreeEtcHosts(mDNS *const m, AuthRecord *const rr, mStatus result)
{
DEBUG_UNUSED( m );
diff --git a/mDNSResponder/mDNSWindows/mdnsNSP/mdnsNSP.c b/mDNSResponder/mDNSWindows/mdnsNSP/mdnsNSP.c
index 2cd01eff..21baa866 100644
--- a/mDNSResponder/mDNSWindows/mdnsNSP/mdnsNSP.c
+++ b/mDNSResponder/mDNSWindows/mdnsNSP/mdnsNSP.c
@@ -1847,7 +1847,7 @@ InHostsTable( const char * name )
HostsFile * hFile;
GetSystemDirectory( systemDirectory, sizeof( systemDirectory ) );
- sprintf( hFileName, "%s\\drivers\\etc\\hosts", systemDirectory );
+ snprintf( hFileName, sizeof( hFileName ), "%s\\drivers\\etc\\hosts", systemDirectory );
err = HostsFileOpen( &hFile, hFileName );
require_noerr( err, exit );
@@ -2072,6 +2072,7 @@ HostsFileNext( HostsFile * self, HostsFileInfo ** hInfo )
int idx;
int i;
short family;
+ size_t len;
OSStatus err = kNoErr;
check( self );
@@ -2146,9 +2147,10 @@ HostsFileNext( HostsFile * self, HostsFileInfo ** hInfo )
// Now we have the name
- (*hInfo)->m_host.h_name = (char*) malloc( strlen( tok ) + 1 );
+ len = strlen( tok ) + 1;
+ (*hInfo)->m_host.h_name = (char*) malloc( len );
require_action( (*hInfo)->m_host.h_name, exit, err = kNoMemoryErr );
- strcpy( (*hInfo)->m_host.h_name, tok );
+ strcpy_s( (*hInfo)->m_host.h_name, len, tok );
// Now create the address (IPv6/IPv4)
@@ -2220,10 +2222,11 @@ HostsFileNext( HostsFile * self, HostsFileInfo ** hInfo )
require_action( (*hInfo)->m_host.h_aliases, exit, err = kNoMemoryErr );
}
- (*hInfo)->m_host.h_aliases[i] = (char*) malloc( strlen( tok ) + 1 );
+ len = strlen( tok ) + 1;
+ (*hInfo)->m_host.h_aliases[i] = (char*) malloc( len );
require_action( (*hInfo)->m_host.h_aliases[i], exit, err = kNoMemoryErr );
- strcpy( (*hInfo)->m_host.h_aliases[i], tok );
+ strcpy_s( (*hInfo)->m_host.h_aliases[i], len, tok );
if (( tok = strpbrk( tok, " \t")) != NULL )
{