Merge fixes for bug 1894 and bug 3108. RCL_3 PDK_3.0.1
authorPat Downey <patd@symbian.org>
Tue, 13 Jul 2010 17:13:53 +0100
branchRCL_3
changeset 44 87bcfc2c9c1e
parent 40 d566d76acea1 (diff)
parent 35 f44b73583a2f (current diff)
child 54 36cc450aad12
Merge fixes for bug 1894 and bug 3108.
--- a/linklayercontrol/networkinterfacemgr/agentprcore/src/CAgentAdapter.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/linklayercontrol/networkinterfacemgr/agentprcore/src/CAgentAdapter.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -155,12 +155,9 @@
         {
         iAgent->CancelReconnect();
         }
-    // Issue disconnect only if agent is not already disconneting state
-    else if (iAgentState != EDisconnecting)
-        {	
-        iAgentState = EDisconnecting;
-        iAgent->Disconnect(aReason);
-        }
+        
+    iAgentState = EDisconnecting;
+    iAgent->Disconnect(aReason);
     }
 
 
@@ -310,9 +307,7 @@
             }
         else
             {
-            iLastProgress.iError = aStatus;
-            // Set the agent state to EDisconnecting
-            iAgentState = EDisconnecting;
+            iLastProgress.iError = aStatus;            
             iAgent->Disconnect(aStatus);
             }
         }
--- a/linklayercontrol/networkinterfacemgr/netcfgext/inc/netcfgextnotify.h	Fri Jun 25 15:40:16 2010 +0100
+++ b/linklayercontrol/networkinterfacemgr/netcfgext/inc/netcfgextnotify.h	Tue Jul 13 17:13:53 2010 +0100
@@ -38,6 +38,7 @@
 	   MNifIfNotify interface
 	   Only IfProgress, DoReadDes and DoReadInt supported.
 	*/
+	~CNetCfgExtNotify();
 	void LinkLayerDown(TInt aReason, TAction aAction);
 	void LinkLayerUp();
     void NegotiationFailed(CNifIfBase* aIf, TInt aReason);
--- a/linklayercontrol/networkinterfacemgr/netcfgext/src/netcfgextnotify.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/linklayercontrol/networkinterfacemgr/netcfgext/src/netcfgextnotify.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -35,11 +35,19 @@
 	{
 	}
 
+CNetCfgExtNotify::~CNetCfgExtNotify()
+    {
+    iScpr = NULL;
+    }
+
 void CNetCfgExtNotify::IfProgress(TInt aStage, TInt aError)
 	{
 	TStateChange change(aStage, aError);
+	if(iScpr)
+	    {
 	RClientInterface::OpenPostMessageClose(iScpr->Id(), iScpr->Id(),
 		TCFMessage::TStateChange(change).CRef());
+	    }
 	}
 
 TInt CNetCfgExtNotify::DoReadInt(const TDesC& aField, TUint32& aValue,const RMessagePtr2* /*aMessage*/)
--- a/networkcontrol/commsuserpromptmgr/state/src/netupsstatemachine.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkcontrol/commsuserpromptmgr/state/src/netupsstatemachine.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -71,27 +71,71 @@
 	// Note the order in which the states are instantiated must match the 
 	// order in which they are defined in the enumeration TNetUpsState - or a panic will occur.
 
