--- a/telephonyserverplugins/simtsy/src/CSimContextHelper.cpp Tue Jul 06 15:36:38 2010 +0300
+++ b/telephonyserverplugins/simtsy/src/CSimContextHelper.cpp Wed Aug 18 10:57:47 2010 +0300
@@ -111,8 +111,6 @@
(aContextConfigLHS.iProtocolConfigOption.iAuthProtocol != aContextConfigRHS.iProtocolConfigOption.iAuthProtocol) ||
(aContextConfigLHS.iProtocolConfigOption.iUsername.Compare(aContextConfigRHS.iProtocolConfigOption.iUsername) != 0) ||
(aContextConfigLHS.iProtocolConfigOption.iPassword.Compare(aContextConfigRHS.iProtocolConfigOption.iPassword) != 0) ||
- (aContextConfigLHS.iProtocolConfigOption.iChallenge.Compare(aContextConfigRHS.iProtocolConfigOption.iChallenge) != 0) ||
- (aContextConfigLHS.iProtocolConfigOption.iResponse.Compare(aContextConfigRHS.iProtocolConfigOption.iResponse) != 0) ||
// These line are commented as these parameters currently are usually returned by the network and not required for
// setting the context configuration
// (aContextConfigLHS.iProtocolConfigOption.iPrimaryDNS.Compare(aContextConfigRHS.iProtocolConfigOption.iPrimaryDNS) != 0) ||
@@ -120,9 +118,19 @@
(aContextConfigLHS.iProtocolConfigOption.iId != aContextConfigRHS.iProtocolConfigOption.iId) ||
(aContextConfigLHS.iPdpHeaderCompression != aContextConfigRHS.iPdpHeaderCompression) ||
(aContextConfigLHS.iPdpDataCompression != aContextConfigRHS.iPdpDataCompression))
- {
+ // challenge is generated randomly and response is generated using MD5 in CHAP protocol, so it is not possible to check
+ {
return EFalse;
}
+ else if (aContextConfigLHS.iProtocolConfigOption.iAuthProtocol != RPacketContext::EProtocolCHAP)
+ {// if not CHAP we still try to check challenge and response just in case
+ if ((aContextConfigLHS.iProtocolConfigOption.iChallenge.Compare(aContextConfigRHS.iProtocolConfigOption.iChallenge) != 0) ||
+ (aContextConfigLHS.iProtocolConfigOption.iResponse.Compare(aContextConfigRHS.iProtocolConfigOption.iResponse) != 0))
+ {
+ return EFalse;
+ }
+ }
+
// else considered equal.
return ETrue;