diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-19 08:53:26 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2018-09-20 11:23:32 +0200 |
commit | f01edf10244ccd53e098abdc1773c1aa0e4c5f8d (patch) | |
tree | 958a1ee323520629c4f027de1d4c56715949aa5c /mDNSResponder/mDNSWindows | |
parent | mDNSResponder: Update to v625.41.2 (diff) | |
download | rtems-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')
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 ) { |