-	iState.Append(CState::NewL(ENull, *this));	
+	CState* state=CState::NewL(ENull, *this);
+		
+	CleanupStack::PushL(state);
+	iState.AppendL(state);
+	CleanupStack::Pop(state);
+		
 	switch(iNetUpsImpl.LifeTimeMode())
 		{
+			
 		case CNetUpsImpl::EProcessLifeTimeMode:
 			{
-			iState.Append(CState::NewL(EProcLife_NonSession, *this));			
-			iState.Append(CState::NewL(EProcLife_Transit_SessionYes, *this)); // a transient state is entered when the UPS Server responds with either SessionYes or SessionNo and there are 1 or more UPS requests outstanding to other subsessions which are associated with the same process.			
-			iState.Append(CState::NewL(EProcLife_SessionYes, *this));
-			iState.Append(CState::NewL(EProcLife_Transit_SessionNo, *this));
-			iState.Append(CState::NewL(EProcLife_SessionNo, *this));
+			CState* stateone= CState::NewL(EProcLife_NonSession, *this);
+			CleanupStack::PushL(stateone);
+			iState.AppendL(stateone);	
+			
+			CState* statetwo = CState::NewL(EProcLife_Transit_SessionYes, *this);
+			CleanupStack::PushL(statetwo);
+			iState.AppendL(statetwo); // a transient state is entered when the UPS Server responds with either SessionYes or SessionNo and there are 1 or more UPS requests outstanding to other subsessions which are associated with the same process.			
+			
+			CState* statethree = CState::NewL(EProcLife_SessionYes, *this);
+			CleanupStack::PushL(statethree);
+			iState.AppendL(statethree);
+			
+			CState* statefour = CState::NewL(EProcLife_Transit_SessionNo, *this);
+			CleanupStack::PushL(statefour);
+			iState.AppendL(statefour);
+			
+			CState* statefive = CState::NewL(EProcLife_SessionNo, *this);
+			CleanupStack::PushL(statefive);
+			iState.AppendL(statefive);
+			
+			CleanupStack::Pop(5);
 			break;
 			}
 		case CNetUpsImpl::ENetworkLifeTimeMode:
 			{
-			iState.Append(CState::NewL(ENetLife_NonSession, *this));			
-			iState.Append(CState::NewL(ENetLife_SessionNo_Transit_WithoutConnections, *this));			
-			iState.Append(CState::NewL(ENetLife_SessionNo_WithOutConnections, *this));
-			iState.Append(CState::NewL(ENetLife_SessionNo_Transit_WithConnections, *this));
-			iState.Append(CState::NewL(ENetLife_SessionNo_WithConnections, *this));
-			iState.Append(CState::NewL(ENetLife_Transit_SessionYes, *this));
-			iState.Append(CState::NewL(ENetLife_SessionYes, *this));
+			CState* stateone = CState::NewL(EProcLife_NonSession, *this);
+			CleanupStack::PushL(stateone);
+			iState.AppendL(stateone);
+			
+			CState* statetwo = CState::NewL(ENetLife_SessionNo_Transit_WithoutConnections, *this);
+			CleanupStack::PushL(statetwo);
+			iState.AppendL(statetwo);		
+			
+			CState* statethree = CState::NewL(ENetLife_SessionNo_WithOutConnections, *this);
+			CleanupStack::PushL(statethree);
+			iState.AppendL(statethree);
+			
+			CState* statefour = CState::NewL(ENetLife_SessionNo_Transit_WithConnections, *this);
+			CleanupStack::PushL(statefour);
+			iState.AppendL(statefour);
+			
+			CState* statefive = CState::NewL(ENetLife_SessionNo_WithConnections, *this);
+			CleanupStack::PushL(statefive);
+			iState.AppendL(statefive);
+			
+			CState* statesix = CState::NewL(ENetLife_Transit_SessionYes, *this);
+			CleanupStack::PushL(statesix);
+			iState.AppendL(statesix);
+								
+			CState* stateseven = CState::NewL(ENetLife_SessionYes, *this);
+			CleanupStack::PushL(stateseven);
+			iState.AppendL(stateseven);
+			
+			CleanupStack::Pop(7);
 			break;				
 			}
 		default:
--- a/networkcontrol/ipnetworklayer/addressinfohook/src/hookaddrinfo.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkcontrol/ipnetworklayer/addressinfohook/src/hookaddrinfo.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -38,8 +38,10 @@
 EXPORT_C void CHookAddressInfo::AddL(CIPProtoBinder* aBinder, CSubConIPAddressInfoParamSet::TSubConIPAddressInfo& aAddrInfo)
 	{
 	TIpAddrBinder *addrBinder =  new(ELeave) TIpAddrBinder(aBinder, aAddrInfo);
-	
-	iAddrInfo.Append(addrBinder);
+
+	CleanupStack::PushL(addrBinder);
+	iAddrInfo.AppendL(addrBinder);
+	CleanupStack::Pop(addrBinder);
 
 	//Try match the address info to existing flows	
 	TDblQueIter<CAddressInfoFlowInfo> iter(*iFlows);
--- a/networkcontrol/ipnetworklayer/inc/IPProtoCPR.h	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkcontrol/ipnetworklayer/inc/IPProtoCPR.h	Tue Jul 13 17:13:53 2010 +0100
@@ -194,6 +194,7 @@
 	TBool iLinkUp:1;
 	TBool iConnectionControlActivity:1;
 	TBool iTimerExpired:1;
+	TBool iTimerStopped:1;
 	TBool iTimerRunning:1;
 	TBool iSubConnEventDataSent:1;	// Hack to cope with multiple DataClientStatusChange notifications for 'stopped'
 	TBool iNodeLocalExtensionsCreated;
--- a/networkcontrol/ipnetworklayer/inc/ipprotodeftscpr.h	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkcontrol/ipnetworklayer/inc/ipprotodeftscpr.h	Tue Jul 13 17:13:53 2010 +0100
@@ -103,6 +103,8 @@
 	CNifConfigurationControl* iControl;
     Messages::RNodeInterface iFlow;
 	TBool iIoctlCancelled;
+public:
+	TBool iNetworkConfigurationState;
 	};
 
 #endif //SYMBIAN_IPPROTODEFTSCPR_H
--- a/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -757,6 +757,7 @@
 	if (!iTimerExpired)
 		{
 		iTimerExpired = ETrue;
+		iTimerStopped =  ETrue; 
 		CancelTimer();
 		if (CountActivities(ECFActivityStop) == 0 && CountActivities(ECFActivityDestroy) == 0)
 			{
--- a/networkcontrol/ipnetworklayer/src/IPProtoCprStates.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkcontrol/ipnetworklayer/src/IPProtoCprStates.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -150,7 +150,7 @@
 	// stop has been caused by timer expiry, remove self from originators list, because we
 	// are not waiting for TStopped and in certain situations it would arrive after the node has been
 	// destroyed
-	if (iContext.Node().iTimerExpired)
+	if (iContext.Node().iTimerStopped)
 		{
 		TInt selfidx = iContext.iNodeActivity->FindOriginator(iContext.Node().SelfInterface());
 		ASSERT(selfidx != KErrNotFound);
@@ -378,6 +378,7 @@
 	iContext.Node().SetUsageProfile(KConnProfileMedium);
 	iContext.Node().SetTimerMode(CIPProtoConnectionProvider::ETimerMedium);
 
+    iContext.Node().iTimerStopped = EFalse;
 	CoreNetStates::TSendStarted transition(iContext);
 	transition.DoL();
 	}
--- a/networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -164,7 +164,8 @@
 	 ALegacySubConnectionActiveApiExt(this),
 	 TIfStaticFetcherNearestInHierarchy(this),
 	 iNotify(NULL),
-	 iControl(NULL)
+	 iControl(NULL),
+	 iNetworkConfigurationState(EFalse)
     {
     LOG_NODE_CREATE(KIPProtoDeftScprTag, CIPProtoDeftSubConnectionProvider);
     }
@@ -195,10 +196,25 @@
 
 CIPProtoDeftSubConnectionProvider::~CIPProtoDeftSubConnectionProvider()
     {
+    // In case network is not configured i.e. AP might get close in case for WIFi for an example, DHCP registration
+    //will get failed. There is not point listening to such Progresses. So can notification and delete
+    //delete CNetCfgExtNotify pointer).
+   if(iNetworkConfigurationState == EFalse)
+       {
+       if(iNotify)
+           {
+           delete iNotify;
+           iNotify = NULL;
+           }
+       }
 	if (iControl)
 		delete iControl;
+	//incase registration is successful and Network is configured. 
 	if (iNotify)
+	    {
 		delete iNotify;
+		iNotify = NULL;
+		}
 
     LOG_NODE_DESTROY(KIPProtoDeftScprTag, CIPProtoDeftSubConnectionProvider);
     }
--- a/networkcontrol/ipnetworklayer/src/ipprotodeftscprstates.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkcontrol/ipnetworklayer/src/ipprotodeftscprstates.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -162,6 +162,7 @@
 
 	if (msg.iStateChange.iStage == KLinkLayerOpen)
 		{
+		iContext.Node().iNetworkConfigurationState = ETrue;
 		return KNetworkConfigured;
 		}
 
@@ -171,7 +172,11 @@
 DEFINE_SMELEMENT(TNetworkConfiguredOrErrorTagOrCancelTagOrNoTagBackward, NetStateMachine::MStateFork, IPProtoDeftSCpr::TContext)
 TInt IPProtoDeftSCpr::TNetworkConfiguredOrErrorTagOrCancelTagOrNoTagBackward::TransitionTag()
 	{
+	iContext.Node().iNetworkConfigurationState = EFalse;
 	TInt tag = IPProtoDeftSCpr::TNetworkConfiguredOrErrorTagOrCancelTagOrNoTag::TransitionTag();
+	
+
+
 	if (tag == KNoTag)
 		return tag | NetStateMachine::EBackward;
 	return tag;
--- a/networkprotocols/tcpipv4v6prt/inc/tcp.h	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkprotocols/tcpipv4v6prt/inc/tcp.h	Tue Jul 13 17:13:53 2010 +0100
@@ -620,7 +620,7 @@
 	void ProcessSegments();
 	void SendSegments(TBool aNagleOverride = EFalse);
 	void RetransmitTimeout();
-	void RetransmitSegments();
+	TBool RetransmitSegments();
 	void ClearSYNSettings();
 
 	/**
--- a/networkprotocols/tcpipv4v6prt/src/tcp_sap.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/networkprotocols/tcpipv4v6prt/src/tcp_sap.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -1684,7 +1684,8 @@
 		if (iFlags.iRetransmitPending)
 			{
 			iFlags.iRetransmitPending = EFalse;
-			RetransmitSegments();
+			if(RetransmitSegments())
+				return;
 			}
 
 		if (iFlags.iTransmitPending)
@@ -2288,7 +2289,12 @@
 		++iBackoff;
 		if (iRTO < Protocol()->MaxRTO())  // Avoid RTO overflow
 			ResetRTO();
-
+		
+		if(DetachIfDead())
+			{
+			Expire();
+			return;
+			}
 		//
 		// Timeout?
 		//
@@ -2403,7 +2409,7 @@
 //  - directly from RetransmitTimeout()
 //  - from CanSend(), in which case this is a delayed retransmission timeout
 //
-void CProviderTCP6::RetransmitSegments()
+TBool CProviderTCP6::RetransmitSegments()
 	{
 	ASSERT(iRetransTimer);
 
@@ -2419,7 +2425,7 @@
 		{
 		LOG(Log::Printf(_L("\ttcp SAP[%u] RetransmitSegments(): Flow pending"), (TInt)this));
 		ReSchedRetransmit();
-		return;
+		return EFalse;
 		}
 
 	//
@@ -2477,14 +2483,14 @@
 			// the receiver suddenly shrinks its window. The current solution covers
 			// both cases.
 			//
-			return;
+			return EFalse;
 			}
 
 		//
 		// This is a retransmit timout. Do we have anything to do?
 		//
 		if (!unacked)
-			return;
+			return EFalse;
 
 		LOG(if (iFlags.iFastRetransMode) Log::Printf(_L("\ttcp SAP[%u] RetransmitSegments(): Leaving FAST RETRANS mode"), (TInt)this));
 		iFlags.iFastRetransMode = EFalse;
@@ -2557,7 +2563,7 @@
 		// If the server doesn't respond because of broken NAT/FW or other, don't keep interface up.
 		if (InState(ETcpFinWait1|ETcpClosing|ETcpLastAck))
 			DetachIfDead();
-		return;
+		return EFalse;
 		}
 
 	//
@@ -2567,14 +2573,14 @@
 		{
 		// Retransmit SYN
 		SendSegment(KTcpCtlSYN, iSND.UNA);
-		return;
+		return EFalse;
 		}
 
 	if (InState(ETcpSynReceived))
 		{
 		// Retransmit SYN,ACK
 		SendSegment(KTcpCtlSYN|KTcpCtlACK, iSND.UNA);
-		return;
+		return EFalse;
 		}
 
 	if (InState(ETcpFinWait1|ETcpClosing|ETcpLastAck))
@@ -2584,18 +2590,22 @@
 	    //TSW error:JHAA-82JBNG -- FIN retransmission 
 		//Depending on the function return value the decision to
 	    //retransmitt FIN is decided
-
-		TBool continue_send = DetachIfDead();
+	
 		// Retransmit FIN
-		if(continue_send == EFalse)
+		if(DetachIfDead()== EFalse)
+			{
 			SendSegment(KTcpCtlFIN|KTcpCtlACK, iSND.UNA);
-		return;
+			return EFalse;
+			}
 		}
 
 	LOG(Log::Printf(_L("\ttcp SAP[%u] RetransmitSegments(): Retransmitter stopping"), (TInt)this));
 	if (!iSockFlags.iAttached)
+		{
 		Expire();
-	return;
+		return ETrue;
+		}
+	return EFalse;
 	}
 
 
--- a/networksecurity/ipsec/ipsecpol/src/ipsecpolmanhandler.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/networksecurity/ipsec/ipsecpol/src/ipsecpolmanhandler.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -1450,7 +1450,9 @@
 
     if (autoloadListItem != NULL)
         {
-        iScopedAutoloadPolicyPairs.Append(autoloadListItem);
+		CleanupStack::PushL(autoloadListItem);
+		iScopedAutoloadPolicyPairs.AppendL(autoloadListItem);
+		CleanupStack::Pop(autoloadListItem);
         }
     }
 
--- a/networksecurity/ipsec/ipsecpol/src/ipsecpolmanutil.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/networksecurity/ipsec/ipsecpol/src/ipsecpolmanutil.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -73,7 +73,7 @@
             if (j==count)
                 {
                 TInt position = 0;
-                gatewayList.Insert( &itemL->iTunnel, position);
+                gatewayList.InsertL( &itemL->iTunnel, position);
 
                 // Build two strings for policy file
                 stringBuf.Zero();
--- a/tcpiputils/dhcp/src/DHCPStateMachine.cpp	Fri Jun 25 15:40:16 2010 +0100
+++ b/tcpiputils/dhcp/src/DHCPStateMachine.cpp	Tue Jul 13 17:13:53 2010 +0100
@@ -420,10 +420,29 @@
 	// how could we attempt to handle it anyway?...keep trying??? i think not...
 	// ensure that we have a socket to write down	
 	iSocket.Close();	
-	(void)iSocket.Open(iEsock, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection);
-	(void)iSocket.SetOpt(KSoInetConfigInterface, KSolInetIfCtrl, configInfo);	
-	// make socket invisible for interface counting
-	(void)iSocket.SetOpt(KSoKeepInterfaceUp, KSolInetIp, 0);
+	TInt error = iSocket.Open(iEsock, KAfInet, KSockDatagram, KProtocolInetUdp, iConnection);
+	
+    if(error == KErrNone)
+		{
+		error = iSocket.SetOpt(KSoInetConfigInterface, KSolInetIfCtrl, configInfo);
+		if(error == KErrNone)
+		    {	        
+		    // make socket invisible for interface counting
+		    error = iSocket.SetOpt(KSoKeepInterfaceUp, KSolInetIp, 0);
+		    if(error != KErrNone)
+		        {
+		        __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L("CDHCPStateMachine::RemoveConfiguredAddress, SetOpt Failed to set KSolInetIp")));   
+		        }
+		    }
+		else
+		    {
+		    __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L("CDHCPStateMachine::RemoveConfiguredAddress,SetOpt Failed to set KsolInetIfCtrl")));   
+		    }
+		}
+	else
+		{
+		__CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L("CDHCPStateMachine::RemoveConfiguredAddress,Socket Open Failed: Due to %d"),error));	
+		}
 	}
 
 void CDHCPStateMachine::ConfigureInterfaceL( const TSoInet6InterfaceInfo& aInterfaceInfo )
--- a/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/Te_NaptConnection_target.xml	Fri Jun 25 15:40:16 2010 +0100
+++ b/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/Te_NaptConnection_target.xml	Tue Jul 13 17:13:53 2010 +0100
@@ -822,7 +822,7 @@
 		<IfNetworks>ip</IfNetworks>
 		<IpNetMask>255.255.255.0</IpNetMask>
 		<IpGateway>10.32.194.254</IpGateway>
-		<IpAddr>10.225.164.209</IpAddr>
+		<IpAddr>10.225.171.70</IpAddr>
 		<IpAddrFromServer>TRUE</IpAddrFromServer>
 		<IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
 		<IpNameServer1>194.72.6.51</IpNameServer1>
--- a/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/Te_NaptConnection_winscw.xml	Fri Jun 25 15:40:16 2010 +0100
+++ b/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/Te_NaptConnection_winscw.xml	Tue Jul 13 17:13:53 2010 +0100
@@ -822,7 +822,7 @@
 		<IfNetworks>ip</IfNetworks>
 		<IpNetMask>255.255.255.0</IpNetMask>
 		<IpGateway>10.32.194.254</IpGateway>
-		<IpAddr>10.253.27.249</IpAddr>
+		<IpAddr>10.225.171.70</IpAddr>
 		<IpAddrFromServer>TRUE</IpAddrFromServer>
 		<IpDNSAddrFromServer>TRUE</IpDNSAddrFromServer>
 		<IpNameServer1>194.72.6.51</IpNameServer1>
--- a/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/te_naptconfig_target.ini	Fri Jun 25 15:40:16 2010 +0100
+++ b/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/te_naptconfig_target.ini	Tue Jul 13 17:13:53 2010 +0100
@@ -4,7 +4,7 @@
 
 [General]
 NaptStatus=On
-NaptTestServer=10.225.164.210
+NaptTestServer=10.225.171.71
 NaptTestServerPort=48555
 EthIPAddr=10.192.192.79
 EchoPort = 7
--- a/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/te_naptconfig_winscw.ini	Fri Jun 25 15:40:16 2010 +0100
+++ b/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/te_naptconfig_winscw.ini	Tue Jul 13 17:13:53 2010 +0100
@@ -4,7 +4,7 @@
 
 [General]
 NaptStatus=On
-NaptTestServer=10.253.27.250
+NaptTestServer=10.225.171.71
 NaptTestServerPort=48555
 EthIPAddr=10.192.192.79
 EchoPort = 7