tcpiputils/dnd/src/resolver.cpp
branchRCL_3
changeset 22 8d540f55e491
parent 21 abbed5a4b42a
--- a/tcpiputils/dnd/src/resolver.cpp	Tue Aug 31 16:45:15 2010 +0300
+++ b/tcpiputils/dnd/src/resolver.cpp	Wed Sep 01 12:33:58 2010 +0100
@@ -328,6 +328,7 @@
 	TUint8 iQueryStepRetries;		//< Additional retries after the primary attempt
 	TInt iSourceCount;				//< Remaining number of sources.
 	TInt iNext;						//< Non-zero, if executing Next operation
+	TBool iSuffixSupportEnabled;	//< Flag to switch on/off the domain suffix list support in name resolution
 
 	// Specify Current Query state
 
@@ -841,7 +842,7 @@
 			iId, (TInt)iCurrentQuery().iSession, (TInt)iProbe.iQType, &iProbe.iName, (TInt)iProbe.iSession->Instance())); 
 		// Use the current query as a probe starting point
 		//(void)iProbe.iSession->NewQuery(*iSession[0].iSession);
-		(void)iProbe.iSession->NewQuery(iCurrentQuery(),iSourceNow,iQueryFlags | KDnsModifier_PQ);
+		(void)iProbe.iSession->NewQuery(iCurrentQuery(),iSourceNow,iQueryFlags | KDnsModifier_PQ, iSuffixSupportEnabled);
 		
 		// initialize server (which is not tried)
 		(void)iProbe.iSession->PickDefaultServer();
@@ -1111,6 +1112,7 @@
 	ASSERT(iQueryDoneWait == 0);
 	
 	iBuffer = aMsg;
+	iSuffixSupportEnabled = cf.iSuffixSupportEnabled;
 	//
 	// A new command/query from the application
 	//
@@ -1381,7 +1383,7 @@
 			iResolver->iId, iResolver->iCurrentQuery().iSession, (TInt)iQType, &iName, (TInt)iSession->Instance()));
 		// ..if NewQuery returns an error, it will be the result of the query. Otherwise
 		// use the KErrEof as initial value.
-		iStatus = iSession->NewQuery(iResolver->iCurrentQuery(), iResolver->iSourceNow, iResolver->iQueryFlags);
+		iStatus = iSession->NewQuery(iResolver->iCurrentQuery(), iResolver->iSourceNow, iResolver->iQueryFlags, iResolver->iSuffixSupportEnabled);
 		if (iStatus == KErrNone)
 			iStatus = KErrEof;	// No content yet.
 #ifdef SYMBIAN_DNS_PUNYCODE
@@ -1628,7 +1630,7 @@
 		// queries if the filter iLockId cannot be determined due to
 		// missing interfaces. And only happens if query address was
 		// without scope id.
-		(void)iSession->NewQuery(iResolver->iCurrentQuery(), iResolver->iSourceNow, iResolver->iQueryFlags);
+		(void)iSession->NewQuery(iResolver->iCurrentQuery(), iResolver->iSourceNow, iResolver->iQueryFlags, iResolver->iSuffixSupportEnabled);
 		SendDnsQuery();
 		return;
 		}