mDNSResponder: Back to mDNSResponder-878.30.4

Update #4010.
This commit is contained in:
Sebastian Huber 2020-06-18 12:51:20 +02:00
parent 6ac77389a3
commit a4a6523309
12 changed files with 273 additions and 379 deletions

View File

@ -274,17 +274,12 @@ mDNSexport void SetAnonData(DNSQuestion *q, ResourceRecord *rr, mDNSBool ForQues
} }
} }
mDNSlocal char *RRDisplayStringBuf(const ResourceRecord *const rr, char *const buffer)
{
return GetRRDisplayString_rdb(rr, &rr->rdata->u, buffer);
}
// returns -1 if the caller should ignore the result // returns -1 if the caller should ignore the result
// returns 1 if the record answers the question // returns 1 if the record answers the question
// returns 0 if the record does not answer the question // returns 0 if the record does not answer the question
mDNSexport int AnonInfoAnswersQuestion(const ResourceRecord *const rr, const DNSQuestion *const q) mDNSexport int AnonInfoAnswersQuestion(const ResourceRecord *const rr, const DNSQuestion *const q)
{ {
char MsgBuffer[MaxMsg]; // Temp storage used while building error log messages mDNSexport mDNS mDNSStorage;
ResourceRecord *nsec3RR; ResourceRecord *nsec3RR;
int i; int i;
AnonymousInfo *qai, *rai; AnonymousInfo *qai, *rai;
@ -368,7 +363,7 @@ mDNSexport int AnonInfoAnswersQuestion(const ResourceRecord *const rr, const DNS
mDNSPlatformMemCmp(qai->AnonData, rai->AnonData, qai->AnonDataLen) != 0) mDNSPlatformMemCmp(qai->AnonData, rai->AnonData, qai->AnonDataLen) != 0)
{ {
debugf("AnonInfoAnswersQuestion: AnonData mis-match for record %s question %##s ", debugf("AnonInfoAnswersQuestion: AnonData mis-match for record %s question %##s ",
RRDisplayStringBuf(rr, MsgBuffer), q->qname.c); RRDisplayString(&mDNSStorage, rr), q->qname.c);
return 0; return 0;
} }
// AnonData matches i.e they belong to the same group and the same service. // AnonData matches i.e they belong to the same group and the same service.
@ -406,10 +401,10 @@ mDNSexport int AnonInfoAnswersQuestion(const ResourceRecord *const rr, const DNS
// AnonData can be NULL for the cache entry and if we are hearing our own question back, AnonData is NULL for // AnonData can be NULL for the cache entry and if we are hearing our own question back, AnonData is NULL for
// that too and we can end up here for that case. // that too and we can end up here for that case.
debugf("AnonInfoAnswersQuestion: AnonData %p or nsec3RR %p, NULL for question %##s, record %s", AnonData, nsec3RR, debugf("AnonInfoAnswersQuestion: AnonData %p or nsec3RR %p, NULL for question %##s, record %s", AnonData, nsec3RR,
q->qname.c, RRDisplayStringBuf(rr, MsgBuffer)); q->qname.c, RRDisplayString(&mDNSStorage, rr));
return 0; return 0;
} }
debugf("AnonInfoAnswersQuestion: Validating question %##s, ResourceRecord %s", q->qname.c, RRDisplayStringBuf(nsec3RR, MsgBuffer)); debugf("AnonInfoAnswersQuestion: Validating question %##s, ResourceRecord %s", q->qname.c, RRDisplayString(&mDNSStorage, nsec3RR));
nsec3 = (rdataNSEC3 *)nsec3RR->rdata->u.data; nsec3 = (rdataNSEC3 *)nsec3RR->rdata->u.data;
@ -441,7 +436,7 @@ mDNSexport int AnonInfoAnswersQuestion(const ResourceRecord *const rr, const DNS
return 0; return 0;
} }
} }
LogInfo("AnonInfoAnswersQuestion: ResourceRecord %s matched question %##s (%s)", RRDisplayStringBuf(nsec3RR, MsgBuffer), q->qname.c, DNSTypeName(q->qtype)); LogInfo("AnonInfoAnswersQuestion: ResourceRecord %s matched question %##s (%s)", RRDisplayString(&mDNSStorage, nsec3RR), q->qname.c, DNSTypeName(q->qtype));
return 1; return 1;
} }

View File

@ -14475,11 +14475,7 @@ mDNSlocal mStatus mDNS_InitStorage(mDNS *const m, mDNS_PlatformSupport *const p,
m->WABBrowseQueriesCount = 0; m->WABBrowseQueriesCount = 0;
m->WABLBrowseQueriesCount = 0; m->WABLBrowseQueriesCount = 0;
m->WABRegQueriesCount = 0; m->WABRegQueriesCount = 0;
#ifndef __rtems__
m->AutoTargetServices = 0; m->AutoTargetServices = 0;
#else /* __rtems__ */
m->AutoTargetServices = 1;
#endif /* __rtems__ */
#if BONJOUR_ON_DEMAND #if BONJOUR_ON_DEMAND
m->NumAllInterfaceRecords = 0; m->NumAllInterfaceRecords = 0;

View File

@ -3632,46 +3632,6 @@ extern void D2D_stop_advertising_record(AuthRecord *ar);
// *************************************************************************** // ***************************************************************************
#ifdef __rtems__
typedef struct
{
// Client API fields: The client must set up name and InterfaceID *before* calling mDNS_StartResolveService()
// When the callback is invoked, ip, port, TXTlen and TXTinfo will have been filled in with the results learned from the network.
domainname name;
mDNSInterfaceID InterfaceID; // ID of the interface the response was received on
mDNSAddr ip; // Remote (destination) IP address where this service can be accessed
mDNSIPPort port; // Port where this service can be accessed
mDNSu16 TXTlen;
mDNSu8 TXTinfo[2048]; // Additional demultiplexing information (e.g. LPR queue name)
} ServiceInfo;
// Note: Within an mDNSServiceInfoQueryCallback mDNS all API calls are legal except mDNS_Init(), mDNS_Exit(), mDNS_Execute()
typedef struct ServiceInfoQuery_struct ServiceInfoQuery;
typedef void mDNSServiceInfoQueryCallback (mDNS *const m, ServiceInfoQuery *query);
struct ServiceInfoQuery_struct
{
// Internal state fields. These are used internally by mDNSCore; the client layer needn't be concerned with them.
// No fields need to be set up by the client prior to calling mDNS_StartResolveService();
// all required data is passed as parameters to that function.
// The ServiceInfoQuery structure memory is working storage for mDNSCore to discover the requested information
// and place it in the ServiceInfo structure. After the client has called mDNS_StopResolveService(), it may
// dispose of the ServiceInfoQuery structure while retaining the results in the ServiceInfo structure.
DNSQuestion qSRV;
DNSQuestion qTXT;
DNSQuestion qAv4;
DNSQuestion qAv6;
mDNSu8 GotSRV;
mDNSu8 GotTXT;
mDNSu8 GotADD;
mDNSu32 Answers;
ServiceInfo *info;
mDNSServiceInfoQueryCallback *ServiceInfoQueryCallback;
void *ServiceInfoQueryContext;
};
extern mStatus mDNS_StartResolveService(mDNS *const m, ServiceInfoQuery *query, ServiceInfo *info, mDNSServiceInfoQueryCallback *Callback, void *Context);
extern void mDNS_StopResolveService (mDNS *const m, ServiceInfoQuery *query);
#endif /* __rtems__ */
#ifdef __cplusplus #ifdef __cplusplus
} }
#endif #endif

View File

@ -1,79 +1,79 @@
.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples. .\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples.
.\"See Also: .\"See Also:
.\"man mdoc.samples for a complete listing of options .\"man mdoc.samples for a complete listing of options
.\"man mdoc for the short list of editing options .\"man mdoc for the short list of editing options
.\"/usr/share/misc/mdoc.template .\"/usr/share/misc/mdoc.template
.Dd 4/24/13 \" DATE .Dd 4/24/13 \" DATE
.Dt BonjourTop 1 \" Program name and manual section number .Dt BonjourTop 1 \" Program name and manual section number
.Os Darwin .Os Darwin
.Sh NAME \" Section Header - required - don't modify .Sh NAME \" Section Header - required - don't modify
.Nm BonjourTop, .Nm BonjourTop,
.\" The following lines are read in generating the apropos(man -k) database. Use only key .\" The following lines are read in generating the apropos(man -k) database. Use only key
.\" words here as the database is built based on the words here and in the .ND line. .\" words here as the database is built based on the words here and in the .ND line.
.Nm Other_name_for_same_program(), .Nm Other_name_for_same_program(),
.Nm Yet another name for the same program. .Nm Yet another name for the same program.
.\" Use .Nm macro to designate other names for the documented program. .\" Use .Nm macro to designate other names for the documented program.
.Nd This line parsed for whatis database. .Nd This line parsed for whatis database.
.Sh SYNOPSIS \" Section Header - required - don't modify .Sh SYNOPSIS \" Section Header - required - don't modify
.Nm .Nm
.Op Fl abcd \" [-abcd] .Op Fl abcd \" [-abcd]
.Op Fl a Ar path \" [-a path] .Op Fl a Ar path \" [-a path]
.Op Ar file \" [file] .Op Ar file \" [file]
.Op Ar \" [file ...] .Op Ar \" [file ...]
.Ar arg0 \" Underlined argument - use .Ar anywhere to underline .Ar arg0 \" Underlined argument - use .Ar anywhere to underline
arg2 ... \" Arguments arg2 ... \" Arguments
.Sh DESCRIPTION \" Section Header - required - don't modify .Sh DESCRIPTION \" Section Header - required - don't modify
Use the .Nm macro to refer to your program throughout the man page like such: Use the .Nm macro to refer to your program throughout the man page like such:
.Nm .Nm
Underlining is accomplished with the .Ar macro like this: Underlining is accomplished with the .Ar macro like this:
.Ar underlined text . .Ar underlined text .
.Pp \" Inserts a space .Pp \" Inserts a space
A list of items with descriptions: A list of items with descriptions:
.Bl -tag -width -indent \" Begins a tagged list .Bl -tag -width -indent \" Begins a tagged list
.It item a \" Each item preceded by .It macro .It item a \" Each item preceded by .It macro
Description of item a Description of item a
.It item b .It item b
Description of item b Description of item b
.El \" Ends the list .El \" Ends the list
.Pp .Pp
A list of flags and their descriptions: A list of flags and their descriptions:
.Bl -tag -width -indent \" Differs from above in tag removed .Bl -tag -width -indent \" Differs from above in tag removed
.It Fl a \"-a flag as a list item .It Fl a \"-a flag as a list item
Description of -a flag Description of -a flag
.It Fl b .It Fl b
Description of -b flag Description of -b flag
.El \" Ends the list .El \" Ends the list
.Pp .Pp
.\" .Sh ENVIRONMENT \" May not be needed .\" .Sh ENVIRONMENT \" May not be needed
.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1 .\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1
.\" .It Ev ENV_VAR_1 .\" .It Ev ENV_VAR_1
.\" Description of ENV_VAR_1 .\" Description of ENV_VAR_1
.\" .It Ev ENV_VAR_2 .\" .It Ev ENV_VAR_2
.\" Description of ENV_VAR_2 .\" Description of ENV_VAR_2
.\" .El .\" .El
.Sh FILES \" File used or created by the topic of the man page .Sh FILES \" File used or created by the topic of the man page
.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact .Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact
.It Pa /usr/share/file_name .It Pa /usr/share/file_name
FILE_1 description FILE_1 description
.It Pa /Users/joeuser/Library/really_long_file_name .It Pa /Users/joeuser/Library/really_long_file_name
FILE_2 description FILE_2 description
.El \" Ends the list .El \" Ends the list
.\" .Sh DIAGNOSTICS \" May not be needed .\" .Sh DIAGNOSTICS \" May not be needed
.\" .Bl -diag .\" .Bl -diag
.\" .It Diagnostic Tag .\" .It Diagnostic Tag
.\" Diagnostic informtion here. .\" Diagnostic informtion here.
.\" .It Diagnostic Tag .\" .It Diagnostic Tag
.\" Diagnostic informtion here. .\" Diagnostic informtion here.
.\" .El .\" .El
.Sh SEE ALSO .Sh SEE ALSO
.\" List links in ascending order by section, alphabetically within a section. .\" List links in ascending order by section, alphabetically within a section.
.\" Please do not reference files that do not exist without filing a bug report .\" Please do not reference files that do not exist without filing a bug report
.Xr a 1 , .Xr a 1 ,
.Xr b 1 , .Xr b 1 ,
.Xr c 1 , .Xr c 1 ,
.Xr a 2 , .Xr a 2 ,
.Xr b 2 , .Xr b 2 ,
.Xr a 3 , .Xr a 3 ,
.Xr b 3 .Xr b 3
.\" .Sh BUGS \" Document known, unremedied bugs .\" .Sh BUGS \" Document known, unremedied bugs
.\" .Sh HISTORY \" Document history if command behaves in a unique manner .\" .Sh HISTORY \" Document history if command behaves in a unique manner

View File

@ -40,10 +40,6 @@
#include <netinet/in.h> #include <netinet/in.h>
#include <arpa/inet.h> #include <arpa/inet.h>
#include <time.h> // platform support for UTC time #include <time.h> // platform support for UTC time
#ifdef __rtems__
#include <sys/param.h>
#include <rtems/libio_.h>
#endif /* __rtems__ */
#if USES_NETLINK #if USES_NETLINK
#include <asm/types.h> #include <asm/types.h>
@ -80,12 +76,7 @@ struct IfChangeRec
typedef struct IfChangeRec IfChangeRec; typedef struct IfChangeRec IfChangeRec;
// Note that static data is initialized to zero in (modern) C. // Note that static data is initialized to zero in (modern) C.
#ifndef __rtems__
static fd_set gEventFDs; static fd_set gEventFDs;
#else /* __rtems__ */
static fd_set *gAllocatedEventFDs;
#define gEventFDs (*gAllocatedEventFDs)
#endif /* __rtems__ */
static int gMaxFD; // largest fd in gEventFDs static int gMaxFD; // largest fd in gEventFDs
static GenLinkedList gEventSources; // linked list of PosixEventSource's static GenLinkedList gEventSources; // linked list of PosixEventSource's
static sigset_t gEventSignalSet; // Signals which event loop listens for static sigset_t gEventSignalSet; // Signals which event loop listens for
@ -448,15 +439,6 @@ mDNSexport mDNSBool mDNSPlatformSetDNSConfig(mDNSBool setservers, mDNSBool setse
(void) RegDomains; (void) RegDomains;
(void) BrowseDomains; (void) BrowseDomains;
(void) ackConfig; (void) ackConfig;
#ifdef __rtems__
/*
* Copied from mDNSMacOSX/mDNSMacOSX.c to prevent use of uninitialized
* stack variables.
*/
if (fqdn ) fqdn->c[0] = 0;
if (RegDomains ) *RegDomains = NULL;
if (BrowseDomains) *BrowseDomains = NULL;
#endif /* __rtems__ */
return mDNStrue; return mDNStrue;
} }
@ -675,7 +657,6 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
#endif #endif
if (err < 0) { err = errno; perror("setsockopt - SO_REUSExxxx"); } if (err < 0) { err = errno; perror("setsockopt - SO_REUSExxxx"); }
#ifndef __rtems__
// Enable inbound packets on IFEF_AWDL interface. // Enable inbound packets on IFEF_AWDL interface.
// Only done for multicast sockets, since we don't expect unicast socket operations // Only done for multicast sockets, since we don't expect unicast socket operations
// on the IFEF_AWDL interface. Operation is a no-op for other interface types. // on the IFEF_AWDL interface. Operation is a no-op for other interface types.
@ -683,7 +664,6 @@ mDNSlocal int SetupSocket(struct sockaddr *intfAddr, mDNSIPPort port, int interf
#define SO_RECV_ANYIF 0x1104 /* unrestricted inbound processing */ #define SO_RECV_ANYIF 0x1104 /* unrestricted inbound processing */
#endif #endif
if (setsockopt(*sktPtr, SOL_SOCKET, SO_RECV_ANYIF, &kOn, sizeof(kOn)) < 0) perror("setsockopt - SO_RECV_ANYIF"); if (setsockopt(*sktPtr, SOL_SOCKET, SO_RECV_ANYIF, &kOn, sizeof(kOn)) < 0) perror("setsockopt - SO_RECV_ANYIF");
#endif /* __rtems__ */
} }
// We want to receive destination addresses and interface identifiers. // We want to receive destination addresses and interface identifiers.
@ -1228,23 +1208,14 @@ mDNSlocal mDNSu32 ProcessRoutingNotification(int sd)
mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context) mDNSlocal void InterfaceChangeCallback(int fd, short filter, void *context)
{ {
IfChangeRec *pChgRec = (IfChangeRec*) context; IfChangeRec *pChgRec = (IfChangeRec*) context;
#ifndef __rtems__
fd_set readFDs; fd_set readFDs;
#else /* __rtems__ */
fd_set bigEnoughReadFDs[howmany(rtems_libio_number_iops, sizeof(fd_set) * 8)];
#define readFDs (*(&bigEnoughReadFDs[0]))
#endif /* __rtems__ */
mDNSu32 changedInterfaces = 0; mDNSu32 changedInterfaces = 0;
struct timeval zeroTimeout = { 0, 0 }; struct timeval zeroTimeout = { 0, 0 };
(void)fd; // Unused (void)fd; // Unused
(void)filter; // Unused (void)filter; // Unused
#ifndef __rtems__
FD_ZERO(&readFDs); FD_ZERO(&readFDs);
#else /* __rtems__ */
memset(bigEnoughReadFDs, 0, sizeof(bigEnoughReadFDs));
#endif /* __rtems__ */
FD_SET(pChgRec->NotifySD, &readFDs); FD_SET(pChgRec->NotifySD, &readFDs);
do do
@ -1301,9 +1272,6 @@ mDNSexport mStatus mDNSPlatformInit(mDNS *const m)
{ {
int err = 0; int err = 0;
struct sockaddr sa; struct sockaddr sa;
#ifdef __rtems__
pthread_mutexattr_t attr;
#endif /* __rtems__ */
assert(m != NULL); assert(m != NULL);
if (mDNSPlatformInit_CanReceiveUnicast()) m->CanReceiveUnicastOn5353 = mDNStrue; if (mDNSPlatformInit_CanReceiveUnicast()) m->CanReceiveUnicastOn5353 = mDNStrue;
@ -1321,16 +1289,6 @@ mDNSexport mStatus mDNSPlatformInit(mDNS *const m)
if (m->hostlabel.c[0] == 0) MakeDomainLabelFromLiteralString(&m->hostlabel, "Computer"); if (m->hostlabel.c[0] == 0) MakeDomainLabelFromLiteralString(&m->hostlabel, "Computer");
mDNS_SetFQDN(m); mDNS_SetFQDN(m);
#ifdef __rtems__
if (err == mStatus_NoError) {
gAllocatedEventFDs = calloc(howmany(rtems_libio_number_iops, sizeof(fd_set) * 8), sizeof(fd_set));
if (gAllocatedEventFDs == NULL) err = mStatus_NoMemoryErr;
}
if (err == mStatus_NoError) err = pthread_mutexattr_init(&attr);
if (err == mStatus_NoError) err = pthread_mutexattr_setprotocol(&attr, PTHREAD_PRIO_INHERIT);
if (err == mStatus_NoError) err = pthread_mutex_init(&m->p->mutex, &attr);
if (err == mStatus_NoError) err = pthread_mutexattr_destroy(&attr);
#endif /* __rtems__ */
sa.sa_family = AF_INET; sa.sa_family = AF_INET;
m->p->unicastSocket4 = -1; m->p->unicastSocket4 = -1;
@ -1415,22 +1373,14 @@ mDNSexport mStatus mDNSPlatformPosixRefreshInterfaceList(mDNS *const m)
// the platform from reentering mDNS core code. // the platform from reentering mDNS core code.
mDNSexport void mDNSPlatformLock (const mDNS *const m) mDNSexport void mDNSPlatformLock (const mDNS *const m)
{ {
#ifndef __rtems__
(void) m; // Unused (void) m; // Unused
#else /* __rtems__ */
pthread_mutex_lock(&m->p->mutex);
#endif /* __rtems__ */
} }
// mDNS core calls this routine when it release the lock taken by // mDNS core calls this routine when it release the lock taken by
// mDNSPlatformLock and allow the platform to reenter mDNS core code. // mDNSPlatformLock and allow the platform to reenter mDNS core code.
mDNSexport void mDNSPlatformUnlock (const mDNS *const m) mDNSexport void mDNSPlatformUnlock (const mDNS *const m)
{ {
#ifndef __rtems__
(void) m; // Unused (void) m; // Unused
#else /* __rtems__ */
pthread_mutex_unlock(&m->p->mutex);
#endif /* __rtems__ */
} }
#if COMPILER_LIKES_PRAGMA_MARK #if COMPILER_LIKES_PRAGMA_MARK
@ -1553,7 +1503,7 @@ mDNSexport void mDNSPlatformMemZero(void *dst, mDNSu32 len)
memset(dst, 0, len); memset(dst, 0, len);
} }
mDNSexport void * mDNSPlatformMemAllocate(mDNSu32 len) { return(calloc(1, len)); } mDNSexport void * mDNSPlatformMemAllocate(mDNSu32 len) { return(malloc(len)); }
mDNSexport void mDNSPlatformMemFree (void *mem) { free(mem); } mDNSexport void mDNSPlatformMemFree (void *mem) { free(mem); }
#if _PLATFORM_HAS_STRONG_PRNG_ #if _PLATFORM_HAS_STRONG_PRNG_
@ -1804,10 +1754,8 @@ mStatus mDNSPosixAddFDToEventLoop(int fd, mDNSPosixEventCallback callback, void
if (gEventSources.LinkOffset == 0) if (gEventSources.LinkOffset == 0)
InitLinkedList(&gEventSources, offsetof(PosixEventSource, Next)); InitLinkedList(&gEventSources, offsetof(PosixEventSource, Next));
#ifndef __rtems__
if (fd >= (int) FD_SETSIZE || fd < 0) if (fd >= (int) FD_SETSIZE || fd < 0)
return mStatus_UnsupportedErr; return mStatus_UnsupportedErr;
#endif /* __rtems__ */
if (callback == NULL) if (callback == NULL)
return mStatus_BadParamErr; return mStatus_BadParamErr;
@ -1887,13 +1835,7 @@ mStatus mDNSPosixIgnoreSignalInEventLoop(int signum)
mStatus mDNSPosixRunEventLoopOnce(mDNS *m, const struct timeval *pTimeout, mStatus mDNSPosixRunEventLoopOnce(mDNS *m, const struct timeval *pTimeout,
sigset_t *pSignalsReceived, mDNSBool *pDataDispatched) sigset_t *pSignalsReceived, mDNSBool *pDataDispatched)
{ {
#ifndef __rtems__
fd_set listenFDs = gEventFDs; fd_set listenFDs = gEventFDs;
#else /* __rtems__ */
fd_set bigEnoughListenFDs[howmany(rtems_libio_number_iops, sizeof(fd_set) * 8)];
#define listenFDs (*(&bigEnoughListenFDs[0]))
memcpy(bigEnoughListenFDs, gAllocatedEventFDs, sizeof(bigEnoughListenFDs));
#endif /* __rtems__ */
int fdMax = 0, numReady; int fdMax = 0, numReady;
struct timeval timeout = *pTimeout; struct timeval timeout = *pTimeout;

View File

@ -20,9 +20,6 @@
#include <signal.h> #include <signal.h>
#include <sys/time.h> #include <sys/time.h>
#ifdef __rtems__
#include <pthread.h>
#endif /* __rtems__ */
#ifdef __cplusplus #ifdef __cplusplus
extern "C" { extern "C" {
@ -58,9 +55,6 @@ struct mDNS_PlatformSupport_struct
#if HAVE_IPV6 #if HAVE_IPV6
int unicastSocket6; int unicastSocket6;
#endif #endif
#ifdef __rtems__
pthread_mutex_t mutex;
#endif /* __rtems__ */
}; };
#define uDNS_SERVERS_FILE "/etc/resolv.conf" #define uDNS_SERVERS_FILE "/etc/resolv.conf"

View File

@ -244,7 +244,7 @@ struct ifi_info *get_ifi_info(int family, int doaliases)
lastlen = 0; lastlen = 0;
len = 100 * sizeof(struct ifreq); /* initial buffer size guess */ len = 100 * sizeof(struct ifreq); /* initial buffer size guess */
for ( ; ; ) { for ( ; ; ) {
buf = (char*)calloc(1, len); buf = (char*)malloc(len);
if (buf == NULL) { if (buf == NULL) {
goto gotError; goto gotError;
} }

View File

@ -9,18 +9,33 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mdnsNSP", "mDNSWindows\mdnsNSP\mdnsNSP.vcxproj", "{F4F15529-F0EB-402F-8662-73C5797EE557}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mdnsNSP", "mDNSWindows\mdnsNSP\mdnsNSP.vcxproj", "{F4F15529-F0EB-402F-8662-73C5797EE557}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ExplorerPlugin", "Clients\ExplorerPlugin\ExplorerPlugin.vcxproj", "{BB8AC1B5-6587-4163-BDC6-788B157705CA}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ExplorerPlugin", "Clients\ExplorerPlugin\ExplorerPlugin.vcxproj", "{BB8AC1B5-6587-4163-BDC6-788B157705CA}"
ProjectSection(ProjectDependencies) = postProject
{1643427B-F226-4AD6-B413-97DA64D5C6B4} = {1643427B-F226-4AD6-B413-97DA64D5C6B4}
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PrinterSetupWizard", "Clients\PrinterSetupWizard\PrinterSetupWizard.vcxproj", "{B1D2CDA2-CC8F-45D5-A694-2EE45B0308CF}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PrinterSetupWizard", "Clients\PrinterSetupWizard\PrinterSetupWizard.vcxproj", "{B1D2CDA2-CC8F-45D5-A694-2EE45B0308CF}"
ProjectSection(ProjectDependencies) = postProject
{967F5375-0176-43D3-ADA3-22EE25551C37} = {967F5375-0176-43D3-ADA3-22EE25551C37}
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PrinterSetupWizardLocRes", "Clients\PrinterSetupWizard\PrinterSetupWizardLocRes.vcxproj", "{967F5375-0176-43D3-ADA3-22EE25551C37}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PrinterSetupWizardLocRes", "Clients\PrinterSetupWizard\PrinterSetupWizardLocRes.vcxproj", "{967F5375-0176-43D3-ADA3-22EE25551C37}"
ProjectSection(ProjectDependencies) = postProject
{CFCCB176-6CAA-472B-B0A2-90511C8E2E52} = {CFCCB176-6CAA-472B-B0A2-90511C8E2E52}
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PrinterSetupWizardRes", "Clients\PrinterSetupWizard\PrinterSetupWizardRes.vcxproj", "{CFCCB176-6CAA-472B-B0A2-90511C8E2E52}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PrinterSetupWizardRes", "Clients\PrinterSetupWizard\PrinterSetupWizardRes.vcxproj", "{CFCCB176-6CAA-472B-B0A2-90511C8E2E52}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ExplorerPluginLocRes", "Clients\ExplorerPlugin\ExplorerPluginLocRes.vcxproj", "{1643427B-F226-4AD6-B413-97DA64D5C6B4}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ExplorerPluginLocRes", "Clients\ExplorerPlugin\ExplorerPluginLocRes.vcxproj", "{1643427B-F226-4AD6-B413-97DA64D5C6B4}"
ProjectSection(ProjectDependencies) = postProject
{871B1492-B4A4-4B57-9237-FA798484D7D7} = {871B1492-B4A4-4B57-9237-FA798484D7D7}
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ExplorerPluginRes", "Clients\ExplorerPlugin\ExplorerPluginRes.vcxproj", "{871B1492-B4A4-4B57-9237-FA798484D7D7}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ExplorerPluginRes", "Clients\ExplorerPlugin\ExplorerPluginRes.vcxproj", "{871B1492-B4A4-4B57-9237-FA798484D7D7}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dns-sd", "Clients\DNS-SD.VisualStudio\dns-sd.vcxproj", "{AA230639-E115-4A44-AA5A-44A61235BA50}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dns-sd", "Clients\DNS-SD.VisualStudio\dns-sd.vcxproj", "{AA230639-E115-4A44-AA5A-44A61235BA50}"
ProjectSection(ProjectDependencies) = postProject
{AB581101-18F0-46F6-B56A-83A6B1EA657E} = {AB581101-18F0-46F6-B56A-83A6B1EA657E}
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Java", "mDNSWindows\Java\Java.vcxproj", "{9CE2568A-3170-41C6-9F20-A0188A9EC114}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "Java", "mDNSWindows\Java\Java.vcxproj", "{9CE2568A-3170-41C6-9F20-A0188A9EC114}"
EndProject EndProject
@ -37,10 +52,16 @@ EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mDNSNetMonitor", "Clients\mDNSNetMonitor.VisualStudio\mDNSNetMonitor.vcxproj", "{AF35C285-528D-46A1-8A0E-47B0733DC718}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mDNSNetMonitor", "Clients\mDNSNetMonitor.VisualStudio\mDNSNetMonitor.vcxproj", "{AF35C285-528D-46A1-8A0E-47B0733DC718}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ControlPanelLocRes", "mDNSWindows\ControlPanel\ControlPanelLocRes.vcxproj", "{4490229E-025A-478F-A2CF-51154DA83E39}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ControlPanelLocRes", "mDNSWindows\ControlPanel\ControlPanelLocRes.vcxproj", "{4490229E-025A-478F-A2CF-51154DA83E39}"
ProjectSection(ProjectDependencies) = postProject
{5254AA9C-3D2E-4539-86D9-5EB0F4151215} = {5254AA9C-3D2E-4539-86D9-5EB0F4151215}
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ControlPanelRes", "mDNSWindows\ControlPanel\ControlPanelRes.vcxproj", "{5254AA9C-3D2E-4539-86D9-5EB0F4151215}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ControlPanelRes", "mDNSWindows\ControlPanel\ControlPanelRes.vcxproj", "{5254AA9C-3D2E-4539-86D9-5EB0F4151215}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ControlPanel", "mDNSWindows\ControlPanel\ControlPanel.vcxproj", "{0DF09484-B4C2-4AB4-9FC0-7B091ADEAFEB}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ControlPanel", "mDNSWindows\ControlPanel\ControlPanel.vcxproj", "{0DF09484-B4C2-4AB4-9FC0-7B091ADEAFEB}"
ProjectSection(ProjectDependencies) = postProject
{4490229E-025A-478F-A2CF-51154DA83E39} = {4490229E-025A-478F-A2CF-51154DA83E39}
EndProjectSection
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FirefoxExtension", "Clients\FirefoxExtension\FirefoxExtension.vcxproj", "{7826EA27-D4CC-4FAA-AD23-DF813823227B}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "FirefoxExtension", "Clients\FirefoxExtension\FirefoxExtension.vcxproj", "{7826EA27-D4CC-4FAA-AD23-DF813823227B}"
EndProject EndProject

View File

@ -25,8 +25,6 @@
#include "dns_sd.h" // Defines the interface to the client layer above #include "dns_sd.h" // Defines the interface to the client layer above
#include "mDNSEmbeddedAPI.h" // The interface we're building on top of #include "mDNSEmbeddedAPI.h" // The interface we're building on top of
#include <sys/socket.h>
#include <netinet/in.h>
extern mDNS mDNSStorage; // We need to pass the address of this storage to the lower-layer functions extern mDNS mDNSStorage; // We need to pass the address of this storage to the lower-layer functions
#if MDNS_BUILDINGSHAREDLIBRARY || MDNS_BUILDINGSTUBLIBRARY #if MDNS_BUILDINGSHAREDLIBRARY || MDNS_BUILDINGSTUBLIBRARY
@ -70,14 +68,6 @@ typedef struct
DNSQuestion q; DNSQuestion q;
} mDNS_DirectOP_Browse; } mDNS_DirectOP_Browse;
typedef struct
{
mDNS_DirectOP_Dispose *disposefn;
DNSServiceRef aQuery;
DNSServiceGetAddrInfoReply callback;
void *context;
} mDNS_DirectOP_GetAddrInfo;
typedef struct typedef struct
{ {
mDNS_DirectOP_Dispose *disposefn; mDNS_DirectOP_Dispose *disposefn;
@ -684,7 +674,7 @@ DNSServiceErrorType DNSServiceQueryRecord
x->q.ExpectUnique = mDNSfalse; x->q.ExpectUnique = mDNSfalse;
x->q.ForceMCast = (flags & kDNSServiceFlagsForceMulticast) != 0; x->q.ForceMCast = (flags & kDNSServiceFlagsForceMulticast) != 0;
x->q.ReturnIntermed = (flags & kDNSServiceFlagsReturnIntermediates) != 0; x->q.ReturnIntermed = (flags & kDNSServiceFlagsReturnIntermediates) != 0;
x->q.SuppressUnusable = (flags & kDNSServiceFlagsSuppressUnusable) != 0; x->q.SuppressUnsable = (flags & kDNSServiceFlagsSuppressUnusable) != 0;
x->q.SearchListIndex = 0; x->q.SearchListIndex = 0;
x->q.AppendSearchDomains = 0; x->q.AppendSearchDomains = 0;
x->q.RetryWithSearchDomains = mDNSfalse; x->q.RetryWithSearchDomains = mDNSfalse;

View File

@ -60,11 +60,7 @@ mDNSlocal void LogMsgWithLevelv(mDNSLogLevel_t logLevel, const char *format, va_
{ {
char buffer[512]; char buffer[512];
buffer[mDNS_vsnprintf((char *)buffer, sizeof(buffer), format, ptr)] = 0; buffer[mDNS_vsnprintf((char *)buffer, sizeof(buffer), format, ptr)] = 0;
#ifndef __rtems__
mDNSPlatformWriteLogMsg(ProgramName, buffer, logLevel); mDNSPlatformWriteLogMsg(ProgramName, buffer, logLevel);
#else /* __rtems__ */
mDNSPlatformWriteLogMsg(NULL, buffer, logLevel);
#endif /* __rtems__ */
} }
#define LOG_HELPER_BODY(L) \ #define LOG_HELPER_BODY(L) \

View File

@ -1,81 +1,81 @@
 
Microsoft Visual Studio Solution File, Format Version 11.00 Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010 # Visual Studio 2010
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DLL", "DLL\dnssd.vcxproj", "{AB581101-18F0-46F6-B56A-83A6B1EA657E}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "DLL", "DLL\dnssd.vcxproj", "{AB581101-18F0-46F6-B56A-83A6B1EA657E}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mDNSResponder", "SystemService\Service.vcxproj", "{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mDNSResponder", "SystemService\Service.vcxproj", "{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mdnsNSP", "mdnsNSP\mdnsNSP.vcxproj", "{F4F15529-F0EB-402F-8662-73C5797EE557}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mdnsNSP", "mdnsNSP\mdnsNSP.vcxproj", "{F4F15529-F0EB-402F-8662-73C5797EE557}"
EndProject EndProject
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dns-sd", "..\Clients\DNS-SD.VisualStudio\dns-sd.vcxproj", "{AA230639-E115-4A44-AA5A-44A61235BA50}" Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dns-sd", "..\Clients\DNS-SD.VisualStudio\dns-sd.vcxproj", "{AA230639-E115-4A44-AA5A-44A61235BA50}"
ProjectSection(ProjectDependencies) = postProject ProjectSection(ProjectDependencies) = postProject
{AB581101-18F0-46F6-B56A-83A6B1EA657E} = {AB581101-18F0-46F6-B56A-83A6B1EA657E} {AB581101-18F0-46F6-B56A-83A6B1EA657E} = {AB581101-18F0-46F6-B56A-83A6B1EA657E}
EndProjectSection EndProjectSection
EndProject EndProject
Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "BonjourQuickLooksInstaller", "BonjourQuickLooksInstaller\BonjourQuickLooksInstaller.wixproj", "{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}" Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "BonjourQuickLooksInstaller", "BonjourQuickLooksInstaller\BonjourQuickLooksInstaller.wixproj", "{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}"
EndProject EndProject
Global Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Win32 = Debug|Win32 Debug|Win32 = Debug|Win32
Debug|x64 = Debug|x64 Debug|x64 = Debug|x64
Debug|x86 = Debug|x86 Debug|x86 = Debug|x86
Release|Win32 = Release|Win32 Release|Win32 = Release|Win32
Release|x64 = Release|x64 Release|x64 = Release|x64
Release|x86 = Release|x86 Release|x86 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution GlobalSection(ProjectConfigurationPlatforms) = postSolution
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|Win32.ActiveCfg = Debug|Win32 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|Win32.ActiveCfg = Debug|Win32
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|Win32.Build.0 = Debug|Win32 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|Win32.Build.0 = Debug|Win32
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|x64.ActiveCfg = Debug|x64 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|x64.ActiveCfg = Debug|x64
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|x64.Build.0 = Debug|x64 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|x64.Build.0 = Debug|x64
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|x86.ActiveCfg = Debug|Win32 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Debug|x86.ActiveCfg = Debug|Win32
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|Win32.ActiveCfg = Release|Win32 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|Win32.ActiveCfg = Release|Win32
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|Win32.Build.0 = Release|Win32 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|Win32.Build.0 = Release|Win32
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|x64.ActiveCfg = Release|x64 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|x64.ActiveCfg = Release|x64
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|x64.Build.0 = Release|x64 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|x64.Build.0 = Release|x64
{AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|x86.ActiveCfg = Release|Win32 {AB581101-18F0-46F6-B56A-83A6B1EA657E}.Release|x86.ActiveCfg = Release|Win32
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|Win32.ActiveCfg = Debug|Win32 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|Win32.ActiveCfg = Debug|Win32
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|Win32.Build.0 = Debug|Win32 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|Win32.Build.0 = Debug|Win32
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|x64.ActiveCfg = Debug|x64 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|x64.ActiveCfg = Debug|x64
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|x64.Build.0 = Debug|x64 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|x64.Build.0 = Debug|x64
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|x86.ActiveCfg = Debug|Win32 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Debug|x86.ActiveCfg = Debug|Win32
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|Win32.ActiveCfg = Release|Win32 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|Win32.ActiveCfg = Release|Win32
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|Win32.Build.0 = Release|Win32 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|Win32.Build.0 = Release|Win32
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|x64.ActiveCfg = Release|x64 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|x64.ActiveCfg = Release|x64
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|x64.Build.0 = Release|x64 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|x64.Build.0 = Release|x64
{C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|x86.ActiveCfg = Release|Win32 {C1D98254-BA27-4427-A3BE-A68CA2CC5F69}.Release|x86.ActiveCfg = Release|Win32
{F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|Win32.ActiveCfg = Debug|Win32 {F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|Win32.ActiveCfg = Debug|Win32
{F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|Win32.Build.0 = Debug|Win32 {F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|Win32.Build.0 = Debug|Win32
{F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|x64.ActiveCfg = Debug|x64 {F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|x64.ActiveCfg = Debug|x64
{F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|x64.Build.0 = Debug|x64 {F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|x64.Build.0 = Debug|x64
{F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|x86.ActiveCfg = Debug|Win32 {F4F15529-F0EB-402F-8662-73C5797EE557}.Debug|x86.ActiveCfg = Debug|Win32
{F4F15529-F0EB-402F-8662-73C5797EE557}.Release|Win32.ActiveCfg = Release|Win32 {F4F15529-F0EB-402F-8662-73C5797EE557}.Release|Win32.ActiveCfg = Release|Win32
{F4F15529-F0EB-402F-8662-73C5797EE557}.Release|Win32.Build.0 = Release|Win32 {F4F15529-F0EB-402F-8662-73C5797EE557}.Release|Win32.Build.0 = Release|Win32
{F4F15529-F0EB-402F-8662-73C5797EE557}.Release|x64.ActiveCfg = Release|x64 {F4F15529-F0EB-402F-8662-73C5797EE557}.Release|x64.ActiveCfg = Release|x64
{F4F15529-F0EB-402F-8662-73C5797EE557}.Release|x64.Build.0 = Release|x64 {F4F15529-F0EB-402F-8662-73C5797EE557}.Release|x64.Build.0 = Release|x64
{F4F15529-F0EB-402F-8662-73C5797EE557}.Release|x86.ActiveCfg = Release|Win32 {F4F15529-F0EB-402F-8662-73C5797EE557}.Release|x86.ActiveCfg = Release|Win32
{AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|Win32.ActiveCfg = Debug|Win32 {AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|Win32.ActiveCfg = Debug|Win32
{AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|Win32.Build.0 = Debug|Win32 {AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|Win32.Build.0 = Debug|Win32
{AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|x64.ActiveCfg = Debug|x64 {AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|x64.ActiveCfg = Debug|x64
{AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|x64.Build.0 = Debug|x64 {AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|x64.Build.0 = Debug|x64
{AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|x86.ActiveCfg = Debug|Win32 {AA230639-E115-4A44-AA5A-44A61235BA50}.Debug|x86.ActiveCfg = Debug|Win32
{AA230639-E115-4A44-AA5A-44A61235BA50}.Release|Win32.ActiveCfg = Release|Win32 {AA230639-E115-4A44-AA5A-44A61235BA50}.Release|Win32.ActiveCfg = Release|Win32
{AA230639-E115-4A44-AA5A-44A61235BA50}.Release|Win32.Build.0 = Release|Win32 {AA230639-E115-4A44-AA5A-44A61235BA50}.Release|Win32.Build.0 = Release|Win32
{AA230639-E115-4A44-AA5A-44A61235BA50}.Release|x64.ActiveCfg = Release|x64 {AA230639-E115-4A44-AA5A-44A61235BA50}.Release|x64.ActiveCfg = Release|x64
{AA230639-E115-4A44-AA5A-44A61235BA50}.Release|x64.Build.0 = Release|x64 {AA230639-E115-4A44-AA5A-44A61235BA50}.Release|x64.Build.0 = Release|x64
{AA230639-E115-4A44-AA5A-44A61235BA50}.Release|x86.ActiveCfg = Release|Win32 {AA230639-E115-4A44-AA5A-44A61235BA50}.Release|x86.ActiveCfg = Release|Win32
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|Win32.ActiveCfg = Debug|x86 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|Win32.ActiveCfg = Debug|x86
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|x64.ActiveCfg = Debug|x64 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|x64.ActiveCfg = Debug|x64
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|x64.Build.0 = Debug|x64 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|x64.Build.0 = Debug|x64
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|x86.ActiveCfg = Debug|x86 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|x86.ActiveCfg = Debug|x86
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|x86.Build.0 = Debug|x86 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Debug|x86.Build.0 = Debug|x86
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|Win32.ActiveCfg = Release|x86 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|Win32.ActiveCfg = Release|x86
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|x64.ActiveCfg = Release|x64 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|x64.ActiveCfg = Release|x64
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|x64.Build.0 = Release|x64 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|x64.Build.0 = Release|x64
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|x86.ActiveCfg = Release|x86 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|x86.ActiveCfg = Release|x86
{E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|x86.Build.0 = Release|x86 {E24A4DC1-9B6F-4DA4-BD76-7D5FE73732BF}.Release|x86.Build.0 = Release|x86
EndGlobalSection EndGlobalSection
GlobalSection(SolutionProperties) = preSolution GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE HideSolutionNode = FALSE
EndGlobalSection EndGlobalSection
EndGlobal EndGlobal

View File

@ -1,85 +1,85 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup> <PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">x86</Platform> <Platform Condition=" '$(Platform)' == '' ">x86</Platform>
<ProductVersion>3.10</ProductVersion> <ProductVersion>3.10</ProductVersion>
<ProjectGuid>e24a4dc1-9b6f-4da4-bd76-7d5fe73732bf</ProjectGuid> <ProjectGuid>e24a4dc1-9b6f-4da4-bd76-7d5fe73732bf</ProjectGuid>
<SchemaVersion>2.0</SchemaVersion> <SchemaVersion>2.0</SchemaVersion>
<OutputName>BonjourQuickLooks</OutputName> <OutputName>BonjourQuickLooks</OutputName>
<OutputType>Package</OutputType> <OutputType>Package</OutputType>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath> <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' AND '$(MSBuildExtensionsPath32)' != '' ">$(MSBuildExtensionsPath32)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath> <WixTargetsPath Condition=" '$(WixTargetsPath)' == '' ">$(MSBuildExtensionsPath)\Microsoft\WiX\v3.x\Wix.targets</WixTargetsPath>
<Name>BonjourQuickLooksInstaller</Name> <Name>BonjourQuickLooksInstaller</Name>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath> <IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants> <DefineConstants>Debug</DefineConstants>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath> <IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x64' ">
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath> <IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
<DefineConstants>Debug</DefineConstants> <DefineConstants>Debug</DefineConstants>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' "> <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x64' ">
<OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath> <OutputPath>bin\$(Platform)\$(Configuration)\</OutputPath>
<IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath> <IntermediateOutputPath>obj\$(Platform)\$(Configuration)\</IntermediateOutputPath>
</PropertyGroup> </PropertyGroup>
<ItemGroup> <ItemGroup>
<Compile Include="Product.wxs" /> <Compile Include="Product.wxs" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ProjectReference Include="..\..\Clients\DNS-SD.VisualStudio\dns-sd.vcxproj"> <ProjectReference Include="..\..\Clients\DNS-SD.VisualStudio\dns-sd.vcxproj">
<Name>dns-sd</Name> <Name>dns-sd</Name>
<Project>{aa230639-e115-4a44-aa5a-44a61235ba50}</Project> <Project>{aa230639-e115-4a44-aa5a-44a61235ba50}</Project>
<Private>True</Private> <Private>True</Private>
<DoNotHarvest>True</DoNotHarvest> <DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups> <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir> <RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\DLL\dnssd.vcxproj"> <ProjectReference Include="..\DLL\dnssd.vcxproj">
<Name>DLL</Name> <Name>DLL</Name>
<Project>{ab581101-18f0-46f6-b56a-83a6b1ea657e}</Project> <Project>{ab581101-18f0-46f6-b56a-83a6b1ea657e}</Project>
<Private>True</Private> <Private>True</Private>
<DoNotHarvest>True</DoNotHarvest> <DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups> <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir> <RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\mdnsNSP\mdnsNSP.vcxproj"> <ProjectReference Include="..\mdnsNSP\mdnsNSP.vcxproj">
<Name>mdnsNSP</Name> <Name>mdnsNSP</Name>
<Project>{f4f15529-f0eb-402f-8662-73c5797ee557}</Project> <Project>{f4f15529-f0eb-402f-8662-73c5797ee557}</Project>
<Private>True</Private> <Private>True</Private>
<DoNotHarvest>True</DoNotHarvest> <DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups> <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir> <RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference> </ProjectReference>
<ProjectReference Include="..\SystemService\Service.vcxproj"> <ProjectReference Include="..\SystemService\Service.vcxproj">
<Name>mDNSResponder</Name> <Name>mDNSResponder</Name>
<Project>{c1d98254-ba27-4427-a3be-a68ca2cc5f69}</Project> <Project>{c1d98254-ba27-4427-a3be-a68ca2cc5f69}</Project>
<Private>True</Private> <Private>True</Private>
<DoNotHarvest>True</DoNotHarvest> <DoNotHarvest>True</DoNotHarvest>
<RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups> <RefProjectOutputGroups>Binaries;Content;Satellites</RefProjectOutputGroups>
<RefTargetDir>INSTALLFOLDER</RefTargetDir> <RefTargetDir>INSTALLFOLDER</RefTargetDir>
</ProjectReference> </ProjectReference>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<WixExtension Include="WixFirewallExtension"> <WixExtension Include="WixFirewallExtension">
<HintPath>$(WixExtDir)\WixFirewallExtension.dll</HintPath> <HintPath>$(WixExtDir)\WixFirewallExtension.dll</HintPath>
<Name>WixFirewallExtension</Name> <Name>WixFirewallExtension</Name>
</WixExtension> </WixExtension>
</ItemGroup> </ItemGroup>
<Import Project="$(WixTargetsPath)" /> <Import Project="$(WixTargetsPath)" />
<!-- <!--
To modify your build process, add your task inside one of the targets below and uncomment it. To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Wix.targets. Other similar extension points exist, see Wix.targets.
<Target Name="BeforeBuild"> <Target Name="BeforeBuild">
</Target> </Target>
<Target Name="AfterBuild"> <Target Name="AfterBuild">
</Target> </Target>
--> -->
</Project> </Project>