201025_01
authorhgs
Tue, 29 Jun 2010 19:20:22 +0530
changeset 37 052078dda061
parent 18 39bb7c3571e9
child 38 12beb06aab5b
201025_01
build.config.xml
esockapiextensions/internetsockets/group/sockerr.ra
esockapiextensions/internetsockets/group/tcperr.ra
linklayercontrol/networkinterfacemgr/agentprcore/inc/tunnelagentcpr.h
linklayercontrol/networkinterfacemgr/agentprcore/src/agentscpractivities.cpp
linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcpr.cpp
linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcprstates.cpp
linklayercontrol/networkinterfacemgr/eabi/agentprcoreU.def
linklayercontrol/networkinterfacemgr/group/BLD.INF
linklayercontrol/networkinterfacemgr/group/agentpr.mmp
linklayercontrol/networkinterfacemgr/group/agentprcore.mmp
linklayercontrol/networkinterfacemgr/group/bld.inf
linklayercontrol/nullagt/src/NullAgent.cpp
linklayerprotocols/ethernetnif/EthInt/Ethbase.cpp
linklayerprotocols/ethernetnif/eabi/ethprotou.def
linklayerprotocols/ethernetnif/group/BLD.INF
linklayerprotocols/ethernetnif/group/bld.inf
linklayerprotocols/ethernetpacketdriver/group/Bld.inf
linklayerprotocols/ethernetpacketdriver/group/bld.inf
linklayerprotocols/pppnif/eabi/pppmainU.DEF
linklayerprotocols/pppnif/group/BLD.INF
linklayerprotocols/pppnif/group/bld.inf
linklayerprotocols/slipnif/group/BLD.INF
linklayerprotocols/slipnif/group/bld.inf
linklayerprotocols/tunnelnif/group/BLD.INF
linklayerprotocols/tunnelnif/group/bld.inf
networkcontrol/commsuserpromptmgr/state/src/netupsstatemachine.cpp
networkcontrol/ipcpr/group/bld.inf
networkcontrol/ipcpr/group/ipcpr.iby
networkcontrol/ipcpr/group/ipcpr.mmp
networkcontrol/ipcpr/group/networking_ipcpr.history.xml
networkcontrol/ipcpr/group/networking_ipcpr.mrp
networkcontrol/ipcpr/inc/MAppIdInfo.h
networkcontrol/ipcpr/inc/ipcprfactory.h
networkcontrol/ipcpr/inc/ipcprprovider.h
networkcontrol/ipcpr/src/102070ED.rss
networkcontrol/ipcpr/src/ipcprfactory.cpp
networkcontrol/ipcpr/src/ipcprprovider.cpp
networkcontrol/ipcprshim/group/bld.inf
networkcontrol/ipcprshim/group/networking_shimcpr.history.xml
networkcontrol/ipcprshim/group/networking_shimcpr.mrp
networkcontrol/ipcprshim/group/shimcpr.iby
networkcontrol/ipcprshim/group/shimcpr.mmp
networkcontrol/ipcprshim/inc/shimclient.h
networkcontrol/ipcprshim/inc/shimconnsettings.h
networkcontrol/ipcprshim/inc/shimcpr.h
networkcontrol/ipcprshim/inc/shimcprfactory.h
networkcontrol/ipcprshim/inc/shimdatatransfer.h
networkcontrol/ipcprshim/inc/shimnifmansconn.h
networkcontrol/ipcprshim/src/102070FD.rss
networkcontrol/ipcprshim/src/connectionSelectorShim.cpp
networkcontrol/ipcprshim/src/connectionSelectorShim.h
networkcontrol/ipcprshim/src/shimclient.cpp
networkcontrol/ipcprshim/src/shimconnsettings.cpp
networkcontrol/ipcprshim/src/shimcpr.cpp
networkcontrol/ipcprshim/src/shimcprfactory.cpp
networkcontrol/ipcprshim/src/shimdatatransfer.cpp
networkcontrol/ipcprshim/src/shimnifmansconn.cpp
networkcontrol/ipnetworklayer/addressinfohook/src/hookaddrinfo.cpp
networkcontrol/ipnetworklayer/inc/IPProtoSCPRStates.h
networkcontrol/ipnetworklayer/inc/ipprotodeftscprstates.h
networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp
networkcontrol/ipnetworklayer/src/IPProtoSCPRFactory.cpp
networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp
networkcontrol/ipscpr/group/basicipscpr.mmp
networkcontrol/ipscpr/group/bld.inf
networkcontrol/ipscpr/group/ipscpr.iby
networkcontrol/ipscpr/group/ipscpr.mmh
networkcontrol/ipscpr/group/ipscpr.mmp
networkcontrol/ipscpr/group/networking_ipscpr.history.xml
networkcontrol/ipscpr/group/networking_ipscpr.mrp
networkcontrol/ipscpr/inc/asyncwriter.h
networkcontrol/ipscpr/inc/deft_scpr.h
networkcontrol/ipscpr/inc/ip_subconparams.h
networkcontrol/ipscpr/inc/ip_subconparams.inl
networkcontrol/ipscpr/inc/ipscpr.h
networkcontrol/ipscpr/src/10204307.rss
networkcontrol/ipscpr/src/102752C4.rss
networkcontrol/ipscpr/src/asyncwriter.cpp
networkcontrol/ipscpr/src/deft_scpr.cpp
networkcontrol/ipscpr/src/ip_subconparams.cpp
networkcontrol/ipscpr/src/ipscpr.cpp
networkcontrol/ipscpr/src/ipscprlog.cpp
networkcontrol/ipscpr/src/ipscprlog.h
networkcontrol/ipscpr/src/qos_msg.cpp
networkcontrol/ipscpr/src/qos_msg.h
networkcontrol/ipscpr/src/qos_msg.inl
networkcontrol/iptransportlayer/src/ipcprups_activities.cpp
networkcontrol/iptransportlayer/src/ipdeftbasescpr.cpp
networkcontrol/iptransportlayer/src/netmcpr.cpp
networkcontrol/ipupsplugins/dialogcreator/bwins/ipupsdialogu.def
networkcontrol/ipupsplugins/dialogcreator/eabi/ipupsdialogu.def
networkcontrol/ipupsplugins/dialogcreator/group/bld.inf
networkcontrol/ipupsplugins/dialogcreator/group/ipupsdialog.iby
networkcontrol/ipupsplugins/dialogcreator/group/ipupsdialog.mmp
networkcontrol/ipupsplugins/dialogcreator/inc/ipupsconst.h
networkcontrol/ipupsplugins/dialogcreator/inc/ipupsdialog.h
networkcontrol/ipupsplugins/dialogcreator/resource/10285A7B.rss
networkcontrol/ipupsplugins/dialogcreator/source/ipupsconst.cpp
networkcontrol/ipupsplugins/dialogcreator/source/ipupsdialog.cpp
networkcontrol/ipupsplugins/group/bld.inf
networkcontrol/ipupsplugins/group/networking_ipups.mrp
networkcontrol/ipupsplugins/policyfile/ups_101F7989_10281DD8.rss
networkcontrol/ipupsplugins/test/te_ipups/data/te_ipups.ini
networkcontrol/ipupsplugins/test/te_ipups/group/te_ipups.iby
networkcontrol/ipupsplugins/test/te_ipups/group/te_ipups.mmp
networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_delete_decision_db.h
networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_notify_count.h
networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_server.h
networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_stepbase.h
networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_ups_step.h
networkcontrol/ipupsplugins/test/te_ipups/policyfile/ups_10285B91_10281DD8.rss
networkcontrol/ipupsplugins/test/te_ipups/policyfile/ups_test_always_101F7989_10281DD8.rss
networkcontrol/ipupsplugins/test/te_ipups/scripts/te_ipups.script
networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_delete_decision_db.cpp
networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_notify_count.cpp
networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_server.cpp
networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_stepbase.cpp
networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_ups_step.cpp
networkcontrol/qosfwconfig/qostest/te_qos/configs/CIT_P192_Qos_config.txt
networkcontrol/qosfwconfig/qostest/te_qos/configs/CIT_P192_Qos_config1.txt
networkcontrol/qosfwconfig/qostest/te_qos/configs/CIT_P192_Qos_config_noqospolicy.txt
networkcontrol/qosfwconfig/qostest/te_qos/configs/te_QoSSuite_Mesh_pdpcpr.cfg
networkcontrol/qosfwconfig/qostest/te_qos/configs/te_QoSSuite_simtsy.txt
networkcontrol/qosfwconfig/qostest/te_qos/group/bld.inf
networkcontrol/qosipscpr/inc/ip_subconparams.h
networkingsrv_info/networkingrom/group/NetworkTest.iby
networkingtestandutils/exampleinternetutilities/PING/PING.CPP
networkingtestandutils/exampleinternetutilities/PINGENG/PINGENG.CPP
networkingtestandutils/exampleinternetutilities/TFTP/TFTP.CPP
networkingtestandutils/exampleinternetutilities/TFTPENG/TFTPENG.CPP
networkingtestandutils/exampleinternetutilities/TRACERT/TRACERT.CPP
networkingtestandutils/exampleinternetutilities/TRENG/TRENG.CPP
networkingtestandutils/exampleinternetutilities/group/BLD.INF
networkingtestandutils/exampleinternetutilities/group/bld.inf
networkingtestandutils/ipprobe/group/bld.inf
networkingtestandutils/ipprobe/group/networking_probe.mrp
networkingtestandutils/ipprobe/group/probe.iby
networkingtestandutils/ipprobe/group/probe.mmp
networkingtestandutils/ipprobe/inc/family.h
networkingtestandutils/ipprobe/inc/prt.h
networkingtestandutils/ipprobe/inc/sap.h
networkingtestandutils/ipprobe/src/family.cpp
networkingtestandutils/ipprobe/src/prt.cpp
networkingtestandutils/ipprobe/src/sap.cpp
networkingtestandutils/networkingexamples/examplecode/inetd/group/BLD.INF
networkingtestandutils/networkingexamples/examplecode/inetd/group/bld.inf
networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/CIT_P635_simtsy_config1.txt
networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/CIT_P635_simtsy_config2.txt
networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/te_dedicatedsignalling1ryctx_changedsid_pdpcpr.cfg
networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/te_dedicatedsignalling1ryctx_imssi_pdpcpr.cfg
networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/te_dedicatedsignalling1ryctx_nosid_pdpcpr.cfg
networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/te_dedicatedsignalling1ryctx_pdpcpr.cfg
networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/group/bld.inf
networkingtestandutils/networkingintegrationtest/te_Sblp/configs/te_SblpSuite_simtsy.txt
networkingtestandutils/networkingintegrationtest/te_Sblp/configs/te_Sblp_Mesh_pdpcpr.cfg
networkingtestandutils/networkingintegrationtest/te_Sblp/group/bld.inf
networkingtestandutils/networkingintegrationtest/te_Sblp/group/te_SblpSuite.iby
networkingtestandutils/networkingunittest/bwins/nifman_v8xaU.def
networkingtestandutils/networkingunittest/bwins/t_dummynifman_v8xaU.def
networkingtestandutils/networkingunittest/dummynif_params/group/dummynif_params.mmp
networkingtestandutils/networkingunittest/group/BLD.INF
networkingtestandutils/networkingunittest/group/DummyNifProtos.mmp
networkingtestandutils/networkingunittest/group/bld.inf
networkingtestandutils/networkingunittest/tdummyetel/etelerr.ra
networkingtestandutils/networkingunittest/tdummyetel/faxerr.ra
networkingtestandutils/networkingunittest/tdummyetel/gsmerr.ra
networkprotocols/dnsproxy/test/group/t_dnsproxy.mmp
networkprotocols/ipeventnotifier/IPEventFactory/group/BLD.INF
networkprotocols/ipeventnotifier/IPEventFactory/group/IPEventFactory.iby
networkprotocols/ipeventnotifier/IPEventFactory/group/bld.inf
networkprotocols/ipeventnotifier/IPEventTypes/group/BLD.INF
networkprotocols/ipeventnotifier/IPEventTypes/group/IPEventTypes.iby
networkprotocols/ipeventnotifier/IPEventTypes/group/bld.inf
networkprotocols/ipeventnotifier/group/ipeventnotifier.iby
networkprotocols/ipeventnotifier/src/DHCPUnicastTranslator.cpp
networkprotocols/iphook/inhook6/data/tcpip6err.ra
networkprotocols/iphook/inhook6/eabi/inhook6U.DEF
networkprotocols/iphook/inhook6/eabi/inhook6_v1U.DEF
networkprotocols/iphook/inhook6/eabi/inhook6_v1u.def
networkprotocols/iphook/inhook6/eabi/inhook6u.def
networkprotocols/iphook/inhook6/group/inhook6.mmp
networkprotocols/tcpipv4v6prt/inc/tcp.h
networkprotocols/tcpipv4v6prt/src/tcp.cpp
networkprotocols/tcpipv4v6prt/src/tcp_sap.cpp
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_edge.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_gprs.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_hsdpa.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_umts.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_edge_gprs_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_edge_hsdpa_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_edge_umts_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_gprs_edge_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_gprs_hsdpa_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_gprs_umts_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_hsdpa_edge_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_hsdpa_gprs_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_hsdpa_umts_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_umts_edge_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_umts_gprs_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_umts_hsdpa_config.txt
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_gprs.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_gprs_user_set.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_hsdpa.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_umts.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_gprs_edge.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_gprs_hsdpa.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_gprs_umts.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_hsdpa_edge.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_hsdpa_gprs.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_hsdpa_umts.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_umts_edge.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_umts_gprs.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_umts_hsdpa.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_edge_gprs.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_edge_hsdpa.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_edge_umts.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_gprs_edge.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_gprs_hsdpa.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_gprs_umts.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_hsdpa_edge.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_hsdpa_gprs.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_hsdpa_umts.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_umts_edge.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_umts_gprs.script
networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_umts_hsdpa.script
networksecurity/ipsec/group/ipsec.iby
networksecurity/ipsec/ipsec6/group/ipsec6.iby
networksecurity/ipsec/ipsec6/include/crypto.h
networksecurity/ipsec/ipsec6/src/sa_crypt.cpp
networksecurity/ipsec/ipsec_itest/data/linux_trans-ca.cer
networksecurity/ipsec/ipsec_itest/data/linux_trans-peer.cer
networksecurity/ipsec/ipsec_itest/data/linux_trans-user.cer
networksecurity/ipsec/ipsec_itest/group/ts_ipsec.iby
networksecurity/ipsec/ipseccrypto/group/ipseccrypto.iby
networksecurity/ipsec/ipseccrypto/inc/ipseccrypto.h
networksecurity/ipsec/ipseccrypto/src/ipseccrypto_prt.cpp
networksecurity/ipsec/ipsecpol/group/ipsecpol.iby
networksecurity/ipsec/ipsecpol/src/ipsecpolmanhandler.cpp
networksecurity/ipsec/ipsecpol/src/ipsecpolmanutil.cpp
networksecurity/ipsec/te_ipsec/group/t_ipsec.mmp
networksecurity/ipsec/te_ipsec/inc/t_ipsecikev2.h
networksecurity/ipsec/te_ipsec/inc/t_ipsecmultiplesa.h
networksecurity/tls/group/BLD.INF
networksecurity/tls/group/SslErr.ra
networksecurity/tls/group/bld.inf
networksecurity/tls/test/codenomicon/TLS test wrapper/TestWrapper.cpp
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3alert.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3ccs.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3handshake.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs02.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs0b.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs0c.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs0d.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs0e.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs14.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs17.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls10.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls10handshake.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1alert.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1ccs.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs02.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs0b.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs0c.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs0d.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs0e.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs14.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs17.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1srccs.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1srhs02.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1srhs14.txt
networksecurity/tls/test/codenomicon/TLS test wrapper/tlsconfig.txt
networksecurity/tls/test/codenomicon/TlsClientTest/Bld.inf
networksecurity/tls/test/codenomicon/TlsClientTest/bld.nf
networksecurity/tls/test/te_tlsunittest/configs/te_tlsunittest.ini
networksecurity/tls/test/te_tlsunittest/group/bld.inf
networksecurity/tls/test/te_tlsunittest/group/te_tlsunittest.mmp
networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_3DES_EDE_CBC_SHA.ini
networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA.ini
networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA_NOCALLBACK.ini
networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_AES_256_CBC_SHA.ini
networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_RC4_128_SHA.ini
networksecurity/tls/ts_tls/scripts/TLS_RSA_WITH_NULL_MD5.ini
networksecurity/tls/ts_tls/scripts/TLS_RSA_WITH_NULL_SHA.ini
networksecurity/tls/ts_tls/scripts/TLS_SNE_MULTIPLE_SERVER.ini
networksecurity/tls/ts_tls/scripts/TLS_SNE_SINGLE_SERVER.ini
networksecurity/tls/ts_tls/scripts/TLS_SNE_SINGLE_SERVER_NEG.ini
networksecurity/tlsprovider/Test/data/EncryptionDataTLS_Export/DecryptionGeneratedMac.bin
networksecurity/tlsprovider/Test/data/EncryptionDataTLS_Export/DecryptionReceivedMac.bin
networksecurity/tlsprovider/Test/data/certificates/altsubjectmanynames/altsubjectmanynames.cer
networksecurity/tlsprovider/Test/data/certificates/altsubjectonename/altsubjectonename.cer
networksecurity/tlsprovider/Test/data/certificates/altsubjectwildcard/altsubjectwildcard.cer
networksecurity/tlsprovider/Test/data/certificates/commonname/commonname.cer
networksecurity/tlsprovider/Test/data/certificates/root.cer
networksecurity/tlsprovider/Test/group/TlsProvtestServer.mmp
networksecurity/tlsprovider/Test/tlstest2/data/altsubjectmanynames/altsubjectmanynames.cer
networksecurity/tlsprovider/Test/tlstest2/data/altsubjectonename/altsubjectonename.cer
networksecurity/tlsprovider/Test/tlstest2/data/altsubjectwildcard/altsubjectwildcard.cer
networksecurity/tlsprovider/Test/tlstest2/data/commonname/commonname.cer
networksecurity/tlsprovider/Test/tlstest2/data/commonnamedsa/commonnamedsa.cer
networksecurity/tlsprovider/Test/tlstest2/data/commonnamewildcard/commonnamewildcard.cer
networksecurity/tlsprovider/Test/tlstest2/data/dhe-3des-sha-1/commonnamedsa.cer
networksecurity/tlsprovider/Test/tlstest2/data/dhe-des-sha-1/commonnamedsa.cer
networksecurity/tlsprovider/Test/tlstest2/data/rdhe-3des-sha-1/commonname.cer
networksecurity/tlsprovider/Test/tlstest2/data/root.cer
networksecurity/tlsprovider/Test/tlstest2/data/rsa-3des-sha-1/commonname.cer
networksecurity/tlsprovider/Test/tlstest2/data/rsa-aes128-sha-1/commonname.cer
networksecurity/tlsprovider/Test/tlstest2/data/rsa-aes256-sha-1/commonname.cer
networksecurity/tlsprovider/Test/tlstest2/data/rsa-des-sha-1/commonname.cer
networksecurity/tlsprovider/Test/tlstest2/data/rsa-rc4-md5-1/commonname.cer
networksecurity/tlsprovider/Test/tlstest2/data/rsa-rc4-sha-1/commonname.cer
networksecurity/tlsprovider/Test/tlstest2/data/tlsclientauthrsachain/root.cer
networksecurity/tlsprovider/Test/tlstest2/data/tlsextendedkeyusage/EKUAbsent.pem
networksecurity/tlsprovider/Test/tlstest2/data/tlsextendedkeyusage/InvalidEKUPresent.pem
networksecurity/tlsprovider/Test/tlstest2/data/tlsextendedkeyusage/ValidEKUPresent.pem
networksecurity/tlsprovider/Test/tlstest2/data/tlssigningroot/root.cer
networksecurity/tlsprovider/Test/tlstest2/openssl_server_setting/root-cert.pem
networksecurity/tlsprovider/Test/tlstest2/scripts/tls_smoke.ini
networksecurity/tlsprovider/group/swtlstokentypeplugin.mmp
networksecurity/tlsprovider/group/tlsprovider.mmp
pppcompressionplugins/predictorcompression/group/BLD.INF
pppcompressionplugins/predictorcompression/group/bld.inf
tcpiputils/dhcp/group/DHCPServ.iby
tcpiputils/dhcp/group/NetCfgExtnDhcp.iby
tcpiputils/dhcp/src/DHCPIP4Control.cpp
tcpiputils/dhcp/src/DHCPIP6Control.cpp
tcpiputils/dhcp/src/DHCPStateMachine.cpp
tcpiputils/dhcp/te_dhcp/config/scripts/SIP_Server_simtsy_config.txt
tcpiputils/dhcp/te_dhcp/src/te_dhcpTestStep1.cpp
tcpiputils/dhcp/te_dhcp/te_dhcpTestServer.iby
tcpiputils/dhcp/te_unittest/dhcpservtest.cpp
tcpiputils/dhcp/te_unittest/dhcpservtest.mmp
tcpiputils/dnd/Test/Group/BLD.INF
tcpiputils/dnd/Test/Group/bld.inf
tcpiputils/dnd/Test/TE_LLMNR/group/BLD.INF
tcpiputils/dnd/Test/TE_LLMNR/group/bld.inf
tcpiputils/dnd/Test/te_dndunittest/group/te_dndunittest.mmp
tcpiputils/networkaddressandporttranslation/TE_Napt/configs/Te_NaptConnection_target.xml
tcpiputils/networkaddressandporttranslation/TE_Napt/configs/Te_NaptConnection_winscw.xml
tcpiputils/networkaddressandporttranslation/TE_Napt/configs/te_naptconfig_target.ini
tcpiputils/networkaddressandporttranslation/TE_Napt/configs/te_naptconfig_winscw.ini
tcpiputils/networkaddressandporttranslation/te_unittest/group/te_naptunittest.mmp
tcpiputils/punycodeconv/te_punycodeconverter/group/te_punycodeconverter.mmp
tcpiputils/punycodeconv/te_unittest/group/te_unittestidna.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/build.config.xml	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,109 @@
+<?xml version="1.0"?>
+<!DOCTYPE SystemDefinition [
+ <!ELEMENT SystemDefinition (systemModel?, build?)>
+ <!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED>
+ <!ELEMENT systemModel (layer+)>
+ <!ELEMENT layer (logicalset* | module*)*>
+ <!ATTLIST layer
+  name CDATA #REQUIRED
+  levels CDATA #IMPLIED
+  span CDATA #IMPLIED>
+ <!ELEMENT logicalset (logicalsubset* | module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalset 
+  name CDATA #REQUIRED
+  levels CDATA #IMPLIED  
+  span CDATA #IMPLIED
+  level CDATA #IMPLIED>
+ <!ELEMENT logicalsubset (module* | unit* | package* | prebuilt*)*>
+ <!ATTLIST logicalsubset name CDATA #REQUIRED>
+ <!ELEMENT module (component* | unit* | package* | prebuilt*)*>
+ <!ATTLIST module
+  name CDATA #REQUIRED
+  level CDATA #IMPLIED>
+ <!ELEMENT component (unit* | package* | prebuilt*)*>
+ <!ATTLIST component name CDATA #REQUIRED>
+ <!ELEMENT unit EMPTY>
+ <!ATTLIST unit
+  unitID ID #REQUIRED
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  bldFile CDATA #REQUIRED
+  priority CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT package EMPTY>
+ <!ATTLIST package
+  name CDATA #REQUIRED
+  mrp CDATA #REQUIRED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT prebuilt EMPTY>
+ <!ATTLIST prebuilt
+  name CDATA #REQUIRED
+  version CDATA #REQUIRED
+  late (Y|N) #IMPLIED
+  filter CDATA #IMPLIED
+  contract CDATA #IMPLIED>
+ <!ELEMENT build (option* | target+ | targetList+ | unitList+ | configuration+)*>
+ <!ELEMENT unitList (unitRef+)>
+ <!ATTLIST unitList
+  name ID #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT unitRef EMPTY>
+ <!ATTLIST unitRef unit IDREF #REQUIRED>
+ <!ELEMENT targetList EMPTY>
+ <!ATTLIST targetList
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  target IDREFS #REQUIRED>
+ <!ELEMENT target EMPTY>
+ <!ATTLIST target
+  name ID #REQUIRED
+  abldTarget CDATA #REQUIRED
+  description CDATA #REQUIRED>
+ <!ELEMENT option EMPTY>
+ <!ATTLIST option
+  name ID #REQUIRED
+  abldOption CDATA #REQUIRED
+  description CDATA #REQUIRED
+  enable (Y | N | y | n) #REQUIRED>
+ <!ELEMENT configuration (unitListRef+ | layerRef+ | task+)*>
+ <!ATTLIST configuration
+  name ID #REQUIRED
+  description CDATA #REQUIRED
+  filter CDATA #REQUIRED>
+ <!ELEMENT task ( unitListRef* , (buildLayer | specialInstructions))>
+ <!ELEMENT unitListRef EMPTY>
+ <!ATTLIST unitListRef unitList IDREF #REQUIRED>
+ <!ELEMENT layerRef EMPTY>
+ <!ATTLIST layerRef layerName CDATA #REQUIRED>
+ <!ELEMENT buildLayer EMPTY>
+ <!ATTLIST buildLayer
+  command CDATA #REQUIRED
+  targetList IDREFS #IMPLIED
+  unitParallel (Y | N | y | n) #REQUIRED
+  targetParallel (Y | N | y | n) #IMPLIED>
+ <!ELEMENT specialInstructions EMPTY>
+ <!ATTLIST specialInstructions
+  name CDATA #REQUIRED
+  cwd CDATA #REQUIRED
+  command CDATA #REQUIRED>
+  <!ENTITY layer_real_source_path "sf/os/networkingsrv">
+]>
+
+<SystemDefinition name="networkingsrv" schema="1.4.0">
+  <systemModel>
+    <layer name="os_layer">
+      <module name="networkingsrv">
+	  	<unit unitID="NetSrvDo.buildall" mrp="" bldFile="sf\os\networkingsrv\group" name="networkingsrv" />
+      </module>
+    </layer>
+	<layer name="api_test_layer">
+      <module name="networkingsrv_test">
+        <unit unitID="NetSrvDo.networkingsrv_test" mrp="" bldFile="sf\os\networkingsrv\group" name="networkingsrv_test" />
+      </module>
+    </layer>
+  </systemModel>
+</SystemDefinition>
--- a/esockapiextensions/internetsockets/group/sockerr.ra	Mon May 03 13:58:16 2010 +0300
+++ b/esockapiextensions/internetsockets/group/sockerr.ra	Tue Jun 29 19:20:22 2010 +0530
@@ -1,43 +1,43 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include <errors/generic/sockerr.rls>
-
-RESOURCE ARRAY r_error_res_socket_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_socket_net_unreach;			// -190
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_socket_host_unreach;			// -191
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_socket_wrong_protocol;			// -192
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -193
-			}
-		};
-	}
-
-RESOURCE TBUF r_error_res_socket_net_unreach			{ buf=STRING_r_error_res_socket_net_unreach		; }
-RESOURCE TBUF r_error_res_socket_host_unreach			{ buf=STRING_r_error_res_socket_host_unreach		; }
-RESOURCE TBUF r_error_res_socket_wrong_protocol			{ buf=STRING_r_error_res_socket_wrong_protocol		; }
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <errors/generic/sockerr.rls>
+
+RESOURCE ARRAY r_error_res_socket_errors
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_socket_net_unreach;			// -190
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_socket_host_unreach;			// -191
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_socket_wrong_protocol;			// -192
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -193
+			}
+		};
+	}
+
+RESOURCE TBUF r_error_res_socket_net_unreach			{ buf=STRING_r_error_res_socket_net_unreach		; }
+RESOURCE TBUF r_error_res_socket_host_unreach			{ buf=STRING_r_error_res_socket_host_unreach		; }
+RESOURCE TBUF r_error_res_socket_wrong_protocol			{ buf=STRING_r_error_res_socket_wrong_protocol		; }
--- a/esockapiextensions/internetsockets/group/tcperr.ra	Mon May 03 13:58:16 2010 +0300
+++ b/esockapiextensions/internetsockets/group/tcperr.ra	Tue Jun 29 19:20:22 2010 +0530
@@ -1,81 +1,81 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#include <errors/generic/tcperr.rls>
-
-RESOURCE ARRAY r_error_res_tcpip_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_tcp_authentication_fail;			// -3050
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_tcp_authentication_not_secure;		// -3051
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_tcp_disabled_account;				// -3052
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_tcp_logon_hours;					// -3053
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_tcp_password_expired;				// -3054
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_tcp_dial_in_permission;			// -3055
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;						// -3056
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_tcp_no_call_back;					// -3057
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_tcp_no_server;						// -3058
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_tcp_bad_line;						// -3059
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;						// -3060
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;						// -3061
-			}
-		};
-	}
-
-RESOURCE TBUF r_error_res_tcp_authentication_fail				{ buf=STRING_r_error_res_tcp_authentication_fail			; }
-RESOURCE TBUF r_error_res_tcp_authentication_not_secure			{ buf=STRING_r_error_res_tcp_authentication_not_secure		; }
-RESOURCE TBUF r_error_res_tcp_disabled_account					{ buf=STRING_r_error_res_tcp_disabled_account				; }
-RESOURCE TBUF r_error_res_tcp_logon_hours						{ buf=STRING_r_error_res_tcp_logon_hours					; }
-RESOURCE TBUF r_error_res_tcp_password_expired					{ buf=STRING_r_error_res_tcp_password_expired				; }
-RESOURCE TBUF r_error_res_tcp_dial_in_permission				{ buf=STRING_r_error_res_tcp_dial_in_permission			; }
-RESOURCE TBUF r_error_res_tcp_no_call_back						{ buf=STRING_r_error_res_tcp_no_call_back					; }
-RESOURCE TBUF r_error_res_tcp_no_server							{ buf=STRING_r_error_res_tcp_no_server						; }
-RESOURCE TBUF r_error_res_tcp_bad_line							{ buf=STRING_r_error_res_tcp_bad_line						; }
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <errors/generic/tcperr.rls>
+
+RESOURCE ARRAY r_error_res_tcpip_errors
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_tcp_authentication_fail;			// -3050
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_tcp_authentication_not_secure;		// -3051
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_tcp_disabled_account;				// -3052
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_tcp_logon_hours;					// -3053
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_tcp_password_expired;				// -3054
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_tcp_dial_in_permission;			// -3055
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;						// -3056
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_tcp_no_call_back;					// -3057
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_tcp_no_server;						// -3058
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_tcp_bad_line;						// -3059
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;						// -3060
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;						// -3061
+			}
+		};
+	}
+
+RESOURCE TBUF r_error_res_tcp_authentication_fail				{ buf=STRING_r_error_res_tcp_authentication_fail			; }
+RESOURCE TBUF r_error_res_tcp_authentication_not_secure			{ buf=STRING_r_error_res_tcp_authentication_not_secure		; }
+RESOURCE TBUF r_error_res_tcp_disabled_account					{ buf=STRING_r_error_res_tcp_disabled_account				; }
+RESOURCE TBUF r_error_res_tcp_logon_hours						{ buf=STRING_r_error_res_tcp_logon_hours					; }
+RESOURCE TBUF r_error_res_tcp_password_expired					{ buf=STRING_r_error_res_tcp_password_expired				; }
+RESOURCE TBUF r_error_res_tcp_dial_in_permission				{ buf=STRING_r_error_res_tcp_dial_in_permission			; }
+RESOURCE TBUF r_error_res_tcp_no_call_back						{ buf=STRING_r_error_res_tcp_no_call_back					; }
+RESOURCE TBUF r_error_res_tcp_no_server							{ buf=STRING_r_error_res_tcp_no_server						; }
+RESOURCE TBUF r_error_res_tcp_bad_line							{ buf=STRING_r_error_res_tcp_bad_line						; }
--- a/linklayercontrol/networkinterfacemgr/agentprcore/inc/tunnelagentcpr.h	Mon May 03 13:58:16 2010 +0300
+++ b/linklayercontrol/networkinterfacemgr/agentprcore/inc/tunnelagentcpr.h	Tue Jun 29 19:20:22 2010 +0530
@@ -42,17 +42,30 @@
 }
 
 
-class CTunnelAgentConnectionProvider : public CAgentConnectionProvider
+class CTunnelAgentConnectionProvider : public CAgentConnectionProvider,
+									   public ESock::MPlatsecApiExt,
+									   public ITFHIERARCHY_LINK_1(CTunnelAgentConnectionProvider, CAgentConnectionProvider, ESock::MPlatsecApiExt)
+
 	{
 	friend class TunnelAgentCprStates::TJoinRealIAP;
 
 public:
+	typedef ITFHIERARCHY_LINK_1(CTunnelAgentConnectionProvider, CAgentConnectionProvider, ESock::MPlatsecApiExt) TIfStaticFetcherNearestInHierarchy;
+
+public:
     IMPORT_C static CTunnelAgentConnectionProvider* NewL(ESock::CConnectionProviderFactoryBase& aFactory);
     IMPORT_C ~CTunnelAgentConnectionProvider();
 
+    using CAgentConnectionProvider::ReturnInterfacePtrL;
+    void ReturnInterfacePtrL(ESock::MPlatsecApiExt*& aInterface);
 protected:
     CTunnelAgentConnectionProvider(ESock::CConnectionProviderFactoryBase& aFactory);
     CTunnelAgentConnectionProvider(ESock::CConnectionProviderFactoryBase& aFactory, const MeshMachine::TNodeActivityMap& aActivityMap);
+	// MPlatSecApiExt
+	TInt SecureId(TSecureId& aResult) const;
+	TInt VendorId(TVendorId& aResult) const;
+	TBool HasCapability(const TCapability aCapability) const;
+	TInt CheckPolicy(const TSecurityPolicy& aPolicy) const;
 	};
 
 
--- a/linklayercontrol/networkinterfacemgr/agentprcore/src/agentscpractivities.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/linklayercontrol/networkinterfacemgr/agentprcore/src/agentscpractivities.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -95,6 +95,18 @@
 NODEACTIVITY_END()
 }
 
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+namespace AgentSCprParamRequestActivity
+{
+DECLARE_DEFINE_NODEACTIVITY(ECFActivityParamRequest, AgentSCprParamRequest, TCFScpr::TSetParamsRequest)
+    FIRST_NODEACTIVITY_ENTRY(PRStates::TAwaitingParamRequest, CoreNetStates::TNoTagOrBearerPresent)
+    NODEACTIVITY_ENTRY(CoreNetStates::KBearerPresent, PRStates::TPassToServiceProvider, CoreNetStates::TAwaitingParamResponse, MeshMachine::TTag<CoreNetStates::KBearerPresent>)
+    LAST_NODEACTIVITY_ENTRY(CoreNetStates::KBearerPresent, PRStates::TStoreParamsAndPostToOriginators)
+    LAST_NODEACTIVITY_ENTRY(KNoTag, PRStates::TRespondWithCurrentParams)
+NODEACTIVITY_END()
+}
+#endif //#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+
 namespace AgentSCprDestroyActivity
 {
 //Overridden destroy for cleaning up the agent if its still about
@@ -125,6 +137,9 @@
    ACTIVITY_MAP_ENTRY(AgentSCprStartActivity, AgentSCprStart)
    ACTIVITY_MAP_ENTRY(AgentSCprStopActivity, AgentSCprStop)
    ACTIVITY_MAP_ENTRY(AgentSCprDataClientStoppedActivity, AgentSCprDataClientStopped)
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+   ACTIVITY_MAP_ENTRY(AgentSCprParamRequestActivity, AgentSCprParamRequest)
+#endif //#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 ACTIVITY_MAP_END_BASE(SCprActivities, coreSCprActivities)
 }
 
--- a/linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcpr.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcpr.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -66,6 +66,15 @@
 NODEACTIVITY_END()
 }
 
+namespace TunnelGoneDownActivity
+{
+DECLARE_DEFINE_NODEACTIVITY(ECFActivityGoneDown, TunnelGoneDown, TCFControlClient::TGoneDown)
+    // Our Service Provider has gone down unexpectedly (we haven't issued a TStop)
+    FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingGoneDown, MeshMachine::TNoTag)
+    LAST_NODEACTIVITY_ENTRY(KNoTag, MeshMachine::TDoNothing)
+NODEACTIVITY_END()
+}
+
 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 namespace TunnelAgentCprNotificationActivity
 {
@@ -78,6 +87,7 @@
 {
 DECLARE_DEFINE_ACTIVITY_MAP(TunnelAgentCprActivities)
 	ACTIVITY_MAP_ENTRY(TunnelAgentCprStartActivity, TunnelCprStart)
+      ACTIVITY_MAP_ENTRY(TunnelGoneDownActivity, TunnelGoneDown)
 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 	ACTIVITY_MAP_ENTRY(TunnelAgentCprNotificationActivity, TunnelAgentCprNotification)
 #endif // SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
@@ -101,7 +111,8 @@
 
 
 CTunnelAgentConnectionProvider::CTunnelAgentConnectionProvider(CConnectionProviderFactoryBase& aFactory)
-   : CAgentConnectionProvider(aFactory, TunnelAgentCprStates::TunnelAgentCprActivities::Self())
+   : CAgentConnectionProvider(aFactory, TunnelAgentCprStates::TunnelAgentCprActivities::Self()),
+     TIfStaticFetcherNearestInHierarchy(this)
 	{
 	LOG_NODE_CREATE(KTunnelAgentCprTag, CTunnelAgentConnectionProvider);
 	}
@@ -115,5 +126,35 @@
 	LOG_NODE_DESTROY(KTunnelAgentCprTag, CTunnelAgentConnectionProvider);
 	}
 
+//
+// MPlatSecApiExt
+//
 
+void CTunnelAgentConnectionProvider::ReturnInterfacePtrL(MPlatsecApiExt*& aInterface)
+    {
+    aInterface = this;
+    }
 
+TInt CTunnelAgentConnectionProvider::SecureId(TSecureId& /*aResult*/) const
+	{
+	return KErrNotSupported;
+	}
+
+TInt CTunnelAgentConnectionProvider::VendorId(TVendorId& /*aResult*/) const
+	{
+	return KErrNotSupported;
+	}
+
+TBool CTunnelAgentConnectionProvider::HasCapability(const TCapability /*aCapability*/) const
+	{
+	return KErrNotSupported;
+	}
+
+TInt CTunnelAgentConnectionProvider::CheckPolicy(const TSecurityPolicy& /*aPolicy*/) const
+	{
+	// This is the whole reason that we need to implement MPlatSecApiExt in this node at all.  When TunnelAgentCpr issues
+	// a TStop towards IpCpr, IpCpr requires the sending node (normally ESockSvr but TunnelAgentCpr in this case)
+	// to implement MPlatSecApiExt through which IpCpr can check platsec capabilities (IpCprStates::TCheckStopCapabilities).
+	// If TunnelAgentCpr does not impement MPlatSecApiExt, then IpCpr will error the stop request with KErrInterfaceNotSupported.
+	return KErrNone;
+	}
--- a/linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcprstates.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/linklayercontrol/networkinterfacemgr/agentprcore/src/tunnelagentcprstates.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -101,7 +101,9 @@
 
 	TNodeId thisNodeId = iContext.Node().NodeId();
 	
-	RNodeInterface* sp = iContext.Node().AddClientL(realIapNodeId, TClientType(TCFClientType::EServProvider));
+	//SP are peers added with TClientType ((TCFClientType::EServProvider, CFClientType::EActive))
+	RNodeInterface* sp = iContext.Node().AddClientL(realIapNodeId, TClientType(TCFClientType::EServProvider, TCFClientType::EActive));
+
 	__ASSERT_DEBUG(sp != NULL, User::Panic(KTunnelAgentCPRPanic, ETunnelAgentCprNoServiceProvider));
  	iContext.iNodeActivity->PostRequestTo(
  			realIapNodeId, 
--- a/linklayercontrol/networkinterfacemgr/eabi/agentprcoreU.def	Mon May 03 13:58:16 2010 +0300
+++ b/linklayercontrol/networkinterfacemgr/eabi/agentprcoreU.def	Tue Jun 29 19:20:22 2010 +0530
@@ -190,10 +190,9 @@
 	_ZN28CAgentMetaConnectionProvider15GetDes8SettingLERK7TDesC16R5TDes8PN5ESock14MPlatsecApiExtE @ 189 NONAME
 	_ZN28CAgentMetaConnectionProvider16GetDes16SettingLERK7TDesC16R6TDes16PN5ESock14MPlatsecApiExtE @ 190 NONAME
 	_ZN28CAgentMetaConnectionProvider18GetLongDesSettingLERK7TDesC16RP7HBufC16PN5ESock14MPlatsecApiExtE @ 191 NONAME
-	_ZThn176_N28CAgentMetaConnectionProvider14GetIntSettingLERK7TDesC16RmPN5ESock14MPlatsecApiExtE @ 192 NONAME
-	_ZThn176_N28CAgentMetaConnectionProvider15GetBoolSettingLERK7TDesC16RiPN5ESock14MPlatsecApiExtE @ 193 NONAME
-	_ZThn176_N28CAgentMetaConnectionProvider15GetDes8SettingLERK7TDesC16R5TDes8PN5ESock14MPlatsecApiExtE @ 194 NONAME
-	_ZThn176_N28CAgentMetaConnectionProvider16GetDes16SettingLERK7TDesC16R6TDes16PN5ESock14MPlatsecApiExtE @ 195 NONAME
-	_ZThn176_N28CAgentMetaConnectionProvider18GetLongDesSettingLERK7TDesC16RP7HBufC16PN5ESock14MPlatsecApiExtE @ 196 NONAME
+	_ZThn180_N28CAgentMetaConnectionProvider14GetIntSettingLERK7TDesC16RmPN5ESock14MPlatsecApiExtE @ 192 NONAME
+	_ZThn180_N28CAgentMetaConnectionProvider15GetBoolSettingLERK7TDesC16RiPN5ESock14MPlatsecApiExtE @ 193 NONAME
+	_ZThn180_N28CAgentMetaConnectionProvider15GetDes8SettingLERK7TDesC16R5TDes8PN5ESock14MPlatsecApiExtE @ 194 NONAME
+	_ZThn180_N28CAgentMetaConnectionProvider16GetDes16SettingLERK7TDesC16R6TDes16PN5ESock14MPlatsecApiExtE @ 195 NONAME
+	_ZThn180_N28CAgentMetaConnectionProvider18GetLongDesSettingLERK7TDesC16RP7HBufC16PN5ESock14MPlatsecApiExtE @ 196 NONAME
 
-
--- a/linklayercontrol/networkinterfacemgr/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,104 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Network interface manager
-// 
-//
-
-/**
- @file
-*/
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/NIFVAR.H 				SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(nifvar.h)
-../inc/nifvar_internal.h 			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(nifvar_internal.h)
-../inc/NIFUTL.H 				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(nifutl.h)
-../inc/NIFMAN.H 				SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(nifman.h)
-../inc/nifman_internal.h			SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(nifman_internal.h)
-../inc/AgentErrors.h 				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(agenterrors.h)
-../inc/NetConError.h 						SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(netconerror.h)
-
-../inc/NIFAGT.H					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifagt.h)
-../inc/nifagt_internal.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifagt_internal.h)
-../inc/NIFIF.H					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifif.h)
-../inc/nifif_internal.h				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifif_internal.h)
-../inc/NIFPRVAR.H				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifprvar.h)
-../inc/nifprvar_internal.h					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifprvar_internal.h)
-
-../inc/NIF_VER.H               				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nif_ver.h)
-../inc/NifmanIPC.h            				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifmanipc.h)
-
-../inc/EventLogger.h                   		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/eventlogger.h)
-../inc/ConnectionSettings.h            		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/connectionsettings.h)
-../inc/CAgentBase.h                    		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cagentbase.h)
-../inc/CStateMachineAgentBase.h        		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cstatemachineagentbase.h)
-../inc/CAgentSMBase.h                  		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cagentsmbase.h)
-../inc/CAgentSMBase.inl                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cagentsmbase.inl)
-../inc/Ni_Log.h                        		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/ni_log.h)
-
-../inc/CNetworkControllerBase.h        		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cnetworkcontrollerbase.h)
-
-../inc/DbAccess.h                      		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/dbaccess.h)
-../inc/MDbAccess.h                     		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/mdbaccess.h)
-../inc/dialogprocessor.h               		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/dialogprocessor.h)
-
-NIFMAN.IBY                    		/epoc32/rom/include/nifman.iby
-
-../bwins/Agentu.def                    		/epoc32/release/wins/agentu.def
-../bmarm/Agentu.def                    		/epoc32/release/marm/agentu.def
-../eabi/AGENTU.DEF				/epoc32/include/def/eabi/agentu.def
-
-
-// ---------------- Agent PR Core exports ----------------
-
-agentpr.iby                    	/epoc32/rom/include/agentpr.iby
-agentprcore.iby                	/epoc32/rom/include/agentprcore.iby
-
-../agentprcore/inc/agentprconst.h      		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentprconst.h)
-../agentprcore/inc/agentmessages.h     		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentmessages.h)
-../agentprcore/inc/agentmessages.inl   		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentmessages.inl)
-
-../agentprcore/inc/agentmcpr.h      		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentmcpr.h)
-../agentprcore/inc/agentmcpractivities.h    SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentmcpractivities.h)
-
-../agentprcore/inc/agentscpr.h      		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentscpr.h)
-../agentprcore/inc/agentscprstates.h    	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentscprstates.h)
-../agentprcore/inc/agentscpractivities.h    SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentscpractivities.h)
-../agentprcore/inc/CAgentAdapter.h 			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cagentadapter.h)
-
-../agentprcore/inc/LinkProvision.h      	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/linkprovision.h)
-../agentprcore/inc/LinkProvision.inl    	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/linkprovision.inl)
-
-../agentprcore/inc/agentcpr.h      			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentcpr.h)
-../agentprcore/inc/agentcprstates.h    		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentcprstates.h)
-
-../agentprcore/inc/tunnelagentcpr.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/tunnelagentcpr.h)
-../agentprcore/inc/tunnelagentcprstates.h	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/tunnelagentcprstates.h)
-
-#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
-../inc/cfbearers.h 							SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/cfbearers.h)
-#endif // SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
-
-PRJ_MMPFILES
-
-NIFMAN.MMP        
-agentpr.mmp
-agentprcore.mmp
-
-#include "../netcfgext/group/bld.inf"
-
--- a/linklayercontrol/networkinterfacemgr/group/agentpr.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/linklayercontrol/networkinterfacemgr/group/agentpr.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -44,7 +44,6 @@
 
 USERINCLUDE                ../agentpr/inc
 USERINCLUDE                ../agentprcore/inc
-USERINCLUDE                ../../../../commsfw/datacommsserver/esockserver/inc
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
--- a/linklayercontrol/networkinterfacemgr/group/agentprcore.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/linklayercontrol/networkinterfacemgr/group/agentprcore.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -47,8 +47,6 @@
 
 USERINCLUDE                 ../inc
 USERINCLUDE                 ../agentprcore/inc
-USERINCLUDE                 ../../../../commsfw/datacommsserver/esockserver/inc
-
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/linklayercontrol/networkinterfacemgr/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,104 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Network interface manager
+// 
+//
+
+/**
+ @file
+*/
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/NIFVAR.H 				SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(nifvar.h)
+../inc/nifvar_internal.h 			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(nifvar_internal.h)
+../inc/NIFUTL.H 				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(nifutl.h)
+../inc/NIFMAN.H 				SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(nifman.h)
+../inc/nifman_internal.h			SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(nifman_internal.h)
+../inc/AgentErrors.h 				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(agenterrors.h)
+../inc/NetConError.h 						SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(netconerror.h)
+
+../inc/NIFAGT.H					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifagt.h)
+../inc/nifagt_internal.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifagt_internal.h)
+../inc/NIFIF.H					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifif.h)
+../inc/nifif_internal.h				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifif_internal.h)
+../inc/NIFPRVAR.H				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifprvar.h)
+../inc/nifprvar_internal.h					SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifprvar_internal.h)
+
+../inc/NIF_VER.H               				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nif_ver.h)
+../inc/NifmanIPC.h            				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/nifmanipc.h)
+
+../inc/EventLogger.h                   		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/eventlogger.h)
+../inc/ConnectionSettings.h            		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/connectionsettings.h)
+../inc/CAgentBase.h                    		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cagentbase.h)
+../inc/CStateMachineAgentBase.h        		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cstatemachineagentbase.h)
+../inc/CAgentSMBase.h                  		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cagentsmbase.h)
+../inc/CAgentSMBase.inl                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cagentsmbase.inl)
+../inc/Ni_Log.h                        		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/ni_log.h)
+
+../inc/CNetworkControllerBase.h        		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cnetworkcontrollerbase.h)
+
+../inc/DbAccess.h                      		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/dbaccess.h)
+../inc/MDbAccess.h                     		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/mdbaccess.h)
+../inc/dialogprocessor.h               		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/dialogprocessor.h)
+
+NIFMAN.IBY                    		/epoc32/rom/include/nifman.iby
+
+../bwins/Agentu.def                    		/epoc32/release/wins/agentu.def
+../bmarm/Agentu.def                    		/epoc32/release/marm/agentu.def
+../eabi/AGENTU.DEF				/epoc32/include/def/eabi/agentu.def
+
+
+// ---------------- Agent PR Core exports ----------------
+
+agentpr.iby                    	/epoc32/rom/include/agentpr.iby
+agentprcore.iby                	/epoc32/rom/include/agentprcore.iby
+
+../agentprcore/inc/agentprconst.h      		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentprconst.h)
+../agentprcore/inc/agentmessages.h     		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentmessages.h)
+../agentprcore/inc/agentmessages.inl   		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentmessages.inl)
+
+../agentprcore/inc/agentmcpr.h      		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentmcpr.h)
+../agentprcore/inc/agentmcpractivities.h    SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentmcpractivities.h)
+
+../agentprcore/inc/agentscpr.h      		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentscpr.h)
+../agentprcore/inc/agentscprstates.h    	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentscprstates.h)
+../agentprcore/inc/agentscpractivities.h    SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentscpractivities.h)
+../agentprcore/inc/CAgentAdapter.h 			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/cagentadapter.h)
+
+../agentprcore/inc/LinkProvision.h      	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/linkprovision.h)
+../agentprcore/inc/LinkProvision.inl    	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/linkprovision.inl)
+
+../agentprcore/inc/agentcpr.h      			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentcpr.h)
+../agentprcore/inc/agentcprstates.h    		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/agentcprstates.h)
+
+../agentprcore/inc/tunnelagentcpr.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/tunnelagentcpr.h)
+../agentprcore/inc/tunnelagentcprstates.h	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(comms-infras/tunnelagentcprstates.h)
+
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+../inc/cfbearers.h 							SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/cfbearers.h)
+#endif // SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+
+PRJ_MMPFILES
+
+NIFMAN.MMP        
+agentpr.mmp
+agentprcore.mmp
+
+#include "../netcfgext/group/bld.inf"
+
--- a/linklayercontrol/nullagt/src/NullAgent.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/linklayercontrol/nullagt/src/NullAgent.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -22,7 +22,7 @@
 #include <cdbcols.h> // CommDB access
 
 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
-#include <networking\cfbearers.h>
+#include <networking/cfbearers.h>
 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 
 /**
--- a/linklayerprotocols/ethernetnif/EthInt/Ethbase.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/linklayerprotocols/ethernetnif/EthInt/Ethbase.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -1084,7 +1084,8 @@
 
 void CLANLinkCommon::Destroy()
 	{
-	ASSERT(iMMState==EStopped);
+    // PDEF143631: RNDIS driver doesn't override CLANLinkCommon::Destroy()
+	ASSERT(iMMState==EStarting || iMMState==EStopped);
 	DeleteThisFlow();
 	}
 
--- a/linklayerprotocols/ethernetnif/eabi/ethprotou.def	Mon May 03 13:58:16 2010 +0300
+++ b/linklayerprotocols/ethernetnif/eabi/ethprotou.def	Tue Jun 29 19:20:22 2010 +0530
@@ -89,7 +89,7 @@
 	_ZThn80_N14CLANLinkCommon11GetControlLERK6TDesC8 @ 88 NONAME ABSENT
 	_ZThn80_N14CLANLinkCommon5BindLERK6TDesC8PN5ESock18MUpperDataReceiverEPNS3_13MUpperControlE @ 89 NONAME ABSENT
 	_ZThn80_N14CLANLinkCommon6UnbindEPN5ESock18MUpperDataReceiverEPNS0_13MUpperControlE @ 90 NONAME ABSENT
-	_ZThn96_N14CLANLinkCommon11GetControlLERK6TDesC8 @ 91 NONAME
-	_ZThn96_N14CLANLinkCommon5BindLERK6TDesC8PN5ESock18MUpperDataReceiverEPNS3_13MUpperControlE @ 92 NONAME
-	_ZThn96_N14CLANLinkCommon6UnbindEPN5ESock18MUpperDataReceiverEPNS0_13MUpperControlE @ 93 NONAME
+	_ZThn100_N14CLANLinkCommon11GetControlLERK6TDesC8 @ 91 NONAME
+	_ZThn100_N14CLANLinkCommon5BindLERK6TDesC8PN5ESock18MUpperDataReceiverEPNS3_13MUpperControlE @ 92 NONAME
+	_ZThn100_N14CLANLinkCommon6UnbindEPN5ESock18MUpperDataReceiverEPNS0_13MUpperControlE @ 93 NONAME
 
--- a/linklayerprotocols/ethernetnif/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,59 +0,0 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Historical Note: networking/ether802/inc/EthProto.h is originally a copy of
-// networking/ether802/version1/inc/ethinter.h to prevent both Ethernet drivers exporting the same named header.
-// IEEE 802.3 (Ethernet(tm)) support 
-// 
-//
-
-/**
- @file
-*/
-
-#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-
-#include "../version1/group/BLD.INF"
-
-#else
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-PRJ_EXPORTS
-
-../INC/ETHINTER.H			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ethinter.h)
-../INC/EthProto.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ethproto.h)
-../INC/PKTDRV.H				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pktdrv.h)
-../INC/pktdrv_internal.h	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pktdrv_internal.h)
-../INC/ethmcpr.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ethmcpr.h)
-../group/ether802.iby		/epoc32/rom/include/ether802.iby
-
-../data/ether802.ini		/epoc32/data/z/private/101f7989/esock/ether802.ini
-../data/ether802.ini		/epoc32/wins/c/private/101f7989/esock/ether802.ini
-../data/ether802.ini		/epoc32/winscw/c/private/101f7989/esock/ether802.ini
-../data/configchange.pl		/epoc32/tools/configchange.pl
-
-../data/ethernetCed_eka2_platsec_emulator.xml		/epoc32/winscw/c/ethernetced.xml
-../data/ethernetCed_eka2_platsec_emulator.xml		/epoc32/wins/c/ethernetced.xml
-
-
-PRJ_MMPFILES
-
-../group/ethproto.mmp
-../group/ether802.mmp
-../group/EtherPkt.mmp
-../group/IRLAN.MMP
-
-#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/linklayerprotocols/ethernetnif/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,59 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Historical Note: networking/ether802/inc/EthProto.h is originally a copy of
+// networking/ether802/version1/inc/ethinter.h to prevent both Ethernet drivers exporting the same named header.
+// IEEE 802.3 (Ethernet(tm)) support 
+// 
+//
+
+/**
+ @file
+*/
+
+#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+#include "../version1/group/BLD.INF"
+
+#else
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+PRJ_EXPORTS
+
+../INC/ETHINTER.H			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ethinter.h)
+../INC/EthProto.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ethproto.h)
+../INC/PKTDRV.H				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pktdrv.h)
+../INC/pktdrv_internal.h	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pktdrv_internal.h)
+../INC/ethmcpr.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ethmcpr.h)
+../group/ether802.iby		/epoc32/rom/include/ether802.iby
+
+../data/ether802.ini		/epoc32/data/z/private/101f7989/esock/ether802.ini
+../data/ether802.ini		/epoc32/wins/c/private/101f7989/esock/ether802.ini
+../data/ether802.ini		/epoc32/winscw/c/private/101f7989/esock/ether802.ini
+../data/configchange.pl		/epoc32/tools/configchange.pl
+
+../data/ethernetCed_eka2_platsec_emulator.xml		/epoc32/winscw/c/ethernetced.xml
+../data/ethernetCed_eka2_platsec_emulator.xml		/epoc32/wins/c/ethernetced.xml
+
+
+PRJ_MMPFILES
+
+../group/ethproto.mmp
+../group/ether802.mmp
+../group/EtherPkt.mmp
+../group/IRLAN.MMP
+
+#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
--- a/linklayerprotocols/ethernetpacketdriver/group/Bld.inf	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,72 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// IEEE 802.3 (Ethernet(tm)) device driver
-// 
-//
-
-/**
- @file
-*/
-
-
-PRJ_PLATFORMS
-TOOLS WINS WINSCW 
-
-PRJ_EXPORTS
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-..\inc\EtherCardIoc.h
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-..\inc\EtherCardApi.h
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-..\inc\EtherCardApi.inl
-#endif
-
-..\group\etherdrv.iby		\epoc32\rom\include\etherdrv.iby
-
-
-PRJ_MMPFILES
-#if !defined(TOOLS)
-
-..\group\EtherCard.mmp
-#if defined(MISA) || defined(MCOT)
-..\group\EtherSMC.mmp
-#endif
-
-#if defined(WINS)
-#if defined(WINSCW)
-..\group\EtherWinscw.mmp
-#else
-..\group\EtherWins.mmp
-#endif
-#endif
-
-#else
-..\netcards\netcards.mmp
-#endif
-
-
-PRJ_TESTMMPFILES
-#if !defined(TOOLS)
-
-EtherDevTest.mmp
-..\demoserv\DemoServ.mmp
-..\pump\EtherPump.mmp
-
-#if defined(MISA) || defined(MCOT)
-..\macset\MacSet.mmp
-#endif
-
-#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/linklayerprotocols/ethernetpacketdriver/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,72 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// IEEE 802.3 (Ethernet(tm)) device driver
+// 
+//
+
+/**
+ @file
+*/
+
+
+PRJ_PLATFORMS
+TOOLS WINS WINSCW 
+
+PRJ_EXPORTS
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+..\inc\EtherCardIoc.h
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+..\inc\EtherCardApi.h
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+..\inc\EtherCardApi.inl
+#endif
+
+..\group\etherdrv.iby		\epoc32\rom\include\etherdrv.iby
+
+
+PRJ_MMPFILES
+#if !defined(TOOLS)
+
+..\group\EtherCard.mmp
+#if defined(MISA) || defined(MCOT)
+..\group\EtherSMC.mmp
+#endif
+
+#if defined(WINS)
+#if defined(WINSCW)
+..\group\EtherWinscw.mmp
+#else
+..\group\EtherWins.mmp
+#endif
+#endif
+
+#else
+..\netcards\netcards.mmp
+#endif
+
+
+PRJ_TESTMMPFILES
+#if !defined(TOOLS)
+
+EtherDevTest.mmp
+..\demoserv\DemoServ.mmp
+..\pump\EtherPump.mmp
+
+#if defined(MISA) || defined(MCOT)
+..\macset\MacSet.mmp
+#endif
+
+#endif
--- a/linklayerprotocols/pppnif/eabi/pppmainU.DEF	Mon May 03 13:58:16 2010 +0300
+++ b/linklayerprotocols/pppnif/eabi/pppmainU.DEF	Tue Jun 29 19:20:22 2010 +0530
@@ -118,52 +118,28 @@
 	_ZN7CPppLcpC1ERN5ESock29CSubConnectionFlowFactoryBaseERKN8Messages7TNodeIdEPNS0_17CProtocolIntfBaseE @ 117 NONAME
 	_ZN7CPppLcpC2ERN5ESock29CSubConnectionFlowFactoryBaseERKN8Messages7TNodeIdEPNS0_17CProtocolIntfBaseE @ 118 NONAME
 	_ZThn20_N7CPppLcp9ReceivedLERKN8Messages13TRuntimeCtxIdERKNS0_7TNodeIdERNS0_14TSignatureBaseE @ 119 NONAME
-	_ZThn80_N7CPppLcp11GetControlLERK6TDesC8 @ 120 NONAME ABSENT
-	_ZThn80_N7CPppLcp4FlowEv @ 121 NONAME ABSENT
-	_ZThn80_N7CPppLcp5BindLERK6TDesC8PN5ESock18MUpperDataReceiverEPNS3_13MUpperControlE @ 122 NONAME ABSENT
-	_ZThn80_N7CPppLcp6UnbindEPN5ESock18MUpperDataReceiverEPNS0_13MUpperControlE @ 123 NONAME ABSENT
-	_ZThn84_N7CPppLcp7ProcessER10RMBufChain @ 124 NONAME ABSENT
-	_ZThn88_N7CPppLcp12StartSendingEv @ 125 NONAME ABSENT
-	_ZThn88_N7CPppLcp5ErrorEi @ 126 NONAME ABSENT
-	_ZThn92_N7CPppLcp10FsmLayerUpEv @ 127 NONAME ABSENT
-	_ZThn92_N7CPppLcp12FsmLayerDownEi @ 128 NONAME ABSENT
-	_ZThn92_N7CPppLcp15FsmLayerStartedEv @ 129 NONAME ABSENT
-	_ZThn92_N7CPppLcp16FsmLayerFinishedEi @ 130 NONAME ABSENT
-	_ZThn92_N7CPppLcp16FsmRecvConfigAckER14RPppOptionList @ 131 NONAME ABSENT
-	_ZThn92_N7CPppLcp16FsmRecvConfigNakER14RPppOptionListS1_ @ 132 NONAME ABSENT
-	_ZThn92_N7CPppLcp18FsmAckOptionsValidER14RPppOptionListS1_ @ 133 NONAME ABSENT
-	_ZThn92_N7CPppLcp18FsmRecvUnknownCodeEhhiR10RMBufChain @ 134 NONAME ABSENT
-	_ZThn92_N7CPppLcp19FsmRecvConfigRejectER14RPppOptionListS1_ @ 135 NONAME ABSENT
-	_ZThn92_N7CPppLcp21FsmApplyConfigRequestER14RPppOptionList @ 136 NONAME ABSENT
-	_ZThn92_N7CPppLcp21FsmCheckConfigRequestER14RPppOptionListS1_S1_S1_ @ 137 NONAME ABSENT
-	_ZThn92_N7CPppLcp21FsmRejectOptionsValidER14RPppOptionListS1_ @ 138 NONAME ABSENT
-	_ZThn92_N7CPppLcp23FsmFillinConfigRequestLER14RPppOptionList @ 139 NONAME ABSENT
-	_ZThn92_N7CPppLcp27FsmTerminationPhaseCompleteEv @ 140 NONAME ABSENT
-	_ZThn92_N7CPppLcp28FsmConfigRequestOptionsValidER14RPppOptionList @ 141 NONAME ABSENT
-	_ZThn92_N7CPppLcpD0Ev @ 142 NONAME ABSENT
-	_ZThn92_N7CPppLcpD1Ev @ 143 NONAME ABSENT
-	_ZThn100_N7CPppLcp7ProcessER10RMBufChain @ 144 NONAME
-	_ZThn104_N7CPppLcp12StartSendingEv @ 145 NONAME
-	_ZThn104_N7CPppLcp5ErrorEi @ 146 NONAME
-	_ZThn108_N7CPppLcp10FsmLayerUpEv @ 147 NONAME
-	_ZThn108_N7CPppLcp12FsmLayerDownEi @ 148 NONAME
-	_ZThn108_N7CPppLcp15FsmLayerStartedEv @ 149 NONAME
-	_ZThn108_N7CPppLcp16FsmLayerFinishedEi @ 150 NONAME
-	_ZThn108_N7CPppLcp16FsmRecvConfigAckER14RPppOptionList @ 151 NONAME
-	_ZThn108_N7CPppLcp16FsmRecvConfigNakER14RPppOptionListS1_ @ 152 NONAME
-	_ZThn108_N7CPppLcp18FsmAckOptionsValidER14RPppOptionListS1_ @ 153 NONAME
-	_ZThn108_N7CPppLcp18FsmRecvUnknownCodeEhhiR10RMBufChain @ 154 NONAME
-	_ZThn108_N7CPppLcp19FsmRecvConfigRejectER14RPppOptionListS1_ @ 155 NONAME
-	_ZThn108_N7CPppLcp21FsmApplyConfigRequestER14RPppOptionList @ 156 NONAME
-	_ZThn108_N7CPppLcp21FsmCheckConfigRequestER14RPppOptionListS1_S1_S1_ @ 157 NONAME
-	_ZThn108_N7CPppLcp21FsmRejectOptionsValidER14RPppOptionListS1_ @ 158 NONAME
-	_ZThn108_N7CPppLcp23FsmFillinConfigRequestLER14RPppOptionList @ 159 NONAME
-	_ZThn108_N7CPppLcp27FsmTerminationPhaseCompleteEv @ 160 NONAME
-	_ZThn108_N7CPppLcp28FsmConfigRequestOptionsValidER14RPppOptionList @ 161 NONAME
-	_ZThn108_N7CPppLcpD0Ev @ 162 NONAME
-	_ZThn108_N7CPppLcpD1Ev @ 163 NONAME
-	_ZThn96_N7CPppLcp11GetControlLERK6TDesC8 @ 164 NONAME
-	_ZThn96_N7CPppLcp4FlowEv @ 165 NONAME
-	_ZThn96_N7CPppLcp5BindLERK6TDesC8PN5ESock18MUpperDataReceiverEPNS3_13MUpperControlE @ 166 NONAME
-	_ZThn96_N7CPppLcp6UnbindEPN5ESock18MUpperDataReceiverEPNS0_13MUpperControlE @ 167 NONAME
+	_ZThn100_N7CPppLcp11GetControlLERK6TDesC8 @ 120 NONAME
+	_ZThn100_N7CPppLcp4FlowEv @ 121 NONAME
+	_ZThn100_N7CPppLcp5BindLERK6TDesC8PN5ESock18MUpperDataReceiverEPNS3_13MUpperControlE @ 122 NONAME
+	_ZThn100_N7CPppLcp6UnbindEPN5ESock18MUpperDataReceiverEPNS0_13MUpperControlE @ 123 NONAME
+	_ZThn104_N7CPppLcp7ProcessER10RMBufChain @ 124 NONAME
+	_ZThn108_N7CPppLcp12StartSendingEv @ 125 NONAME
+	_ZThn108_N7CPppLcp5ErrorEi @ 126 NONAME
+	_ZThn112_N7CPppLcp10FsmLayerUpEv @ 127 NONAME
+	_ZThn112_N7CPppLcp12FsmLayerDownEi @ 128 NONAME
+	_ZThn112_N7CPppLcp15FsmLayerStartedEv @ 129 NONAME
+	_ZThn112_N7CPppLcp16FsmLayerFinishedEi @ 130 NONAME
+	_ZThn112_N7CPppLcp16FsmRecvConfigAckER14RPppOptionList @ 131 NONAME
+	_ZThn112_N7CPppLcp16FsmRecvConfigNakER14RPppOptionListS1_ @ 132 NONAME
+	_ZThn112_N7CPppLcp18FsmAckOptionsValidER14RPppOptionListS1_ @ 133 NONAME
+	_ZThn112_N7CPppLcp18FsmRecvUnknownCodeEhhiR10RMBufChain @ 134 NONAME
+	_ZThn112_N7CPppLcp19FsmRecvConfigRejectER14RPppOptionListS1_ @ 135 NONAME
+	_ZThn112_N7CPppLcp21FsmApplyConfigRequestER14RPppOptionList @ 136 NONAME
+	_ZThn112_N7CPppLcp21FsmCheckConfigRequestER14RPppOptionListS1_S1_S1_ @ 137 NONAME
+	_ZThn112_N7CPppLcp21FsmRejectOptionsValidER14RPppOptionListS1_ @ 138 NONAME
+	_ZThn112_N7CPppLcp23FsmFillinConfigRequestLER14RPppOptionList @ 139 NONAME
+	_ZThn112_N7CPppLcp27FsmTerminationPhaseCompleteEv @ 140 NONAME
+	_ZThn112_N7CPppLcp28FsmConfigRequestOptionsValidER14RPppOptionList @ 141 NONAME
+	_ZThn112_N7CPppLcpD0Ev @ 142 NONAME
+	_ZThn112_N7CPppLcpD1Ev @ 143 NONAME
 
--- a/linklayerprotocols/pppnif/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// PPP networking protocol
-// 
-//
-
-/**
- @file
-*/
-
-#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-
-#include "../version1/group/BLD.INF"
-
-#else
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-PRJ_EXPORTS
-
-../group/ppp.iby              			/epoc32/rom/include/ppp.iby
-
-../INC/PPPConfig.h                      SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppconfig.h)
-../INC/PPPConfig.inl                    SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppconfig.inl)
-../INC/csdavailabilitylistener.h                SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/csdavailabilitylistener.h)
-../INC/PPPBASE.H                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppbase.h)
-../INC/PPPBASE.INL              		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppbase.inl)
-../INC/PPPCCP.H                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppccp.h)
-../INC/PPPCFG.H                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppcfg.h)
-../INC/PPPCOMP.H                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppcomp.h)
-../INC/PPPDEF.H                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppdef.h)
-../INC/PPPLCP.H                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ppplcp.h)
-../INC/PPPLCP.INL               		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ppplcp.inl)
-../INC/PPPSOCK.H                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppsock.h)
-../INC/PPPSOCK.INL              		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppsock.inl)
-../INC/VJ.H                     		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vj.h)
-../INC/vj.inl                   		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vj.inl)
-../INC/vjcomp.inl               		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vjcomp.inl)
-../INC/VJDECOMP.INL             			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vjdecomp.inl)
-../INC/VJIF.H                   		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vjif.h)
-../INC/PppProg.h                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppprog.h)
-
-../INC/in_tcp.h                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_tcp.h)
-../INC/in_tcp.inl               		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_tcp.inl)
-../INC/in_ip.h                  		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_ip.h)
-../INC/in_ip.inl                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_ip.inl)
-../INC/in_std.h                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_std.h)
-
-../INC/PPPDEBUG.h				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppdebug.h)
-
-#include "../data/bld.inf"
-
-PRJ_MMPFILES
-
-../group/PPPMainDll.mmp
-../group/PPP.MMP
-../group/VJCOMP.MMP
-
-
-PRJ_TESTEXPORTS
-
-// testexecute te_ppp 
-../te_ppp/group/te_ppp.iby			/epoc32/rom/include/te_ppp.iby
-../te_ppp/scripts/te_ppp.script		/epoc32/data/z/testdata/scripts/te_ppp.script
-
-../te_ppp/group/te_ppp.cfg      	/epoc32/data/z/private/101f7989/esock/te_ppp.cfg
-../te_ppp/group/te_ppp.cfg      	/epoc32/winscw/c/private/101f7989/esock/te_ppp.cfg
-
-// scheduletest ts_dummyoveralltest
-../te_ppp/dummyppp/group/dummyppp.iby		/epoc32/rom/include/dummyppp.iby
-
-// TE_PPPSize IBY
-../te_pppsize/group/te_pppsize.iby			/epoc32/rom/include/te_pppsize.iby
-
-// TE_PPPSize
-../te_pppsize/scripts/te_pppsize.script		z:/testdata/scripts/te_pppsize.script
-../te_pppsize/scripts/te_pppsize.ini		z:/testdata/configs/te_pppsize.ini
-../te_pppsize/scripts/te_pppsize.xml		z:/testdata/configs/te_pppsize.xml
-
-#include "../te_ppp/te_pppcomp/group/bld.inf"
-#include "../te_ppp/te_vjcomp/group/bld.inf"
-#include "../te_ppp/te_incoming_ppp/group/bld.inf"
-#include "../te_ppp/TS_dummyppp/group/bld.inf"
-
-
-PRJ_TESTMMPFILES
-
-../te_ppp/dummyppp/group/dummyppp.mmp
-../te_pppsize/group/te_pppsize.mmp
-
-
-#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/linklayerprotocols/pppnif/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,106 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// PPP networking protocol
+// 
+//
+
+/**
+ @file
+*/
+
+#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+#include "../version1/group/BLD.INF"
+
+#else
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+PRJ_EXPORTS
+
+../group/ppp.iby              			/epoc32/rom/include/ppp.iby
+
+../INC/PPPConfig.h                      SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppconfig.h)
+../INC/PPPConfig.inl                    SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppconfig.inl)
+../INC/csdavailabilitylistener.h                SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/csdavailabilitylistener.h)
+../INC/PPPBASE.H                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppbase.h)
+../INC/PPPBASE.INL              		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppbase.inl)
+../INC/PPPCCP.H                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppccp.h)
+../INC/PPPCFG.H                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppcfg.h)
+../INC/PPPCOMP.H                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppcomp.h)
+../INC/PPPDEF.H                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppdef.h)
+../INC/PPPLCP.H                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ppplcp.h)
+../INC/PPPLCP.INL               		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ppplcp.inl)
+../INC/PPPSOCK.H                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppsock.h)
+../INC/PPPSOCK.INL              		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppsock.inl)
+../INC/VJ.H                     		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vj.h)
+../INC/vj.inl                   		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vj.inl)
+../INC/vjcomp.inl               		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vjcomp.inl)
+../INC/VJDECOMP.INL             			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vjdecomp.inl)
+../INC/VJIF.H                   		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/vjif.h)
+../INC/PppProg.h                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppprog.h)
+
+../INC/in_tcp.h                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_tcp.h)
+../INC/in_tcp.inl               		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_tcp.inl)
+../INC/in_ip.h                  		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_ip.h)
+../INC/in_ip.inl                		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_ip.inl)
+../INC/in_std.h                 		SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/in_std.h)
+
+../INC/PPPDEBUG.h				SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/pppdebug.h)
+
+#include "../data/bld.inf"
+
+PRJ_MMPFILES
+
+../group/PPPMainDll.mmp
+../group/PPP.MMP
+../group/VJCOMP.MMP
+
+
+PRJ_TESTEXPORTS
+
+// testexecute te_ppp 
+../te_ppp/group/te_ppp.iby			/epoc32/rom/include/te_ppp.iby
+../te_ppp/scripts/te_ppp.script		/epoc32/data/z/testdata/scripts/te_ppp.script
+
+../te_ppp/group/te_ppp.cfg      	/epoc32/data/z/private/101f7989/esock/te_ppp.cfg
+../te_ppp/group/te_ppp.cfg      	/epoc32/winscw/c/private/101f7989/esock/te_ppp.cfg
+
+// scheduletest ts_dummyoveralltest
+../te_ppp/dummyppp/group/dummyppp.iby		/epoc32/rom/include/dummyppp.iby
+
+// TE_PPPSize IBY
+../te_pppsize/group/te_pppsize.iby			/epoc32/rom/include/te_pppsize.iby
+
+// TE_PPPSize
+../te_pppsize/scripts/te_pppsize.script		z:/testdata/scripts/te_pppsize.script
+../te_pppsize/scripts/te_pppsize.ini		z:/testdata/configs/te_pppsize.ini
+../te_pppsize/scripts/te_pppsize.xml		z:/testdata/configs/te_pppsize.xml
+
+#include "../te_ppp/te_pppcomp/group/bld.inf"
+#include "../te_ppp/te_vjcomp/group/bld.inf"
+#include "../te_ppp/te_incoming_ppp/group/bld.inf"
+#include "../te_ppp/TS_dummyppp/group/bld.inf"
+
+
+PRJ_TESTMMPFILES
+
+../te_ppp/dummyppp/group/dummyppp.mmp
+../te_pppsize/group/te_pppsize.mmp
+
+
+#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
--- a/linklayerprotocols/slipnif/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,30 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// SLIP networking protocol
-// 
-//
-
-/**
- @file
-*/
-
-
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-PRJ_MMPFILES
-
-../group/SLIP.MMP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/linklayerprotocols/slipnif/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,30 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// SLIP networking protocol
+// 
+//
+
+/**
+ @file
+*/
+
+
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+PRJ_MMPFILES
+
+../group/SLIP.MMP
--- a/linklayerprotocols/tunnelnif/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-
-#include "../version1/group/BLD.INF"
-
-#else
-
-PRJ_EXPORTS
-
-../include/tunnelnifvar.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(tunnelnifvar.h)
-
-
-PRJ_MMPFILES
-
-tunnelnif.mmp
-
-
-#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/linklayerprotocols/tunnelnif/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,34 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+#include "../version1/group/BLD.INF"
+
+#else
+
+PRJ_EXPORTS
+
+../include/tunnelnifvar.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(tunnelnifvar.h)
+
+
+PRJ_MMPFILES
+
+tunnelnif.mmp
+
+
+#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+
--- a/networkcontrol/commsuserpromptmgr/state/src/netupsstatemachine.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/commsuserpromptmgr/state/src/netupsstatemachine.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -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:
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,26 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+PRJ_EXPORTS
+../group/ipcpr.iby /epoc32/rom/include/ipcpr.iby
+
+PRJ_MMPFILES
+ipcpr.mmp
+
+PRJ_TESTMMPFILES
+
+#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/group/ipcpr.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __IPCPR_IBY__
+#define __IPCPR_IBY__
+
+REM IP Connection Provider
+
+ECOM_PLUGIN(ipcpr.dll,102070ED.rss)
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/group/ipcpr.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,52 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// ipcpr.MMP New IP Connection Provider ECOM plugin with BM support
+// 
+//
+
+/**
+ @file
+*/
+
+TARGET          ipcpr.dll
+TARGETTYPE      PLUGIN
+
+UID             0x10009D8D 0x102070ED
+VENDORID 		 0x70000001
+
+SOURCEPATH      ../src
+SOURCE          ipcprprovider.cpp ipcprfactory.cpp
+
+USERINCLUDE     ../inc
+
+SYSTEMINCLUDE   /epoc32/include
+SYSTEMINCLUDE   /epoc32/include/ecom
+SYSTEMINCLUDE   /epoc32/include/comms-infras
+
+START RESOURCE 102070ED.rss
+TARGET ipcpr.rsc
+END
+
+LIBRARY         euser.lib esock.lib esocksvr.lib eintsock.lib insock.lib
+LIBRARY			netmeta.lib
+LIBRARY         agentdialog.lib
+LIBRARY         commsdat.lib
+
+#include	    "comms-infras/commsdebugutility.mmh"
+
+CAPABILITY ALL -Tcb
+
+UNPAGED
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/group/networking_ipcpr.history.xml	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,12 @@
+<?xml version="1.0"?>
+<relnotes schema="1.0.0" name="Connection Provider Plugin" purpose="" type="component">
+  <revision major="1" functional="0" minor="0" date="20070802">
+    <ref name="PDEF110098" type="defect"/>
+    <description>Enabling IAP commsdat records to be protected with the ECDPrivate attribute. This requires that the DHCP and DND components are assigned the ReadDeviceData privilege and that various changes are made to ensure hidden IAP records are visible to networking components which need to be able to read them.</description>
+  </revision>
+  <purpose>
+  </purpose>
+  <defect number="PDEF102399" title="S60_MuDo_2006_wk49: Reconnecting to live video stream fails" revision="001">
+    Cause reconnect when RConnection::Start collides with Idle Timer Stop
+  </defect>
+</relnotes>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/group/networking_ipcpr.mrp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+component		networking_ipcpr
+source			\sf\os\networkingsrv\networkcontrol\ipcpr
+binary			\sf\os\networkingsrv\networkcontrol\ipcpr\group	all
+exports			\sf\os\networkingsrv\networkcontrol\ipcpr\group
+notes_source	\component_defs\release.src
+
+
+ipr E 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/inc/MAppIdInfo.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,40 @@
+// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// MAppIdInfo definition file.
+// 
+//
+
+/**
+ @file
+ @internalComponent
+*/
+
+#ifndef MAPPID_INFO_H
+#define MAPPID_INFO_H
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+const TUint32 KConnectionAppInfoInterfaceId = 0x102070EF;
+class MConnectionAppIdInfo      
+/**
+ @internalComponent
+ @released Since 9.3
+ */
+{
+public:
+	// This function is used the get Secure ID of the application
+	
+	virtual TUint32 GetAppSecureId() = 0; 
+};
+#endif // SYMBIAN_NETWORKING_UMTSR5
+
+#endif	// MAPPID_INFO_H
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/inc/ipcprfactory.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,136 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+/**
+ @file IPCPRFACTORY.H
+ @internalComponent
+*/
+
+#if !defined(__IPCPRFACTORY_H__)
+#define __IPCPRFACTORY_H__
+
+#include <ss_connprov.h> // CConnectionProviderFactoryBase, MCommsFactoryQuery
+#include <in_sock.h> // KAfInet
+#include <agentdialog.h> // RGenConAgentDialogServer
+#include <commsdebugutility.h> // __FLOG_DECLARATION_MEMBER
+
+const TUint KIPConnectionProviderFactoryId = KAfInet;
+
+class XConnectionIPFactoryQuery : public MCommsFactoryQuery
+	{
+public:
+	XConnectionIPFactoryQuery( CConnectionProviderBase* aConnectionProviderBase ) :
+		iConnectionProviderBase( aConnectionProviderBase )
+		{
+		}
+
+protected:
+	CConnectionProviderBase* iConnectionProviderBase;
+
+public:
+	virtual TMatchResult Match( TFactoryObjectInfo& aConnectionInfo );
+	};
+
+class CIPNetworkProviderFactory : public CConnectionProviderFactoryBase
+	{
+public:
+	static CIPNetworkProviderFactory* NewL(TAny* aParentContainer);
+
+protected:   
+	CIPNetworkProviderFactory(TUint aFactoryId, CConnectionFactoryContainer& aParentContainer);
+	virtual CConnectionProviderBase* DoCreateProviderL();
+	virtual MProviderSelector* DoSelectProvider( Meta::SMetaData& aPreferences, ISelectionNotify& aSelectionNotify, const RMessagePtr2* aMessage );
+	virtual MProviderSelector* DoSelectNextLayerProvider( Meta::SMetaData& aPreferences, ISelectionNotify& aSelectionNotify, const RMessagePtr2* aMessage );
+	virtual void DoEnumerateConnectionsL(RPointerArray<TConnectionInfo>& aConnectionInfoPtrArray);
+	};
+
+class TCommIdList;
+namespace ESock
+	{
+	class CConnStart;
+	}
+namespace  CommsDat
+	{
+	class CMDBSession;
+	class CCDGlobalSettingsRecord;
+    class CCDIAPPrioritySelectionPolicyRecord;
+	}
+
+class CIPConnectionSelector : public CActive, public MProviderSelector
+/** IP-layer connection selector. IP level factory creates
+these to intercept and complete the Shim layer selection
+it triggers.
+
+@internalComponent
+@released Since 9.1
+*/
+	{
+public:
+	TInt Select(Meta::SMetaData& aPreferences, const RMessagePtr2* aMessage);
+	void SelectComplete(CConnectionProviderBase* aConnProvider, TInt aError);
+	void ProgressNotification(TInt aStage, TInt aError);
+	void LayerUp(TInt aError);
+	void ServiceChangeNotification(TUint32 aId, const TDesC& aType);
+	void SubConnectionEvent(CSubConnectionProviderBase* aSubConnNextLayerProvider, const TSubConnectionEvent& aSubConnectionEvent);
+	void Detach();
+	
+	virtual TInt Cancel();
+	virtual TInt Cancel(TInt aReason, const RMessage2* aMessage);
+
+	//Only my own factory can create me but the constructor may be public because noone can link against it anyway.
+	//My factory could be my friend and the constructor priate but then my factory could mistakenly delete me!
+	CIPConnectionSelector(ISelectionNotify& aNotify, CIPNetworkProviderFactory& aFactory);
+
+private:
+	virtual ~CIPConnectionSelector(); //Nobody should delete me! Only I can delete myself.
+
+	// From CActive
+	virtual void DoCancel();
+	virtual void RunL();
+	virtual TInt RunError(TInt aError);
+
+    // Helper functions
+	static TInt DestroyMyself(TAny* aSelf);
+	void SelectL(Meta::SMetaData& aPreferences);
+	void SelectLinkLayerL();
+	void FillListL(CommsDat::CCDIAPPrioritySelectionPolicyRecord& aPolicy);
+    CommsDat::CCDGlobalSettingsRecord* LoadGlobalSettingsRecordLC();
+    CommsDat::CCDIAPPrioritySelectionPolicyRecord* LoadPolicyRecordLC(TInt aAccessPoint);
+
+private:
+    //ISelectionNotify must be stored by value, cos' it's just a short-lived wrapper class.
+    //It doesn't exist as a someone that waits for the completion, but stores refereneces
+    //to the one that does.
+    ISelectionNotify iNotify;
+    CIPNetworkProviderFactory& iFactory;
+    MProviderSelector* iNextLayerSelector;
+	RGenConAgentDialogServer iDlgServ;
+	TUint32 iAPid;
+	RMessagePtr2 iSelectMessage;
+	CAsyncCallBack iAsyncDestructor;
+	CommsDat::CMDBSession* iDbs;
+	ESock::CConnStart* iConnStart;
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+	TSecureId iAppSecureId;
+#endif 
+	__FLOG_DECLARATION_MEMBER;
+	TConnPref* iPrefs;
+	};
+
+#endif // __IPCPRFACTORY_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/inc/ipcprprovider.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,141 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This class is an example implementation of a bearer-mobile network session layer. It is intended as a guide only and does
+* not employ any advanced bearer selection algorithms.
+* This is part of an ECOM plug-in
+* 
+*
+*/
+
+
+
+/**
+ @file IPCPRPROVIDER.H
+ @internalComponent
+*/
+
+#if !defined(__SS_IPCPRPROVIDER_H__)
+#define __SS_IPCPRPROVIDER_H__
+
+#include "ipcprfactory.h"	// for CIPConnectionSelector
+#include <es_sock.h>
+#include <es_prot.h>
+#include <ss_connprov.h>	// for CConnectionProviderBase and MConnectionControlClient
+#include <comms-infras/ss_log.h>			// for KESockConnectionTag
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5	
+
+#include "MAppIdInfo.h"
+
+#endif
+
+#define KIpcprTag KESockConnectionTag
+_LIT8(KIpcprSubTag, "ipcpr");		// logging tag
+
+
+	
+
+class CConnectionSettings;
+/**
+ @internalComponent
+ @released Since 9.1
+ */
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+NONSHARABLE_CLASS(CIPNetworkConnectionProvider) : public CConnectionProviderBase, public MConnectionControlClient, 
+												  public MConnectionAppIdInfo
+	{
+#else // SYMBIAN_NETWORKING_UMTSR5	
+
+NONSHARABLE_CLASS(CIPNetworkConnectionProvider) : public CConnectionProviderBase, public MConnectionControlClient
+	{
+
+#endif // SYMBIAN_NETWORKING_UMTSR5	
+
+public:
+	static CIPNetworkConnectionProvider* NewL(CConnectionProviderFactoryBase& aFactory);
+	
+#ifdef SYMBIAN_NETWORKING_UMTSR5	
+	// Interface from MConnectionAppIdInfo
+	virtual TUint32 GetAppSecureId(); 
+
+	void SetAppSecurId(TUint32 aSecureId);
+#endif // SYMBIAN_NETWORKING_UMTSR5	
+   
+protected:
+	CIPNetworkConnectionProvider(CConnectionProviderFactoryBase& aFactory) :
+		CConnectionProviderBase(aFactory)
+			{
+      	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider [this=%08x]:\tCIPNetworkConnectionProvider [MConnectionControlClient=%08x]"),
+      	   this, (MConnectionControlClient*)this));
+			}
+	~CIPNetworkConnectionProvider();
+	
+	/////////////////////////////////////////////////////////////////////////////
+	// from MConnectionControlClient
+	virtual void ConnectionGoingDown(CConnectionProviderBase& aConnProvider);
+	virtual void ProgressNotification(TInt aStage, TInt aError);
+	virtual void ConnectionError(TInt aStage,  TInt aError);
+	virtual void ServiceChangeNotification(TUint32 aId, const TDesC& aType);
+	virtual void SubConnectionEvent(CSubConnectionProviderBase* aSubConnNextLayerProvider, const TSubConnectionEvent& aSubConnectionEvent);
+	virtual void LayerUp(TInt aError);
+	virtual TCtlType CtlType() const;
+
+	////////////////////////////////////////////////////////////////////////////
+	// from CConnectionProviderBase
+#ifdef SYMBIAN_NETWORKING_UMTSR5		
+	virtual TAny* DoFetchInterfaceInstanceL( const STypeId& aTid );
+#endif	
+	
+	virtual void DoDataClientJoiningL(MConnectionDataClient& aDataClient);
+	virtual void DoDataClientLeaving(MConnectionDataClient& aDataClient);
+	virtual void DoControlClientJoiningL(MConnectionControlClient& aControlClient);
+	virtual void DoControlClientLeaving(MConnectionControlClient& aControlClient);
+
+	virtual void DoStartL(Meta::SMetaData& aParams, const RMessagePtr2* aMessage);	
+	virtual TInt DoStop(TInt aError, const RMessagePtr2* aMessage);   
+
+	virtual void DoProgressL(Meta::SMetaData& aBuffer) const;
+	virtual void DoLastProgressError(Meta::SMetaData& aBuffer);
+	virtual void DoRequestServiceChangeNotificationL();
+	virtual void DoCancelServiceChangeNotification();
+	virtual void DoControlL(TUint aOptionLevel, TUint aOptionName, Meta::SMetaData& aOption, const RMessagePtr2* aMessage);
+	virtual TInt DoAllSubConnectionNotificationEnable();
+	virtual TInt DoCancelAllSubConnectionNotification();
+	virtual void DoSendIoctlMessageL(const RMessage2& aMessage);
+	virtual void DoSendCancelIoctl();   
+	virtual TInt DoEnumerateSubConnectionsL(TUint& aCount);
+	virtual TUint DoEnumerateClientsL(HBufC8*& aClientInfoBuffer, TEnumClients aClientType);
+	virtual void DoConnectionControlActivityL( TControlActivity aControlActivity, const Meta::SMetaData* aData, const RMessagePtr2* aMessage );
+
+	virtual CConnectionSettings& DoSettingsAccessL();
+
+	virtual TInt DoCanDoSubConnection(RSubConnection::TSubConnType aSubConnType) const;
+
+	virtual CConnectionProviderBase* DoNextLayer() const;
+	virtual void DoJoinNextLayerL(CConnectionProviderBase* aNextLayer);
+
+protected:
+	void UpdateUsageProfile(MConnectionControlClient* aControlClient);
+
+private:
+	CConnectionProviderBase* iShimCpr;
+	TMetaDes8* iMDes;
+#ifdef SYMBIAN_NETWORKING_UMTSR5	
+	// Added as per the requirements of PREQ 635 to block sockets
+	TUint32		iAppSecureId;
+#endif // SYMBIAN_NETWORKING_UMTSR5	
+	};
+
+#endif // __SS_IPCPRPROVIDER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/src/102070ED.rss	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,60 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Registry info for IP Networking Connection Provider plug-in
+// 
+//
+
+/**
+ @file 102070ED.RSS
+*/
+
+#include <ecom/registryinfo.rh>
+
+RESOURCE REGISTRY_INFO theInfo
+{
+dll_uid =  0x102070ED;
+interfaces = 
+    {
+    INTERFACE_INFO
+        {
+        interface_uid =  0x102070EE;
+        implementations = 
+            {
+           IMPLEMENTATION_INFO
+                {
+                implementation_uid = 0x102070EF;
+                version_no = 1;
+                display_name = "IP Networking Connection Provider Factory";
+                default_data = "IpConnectionProviderFactory";
+                opaque_data = "";
+                }
+            };
+        },
+    INTERFACE_INFO
+        {
+        interface_uid = 0x102070F0;
+        implementations = 
+            {
+           IMPLEMENTATION_INFO
+                {
+                implementation_uid = 0x102070F1;
+                version_no = 1;
+                display_name = "IP Networking Connection Provider";
+                default_data = "IpConnectionProvider";
+                opaque_data = "";
+                }
+            };
+        }
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/src/ipcprfactory.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,486 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This is part of an ECOM plug-in
+// 
+//
+
+#include <implementationproxy.h>
+#include "ipcprfactory.h"	// CIPNetworkProviderFactory
+#include "ipcprprovider.h"
+#include <es_sock.h>        // KCommsNetworkLayerId
+#include <ss_glob.h>
+#include <shimcprfactory.h>
+#include <esockmessages.h>
+#include <commdbconnpref.h> // TConnPref
+#include <commsdattypesv1_1.h> // CommsDat
+#include <es_connpref.h>
+#include <in_sock.h> //KAfInet
+
+using namespace CommsDat;
+using namespace ESock;
+
+const TInt KIPConnectionProviderImplementationUid=0x102070EF;
+
+/**
+Data required for instantiating ECOM Plugin
+*/
+const TImplementationProxy ImplementationTable[] = 
+	{
+	IMPLEMENTATION_PROXY_ENTRY(KIPConnectionProviderImplementationUid, CIPNetworkProviderFactory::NewL)
+	};
+
+/**
+ECOM Implementation Factory
+*/
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+    return ImplementationTable;
+   }
+
+CIPNetworkProviderFactory* CIPNetworkProviderFactory::NewL(TAny* aParentContainer)
+	{
+ 	return new (ELeave) CIPNetworkProviderFactory(KIPConnectionProviderFactoryId, *(reinterpret_cast<CConnectionFactoryContainer*>(aParentContainer)));
+	}
+   
+CIPNetworkProviderFactory::CIPNetworkProviderFactory(TUint aFactoryId, CConnectionFactoryContainer& aParentContainer)
+	: CConnectionProviderFactoryBase(aFactoryId,aParentContainer)
+	{
+	}
+   
+CConnectionProviderBase* CIPNetworkProviderFactory::DoCreateProviderL()
+	{
+    return CIPNetworkConnectionProvider::NewL(*this);
+	}
+
+MProviderSelector* CIPNetworkProviderFactory::DoSelectProvider( Meta::SMetaData& aPreferences, ISelectionNotify& aSelectionNotify, const RMessagePtr2* aMessage )
+	{
+	//create self destructing object to select a provider
+	CIPConnectionSelector* selector = new CIPConnectionSelector(aSelectionNotify,*this);
+	TInt error;
+	if (selector == 0)
+		{
+		error = KErrNoMemory;
+		}
+	else
+		{
+		error = selector->Select(aPreferences, aMessage);
+		}
+
+	if (error != KErrNone)
+		{
+		aSelectionNotify.SelectComplete(0, error);
+		selector = NULL; //The selector will delete itself.
+		}
+
+ 
+	return selector;
+  	}
+
+MProviderSelector* CIPNetworkProviderFactory::DoSelectNextLayerProvider( Meta::SMetaData& aPreferences, ISelectionNotify& aSelectionNotify, const RMessagePtr2* /*aMessage*/ )
+	{//at the moment always uses the CConnectionProviderFactoryShim::SelectProviderL
+   (void)aPreferences;
+   (void)aSelectionNotify;
+   return NULL;
+	}
+	
+void CIPNetworkProviderFactory::DoEnumerateConnectionsL(RPointerArray<TConnectionInfo>& aConnectionInfoPtrArray)
+	{
+	CConnectionFactoryContainer* connectionFactories = SockManGlobals::Get()->iConnectionFactories;
+	ASSERT(connectionFactories);
+	CConnectionProviderFactoryBase* factory = connectionFactories->FindFactory(KShimConnectionProviderFactoryId);
+	ASSERT(factory);
+	factory->EnumerateConnectionsL(aConnectionInfoPtrArray);
+	}
+
+
+//CIPConnectionSelector--
+TInt CIPConnectionSelector::Cancel()
+	{
+	return Cancel(KErrCancel,NULL);
+	}
+
+TInt CIPConnectionSelector::Cancel(TInt aReason, const RMessage2* aMessage)
+	{
+	CActive::Cancel(); // There may be an outstanding selection request.
+
+    //CIPConnectionSelector will be deleted from Detach().
+    //Detach will always be called as a result of Cancel() in the same call stack,
+    //but only after all progress notifications have been passed up towards the
+    //CConnection.
+    TInt ret = KErrNotReady;
+    if(iNextLayerSelector !=NULL)
+    	{
+    	ret = iNextLayerSelector->Cancel(aReason, aMessage);
+    	}
+
+	iNotify.Detach(); //"PrevLayer"::Detach() will be called only once in the same call stack.
+	return ret;
+	}
+
+TInt CIPConnectionSelector::Select(Meta::SMetaData& aPreferences, const RMessagePtr2* aMessage)
+    {
+	__FLOG_OPEN(KIpcprTag, KIpcprSubTag);
+	__FLOG_1(_L8("CIPConnectionSelector::Select() %08x"), this);
+
+	STypeId tId = STypeId::CreateSTypeId(aPreferences.GetTypeId());
+    ASSERT(tId.iUid.iUid == KESockMessagesImplementationUid);
+	ASSERT(tId.iType == EESockMessageConnStart);	
+
+	if (aMessage)
+		iSelectMessage = *aMessage; // aMessage will be passed on to shim
+#ifdef SYMBIAN_NETWORKING_UMTSR5	
+     //Here secure Id of application is stored and will be kept with  
+    if(!iSelectMessage.IsNull())
+     {
+		iAppSecureId=iSelectMessage.SecureId();
+     }
+#endif // SYMBIAN_NETWORKING_UMTSR5	            
+ 
+    TRAPD(r, SelectL(aPreferences));
+	
+	if (r!=KErrNone && iNextLayerSelector==NULL)
+		{
+		__FLOG_1(_L8("Error during selection of current  - should detech now %08x"), this);
+ 		Detach();
+		return r;
+ 		}
+ 		
+ 	TRAP(r,SelectLinkLayerL());
+ 	if (r != KErrNone)
+ 		{
+ 		__FLOG_1(_L8("Error during select of link layer - detach should be called by the link layer %08x"), this);
+ 		}
+	
+	return r;
+	}
+
+void CIPConnectionSelector::SelectL(Meta::SMetaData& aPreferences)
+	{
+	ASSERT(iDbs==0);
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+	iDbs = CMDBSession::NewL(KCDVersion1_2);
+#else
+	iDbs = CMDBSession::NewL(KCDVersion1_1);
+#endif
+
+	// Reveal hidden or private IAP records if a licensee has chosen to protect a record
+	// using one of these flags - the API to do this is public so internal components
+	// have to support the use of such records.
+	iDbs->SetAttributeMask( ECDHidden | ECDPrivate );
+	
+	ASSERT(iConnStart==0);
+	iConnStart = CConnStart::NewL();
+	iConnStart->Copy(aPreferences);
+
+	// Get "defaultSnap" and "promptForSnap" from CommsDat.
+    CCDGlobalSettingsRecord* gs = LoadGlobalSettingsRecordLC();
+	TBool promptForSnap = gs->iPromptForSnap;
+	iAPid = gs->iDefaultSnap; // Unless reassigned, iAPid becomes the default access point.
+	CleanupStack::PopAndDestroy(gs);
+
+	__FLOG_STMT(_LIT(K, "SelectL() Prompt%d Def%d"));
+	__FLOG_2(K, promptForSnap, iAPid);
+
+	if (iAPid != 0)
+    	// System is access point aware.
+    	{
+		TConnStartType selectType(iConnStart->StartType());
+		TConnPref* selectPrefs = iConnStart->ConnPrefs();
+		
+		if (selectType == EConnStartImplicit ||
+			selectPrefs == 0 || selectPrefs->ExtensionId() == TConnPref::EConnPrefUnknown)
+			// Use default access point or dialogue if enabled.
+			{
+			__FLOG_STMT(_LIT(K, "SelectL() Default Type%d Prefs%d"));
+			__FLOG_2(K, selectType, selectPrefs);
+
+			// Use the default access point unless promptForSnap is ETrue in which case prompt
+			// for the access point.
+			if (promptForSnap)
+				{
+				User::LeaveIfError(iDlgServ.Connect());
+				iDlgServ.AccessPointConnection(iAPid,KAfInet,iStatus);
+				SetActive();
+				return; // Don't do selection until RunL() gets the dialogue results.
+				}
+
+			CCDIAPPrioritySelectionPolicyRecord* policy = LoadPolicyRecordLC(iAPid);
+			FillListL(*policy);
+			CleanupStack::PopAndDestroy(policy);
+			}
+		else if (selectPrefs && selectPrefs->ExtensionId() == TConnPref::EConnPrefSnap)
+			// Use access point id from preferences.
+			{
+			iAPid = static_cast<const TCommSnapPref*>(selectPrefs)->Snap();
+
+			__FLOG_STMT(_LIT(K, "SelectL() Type%d TConnPrefSnap AccessPoint%d "));
+			__FLOG_2(K, selectType, iAPid);
+
+			CCDIAPPrioritySelectionPolicyRecord* policy = LoadPolicyRecordLC(iAPid);
+			FillListL(*policy);
+			CleanupStack::PopAndDestroy(policy);
+			}
+		}
+	}
+
+void CIPConnectionSelector::FillListL(CCDIAPPrioritySelectionPolicyRecord& aPolicy)
+	{
+	__FLOG_0(_L("FillListL()"));
+
+	// Make sure we have the TCommIdList.
+	
+	// Create the new Prefs on the heap so that they are always available 
+	// even in the asynchronous promptForSnap Active Object callback
+	// The copy of the original Prefs are overwritten here
+	// The original Prefs are deleted in esock.  
+	// The new Prefs are deleted on destruction of CIPConnectionSelector
+	
+	iConnStart->SetConnPrefs(NULL);
+	iConnStart->SetConnPrefs(new (ELeave) TCommIdList);
+	
+	// Store Prefs for deletion on destruction of CIPConnectionSelector
+	ASSERT(iPrefs==0);
+	iPrefs = iConnStart->ConnPrefs();
+	
+	TCommIdList& list = *static_cast<TCommIdList*>(iPrefs);
+
+	CMDBRecordLink<CCDIAPRecord>* theIap = &aPolicy.iIap1;
+	CMDBField<TUint32>* theCount = &aPolicy.iIapCount;
+	TInt count = static_cast<TInt>(*theCount);
+	if (count > CCDIAPPrioritySelectionPolicyRecord::EMaxNrOfIaps)
+		{		
+		// The number of IAP's specified is more than allowed. Fix your table :-)
+		ASSERT(EFalse);
+		count = CCDIAPPrioritySelectionPolicyRecord::EMaxNrOfIaps;
+		}	
+	for (TInt i = 0; i < count; i++, theIap++)
+		{
+		TInt theIapNumber = static_cast<TInt>(*theIap);
+		ASSERT(theIapNumber>0);
+		__FLOG_STMT(_LIT(K, "aList[%d].Append(%d)"));
+		__FLOG_2(K, list.Count(), theIapNumber);
+		list.Append(theIapNumber);
+		}
+	}
+
+void CIPConnectionSelector::SelectLinkLayerL()
+	{
+	CConnectionFactoryContainer* connectionFactories = SockManGlobals::Get()->iConnectionFactories;
+	ASSERT(connectionFactories);
+	CConnectionProviderFactoryBase* factory = connectionFactories->FindFactory(KShimConnectionProviderFactoryId);
+	ASSERT(factory);
+	ISelectionNotify selectNotify( this, TSelectionNotify<CIPConnectionSelector>::SelectComplete, 
+	                                     TProgressNotify<CIPConnectionSelector>::ProgressNotification,
+	                                     TServiceChangeNotify<CIPConnectionSelector>::ServiceChangeNotification,
+	                                     TLayerUp<CIPConnectionSelector>::LayerUp,
+	                                     TSubConnectionEventTmpl<CIPConnectionSelector>::SubConnectionEvent, NULL);
+	selectNotify.RegisterDetach(TDetachNotify<CIPConnectionSelector>::Detach);
+
+	if (iNextLayerSelector!=NULL)
+		iNextLayerSelector->Cancel();
+	
+	// Select next (link) layer's provider.
+	ASSERT(iNextLayerSelector==NULL);
+	ASSERT(iConnStart!=NULL);
+
+	iNextLayerSelector = factory->SelectProvider(*iConnStart, selectNotify, iSelectMessage.IsNull()? NULL : &iSelectMessage);
+    
+    if (iNextLayerSelector == NULL)
+		{
+		User::Leave(KErrGeneral);
+		}
+
+    }
+
+void CIPConnectionSelector::SelectComplete(CConnectionProviderBase* aConnProvider, TInt aError)
+    {
+    CIPNetworkConnectionProvider* connProvider = NULL;
+    if (aError == KErrNone)
+        {
+        ASSERT(aConnProvider);
+        XConnectionIPFactoryQuery query(aConnProvider);
+
+        TRAP( aError, connProvider = static_cast<CIPNetworkConnectionProvider*>(iFactory.FindOrCreateProviderL(query)));
+        if (aError == KErrNone && connProvider->NextLayer() == NULL)
+            {
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5	
+			// This piece of code is added to keep the information about the application secure ID in the 
+			// IP Connection provider. So that when the information is required form the subconnection provider
+			// we can do a fetch interface and get the App Secure ID to decide on to the Socket Blocking			
+                
+              connProvider->SetAppSecurId(iAppSecureId.iId);            
+  
+          
+#endif // SYMBIAN_NETWORKING_UMTSR5	            
+
+            // The factory returned a new instance - must set the lower layer.
+            TRAP(aError,connProvider->JoinNextLayerL(aConnProvider));
+            }
+        }
+    iNotify.SelectComplete(connProvider, aError);
+    }
+    
+void CIPConnectionSelector::ProgressNotification(TInt aStage, TInt aError)
+    {
+    //The original ISelectionNotifier (iNotify) might be interested in the
+    //progress, but we aren't.
+    iNotify.ProgressNotification(aStage, aError);
+    }
+
+void CIPConnectionSelector::LayerUp(TInt aError)
+	{
+    iNotify.LayerUp(aError);
+	}
+
+void CIPConnectionSelector::SubConnectionEvent(CSubConnectionProviderBase* aSubConnNextLayerProvider, const TSubConnectionEvent& aSubConnectionEvent)
+	{
+	iNotify.SubConnectionEvent(aSubConnNextLayerProvider, aSubConnectionEvent);
+	}
+	
+void CIPConnectionSelector::ServiceChangeNotification(TUint32 aId, const TDesC& aType)
+	{
+    //The original ISelectionNotifier (iNotify) might be interested in the
+    //notification, but we aren't.
+    iNotify.ServiceChangeNotification(aId, aType);
+	}
+
+void CIPConnectionSelector::Detach()
+	{
+	iNextLayerSelector = NULL;
+	//Ensure the asynch destructor is ready to use.
+	//If its not, then we have probably been already deleted which should never happen.
+	//Detach is the only place we should be deleted from.
+	ASSERT(!iAsyncDestructor.IsActive());
+	__FLOG_1(_L8("CIPConnectionSelector %08x::Detach()"), this);
+	iAsyncDestructor.Call();
+	}
+
+CIPConnectionSelector::CIPConnectionSelector(ISelectionNotify& aNotify, CIPNetworkProviderFactory& aFactory)
+:	CActive(CActive::EPriorityUserInput),
+	iNotify(aNotify),
+	iFactory(aFactory),
+	iAsyncDestructor(CActive::EPriorityLow)
+	{
+	__FLOG_1(_L8("CIPConnectionSelector %08x::CIPConnectionSelector()"), this);
+	CActiveScheduler::Add(this);
+	iAsyncDestructor.Set(TCallBack(CIPConnectionSelector::DestroyMyself, this));
+	
+  	}
+
+TInt CIPConnectionSelector::DestroyMyself(TAny* aSelf)
+	{
+	delete static_cast<CIPConnectionSelector*>(aSelf);
+	return KErrNone;
+	}
+
+CIPConnectionSelector::~CIPConnectionSelector()
+    {
+    __FLOG_CLOSE;
+	CActive::Cancel(); // There may be an outstanding selection request.
+
+	// This destructor is private and is meant to be called asynchronously via Detach() or Cancel() only.
+	// If is was called from anywhere else, the iNextLayerSelector would not be deleted!
+	// Please note that deleting iNextLayerSelector here needs revision on the link layer selectors,
+	// and specifically of the shim selector which - in such case - must not call Detach from its
+	// synchronous destructor!
+	ASSERT(iNextLayerSelector==NULL); // If still a valid pointer - probably not called via Detach() or Cancel().
+
+	delete iDbs;
+	
+	// Tidy up iConnStart and related objects
+	delete iPrefs;
+	delete iConnStart;
+	
+	iDlgServ.Close();
+
+	// Notify detach.
+	iNotify.Detach();
+    }
+
+void CIPConnectionSelector::RunL()
+	// The dialogue has been presented.
+	// Normally completes with KErrNone or KErrCancel
+	// Could, however, complete with another system error e.g. KErrOutOfMemory
+	{
+	__FLOG_STMT(_LIT(K, "RunL() Err%d Snap%d"));
+	__FLOG_2(K, iStatus.Int(), iAPid);
+
+    User::LeaveIfError(iStatus.Int());
+    ASSERT(iAPid); //Should not be 0 now.
+	CCDIAPPrioritySelectionPolicyRecord* policy = LoadPolicyRecordLC(iAPid);
+	FillListL(*policy);
+	CleanupStack::PopAndDestroy(policy);
+	SelectLinkLayerL();
+	}
+
+TInt CIPConnectionSelector::RunError(TInt aError)
+	// Either the dialogue, the FillListL() or the SelectLinkLayerL() failed.
+	// In each case the selection request is completed with the apropriate result code.
+	{
+	iNotify.SelectComplete(0, aError);
+ 	
+ 	//If we have failed before the call to iNextLayerSelector->Select() or it wasn't successful
+ 	//we need to initiate the detach sequence by calling Detach().
+ 	 if (iNextLayerSelector==NULL)
+	 	{
+	 	Detach(); //It will result in self deletion.
+	 	}
+	return KErrNone;
+	}
+
+void CIPConnectionSelector::DoCancel()
+	{
+	iDlgServ.CancelAccessPointConnection();
+	}
+
+CCDGlobalSettingsRecord* CIPConnectionSelector::LoadGlobalSettingsRecordLC()
+	{
+	CCDGlobalSettingsRecord* gs = static_cast<CCDGlobalSettingsRecord*>(CCDConnectionPrefsRecord::RecordFactoryL(KCDTIdGlobalSettingsRecord));
+	CleanupStack::PushL(gs);
+	gs->SetRecordId(1);
+	gs->LoadL(*iDbs);
+	ASSERT(gs->iDefaultSnap.TypeId() == KCDTIdDefaultSnap); // Panics if built against incorrect CommsDat.
+	return gs;
+	}
+
+CCDIAPPrioritySelectionPolicyRecord* CIPConnectionSelector::LoadPolicyRecordLC(TInt aAccessPoint)
+	{
+	// Get access point from CommsDat.
+	CCDAccessPointRecord* apRecord = static_cast<CCDAccessPointRecord*>
+		(CCDConnectionPrefsRecord::RecordFactoryL(KCDTIdAccessPointRecord));
+	CleanupStack::PushL(apRecord);
+	apRecord->SetRecordId(aAccessPoint);
+	apRecord->LoadL(*iDbs);
+	TUint32 policyNumber = apRecord->iSelectionPolicy;
+	CleanupStack::PopAndDestroy(apRecord);
+
+	ASSERT((policyNumber & KCDMaskShowRecordType) == KCDTIdIapPrioritySelectionPolicyRecord);
+
+	CCDIAPPrioritySelectionPolicyRecord* policy = static_cast<CCDIAPPrioritySelectionPolicyRecord*>
+		(CCDConnectionPrefsRecord::RecordFactoryL(KCDTIdIapPrioritySelectionPolicyRecord));
+	CleanupStack::PushL(policy);
+	policy->SetElementId(policyNumber);
+	policy->LoadL(*iDbs);
+	return policy;
+	}
+
+MCommsFactoryQuery::TMatchResult XConnectionIPFactoryQuery::Match( TFactoryObjectInfo& aProviderInfo )
+	{
+	CConnectionProviderBase* prov = static_cast<CConnectionProviderBase*>(aProviderInfo.iInfo.iFactoryObject);
+	//if the next layer is the same as the one returned by the shim selection we have a match
+	return prov->NextLayer() == iConnectionProviderBase ? EMatch : EContinue;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcpr/src/ipcprprovider.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,411 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This class is an example implementation of a bearer-mobile network session. It is intended as a guide only and does
+// not employ any advanced bearer selection algorithms. It is envisaged that users of these classes will want to derive their own
+// implementations from CIPNetworkSession. 
+// This is part of an ECOM plug-in
+// 
+//
+
+#include "ipcprprovider.h"	// for CIPNetworkConnectionProvider
+#include <comms-infras/ss_log.h>
+
+CIPNetworkConnectionProvider* CIPNetworkConnectionProvider::NewL(CConnectionProviderFactoryBase& aFactory)
+	{			
+	CIPNetworkConnectionProvider* p = new (ELeave) CIPNetworkConnectionProvider(aFactory);
+	CleanupStack::PushL(p);
+	p->iMDes = TMetaDes8::NewL(NULL);
+	CleanupStack::Pop(p);
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider::NewL() %08x"), p));
+	return p;	
+	}
+	
+CIPNetworkConnectionProvider::~CIPNetworkConnectionProvider()
+	{
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider   %08x:\t~CIPNetworkConnectionProvider"), this));
+	delete iMDes;
+	if (iShimCpr)
+		{
+		iShimCpr->Leave(*this);
+		}
+	}
+	
+#ifdef SYMBIAN_NETWORKING_UMTSR5	
+
+TUint32 CIPNetworkConnectionProvider::GetAppSecureId()
+	{
+	return iAppSecureId;
+	}
+
+void CIPNetworkConnectionProvider::SetAppSecurId(TUint32 aSecureId)
+	{
+	iAppSecureId = aSecureId;
+	}
+	
+TAny* CIPNetworkConnectionProvider::DoFetchInterfaceInstanceL( const STypeId& aTid )
+	{
+	STypeId typeId = STypeId::CreateSTypeId(KConnectionAppInfoInterfaceId,0);
+	if (typeId == aTid)
+    	{
+    	MConnectionAppIdInfo* ipcpr = static_cast<MConnectionAppIdInfo*>(this);
+    	return ipcpr;
+    	}
+    return NULL;
+	}
+	
+#endif // SYMBIAN_NETWORKING_UMTSR5	
+//
+// from MConnectionControlClient
+void CIPNetworkConnectionProvider::ConnectionGoingDown(CConnectionProviderBase& aConnProvider)
+	{
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider %08x:\tConnectionGoingDown(aConnProvider %08x)"), this, &aConnProvider));
+	if (&aConnProvider == iShimCpr)
+		{
+		iShimCpr = NULL;
+		DeleteMeNow();
+		}
+	}
+
+void CIPNetworkConnectionProvider::ProgressNotification(TInt aStage, TInt aError)
+	{
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider %08x:\tProgressNotification(aStage %d aError %d)"), this, aStage, aError));
+	TInt max = iControlClients.Count();
+	for (TInt i = max - 1 ; i >= 0 ; i--)
+   		{
+	   	iControlClients[i]->ProgressNotification(aStage, aError);
+		}
+	}
+   
+void CIPNetworkConnectionProvider::ConnectionError(TInt aStage,  TInt aError)
+	{
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider %08x:\tConnectionError(aStage %d aError %d)"), this, aStage, aError));
+	TInt max = iControlClients.Count();
+	for (TInt i = max - 1 ; i >= 0 ; i--)
+		{
+		iControlClients[i]->ConnectionError(aStage, aError);
+		}
+	max = iDataClients.Count();
+	for (TInt i = max - 1 ; i >= 0 ; i--)
+		{
+		iDataClients[i]->ConnectionError(aStage, aError);
+		}
+  	}
+   
+void CIPNetworkConnectionProvider::ServiceChangeNotification(TUint32 aId, const TDesC& aType)
+	{	
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider %08x:\tServiceChangeNotification(aId %u aType %s)"), this, aId, &aType));
+   	TInt max = iControlClients.Count();
+	for (TInt i = max - 1 ; i >= 0 ; i--)
+   		{
+	   	iControlClients[i]->ServiceChangeNotification(aId, aType);
+		}
+  	}   
+ 
+void CIPNetworkConnectionProvider::SubConnectionEvent(CSubConnectionProviderBase* aSubConnNextLayerProvider, const TSubConnectionEvent& aSubConnectionEvent)
+	{
+	TInt max = iControlClients.Count();
+	for (TInt i = max - 1 ; i >= 0 ; i--)
+		{
+	   	iControlClients[i]->SubConnectionEvent(aSubConnNextLayerProvider, aSubConnectionEvent);
+		}
+	}
+
+void CIPNetworkConnectionProvider::LayerUp(TInt aError)
+	{
+	TInt max = iControlClients.Count();
+	for (TInt i = max - 1 ; i >= 0 ; --i)
+		{
+		iControlClients[i]->LayerUp(aError);
+		}
+		
+	// broadcast the event to the data clients also, sideways
+	max = iDataClients.Count();	
+	for (TInt j = max - 1; j >= 0 ; --j)
+		{				
+		iDataClients[j]->Notify(MConnectionDataClient::ENotifyLayerUp, this, aError, NULL);
+		}
+   }
+   
+MConnectionControlClient::TCtlType CIPNetworkConnectionProvider::CtlType() const
+	{
+	return MConnectionControlClient::ENormal;
+	}
+
+//
+// from CConnectionProviderBase
+void CIPNetworkConnectionProvider::DoDataClientJoiningL(MConnectionDataClient& aDataClient)
+	{
+	(void)(aDataClient);
+	UpdateUsageProfile(NULL);
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider [this=%08x]:\tDoDataClientJoiningL [iDataClients.Count=%d] [aDataClient=%08x]"), this, iDataClients.Count(), &aDataClient));
+	}
+   
+void CIPNetworkConnectionProvider::DoDataClientLeaving(MConnectionDataClient& aDataClient)
+	{
+	(void)(aDataClient);
+	UpdateUsageProfile(NULL);
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider [this=%08x]:\tDoDataClientLeaving [iDataClients.Count=%d] [aDataClient=%08x]"), this, iDataClients.Count(), &aDataClient));
+	}
+   
+void CIPNetworkConnectionProvider::DoControlClientJoiningL(MConnectionControlClient& aControlClient)
+	{
+	(void)(aControlClient);
+	UpdateUsageProfile(NULL);
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider [this=%08x]:\tDoControlClientJoiningL [iControlClients.Count=%d] [aControlClient=%08x]"), this, iControlClients.Count(), &aControlClient));
+  	}
+   
+void CIPNetworkConnectionProvider::DoControlClientLeaving(MConnectionControlClient& aControlClient)
+	{
+	UpdateUsageProfile(&aControlClient);
+	__CFLOG_VAR((KIpcprTag, KIpcprSubTag, _L8("CIPNetworkConnectionProvider [this=%08x]:\tDoControlClientLeaving [iControlClients.Count=%d] [aControlClient=%08x]"), this, iControlClients.Count(), &aControlClient));
+  	}
+
+void CIPNetworkConnectionProvider::UpdateUsageProfile(MConnectionControlClient* aControlClient)
+/**
+Update the Usage Profile if there has been a change in the RConnection's or Sessions associated
+with this provider.
+@param aControlClient A control client that should be ignored when calculating the usage profile.
+*/
+	{
+	TUint usageProfile = 0;
+	TInt ignoredClient = 0;
+	
+	TInt max = iControlClients.Count();
+	TInt nConnectionMonitorCount = 0;
+	TInt nSessionCount = 0;
+	for (TInt n = 0; n < max; n++)
+		{
+		MConnectionControlClient* client = iControlClients[n];
+		
+		// Ignore the control client passed as argument (it is the one about to leave).
+		if (!aControlClient || aControlClient != client)
+			{
+			MConnectionControlClient::TCtlType type = client->CtlType();
+			switch (type)
+				{
+				case MConnectionControlClient::EMonitor:
+					nConnectionMonitorCount++;
+					break;
+				case MConnectionControlClient::ESession:
+					nSessionCount++;
+					break;
+				}
+			}
+		else
+			{
+			ASSERT(ignoredClient == 0);
+			ignoredClient = 1;
+			}
+		}
+
+	// Assert that aControlClient, if specified, is	in iControlClients[]
+	ASSERT(aControlClient == NULL || ignoredClient == 1);
+	
+	if (max - ignoredClient > nConnectionMonitorCount)
+		usageProfile |= KConnProfileMedium;
+
+	if (nSessionCount > 0)
+		usageProfile |= KConnProfileLong;
+
+	if (iShimCpr)
+		{
+		TBuf8<sizeof(TUint)> buf;
+		buf.AppendNum(usageProfile);
+
+		//Meta derived buffer (iMDes) is only used here to pass
+		//the usageProfile down to the shimcpr
+		iMDes->iDes = &buf;
+
+		//ESetUsageProfile operation cannot leave in fact=> 
+		//=>the trap here just to make leavescan happy
+		TRAP_IGNORE(iShimCpr->ConnectionControlActivityL(ESetUsageProfile, iMDes, NULL));
+		
+		//iMDes->iDes will not be used ever again but we clean it so that it is clear
+		iMDes->iDes = NULL;
+		}
+	}
+
+void CIPNetworkConnectionProvider::DoStartL(Meta::SMetaData& aParams, const RMessagePtr2* aMessage)
+	{
+	if (iShimCpr)
+		{
+		iShimCpr->StartL(aParams, aMessage);
+		}
+	else
+		{
+		User::Leave(KErrNotReady);
+		}
+  	}
+   	
+TInt CIPNetworkConnectionProvider::DoStop(TInt aError, const RMessagePtr2* aMessage)
+	{
+	return 	iShimCpr ? iShimCpr->Stop(aError, aMessage) : KErrNotReady;
+  	}   
+
+void CIPNetworkConnectionProvider::DoProgressL(Meta::SMetaData& aBuffer) const
+	{
+	if (iShimCpr)
+		{
+		iShimCpr->ProgressL(aBuffer);
+		}
+  	}
+   
+void CIPNetworkConnectionProvider::DoLastProgressError(Meta::SMetaData& aBuffer)
+	{
+	if (iShimCpr)
+		{
+		iShimCpr->LastProgressError(aBuffer);
+		}
+  	}
+   
+void CIPNetworkConnectionProvider::DoRequestServiceChangeNotificationL()
+	{
+	if (iShimCpr)
+		{
+		iShimCpr->RequestServiceChangeNotificationL();
+		}
+  	}
+   
+void CIPNetworkConnectionProvider::DoCancelServiceChangeNotification()
+	{
+	if (iShimCpr)
+		{
+		iShimCpr->CancelServiceChangeNotification();
+		}
+  	}
+   
+void CIPNetworkConnectionProvider::DoControlL(TUint aOptionLevel, TUint aOptionName, Meta::SMetaData& aOption, const RMessagePtr2* aMessage)
+	{
+	if (iShimCpr)
+		{
+		iShimCpr->ControlL(aOptionLevel, aOptionName, aOption, aMessage);
+		}
+	else
+		{
+		User::Leave(KErrNotReady);	
+		}
+  	}
+
+TInt CIPNetworkConnectionProvider::DoEnumerateSubConnectionsL(TUint& aCount)
+	{
+	return iShimCpr ? iShimCpr->EnumerateSubConnectionsL(aCount) : KErrNotReady;
+	}
+
+TUint CIPNetworkConnectionProvider::DoEnumerateClientsL(HBufC8*& aClientInfoBuffer, TEnumClients aClientType)
+/**
+Returns information about the clients of this Interface
+
+@param aCount on return contains the number of clients using this Interface
+@param aClientInfoBuffer on return contains a TPckg<> containing information about each client
+@exception leaves with KErrNoMemory if memory allocation fails
+*/
+	{	
+	const TInt KInfoBufMaxLength = 1024;  //is this large enough?
+	TBuf8<KInfoBufMaxLength> infoBuf;
+
+	TUint count = 0;
+	STypeId tid = STypeId::CreateSTypeId(KConnectionClientExtUid,EConnectionClientDesc);
+	TInt max = iControlClients.Count();
+	for ( TInt n = 0; n < max; n++ )
+		{
+		MConnectionClientDesc* intf = reinterpret_cast<MConnectionClientDesc*>(iControlClients[n]->FetchInterfaceInstanceL(*this,tid));
+		if ( intf )
+			{
+			TConnectionProcessInfo cinfo;
+			cinfo.GetInfoL(aClientType, count, *intf, infoBuf);
+			}
+		}
+	STypeId tid2 = STypeId::CreateSTypeId(KConnectionClientExtUid,EConnectionEnumerateClients);
+	max = iDataClients.Count();
+	for ( TInt n = 0; n < max; n++ )
+		{
+		MConnectionEnumerateClients* intf = reinterpret_cast<MConnectionEnumerateClients*>(iDataClients[n]->FetchInterfaceInstanceL(*this,tid2));
+		if ( intf )
+			{
+			intf->EnumerateClientsL(count, infoBuf, aClientType);
+			}
+		}
+
+	aClientInfoBuffer = infoBuf.AllocL();
+	return count;
+	}
+
+void CIPNetworkConnectionProvider::DoConnectionControlActivityL( CConnectionProviderBase::TControlActivity aControlActivity, const Meta::SMetaData* aData, const RMessagePtr2* aMessage )
+	{
+	if (iShimCpr)
+		{
+		iShimCpr->ConnectionControlActivityL(aControlActivity, aData, aMessage);
+		}
+	}
+	
+CConnectionSettings& CIPNetworkConnectionProvider::DoSettingsAccessL()
+	{
+	if (iShimCpr == NULL)
+		{
+		User::Leave(KErrNotReady);
+		}
+	return iShimCpr->SettingsAccessL();
+	}
+	
+TInt CIPNetworkConnectionProvider::DoAllSubConnectionNotificationEnable()
+	{
+	return !iShimCpr ? KErrNotReady : iShimCpr->AllSubConnectionNotificationEnable();
+  	}
+
+TInt CIPNetworkConnectionProvider::DoCancelAllSubConnectionNotification()
+	{
+	return !iShimCpr ? KErrNotReady : iShimCpr->CancelAllSubConnectionNotification();
+  	}
+   
+void CIPNetworkConnectionProvider::DoSendIoctlMessageL(const RMessage2& aMessage)
+	{
+	if (iShimCpr)
+		{
+		iShimCpr->SendIoctlMessageL(aMessage);
+		}
+	else
+		{
+		User::Leave(KErrNotReady);	
+		}
+  	}
+   
+void CIPNetworkConnectionProvider::DoSendCancelIoctl()
+	{
+	if (iShimCpr)
+		{
+		iShimCpr->SendCancelIoctl();
+		}
+  	}
+      
+TInt CIPNetworkConnectionProvider::DoCanDoSubConnection(RSubConnection::TSubConnType /*aSubConnType*/) const
+	{
+	return ETrue;
+  	}
+
+void CIPNetworkConnectionProvider::DoJoinNextLayerL(CConnectionProviderBase* aNextLayer)
+	{
+	ASSERT( !iShimCpr );
+	ASSERT( aNextLayer );
+	iShimCpr = aNextLayer;
+    SetConnectionInfo(iShimCpr->ConnectionInfo());
+    // join ourselves as a connection control client to the lower provider
+    iShimCpr->JoinL(*this);
+	}
+
+CConnectionProviderBase* CIPNetworkConnectionProvider::DoNextLayer() const
+	{
+  	return iShimCpr;
+  	}
+   
+	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,36 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY 
+
+PRJ_EXPORTS
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../inc/shimcpr.h
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../inc/shimcprfactory.h
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../inc/shimclient.h		/epoc32/include/comms-infras/shimclient.h
+#endif
+
+../group/shimcpr.iby /epoc32/rom/include/shimcpr.iby
+
+PRJ_MMPFILES
+shimcpr.mmp
+
+PRJ_TESTMMPFILES
+
+#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/group/networking_shimcpr.history.xml	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<relnotes name="Connection Provider Plugin">
+  <purpose>
+  </purpose>
+
+  <defect number="DEF101532" title="connection DataSentNotificationRequest returns before correct vol of data sent" revision="002">
+    Correct case whereby data monitoring thresholds did not work with multiple RConnection objects referring to the same underlying object.
+  </defect>
+
+  <defect number="DEF098373" title="TE_ESock_OOM tests aborting and causing panic in Esock_IP, OOM Testing" revision="001">
+    E_ESock_OOM tests aborting and causing panic in Esock_IP, OOM Testing
+  </defect>
+</relnotes>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/group/networking_shimcpr.mrp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+component		networking_shimcpr
+source			\sf\os\networkingsrv\networkcontrol\ipcprshim
+binary			\sf\os\networkingsrv\networkcontrol\ipcprshim\group	all
+exports			\sf\os\networkingsrv\networkcontrol\ipcprshim\group
+notes_source	\component_defs\release.src
+
+
+ipr E 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/group/shimcpr.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,25 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __SHIMCPR_IBY__
+#define __SHIMCPR_IBY__
+
+REM IP Connection Provider Shim
+
+ECOM_PLUGIN(shimcpr.dll,102070FD.rss)
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/group/shimcpr.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,57 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// shimcpr.MMP New IP Connection Provider Shim ECOM plugin with BM support
+// 
+//
+
+/**
+ @file
+*/
+
+#include <cflog.mmh>
+
+TARGET          shimcpr.dll
+TARGETTYPE      PLUGIN
+
+UID             0x10009D8D 0x102070FD
+VENDORID 		 0x70000001
+
+SOURCEPATH      ../src
+SOURCE          shimcpr.cpp shimcprfactory.cpp shimconnsettings.cpp connectionSelectorShim.cpp
+SOURCE 	        shimdatatransfer.cpp shimclient.cpp shimnifmansconn.cpp
+
+USERINCLUDE     ../inc
+
+SYSTEMINCLUDE   /epoc32/include
+SYSTEMINCLUDE   /epoc32/include/ecom
+SYSTEMINCLUDE   /epoc32/include/comms-infras
+
+START RESOURCE 102070FD.rss
+TARGET shimcpr.rsc
+END
+LIBRARY         euser.lib esock.lib esocksvr.lib eintsock.lib insock.lib netmeta.lib nifman.lib commsfw.lib 
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+
+LIBRARY			commdb.lib commsdat.lib
+#endif //SYMBIAN_NETWORKING_UMTSR5
+
+
+#include	    "comms-infras/commsdebugutility.mmh"
+
+CAPABILITY ALL -Tcb
+
+UNPAGED
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/inc/shimclient.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,62 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+/**
+ @file SHIMCLIENT.H
+ @internalComponent
+*/
+
+#if !defined(__SHIMCLIENT_H__)
+#define __SHIMCLIENT_H__
+
+#include <e32def.h>
+#include <e32base.h>
+#include <comms-infras/metadata.h>
+
+class TNifProgress;
+class MShimControlClient
+/**
+ the former CSubConnection down-calls (interface seen by ESOCK and used to comunicate sub-connection
+ related calls made via RConnection using either id or index.
+ 
+ @internalComponent
+ */
+	{
+public:
+	//former CConnection::StopSubConnectionL(const RMessage2& aMessage);
+	virtual TBool StopL(const RMessage2& aMessage) = 0;
+	// Former calls from CConnection::GetSubConnectionInfo
+	virtual TInt GetSubConnectionInfo(const RMessage2& aMessage) = 0;
+	//	Former Calls from RConnection via CSubConnection
+	virtual TInt GetCurrentProgress(TNifProgress& aProgress) = 0;
+	virtual TBool DataTransferredL(const RMessage2& aMessage) = 0;
+	virtual TBool DataTransferredCancel(const RMessage2& aMessage) = 0;
+	virtual TBool RequestSubConnectionProgressNotificationL(const RMessage2& aMessage) = 0;
+	virtual TBool CancelSubConnectionProgressNotification(const RMessage2& aMessage) = 0;
+	virtual TBool DataSentNotificationRequestL(const RMessage2& aMessage) = 0;
+	virtual TBool DataSentNotificationCancel(const RMessage2& aMessage) = 0;
+	virtual TBool DataReceivedNotificationRequestL(const RMessage2& aMessage) = 0;
+	virtual TBool DataReceivedNotificationCancel(const RMessage2& aMessage) = 0;
+	virtual TBool IsSubConnectionActiveRequestL(const RMessage2& aMessage) = 0;
+	virtual TBool IsSubConnectionActiveCancel(const RMessage2& aMessage) = 0;
+	
+	virtual TInt ReturnCode() const = 0;
+	};
+	
+#endif // __SHIMCLIENT_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/inc/shimconnsettings.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,51 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+/**
+ @file SS_SHIMCONNSETTINGS.H
+ @internalComponent
+*/
+
+#if !defined(__SS_SHIMCONNSETTINGS_H__)
+#define __SS_SHIMCONNSETTINGS_H__
+
+#include "ss_connsettings.h"
+
+class CConnectionProvdBase;
+class CConnectionSettingsShim : public CConnectionSettings
+	{
+
+public:
+	CConnectionSettingsShim( CConnectionProvdBase& aConnectionProvdBase ) :
+		iConnectionProvdBase( aConnectionProvdBase )
+		{
+		}
+	
+protected:
+	virtual void DoGetBoolSettingL(const TDesC& aSettingName, TBool& aValue, const RMessagePtr2* aMessage );
+	virtual void DoGetDes16SettingL(const TDesC& aSettingName, TDes16& aValue, const RMessagePtr2* aMessage );
+	virtual void DoGetDes8SettingL(const TDesC& aSettingName, TDes8& aValue, const RMessagePtr2* aMessage );
+	virtual void DoGetIntSettingL(const TDesC& aSettingName, TUint32& aValue, const RMessagePtr2* aMessage );
+	virtual HBufC* DoGetLongDesSettingLC(const TDesC& aSettingName, const RMessagePtr2* aMessage );
+	
+private:
+	CConnectionProvdBase& iConnectionProvdBase;
+	};
+	
+#endif	// __SS_CONNSETTINGS_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/inc/shimcpr.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,174 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* This temporary shim layer contanis the interfaces defined by MConnectionNotify, CConnectionProvdBase and CInterface.
+* However only the connection-related part of CInterface appears here, the rest is in CNifManSubConnectionShim.
+* 
+*
+*/
+
+
+
+/**
+ @file SHIMCPR.H
+ @internalComponent
+*/
+
+#if !defined(__SS_SHIMCPR_H__)
+#define __SS_SHIMCPR_H__
+
+#include <ss_connprov.h>		// for CConnectionProviderFactoryBase
+#include <cflog.h>
+#include <es_prot.h>			// for MConnectionNotify and CConnectionProvdBase
+#include <comms-infras/ss_log.h>				// for KESockConnectionTag
+
+#define KShimCprTag KESockConnectionTag
+_LIT8(KShimCprSubTag, "shimcpr");	// logging tag
+
+
+class CConnectionProvdBase;
+class CNifManSubConnectionShim;
+class CConnectionProviderFactoryShim;
+class CConnectionSettingsShim;
+class CConnection;
+class MProviderSelector;
+class CSubConnectionLinkShimClient;
+class CConnectionSelectorShim;
+NONSHARABLE_CLASS(CConnectionProviderShim) : public CConnectionProviderBase, MConnectionNotify
+	{
+  	friend class CConnectionProviderFactoryShim;
+  	friend class CConnectionSelectorShim; //to get/set the aggregarted CConnectionProvdBase
+
+
+public:
+	CConnectionProvdBase& Provider()
+		{
+		ASSERT(iProvider);
+		return *iProvider;
+		}
+	CSubConnectionLinkShimClient* QuerySubSessions(TInt32 aTypeId, const CConnection* aConnection);
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+	// The public function which will set the pointer to the factiory
+	void SetFactoryIfactory(CConnectionProviderFactoryShim *aFactoryShim);
+#endif // SYMBIAN_NETWORKING_UMTSR5	
+      
+protected:
+	virtual ~CConnectionProviderShim();
+	
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+	CConnectionProviderShim(CConnectionProviderFactoryBase& aFactory)
+	   : CConnectionProviderBase(aFactory), iSubConnectionType(KInvalidFactoryId)
+	    {
+	    __CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tCConnectionProviderShim()"),
+			this));
+	    }    
+#else
+	CConnectionProviderShim(CConnectionProviderFactoryBase& aFactory)
+	   : CConnectionProviderBase(aFactory)
+	    {
+	    __CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tCConnectionProviderShim()"),
+			this));
+	    }	
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+	    
+    void ConstructL();
+    static CConnectionProviderShim* NewL(CConnectionProviderFactoryBase& aFactory);
+
+	void ConnectionJoiningL( const CConnection& aConnection );
+	void ConnectionLeaving( const CConnection& aConnection );
+	
+	
+	      
+protected:
+	// Define methods from the interface specified by MConnectionNotify
+	virtual void SelectionComplete(TInt aError, const TDesC8& aSelectionInfo);
+	virtual void ConnectionError(TInt aError);
+	virtual void LinkLayerOpen(TInt aError);
+	virtual void LinkLayerClosed(TInt aError);
+	virtual void ProgressNotification(TInt aStage, TInt aError);
+	virtual void ProgressNotification(TSubConnectionUniqueId aSubConnectionUniqueId, TInt aStage, TInt aError);
+	virtual void ServiceChangeNotification(TUint32 aId, const TDesC& aType);
+	virtual void InterfaceStateChangeNotification(TDesC8& aInfo);
+	virtual void NotifyDataSent(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aUplinkVolume);
+	virtual void NotifyDataReceived(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aDownlinkVolume);
+	virtual void SubConnectionEvent(const TSubConnectionEvent& aSubConnectionEvent);
+	
+	virtual TBool ShouldIDeleteNow();
+	
+protected:
+	//CConnectionProviderBase virtuals
+	virtual void DoDataClientJoiningL(MConnectionDataClient& aDataClient);
+	virtual void DoDataClientLeaving(MConnectionDataClient& aDataClient);
+	virtual void DoControlClientJoiningL(MConnectionControlClient& aControlClient);
+	virtual void DoControlClientLeaving(MConnectionControlClient& aControlClient);
+   
+	virtual void DoStartL(Meta::SMetaData& aParams, const RMessagePtr2* aMessage);	
+	virtual TInt DoStop(TInt aError, const RMessagePtr2* aMessage);
+
+	virtual TInt DoCanDoSubConnection(RSubConnection::TSubConnType aSubConnType) const;
+
+	virtual CConnectionProviderBase* DoNextLayer() const ;
+	virtual void DoJoinNextLayerL(CConnectionProviderBase* aNextLayer);
+
+	virtual void DoProgressL(Meta::SMetaData& aBuffer) const;
+	virtual void DoLastProgressError(Meta::SMetaData& aBuffer);
+	virtual void DoRequestServiceChangeNotificationL();
+	virtual void DoCancelServiceChangeNotification();
+	virtual void DoControlL(TUint aOptionLevel, TUint aOptionName, Meta::SMetaData& aOption, const RMessagePtr2* aMessage);
+	virtual TInt DoAllSubConnectionNotificationEnable();
+	virtual TInt DoCancelAllSubConnectionNotification();
+  	virtual void DoSendIoctlMessageL(const RMessage2& aMessage);
+  	virtual void DoSendCancelIoctl();
+	virtual TInt DoEnumerateSubConnectionsL(TUint& aCount);
+	virtual TUint DoEnumerateClientsL(HBufC8*& aClientInfoBuffer, TEnumClients aClientType);
+	virtual void DoConnectionControlActivityL( TControlActivity aControlActivity, const Meta::SMetaData* aData, const RMessagePtr2* aMessage );
+	virtual CConnectionSettings& DoSettingsAccessL();
+
+    CConnectionProvdBase* GetNifSession();
+    void InitialiseL(CConnectionProvdBase* aStarterSession);
+    void SetBlockProgressesL(CConnectionProvdBase* aStarterSession);
+    void AddRefL(CConnectionSelectorShim* aSelector);
+    void ReleaseRef(CConnectionSelectorShim* aSelector);    
+    
+private:
+	CNifManSubConnectionShim* FindSubConnection(TSubConnectionUniqueId aId);
+	void ReleaseRef();
+
+private:
+	CConnectionProvdBase *iProvider; // Enable access to 'old' NIFMAN layer
+	CConnectionSettingsShim* iConnectionSettings;
+	TUint iUsageProfile;
+	RPointerArray<const CConnection> iConnections;
+	// TInt iRefCount; //to keep a connection up while selection is going on
+	RPointerArray<CNifManSubConnectionShim> iNifManSubConnections;
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+    TInt iSubConnectionType;
+#endif // SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+	RPointerArray<CConnectionSelectorShim> iSelectors;
+	TBool iHasAnyControlClientJoined:1;
+	TBool iIsAlreadyUninitialised:1;
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+	// The handle to the factory object that creates the CConnectionProviderShim
+	CConnectionProviderFactoryShim *iFactoryShim;
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5
+
+
+};
+
+#endif
+// __SS_SHIMCPR_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/inc/shimcprfactory.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,113 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+/**
+ @file SHIMCPRFACTORY.H
+ @internalComponent
+*/
+
+#if !defined(__SHIMCPRFACTORY_H__)
+#define __SHIMCPRFACTORY_H__
+
+#include <ss_connprov.h>		// for CConnectionProviderFactoryBase
+#include <cflog.h>
+
+__CFLOG_STMT(_LIT8(KLogSubSysESOCK, "ESOCK");) // subsystem name
+	
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5   
+
+// The class CConnectionProviderFactoryShim implements this interface as part of the 635 IAP locking mechanism. Since
+// each RConn::Start(), will instantiate its own selector, its then become the resposiblity of the factory to store the
+// status related to the IAP locking. This interface has the functions called by the selectors with the status of IAP lockied
+// and the IAP number to be locked
+
+class MIAPLockInfo
+{
+public:
+	virtual void SetIAPLockStatus(TBool aLockStatus, TInt aLockedIAP)=0;	
+	virtual void GetIAPLockStatus(TBool &aLockStatus, TInt &aLockedIAP)=0;
+};	
+
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5	
+   
+class CSubConnectioProviderLinkShim;
+
+const TUint KShimConnectionProviderFactoryId = 0x10207104; //the same as CSubConnectionProviderFactoryShim
+
+class CSubConnectionFactoryContainer;
+NONSHARABLE_CLASS(CConnectionProviderFactoryShim) : public CConnectionProviderFactoryBase, public MConnectionNotify
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+													, public MIAPLockInfo
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5													
+	{
+public:
+	static CConnectionProviderFactoryShim* NewL(TAny* aConstructionParameters);
+   	~CConnectionProviderFactoryShim();
+
+
+protected:
+	void ConstructL();
+	CConnectionProviderFactoryShim(TUint aFactoryId, CConnectionFactoryContainer& aParentContainer);
+
+	virtual CConnectionProviderBase* DoCreateProviderL();
+	virtual MProviderSelector* DoSelectProvider( Meta::SMetaData& aPreferences, ISelectionNotify& aSelectionNotify, const RMessagePtr2* aMessage );
+	virtual MProviderSelector* DoSelectNextLayerProvider( Meta::SMetaData& aPreferences, ISelectionNotify& aSelectionNotify, const RMessagePtr2* aMessage );	
+
+	virtual void DoEnumerateConnectionsL(RPointerArray<TConnectionInfo>& aConnectionInfoPtrArray);
+	
+	//CCommsFactoryBase
+	virtual TInt DoReceiveMessage( NetMessages::CMessage& aNetMessage );
+
+	//MConnectionNotify interface to catch the global events
+	virtual void SelectionComplete(TInt aError, const TDesC8& aSelectionInfo);
+	virtual void ConnectionError(TInt aError);
+	virtual void LinkLayerOpen(TInt aError);
+	virtual void LinkLayerClosed(TInt aError);
+	virtual void ProgressNotification(TInt aStage, TInt aError);
+	virtual void ProgressNotification(TSubConnectionUniqueId aSubConnectionUniqueId, TInt aStage, TInt aError);
+	virtual void ServiceChangeNotification(TUint32 aId, const TDesC& aType);
+	virtual void InterfaceStateChangeNotification(TDesC8& aInfo);
+	virtual void NotifyDataSent(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aUplinkVolume);
+	virtual void NotifyDataReceived(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aDownlinkVolume);
+	
+	virtual void SubConnectionEvent(const TSubConnectionEvent& aSubConnectionEvent);
+#ifdef SYMBIAN_NETWORKING_UMTSR5 
+public:
+  
+	// Interface MIAPLockInfo functions to store the status of IAP locking
+	virtual void SetIAPLockStatus(TBool aLockStatus, TInt aLockedIAP);	
+	virtual void GetIAPLockStatus (TBool &aLockStatus, TInt &aLockedIAP);
+	
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5	
+	
+
+protected:
+	CConnectionProvdBase* iNifmanSession;
+#ifdef SYMBIAN_NETWORKING_UMTSR5	
+	
+	// This variable will tell the status whether the IAP is locked or not
+	TBool iIsIAPLocked;
+	// This variable will store the IAP number that is being locked.
+	TInt  iLockedIAP;
+	
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5
+	};
+
+#endif // __SHIMCPRFACTORY_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/inc/shimdatatransfer.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,78 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+/**
+ @file SHIMDATATRANSFER.H
+ @internalComponent
+*/
+
+#if !defined(__SHIMDATATRANSFER_H__)
+#define __SHIMDATATRANSFER_H__
+
+#include <e32def.h>
+#include <e32base.h>
+#include "ss_datatransfer.h"
+
+class CConnectionProvdBase;
+class CNifManSubConnectionShim;
+class CConnDataTransferShim : public CConnDataTransfer
+	{
+public:
+	CConnDataTransferShim(CNifManSubConnectionShim& aSubConnectionProviderShim);
+	~CConnDataTransferShim();
+	
+public:
+	//up-calls from the CNifManSubConnectionShim
+	TInt NotifyDataTransferred(TUint aUplinkVolume, TUint aDownlinkVolume);
+	TInt NotifyDataSent(TUint aUplinkVolume);
+	TInt NotifyDataReceived(TUint aDownlinkVolume);
+
+protected:
+	//down-calls clients requests
+	virtual TInt DoDataTransferred(TUint& aUplinkVolume, TUint& aDownlinkVolume);
+	virtual TInt DoDataTransferredCancel();
+	virtual TInt DoDataSentNotificationRequest(TUint aRequestedGranularity, TUint aRequestedNotificationVolume);
+	virtual TInt DoDataSentNotificationCancel();
+	virtual TInt DoDataReceivedNotificationRequest(TUint aRequestedGranularity, TUint aRequestedNotificationVolume);
+	virtual TInt DoDataReceivedNotificationCancel();
+
+protected:
+	TInt CalculateNewUplinkGranularity(TUint aRequestedGranularity);
+	TInt CalculateNewDownlinkGranularity(TUint aRequestedGranularity);
+
+	TInt SetNextUplinkGranularity();
+	TInt SetNextDownlinkGranularity();
+
+	TInt SetUplinkGranularity(TUint aRequestedGranularity);
+	TInt SetDownlinkGranularity(TUint aRequestedGranularity);
+
+protected:
+	static TInt CalculateNewGranularity(TInt aRequestedGranularity, TUint aCurrentGranularity, RArray<TUint>& aGranularities, TUint& aNewGranularity);
+
+private:
+	CNifManSubConnectionShim& iSubConnectionProviderShim;
+	
+	RArray<TUint> iUplinkGranularities;		// ordered lists of deltas for the granularities
+	RArray<TUint> iDownlinkGranularities;
+
+	TUint iCurrentUplinkGranularity;		// the aggregate notification granularity calculated from all the CConnection requests
+	TUint iCurrentDownlinkGranularity;
+	};
+	
+#endif	// __SHIMDATATRANSFER_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/inc/shimnifmansconn.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,219 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @internalComponent
+*/
+
+
+#if !defined(__SHIMNIFMANSCONN_H__)
+#define __SHIMNIFMANSCONN_H__
+
+#include <comms-infras/ss_log.h>
+#include "shimdatatransfer.h"
+#include "shimclient.h"
+#include "shimcpr.h" //access to the CConnectionProviderShim::Provider() fn
+
+//const TInt KSubConnectionProviderShimImplementationUid = 0x10207106;
+
+#define KShimScprTag KESockSubConnectionTag
+_LIT8(KShimScprSubTag, "shimscpr");
+_LIT8(KShimScprDataTag, "shimscprData");
+_LIT8(KShimScprClientTag, "shimscprClient");
+
+//Former CInterface CSubConnection related up-calls so that CConnectionProviderShim
+//doesn't have to link against the sub-connection shim
+class CConnection;
+class MSubInterfaceShim : public MConnDataTransferNotify
+	{
+public:
+	virtual TInt ProgressNotification(TInt aStage, TInt aError, const TDesC8& aInfo) = 0;
+	virtual TSubConnectionUniqueId Id() = 0;
+	virtual void SetSubConnectionUniqueId( TSubConnectionUniqueId aSubConnectionUniqueId ) = 0;
+	virtual void ConnectionJoiningL(const CConnection& aConnection) = 0;
+	virtual void ConnectionLeaving(const CConnection& aConnection) = 0;
+	};
+
+//class CSubConnectionProviderFactoryShim;
+class CSubConnectionLinkShimClient;
+
+NONSHARABLE_CLASS(CNifManSubConnectionShim) : public CBase, public MConnectionDataClient, public MSubInterfaceShim
+/**
+ @internalComponent
+ */
+	{
+
+public:
+	CNifManSubConnectionShim(CConnectionProviderShim& aProviderShim);
+	~CNifManSubConnectionShim();
+
+	// MSubInterfaceShim impl
+	virtual TInt ProgressNotification(TInt aStage, TInt aError, const TDesC8& aInfo);
+	virtual TInt NotifyDataTransferred(TUint aUplinkVolume, TUint aDownlinkVolume);
+	virtual TInt NotifyDataSent(TUint aUplinkVolume, TUint aCurrentGranularity);
+	virtual TInt NotifyDataReceived(TUint aDownlinkVolume, TUint aCurrentGranularity);
+	virtual TSubConnectionUniqueId Id();
+	virtual void SetSubConnectionUniqueId( TSubConnectionUniqueId aSubConnectionUniqueId );
+	virtual void ConnectionJoiningL(const CConnection& aConnection);
+	virtual void ConnectionLeaving(const CConnection& aConnection);
+
+	CConnectionProvdBase& Provider()
+		{
+		return static_cast<CConnectionProviderShim*>(iConnectionProvider)->Provider();
+		}
+	CConnDataTransferShim* DataTransferShim()
+		{
+		return iConnDataTransferShim;
+		}
+	CSubConnectionLinkShimClient* ShimClient( TInt aIndex )
+		{
+		return aIndex < iShimClients.Count() ? iShimClients[aIndex] : NULL;
+		}
+	void DeleteAsync();	
+protected:
+	//MConnectionDataClient
+	virtual void ConnectionGoingDown(CConnectionProviderBase& aConnProvider);
+	virtual void ConnectionError(TInt aStage, TInt aError);
+	virtual void Notify(TNotify aNotifyType,  CConnectionProviderBase* aConnProvider, TInt aError, const CConNotificationEvent* aConNotificationEvent);
+      virtual void AttachToNext(CSubConnectionProviderBase* aSubConnProvider);
+
+
+	TInt FindClient(const CConnection& aConnection);
+      CConnDataTransfer& CreateDataTransferL();
+
+protected:
+	RPointerArray<CSubConnectionLinkShimClient> iShimClients;
+	TSubConnectionUniqueId iSubConnectionsUniqueId;
+	CConnDataTransferShim* iConnDataTransferShim;
+	CConnectionProviderBase* iConnectionProvider;
+	CAsyncCallBack iAsyncDestructor;
+private:
+	static TInt AsyncDestructorCb(TAny* aInstance);
+	};
+
+NONSHARABLE_CLASS(CSubConnectionLinkShimClient) : public CBase, public MConnDataTransferNotify, public MShimControlClient
+/**
+ Handle subconnection-related asynchronous client requests that may not complete immediately, it effectively
+ represents the old CSubConnection
+ @internalComponent
+ */
+	{
+public:
+	CSubConnectionLinkShimClient(const CConnection& aConnection, CNifManSubConnectionShim& aSubConnectionShim);
+	~CSubConnectionLinkShimClient();
+
+	//MConnDataTransferNotify interface towards CConnDataTransfer
+	virtual TInt NotifyDataTransferred(const TUint aUplinkVolume, const TUint aDownlinkVolume);
+	virtual TInt NotifyDataSent(TUint aUplinkVolume, TUint aCurrentGranularity);
+	virtual TInt NotifyDataReceived(TUint aDownlinkVolume, TUint aCurrentGranularity);
+	
+	void ProgressNotification(TInt aStage, TInt aError, const TDesC8& aInfo);
+
+	//MShimControlClient interface towards ESOCK
+	//former CConnection::StopSubConnectionL(const RMessage2& aMessage);
+	virtual TBool StopL(const RMessage2& aMessage);
+	// Former calls from CConnection::GetSubConnectionInfo
+	virtual TInt GetSubConnectionInfo(const RMessage2& aMessage);
+	//	Former Calls from RConnection via CSubConnection
+	virtual TInt GetCurrentProgress(TNifProgress& aProgress);
+	virtual TBool DataTransferredL(const RMessage2& aMessage);
+	virtual TBool DataTransferredCancel(const RMessage2& aMessage);
+	virtual TBool RequestSubConnectionProgressNotificationL(const RMessage2& aMessage);
+	virtual TBool CancelSubConnectionProgressNotification(const RMessage2& aMessage);
+	virtual TBool DataSentNotificationRequestL(const RMessage2& aMessage);
+	virtual TBool DataSentNotificationCancel(const RMessage2& aMessage);
+	virtual TBool DataReceivedNotificationRequestL(const RMessage2& aMessage);
+	virtual TBool DataReceivedNotificationCancel(const RMessage2& aMessage);
+	virtual TBool IsSubConnectionActiveRequestL(const RMessage2& aMessage);
+	virtual TBool IsSubConnectionActiveCancel(const RMessage2& aMessage);
+	TBool Match(const CConnection& aConnection) const;
+	TSubConnectionUniqueId Id();
+	virtual TInt ReturnCode() const;
+
+	void SetReturnCode(TInt aErr)
+		{
+		iReturnCode = aErr;
+		}
+
+	/**
+	Callback from activity timer
+	*/
+	void CheckSubConnectionActivity();
+
+	NONSHARABLE_CLASS(CActivityTimer) : public CTimer
+	/**
+	@internalComponent
+	*/
+		{
+	public:
+		static CActivityTimer* NewL(CSubConnectionLinkShimClient* aOwner, TInt aPriority);
+		virtual inline ~CActivityTimer() {};
+		void RunL();
+	private:
+		inline CActivityTimer(CSubConnectionLinkShimClient* aOwner, TInt aPriority);
+	private:
+		CSubConnectionLinkShimClient* iOwner;
+		};
+
+
+private:
+	const CConnection& iConnection;
+	CNifManSubConnectionShim& iSubConnectionShim;
+	
+	TUint iUplinkDataVolume;
+	TUint iDownlinkDataVolume;
+	TUint iUplinkDataNotificationVolume;
+	TUint iDownlinkDataNotificationVolume;
+	TInt iRemainingUplinkGranularity;
+	TInt iRemainingDownlinkGranularity;
+
+	TBool iDataSentNotificationsInAbsoluteMode;
+	TBool iDataReceivedNotificationsInAbsoluteMode;
+
+	TNifProgress iCurrentProgress;
+	TInt iLastProgressToClient;
+	TInt iClientRequestedProgress;
+	CActivityTimer* iActivityTimer;
+	TInt iRequestedClientTimerPeriod;
+	TBool iClientBelievesSubConnectionActive;
+	TUint iPreviousUplinkDataVolume;
+	TUint iPreviousDownlinkDataVolume;
+
+	TBool iOutstandingProgressNotification:1;
+	TBool iOutstandingDataSentNotification:1;
+	TBool iOutstandingDataReceivedNotification:1;
+	TBool iOutstandingSubConnectionActivity:1;
+
+	RMessage2 iOutstandingProgressNotificationMessage;
+	RMessage2 iOutstandingDataSentNotificationMessage;
+	RMessage2 iOutstandingDataReceivedNotificationMessage;
+	RMessage2 iOutstandingSubConnectionActivityMessage;
+	
+	TInt iReturnCode;
+	};
+
+inline CSubConnectionLinkShimClient::CActivityTimer::CActivityTimer(CSubConnectionLinkShimClient* aOwner, TInt aPriority) 
+: CTimer(aPriority), iOwner(aOwner)
+/**
+Set up the activity timer for subconnection activity
+
+@param aOwner, The owing subconnection
+@param aPriority, The priority of the active object
+*/
+	{ CActiveScheduler::Add(this); };
+	
+#endif
+// __SHIMNIFMANSCONN_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/src/102070FD.rss	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,60 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Registry info for IP Networking Connection Provider plug-in
+// 
+//
+
+/**
+ @file 102070FD.RSS
+*/
+
+#include <ecom/registryinfo.rh>
+
+RESOURCE REGISTRY_INFO theInfo
+{
+dll_uid =  0x102070FD;
+interfaces = 
+    {
+    INTERFACE_INFO
+        {
+        interface_uid =  0x102070EE;
+        implementations = 
+            {
+           IMPLEMENTATION_INFO
+                {
+                implementation_uid = 0x102070FF;
+                version_no = 1;
+                display_name = "IP Connection Provider Factory Shim";
+                default_data = "IpConnectionFactoryShim";
+                opaque_data = "";
+                }
+            };
+        },
+    INTERFACE_INFO
+        {
+        interface_uid = 0x102070F0;
+        implementations = 
+            {
+           IMPLEMENTATION_INFO
+                {
+                implementation_uid = 0x10207101;
+                version_no = 1;
+                display_name = "IP Connection Provider Shim";
+                default_data = "IpConnectionShim";
+                opaque_data = "";
+                }
+            };
+        }
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/src/connectionSelectorShim.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,557 @@
+
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Implementation file for the CConnectionSelectorShim
+// 
+//
+
+/**
+ @file
+ @internalComponent
+*/
+
+
+#include <nifman.h>
+#include <ss_glob.h>
+#ifndef SYMBIAN_NETWORKING_UMTSR5
+#include <comms-infras/nifif.h>
+#endif //SYMBIAN_NETWORKING_UMTSR5
+#include <connpref.h>
+#include <cdblen.h>
+#include <esockmessages.h>
+#include "shimcprfactory.h"
+#include "connectionSelectorShim.h"
+#include "shimcpr.h"
+
+using namespace ESock;
+
+//PREQ399_REMOVE
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+#include <nullagtprog.h>
+#endif
+//SYMBIAN_NETWORKING_3GPPDEFAULTQOS //PREQ399_REMOVE
+
+TInt CConnectionSelectorShim::AsyncDestructorCb(TAny* aInstance)
+	{
+	CConnectionSelectorShim* selector = reinterpret_cast<CConnectionSelectorShim*>(aInstance);
+	delete selector;
+	return KErrNone;
+	}
+
+CConnectionSelectorShim::CConnectionSelectorShim(ISelectionNotify& aNotify) : 
+ iNotify(aNotify), 
+ iAsyncDestructor(CActive::EPriorityStandard + 1),
+ iConnProvider(NULL)
+/** 
+C'tor.
+
+The priority of the async destructor is specifically set one higher than normal
+to cater for the case whereby an RConnection is started asynchronously and
+immediately closed.  This ensures that the async destructor is called before
+NetCon begins the selection procedure, and hence can cancel the NetCon request
+before it starts.  This causes immediate cancellation of the connection start
+procedure.  Otherwise, NetCon gets in first, the connection comes all the way
+and then times out in the short timer.
+
+@param aNotify the ISelectionNotify that should be notified about the
+selection progress.
+*/
+    { 
+    __CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tCConnectionSelectorShim"), this));   
+    iAsyncDestructor.Set(TCallBack(AsyncDestructorCb, this));
+    }        
+    
+CConnectionSelectorShim::~CConnectionSelectorShim()
+    {
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\t~CConnectionSelectorShim"), this));
+
+	iNotify.Detach(); //"PrevLayer"::Detach() will be called only once.
+
+	delete iSelectorSession;
+
+	iSelectionInfo.Close();
+    }
+
+
+void CConnectionSelectorShim::DeleteAsync()
+	{
+	if (!iAsyncDestructor.IsActive())
+		{
+		if (iConnProvider)
+			{
+			__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tDeleteAsync() RelaseRef(this)"), this));
+			iConnProvider->ReleaseRef(this);
+			}
+		iAsyncDestructor.CallBack();
+		}
+    }
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+void CConnectionSelectorShim::SetFactoryIface(MIAPLockInfo * aFactoryIface)
+	{
+	iFactoryIface = aFactoryIface;
+	}
+
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5
+
+TInt CConnectionSelectorShim::Cancel()
+	{
+	return Cancel(KErrCancel,NULL);
+	}
+	
+TInt CConnectionSelectorShim::Cancel(TInt aReason, const RMessage2* aMessage)
+	{
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tCancel(aReason %d)"), this, aReason));
+	TInt error = KErrNone;
+	if (iSelectorSession)
+		{
+		error = iSelectorSession->Stop(aReason, aMessage);
+		delete iSelectorSession;
+		iSelectorSession = NULL;
+		}
+	
+	//"PrevLayer"::Detach() will be called only once.
+	//It is important to call iNotify.Detach() after all progress notifications
+	//resulting from NifSession::Stop() have been passed up towards the CConnection.
+	iNotify.Detach();
+	DeleteAsync();
+	return error;
+	}
+	
+TInt CConnectionSelectorShim::Select(Meta::SMetaData& aPreferences, const RMessagePtr2* aMessage)
+/** Implements CConnectorSelector::Select (async). The shim layer (this layer)
+delegates the selection to NIFMAN. NIFMAN cannot be asked just to perform the
+selection, as the selection is tighly coupled with starting connection provider.
+
+@param aPreferences connection preferences.
+*/
+    {
+    //Assume this is a TConnStart (as defined in ss_connprov.h)
+    STypeId type = aPreferences.GetTypeId();
+    ASSERT(type.iUid.iUid == KESockMessagesImplementationUid);
+	ASSERT(type.iType == EESockMessageConnStart);
+
+   	const TConnPref* connPrefs = NULL;
+   	TConnStartType stype = EConnStartImplicit;
+   	
+   	if (type.iType == EESockMessageConnStart)
+ 		{
+ 		connPrefs = reinterpret_cast<CConnStart&>(aPreferences).ConnPrefs();
+ 		stype = reinterpret_cast<CConnStart&>(aPreferences).StartType();
+	    if (connPrefs && connPrefs->ExtensionId() == TConnPref::EConnPrefSnap)
+	    	{
+			__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tSelect() with not supported preferences EConnPrefSnap"), this));
+	    	iNotify.SelectComplete(NULL, KErrNotSupported);
+	   	    DeleteAsync();
+	   	    return KErrNotSupported;
+	    	}
+ 		}
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5 
+     	
+		// The code here will check the secure ID of the application which is expected with the aMessage Ptr.
+		// The logic used here is that if a General purpose application locks an IAP then no other application
+		// should be allowed to start the connection ans should return with KErrAccessDenied.
+	    if(aMessage!=NULL)
+	       {
+	       iAppSecureId = aMessage->SecureId();
+	       }
+ #endif   //SYMBIAN_NETWORKING_UMTSR5 
+    
+    TRAPD(ret,
+	iSelectorSession = Nif::NewConnectionL(this, 0);
+    if (connPrefs)
+    	{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tSelect() with preferences, iSelectorSession %x"), this, iSelectorSession));
+	    iSelectorSession->StartL(stype, *connPrefs, aMessage );		
+    	}
+    else
+    	{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tSelect() no preferences, iSelectorSession %x"), this, iSelectorSession));
+	    iSelectorSession->StartL(stype, aMessage );		
+    	}
+    );
+    if (ret != KErrNone)
+    	{
+    	iNotify.SelectComplete(NULL, ret);
+   	    DeleteAsync();
+    	}
+    return ret;
+    }
+    
+
+void CConnectionSelectorShim::SelectionComplete(TInt aError, const TDesC8& aSelectionInfo)
+/** Called by NIFMAN when the selection (previously triggered by CConnectionSelectorShim::SelectL)
+completes the selection. There are two methods NIFMAN will use to indicate progress to its client. This
+method and the generic ::ProgressNotification. This method forwards selection complete to
+this->ProgressNotification(KFinishedSelection).
+
+@param aError operation result.
+@param aSelectionInfo selection info (to be converted to TSoIfConnectionInfo {iIAPId; iNetworkId;})
+*/
+    {
+    __CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tSelectionComplete(), aError: %d"), this, aError));
+    iSelectionInfo.Close();
+    TInt err;
+    if((err = iSelectionInfo.Create(aSelectionInfo)) != KErrNone)
+    	{
+    	aError = err;
+    	}
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+    // The following line will extract connection information which is sent by nifman after agent selection.The information contains IAP , iNetworkId
+	//and connection information.
+
+    Mem::Copy(&iConnectionInfo, aSelectionInfo.Ptr(),sizeof(iConnectionInfo));
+#endif
+    ProgressNotification(KFinishedSelection, aError);
+    }
+
+void CConnectionSelectorShim::CreateProviderL()
+	{
+	ASSERT(iSelectionInfo.Length());//this should only happen after the agent's been selected
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tCreateProviderL() iConnProvider %x"), this, iConnProvider));
+ 	if (iConnProvider) 
+ 		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tCreateProviderL() iConnProvider->GetNifSession() %x"), this, iConnProvider->GetNifSession()));	
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tCreateProviderL() iConnProvider->ConnectionInfo() %S"), this, &iConnProvider->ConnectionInfo()));
+ 		}
+	//if we have a provider already and it's the existing one we have to check whether the conn info still matches since there could've been
+	//a reconnection
+	if ( iConnProvider && iConnProvider->GetNifSession() && iConnProvider->ConnectionInfo() != iSelectionInfo )
+		{
+        __CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tCreateProviderL() -> ReleaseRef()"), this));
+	    iConnProvider->ReleaseRef(this);
+	    iConnProvider = NULL;
+		}
+	if ( !iConnProvider )
+		{
+	    TSockManData* sockManData = SockManGlobals::Get();
+		ASSERT(sockManData);
+		
+		CConnectionFactoryContainer* connectionFactories = sockManData->iConnectionFactories;
+		ASSERT(connectionFactories);
+		
+		CConnectionProviderFactoryBase* factory = connectionFactories->FindFactory(KShimConnectionProviderFactoryId);
+		ASSERT(factory);
+		if (IsConnectionStoppingL())
+			{
+			// We must force the creation of a new provider because the old one is on its way out.
+			// This is required to ensure that we do not receive progresses generated as the connection
+			// comes down.  We are only interested in progresses generated when the connection subsequently
+			// starts coming up again.  Upper layers starting a connection just as it is coming down will
+			// otherwise receive these progresses.  In particular, progresses with an error will otherwise
+			// be mistaken for an indication that the connection startup failed.
+	    		iConnProvider = (CConnectionProviderShim*)factory->CreateProviderL();
+			__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tCreateProviderL() - connection stopping, iConnProvider %x"), this, iConnProvider));
+			}
+		else
+			{
+			XConnectionFactoryQueryInfo query(NULL, iSelectionInfo);
+			iConnProvider = (CConnectionProviderShim*)factory->FindOrCreateProviderL(query);
+			__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tCreateProviderL() - found/created iConnProvider %x"), this, iConnProvider));
+			}
+	    //and keep provider up during the selection
+	    iConnProvider->AddRefL(this);
+		}
+	}
+
+TBool CConnectionSelectorShim::IsConnectionStoppingL()
+	{
+	TPckg<TBool> stopping(EFalse);
+	iSelectorSession->ControlL(KCOLProvider, KNifSessionGetStopping, stopping, NULL);
+	return stopping();
+	}
+
+void CConnectionSelectorShim::HandleSelectionL()
+	{
+	// HandleSelection will set up the provider
+
+	// Set default factory as the CConnectionProviderFactoryShim
+	CreateProviderL();
+	if (iSelectorSession && !iConnProvider->GetNifSession())
+		{			
+		iConnProvider->SetConnectionInfo(iSelectionInfo);
+		//
+		// The factory didn't find an existing provider that matched the query.
+		// It's returned a brand new instance of CConnectionProviderShim.
+		// Hence we'll call Initialise. this will do 2 things:
+		//
+		// 1. Create a secure nif(man) session for the provider
+		// 2. Call ConnectionControlActivity for the provider so that
+		//			
+		iConnProvider->InitialiseL(iSelectorSession);
+		iConnProvider->SetBlockProgressesL(iSelectorSession);
+		iSetProviderNull = ETrue;
+		}
+	}
+
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+void CConnectionSelectorShim::MaybeLockIapL()
+	{
+	//The value of Secure ID is fetched from DataBase againt IAP.Iap is taken agent selection is over.This will look 
+	//into the database if secureID feild is NULL or not if it is NULL then IAP will not be locked
+	CMDBSession* cmdbSession;
+	CCDIAPRecord* ptrIapRecord;
+	ptrIapRecord = static_cast<CCDIAPRecord*>(CCDRecordBase::RecordFactoryL(KCDTIdIAPRecord));
+	CleanupStack::PushL(ptrIapRecord);
+	
+	// Create a new CMDB session Object
+	cmdbSession = CMDBSession::NewL(KCDVersion1_1);
+	// If successm Get and Load the record.
+	CleanupStack::PushL(cmdbSession);
+
+	ptrIapRecord->SetRecordId(iConnectionInfo.iIAPId);
+	ptrIapRecord->LoadL(*cmdbSession);
+	// Although the SecureID of the application is numerical, we have to take it into the string buffer
+	// because of the limitations of the CommsDat, which dont support hexadeciaml values, and truncate 
+	// decimal values after 8 digits, for some unknown reasons.
+	// Because of the current project schedule, its not feasible to rectify commsdat as of now, so decided
+	// to take on string Buffers to be used for Secure Ids from commsdat 
+	TUint32 secureId;
+	secureId=ptrIapRecord->iAppSid;
+ 	
+	if(secureId==iAppSecureId.iId && iAppSecureId.iId!=NULL)
+		{
+		// Inform the Factory that the Ids match so IAP will be locked. The IAP number is also given to 
+		// the factory so that the application can start connection on other IAPs which are not locked
+		// by the program
+		iFactoryIface->SetIAPLockStatus(ETrue,iConnectionInfo.iIAPId);
+		}
+	    
+        CleanupStack::Pop(cmdbSession);
+	delete cmdbSession;
+	CleanupStack::Pop(ptrIapRecord);
+	delete ptrIapRecord;
+	       
+	}
+#endif
+
+void CConnectionSelectorShim::ProgressNotification(TInt aStage, TInt aError)
+/** 
+
+@param 
+*/  
+    {
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tProgressNotification(%d, %d)"), 
+					 this, aStage, aError));
+	
+	// In all cases we must pass the new progress up the chain of selectors
+	if (aError == KErrNone)
+		{
+		aError = iError;
+		}
+	//	
+	// Depending on the progress and the progress error, we need to handle situations differently
+	// 
+	// Normally, if progress has reached KFinishedSelection, we stop propogating the progress
+	// up, because, we would have already setup the provide (iProvider) with a new nif session
+	// pointing to the same agent as iSelectorSession, hence further messages from agent and
+	// nifman will be forwared to the provider.
+	//
+	// However, there are two exceptions to this situation:
+	// We have a provider that's already been initialized with a nif session
+	// signified by !iSetProviderNull, in which case, we forward the message up 
+	// whether or not we have finished selection. Same goes for situations when 
+	// we have progress error, instead of waiting for the provider to propogate the 
+	// message upwards, we use iNotify to do that, since the client would expect the
+	// message (e.g. Stop) to be completed with error immidiately
+	// 
+
+	// Any error means that the selection (and startup of the interface) will be abandoned and reported to the client.
+	if (aError != KErrNone)
+		{
+		iNotify.ProgressNotification(aStage, aError);
+		iNotify.SelectComplete(NULL, aError);
+		DeleteAsync();
+		}
+	else if (aStage <= KFinishedSelection || !iSetProviderNull)
+		{
+		iNotify.ProgressNotification(aStage, aError);
+		}
+
+	if (aStage == KFinishedSelection && aError == KErrNone)
+		{
+		// The selection is complete so we want to reach the situation where the selector (this object) is 
+		// joined by the appropriate provider. The provider will be set up with a pointer to the CNifSession 
+		// allowing the calls to methods such as EnumerateSubConnections to work between KFinishedSelection and
+		// KLinkLayerOpen. The provider will be accessible from the selector until KLinkLayerOpen is reached
+		// (when the selector will be destroyed).
+		TRAP(aError,HandleSelectionL());
+		if (aError == KErrNone)
+			{
+			iNotify.SelectComplete(iConnProvider, aError);
+			}
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+
+		// First Check IAP Locked, if yes Return,
+		TBool  IapLocked = EFalse;
+		TInt	IapNumber = -1;
+	
+		iFactoryIface->GetIAPLockStatus(IapLocked, IapNumber);
+	
+		if (IapLocked && IapNumber == iConnectionInfo.iIAPId)
+			{
+			//iNotify.ProgressNotification(aStage, KErrPermissionDenied);
+			iNotify.SelectComplete(iConnProvider, KErrPermissionDenied);
+			DeleteAsync();	
+			return;
+			}
+#endif //SYMBIAN_NETWORKING_UMTSR5  
+
+		}
+	else if (aStage == KConnectionUninitialised)
+		{
+		//KConnectionUninitialised means that the interface has been stopped.
+		DeleteAsync();
+		}
+	else if (aStage == KLinkLayerOpen && !iIsLinkLayerOpen)
+		{
+		// Calling iNotify.LayerUp when we have a provider setup with a nif session already
+		// follows from the logic above justifying propogating progress up when we have a 
+		// provider setup with a nif session
+		iNotify.LayerUp(aError);
+		DeleteAsync(); // The interface has successfully started and all responsibility should be taken over by the the provider.
+		}
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+    else if ( aStage == ENullAgtConnecting && aError == KErrNone )
+    	{
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+
+	TRAPD(ret,MaybeLockIapL());
+#ifdef __CFLOG_ACTIVE	
+	if(ret!=KErrNone)
+		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tMaybeLockIap left with  %d"), 
+					 this, ret));
+		}
+#endif
+	(void)ret; //TRAP is safe to ignore becuase if MaybeLockIapL: leave the correct behaviour is to leave Iap unlocked.
+	//We can safely ignore the trap because the function will only lock IAP. One should not be effected if someth
+#endif //SYMBIAN_NETWORKING_UMTSR5  
+    	}
+    	
+#endif //SYMBIAN_NETWORKING_3GPPDEFAULTQOS //PREQ399_REMOVE
+    }
+
+
+void CConnectionSelectorShim::SubConnectionEvent(const TSubConnectionEvent& /*aSubConnectionEvent*/)
+/** 
+
+@param 
+*/
+   {		
+   }
+
+void CConnectionSelectorShim::ServiceChangeNotification(TUint32 aId, const TDesC& aType)
+/** 
+
+@param 
+*/
+   {
+   iNotify.ServiceChangeNotification(aId, aType);
+   }
+
+void CConnectionSelectorShim::LinkLayerOpen(TInt aError)
+/** 
+
+@param 
+*/
+	{
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tLinkLayerOpen(aError %d)"), 
+					 this, aError));
+	iIsLinkLayerOpen = ETrue;
+	if (aError == KErrNone)
+		{
+		if (iSetProviderNull)
+			{
+			ASSERT(iConnProvider->GetNifSession());
+			iConnProvider->ReleaseRef(this);
+			iConnProvider = NULL;
+			iSetProviderNull = EFalse;
+			}		
+		
+		DeleteAsync();
+		}
+	else
+		{
+		iNotify.SelectComplete(NULL, aError);
+		}
+    }
+    
+void CConnectionSelectorShim::SetProviderNull()
+	{
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionSelectorShim %08x:\tSetProviderNull() iConnProvider %x"), this, iConnProvider));
+	iConnProvider = NULL;
+	}
+
+void CConnectionSelectorShim::ConnectionError(TInt /*aError*/)
+/** 
+
+@param 
+*/
+    {
+    //ignore the event
+    }
+
+
+void CConnectionSelectorShim::LinkLayerClosed(TInt /*aError*/)
+/** 
+
+@param 
+*/
+    {
+    //ignore the event
+    }
+
+
+
+void CConnectionSelectorShim::ProgressNotification(TSubConnectionUniqueId /*aSubConnectionUniqueId*/, TInt /*aStage*/, TInt /*aError*/)
+/** 
+
+@param 
+*/
+    {
+    }
+
+void CConnectionSelectorShim::InterfaceStateChangeNotification(TDesC8& /*aInfo*/)
+/** 
+
+@param 
+*/
+    {
+    //ignore the event
+    }
+
+
+void CConnectionSelectorShim::NotifyDataSent(TSubConnectionUniqueId /*aSubConnectionUniqueId*/, TUint /*aUplinkVolume*/)
+/** 
+
+@param 
+*/
+    {
+    //ignore the event
+    }
+
+
+void CConnectionSelectorShim::NotifyDataReceived(TSubConnectionUniqueId /*aSubConnectionUniqueId*/, TUint /*aDownlinkVolume*/)
+/** 
+
+@param 
+*/
+    {
+    //ignore the event
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/src/connectionSelectorShim.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,120 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+
+
+/**
+ @file CONNECTIONSELECTORSHIM.H
+ @internalComponent
+*/
+
+#if !defined(__CONNECTIONSELECTORSHIM_H__)
+#define __CONNECTIONSELECTORSHIM_H__
+
+#include <ss_fact.h>
+#include <ss_select.h>
+#include <ss_connprov.h>
+#include <es_prot.h>
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+#include <comms-infras/nifif.h>
+#include <comms-infras/dbaccess.h>
+#include <commdbconnpref.h>
+#include "shimcprfactory.h" 
+#endif //SYMBIAN_NETWORKING_UMTSR5
+
+class CConnectionProviderShim;
+class CConnectionSelectorShim : public CBase, public MProviderSelector, public MConnectionNotify
+/**
+@internalTechnology
+@released Since 9.1
+*/
+	{	
+	friend class CConnectionProviderFactoryShim;
+	
+public:	
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+	
+	// This function will be called by the ShimCprFactory to set its interface for the information
+	// pertaining to the IAP lock status
+	void  SetFactoryIface(MIAPLockInfo * aFactoryIface);
+	
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5
+	
+protected:
+	CConnectionSelectorShim(ISelectionNotify& aNotify);
+	virtual ~CConnectionSelectorShim();	
+    void DeleteAsync();
+	
+public:
+    TInt Select(Meta::SMetaData& aPreferences, const RMessagePtr2* aMessage);
+      
+    // From MConnectionNotify
+	virtual void SelectionComplete(TInt aError, const TDesC8& aSelectionInfo);
+	virtual void ConnectionError(TInt aError);
+	virtual void LinkLayerOpen(TInt aError);
+	virtual void LinkLayerClosed(TInt aError);
+	virtual void ProgressNotification(TInt aStage, TInt aError);
+	virtual void ProgressNotification(TSubConnectionUniqueId aSubConnectionUniqueId, TInt aStage, TInt aError);
+	virtual void ServiceChangeNotification(TUint32 aId, const TDesC& aType);
+	virtual void InterfaceStateChangeNotification(TDesC8& aInfo);
+	virtual void NotifyDataSent(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aUplinkVolume);
+	virtual void NotifyDataReceived(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aDownlinkVolume);
+	virtual void SubConnectionEvent(const TSubConnectionEvent& aSubConnectionEvent);
+
+	//MProviderSelector
+	virtual TInt Cancel(TInt aReason, const RMessage2* aMessage);
+	virtual TInt Cancel();
+	void SetProviderNull();
+private:
+	static TInt AsyncDestructorCb(TAny* aInstance);
+	void CreateProviderL();
+	void HandleSelectionL();
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+	void MaybeLockIapL();
+#endif	
+	TBool IsConnectionStoppingL();
+	
+private:
+    CConnectionProvdBase* iSelectorSession;
+    ISelectionNotify iNotify;
+    CAsyncCallBack iAsyncDestructor;
+    RBuf8 iSelectionInfo;
+    CConnectionProviderShim* iConnProvider;
+    TInt iError;
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+    TBool iSetProviderNull;
+    TBool iIsLinkLayerOpen;
+#else
+    TBool iSetProviderNull:1;
+    TBool iIsLinkLayerOpen:1;
+#endif  
+	// New Variables added as required by 635 to achieve IAP locking
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+	// The Connection Info, IAP , etc.
+	TSoIfConnectionInfo iConnectionInfo;
+	// The Secure ID of the current Application
+    TSecureId 			iAppSecureId;
+    // Interface to the Factor which Stores and get the IAP Lock Status
+    MIAPLockInfo*		iFactoryIface;
+#endif 
+
+	};
+
+
+#endif	// __CONNECTIONSELECTORSHIM_H__
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/src/shimclient.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,733 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This is part of an ECOM plug-in
+// 
+//
+
+#include <ss_std.h>
+#include "shimnifmansconn.h"
+#include "es_prot.h"
+
+
+/**
+@internalComponent
+*/
+const TUint KMicrosecondsInASecond = 1000000;
+const TInt KMaxTimerPeriod = KMaxTInt32/KMicrosecondsInASecond; //< max period of a CTimer using After()
+
+
+CSubConnectionLinkShimClient::CSubConnectionLinkShimClient(const CConnection& aConnection, CNifManSubConnectionShim& aSubConnectionShim) :
+	iConnection(aConnection), 
+	iSubConnectionShim(aSubConnectionShim),
+	iOutstandingProgressNotification(EFalse), 
+	iOutstandingDataSentNotification(EFalse), 
+	iOutstandingDataReceivedNotification(EFalse), 
+	iOutstandingSubConnectionActivity(EFalse) 
+/**
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tCSubConnectionLinkShimClient() created for id %d, iConnection %08x"), 
+							 this, aSubConnectionShim.Id(), &iConnection));
+	}
+
+CSubConnectionLinkShimClient::~CSubConnectionLinkShimClient()
+/**
+Complete all outstanding RMessages
+
+*/
+	{	
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\t~CSubConnectionLinkShimClient(), id %d, iSubConnectionShim %08x"), 
+				 this, iSubConnectionShim.Id(), this, &iSubConnectionShim));
+
+	if(iActivityTimer)
+		{
+		iActivityTimer->Cancel();
+		delete iActivityTimer;
+		iActivityTimer = NULL;
+		}
+
+	if(iOutstandingProgressNotification)
+		iOutstandingProgressNotificationMessage.Complete(KErrCancel);
+	if(iOutstandingDataSentNotification)
+		iOutstandingDataSentNotificationMessage.Complete(KErrCancel);
+	if(iOutstandingDataReceivedNotification)
+		iOutstandingDataReceivedNotificationMessage.Complete(KErrCancel);
+	if(iOutstandingSubConnectionActivity)
+		iOutstandingSubConnectionActivityMessage.Complete(KErrCancel);
+	if (iSubConnectionShim.DataTransferShim())
+		{
+		iSubConnectionShim.DataTransferShim()->DeRegisterClient(*this);
+		}
+	}
+
+TBool CSubConnectionLinkShimClient::Match(const CConnection& aConnection) const
+	{
+	return &iConnection == &aConnection;
+	}
+	
+TSubConnectionUniqueId CSubConnectionLinkShimClient::Id()
+	{
+	return iSubConnectionShim.Id();
+	}
+
+TInt CSubConnectionLinkShimClient::ReturnCode() const
+	{
+	return iReturnCode;
+	}
+	
+TInt CSubConnectionLinkShimClient::GetCurrentProgress(TNifProgress& aProgress)
+/**
+Return the current progress state
+
+@param aProgress On return, contains the current progress from the subconnection
+@return KErrNone if successful; otherwise one of the system-wide error codes
+*/
+	{	
+	aProgress = iCurrentProgress;
+	
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tGetCurrentProgress() => (%d, %d)"), 
+			    this, aProgress.iStage, aProgress.iError));
+	return KErrNone;
+	}
+
+TBool CSubConnectionLinkShimClient::StopL(const RMessage2& aMessage)
+	{	
+	TInt stopCode = 0;
+	RConnection::TConnStopType stopType = static_cast<RConnection::TConnStopType>(aMessage.Int1());
+	switch (stopType)
+		{
+		case RConnection::EStopNormal:
+			stopCode = KErrCancel;
+			break;
+		case RConnection::EStopAuthoritative:
+			stopCode = KErrConnectionTerminated;
+			break;
+		default:
+			stopCode = KErrCancel; // to remove compile warning
+			User::Leave(KErrArgument);
+		}
+
+	TInt ret = iSubConnectionShim.Provider().Stop(iSubConnectionShim.Id(), stopCode, &aMessage);
+	if (ret != KErrNone)
+		{
+		User::Leave(ret);
+		}
+	return ETrue;
+	}
+
+TBool CSubConnectionLinkShimClient::DataTransferredL(const RMessage2& aMessage)
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataTransferredL(), id %d"),
+				this, iSubConnectionShim.Id()));
+
+	TUint uplinkDataVolume;
+	TUint downlinkDataVolume;
+
+	TInt ret = iSubConnectionShim.DataTransferShim()->DataTransferred(uplinkDataVolume, downlinkDataVolume);
+
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataTransferredL(), ret %d, uplink %d, downlink %d"),
+			    this, ret, uplinkDataVolume, downlinkDataVolume));
+
+	if (KErrNone == ret)
+		{
+		TPckg<TUint> uplinkDataVolumePckg(uplinkDataVolume);
+		TPckg<TUint> downlinkDataVolumePckg(downlinkDataVolume);
+
+		aMessage.WriteL(1, uplinkDataVolumePckg);
+		aMessage.WriteL(2, downlinkDataVolumePckg);
+		}
+	SetReturnCode(ret);
+	return ETrue;
+	}
+
+TBool CSubConnectionLinkShimClient::DataTransferredCancel(const RMessage2& /*aMessage*/)
+	{
+	return ETrue;		
+	}
+
+TBool CSubConnectionLinkShimClient::RequestSubConnectionProgressNotificationL(const RMessage2& aMessage)
+/**
+Request from client for notification of new progress
+
+@pre No outstanding request for data sent notifications for this subconnection on this RConnection
+@param aMessage The client message
+@return ETrue if the client message is to be completed immediately
+@leave leaves with KErrInUse if there is already an outstanding RMessage for progress notification
+*/
+	{
+	if(iOutstandingProgressNotification)
+		User::Leave(KErrInUse);
+
+	TInt clientRequestedProgress = 0;
+	clientRequestedProgress = static_cast<TUint>(aMessage.Int2());
+	// if	- the last progress we sent to the client differs from the current one
+	// and	- the current progress is the same as the client requested progress OR 
+	//        the client has no requested progress...
+	if(iLastProgressToClient!=iCurrentProgress.iStage &&
+		(iCurrentProgress.iStage == clientRequestedProgress || clientRequestedProgress==0))
+		{		
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tRequestSubConnectionProgressNotificationL() returning progress (%d, %d)"), 
+							 this, iCurrentProgress.iStage, iCurrentProgress.iError));
+
+		// ...send the current progress back
+		TPckg<TNifProgress> prog(iCurrentProgress);
+		aMessage.WriteL(1, prog);
+		return ETrue;
+		}
+	else	// store the client message until the next progress value arrives
+		{
+		//__FLOG_STATIC1(_L("ESock: "), _L("CSubConnectionLinkShimClient"), 
+		// _L("[id: %d]: client requested progress notification; storing client message for later completion"), 
+		// iSubConnectionsUniqueId);
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tRequestSubConnectionProgressNotificationL() storing client message for later completion"), this));
+
+		iClientRequestedProgress = clientRequestedProgress;	// may be 0
+		iOutstandingProgressNotificationMessage = aMessage;
+		iOutstandingProgressNotification = ETrue;
+		return EFalse;
+		}
+	}
+
+TBool CSubConnectionLinkShimClient::CancelSubConnectionProgressNotification(const RMessage2& /*aMessage*/)
+/**
+Complete outstanding progress notification RMessage
+
+@param aMessage The client message
+@return ETrue if the client message is to be completed immediately
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tCancelSubConnectionProgressNotification(), id %d, iSubConnectionShim %08x"), 
+						 iSubConnectionShim.Id(), this));
+
+	if(iOutstandingProgressNotification)
+		{
+		iOutstandingProgressNotificationMessage.Complete(KErrCancel);
+		iOutstandingProgressNotification = EFalse;
+		}
+	return ETrue;
+	}
+
+TBool CSubConnectionLinkShimClient::DataSentNotificationRequestL(const RMessage2& aMessage)
+/**
+Request notification when the specified (absolute or relative) volume of data has been sent
+
+@pre No outstanding request for data sent notifications for this subconnection on this RConnection
+@param aMessage The client message
+@return ETrue if the client message is to be completed immeadiately
+@leave leaves with KErrInUse if there is already an outstanding RMessage for data sent notification
+*/
+	{
+	if(iOutstandingDataSentNotification)
+		User::Leave(KErrInUse);
+
+	TUint requestedUplinkGranularity = static_cast<TUint>(aMessage.Int1());
+	if(requestedUplinkGranularity)	// the client is working in relative mode
+		{
+		iRemainingUplinkGranularity = requestedUplinkGranularity;
+		iDataSentNotificationsInAbsoluteMode = EFalse;
+
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataSentNotificationRequestL(), id %d (relative mode: %d bytes)"), 
+							 this, iSubConnectionShim.Id(), iRemainingUplinkGranularity));
+		}
+	else							// the client is working in absolute mode
+		{
+		TPckg<TUint> iUplinkVolumeBuf(iUplinkDataNotificationVolume);
+		aMessage.ReadL(2, iUplinkVolumeBuf);
+		iDataSentNotificationsInAbsoluteMode = ETrue;
+
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataSentNotificationRequestL() id %d (absolute mode: %d bytes)"), 
+							 this, iSubConnectionShim.Id(), iUplinkDataNotificationVolume));
+
+		if(iUplinkDataNotificationVolume >= iUplinkDataVolume)	// we've already sent this amount of data
+			{
+			__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataSentNotificationRequestL() id %d (completed immediately"), 
+								 this, iSubConnectionShim.Id()));
+			return ETrue;
+			}
+		}
+	
+	iOutstandingDataSentNotificationMessage = aMessage;
+	iOutstandingDataSentNotification = ETrue;
+	
+	iSubConnectionShim.DataTransferShim()->DataSentNotificationRequest(requestedUplinkGranularity, iUplinkDataNotificationVolume);
+
+	return EFalse;
+	}
+
+TBool CSubConnectionLinkShimClient::DataSentNotificationCancel(const RMessage2& /*aMessage*/)
+/**
+Complete outstanding data sent notification RMessage
+
+@param aMessage The client message
+@return ETrue if the client message is to be completed immediately
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataSentNotificationCancel() id %d"), 
+				 this, iSubConnectionShim.Id()));
+	iSubConnectionShim.DataTransferShim()->DataSentNotificationCancel();
+
+	if(iOutstandingDataSentNotification)
+		{
+		iOutstandingDataSentNotificationMessage.Complete(KErrCancel);
+		iOutstandingDataSentNotification= EFalse;
+		}
+	return ETrue;
+	}
+
+TBool CSubConnectionLinkShimClient::DataReceivedNotificationRequestL(const RMessage2& aMessage)
+/**
+Request notification when the specified (absolute or relative) volume of data has been sent
+
+@pre No outstanding request for data sent notifications for this subconnection on this RConnection
+@param aMessage The client message
+@return ETrue if the client message is to be completed immediately
+@leave leaves with KErrInUse if there is already an outstanding RMessage for data received notification
+*/
+	{
+
+	if(iOutstandingDataReceivedNotification)
+		User::Leave(KErrInUse);
+	
+	TUint requestedDownlinkGranularity = static_cast<TUint>(aMessage.Int1());
+	if(requestedDownlinkGranularity)	// the client is working in relative mode
+		{
+		iRemainingDownlinkGranularity = requestedDownlinkGranularity;
+		iDataReceivedNotificationsInAbsoluteMode = EFalse;
+		
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataReceivedNotificationRequestL() id %d (relative mode: %d bytes)"), 
+					 this, iSubConnectionShim.Id(), iRemainingDownlinkGranularity));
+		}
+	else							// the client is working in absolute mode
+		{
+		TPckg<TUint> iDownlinkVolumeBuf(iDownlinkDataNotificationVolume);
+		aMessage.ReadL(2, iDownlinkVolumeBuf);
+		iDataReceivedNotificationsInAbsoluteMode = ETrue;
+
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataReceivedNotificationRequestL() id %d (absolute mode: %d bytes)"), 
+							 this, iSubConnectionShim.Id(), iDownlinkDataNotificationVolume));
+		
+		if(iDownlinkDataNotificationVolume >= iDownlinkDataVolume)	// we've already received this amount of data
+			{
+			__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataReceivedNotificationRequestL() id %d(completed immediately)"), 
+						 this, iSubConnectionShim.Id()));
+			return ETrue;
+			}
+		}
+
+	iOutstandingDataReceivedNotificationMessage = aMessage;
+	iOutstandingDataReceivedNotification = ETrue;
+
+	iSubConnectionShim.DataTransferShim()->DataReceivedNotificationRequest(requestedDownlinkGranularity, iDownlinkDataNotificationVolume);
+
+	return EFalse;
+	}
+
+TBool CSubConnectionLinkShimClient::DataReceivedNotificationCancel(const RMessage2& /*aMessage*/)
+/**
+Complete outstanding data received notification RMessage
+
+@param aMessage The client message
+@return ETrue if the client message is to be completed immediately
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tDataReceivedNotificationCancel() id %d"), 
+						 this, iSubConnectionShim.Id()));
+
+	iSubConnectionShim.DataTransferShim()->DataReceivedNotificationCancel();
+
+	if(iOutstandingDataReceivedNotification)
+		{
+		iOutstandingDataReceivedNotificationMessage.Complete(KErrCancel);
+		iOutstandingDataReceivedNotification = EFalse;
+		}
+	return ETrue;
+	}
+
+TBool CSubConnectionLinkShimClient::IsSubConnectionActiveRequestL(const RMessage2& aMessage)
+/**
+Indicate whether the subconnection is active or not
+
+@note Checks at a period defined in the RMessage
+@note Only returns when the state varies from that provided by the client
+@param aMessage The client message
+@return ETrue if the client message is to be completed immediately
+*/
+	{
+	if(iOutstandingSubConnectionActivity)
+		User::Leave(KErrInUse);
+
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tIsSubConnectionActiveRequestL() id %d"), 
+				this, iSubConnectionShim.Id()));
+
+	// Create the activity timer if it doesn't already exist (from a previous request)
+	if(!iActivityTimer)
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tIsSubConnectionActiveRequestL() id %d - creating timer"), 
+					this, iSubConnectionShim.Id()));
+
+		iActivityTimer = CActivityTimer::NewL(this, KActivityTimerPriority);
+		}
+
+	TPckg<TBool> subConnectionActiveBuf(iClientBelievesSubConnectionActive);
+	aMessage.ReadL(2, subConnectionActiveBuf);
+
+	iSubConnectionShim.DataTransferShim()->DataTransferred(iPreviousUplinkDataVolume, iPreviousDownlinkDataVolume);	
+
+	// get clients request timer period and check validity
+	TInt timeInSeconds = static_cast<TUint>(aMessage.Int1());
+	if(timeInSeconds > KMaxTimerPeriod) // secs; underlying CTimer limitation
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tIsSubConnectionActiveRequestL() id %d - rejecting timer request (%d secs)"), 
+							 this, iSubConnectionShim.Id(), timeInSeconds));
+		
+		SetReturnCode(KErrArgument);
+		return ETrue;
+		}
+
+	// store in microsecs
+	iRequestedClientTimerPeriod = timeInSeconds * KMicrosecondsInASecond;
+	
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tIsSubConnectionActiveRequestL() id %d, iClientBelievesSubConnectionActive %d, iRequestedClientTimerPeriod %d - Starting timer."), 
+						 this, iSubConnectionShim.Id(), iClientBelievesSubConnectionActive, iRequestedClientTimerPeriod));
+
+	iOutstandingSubConnectionActivity = ETrue;
+	iOutstandingSubConnectionActivityMessage = aMessage;
+
+	iActivityTimer->After(iRequestedClientTimerPeriod);
+	return EFalse;
+	}
+
+TBool CSubConnectionLinkShimClient::IsSubConnectionActiveCancel(const RMessage2& /*aMessage*/)
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tIsSubConnectionActiveCancel() id %d, connection %08x"), 
+						 this, iSubConnectionShim.Id(), &iConnection));
+
+	if(iOutstandingSubConnectionActivity)
+		{
+		iActivityTimer->Cancel();
+		ASSERT(iOutstandingSubConnectionActivity); // assert that the timer cancelled rather than completing
+		iOutstandingSubConnectionActivityMessage.Complete(KErrCancel);
+		iOutstandingSubConnectionActivity = EFalse;
+		}
+	return ETrue;
+	}
+	
+TInt CSubConnectionLinkShimClient::GetSubConnectionInfo(const RMessage2& aMessage)
+	{
+	TUint index = static_cast<TUint>(aMessage.Int0());
+	
+	TInt result = KErrNone;
+	TRAP(result,
+
+   	// Find the size of the clients descriptor
+   	TInt sizeOfSubConnInfo = aMessage.GetDesLengthL(1);
+   
+   	// Create an appropriately sized descriptor server-side
+   	HBufC8* subConnectionInfo;
+   	subConnectionInfo = HBufC8::NewL(sizeOfSubConnInfo);
+   	CleanupStack::PushL (subConnectionInfo);
+   	
+   	TPtr8 subConnInfoPtr(subConnectionInfo->Des());
+
+   	// and read the client data across
+      aMessage.ReadL(1, subConnInfoPtr);
+
+   	// Pass it down to the connection provider using the appropriate call
+     	if(index==KUseEmbeddedUniqueId)
+   		{
+   		result = iSubConnectionShim.Provider().GetSubConnectionInfo(subConnInfoPtr);
+   		}
+   	else
+   		{
+   		result = iSubConnectionShim.Provider().GetSubConnectionInfo(index, subConnInfoPtr);
+   		}
+   
+   	if (KErrNone == result)
+   		{
+   		// Write result back into client's address space
+   		aMessage.WriteL(1, subConnInfoPtr);
+   		}
+   		
+   	CleanupStack::PopAndDestroy (subConnectionInfo);
+      );  // END TRAP
+      
+	SetReturnCode(result);
+	return ETrue;
+	}
+	
+void CSubConnectionLinkShimClient::ProgressNotification(TInt aStage, TInt aError, const TDesC8& /*aInfo*/)
+/**
+Notification of new progress stage from nif/agent via Nifman and CInterface
+
+@param aStage The progress stage that has been reached
+@param aError Any errors that have occured
+@param aInfo No idea what this is, it's inserted by CInterface and is currently null
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tProgressNotification(%d, %d) id %d"), 
+						this, aStage, aError, iSubConnectionShim.Id()));
+
+	iCurrentProgress.iStage = aStage;
+	iCurrentProgress.iError = aError;
+
+	if(iOutstandingProgressNotification)
+		{
+		if(iLastProgressToClient!=iCurrentProgress.iStage && /* we could assume this since we've probably just received a new progress value */
+			(iCurrentProgress.iStage == iClientRequestedProgress || iClientRequestedProgress==0))
+			{
+			TPckg<TNifProgress> prog(iCurrentProgress);
+			TInt err= iOutstandingProgressNotificationMessage.Write(1, prog);
+			iOutstandingProgressNotificationMessage.Complete(err);
+			iOutstandingProgressNotification= EFalse;
+			}
+		}
+	}
+
+TInt CSubConnectionLinkShimClient::NotifyDataSent(TUint aUplinkVolume, TUint aCurrentGranularity)
+/**
+Upcall from connection provider, via MConnDataTransferNotify. Update the sent bytes count, and if necessary
+complete any outstanding RMessages
+
+@param aUplinkVolume The total number of bytes sent on this subconnection
+@note Upcall from CInterface via CConnection
+*/
+	{	
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tNotifyDataSent(aUplinkVolume %d, aCurrentGranularity %d) id %d"), 
+						 this, aUplinkVolume, aCurrentGranularity, iSubConnectionShim.Id()));
+
+	iUplinkDataVolume = aUplinkVolume;
+
+	TBool completeMessage = EFalse;
+
+	if(iOutstandingDataSentNotification)
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - outstanding client request"), 
+							 this, iSubConnectionShim.Id()));
+		switch(iDataSentNotificationsInAbsoluteMode)
+			{
+			case ETrue:
+				__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - %d bytes remaining to be sent before client completion (absolute mode)"), 
+									 this, iSubConnectionShim.Id(), (iUplinkDataNotificationVolume - iUplinkDataVolume)));
+				
+				if (iUplinkDataVolume >= iUplinkDataNotificationVolume)
+					{
+					completeMessage = ETrue;
+					}
+				break;
+				
+			case EFalse:	// in relative mode
+				iRemainingUplinkGranularity -= aCurrentGranularity;
+				
+				__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - %d bytes remaining to be sent before client completion (relative mode)."), 
+									 this, iSubConnectionShim.Id(), iRemainingUplinkGranularity));
+				
+				if(iRemainingUplinkGranularity <= 0)
+					{
+					completeMessage = ETrue;
+					}
+				break;
+
+			default:
+				break;
+			}
+		}
+
+	if(completeMessage)
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - completing client request."), 
+							 iSubConnectionShim.Id(), this));
+		TPckg<TUint> iUplinkDataVolumePckg(iUplinkDataVolume);
+		TInt ret= iOutstandingDataSentNotificationMessage.Write(2, iUplinkDataVolumePckg);
+		iOutstandingDataSentNotificationMessage.Complete(ret);
+		iOutstandingDataSentNotification= EFalse;
+		}
+	return KErrNone;
+	}
+
+TInt CSubConnectionLinkShimClient::NotifyDataReceived(TUint aDownlinkVolume, TUint aCurrentGranularity)
+/**
+Update the received bytes count, and if necessary complete any outstanding RMessages
+
+@param aDownlinkVolume The total number of bytes sent on this subconnection
+@param aCurrentGranularity The currently set granularity of notifications from the CInterface object
+@note Upcall from CInterface via CConnection
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tNotifyDataReceived(aDownlinkVolume %d, aCurrentGranularity %d)"), 
+						 this, iSubConnectionShim.Id(), aDownlinkVolume, aCurrentGranularity));
+
+	iDownlinkDataVolume = aDownlinkVolume;
+
+	TBool completeMessage = EFalse;
+
+	if(iOutstandingDataReceivedNotification)
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - outstanding client request"), 
+							 this, iSubConnectionShim.Id()));
+		switch(iDataReceivedNotificationsInAbsoluteMode)
+			{
+			case ETrue:
+				__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - %d bytes remaining to be sent before client completion (absolute mode)."), 
+									 this, iSubConnectionShim.Id(), (iDownlinkDataNotificationVolume - iDownlinkDataVolume)));
+
+				if (iDownlinkDataVolume >= iDownlinkDataNotificationVolume)
+					{
+					completeMessage = ETrue;
+					}
+				break;
+
+			case EFalse:	// in relative mode
+				iRemainingDownlinkGranularity -= aCurrentGranularity;
+		
+				__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - %d bytes remaining to be sent before client completion (relative mode)."), 
+									 this, iSubConnectionShim.Id(), iRemainingDownlinkGranularity));
+
+				if(iRemainingDownlinkGranularity <= 0)
+					{
+					completeMessage = ETrue;
+					}
+				break;
+
+			default:
+				break;
+			}
+		}
+
+	if(completeMessage)
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - completing client request."), 
+					 this, &iSubConnectionShim));
+		TPckg<TUint> iDownlinkDataVolumePckg(iDownlinkDataVolume);
+		TInt ret= iOutstandingDataReceivedNotificationMessage.Write(2, iDownlinkDataVolumePckg);
+		iOutstandingDataReceivedNotificationMessage.Complete(ret);
+		iOutstandingDataReceivedNotification= EFalse;
+		}
+	return KErrNone;
+	}
+
+TInt CSubConnectionLinkShimClient::NotifyDataTransferred(const TUint aUplinkVolume, const TUint aDownlinkVolume)
+/**
+Upcall from CConnection, indicating that it has performed a DataTransferred request and notifying us of the results
+
+@param aUplinkVolume The total amount of data sent so far on this subconnection
+@param aDownlinkVolume The total amount of data received so far on this subconnection
+*/
+	{
+	// Update internal data counters, complete any outstanding RMessages if appropriate
+	// No granularities because we don't know what they are, and because we're taking the 
+	// opportunity of using the client's call to update our counters, ie. it's not an 
+	// actual notification
+	NotifyDataSent(aUplinkVolume, 0);
+	NotifyDataReceived(aDownlinkVolume, 0);
+	return KErrNone;
+	}
+
+void CSubConnectionLinkShimClient::CheckSubConnectionActivity()
+/**
+Check for activity on the subconnection since the last call (to IsSubConnectionActiveRequest() )
+
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tCheckSubConnectionActivity() id %d"), 
+						 this, iSubConnectionShim.Id()));
+
+	ASSERT(iOutstandingSubConnectionActivity);
+
+	TUint newUplinkDataVolume;
+	TUint newDownlinkDataVolume;
+	
+	iSubConnectionShim.DataTransferShim()->DataTransferred(newUplinkDataVolume, newDownlinkDataVolume);
+
+	TBool dataTransferred = (newUplinkDataVolume!=iPreviousUplinkDataVolume) || 
+		                    (newDownlinkDataVolume!=iPreviousDownlinkDataVolume);
+
+	// If the data transferred volumes haven't change but the client thinks the connection is active...
+	if(iClientBelievesSubConnectionActive)
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - client believes subconnection active"), 
+							 this, iSubConnectionShim.Id()));
+
+		if(dataTransferred)	// ...and it is, so just start another timer cycle
+			{
+			__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - ...and it is.  Restart timer for another cycle."), 
+								 this, iSubConnectionShim.Id()));
+
+			iPreviousUplinkDataVolume = newUplinkDataVolume;
+			iPreviousDownlinkDataVolume = newDownlinkDataVolume;
+			iActivityTimer->After(iRequestedClientTimerPeriod);
+			}
+		else				// ...tell them it's not
+			{
+			__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - ...and it isn't.  Notify client."), 
+								 this, iSubConnectionShim.Id()));
+
+			TPckg<TBool> subConnectionActiveBuf(dataTransferred);
+			TInt ret= iOutstandingSubConnectionActivityMessage.Write(2, subConnectionActiveBuf);
+			iOutstandingSubConnectionActivityMessage.Complete(ret);
+			iOutstandingSubConnectionActivity = EFalse;
+			}
+		}
+	else					// client believes subconnection is idle...
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - client believes subconnection idle..."), 
+							 this, iSubConnectionShim.Id()));
+
+		if(dataTransferred)
+			{
+			__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - ...and it isn't.  Notify client."), 
+								 this, iSubConnectionShim.Id()));
+
+			TPckg<TBool> subConnectionActiveBuf(dataTransferred);
+			TInt ret= iOutstandingSubConnectionActivityMessage.Write(2, subConnectionActiveBuf);
+			iOutstandingSubConnectionActivityMessage.Complete(ret);
+			iOutstandingSubConnectionActivity = EFalse;
+			}
+		else				// ...and it is, so just start another timer cycle
+			{
+			__CFLOG_VAR((KShimScprTag, KShimScprClientTag, _L8("CSubConnectionLinkShimClient %08x:\tid %d - ...and it is.  Restart timer for another cycle."), 
+								 this, iSubConnectionShim.Id()));
+
+			iPreviousUplinkDataVolume = newUplinkDataVolume;
+			iPreviousDownlinkDataVolume = newDownlinkDataVolume;
+			iActivityTimer->After(iRequestedClientTimerPeriod);
+			}
+		}
+	}
+
+CSubConnectionLinkShimClient::CActivityTimer* CSubConnectionLinkShimClient::CActivityTimer::NewL(CSubConnectionLinkShimClient* aOwner, TInt aPriority)
+/**
+Construct a new CActivityTimer()
+
+@param aOwner The owning CSubConnectionLinkShimClient (on which we call methods upon timer completion)
+@param aPriority The priority of the active object underlying this timer object
+@return A pointer to the newly constructed CActivityTimer object
+*/
+	{
+	CSubConnectionLinkShimClient::CActivityTimer* newActivityTimer = 
+		new(ELeave) CSubConnectionLinkShimClient::CActivityTimer(aOwner, aPriority);
+
+	CleanupStack::PushL(newActivityTimer);
+	newActivityTimer->ConstructL();
+	CleanupStack::Pop(newActivityTimer);
+	return newActivityTimer;
+	}
+
+void CSubConnectionLinkShimClient::CActivityTimer::RunL()
+/**
+Call the owning object's check activity method
+
+*/
+	{ 
+	iOwner->CheckSubConnectionActivity(); 
+	} 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/src/shimconnsettings.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,46 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file SS_CONNSETTINGS.CPP
+*/
+
+#include "shimconnsettings.h"
+#include "es_prot.h"
+
+void CConnectionSettingsShim::DoGetBoolSettingL(const TDesC& aSettingName, TBool& aValue, const RMessagePtr2* aMessage )
+	{
+	iConnectionProvdBase.DoGetBoolSettingL( aSettingName, aValue, aMessage );
+	}
+	
+void CConnectionSettingsShim::DoGetDes16SettingL(const TDesC& aSettingName, TDes16& aValue, const RMessagePtr2* aMessage )
+	{
+	iConnectionProvdBase.DoGetDes16SettingL( aSettingName, aValue, aMessage );
+	}
+	
+void CConnectionSettingsShim::DoGetDes8SettingL(const TDesC& aSettingName, TDes8& aValue, const RMessagePtr2* aMessage )
+	{
+	iConnectionProvdBase.DoGetDes8SettingL( aSettingName, aValue, aMessage );
+	}
+	
+void CConnectionSettingsShim::DoGetIntSettingL(const TDesC& aSettingName, TUint32& aValue, const RMessagePtr2* aMessage )
+	{
+	iConnectionProvdBase.DoGetIntSettingL( aSettingName, aValue, aMessage );
+	}
+	
+HBufC* CConnectionSettingsShim::DoGetLongDesSettingLC(const TDesC& aSettingName, const RMessagePtr2* aMessage )
+	{
+	return iConnectionProvdBase.DoGetLongDesSettingLC( aSettingName, aMessage );
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/src/shimcpr.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,681 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <comms-infras/nifif.h>
+#include <esockmessages.h>
+#include <nifman.h>
+#include "shimcpr.h"
+#include "shimconnsettings.h"
+#include "es_prot.h"
+#include "shimnifmansconn.h"
+#include "ss_glob.h"
+#include "connectionSelectorShim.h"
+
+using namespace ESock;
+
+//PREQ399_REMOVE
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+#include <networking/umtsgprs_subconnprovfactory.h>
+#endif
+//SYMBIAN_NETWORKING_3GPPDEFAULTQOS //PREQ399_REMOVE
+
+
+CConnectionProviderShim* CConnectionProviderShim::NewL(CConnectionProviderFactoryBase& aFactory)
+	{
+	CConnectionProviderShim* self = new (ELeave) CConnectionProviderShim(aFactory);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+
+void CConnectionProviderShim::ConstructL()
+	{
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tConstructL"), this));
+	// Do nothing, atleast for now;	
+	}
+
+CConnectionProviderShim::~CConnectionProviderShim()
+	{
+	delete iConnectionSettings;
+	
+	// As soon as the provider has a valid iProvider pointer the ownership has passed to this provider
+   	delete iProvider;
+
+	iSelectors.Close();
+	iConnections.Close();
+	iNifManSubConnections.Close();
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\t~CConnectionProviderShim"), this));
+	}
+	
+void CConnectionProviderShim::AddRefL(CConnectionSelectorShim* aSelector)
+	{
+	TInt index = iSelectors.Find(aSelector);
+	if (-1 == index)
+		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tAddRef(aSelector %x) adding selector"), this, aSelector));	
+		iSelectors.AppendL(aSelector);
+		}
+	else
+		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tAddRef(aSelector %x) selector already known"), this, aSelector));	
+		}
+	}
+	
+
+void CConnectionProviderShim::ReleaseRef(CConnectionSelectorShim* aSelector)
+	{	
+	TInt index = iSelectors.Find(aSelector);
+	if (-1 != index)
+		{		
+		iSelectors[index]->SetProviderNull();
+		iSelectors.Remove(index);
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tReleaseRef(aSelector %x) removng selector"), this, aSelector));
+		}
+	else
+		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tReleaseRef(aSelector %x) selector not known"), this, aSelector));
+		}
+	
+	if (ShouldIDeleteNow())
+		{
+		DeleteMeNow();
+		}
+	}
+	
+// CConnectionProviderBase virtuals
+TBool CConnectionProviderShim::ShouldIDeleteNow()
+	{		
+	TInt selectors = iSelectors.Count();
+	if (0 == selectors && !iHasAnyControlClientJoined)
+		{
+		return ETrue;
+		}
+		
+	return EFalse;	
+	}
+
+void CConnectionProviderShim::DoStartL(Meta::SMetaData& aParams, const RMessagePtr2* aMessage)
+	{
+#ifdef _DEBUG
+	Meta::STypeId tid = aParams.GetTypeId();
+	ASSERT( tid.iUid == TUid::Uid( KESockMessagesImplementationUid ) && tid.iType == EESockMessageConnStart);
+#endif
+	
+	CConnStart& p = static_cast<CConnStart&>(aParams);
+	if ( p.ConnPrefs() )
+		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tDoStartL() with prefs"), this));
+		iProvider->StartL(p.StartType(), *p.ConnPrefs(), aMessage);
+		}
+	else
+		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tDoStartL() without prefs"), this));
+		iProvider->StartL(p.StartType(), aMessage);
+		}
+	}
+   
+void CConnectionProviderShim::DoDataClientJoiningL(MConnectionDataClient& aDataClient)
+	{
+	(void)aDataClient;
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tDoDataClientJoiningL(aDataClient %x) [iDataClients.Count()=%d]"), this, &aDataClient, iDataClients.Count()));
+	}
+	
+void CConnectionProviderShim::DoDataClientLeaving(MConnectionDataClient& aDataClient)
+	{
+	(void)aDataClient;
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tDoDataClientLeaving(aDataClient %x) [iDataClients.Count()=%d]"), this, &aDataClient, iDataClients.Count()));
+	}
+	
+void CConnectionProviderShim::DoControlClientJoiningL(MConnectionControlClient& aControlClient)
+	{
+	(void)aControlClient;
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tDoControlClientJoiningL(aControlClient %x) [iControlClients.Count()=%d]"), this, &aControlClient, iControlClients.Count()));
+	}
+	
+void CConnectionProviderShim::DoControlClientLeaving(MConnectionControlClient& aControlClient)
+	{
+	(void)aControlClient;
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tDoControlClientLeaving(aControlClient %x) [iControlClients.Count()=%d]"), this, &aControlClient, iControlClients.Count()));
+	}
+	
+TInt CConnectionProviderShim::DoStop(TInt aError, const RMessagePtr2* aMessage)
+	{
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+	// when RConn::Stop() happens, that means one is releasing the connection, so the IAP associated with
+	// the Lock should go away. The code below will set the status of IAP locked to false, so that any further
+	// Start can lock it 			
+	iFactoryShim->SetIAPLockStatus(EFalse,-1);
+#endif // SYMBIAN_NETWORKING_UMTSR5			
+	return iProvider->Stop( aError, aMessage );
+	}
+   
+void CConnectionProviderShim::DoProgressL(Meta::SMetaData& aParams) const
+	{
+#ifdef _DEBUG
+	Meta::STypeId tid = aParams.GetTypeId();
+#endif
+	ASSERT( tid.iUid == TUid::Uid( KESockMessagesImplementationUid ) && tid.iType == EESockMessageCommsNifBuffer);
+	TMetaNifProgressBuf& p = static_cast<TMetaNifProgressBuf&>(aParams);
+	iProvider->ProgressL( p.iNifProgressBuf );
+	}
+   
+void CConnectionProviderShim::DoLastProgressError(Meta::SMetaData& aBuffer)
+	{
+#ifdef _DEBUG
+	Meta::STypeId tid = aBuffer.GetTypeId();
+#endif
+	ASSERT( tid.iUid == TUid::Uid( KESockMessagesImplementationUid ) && tid.iType == EESockMessageCommsNifBuffer);
+	TMetaNifProgressBuf& p = static_cast<TMetaNifProgressBuf&>(aBuffer);
+	iProvider->LastProgressError( p.iNifProgressBuf );
+	}
+   
+void CConnectionProviderShim::DoRequestServiceChangeNotificationL()
+	{
+	iProvider->RequestServiceChangeNotificationL();
+	}
+   
+void CConnectionProviderShim::DoCancelServiceChangeNotification()
+	{
+	iProvider->CancelServiceChangeNotification();
+	}
+   
+void CConnectionProviderShim::DoControlL(TUint aOptionLevel, TUint aOptionName, Meta::SMetaData& aOption, const RMessagePtr2* aMessage)
+	{
+#ifdef _DEBUG
+	Meta::STypeId tid = aOption.GetTypeId();
+#endif
+	ASSERT( tid.iUid == TUid::Uid( KESockMessagesImplementationUid ) && tid.iType == EESockMessageCommsDes8);
+	::TMetaDes8& p = static_cast< ::TMetaDes8& >(aOption);
+	ASSERT(p.iDes);
+	iProvider->ControlL(aOptionLevel, aOptionName, *((TDes8*)(p.iDes)), aMessage);
+	}
+   
+TInt CConnectionProviderShim::DoAllSubConnectionNotificationEnable()
+	{
+	return iProvider->AllSubConnectionNotificationEnable();
+	}
+   
+TInt CConnectionProviderShim::DoCancelAllSubConnectionNotification()
+	{
+	return iProvider->CancelAllSubConnectionNotification();
+	}
+
+void CConnectionProviderShim::DoSendIoctlMessageL(const RMessage2& aMessage)
+	{
+	iProvider->SendIoctlMessageL(aMessage);
+	}
+   
+void CConnectionProviderShim::DoSendCancelIoctl()
+	{
+   	iProvider->SendCancelIoctl();	
+	}
+
+TInt CConnectionProviderShim::DoEnumerateSubConnectionsL(TUint& aCount)
+	{
+	return iProvider->EnumerateSubConnections(aCount);
+	}
+
+TUint CConnectionProviderShim::DoEnumerateClientsL(HBufC8*& /*aClientInfoBuffer*/, TEnumClients /*aClientType*/)
+	{
+	return 0;
+	}
+
+CConnectionSettings& CConnectionProviderShim::DoSettingsAccessL()
+	{
+	ASSERT(iProvider);
+	if (iConnectionSettings == NULL)
+    	{
+    	iConnectionSettings = new (ELeave)CConnectionSettingsShim(*iProvider);	    
+    	}
+	return *iConnectionSettings;
+	}
+	
+void CConnectionProviderShim::ConnectionJoiningL( const CConnection& aConnection )
+	{
+	if (iConnections.Find(&aConnection) < 0)
+		{
+		iConnections.AppendL(&aConnection);
+		}
+	TInt count = iNifManSubConnections.Count();
+	for ( TInt n = 0; n < count; n++ )
+		{//here we exactly know what we are dealing with hence the cast
+		CNifManSubConnectionShim* c = static_cast<CNifManSubConnectionShim*>(iNifManSubConnections[n]);
+		MSubInterfaceShim* subint = static_cast<MSubInterfaceShim*>(c);
+		subint->ConnectionJoiningL(aConnection);
+		}
+	}
+	
+void CConnectionProviderShim::ConnectionLeaving( const CConnection& aConnection )
+	{
+	TInt count = iNifManSubConnections.Count();
+	for ( TInt n = 0; n < count; n++ )
+		{//here we exactly know what we are dealing with hence the cast
+		CNifManSubConnectionShim* c = static_cast<CNifManSubConnectionShim*>(iNifManSubConnections[n]);
+		MSubInterfaceShim* subint = static_cast<MSubInterfaceShim*>(c);
+		subint->ConnectionLeaving(aConnection);
+		}
+	TInt n = iConnections.Find(&aConnection);
+	if (n >= 0)
+		{
+		iConnections.Remove(n);
+		}
+	}
+
+void CConnectionProviderShim::DoConnectionControlActivityL( TControlActivity aControlActivity, const Meta::SMetaData* aData, const RMessagePtr2* aMessage )
+	{
+	switch (aControlActivity)
+		{
+		case EAttachNormal:
+		case EAttachMonitor:
+			iProvider->AttachToConnectionL(iConnectionInfo.Right(KConnInfoPart), aControlActivity == EAttachMonitor, aMessage);
+			if ( aData == NULL )
+				{
+				break;
+				}
+			aControlActivity = EConnJoin; //and fall through
+		case EConnJoin:
+			if ( !aData || !aData->IsTypeOf( STypeId::CreateSTypeId(KShimCommsUid, Meta::KNetMetaTypeAny) ) )
+				{
+				User::Leave(KErrArgument);
+				}
+			ConnectionJoiningL(static_cast<const TShimConnectionInfo*>(aData)->iConnection);
+			break;
+		case EConnLeave:
+			if ( !aData || !aData->IsTypeOf( STypeId::CreateSTypeId(KShimCommsUid, Meta::KNetMetaTypeAny) ) )
+				{
+				User::Leave(KErrArgument);
+				}
+			ConnectionLeaving(static_cast<const TShimConnectionInfo*>(aData)->iConnection);
+			break;
+		case ESetUsageProfile:
+			{
+			ASSERT(aData);
+	#ifdef _DEBUG
+			Meta::STypeId tid = aData->GetTypeId();
+	#endif
+			ASSERT( tid.iUid == TUid::Uid( KESockMessagesImplementationUid ) && tid.iType == EESockMessageCommsDes8);
+			const ::TMetaDes8* p = static_cast<const ::TMetaDes8*>(aData);
+			ASSERT(p->iDes);
+			const TUint* profile = reinterpret_cast<const TUint*>(p->iDes->Ptr());
+			if (iUsageProfile != *profile)
+				{
+				__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tSetting usage profile %x -> %x"),
+						this, iUsageProfile & 0xff, *profile & 0xff));
+				iUsageProfile = *profile;
+				iProvider->SetUsageProfile(*profile);
+				}
+			break;
+			}
+		};
+	}
+	
+CNifManSubConnectionShim* CConnectionProviderShim::FindSubConnection( TSubConnectionUniqueId aId )
+	{
+	CNifManSubConnectionShim* client = NULL;
+	TInt count = iNifManSubConnections.Count();
+	for ( TInt n = 0; n < count; n++ )
+		{//here we exactly know what we are dealing with hence the cast
+		CNifManSubConnectionShim* c = static_cast<CNifManSubConnectionShim*>(iNifManSubConnections[n]);
+		MSubInterfaceShim* subint = static_cast<MSubInterfaceShim*>(c);
+		if (subint->Id() == aId )
+			{
+			client = c;
+			break;
+			}
+		}
+	return client;
+	}
+	
+// Define methods from the interface specified by MConnectionNotify
+void CConnectionProviderShim::ProgressNotification(TInt aStage, TInt aError)
+	{
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tProgressNotification(%d, %d)"), this, aStage, aError));
+	
+	TInt max = iControlClients.Count();
+	for (TInt n = max - 1 ; n >= 0 ; n--)
+		{
+		MConnectionControlClient* client = iControlClients[n];
+		client->ProgressNotification(aStage, aError);
+		//check whether the client dissapeared or not
+		if ( n < iControlClients.Count() && client == iControlClients[n] )
+			{
+			if (aStage == KLinkLayerOpen)
+				{
+				iControlClients[n]->LayerUp(aError);
+				}
+			else if (aError != KErrNone)
+				{
+				iControlClients[n]->ConnectionError(aStage, aError);
+				}
+			}
+		}
+	if (aStage == KConnectionUninitialised && !iIsAlreadyUninitialised /* Guard against receiving KConnectionUninitialised multiple times*/)
+		{						
+		iIsAlreadyUninitialised = ETrue;
+		TInt selectors = iSelectors.Count();
+		for (TInt i = 0; i < selectors; ++i)
+			{
+			iSelectors[i]->SetProviderNull();
+			}		
+		DeleteMeNow();		
+		}
+	}
+
+void CConnectionProviderShim::LinkLayerOpen(TInt /*aError*/)
+/**
+Notification from the connection provider - ignored.
+
+*/
+	{	
+	}
+   
+void CConnectionProviderShim::LinkLayerClosed(TInt /*aError*/)
+/**
+Notification from the connection provider - not currently used.
+
+*/
+	{
+	User::Invariant();
+	}
+
+void CConnectionProviderShim::SelectionComplete(TInt aError, const TDesC8& /*aSelectionInfo*/)
+	{//obsolete call selection done by factories this could happen only on Attach
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tSelectionComplete(%d)"), this, aError));
+	ProgressNotification(KFinishedSelection, aError);
+	}
+   
+void CConnectionProviderShim::ConnectionError(TInt /*aError*/)
+/**
+Notification from the connection provider - not currently used.
+
+*/
+	{
+	User::Invariant();
+	}
+   
+void CConnectionProviderShim::ProgressNotification(TSubConnectionUniqueId aSubConnectionUniqueId, TInt aStage, TInt aError)
+	{
+	MSubInterfaceShim* subint = static_cast<MSubInterfaceShim*>(FindSubConnection(aSubConnectionUniqueId));
+	if (subint)
+		{//here we exactly know what we are dealing with hence the cast
+		subint->ProgressNotification(aStage, aError, KNullDesC8);
+		}
+	else
+		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tProgressNotification(subConnectionId %d, %d, %d) subconnection ID lookup error occured"),
+					 this, aSubConnectionUniqueId, aStage, aError));
+		}
+	}
+   
+void CConnectionProviderShim::ServiceChangeNotification(TUint32 aId, const TDesC& aType)
+	{
+	TInt max = iControlClients.Count();
+	for (TInt i = max - 1 ; i >= 0 ; i--)
+		{
+		iControlClients[i]->ServiceChangeNotification(aId, aType);
+		}
+	}
+   
+void CConnectionProviderShim::InterfaceStateChangeNotification(TDesC8& /*aInfo*/)
+	{//served through factories
+	ASSERT( NULL );
+	}
+   
+void CConnectionProviderShim::NotifyDataSent(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aUplinkVolume)
+	{//here we exactly know what we are dealing with hence the cast
+	MSubInterfaceShim* subint = static_cast<MSubInterfaceShim*>(FindSubConnection(aSubConnectionUniqueId));
+	if (subint)
+		{
+		subint->NotifyDataSent(aUplinkVolume,0);
+		}
+	else
+		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tNotifyDataSent(subConnectionId %d, aUplinkVolume %d) subconnection ID lookup error %d occured"),
+					 this, aSubConnectionUniqueId, aUplinkVolume, KErrNotFound));
+		}
+	}
+   
+void CConnectionProviderShim::NotifyDataReceived(TSubConnectionUniqueId aSubConnectionUniqueId, TUint aDownlinkVolume)
+	{//here we exactly know what we are dealing with hence the cast
+	MSubInterfaceShim* subint = static_cast<MSubInterfaceShim*>(FindSubConnection(aSubConnectionUniqueId));
+	if (subint)
+		{
+		subint->NotifyDataReceived(aDownlinkVolume,0);
+		}
+	else
+		{
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tNotifyDataReceived(SubConnectionId %d, aDownLinkVolume %d); subconnection ID lookup error %d occured"),
+					 this, aSubConnectionUniqueId, aDownlinkVolume, KErrNotFound));
+		}
+	}
+
+void CConnectionProviderShim::SubConnectionEvent(const TSubConnectionEvent& aSubConnectionEvent)
+/**
+Upcall from connection provider indicating that a subconnection event has occured
+
+@param aSubConnectionEvent The event that occured
+@note Even if the not client is listening for subconnection events, we still need them to manage the array of subconnections by listening for started and stopped events on each subconnection
+@note Events are not handled on a per-subconnection basis - all events are distributed to anyone who uses the AllSubConnectionNotification() method, so no subconnection/subinterface involvement is necessary
+*/
+	{
+	TSubConnectionEventType eventType(aSubConnectionEvent.iEventType);
+	TInt ret = KErrNone;
+	
+	TSockManData* sockManData = SockManGlobals::Get();
+	ASSERT(sockManData != NULL);
+	
+	CNifManSubConnectionShim* c = NULL;
+	switch(eventType)
+		{
+		case ESubConnectionOpened:
+		    {			
+			__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tSubConnectionEvent() ESubConnectionOpened"), this));
+			c = FindSubConnection(aSubConnectionEvent.iSubConnectionUniqueId);
+			if (c == NULL)
+				{
+				// no instance yet for particular Id, create one
+				TRAP(ret,c = new (ELeave)CNifManSubConnectionShim(*this));
+				if(ret!=KErrNone)	// nothing we can do here, no point in throwing error back to event source - nothing they can do about it
+					{
+					// Array integrity will be broken here - may cause errors later with events on this subconnection if we recover
+					__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tERROR: Subconnection opened event; could not create CSubInterface - possible OOM condition - subconnection ID %d, error %d - subinterface array integrity failure"),
+							    this, aSubConnectionEvent.iSubConnectionUniqueId, ret));
+					break;
+					}
+				ret = iNifManSubConnections.Append(c);
+				if (ret != KErrNone)
+					{
+						__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tERROR: could not append CNifManSubConnectionShim to the list - subconnection ID %d, error %d - subinterface array integrity failure"),
+							    this, aSubConnectionEvent.iSubConnectionUniqueId, ret));
+						c->DeleteAsync();
+						break;
+					}
+				}
+			MSubInterfaceShim* subint = static_cast<MSubInterfaceShim*>(c);
+			subint->SetSubConnectionUniqueId(aSubConnectionEvent.iSubConnectionUniqueId);
+			
+			TInt count = iConnections.Count();
+			for (TInt i = count - 1; i >= 0; i--)
+				{
+				TRAP(ret,c->ConnectionJoiningL(*iConnections[i]));
+				if(ret!=KErrNone)	// nothing we can do here, no point in throwing error back to event source - nothing they can do about it
+					{
+					// Array integrity will be broken here - may cause errors later with events on this subconnection if we recover
+					__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tERROR: connection joining subconnection opened event; - possible OOM condition - subconnection ID %d, error %d - subinterface array integrity failure"),
+								 this, aSubConnectionEvent.iSubConnectionUniqueId, ret));
+					break;
+					}
+				}
+		    }
+			break;
+
+		case ESubConnectionClosed:
+			__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tSubConnectionEvent() ESubConnectionClosed"), this));
+			c = FindSubConnection(aSubConnectionEvent.iSubConnectionUniqueId);
+			if(!c)		// then there was an error (probably that we couldn't find the object in the array) - write error to log - not much else we can do
+				{
+				__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tERROR: Subconnection closed event; could not find subconnection ID %d, lookup error %d occured"),
+						    this, aSubConnectionEvent.iSubConnectionUniqueId, KErrNotFound));
+				}
+			else
+				{
+				iDeleteAsynchOnly = ETrue;
+				TInt n = iNifManSubConnections.Find(c);
+				if (n >= 0)
+					{
+					iNifManSubConnections.Remove(n);
+					}
+				c->DeleteAsync();
+				}
+			break;
+
+		default:
+			// do nothing; we only care about open and close events
+			break;
+		}	
+	
+	// Rebroadcast all events to all attached control clients
+	TInt max = iControlClients.Count();
+	for (TInt i = max - 1; i >= 0 ; i--)
+		{
+		iControlClients[i]->SubConnectionEvent(NULL, aSubConnectionEvent);
+		}
+
+	CheckDeleteThis();
+
+	}
+
+CConnectionProvdBase* CConnectionProviderShim::GetNifSession()
+    {
+    return iProvider;
+    }
+    
+void CConnectionProviderShim::InitialiseL(CConnectionProvdBase* aStarterSession)
+	{
+	ASSERT(aStarterSession);
+	//
+	//can't set the provider twice
+	//
+	ASSERT(iProvider == NULL);	
+	iProvider = Nif::NewConnectionL(this, 0);	
+	__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tInitialiseL(aStarterSession %x) iProvider %x"), this, aStarterSession, iProvider));
+	//
+	// After creating the new nif session (iProvider) we also need to transfer the connection attempt count
+	// from the old nif session (aStarterSession) to the new one, since it was the one that initially 
+	// started the interface and connection attempt count was incremented in StartL of nif session
+	//
+	TPckg<TInt> connectionAttempt(-1);
+	aStarterSession->ControlL(KCOLProvider, KNifSessionGetConnectionAttempt, connectionAttempt, NULL);
+	ASSERT(connectionAttempt() != -1);			
+	iProvider->ControlL(KCOLProvider, KNifSessionSetConnectionAttempt, connectionAttempt, NULL);
+	//
+	// Finally, call ConnectionControlActivityL to ensure that the provider is attached to the connection
+	// and progress notifications from the provider end up in the connection object too
+	//		
+	DoConnectionControlActivityL(EAttachNormal, NULL, NULL);
+	
+//PREQ399_REMOVE
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+	_LIT(KIfNameField, "IfName");
+	TBuf<KCommsDbSvrMaxFieldLength> nifname;
+	iProvider->GetDes16SettingL(KIfNameField(), nifname);
+    if (nifname.CompareF (KSpudName) == 0)
+        {
+        iSubConnectionType = KUmtsGprsSubConnectionProviderFactoryId;
+        }
+#endif //SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+	iHasAnyControlClientJoined = ETrue;
+    }
+    
+void CConnectionProviderShim::SetBlockProgressesL(CConnectionProvdBase* aStarterSession)
+/**
+Ensure that the "blocked progress" status of aStarterSession is copied across to iProvider session.
+
+@param aStarterSession session from which to copy "blocked progress" status.
+*/
+	{
+	TPckg<TBool> blockProgresses(EFalse);
+	aStarterSession->ControlL(KCOLProvider, KNifSessionGetBlockProgresses, blockProgresses, NULL);
+	iProvider->ControlL(KCOLProvider, KNifSessionSetBlockProgresses, blockProgresses, NULL);
+	}
+
+void CConnectionProviderShim::DoJoinNextLayerL(CConnectionProviderBase* aNextLayer)
+	{
+	(void)aNextLayer;
+	if ( !iProvider )
+		{
+		ASSERT( !aNextLayer );
+//		AddRef(); 	//The AddRef needs to be here since it follows the logic in the selector shim. 	
+		iProvider = Nif::NewConnectionL(this, 0);
+		__CFLOG_VAR((KShimCprTag, KShimCprSubTag, _L8("CConnectionProviderShim %08x:\tDoJoinNextLayerL(aNextLayer %x) iProvider %x"), this, aNextLayer, iProvider));
+		}
+	}
+	
+CConnectionProviderBase* CConnectionProviderShim::DoNextLayer() const
+    {
+    //This is (by design) the last layer.
+    return NULL;
+    }
+    
+    
+TInt CConnectionProviderShim::DoCanDoSubConnection(RSubConnection::TSubConnType aSubConnType) const
+	{
+	(void)aSubConnType;
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+	return iSubConnectionType;
+#else	
+  	return 0;
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+  	}
+
+/**
+Find particular CSubConnectionLinkShimClient object with the pointer to given aConnection
+
+@param aTypeId Id of CNifManSubConnectionShim
+@param aConnection aConnection pointer 
+@return CSubConnectionLinkShimClient* or NULL
+*/
+CSubConnectionLinkShimClient* CConnectionProviderShim::QuerySubSessions(TInt32 aTypeId,const CConnection* aConnection)
+	{
+	 TInt count = iNifManSubConnections.Count();
+	 CNifManSubConnectionShim *nifManSubConnection;
+	 CSubConnectionLinkShimClient *linkShimClient = NULL;
+	 for (TInt i = count - 1; i >= 0; i--)
+	 	{
+		nifManSubConnection = iNifManSubConnections[i];
+		if (nifManSubConnection && nifManSubConnection->Id() == aTypeId)	
+			{
+			TInt n = 0;
+			do
+				{
+				 linkShimClient = nifManSubConnection->ShimClient(n++);			
+				}
+			while (linkShimClient && !linkShimClient->Match(*aConnection));
+			}
+	 	}
+	 		
+	return linkShimClient;
+	}
+	
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+void CConnectionProviderShim::SetFactoryIfactory(CConnectionProviderFactoryShim *aFactoryShim)
+	{
+	iFactoryShim = aFactoryShim;	
+	}
+#endif // SYMBIAN_NETWORKING_UMTSR5	
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/src/shimcprfactory.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,256 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// SHIMCPRFACTORY.H
+// 
+//
+
+#include <ecom/ecom.h>
+#include <implementationproxy.h>
+#include "shimcprfactory.h"	// for CConnectionProviderFactoryShim
+
+#include "connectionSelectorShim.h"
+#include "shimcpr.h"
+#include "shimnifmansconn.h"
+#include "idquerynetmsg.h"
+#include <nifman.h>
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+#include <esockmessages.h>
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5	
+
+
+const TUint KShimConnectionProviderImplementationUid = 0x102070FF;
+/**
+Data required for instantiating ECOM Plugin
+*/
+const TImplementationProxy ImplementationTable[] = 
+	{
+	IMPLEMENTATION_PROXY_ENTRY(KShimConnectionProviderImplementationUid, CConnectionProviderFactoryShim::NewL),
+	};
+
+
+/**
+ECOM Implementation Factory
+*/
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+
+    return ImplementationTable;
+    }
+
+CConnectionProviderFactoryShim* CConnectionProviderFactoryShim::NewL(TAny* aConstructionParameters)
+	{
+	CConnectionProviderFactoryShim* ptr = new (ELeave) CConnectionProviderFactoryShim(KShimConnectionProviderFactoryId, *(reinterpret_cast<CConnectionFactoryContainer*>(aConstructionParameters)));
+	CleanupStack::PushL(ptr);
+	ptr->ConstructL();
+	CleanupStack::Pop(ptr);
+	return ptr;
+	}
+   
+void CConnectionProviderFactoryShim::ConstructL()
+	{//create a provider session for global tasks (enumerate connections/all interface notification....)
+    iNifmanSession = Nif::NewConnectionL(this, 0);
+    iNifmanSession->AllInterfaceNotificationL();
+	}
+// Destructor
+CConnectionProviderFactoryShim::~CConnectionProviderFactoryShim()
+	{
+	delete iNifmanSession;
+	}
+   
+// Constructor
+CConnectionProviderFactoryShim::CConnectionProviderFactoryShim(TUint aFactoryId, CConnectionFactoryContainer& aParentContainer) :
+	CConnectionProviderFactoryBase( aFactoryId, aParentContainer )
+	{
+	}
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+// Sets the IAP lock status
+void CConnectionProviderFactoryShim::SetIAPLockStatus(TBool aLockStatus, TInt aLockedIAP)
+	{
+	iIsIAPLocked = aLockStatus;
+	iLockedIAP = aLockedIAP;
+	}
+// Gets the IAP lock status
+void CConnectionProviderFactoryShim::GetIAPLockStatus(TBool &aLockStatus, TInt &aLockedIAP)
+	{
+	aLockStatus = iIsIAPLocked;
+	aLockedIAP = iLockedIAP;
+	}
+	
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5	
+
+CConnectionProviderBase* CConnectionProviderFactoryShim::DoCreateProviderL()
+	{
+#ifdef SYMBIAN_NETWORKING_UMTSR5	
+	CConnectionProviderShim * shimProv = CConnectionProviderShim::NewL(*this);
+	shimProv->SetFactoryIfactory(this);
+	return shimProv;
+#else
+	return CConnectionProviderShim::NewL(*this);
+#endif // #ifdef SYMBIAN_NETWORKING_UMTSR5		
+	}
+   
+MProviderSelector* CConnectionProviderFactoryShim::DoSelectProvider( Meta::SMetaData& aPreferences, ISelectionNotify& aSelectionNotify, const RMessagePtr2* aMessage )
+	{
+	//create self-destructing object
+	CConnectionSelectorShim* selector = new CConnectionSelectorShim(aSelectionNotify);
+	if (!selector)
+		{
+		aSelectionNotify.SelectComplete(NULL,KErrNoMemory);
+		aSelectionNotify.Detach();
+		}
+	else 
+		{
+		#ifdef SYMBIAN_NETWORKING_UMTSR5	
+		selector->SetFactoryIface(this);	
+		#endif
+		if ( selector->Select(aPreferences, aMessage) != KErrNone )
+			{
+			selector = NULL;
+			}	
+		}
+		
+		
+	return selector;
+	}
+   
+MProviderSelector* CConnectionProviderFactoryShim::DoSelectNextLayerProvider( Meta::SMetaData& /*aPreferences*/, ISelectionNotify& /*aSelectionNotify*/, const RMessagePtr2* /*aMessage*/ )
+	{	
+	return NULL;
+	}
+	
+void CConnectionProviderFactoryShim::DoEnumerateConnectionsL(RPointerArray<TConnectionInfo>& aConnectionInfoPtrArray)
+	{
+    iNifmanSession->EnumerateConnectionsL(aConnectionInfoPtrArray);
+	}
+
+//MConnectionNotify interface to catch the global events
+void CConnectionProviderFactoryShim::SelectionComplete(TInt /*aError*/, const TDesC8& /*aSelectionInfo*/)
+	{
+	
+	ASSERT(NULL);//it's never to happen
+	}
+	
+void CConnectionProviderFactoryShim::ConnectionError(TInt /*aError*/)
+	{
+	ASSERT(NULL);//it's never to happen
+	}
+	
+void CConnectionProviderFactoryShim::LinkLayerOpen(TInt /*aError*/)
+	{
+	ASSERT(NULL);//it's never to happen
+	}
+	
+void CConnectionProviderFactoryShim::LinkLayerClosed(TInt /*aError*/)
+	{
+	ASSERT(NULL);//it's never to happen
+	}
+	
+void CConnectionProviderFactoryShim::ProgressNotification(TInt /*aStage*/, TInt /*aError*/)
+	{
+	ASSERT(NULL);//it's never to happen
+	}
+	
+void CConnectionProviderFactoryShim::ProgressNotification(TSubConnectionUniqueId /*aSubConnectionUniqueId*/, TInt /*aStage*/, TInt /*aError*/)
+	{
+	ASSERT(NULL);//it's never to happen
+	}
+	
+void CConnectionProviderFactoryShim::ServiceChangeNotification(TUint32 /*aId*/, const TDesC& /*aType*/)
+	{
+	ASSERT(NULL);//it's never to happen
+	}
+	
+void CConnectionProviderFactoryShim::InterfaceStateChangeNotification(TDesC8& aInfo)
+	{
+	TInt count = iConnectionFactoryNotify.Count();
+	for (TInt n = 0; n < count; n++)
+		{
+		iConnectionFactoryNotify[n].InterfaceStateChange(aInfo);
+		}
+	}
+	
+void CConnectionProviderFactoryShim::NotifyDataSent(TSubConnectionUniqueId /*aSubConnectionUniqueId*/, TUint /*aUplinkVolume*/)
+	{
+	ASSERT(NULL);//it's never to happen
+	}
+	
+void CConnectionProviderFactoryShim::NotifyDataReceived(TSubConnectionUniqueId /*aSubConnectionUniqueId*/, TUint /*aDownlinkVolume*/)
+	{
+	ASSERT(NULL);//it's never to happen
+	}
+	
+void CConnectionProviderFactoryShim::SubConnectionEvent(const TSubConnectionEvent& /*aSubConnectionEvent*/)
+	{
+	ASSERT(NULL);//it's never to happen
+	}
+	
+
+/**
+Define the factory query to find out particular CSubConnectionLinkShimClient object based on CConnection address 
+*/
+
+class XShimFactoryQuery : public MCommsFactoryQuery
+	{
+	friend class CConnectionProviderFactoryShim;
+	
+public:
+	explicit XShimFactoryQuery( NetMessages::CTypeIdQuery& aQuery ) :
+		iQuery(aQuery),
+		iClient(NULL)
+		{
+		}
+
+protected:
+	NetMessages::CTypeIdQuery& iQuery;
+	CSubConnectionLinkShimClient* iClient;
+
+public:
+	virtual TMatchResult Match( TFactoryObjectInfo& aInfo );
+	};
+
+//This method is called for each instance of particular class being managed by CommsFactory framework
+MCommsFactoryQuery::TMatchResult XShimFactoryQuery::Match( TFactoryObjectInfo& aInfo )
+	{
+	CConnectionProviderShim* connectionProvider = static_cast<CConnectionProviderShim*>(aInfo.iInfo.iFactoryObject);
+	ASSERT(connectionProvider);
+	//call the CNifManSubConnectionShim interface to do the job
+	iClient = connectionProvider->QuerySubSessions(iQuery.iTypeId, reinterpret_cast<CConnection*> (iQuery.iHandle));
+	
+	return iClient ? MCommsFactoryQuery::EMatch : MCommsFactoryQuery::EContinue;
+	}
+	
+/**	Handles incoming messages
+
+@param aNetMessage Messsge reference
+@return KErrNone|KErrNotFound|KErrNotSupported
+@return if object found passes its pointer to the aNetMessasge object
+*/
+TInt CConnectionProviderFactoryShim::DoReceiveMessage( NetMessages::CMessage& aNetMessage )
+{
+STypeId tid = STypeId::CreateSTypeId(NetMessages::KInterfaceUid, NetMessages::ETypeIdQueryId);
+NetMessages::CTypeIdQuery& query = static_cast<NetMessages::CTypeIdQuery&>(aNetMessage);
+TInt ret = KErrNotSupported;
+if (aNetMessage.GetTypeId() == tid && query.iUid == KShimCommsUid)
+	{
+	XShimFactoryQuery q(query);
+	ret = FindObject(q) ? KErrNone : KErrNotFound;
+	//carry the result back
+	query.iHandle = (TInt)(static_cast<MShimControlClient*>(q.iClient));
+	}
+return ret;
+}
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/src/shimdatatransfer.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,458 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file SHIMDATATRANSFER.CPP
+*/
+
+#include "shimnifmansconn.h"
+#include "shimdatatransfer.h"
+#include "es_prot.h" //CConnectionProvdBase alias NIFMAN
+
+
+
+
+CConnDataTransferShim::CConnDataTransferShim(CNifManSubConnectionShim& aSubConnectionProviderShim) :
+	iSubConnectionProviderShim(aSubConnectionProviderShim)
+	{
+	}
+		
+CConnDataTransferShim::~CConnDataTransferShim()
+	{
+	iUplinkGranularities.Close();
+	iDownlinkGranularities.Close();
+	}
+		
+
+TInt CConnDataTransferShim::DoDataTransferred(TUint& aUplinkVolume, TUint& aDownlinkVolume)
+	{
+	// Find out the amount of data transferred from the connection provider
+	TInt ret = iSubConnectionProviderShim.Provider().DataTransferred(iSubConnectionProviderShim.Id(), aUplinkVolume, aDownlinkVolume);
+
+	// Let the subinterface know in case any subconnections have outstanding data notification requests that might be completed by this
+	NotifyDataTransferred(aUplinkVolume, aDownlinkVolume);
+
+	// And return the results to the connection
+	return(ret);
+	}
+	
+TInt CConnDataTransferShim::DoDataTransferredCancel()
+	{
+	// do nothing
+	return KErrNone;
+	}
+	
+TInt CConnDataTransferShim::DoDataSentNotificationRequest(TUint aRequestedGranularity, TUint aRequestedNotificationVolume)
+	{
+	TInt requiredGranularity;
+
+	if(aRequestedGranularity == 0)	// absolute mode
+		{
+		// Start by finding out how much data has been sent, then calculate granularity
+		TUint uplinkDataVolume;
+		TUint dummyDataVolume;
+
+		DoDataTransferred( uplinkDataVolume, dummyDataVolume);
+
+		requiredGranularity = aRequestedNotificationVolume - uplinkDataVolume;
+		if(requiredGranularity < 0)	// we've already achieved this so notify immediately
+			{
+			// possible optimisation: pass reference to caller in here and 
+            // only notify them if this condition is met
+            // essentially we don't know what the granularity was here
+			for(TInt i=0; i < iClients.Count(); i++)
+				{
+				iClients[i]->NotifyDataSent(uplinkDataVolume, 0);
+				}
+			}
+		}
+	else	// relative mode
+		{
+		requiredGranularity = aRequestedGranularity;
+		}
+
+	return CalculateNewUplinkGranularity(requiredGranularity);
+	}
+	
+TInt CConnDataTransferShim::DoDataSentNotificationCancel()
+	{
+	// Do nothing.  Not worth trying to adjust granularity array.
+	return KErrNone;
+	}
+	
+TInt CConnDataTransferShim::DoDataReceivedNotificationRequest(TUint aRequestedGranularity, TUint aRequestedNotificationVolume)
+	{
+	TInt requiredGranularity;
+
+	if(aRequestedGranularity == 0)	// absolute mode
+		{
+		// Start by finding out how much data has been sent, then calculate granularity
+		TUint dummyDataVolume;
+		TUint downlinkDataVolume;
+
+		DoDataTransferred( dummyDataVolume, downlinkDataVolume);
+
+		requiredGranularity = aRequestedNotificationVolume - downlinkDataVolume;
+		if(requiredGranularity < 0)	// we've already achieved this so notify immediately
+			{
+			// possible optimisation: pass reference to caller in here 
+			// and only notify them if this condition is met
+            // essentially we don't know what the granularity was here
+			for(TInt i=0; i < iClients.Count(); i++)
+				{
+				iClients[i]->NotifyDataReceived(downlinkDataVolume, 0);
+				}
+			}
+		}
+	else	// relative mode
+		{
+		requiredGranularity = aRequestedGranularity;
+		}
+
+	return CalculateNewDownlinkGranularity(requiredGranularity);
+	}
+	
+TInt CConnDataTransferShim::DoDataReceivedNotificationCancel()
+	{
+	// Do nothing.  Not worth trying to adjust granularity array.
+	return KErrNone;
+	}
+
+TInt CConnDataTransferShim::NotifyDataTransferred(TUint aUplinkVolume, TUint aDownlinkVolume)
+/**
+Called as a side-effect of someone calling DataTransferredRequest(), to allow any absolute volume notifications that may be outstanding to be completed if the required amount of data has been sent/received
+
+@param aUplinkVolume The total volume of data sent on this subconnection
+@param aDownlinkVolume The total volume of data received on this subconnection
+@return KErrNone, or one of the system-wide error codes
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("CConnDataTransferShim[id: %d]: New data transferred notification (uplink: %d, downlink: %d)"), 
+						 iSubConnectionProviderShim.Id(), aUplinkVolume, aDownlinkVolume));
+
+	for(TInt i=0; i < iClients.Count(); i++)
+		{
+		iClients[i]->NotifyDataTransferred(aUplinkVolume, aDownlinkVolume);
+		}
+
+	return KErrNone;
+	}
+
+TInt CConnDataTransferShim::NotifyDataSent(TUint aUplinkVolume)
+/**
+Notification from connection provider via CInterface that the requested granularity for data sent has been met or exceeded
+
+@note The granularity system is not perfect, as it may be the case that we get notifications for more than "granularity" quantity of data.  
+@param aUplinkVolume The total volume of data sent so far on this subconnection
+@return KErrNone, or one of the system-wide error codes
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("CConnDataTransferShim[id: %d]: New data sent notification (uplink: %d)"), 
+						 iSubConnectionProviderShim.Id(), aUplinkVolume));
+
+	// Pass notification up to all subconnections, including the current granularity setting in case they are in relative notification mode
+	for(TInt i=0; i < iClients.Count(); i++)
+		{
+		iClients[i]->NotifyDataSent(aUplinkVolume, iCurrentUplinkGranularity);
+		}
+
+	// Set the new granularity required of the interface
+	return SetNextUplinkGranularity();
+	}
+
+TInt CConnDataTransferShim::NotifyDataReceived(TUint aDownlinkVolume)
+/**
+Notification from connection provider via CInterface that the requested granularity for data received has been met or exceeded
+
+@param aDownlinkVolume The total volume of data received so far on this subconnection
+@return KErrNone, or one of the system-wide error codes
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("CConnDataTransferShim[id: %d]: New data received notification (downlink: %d)"), iSubConnectionProviderShim.Id(), aDownlinkVolume));
+
+	// Pass notification up to all subconnections, including the current granularity setting in case they are in relative notification mode
+	for(TInt i=0; i < iClients.Count(); i++)
+		{
+		iClients[i]->NotifyDataReceived(aDownlinkVolume, iCurrentDownlinkGranularity);
+		}
+
+	// Set the new granularity required of the interface
+	return SetNextDownlinkGranularity();
+	}
+
+TInt CConnDataTransferShim::CalculateNewUplinkGranularity(TUint aRequestedGranularity)
+/**
+Calculate the required granularity to satisfy client requests
+This function calculates the delta between client requests and stores it in an array.
+
+@param aRequestedGranularity The new requested granularity
+@return KErrNone if successful, otherwise one of the system-wide error codes
+@todo Quantise requests to granularity of 1K
+*/
+	{
+	TInt ret = KErrNone;
+	TInt requestedGranularity = static_cast<TInt>(aRequestedGranularity);
+	
+	//@todo In the future, this method could be rewritten to expand the maximum
+	//granularity from 2GB to 4GB.  Probably not necessary...
+	if(requestedGranularity < 0)	// check that the cast didn't produce an invalid result
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("CConnDataTransferShim[id: %d]: ERROR - calculating new uplink granularity - overflow when casting integer"), 
+							 iSubConnectionProviderShim.Id()));
+		return(KErrOverflow);
+		}
+	
+	__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("CConnDataTransferShim[id: %d]: Calculating new uplink granularity..."), 
+						 iSubConnectionProviderShim.Id()));
+
+	TUint newGranularity = 0;
+
+	ret = CalculateNewGranularity(requestedGranularity, iCurrentUplinkGranularity, iUplinkGranularities, newGranularity);
+	if (ret == KErrNone && newGranularity)
+		{
+		ret = SetUplinkGranularity(newGranularity);
+		}
+	return(ret);
+	}
+
+TInt CConnDataTransferShim::CalculateNewDownlinkGranularity(TUint aRequestedGranularity)
+/**
+Calculate the required granularity to satisfy client requests
+This function calculates the delta between client requests and stores it in an array.
+
+@param aRequestedGranularity The new requested granularity
+@return KErrNone if successful, otherwise one of the system-wide error codes
+@todo Quantise requests to granularity of 1K
+*/
+	{
+	TInt ret;
+	TInt requestedGranularity = static_cast<TInt>(aRequestedGranularity);
+
+	//@todo In the future, this method could be rewritten to expand the maximum 
+	//      granularity from 2GB to 4GB.  Probably not necessary...
+	if(requestedGranularity < 0)	// check that the cast didn't produce an invalid result
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("CConnDataTransferShim[id: %d]: ERROR - calculating new downlink granularity - overflow when casting integer"), 
+							 iSubConnectionProviderShim.Id()));
+		return(KErrOverflow);
+		}
+
+	__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("ESock: CConnDataTransferShim[id: %d]: Calculating new downlink granularity..."), 
+						 iSubConnectionProviderShim.Id()));
+
+	TUint newGranularity = 0;
+
+	ret = CalculateNewGranularity(requestedGranularity, iCurrentDownlinkGranularity, iDownlinkGranularities, newGranularity);
+	if (ret == KErrNone && newGranularity)
+		{
+		ret = SetDownlinkGranularity(newGranularity);
+		}
+	return(ret);
+	}
+
+TInt CConnDataTransferShim::CalculateNewGranularity(TInt aRequestedGranularity, TUint aCurrentGranularity, RArray<TUint>& aGranularities, TUint& aNewCurrentGranularity)
+/**
+Given a new granularity, calculate new values for the Current granularity and granularity array.
+
+Helper function used for processing new uplink and downlink granularities.
+
+@param aRequestedGranularity new granularity (in).
+@param aCurrentGranularity current granularity in the lower provider (in).
+@param aGranularities ordered array of delta granularities which will become the current granularity
+after the latter has expired (in/out).
+@param aNewCurrentGranularity new value of current granularity to be set in lower provider (out).
+@return KErrNone or a system wide error code.
+*/
+	{
+	TInt ret = KErrNone;
+	TInt i = 0;
+	TInt count = aGranularities.Count();		// granularities in the array
+
+	// The reason we have the three way if statement below is because we have to deal with
+	// the fact that there is a "current" granularity (set in the lower provider), and 
+	// an array of delta granularities which will become the current granularity in turn:
+	//
+	//  +---+   +---+---+---+
+	//  |   |   |   |   |   |... 
+	//  +---+   +---+---+---+
+	//            0   1   2
+	// Current      Array
+	//
+	// The complexity comes when a new granularity needs to be notionally inserted either before the
+	// current granularity or between the current granularity and the first entry in the array.
+
+	if (count == 0 && aCurrentGranularity == 0)
+		{
+		// Empty granularity array and no current granularity.
+		//
+		// - set current granularity to the requested granularity (no entries needed in array)
+		aNewCurrentGranularity = aRequestedGranularity;
+		}
+	else
+	if (aRequestedGranularity < aCurrentGranularity)
+		{
+		// Requested granularity is less than current granularity.  The requested granularity
+		// needs to be notionally inserted before the current granularity.
+
+		// add a new entry into the beginning of the array that contains the delta between the requested
+		// granularity and current granularity.  This new entry represents the "old" current granularity.
+		ret = aGranularities.Insert(aCurrentGranularity - aRequestedGranularity, 0);
+		if (ret == KErrNone)
+			{
+			// the requested granularity becomes the new current granularity
+			aNewCurrentGranularity = aRequestedGranularity;
+			}
+		}
+	else
+	if (aRequestedGranularity > aCurrentGranularity)
+		{
+		// Requested granularity is greater than current granularity.  The requested granularity
+		// needs to be inserted into the array at the appropriate place.  The current granularity
+		// remains unchanged.
+
+		// Take into account the current granularity by subtracting it from requested granularity
+		aRequestedGranularity -= aCurrentGranularity;
+		
+		// Find correct insertion position.  Each entry visited in the array will subtract from the
+		// requested granularity, leaving the latter as being delta based.
+		for(i=0; i < count ; i++)
+			{
+			aRequestedGranularity -= aGranularities[i];
+			if (aRequestedGranularity <= 0)
+				{
+				break;
+				}
+			}
+			
+		if (aRequestedGranularity < 0)
+			{
+			// Insertion position found within the array - held in "i".
+			aRequestedGranularity += aGranularities[i];
+			ret = aGranularities.Insert(aRequestedGranularity, i);
+			if (ret == KErrNone)
+				{
+				// Adjust the next granularity in the array by the Requested granularity
+				// that we've just inserted.  "i+1" because of the Insert() above.
+				aGranularities[i+1] -= aRequestedGranularity;
+				}
+			}
+		else
+		if (aRequestedGranularity > 0)
+			{
+			// Reached end of the array while searching - insert requested granularity at the end.
+			ret = aGranularities.Append(aRequestedGranularity);
+			}
+		// aRequestedGranularity == 0 is a no-op case (setting zero granularity).
+		}
+	// (aRequestedGranularity == iCurrentUplinkGranularity) is a no-op case (setting the same
+	// granularity as current value).
+	return (ret);
+	}
+
+
+TInt CConnDataTransferShim::SetUplinkGranularity(TUint aRequestedGranularity)
+/**
+Set data sent notification granularity in lower provider.
+
+@param aRequestedGranularity granularity to set.  If zero, cancel data sent notifications.
+@return KErrNone or a system wide error code.
+*/
+	{
+	iCurrentUplinkGranularity = aRequestedGranularity;
+	if (iCurrentUplinkGranularity)
+		{
+		return iSubConnectionProviderShim.Provider().SetDataSentNotificationGranularity(iSubConnectionProviderShim.Id(), iCurrentUplinkGranularity);
+		}
+	else
+		{
+		return iSubConnectionProviderShim.Provider().DataSentNotificationCancel(iSubConnectionProviderShim.Id());
+		}
+	}
+
+TInt CConnDataTransferShim::SetNextUplinkGranularity()
+/**
+Get the next uplink granularity from the array, and send it to the connection provider
+
+@return KErrNone if successful, otherwise one of the system-wide error codes
+*/
+	{
+	if(iUplinkGranularities.Count())
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("CConnDataTransferShim[id: %d]: setting new uplink granularity (%d)"), 
+							 iSubConnectionProviderShim.Id(), iCurrentUplinkGranularity));
+
+		// Read the next granularity from the array
+		TUint granularity = iUplinkGranularities[0];
+		
+		// Remove the value read
+		iUplinkGranularities.Remove(0);
+
+		return SetUplinkGranularity(granularity);
+		}
+	else
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("CConnDataTransferShim[id: %d]: cancelling data sent notifications - no values remaining in granularity array"), 
+							 iSubConnectionProviderShim.Id()));
+
+		return SetUplinkGranularity(0);		// cancel notifications
+		}
+	}
+
+TInt CConnDataTransferShim::SetDownlinkGranularity(TUint aRequestedGranularity)
+/**
+Set data received notification granularity in lower provider.
+
+@param aRequestedGranularity granularity to set.  If zero, cancel data received notifications.
+@return KErrNone or a system wide error code.
+*/
+	{
+	iCurrentDownlinkGranularity = aRequestedGranularity;
+	if (iCurrentDownlinkGranularity)
+		{
+		return iSubConnectionProviderShim.Provider().SetDataReceivedNotificationGranularity(iSubConnectionProviderShim.Id(), iCurrentDownlinkGranularity);
+		}
+	else
+		{
+		return iSubConnectionProviderShim.Provider().DataReceivedNotificationCancel(iSubConnectionProviderShim.Id());
+		}
+	}
+
+TInt CConnDataTransferShim::SetNextDownlinkGranularity()
+/**
+Get the next downlink granularity from the array, and send it to the connection provider
+
+@return KErrNone if successful, otherwise one of the system-wide error codes
+*/
+	{
+	if(iDownlinkGranularities.Count())
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("CConnDataTransferShim[id: %d]: setting new downlink granularity (%d)"), 
+							 iSubConnectionProviderShim.Id(), iCurrentDownlinkGranularity));
+		// Read the next granularity from the array
+		TUint granularity = iDownlinkGranularities[0];
+		
+		// Remove the value read
+		iDownlinkGranularities.Remove(0);
+
+		return SetDownlinkGranularity(granularity);
+		}
+	else
+		{
+		__CFLOG_VAR((KShimScprTag, KShimScprDataTag, _L8("ESock: CConnDataTransferShim[id: %d]: cancelling data received notifications - no values remaining in granularity array"), 
+							 iSubConnectionProviderShim.Id()));
+
+		return SetDownlinkGranularity(0);	// cancel notifications
+		}
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipcprshim/src/shimnifmansconn.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,244 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// SHIMSCPR.CPP
+// This is part of an ECOM plug-in
+// 
+//
+
+#include <ss_std.h>
+#include <comms-infras/ss_log.h>
+#include "shimnifmansconn.h"
+
+START_ATTRIBUTE_TABLE(TShimConnectionInfo, KShimCommsUid, Meta::KNetMetaTypeAny)
+END_ATTRIBUTE_TABLE()
+
+TInt CNifManSubConnectionShim::AsyncDestructorCb(TAny* aInstance)
+	{
+	CNifManSubConnectionShim* nifManSubConnection= reinterpret_cast<CNifManSubConnectionShim*>(aInstance);
+	delete nifManSubConnection;
+	return KErrNone;
+	}
+
+/**
+Create a new CNifManSubConnectionShim to act as a mux/demux for subconnections
+*/
+CNifManSubConnectionShim::CNifManSubConnectionShim (CConnectionProviderShim& aProviderShim)
+   :iSubConnectionsUniqueId(0), iConnectionProvider(&aProviderShim),
+   iAsyncDestructor(CActive::EPriorityStandard + 1)
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprSubTag, _L8("CNifManSubConnectionShim [this=%08x]:\tCNifManSubConnectionShim() [MConnectionDataClient=%08x]"),
+	   this, (MConnectionDataClient*)this));
+	iAsyncDestructor.Set(TCallBack(AsyncDestructorCb, this));
+	}
+
+/**
+D'tor
+*/
+CNifManSubConnectionShim::~CNifManSubConnectionShim()
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprSubTag, _L8("CNifManSubConnectionShim::~CNifManSubConnectionShim() %08x"), this));
+	iShimClients.ResetAndDestroy();
+	delete iConnDataTransferShim;
+	}
+
+
+void CNifManSubConnectionShim::DeleteAsync()
+	{
+	if ( !iAsyncDestructor.IsActive() )
+		{
+		iAsyncDestructor.CallBack();
+		}
+    }
+
+TInt CNifManSubConnectionShim::FindClient(const CConnection& aConnection)
+	{
+	TInt max = iShimClients.Count();
+	for (TInt i = max - 1 ; i >= 0 ; i--)
+		{
+		CSubConnectionLinkShimClient* client = iShimClients[i];
+		if ( client->Match(aConnection) )
+			{
+			return i;
+			}
+		}
+	return KErrNotFound;
+	}
+	
+void CNifManSubConnectionShim::ConnectionJoiningL(const CConnection& aConnection)
+	{//create a new CSubConnectionLinkShimClient for the joining conection
+	TInt i = FindClient(aConnection);
+	if ( i == KErrNotFound )
+		{
+		CSubConnectionLinkShimClient* client = new (ELeave)CSubConnectionLinkShimClient(aConnection,*this);
+		CleanupStack::PushL(client);
+		//create data transfer object if not created yet
+		CreateDataTransferL();
+		iConnDataTransferShim->RegisterClientL(*client);
+		TInt ret = iShimClients.Append(client);
+		if (ret != KErrNone)
+			{
+			iConnDataTransferShim->DeRegisterClient(*client);
+			User::Leave(ret);
+			}
+		CleanupStack::Pop(client);
+		}
+	}
+	
+void CNifManSubConnectionShim::ConnectionLeaving(const CConnection& aConnection)
+	{//destroy a CSubConnectionLinkShimClient belonging to leaving conection
+	TInt i = FindClient(aConnection);
+	if ( i >= 0 )
+		{
+		CSubConnectionLinkShimClient* client = iShimClients[i];
+		iShimClients.Remove(i);
+		delete client;
+		}
+	}
+
+void CNifManSubConnectionShim::ConnectionGoingDown(CConnectionProviderBase& /*aConnProvider*/)
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprSubTag, _L8("CNifManSubConnectionShim %08x:\tConnectionGoingDown() Id %d"), 
+						 this, iSubConnectionsUniqueId));
+						 
+   // The ConnectionProvider has told us its going down so we delete ourselves, clearing
+   // the pointer to it so our d'tor doesn't make any calls on it.
+	iConnectionProvider = NULL;
+	delete this;
+	}
+	
+void CNifManSubConnectionShim::ConnectionError(TInt /*aStage*/, TInt /*aError*/)
+	{
+	}
+	
+void CNifManSubConnectionShim::Notify(TNotify /*aNotifyType*/,  CConnectionProviderBase* /*aConnProvider*/, TInt /*aError*/, const CConNotificationEvent* /*aConNotificationEvent*/)
+	{
+	}
+
+void CNifManSubConnectionShim::AttachToNext(CSubConnectionProviderBase* /*aSubConnProvider*/)
+	{
+	}
+
+TInt CNifManSubConnectionShim::ProgressNotification(TInt aStage, TInt aError, const TDesC8& aInfo)
+/**
+Upcall from connection provider via CInterface with notification of new progress stage reached
+
+@param aStage The progress stage that the subconnection has reached
+@param aError Any errors that were encountered at this stage
+@param aInfo No idea what this is, it's inserted by CInterface and is currently null
+@return KErrNone, or one of the system-wide error codes
+*/
+	{
+	__CFLOG_VAR((KShimScprTag, KShimScprSubTag, _L8("CNifManSubConnectionShim %08x:\tProgressNotification(%d, %d) SubConnId: %d"), 
+				this, aStage, aError, iSubConnectionsUniqueId));
+
+	TInt max = iShimClients.Count();
+	for (TInt i = max - 1 ; i >= 0 ; i--)
+		{
+		iShimClients[i]->ProgressNotification(aStage, aError, aInfo);
+		}
+
+	return KErrNone;
+	}
+
+	
+TInt CNifManSubConnectionShim::NotifyDataTransferred(TUint aUplinkVolume, TUint aDownlinkVolume)
+	{
+	return  iConnDataTransferShim ? iConnDataTransferShim->NotifyDataTransferred(aUplinkVolume, aDownlinkVolume) : KErrNone;
+
+	}
+	
+TInt CNifManSubConnectionShim::NotifyDataSent(TUint aUplinkVolume, TUint /*aCurrentGranularity*/)
+	{
+	return  iConnDataTransferShim ? iConnDataTransferShim->NotifyDataSent(aUplinkVolume) : KErrNone;
+
+	}
+	
+TInt CNifManSubConnectionShim::NotifyDataReceived(TUint aDownlinkVolume, TUint /*aCurrentGranularity*/)
+	{
+	return  iConnDataTransferShim ? iConnDataTransferShim->NotifyDataReceived(aDownlinkVolume) : KErrNone;
+
+	}
+	
+TSubConnectionUniqueId CNifManSubConnectionShim::Id()
+	/**
+	Access this subconnections unique id for search purposes
+	*/
+	{
+	return iSubConnectionsUniqueId;
+	}
+	
+void CNifManSubConnectionShim::SetSubConnectionUniqueId( TSubConnectionUniqueId aSubConnectionUniqueId )
+	{
+	iSubConnectionsUniqueId = aSubConnectionUniqueId;
+	}
+	
+//void CNifManSubConnectionShim::DataClientJoiningL(MSubConnectionDataClient& aDataClient)
+//	{
+//	aDataClient.JoinComplete(*this);
+//	}
+
+//void CNifManSubConnectionShim::DataClientLeaving(MSubConnectionDataClient& aDataClient)
+//	{
+//	aDataClient.LeaveComplete(*this);
+//	}
+
+//void CNifManSubConnectionShim::DoSourceAddressUpdate(MSubConnectionDataClient& /*aDataClient*/, const TSockAddr& /*aSource*/)
+//	{//do nothing
+//	}
+
+//void CNifManSubConnectionShim::DoDestinationAddressUpdate(MSubConnectionDataClient& /*aDataClient*/, const TSockAddr& /*aDestination*/)
+//	{//do nothing
+//	}
+
+//void CNifManSubConnectionShim::DoDataClientRouted(MSubConnectionDataClient& /*aDataClient*/, const TSockAddr& /*aSource*/, const TSockAddr& /*aDestination*/, const TDesC8& /*aConnectionInfo*/)
+//	{//do nothing
+//	}
+
+//void CNifManSubConnectionShim::DoParametersAboutToBeSetL(CSubConParameterBundle& /*aParameterBundle*/)
+//	{//do nothing
+//	}
+
+//TInt CNifManSubConnectionShim::DoControl(TUint /*aOptionLevel*/, TUint /*aOptionName*/, TDes8& /*aOption*/)
+//	{//do nothing
+//	return KErrNotSupported;	
+//	}
+	
+//void CNifManSubConnectionShim::DoStartL()
+//	{
+//	User::Leave(KErrNotSupported);
+//	}
+
+//void CNifManSubConnectionShim::DoStop()
+//	{
+//	}
+
+//CSubConnectionProviderBase* CNifManSubConnectionShim::DoNextLayer()
+//	{
+//	return NULL;
+//	}
+
+CConnDataTransfer& CNifManSubConnectionShim::CreateDataTransferL()
+	{
+	if (!iConnDataTransferShim)
+		{
+		iConnDataTransferShim = new (ELeave)CConnDataTransferShim(*this);
+		}
+	return *iConnDataTransferShim;
+	}
+
+//MConnectionDataClient* CNifManSubConnectionShim::DoSelfConnectionDataClient()
+//	{
+//	return this;
+//	}
+
--- a/networkcontrol/ipnetworklayer/addressinfohook/src/hookaddrinfo.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/ipnetworklayer/addressinfohook/src/hookaddrinfo.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -39,7 +39,9 @@
 	{
 	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/IPProtoSCPRStates.h	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/ipnetworklayer/inc/IPProtoSCPRStates.h	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 #define IPPROTOSCPRSTATES_H_DEFINED
 
 #include <comms-infras/corescprstates.h>
-#include "ipprotomessages.h"
+#include "IPProtoMessages.h"
 
 class CIPQoSProtoSubConnectionProviderBase;
 
--- a/networkcontrol/ipnetworklayer/inc/ipprotodeftscprstates.h	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/ipnetworklayer/inc/ipprotodeftscprstates.h	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 #define IPPROTODEFTSCPRSTATES_H_DEFINED
 
 #include <comms-infras/corescprstates.h>
-#include "ipprotomessages.h"
+#include "IPProtoMessages.h"
 
 class CIPProtoSubConnectionProviderBase;
 
--- a/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/ipnetworklayer/src/IPProtoCPR.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -190,8 +190,8 @@
 namespace IPProtoCprClientLeaveActivity
 { //This activity will wait for ECFActivityBinderRequest to complete
 using namespace  CprClientLeaveActivity;
-DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityClientLeave, IPProtoCprClientLeave, Messages::TNodeSignal::TNullMessageId, CClientLeaveActivity::NewL) //May be waiting for both messages
-	FIRST_NODEACTIVITY_ENTRY(CoreStates::TAwaitingClientLeave, MeshMachine::TNoTag)
+DECLARE_DEFINE_RESERVED_CUSTOM_NODEACTIVITY(ECFActivityClientLeave, IPProtoCprClientLeave, TCFServiceProvider::TLeaveRequest, CClientLeaveActivity::New) //May be waiting for both messages
+	FIRST_NODEACTIVITY_ENTRY(MeshMachine::TAwaitingMessageState<TCFServiceProvider::TLeaveRequest>, MeshMachine::TNoTag)
 	THROUGH_NODEACTIVITY_ENTRY(KNoTag, CprClientLeaveActivity::CClientLeaveActivity::TRemoveClientAndDestroyOrphanedDataClients, CClientLeaveActivity::TNoTagOrSendPriorityToCtrlProvider)
 	NODEACTIVITY_ENTRY(CprStates::KSendPriorityToCtrlProvider, CClientLeaveActivity::TUpdatePriorityForControlProvider, CoreStates::TAwaitingJoinComplete, CClientLeaveActivity::TNoTagOrSendPriorityToServProvider)
 	NODEACTIVITY_ENTRY(CprStates::KSendPriorityToServProvider, CClientLeaveActivity::TUpdatePriorityForServiceProviders, CoreStates::TAwaitingJoinComplete, MeshMachine::TNoTag)
@@ -229,8 +229,11 @@
 	THROUGH_NODEACTIVITY_ENTRY(KActiveTag, CoreNetStates::TCancelDataClientStart, MeshMachine::TNoTag)
 	NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TStopSelf, CoreNetStates::TAwaitingDataClientStopped, CoreNetStates::TNoTagOrNoBearer)
 	NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendStop, CoreNetStates::TAwaitingStopped, MeshMachine::TNoTag)
-	NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendClientLeavingRequestToServiceProvider, MeshMachine::TAwaitingLeaveComplete, TTag<CoreNetStates::KNoBearer>)
-	LAST_NODEACTIVITY_ENTRY(CoreNetStates::KNoBearer, IpProtoCpr::TSendStoppedAndGoneDown)
+	NODEACTIVITY_ENTRY(KNoTag, CoreNetStates::TSendClientLeavingRequestToServiceProvider, MeshMachine::TAwaitingLeaveComplete, TTag<CoreNetStates::KNoBearer>)	
+	THROUGH_NODEACTIVITY_ENTRY(CoreNetStates::KNoBearer, IpProtoCpr::TSendStoppedAndGoneDown, MeshMachine::TNoTag)
+	//Ensure that we reset the iLinkUp flag, otherwise a Start activity blocked against this Stop activity will
+	//cause an assertion failure as iLinkUp will be set twice.
+	LAST_NODEACTIVITY_ENTRY(KNoTag, IpProtoCpr::TLinkDown)
 NODEACTIVITY_END()
 }
 
@@ -755,8 +758,7 @@
 		{
 		iTimerExpired = ETrue;
 		CancelTimer();
-		if (CountActivities(ECFActivityStop) == 0 &&
-+		    CountActivities(ECFActivityDestroy) == 0)
+		if (CountActivities(ECFActivityStop) == 0 && CountActivities(ECFActivityDestroy) == 0)
 			{
 			RClientInterface::OpenPostMessageClose(Id(), TNodeCtxId(ECFActivityStop, Id()), TCFServiceProvider::TStop(KErrTimedOut).CRef());
 			}
--- a/networkcontrol/ipnetworklayer/src/IPProtoSCPRFactory.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/ipnetworklayer/src/IPProtoSCPRFactory.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -21,7 +21,7 @@
  @internalComponent
 */
 
-#include "ipprotomessages.h"
+#include "IPProtoMessages.h"
 #include "IPProtoSCPRFactory.h"
 #include "ipprotodeftscpr.h"
 #include "IPProtoSCPR.h"
--- a/networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/ipnetworklayer/src/ipprotodeftscpr.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -23,7 +23,7 @@
 
 #include <comms-infras/corescprstates.h>
 #include <comms-infras/corescpractivities.h>
-#include "ipprotocprstates.h"
+#include "IPProtoCprStates.h"
 
 #include "ipprotodeftscpr.h"
 #include "ipprotodeftscprstates.h"
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/group/basicipscpr.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,34 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// BasicIPSCPR.MMP IP Subconnection Provider ECOM plugin
+// 
+//
+
+/**
+ @file
+*/
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+#define BASIC_IPSCPR_MMP
+MACRO BASIC_IPSCPR
+
+#include "ipscpr.mmh"
+
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+UNPAGED
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,32 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+PRJ_EXPORTS
+../inc/ip_subconparams.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(ip_subconparams.h)
+../inc/ip_subconparams.inl SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(ip_subconparams.inl)
+
+../group/ipscpr.iby /epoc32/rom/include/ipscpr.iby
+
+PRJ_MMPFILES
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS  
+basicipscpr.mmp
+#endif
+ipscpr.mmp
+
+PRJ_TESTMMPFILES
+
+#endif // SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/group/ipscpr.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,43 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+
+#ifndef __IPSCPR_IBY__
+#define __IPSCPR_IBY__
+
+REM IP Subconnection Provider
+
+
+#if defined(SYMBIAN_EXCLUDE_QOS_PROTPLUGINS) && defined(SYMBIAN_NETWORKING_3GPPDEFAULTQOS)
+REM Feature QoS is not included in this ROM
+
+#ifdef _DEBUG
+ECOM_PLUGIN_UDEB(basicipscpr.dll,102752C4.rss)
+#else
+ECOM_PLUGIN(basicipscpr.dll,102752C4.rss)
+#endif
+
+#else
+
+#ifdef _DEBUG
+ECOM_PLUGIN_UDEB(ipscpr.dll,10204307.rss)
+#else
+ECOM_PLUGIN(ipscpr.dll,10204307.rss)
+#endif
+
+#endif
+
+#endif 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/group/ipscpr.mmh	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,86 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Ipscpr/Basic Ipscpr.MMH IP Subconnection Provider ECOM plugin
+// 
+//
+
+/**
+ @file 
+*/
+
+#ifdef BASIC_IPSCPR_MMP
+
+// Should be ARMV5 only really...
+
+TARGET          basicipscpr.dll
+TARGETTYPE      PLUGIN
+UID             0x10009D8D 0x102752C4
+#else
+TARGET          ipscpr.dll
+TARGETTYPE      PLUGIN
+UID             0x10009D8D 0x10204307
+#endif
+
+VENDORID 		0x70000001
+
+SOURCEPATH      ../src
+SOURCE			ipscpr.cpp 
+SOURCE			ip_subconparams.cpp
+SOURCE			deft_scpr.cpp 
+SOURCE			ipscprlog.cpp
+#ifndef BASIC_IPSCPR_MMP
+SOURCE			asyncwriter.cpp
+SOURCE			qos_msg.cpp 
+#endif
+
+USERINCLUDE     ../inc
+#ifndef BASIC_IPSCPR_MMP
+USERINCLUDE     ../../pfqoslib/inc
+#endif
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+USERINCLUDE		../../ipcpr/inc
+#endif
+
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+#ifdef BASIC_IPSCPR_MMP
+START RESOURCE 102752C4.rss
+TARGET basicipscpr.rsc
+END
+#else
+START RESOURCE 10204307.rss
+TARGET ipscpr.rsc
+END
+#endif
+
+LIBRARY         euser.lib esock.lib esocksvr.lib eintsock.lib insock.lib netmeta.lib
+#ifndef BASIC_IPSCPR_MMP
+
+LIBRARY         pfqoslib.lib   qoslib.lib
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5 
+LIBRARY         qosextnapi.lib
+#else
+LIBRARY         umtsapi.lib  sblpapi.lib 
+#endif
+// SYMBIAN_NETWORKING_UMTSR5 
+
+
+#endif
+
+#include	    "comms-infras/commsdebugutility.mmh"
+
+CAPABILITY ALL -Tcb
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/group/ipscpr.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,26 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Ipscpr.MMP IP Subconnection Provider ECOM plugin
+// 
+//
+
+/**
+ @file
+*/
+
+#include "ipscpr.mmh"
+
+UNPAGED
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/group/networking_ipscpr.history.xml	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<relnotes name="Connection Provider Plugin">
+  <purpose>
+  </purpose>
+</relnotes>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/group/networking_ipscpr.mrp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+component		networking_ipscpr
+source			\sf\os\networkingsrv\networkcontrol\ipscpr
+binary			\sf\os\networkingsrv\networkcontrol\ipscpr\group	all
+exports			\sf\os\networkingsrv\networkcontrol\ipscpr\group
+notes_source	\component_defs\release.src
+
+
+ipr E 
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/inc/asyncwriter.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,41 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#ifndef ASYNCWRITER_H_
+#define ASYNCWRITER_H_
+
+#include <qoslib.h>
+#include <e32base.h>
+#include "pfqoslib.h"
+#include "pfqos_stream.h"
+#include "qos_msg.h"
+
+NONSHARABLE_CLASS(CAsyncWriter) : public CActive
+	{
+	public:
+		static CAsyncWriter* NewL(CQoSMsgWriter* aWriter);
+		void Send(CQoSMsg* aMessage);
+	protected:
+		CAsyncWriter(CQoSMsgWriter* aWriter);
+		void ConstructL();
+		void RunL();
+		void DoCancel();
+	private:
+		CQoSMsgWriter* iWriter;
+		CQoSMsg* iMessage;
+		TSglQue<CQoSMsg> iPendingMsg;
+	};
+
+#endif //ASYNCWRITER_H_
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/inc/deft_scpr.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,170 @@
+/**
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header file for the default SubConnection Provider
+* 
+*
+*/
+
+
+
+/**
+ @file deft_scpr.h
+*/
+
+#ifndef __DEFT_CPR_H__
+#define __DEFT_CPR_H__
+
+#include <e32base.h>
+#include <e32std.h>
+#include <ss_subconnprov.h>
+#include <ss_connprov.h>
+#include "ipscprlog.h"
+
+
+class CConnDataTransfer;
+class CEmptySubConnectionProvider : public CSubConnectionProviderBase, public MConnectionEnumerateClients, public MConnectionDataClient
+/**
+Defines the IP Connection Provider.  Class provides a mapping from ESock Subconnection
+function calls to QoS.PRT messages.
+
+@internalComponent
+
+@released Since v9.0
+*/
+	{
+protected:
+	// Construction
+	CEmptySubConnectionProvider(CSubConnectionProviderFactoryBase& aFactory, CConnectionProviderBase& aConnProvider) :
+		CSubConnectionProviderBase(aFactory, aConnProvider)
+			{
+			__IPCPRLOG(IpCprLog::Printf(_L("CEmptySubConnectionProvider [this=%08x]:\tCEmptySubConnectionProvider() [MConnectionDataClient=%08x]"),
+			   this, (MConnectionDataClient*)this));
+			}
+			
+	~CEmptySubConnectionProvider();
+	
+	virtual MConnectionDataClient* DoSelfConnectionDataClient();
+
+	//MConnectionEnumerateClients
+	virtual void EnumerateClientsL(TUint& aCount, TDes8& aDes, CConnectionProviderBase::TEnumClients aClientType);
+
+	//MConnectionDataClient
+	virtual void ConnectionError(TInt aStage, TInt aError);
+
+	virtual void DoControlClientJoiningL(MSubConnectionControlClient& aControlClient);
+	virtual void DoControlClientLeaving(MSubConnectionControlClient& aControlClient);
+	};
+	
+
+/**
+Defines the default IP Connection Provider. 
+
+@internalComponent
+
+@released Since v9.0
+*/
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+class CDefaultSubConnectionProvider : public CEmptySubConnectionProvider, public MSubConnectionControlClient
+#else
+class CDefaultSubConnectionProvider : public CEmptySubConnectionProvider
+#endif
+//SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+	{
+public:
+
+	// Construction
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+	CDefaultSubConnectionProvider(CSubConnectionProviderFactoryBase& aFactory, CConnectionProviderBase& aConnProvider, RSubConnection::TSubConnType aType)
+	   : CEmptySubConnectionProvider(aFactory, aConnProvider), iSubConnType(aType)
+#else
+	CDefaultSubConnectionProvider(CSubConnectionProviderFactoryBase& aFactory, CConnectionProviderBase& aConnProvider)
+	   : CEmptySubConnectionProvider(aFactory, aConnProvider)
+#endif
+			{
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+			__IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider [this=%08x]:\tCDefaultSubConnectionProvider() [MSubConnectionControlClient=%08x] [MConnectionDataClient=%08x]"),
+			   this, (MSubConnectionControlClient*)this, (MConnectionDataClient*)this));
+#else
+			__IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider [this=%08x]:\tCDefaultSubConnectionProvider() [MConnectionDataClient=%08x]"),
+			   this, (MConnectionDataClient*)this));
+#endif			   
+			}
+			
+	~CDefaultSubConnectionProvider();
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+	//-=========================================================
+	// MSubConnectionControlClient methods
+	//-=========================================================
+	/**	Override this to inform the sub-connection client (e.g. socket, host resolver etc.) that 
+		the sub-connection is going down
+	
+	@param aSubConnProvider the sub-connection provider going down */
+	virtual void SubConnectionGoingDown(CSubConnectionProviderBase& aSubConnProvider);
+
+	/**	Override this to notify the control client of a sub-connection event, eg. layer up etc.
+	
+	@param aSubConnProvider The provider which the event was generated on
+	@param aNotifyType The type of event
+	@param aError Error code, if any
+	@param aEvent The notification object containing specialized information */
+	virtual void SubConnectionEvent(CSubConnectionProviderBase& aSubConnProvider, MConnectionDataClient::TNotify aNotifyType, TInt aError, const CSubConNotificationEvent* aEvent);
+
+
+	virtual void LayerUp(CSubConnectionProviderBase& aSubConnProvider, TInt aError);
+	virtual void IncomingConnection(CSubConnectionProviderBase* aSubConnProvider, CSubConParameterBundle* aParameterBundle, TInt aError);
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+protected:
+	//-=========================================================
+	// CSubConnectionProviderBase methods
+	//-=========================================================
+	// Methods to be overriden be derived subconnection provider
+	virtual void DoControlClientJoiningL(MSubConnectionControlClient& aControlClient);	//Fix for DEF096132
+	virtual void DoDataClientJoiningL(MSubConnectionDataClient& aDataClient);
+	virtual void DoDataClientLeaving(MSubConnectionDataClient& aDataClient);
+	virtual void DoSourceAddressUpdate(MSubConnectionDataClient& aDataClient, const TSockAddr& aSource);
+	virtual void DoDestinationAddressUpdate(MSubConnectionDataClient& aDataClient, const TSockAddr& aDestination);
+	virtual void DoDataClientRouted(MSubConnectionDataClient& aDataClient, const TSockAddr& aSource, const TSockAddr& aDestination, const TDesC8& aConnectionInfo);
+	virtual void DoParametersAboutToBeSetL(CSubConParameterBundle& aParameterBundle);
+	virtual TInt DoControl(TUint aOptionLevel, TUint aOptionName, TDes8& aOption);
+
+   virtual void DoStartL();
+	virtual void DoStop();
+	virtual CSubConnectionProviderBase* DoNextLayer();
+	virtual CConnDataTransfer& DoDataTransferL();
+
+	//MConnectionDataClient
+	virtual TAny* FetchInterfaceInstanceL(CConnectionProviderBase& aProvider, const STypeId& aTid);
+	virtual void ConnectionGoingDown(CConnectionProviderBase& aConnProvider);
+	virtual void Notify(TNotify aNotifyType,  CConnectionProviderBase* aConnProvider, TInt aError, const CConNotificationEvent* aConNotificationEvent);
+   virtual void AttachToNext(CSubConnectionProviderBase* aSubConnProvider);
+  
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+   virtual void DoControlClientLeaving(MSubConnectionControlClient& aControlClient);
+private:
+    const RSubConnection::TSubConnType iSubConnType;
+#endif
+
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+    TUint32 iAppId;
+	CSubConnectionProviderBase * iSubConNextLayer;
+#endif
+	};
+#endif
+// __DEFT_CPR_H__
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/inc/ip_subconparams.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,221 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header file for the IP SubConnection Parameters
+* 
+*
+*/
+
+
+
+/**
+ @file ip_subconparams.h
+*/
+
+#ifndef __IP_SUBCONPARAMS_H__
+#define __IP_SUBCONPARAMS_H__
+
+#include <es_sock.h>
+#include <comms-infras/metadata.h>
+#include <comms-infras/metatype.h>
+#include <etelqos.h>
+
+
+// NOTE: This Uid may be changed - See #ifdef at bottom of the file
+const TInt KSubConIPParamsUid = 0x10204309;
+const TInt KSubConQosIPLinkR99ParamsType = 1;
+
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+#include <networking/qos3gpp_subconparams.h>
+
+#else
+const TInt KSubConnSBLPR5ExtensionParamsType = 2;
+
+
+/** Constant definitions particular to the Generic Parameters. */
+const TInt KMAuthTokenLength = 255;
+/** Typedef for the AuthToken Holder. */
+typedef TBuf8<KMAuthTokenLength> TAuthToken;
+
+#if defined(SYMBIAN_NETWORKING_UMTSR5) && !defined(SYMBIAN_NETWORKING_3GPPDEFAULTQOS)
+#pragma message("SYMBIAN_NETWORKING_UMTSR5 cannot be defined without SYMBIAN_NETWORKING_3GPPDEFAULTQOS")
+#endif
+// SYMBIAN_NETWORKING_UMTSR5 
+
+
+#endif
+
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+/** Provides Implementation of IP QoS Parameters
+
+@publishedAll
+@released since v9.1
+@deprecated from v9.2 onwards. Use CSubConQosR99ParamSet from Qos3GPP_Subconparams.h instead.
+*/
+#else
+/** Provides Implementation of IP QoS Parameters
+
+@publishedAll
+@released since v9.1
+*/#endif
+class CSubConQosIPLinkR99ParamSet : public CSubConExtensionParameterSet
+{
+public:
+	inline static CSubConQosIPLinkR99ParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType);
+	inline static CSubConQosIPLinkR99ParamSet* NewL();
+
+	inline CSubConQosIPLinkR99ParamSet();
+
+	inline RPacketQoS::TTrafficClass GetTrafficClass() const;
+	inline RPacketQoS::TDeliveryOrder GetDeliveryOrder() const;
+	inline RPacketQoS::TErroneousSDUDelivery GetErroneousSDUDelivery() const;
+	inline RPacketQoS::TBitErrorRatio GetResidualBitErrorRatio() const;
+	inline RPacketQoS::TSDUErrorRatio GetSDUErrorRatio() const;
+	inline RPacketQoS::TTrafficHandlingPriority GetTrafficHandlingPriority() const;
+	inline TInt GetTransferDelay() const;
+	inline TInt GetMaxSduSize() const;
+	inline TInt GetMaxBitrateUplink() const;
+	inline TInt GetMaxBitrateDownlink() const;
+	inline TInt GetGuaBitrateUplink() const;
+	inline TInt GetGuaBitrateDownlink() const;
+	inline void SetTrafficClass(RPacketQoS::TTrafficClass aTrafficClass);
+	inline void SetDeliveryOrder(RPacketQoS::TDeliveryOrder aDeliveryOrder);
+	inline void SetErroneousSDUDelivery(RPacketQoS::TErroneousSDUDelivery aDeliveryOfErroneusSdu);
+	inline void SetResidualBitErrorRatio(RPacketQoS::TBitErrorRatio aResidualBer);
+	inline void SetSDUErrorRatio(RPacketQoS::TSDUErrorRatio aErrorRatio);
+	inline void SetTrafficHandlingPriority(RPacketQoS::TTrafficHandlingPriority aPriority);
+	inline void SetTransferDelay(TInt aTransferDelay);
+	inline void SetMaxSduSize(TInt aMaxSduSize);
+	inline void SetMaxBitrateUplink(TInt aMaxBitrateUplink);
+	inline void SetMaxBitrateDownlink(TInt aMaxBitrateDownlink);
+	inline void SetGuaBitrateUplink(TInt aGuaBitrateUplink);
+	inline void SetGuaBitrateDownlink(TInt aGuaBitrateDownlink);
+
+protected:
+
+	DATA_VTABLE
+
+protected:
+	RPacketQoS::TTrafficClass				iTrafficClass;			// Traffic class
+	RPacketQoS::TDeliveryOrder				iDeliveryOrder;			// Delivery order
+	RPacketQoS::TErroneousSDUDelivery		iDeliveryOfErroneusSdu;	// Delivery of erroneous SDUs
+	RPacketQoS::TBitErrorRatio				iResidualBer;			// Residual BER
+	RPacketQoS::TSDUErrorRatio				iErrorRatio;			// SDU error ratio
+	RPacketQoS::TTrafficHandlingPriority	iPriority;				// Traffic handling priority
+	TInt									iTransferDelay;			// Transfer delay
+	TInt									iMaxSduSize;			// Maximum SDU size
+	TInt									iMaxBitrateUplink;		// Maximum bit rate for uplink
+	TInt									iMaxBitrateDownlink;	// Maximum bit rate for downlink
+	TInt									iGuaBitrateUplink;		// Guaranteed bit rate for uplink
+	TInt									iGuaBitrateDownlink;	// Guaranteed bit rate for downlink
+	};
+
+#ifndef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+
+/** Flow Identifires
+ECOM Implementation Id for SBLP Extension parameters.
+
+@publishedAll
+@released since v9.1 */
+struct TFlowId
+	{
+	/** Getter Function for the Components of Flow ids. */
+	inline TUint16 GetMediaComponentNumber() const;
+	inline TUint16 GetIPFlowNumber() const;
+	/**	Setter Function For Flow Id Components.	*/
+	inline void SetMediaComponentNumber(TUint16 aMediaComponentNumber);
+	inline void SetIPFlowNumber(TUint16 aIPFlowNumber);
+
+private:	
+	TUint16 iMediaComponentNumber;
+	TUint16 iIPFlowNumber;
+	};	
+
+typedef RArray<TFlowId> RFlowIdentifiers;
+
+/** Extension Parameter Sets, Consise of MAT and FI(s).
+Provides Implementation of Extension parameters of the SBLP Family.
+
+@publishedAll
+@released since v9.1 */
+class CSubConSBLPR5ExtensionParamSet : public CSubConExtensionParameterSet
+	{
+public:
+	inline static CSubConSBLPR5ExtensionParamSet* NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType);
+	inline static CSubConSBLPR5ExtensionParamSet* NewL();
+
+	/**	Media Authorization Token setter and getter functions. */
+	inline const TAuthToken& GetMAT() const;
+	inline void SetMAT(const TAuthToken& aAuthToken);
+	
+	/** Flow identifires setter and getter functions. */
+	inline TInt GetNumberOfFlowIds() const;
+	inline const TFlowId& GetFlowIdAt(TInt aIndex) const;
+	
+	/** Adding of Flow Identifires into an array. */
+	inline void AddFlowIdL(const TFlowId& aFlowId);
+	
+	/** public constructors so that it can be accessed by factory. */
+	inline CSubConSBLPR5ExtensionParamSet();	
+	inline ~CSubConSBLPR5ExtensionParamSet();
+	
+protected:
+	DATA_VTABLE
+
+	/** Single Media Authorization Token (MAT). */
+	TAuthToken iAuthToken;
+	
+	/** Multiple Flow Identifiers. */
+	RFlowIdentifiers	iFlowIds;
+	};
+#endif
+
+
+
+
+
+/**
+Factory used to create instances of IP SubConnection Parameters.
+
+@internalComponent
+@released since v9.1
+*/
+class CSubConIPExtensionParamsFactory : public CBase
+	{
+public:
+	static CSubConExtensionParameterSet* NewL(TAny* aConstructionParameters);
+	};
+
+#include <ip_subconparams.inl>
+
+
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+/*
+ Umts QoS extension classes have been relocated to the UmtsGprsSCPR component.
+ So now we need to make sure that the correct class factory TUid, class name,
+ and class Id are used
+*/
+#define KSubConIPParamsUid KSubCon3GPPExtParamsFactoryUid
+#define KSubConQosIPLinkR99ParamsType KSubConQosR99ParamsType
+#define CSubConQosIPLinkR99ParamSet CSubConQosR99ParamSet
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+
+#endif
+// __IP_SUBCONPARAMS_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/inc/ip_subconparams.inl	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,261 @@
+/**
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Inline Functions file for the IP SubConnection Parameters
+* 
+*
+*/
+
+
+
+/**
+ @file ip_subconparams.inl
+*/
+
+
+#ifndef __IP_SUBCONPARAMS_INL__
+#define __IP_SUBCONPARAMS_INL__
+
+#ifndef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+CSubConQosIPLinkR99ParamSet* CSubConQosIPLinkR99ParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType)
+	{
+	CSubConQosIPLinkR99ParamSet* obj = NewL();
+	CleanupStack::PushL(obj);
+	aFamily.AddExtensionSetL(*obj, aType);
+	CleanupStack::Pop(obj);
+	return obj;
+	}
+
+CSubConQosIPLinkR99ParamSet* CSubConQosIPLinkR99ParamSet::NewL()
+	{
+	STypeId typeId = STypeId::CreateSTypeId(KSubConIPParamsUid, KSubConQosIPLinkR99ParamsType);
+	return static_cast<CSubConQosIPLinkR99ParamSet*>(CSubConParameterSet::NewL(typeId));
+	}
+
+CSubConQosIPLinkR99ParamSet::CSubConQosIPLinkR99ParamSet()
+	: CSubConExtensionParameterSet(), 
+	iTrafficClass(RPacketQoS::ETrafficClassUnspecified),
+	iDeliveryOrder(RPacketQoS::EDeliveryOrderUnspecified),
+	iDeliveryOfErroneusSdu(RPacketQoS::EErroneousSDUDeliveryUnspecified),
+	iResidualBer(RPacketQoS::EBERUnspecified),
+	iErrorRatio(RPacketQoS::ESDUErrorRatioUnspecified),
+	iPriority(RPacketQoS::ETrafficPriorityUnspecified),
+	iTransferDelay(0),
+	iMaxSduSize(0),
+	iMaxBitrateUplink(0),
+	iMaxBitrateDownlink(0),
+	iGuaBitrateUplink(0),
+	iGuaBitrateDownlink(0)
+	{
+	}
+
+RPacketQoS::TTrafficClass CSubConQosIPLinkR99ParamSet::GetTrafficClass() const
+	{
+	return iTrafficClass;
+	}
+
+RPacketQoS::TDeliveryOrder CSubConQosIPLinkR99ParamSet::GetDeliveryOrder() const
+	{
+	return iDeliveryOrder;
+	}
+
+RPacketQoS::TErroneousSDUDelivery CSubConQosIPLinkR99ParamSet::GetErroneousSDUDelivery() const
+	{
+	return iDeliveryOfErroneusSdu;
+	}
+
+RPacketQoS::TBitErrorRatio CSubConQosIPLinkR99ParamSet::GetResidualBitErrorRatio() const
+	{
+	return iResidualBer;
+	}
+
+RPacketQoS::TSDUErrorRatio CSubConQosIPLinkR99ParamSet::GetSDUErrorRatio() const
+	{
+	return iErrorRatio;
+	}
+
+RPacketQoS::TTrafficHandlingPriority CSubConQosIPLinkR99ParamSet::GetTrafficHandlingPriority() const
+	{
+	return iPriority;
+	}
+
+TInt CSubConQosIPLinkR99ParamSet::GetTransferDelay() const
+	{
+	return iTransferDelay;
+	}
+
+TInt CSubConQosIPLinkR99ParamSet::GetMaxSduSize() const
+	{
+	return iMaxSduSize;
+	}
+
+TInt CSubConQosIPLinkR99ParamSet::GetMaxBitrateUplink() const
+	{
+	return iMaxBitrateUplink;
+	}
+
+TInt CSubConQosIPLinkR99ParamSet::GetMaxBitrateDownlink() const
+	{
+	return iMaxBitrateDownlink;
+	}
+
+TInt CSubConQosIPLinkR99ParamSet::GetGuaBitrateUplink() const
+	{
+	return iGuaBitrateUplink;
+	}
+
+TInt CSubConQosIPLinkR99ParamSet::GetGuaBitrateDownlink() const
+	{
+	return iGuaBitrateDownlink;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetTrafficClass(RPacketQoS::TTrafficClass aTrafficClass)
+	{
+	iTrafficClass = aTrafficClass;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetDeliveryOrder(RPacketQoS::TDeliveryOrder aDeliveryOrder)
+	{
+	iDeliveryOrder = aDeliveryOrder;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetErroneousSDUDelivery(RPacketQoS::TErroneousSDUDelivery aDeliveryOfErroneusSdu)
+	{
+	iDeliveryOfErroneusSdu = aDeliveryOfErroneusSdu;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetResidualBitErrorRatio(RPacketQoS::TBitErrorRatio aResidualBer)
+	{
+	iResidualBer = aResidualBer;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetSDUErrorRatio(RPacketQoS::TSDUErrorRatio aErrorRatio)
+	{
+	iErrorRatio = aErrorRatio;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetTrafficHandlingPriority(RPacketQoS::TTrafficHandlingPriority aPriority)
+	{
+	iPriority = aPriority;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetTransferDelay(TInt aTransferDelay)
+	{
+	iTransferDelay = aTransferDelay;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetMaxSduSize(TInt aMaxSduSize)
+	{
+	iMaxSduSize = aMaxSduSize;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetMaxBitrateUplink(TInt aMaxBitrateUplink)
+	{
+	iMaxBitrateUplink = aMaxBitrateUplink;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetMaxBitrateDownlink(TInt aMaxBitrateDownlink)
+	{
+	iMaxBitrateDownlink = aMaxBitrateDownlink;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetGuaBitrateUplink(TInt aGuaBitrateUplink)
+	{
+	iGuaBitrateUplink = aGuaBitrateUplink;
+	}
+
+void CSubConQosIPLinkR99ParamSet::SetGuaBitrateDownlink(TInt aGuaBitrateDownlink)
+	{
+	iGuaBitrateDownlink = aGuaBitrateDownlink;
+	}
+
+
+TUint16 TFlowId::GetMediaComponentNumber() const
+	{
+	return iMediaComponentNumber;
+	}
+
+TUint16 TFlowId::GetIPFlowNumber() const
+	{
+	return iIPFlowNumber;	
+	}
+
+void TFlowId::SetMediaComponentNumber(TUint16 aMediaComponentNumber)
+	{
+	iMediaComponentNumber = aMediaComponentNumber;
+	}
+
+void TFlowId::SetIPFlowNumber(TUint16 aIPFlowNumber)
+	{
+	iIPFlowNumber = aIPFlowNumber;
+	}
+
+
+//===========================
+// Implementation Extension class
+CSubConSBLPR5ExtensionParamSet::CSubConSBLPR5ExtensionParamSet()
+	: CSubConExtensionParameterSet()
+	{
+	} 
+
+CSubConSBLPR5ExtensionParamSet::~CSubConSBLPR5ExtensionParamSet()
+	{
+	iFlowIds.Close();
+	}
+
+CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL(CSubConParameterFamily& aFamily, CSubConParameterFamily::TParameterSetType aType)
+	{
+	CSubConSBLPR5ExtensionParamSet* sblpExtn = NewL();
+	CleanupStack::PushL(sblpExtn);
+	aFamily.AddExtensionSetL(*sblpExtn, aType);
+	CleanupStack::Pop(sblpExtn);
+	return sblpExtn;
+	}
+CSubConSBLPR5ExtensionParamSet* CSubConSBLPR5ExtensionParamSet::NewL()
+	{
+	STypeId typeId = STypeId::CreateSTypeId(KSubConIPParamsUid, KSubConnSBLPR5ExtensionParamsType);
+	return static_cast<CSubConSBLPR5ExtensionParamSet*>(CSubConParameterSet::NewL(typeId));
+	}
+	
+const TAuthToken& CSubConSBLPR5ExtensionParamSet::GetMAT() const
+	{
+	return iAuthToken;
+	}
+
+void CSubConSBLPR5ExtensionParamSet::SetMAT(const TAuthToken& aAuthToken)
+	{
+	iAuthToken = aAuthToken;
+	}
+
+TInt CSubConSBLPR5ExtensionParamSet::GetNumberOfFlowIds() const
+	{
+	return iFlowIds.Count();
+	}
+
+const TFlowId& CSubConSBLPR5ExtensionParamSet::GetFlowIdAt(TInt aIndex) const
+	{
+	return iFlowIds[aIndex];
+	}
+
+void CSubConSBLPR5ExtensionParamSet::AddFlowIdL(const TFlowId & aFlowId)
+	{
+	iFlowIds.AppendL(aFlowId);
+	}
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
+#endif
+// __IP_SUBCONPARAMS_INL__
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/inc/ipscpr.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,249 @@
+/**
+* Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header file for the IP SubConnection Provider and its basic version
+* 
+*
+*/
+
+
+
+/**
+ @file ipscpr.h
+*/
+
+#ifndef __IPSCPR_H__
+#define __IPSCPR_H__
+
+#include <e32base.h>
+#include <e32std.h>
+#include <ss_subconnprov.h>
+#include "deft_scpr.h"
+#include <eintsock.h>
+#include <in_sock.h>
+#include <es_sock.h>
+
+
+#ifndef BASIC_IPSCPR
+#include "asyncwriter.h"
+#include <qoslib.h>
+#include <ip_subconparams.h>
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+#include <umtsextn.h>
+#include <imsextn.h>
+#endif
+#endif
+
+
+/**
+Connection Provider Id - Protocol Family
+
+@internalComponent
+
+@released Since v9.0
+*/
+const TUint KIPConnectionProviderFactoryId = KAfInet;
+
+/**
+ECOM Implementation Id for Connection Provider
+
+@internalComponent
+
+@released Since v9.0
+*/
+#ifdef BASIC_IPSCPR
+const TInt KSubConnectionProviderImplementationUid = { 0x102752C5 };
+#else
+const TInt KSubConnectionProviderImplementationUid = { 0x10204308 };
+#endif
+
+
+class CConnectionProviderBase;
+class CIpSubConnectionProviderFactory : public CSubConnectionProviderFactoryBase
+/**
+Factory that is used to create instances of IP Connection Providers
+
+@internalComponent
+
+@released Since v9.0
+*/
+	{
+public:
+	static CIpSubConnectionProviderFactory* NewL(TAny* aConstructionParameters);
+	virtual ~CIpSubConnectionProviderFactory();
+
+	CIpSubConnectionProviderFactory(TUint aFactoryId, CSubConnectionFactoryContainer& aParentContainer);
+
+	// methods to be overriden for CSubConnectionProviderFactory
+	virtual CSubConnectionProviderBase* DoCreateProviderL(CConnectionProviderBase& aConnProvider, RSubConnection::TSubConnType aType);
+	};
+
+
+#ifndef BASIC_IPSCPR
+
+class CQoSMsgWriter;
+class CQoSMsgReader;
+class TPfqosMessage;
+class CSubConGenEventParamsGranted;
+class CSubConQosGenericParamSet;
+class CSubConQosIPLinkR99ParamSet;
+class CSubConSBLPR5ExtensionParamSet;
+class CSblpParameters;
+class TQoSParameters;
+class TUmtsQoSParameters;
+
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5  
+class TUmtsR5QoSParameters;
+class TImsParameter;
+class CSubConQosR5ParamSet;
+class CSubConIMSExtParamSet;
+#endif 
+// SYMBIAN_NETWORKING_UMTSR5 
+
+
+class CIpSubConnectionProvider : public CEmptySubConnectionProvider
+/**
+Defines the IP Connection Provider.  Class provides a mapping from ESock Subconnection
+function calls to QoS.PRT messages.
+
+@internalComponent
+
+@released Since v9.0
+*/
+	{
+private:
+    enum 
+        {
+        KParameterRelInvalid = 0,
+        KParameterRelGeneric = 1,
+        KParameterRel4Rel99 = 4,
+        KParameterRel5 = 5,
+        };
+
+public:
+	// Construction
+	static CIpSubConnectionProvider* NewL(CIpSubConnectionProviderFactory& aFactory, CConnectionProviderBase& aConnProvider);
+
+protected:
+	// Construction
+	CIpSubConnectionProvider(CIpSubConnectionProviderFactory& aFactory, CConnectionProviderBase& aConnProvider);
+
+	// Methods to be overriden be derived subconnection provider
+	virtual void DoDataClientJoiningL(MSubConnectionDataClient& aDataClient);
+	virtual void DoDataClientLeaving(MSubConnectionDataClient& aDataClient);
+	virtual void DoSourceAddressUpdate(MSubConnectionDataClient& aDataClient, const TSockAddr& aSource);
+	virtual void DoDestinationAddressUpdate(MSubConnectionDataClient& aDataClient, const TSockAddr& aDestination);
+	virtual void DoDataClientRouted(MSubConnectionDataClient& aDataClient, const TSockAddr& aSource, const TSockAddr& aDestination, const TDesC8& aConnectionInfo);
+	virtual void DoParametersAboutToBeSetL(CSubConParameterBundle& aParameterBundle);
+	virtual TInt DoControl(TUint aOptionLevel, TUint aOptionName, TDes8& aOption);
+
+    virtual void DoStartL();
+	virtual void DoStop();
+	virtual CSubConnectionProviderBase* DoNextLayer();
+	virtual CConnDataTransfer& DoDataTransferL();
+
+	//MConnectionDataClient
+	virtual TAny* FetchInterfaceInstanceL(CSubConnectionProviderBase& aProvider, const STypeId& aTid);
+	virtual void ConnectionGoingDown(CConnectionProviderBase& aConnProvider);
+	virtual void Notify(TNotify aNotifyType,  CConnectionProviderBase* aConnProvider, TInt aError, const CConNotificationEvent* aConNotificationEvent);
+    virtual void AttachToNext(CSubConnectionProviderBase* aSubConnProvider);
+
+	// Don't allow clients to invoke the destructor.
+	// (Only the CCommsFactoryBase should do this)
+	virtual ~CIpSubConnectionProvider();
+
+	void ConstructL();
+
+public:
+	// Messages from PRT
+	void ProcessPRTMsg(TPfqosMessage& aMsg);
+	void ProcessPRTError(TPfqosMessage& aMsg, TInt aError);
+#ifdef _DEBUG
+	void ProcessPRTError(TInt aMsgType, TInt aError);
+#endif
+
+private:
+	// Messages to PRT
+	void SendOpenExistingL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocol);
+	void SendCreateL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocol);
+	void SendCloseL();
+	void SendJoinL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocol);
+	void SendLeaveL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocol);
+	void SendSetQoSL();
+
+	// Internal Processing
+	void ProcessPRTEventL(TPfqosMessage& aMsg);
+	void ProcessPRTReplyL(TPfqosMessage& aMsg);
+
+	void ConvertParametersFromESockL(CSubConParameterBundle& aParameterBundle);
+	void ConvertParametersFromQOSL(TPfqosMessage& aMsg, CSubConGenEventParamsGranted* aEvent);
+
+	TInt DetermineClient(const TPfqosMessage& aMsg, MSubConnectionDataClient*& aDataClient);
+	void MapGenericParamsFromESockToPRTL(const CSubConQosGenericParamSet& generic) const;
+	void MapGenericParamsFromPRTToESockL(CSubConQosGenericParamSet& generic) const;
+	void MapExtensionParamsFromESockToPRTL(const CSubConQosIPLinkR99ParamSet& extension, TUmtsQoSParameters& params);
+	
+	void ResetPrtExtensions();
+	
+	
+#ifdef SYMBIAN_NETWORKING_UMTSR5  
+	void MapExtensionParamsFromESockToPRTL(const CSubConQosR5ParamSet& aExtension, TUmtsR5QoSParameters& aParams);
+	void MapExtensionParamsFromESockToPRTL(const CSubConImsExtParamSet& aExtension, TImsParameter& aParams);
+    
+    CSubConExtensionParameterSet* MapFromUmtsR5ExtensionL (const CUmtsR5QoSPolicy* aPolicy);
+    CSubConExtensionParameterSet* MapFromImsExtensionL (const CImsPolicy* aPolicy);
+#endif 
+// SYMBIAN_NETWORKING_UMTSR5 
+
+
+	void MapExtensionParamsFromESockToPRTL(const CSubConSBLPR5ExtensionParamSet& extension, CSblpParameters& params) const;
+	
+	void ConvertTQoSIntoCQoSParamsL(const TQoSParameters& aParameter);
+	void ConvertCQoSIntoTQoSParamsL(TQoSParameters& aParameters) const;
+
+private:
+	/** Internal Socket */
+	RInternalSocket iSocket;
+	
+	/** PRT message writer */
+	CQoSMsgWriter* iWriter;
+
+	/** PRT message reader */
+	CQoSMsgReader* iReader;
+
+	/** QoS channel Id */
+	TInt iChannelId;
+
+	/** Process UID */
+	TUidType iUid;
+
+	/** QoS Parameters */
+    CQoSParameters* iPrtParameters;
+
+	/** QoS Extensions */
+    TQoSExtensionQueue iPrtExtensions;
+
+	/** QoS Parameters Set */
+	TBool iParametersSet;
+	TInt iParameterRelease;
+	
+	/**Class for doing async writes */
+	CAsyncWriter* iAsyncWriter;
+	};
+
+#endif  // BASIC_IPSCPR
+#endif  // __IPSCPR_H__
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/10204307.rss	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,60 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Registry info for IP Sub-Connection Provider plug-in
+// 
+//
+
+/**
+ @file 10204307.RSS
+*/
+
+#include <ecom/registryinfo.rh>
+
+RESOURCE REGISTRY_INFO theInfo
+{
+dll_uid = 0x10204307;
+interfaces = 
+    {
+    INTERFACE_INFO
+        {
+        interface_uid = 0x10204301;
+        implementations = 
+            {
+           IMPLEMENTATION_INFO
+                {
+                implementation_uid = 0x10204308;
+                version_no = 1;
+                display_name = "IP Sub-Connection Provider Factory";
+                default_data = "IpSubConnectionProviderFactory";
+                opaque_data = "";
+                }
+            };
+        },
+    INTERFACE_INFO
+        {
+        interface_uid = 0x10204303;
+        implementations = 
+            {
+           IMPLEMENTATION_INFO
+                {
+                implementation_uid = 0x10204309;
+                version_no = 1;
+                display_name = "CSubConnection Qos IP Link R5 Extension Parameter Set";
+                default_data = "text/wml";
+                opaque_data = "";
+                }
+            };
+        }
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/102752C4.rss	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,60 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Registry info for Basic IP Sub-Connection Provider plug-in
+// 
+//
+
+/**
+ @file
+*/
+
+#include <ecom/registryinfo.rh>
+
+RESOURCE REGISTRY_INFO theInfo
+{
+dll_uid = 0x102752C4;
+interfaces = 
+    {
+    INTERFACE_INFO
+        {
+        interface_uid = 0x10204301;
+        implementations = 
+            {
+           IMPLEMENTATION_INFO
+                {
+                implementation_uid = 0x102752C5;
+                version_no = 1;
+                display_name = "Basic IP Sub-Connection Provider Factory";
+                default_data = "BasicIpSubConnectionProvdFactory";
+                opaque_data = "";
+                }
+            };
+        },
+    INTERFACE_INFO
+        {
+        interface_uid = 0x10204303;
+        implementations = 
+            {
+           IMPLEMENTATION_INFO
+                {
+                implementation_uid = 0x102754C7;
+                version_no = 1;
+                display_name = "CSubConnection Qos IP Link R5 Extension Parameter Set";
+                default_data = "text/wml";
+                opaque_data = "";
+                }
+            };
+	}
+    };
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/asyncwriter.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,70 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include "asyncwriter.h"
+
+
+CAsyncWriter* CAsyncWriter::NewL(CQoSMsgWriter* aWriter)
+	{
+	CAsyncWriter* self = new (ELeave) CAsyncWriter(aWriter);
+	CleanupStack::PushL(self);
+	self->ConstructL();
+	CleanupStack::Pop(self);
+	return self;
+	}
+	
+CAsyncWriter::CAsyncWriter(CQoSMsgWriter* aWriter) :
+	CActive(EPriorityNormal),
+	iWriter(aWriter)
+	{
+        iPendingMsg.SetOffset(_FOFF(CQoSMsg, iLink));
+        }
+
+void CAsyncWriter::ConstructL()
+	{
+	CActiveScheduler::Add(this);
+	}
+
+void CAsyncWriter::Send(CQoSMsg* aMessage)
+	{
+	if (IsActive())
+ 		{
+ 		iPendingMsg.AddLast(*aMessage);
+ 		}
+ 	else
+ 		{
+ 		iWriter->Send(aMessage);
+ 		SetActive();
+ 		TRequestStatus* stat = &iStatus;
+ 		User::RequestComplete(stat,KErrNone);
+ 		}
+	}
+	
+void CAsyncWriter::RunL()
+	{
+	ASSERT(iWriter);
+	if (!iPendingMsg.IsEmpty())
+ 		{
+ 		CQoSMsg* msg = iPendingMsg.First();
+ 		iPendingMsg.Remove(*msg);
+ 		iWriter->Send(msg);
+ 		SetActive();
+ 		}
+	}
+	
+void CAsyncWriter::DoCancel()
+	{
+	//No code needed here becuase the request is completed immediately on activation
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/deft_scpr.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,460 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Implementation file for the IP SubConnection Provider
+// 
+//
+
+/**
+ @file
+*/
+
+#include <e32std.h>
+#include <e32test.h>
+#include <ss_glob.h>
+#include "deft_scpr.h"
+#include "ipscprlog.h"
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+#include "MAppIdInfo.h"
+#include <networking/qos3gpp_subconparams.h>
+#include <ip_subconparams.h>
+#endif //SYMBIAN_NETWORKING_UMTSR5
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+	const TUint32 KSIPSecureId  = 270490934;
+	const TUint32 KDHCPSecureId = 270522821;
+	const TUint32 KDNSSecureId  = 268437634;
+#endif //SYMBIAN_NETWORKING_UMTSR5
+
+CEmptySubConnectionProvider::~CEmptySubConnectionProvider()
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("~CEmptySubConnectionProvider [this=%08x]"), this));
+	if (iConnectionProvider)
+		{
+		iConnectionProvider->Leave(*this);
+		}
+	}
+
+void CEmptySubConnectionProvider::DoControlClientJoiningL(MSubConnectionControlClient& aControlClient)
+	{
+	(void)aControlClient;
+	__IPCPRLOG(IpCprLog::Printf(_L("CEmptySubConnectionProvider [this=%08x]:\tDoControlClientJoiningL() [iControlClients.Count=%d] [aControlClient=%08x]"), this, iControlClients.Count(), &aControlClient));
+	}
+	
+void CEmptySubConnectionProvider::DoControlClientLeaving(MSubConnectionControlClient& aControlClient)
+	{
+	(void)aControlClient;
+	__IPCPRLOG(IpCprLog::Printf(_L("CEmptySubConnectionProvider [this=%08x]:\tDoControlClientLeaving() [iControlClients.Count=%d] [aControlClient=%08x]"), this, iControlClients.Count(), &aControlClient));
+	}
+
+void CEmptySubConnectionProvider::EnumerateClientsL(TUint& aCount, TDes8& aDes, CConnectionProviderBase::TEnumClients aClientType)
+	{
+	STypeId tid = STypeId::CreateSTypeId(KConnectionClientExtUid,EConnectionClientDesc);
+	TInt max = iControlClients.Count();
+	for ( TInt n = 0; n < max; n++ )
+		{
+		MConnectionClientDesc* intf = reinterpret_cast<MConnectionClientDesc*>(iControlClients[n]->FetchInterfaceInstanceL(*this,tid));
+		if ( intf )
+			{
+			TConnectionProcessInfo cinfo;
+			cinfo.GetInfoL(aClientType,aCount, *intf, aDes);
+			}
+		}
+	STypeId tid2 = STypeId::CreateSTypeId(KConnectionClientExtUid,EConnectionEnumerateClients);
+	max = iDataClients.Count();
+	for ( TInt n = 0; n < max; n++ )
+		{
+		MConnectionEnumerateClients* intf = reinterpret_cast<MConnectionEnumerateClients*>(iDataClients[n]->FetchInterfaceInstanceL(*this,tid2));
+		if ( intf )
+			{
+			intf->EnumerateClientsL(aCount,aDes,aClientType);
+			}
+		}
+	}
+
+void CEmptySubConnectionProvider::ConnectionError(TInt /*aStage*/, TInt aError)
+	{//it's comming from connection at the same level so forward it sideways
+	//with an origin EConnection
+	TInt max = iDataClients.Count();
+	for ( TInt n = max - 1; n >= 0; n-- )
+		{
+		iDataClients[n]->SubConnectionError(*this, MSubConnectionDataClient::EConnection, aError);
+		}
+	}
+
+MConnectionDataClient* CEmptySubConnectionProvider::DoSelfConnectionDataClient()
+	{
+	return this;
+	}
+
+
+// Methods to be overriden be derived subconnection provider
+void CDefaultSubConnectionProvider::DoControlClientJoiningL(MSubConnectionControlClient& aControlClient)
+	{
+	(void)aControlClient;
+   __IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider::DoControlClientJoiningL [this=%08x]"), this));
+   if (NULL != NextLayer())
+      {
+      __IPCPRLOG(IpCprLog::Printf(_L("Lower subconnection provider for IP exists - joined with provider")));
+      }
+   else
+      {
+      __IPCPRLOG(IpCprLog::Printf(_L("Lower subconnection provider for IP doesn't exists - not joined")));
+      }
+	
+	}
+	
+void CDefaultSubConnectionProvider::DoDataClientJoiningL(MSubConnectionDataClient& aDataClient)
+	{
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+	// This piece of code is being added as per the requirements of PREQ 635 of dedicated PDP signalling 
+	// context. When Primary PDP Context is created Network will return back the code saying whether it 
+	// accepts the request to be dedicated signalling context or not. If Network decided to allow for dedicated
+	// signalling context then UmtsGprs SCPR add the information into the iParameterBundle of the UmtsGprsScpr 
+	
+	// However, if the User doesnt do RSubConnection::SetParamter(EAttachDefault), which actually the user shouldn't do
+	// then we have to Get the parameter from the Next Layer, which again might or might not be UmtsGprs SubConnection Provider.
+	// Nevertheless if we call SetParameter() on iNextLayer then SetParameters across all the Layers below will get called, and 
+	// since I knew that if any of the layer below is UmtsGprsSCpr, it will update the IMCN Signalling flag in the 
+	// parameter Bundle which I will pass with the SetParameter()
+	
+	// We Initialize this variable everytime so that it can it can point to proper next layer 
+	// everytime. Just a safety measure because it will anyway be initialised by the code written 
+	// below
+	iSubConNextLayer = NULL;
+	if (NULL == iNextLayer)
+		{
+		// Find the Next Layer , otherwise iSubConNextLayer will be NULL by default.
+		CConnectionProviderBase* lowerConnectionProvider = iConnectionProvider->NextLayer();
+   		if (lowerConnectionProvider)
+       		{
+			TUint nextLayerFactoryId = lowerConnectionProvider->CanDoSubConnection(RSubConnection::EAttachToDefault);
+			if (nextLayerFactoryId != 0)
+	   			{	
+           		TSockManData* sockManData = SockManGlobals::Get();
+           		CSubConnectionFactoryContainer* subConnectionFactories = sockManData->iSubConnectionFactories;
+   	            XSubConnectionFactoryQuery query(lowerConnectionProvider, RSubConnection::EAttachToDefault);
+       		    iSubConNextLayer = subConnectionFactories->FindOrCreateProviderL(nextLayerFactoryId, query);
+	   			}	
+			        	
+       		}
+   		}
+	else
+		{
+		// We have a NextLayer, Point iSubConNextLayer to the same
+		iSubConNextLayer = iNextLayer;
+		}
+
+	// Get The parameter Bundle for this SubConnectionProvider Instance. if Not available create one
+	// and Get the parameters from the Next Lyer
+	CSubConParameterBundle *tempBundle = NULL;
+	if (iSubConNextLayer != NULL)
+		{
+		tempBundle = iParameterBundle != NULL? iParameterBundle :CSubConParameterBundle::NewL();
+		TRAP_IGNORE(iSubConNextLayer->SetParametersL(*tempBundle));
+		}
+	
+	// Get the family if Available
+	CSubConParameterFamily *imcnFamily = tempBundle != NULL ? tempBundle->FindFamily(KSubConnContextDescrParamsFamily) : NULL;
+	if (imcnFamily)
+		{
+		// Find the family, Look for the IMCN value, using CSubConImsExtParamSet defined in Qos3gpp
+		CSubConImsExtParamSet *imcnSigParams = static_cast<CSubConImsExtParamSet*>
+		(imcnFamily->FindExtensionSet(STypeId::CreateSTypeId(KSubConIPParamsUid,KSubConImsExtParamsType), 
+		CSubConParameterFamily::EGranted));
+		// If Family contains IMCN Signalling Parameters
+		if (imcnSigParams&& imcnSigParams->GetImsSignallingIndicator())	
+			{
+    		// Check and Delete
+			if (tempBundle != iParameterBundle)
+				{
+				tempBundle->Close();
+				tempBundle=NULL;
+				}
+			// Fetch the interface from the connection provider
+			STypeId typeID = STypeId::CreateSTypeId(KConnectionAppInfoInterfaceId,0); // IP Conenction provider factory Uid
+			TAny* intf = iConnectionProvider->FetchInterfaceInstanceL(typeID);
+			if (!intf)
+				{
+				// We are not able to get the AppSId so leaving
+				User::Leave(KErrNotSupported);
+				}
+			MConnectionAppIdInfo  *appIdIP = static_cast<MConnectionAppIdInfo*>(intf);
+			TUint32 appSecureId = appIdIP->GetAppSecureId();
+			
+			// if socket is being opened by any application other than SIP, DHCP, and DNS we need to
+			// restrict the socket from being Created.
+		
+			
+			if ( ( appSecureId==KSIPSecureId || iAppId == KSIPSecureId)  || 
+			     (appSecureId==KDHCPSecureId || iAppId == KDHCPSecureId)  || 
+			     (appSecureId==KDNSSecureId || iAppId == KDNSSecureId) )
+				{
+				aDataClient.JoinComplete(*this);
+				}
+		    else
+	            {
+	            User::Leave(KErrPermissionDenied);
+	            }	     
+			} // if (imcnSigParams&& imcnSigParams->GetImsSignallingIndicator())	
+		else
+		    {
+		    if (iConnectionProvider->IsLayerUp())
+		        {
+		         aDataClient.JoinComplete(*this);
+		        }
+
+	     	}
+		} // if (imcnFamily)
+		// Check and Delete
+		if (tempBundle != iParameterBundle && tempBundle!=NULL)
+		   {
+		    tempBundle->Close();
+	       }
+#else 
+			
+		if (iConnectionProvider->IsLayerUp())
+		  {
+		   aDataClient.JoinComplete(*this);
+		  }
+#endif 	// #ifdef SYMBIAN_NETWORKING_UMTSR5
+
+	}
+
+void CDefaultSubConnectionProvider::DoDataClientLeaving(MSubConnectionDataClient& aDataClient)
+	{
+	aDataClient.LeaveComplete(*this);
+	}
+	
+void CDefaultSubConnectionProvider::DoSourceAddressUpdate(MSubConnectionDataClient& /*aDataClient*/, const TSockAddr& /*aSource*/)
+	{
+	}
+	
+void CDefaultSubConnectionProvider::DoDestinationAddressUpdate(MSubConnectionDataClient& /*aDataClient*/, const TSockAddr& /*aDestination*/)
+	{
+	}
+	
+void CDefaultSubConnectionProvider::DoDataClientRouted(MSubConnectionDataClient& /*aDataClient*/, const TSockAddr& /*aSource*/, const TSockAddr& /*aDestination*/, const TDesC8& /*aConnectionInfo*/)
+	{
+	}
+	
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+void CDefaultSubConnectionProvider::DoParametersAboutToBeSetL(CSubConParameterBundle& aParameterBundle)
+	{
+   __IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider::DoParametersAboutToBeSetL [this=%08x]"), this));
+   if (NULL != NextLayer())
+      {
+      __IPCPRLOG(IpCprLog::Printf(_L("Lower subconnection provider for IP exists - forwarding the request")));
+      iNextLayer->SetParametersL(aParameterBundle);
+      }
+   else
+      {
+      __IPCPRLOG(IpCprLog::Printf(_L("Lower subconnection provider for IP doesn't exists - the request not supported")));
+      User::Leave(KErrNotSupported);        
+      }
+   }
+
+#else
+void CDefaultSubConnectionProvider::DoParametersAboutToBeSetL(CSubConParameterBundle& /*)aParameterBundle*/)
+	{//this could potentially fetch a current parameters from GuQoS and return them back as granted ones	
+	User::Leave(KErrNotSupported);
+	}
+#endif
+	
+#ifdef SYMBIAN_NETWORKING_UMTSR5	
+TInt CDefaultSubConnectionProvider::DoControl(TUint aOptionLevel, TUint /*aOptionName*/, TDes8& /*aOption*/)
+#else
+TInt CDefaultSubConnectionProvider::DoControl(TUint /*aOptionLevel*/, TUint /*aOptionName*/, TDes8& /*aOption*/)
+#endif //#ifdef SYMBIAN_NETWORKING_UMTSR5
+	{
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+//This control is used to send application secure ID of Active Connection. This Id 
+//will be used to for adding socket as data client to the subconnection.
+	iAppId=aOptionLevel;
+	return KErrNone;
+#else
+	return KErrNotSupported;
+#endif //#ifdef SYMBIAN_NETWORKING_UMTSR5
+	}
+	
+void CDefaultSubConnectionProvider::DoStartL()
+	{
+   __IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider::DoStartL [this=%08x]"), this));
+	}
+	
+void CDefaultSubConnectionProvider::DoStop()
+	{
+   __IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider::DoStop [this=%08x]"), this));
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+   if (iNextLayer)
+      {
+      __IPCPRLOG(IpCprLog::Printf(_L("Leaving Lower subconnection provider")));
+      iNextLayer->Leave(*this);
+      iNextLayer = NULL;
+      }
+#endif
+	}
+	
+CSubConnectionProviderBase* CDefaultSubConnectionProvider::DoNextLayer()
+	{
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+   __IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider [this=%08x]:\tDoNextLayer()"), this));
+   if (NULL == iNextLayer)
+      {
+      CConnectionProviderBase* lowerConnectionProvider = iConnectionProvider->NextLayer();
+      if (!lowerConnectionProvider)
+         {
+         //This could denote the connection isn't started and perhaps should be from here,
+         // but since the selection isn't separated from startup, we don't have enough
+         // information to do it here.
+         __IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider [this=%08x]:\tDoNextLayer() Connection Provider is missing its NextLayer"), this));
+         return NULL;   // No Lower layer,so leaving rhostresolver without connection.
+         }
+		                                 
+		TUint nextLayerFactoryId = lowerConnectionProvider->CanDoSubConnection(RSubConnection::EAttachToDefault);
+      TRAP_IGNORE(
+      
+   		if (nextLayerFactoryId != 0)
+   		   {
+            //'This' not started yet. The lower layer unknown
+            //This is as much as we can delay with resolving the subconnection stack
+            TSockManData* sockManData = SockManGlobals::Get();
+            CSubConnectionFactoryContainer* subConnectionFactories = sockManData->iSubConnectionFactories;
+      
+            XSubConnectionFactoryQuery query(lowerConnectionProvider, RSubConnection::EAttachToDefault);
+               iNextLayer = subConnectionFactories->FindOrCreateProviderL(nextLayerFactoryId, query);
+   		   }
+   		
+         if (iNextLayer)
+            {
+            __IPCPRLOG(IpCprLog::Printf(_L("Lower subconnection provider for IP found.. Joining")));
+            iNextLayer->JoinL(*this);
+            }
+         else
+            {
+            __IPCPRLOG(IpCprLog::Printf(_L("Lower subconnection provider for IP not found.. Continuing")));
+            }
+         );
+         
+      }
+      
+   return iNextLayer;
+
+#else
+   __IPCPRLOG(IpCprLog::Printf(_L("Lower subconnection provider for IP not supported")));
+	return NULL;
+#endif
+//SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+	}
+	
+CConnDataTransfer& CDefaultSubConnectionProvider::DoDataTransferL()
+	{
+	User::Leave(KErrNotSupported);
+	//unreachable code
+	return iNextLayer->DataTransferL();
+ 	}
+	
+//MConnectionDataClient
+TAny* CDefaultSubConnectionProvider::FetchInterfaceInstanceL(CConnectionProviderBase& /*aProvider*/, const STypeId& aTid)
+	{
+	return (aTid == STypeId::CreateSTypeId(KConnectionClientExtUid,EConnectionEnumerateClients)) ? static_cast<MConnectionEnumerateClients*>(this) : NULL;
+	}
+	
+void CDefaultSubConnectionProvider::ConnectionGoingDown(CConnectionProviderBase& /*aConnProvider*/)
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider [this=%08x]:\tConnectionGoingDown()"), this));
+	iConnectionProvider = NULL;
+	DeleteMeNow();
+	}
+	
+void CDefaultSubConnectionProvider::Notify(MConnectionDataClient::TNotify aNotifyType, CConnectionProviderBase* /*aConnProvider*/, TInt aError, const CConNotificationEvent* /*aConNotificationEvent*/)
+	{
+	int count = iControlClients.Count();	
+	for (int i = count - 1; i >= 0; --i)
+		{		
+		iControlClients[i]->SubConnectionEvent(*this, aNotifyType, aError, NULL);
+		}
+	if (aNotifyType == ENotifyLayerUp)
+		{//complete outstanding data client joins
+		TInt max = iDataClients.Count();
+		for ( TInt n = max - 1; n >= 0; n-- )
+			{
+			if (aError == KErrNone)
+				{
+				iDataClients[n]->JoinComplete(*this);
+				}
+			else
+				{
+				iDataClients[n]->JoinFailed(*this,aError);
+				}
+			}
+		}
+	}
+	
+void CDefaultSubConnectionProvider::AttachToNext(CSubConnectionProviderBase* /*aSubConnProvider*/)
+	{
+	}
+
+CDefaultSubConnectionProvider::~CDefaultSubConnectionProvider ()
+   {
+	__IPCPRLOG(IpCprLog::Printf(_L("~CDefaultSubConnectionProvider [this=%08x]"), this));
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+   if (iNextLayer) 
+      {
+      iNextLayer->Leave (*this);
+      }
+#endif	
+   }
+	
+	
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+void CDefaultSubConnectionProvider::DoControlClientLeaving(MSubConnectionControlClient& aControlClient)
+   {
+   (void)aControlClient;
+	__IPCPRLOG(IpCprLog::Printf(_L("CDefaultSubConnectionProvider [this=%08x]:\tDoControlClientLeaving() [iControlClients.Count=%d] [aControlClient=%08x]"), this, iControlClients.Count(), &aControlClient));
+
+    // Note: control client count == 1 because the the client has not been removed yet
+    if (iNextLayer && iControlClients.Count() == 1 && iDataClients.Count() == 0) 
+      {
+      iNextLayer->Leave (*this);
+      iNextLayer = NULL;
+      }
+   }
+
+void CDefaultSubConnectionProvider::SubConnectionEvent(CSubConnectionProviderBase& /*aSubConnProvider*/, MConnectionDataClient::TNotify /*aNotifyType*/, TInt /*aError*/, const CSubConNotificationEvent* aEvent)
+    {
+    NotifyClientEvent(*aEvent);
+    }	
+    
+    
+void CDefaultSubConnectionProvider::SubConnectionGoingDown(CSubConnectionProviderBase& /*aSubConnProvider*/)
+    {
+	TInt max = iControlClients.Count();
+	for ( TInt n = max - 1; n >= 0; n-- )
+		{
+		iControlClients[n]->SubConnectionGoingDown(*this);
+		}
+    }
+    
+    
+void CDefaultSubConnectionProvider::LayerUp(CSubConnectionProviderBase& /*aSubConnProvider*/, TInt /*aError*/)
+   {
+   }
+   
+void CDefaultSubConnectionProvider::IncomingConnection(CSubConnectionProviderBase* /*aSubConnProvider*/, CSubConParameterBundle* /*aParameterBundle*/, TInt /*aError*/)
+   {
+   }
+    
+#endif
+// SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/ip_subconparams.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,74 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Implementation file for the IP SubConnection Parameters
+// 
+//
+
+/**
+ @file ip_subconparams.h
+*/
+
+
+#include <e32std.h>
+#include <e32test.h>
+#include <ecom/ecom.h>
+#include <implementationproxy.h>
+#include <ip_subconparams.h>
+#include <comms-infras/metatypearray.h>
+
+#ifndef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+// need to ensure the original class name and TUid of the factory class
+// is used for implementions in this component
+#undef KSubConIPParamsUid
+#undef KSubConQosIPLinkR99ParamsType
+#undef CSubConQosIPLinkR99ParamSet
+#endif
+
+START_ATTRIBUTE_TABLE( CSubConQosIPLinkR99ParamSet, KSubConIPParamsUid, KSubConQosIPLinkR99ParamsType )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iTrafficClass, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iDeliveryOrder, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iDeliveryOfErroneusSdu, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iResidualBer, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iErrorRatio, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iPriority, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iTransferDelay, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iMaxSduSize, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iMaxBitrateUplink, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iMaxBitrateDownlink, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iGuaBitrateUplink, TMetaNumber )
+	REGISTER_ATTRIBUTE( CSubConQosIPLinkR99ParamSet, iGuaBitrateDownlink, TMetaNumber )
+END_ATTRIBUTE_TABLE()
+
+START_ATTRIBUTE_TABLE( CSubConSBLPR5ExtensionParamSet, KSubConIPParamsUid, KSubConnSBLPR5ExtensionParamsType )
+	REGISTER_ATTRIBUTE( CSubConSBLPR5ExtensionParamSet, iAuthToken, TMeta<TAuthToken>)
+	REGISTER_ATTRIBUTE( CSubConSBLPR5ExtensionParamSet, iFlowIds, TMetaArray<RFlowIdentifiers>)
+END_ATTRIBUTE_TABLE()
+
+CSubConExtensionParameterSet* CSubConIPExtensionParamsFactory::NewL(TAny* aConstructionParameters)
+	{
+	TInt32 type = reinterpret_cast<TInt32>(aConstructionParameters);
+	switch (type)
+		{
+	case (KSubConQosIPLinkR99ParamsType):
+		return new (ELeave) CSubConQosIPLinkR99ParamSet;
+		// break;
+	case (KSubConnSBLPR5ExtensionParamsType):
+		return new (ELeave) CSubConSBLPR5ExtensionParamSet;
+		// break;
+	default:
+		User::Leave(KErrNotFound);
+		}
+	return NULL;
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/ipscpr.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,2006 @@
+// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Implementation file for the IP SubConnection Provider and its basic version.
+// 
+//
+
+/**
+ @file ipscpr.cpp
+*/
+
+#include <e32std.h>
+#include <e32test.h>
+#include <ecom/ecom.h>
+#include <implementationproxy.h>
+#include <es_prot.h>
+#include <cs_subconevents.h>
+#include <cs_subconparams.h>
+#include "ipscpr.h"
+#include "ipscprlog.h"
+#include "sblpextn.h"
+#include <ip_subconparams.h>
+
+#ifndef BASIC_IPSCPR
+#include "pfqos_stream.h"
+#include "ipscprlog.h"
+#include <ip_subconparams.h>
+#include "qos_msg.h"
+#include "pfqoslib.h"
+#include <networking/qoserr.h>
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5  
+#include <networking/imsextn.h>
+#include <networking/sblpextn.h>
+#include <networking/umtsextn.h>
+#else
+#include <networking/umtsapi.h>
+#include <networking/sblpapi.h>
+#endif 
+// SYMBIAN_NETWORKING_UMTSR5 
+
+#endif
+
+#ifndef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+// need to ensure the original TUid of the factory class is used for implementions in this component
+#undef KSubConIPParamsUid
+#endif
+
+
+/**
+Data required for instantiating ECOM Plugin
+*/
+const TImplementationProxy ImplementationTable[] =
+	{
+	IMPLEMENTATION_PROXY_ENTRY(KSubConnectionProviderImplementationUid, CIpSubConnectionProviderFactory::NewL),
+	IMPLEMENTATION_PROXY_ENTRY(KSubConIPParamsUid, CSubConIPExtensionParamsFactory::NewL)
+	};
+
+
+/**
+ECOM Implementation Factory
+*/
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+    {
+    aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+
+    return ImplementationTable;
+    }
+
+
+/**
+Plugin Implementation
+*/
+
+
+CIpSubConnectionProviderFactory* CIpSubConnectionProviderFactory::NewL(TAny* aConstructionParameters)
+/**
+Constructs a IP Connection Provider Factory
+
+@param aConstructionParameters construction data passed by ECOM
+
+@return pointer to a constructed factory
+*/
+	{
+	CIpSubConnectionProviderFactory* ptr = new (ELeave) CIpSubConnectionProviderFactory(KIPConnectionProviderFactoryId, *(reinterpret_cast<CSubConnectionFactoryContainer*>(aConstructionParameters)));
+	return ptr;
+	}
+
+
+CIpSubConnectionProviderFactory::CIpSubConnectionProviderFactory(TUint aFactoryId, CSubConnectionFactoryContainer& aParentContainer)
+	: CSubConnectionProviderFactoryBase(aFactoryId, aParentContainer)
+/**
+IP SubConnection Provider Factory Constructor
+
+@param aFactoryId ECOM Implementation Id
+@param aParentContainer Object Owner
+*/
+	{
+	}
+
+
+CIpSubConnectionProviderFactory::~CIpSubConnectionProviderFactory()
+/**
+IP SubConnection Provider Factory Destructor
+*/
+	{
+	}
+
+
+CSubConnectionProviderBase* CIpSubConnectionProviderFactory::DoCreateProviderL(CConnectionProviderBase& aConnProvider, RSubConnection::TSubConnType aType)
+/**
+Factory Function that either creates a new SubConnection Provider or attaches
+to the default Provider.  The type of creation can be either RSubConnection::ECreateNew
+or RSubConnection::EAttachToDefault.
+
+Use of other types will cause the factory to leave with KErrNotSupported.
+
+@param aConnProvider Associated Connection Provider
+@param aType Type of SubConnection Provider Creation.
+*/
+	{
+	CSubConnectionProviderBase* p = NULL;
+	switch (aType)
+		{
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+		case RSubConnection::EAttachToDefault:
+			p = new(ELeave)CDefaultSubConnectionProvider(*this, aConnProvider, aType);
+			break;
+#ifdef BASIC_IPSCPR
+		case RSubConnection::ECreateNew:
+            // The Basic IPSCPR, itself, by definition, doesn't support secondary contexts.
+            // Ideally it should defer to the transport layer provider as for primary contexts...
+            //        
+			User::Leave(KErrNotSupported);
+			break;
+#else
+		case RSubConnection::ECreateNew:
+			p = CIpSubConnectionProvider::NewL(*this, aConnProvider);
+			break;
+#endif // BASIC_IPSCPR
+#else
+		case RSubConnection::ECreateNew:
+			p = CIpSubConnectionProvider::NewL(*this, aConnProvider);
+			break;
+		case RSubConnection::EAttachToDefault:
+			p = new(ELeave)CDefaultSubConnectionProvider(*this, aConnProvider);
+			break;
+#endif // SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+		default:
+			{
+			User::Leave(KErrNotSupported);
+			}
+		};
+	return p;
+	}
+
+
+#ifndef BASIC_IPSCPR
+
+/**
+Provider Implementation
+*/
+
+
+CIpSubConnectionProvider* CIpSubConnectionProvider::NewL(CIpSubConnectionProviderFactory& aFactory, CConnectionProviderBase& aConnProvider)
+/**
+Construct a new IP SubConnection Provider Object
+
+@param aFactory factory that create this object
+@param aConnProvider Connection Provider associated with this object
+*/
+	{
+	CIpSubConnectionProvider* ptr = new (ELeave) CIpSubConnectionProvider(aFactory, aConnProvider);
+
+    CleanupStack::PushL(ptr);
+    ptr->ConstructL();
+    CleanupStack::Pop();
+
+	return ptr;
+	}
+
+
+CIpSubConnectionProvider::CIpSubConnectionProvider(CIpSubConnectionProviderFactory& aFactory, CConnectionProviderBase& aConnProvider)
+	: CEmptySubConnectionProvider(aFactory, aConnProvider)
+	, iChannelId(-1)
+	, iPrtExtensions(_FOFF(CExtensionBase,iLink))
+	, iParametersSet(EFalse)
+/**
+IP SubConnection Provider Constructor
+
+@param aFactory factory that create this object
+@param aConnProvider Connection Provider associated with this object
+*/
+	{
+		__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider [this=%08x]:\tCIpSubConnectionProvider() [MConnectionDataClient=%08x]"),
+		   this, (MConnectionDataClient*)this));
+	}
+
+
+CIpSubConnectionProvider::~CIpSubConnectionProvider()
+/**
+IP SubConnection Provider Destructor
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::Destruct [%08x]"), this));
+
+	if( iChannelId >= 0 ) // Only send a Close if have opened a channel
+		{
+		TRAPD(ret,SendCloseL());
+		if( ret != KErrNone )
+			{
+			__IPCPRLOG(IpCprLog::Printf(_L("SendCloseL left with error: %d"), ret));
+			}
+		}
+
+	if( iWriter )
+		{
+		iWriter->Cancel();
+		delete iWriter;
+		iWriter = NULL;
+		}
+
+	if( iReader )
+		{
+		iReader->Cancel();
+		delete iReader;
+		iReader = NULL;
+		}
+
+	delete iPrtParameters;
+	delete iAsyncWriter;
+	ResetPrtExtensions();
+
+	iSocket.Close();
+	}
+
+
+void CIpSubConnectionProvider::ConstructL()
+/**
+IP SubConnection Provider Second Phase Constructor
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::Construct [%08x]"), this));
+
+	// Open a connection to the QoS PRT
+    _LIT(KDescPfqos, "pfqos");
+
+#ifdef SYMBIAN_NETWORKING_3GPPDEFAULTQOS
+    // If we couldn't open pipe to QoS framework then it is not supported
+    TInt ret = iSocket.Open(KDescPfqos);
+    if(ret == KErrNotFound)
+    {
+    	User::Leave(KErrNotSupported);
+    }
+    else if (ret != KErrNone)
+    {
+    	User::Leave(ret);
+    }
+#else
+    User::LeaveIfError(iSocket.Open(KDescPfqos));
+#endif
+    iUid = RProcess().Type();
+
+	iReader = CQoSMsgReader::NewL(this,	 iSocket);
+	iWriter = CQoSMsgWriter::NewL(this, iSocket);
+	iAsyncWriter = CAsyncWriter::NewL(iWriter);
+
+	/** Create the CQoSParameters to hold the Qos
+	* and Extension Parameters. The values will initially
+	be set to default
+	*/
+	iPrtParameters = new (ELeave) CQoSParameters;
+	// Set Default Uplink Parameters
+	iPrtParameters->SetUpLinkMaximumBurstSize(3000);  // for TokenBucketSizeUplink
+	iPrtParameters->SetUpLinkMaximumPacketSize(1500);	// for MaxPacketSizeUplink
+	iPrtParameters->SetUplinkBandwidth(1500);	// for TokenRateUplink
+	iPrtParameters->SetUpLinkAveragePacketSize(1500); // for MinimumPolicedUnitUplink
+	iPrtParameters->SetUpLinkPriority(KQoSLowestPriority); // for PriorityUplink
+	iPrtParameters->SetUpLinkDelay(0); // for DelayUplink
+	// Set Default Downlink parameters
+	iPrtParameters->SetDownLinkMaximumBurstSize(3000); // for TokenBucketSizeDownlink
+	iPrtParameters->SetDownLinkMaximumPacketSize(1500); // for MaxPacketSizeDownlink
+	iPrtParameters->SetDownlinkBandwidth(1500); // for TokenRateDownlink
+	iPrtParameters->SetDownLinkAveragePacketSize(1500); // for MinimumPolicedUnitDownlink
+	iPrtParameters->SetDownLinkPriority(KQoSLowestPriority); // for PriorityDownlonk
+	iPrtParameters->SetDownLinkDelay(0); // for DelayDownlink
+
+	iPrtParameters->SetAdaptMode(EFalse);
+//	iPrtParameters->SetHeaderMode(???);
+//	User::LeaveIfError(iPrtParameters->SetName(name));
+	}
+
+
+TAny* CIpSubConnectionProvider::FetchInterfaceInstanceL(CSubConnectionProviderBase& /*aProvider*/, const STypeId& aTid)
+	{
+	return (aTid == STypeId::CreateSTypeId(KConnectionClientExtUid,EConnectionEnumerateClients)) ? static_cast<MConnectionEnumerateClients*>(this) : NULL;
+	}
+
+void CIpSubConnectionProvider::DoDataClientJoiningL(MSubConnectionDataClient& aDataClient)
+/**
+Function called by Connection Provider when a socket is to be added to a QoS Flow
+
+@param aDataClient Data Client to add to the QoS Channel
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider [this=%08x]:\tDoDataClientJoiningL() [iDataClients.Count=%d] [aDataClient=%08x]"), this, iDataClients.Count(), &aDataClient));
+
+	// Can only join to a channel once it has been successfully routed
+	// Can only open/create/join the channel once the connection has been established
+	const TSockAddr* srcAddr = NULL;
+	const TSockAddr* dstAddr = NULL;
+	const TDesC8* connInfo;
+	if(aDataClient.ReadAddressInformation(srcAddr, dstAddr, connInfo) == KErrNone)
+		{
+		if( srcAddr == NULL || srcAddr->Family() == KAFUnspec )
+			{
+			__IPCPRLOG(IpCprLog::Printf(_L("Source Address not defined")));
+			User::Leave( KErrNotReady );
+			}
+
+		if( dstAddr == NULL || dstAddr->Family() == KAFUnspec )
+			{
+			__IPCPRLOG(IpCprLog::Printf(_L("Destination Address not defined")));
+			User::Leave( KErrNotReady );
+			}
+
+		if( connInfo == NULL )
+			{
+			__IPCPRLOG(IpCprLog::Printf(_L("Connection Information not defined")));
+			User::Leave( KErrNotReady );
+			}
+
+		TConnectionInfoBuf* connInfoBuf = (TConnectionInfoBuf*)connInfo->Ptr();
+		TUint32 iapId = (*connInfoBuf)().iIapId;
+
+		if( iChannelId >= 0 )
+			{
+			SendJoinL((TInetAddr)*srcAddr, (TInetAddr)*dstAddr, iapId, aDataClient.ProtocolId());
+			}
+		else
+			{
+			SendCreateL((TInetAddr)*srcAddr, (TInetAddr)*dstAddr, iapId, aDataClient.ProtocolId());
+			}
+		}
+	}
+
+
+void CIpSubConnectionProvider::DoDataClientLeaving(MSubConnectionDataClient& aDataClient)
+/**
+Function called by Connection Provider when a socket is to be removed from a QoS Flow
+
+@param aDataClient Data Client to remove from the QoS Channel
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider [this=%08x]:\tDoDataClientLeaving() [iDataClients.Count=%d] [aDataClient=%08x]"), this, iDataClients.Count(), &aDataClient));
+
+	// Can only leave on a routed conection that has been successfully
+	// attached to a QoS Channel.  Otherwise we cannot leave
+	const TSockAddr* srcAddr = NULL;
+	const TSockAddr* dstAddr = NULL;
+	const TDesC8* connInfo;
+	TInt err = aDataClient.ReadAddressInformation(srcAddr, dstAddr, connInfo);
+	if( err != KErrNone )
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Unable to read Address Information")));
+		return;
+		}
+
+	if( srcAddr == NULL || srcAddr->Family() == KAFUnspec )
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Source Address not defined")));
+		return;
+		}
+
+	if( dstAddr == NULL || dstAddr->Family() == KAFUnspec )
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Destination Address not defined")));
+		return;
+		}
+
+	if( connInfo == NULL )
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Connection Information not defined")));
+		return;
+		}
+
+	TConnectionInfoBuf* connInfoBuf = (TConnectionInfoBuf*)connInfo->Ptr();
+	TUint32 iapId = (*connInfoBuf)().iIapId;
+
+	if( iChannelId >= 0 )
+		{
+		TRAPD(ret, SendLeaveL((TInetAddr)*srcAddr, (TInetAddr)*dstAddr, iapId, aDataClient.ProtocolId()));
+		if (ret != KErrNone)
+			{
+			__IPCPRLOG(IpCprLog::Printf(_L("SendLeaveL left with err=%d"), ret));
+			}
+		}
+	else
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Attempted to leave on an unconnected channel")));
+		}
+	}
+
+
+void CIpSubConnectionProvider::DoSourceAddressUpdate(MSubConnectionDataClient& /*aDataClient*/, const TSockAddr& /*aSource*/)
+/**
+Function called by Connection Provider when the source address on a data client is set
+
+@param aDataClient Data Client affected
+@param aSource Source Address
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::DoSourceAddressUpdate [%08x]"), this));
+	// Not Interested in either souce or destination updates; wait until connected
+	}
+
+
+void CIpSubConnectionProvider::DoDestinationAddressUpdate(MSubConnectionDataClient& /*aDataClient*/, const TSockAddr& /*aDestination*/)
+/**
+Function called by Connection Provider when the destination address on a data client is set
+
+@param aDataClient Data Client affected
+@param aDestination Destination Address
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::DoDestinationAddressUpdate [%08x]"), this));
+	// Not Interested in either souce or destination updates; wait until connected
+	}
+
+
+void CIpSubConnectionProvider::DoDataClientRouted(MSubConnectionDataClient& aDataClient, const TSockAddr& aSource, const TSockAddr& aDestination, const TDesC8& aConnectionInfo)
+/**
+Function called by Connection Provider when the connection has been established
+
+@param aDataClient Data Client affected
+@param aSource Source Address
+@param aDestination Destination Address
+@param aConnectionInfo Connection Data
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::DoDestinationAddressUpdate [%08x]"), this));
+
+	TConnectionInfoBuf* connInfo = (TConnectionInfoBuf*)aConnectionInfo.Ptr();
+	TUint32 iapId = (*connInfo)().iIapId;
+
+  	if( aSource.Family() != KAFUnspec && aDestination.Family() != KAFUnspec)
+		{
+		// If already have a open channel add this socket.  o/w create a new channel
+		if( iChannelId >= 0 )
+			{
+			TRAPD(ret,SendJoinL((TInetAddr)aSource, (TInetAddr)aDestination, iapId, aDataClient.ProtocolId()));
+			if( ret != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("SendJoinL left with error: %d"), ret));
+				}
+			}
+		else
+			{
+			TRAPD(ret,SendCreateL((TInetAddr)aSource, (TInetAddr)aDestination, iapId, aDataClient.ProtocolId()));
+			if( ret != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("SendCreateL left with error: %d"), ret));
+				}
+			}
+		}
+	else
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Data Client Routed contains invalid source or dest address")));
+		}
+	}
+
+
+void CIpSubConnectionProvider::DoParametersAboutToBeSetL(CSubConParameterBundle& aParameterBundle)
+/**
+Function called by the Connection Provider before the QoS Parameters are set by the client
+
+@param aParameterBundle Container holding pending QoS Parameters
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::DoParametersAboutToBeSetL [%08x]"), this));
+
+	iParameterRelease = KParameterRelInvalid;
+	ConvertParametersFromESockL( aParameterBundle );
+	iParametersSet = ETrue;
+
+  	if(iChannelId >= 0)
+		{
+		SendSetQoSL();
+		}
+	}
+
+
+TInt CIpSubConnectionProvider::DoControl(TUint /*aOptionLevel*/, TUint /*aOptionName*/, TDes8& /*aOption*/)
+/**
+@param aOptionLevel
+@param aOptionName
+@param aOption
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::DoControl [%08x]"), this));
+
+	return KErrNotSupported;
+	}
+
+
+void CIpSubConnectionProvider::DoStartL()
+	{
+	}
+
+void CIpSubConnectionProvider::DoStop()
+	{
+	}
+
+CSubConnectionProviderBase* CIpSubConnectionProvider::DoNextLayer()
+	{
+	return NULL;
+	}
+
+CConnDataTransfer& CIpSubConnectionProvider::DoDataTransferL()
+	{
+	User::Leave(KErrNotSupported);
+	//unreachable code
+	return iNextLayer->DataTransferL();
+//	return *((CConnDataTransfer*)this);
+	}
+
+//MConnectionDataClient
+void CIpSubConnectionProvider::ConnectionGoingDown(CConnectionProviderBase& /*aConnProvider*/)
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::ConnectionGoingDown [%08x]"), this));
+	iConnectionProvider = NULL;
+	DeleteMeNow();
+	}
+
+void CIpSubConnectionProvider::Notify(TNotify /*aNotifyType*/,  CConnectionProviderBase* /*aConnProvider*/, TInt /*aError*/, const CConNotificationEvent* /*aConNotificationEvent*/)
+	{
+	}
+
+void CIpSubConnectionProvider::AttachToNext(CSubConnectionProviderBase* /*aSubConnProvider*/)
+	{
+	}
+
+
+
+void CIpSubConnectionProvider::SendOpenExistingL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocolId)
+/**
+Sends a Message to QoS PRT to open a QoS Channel
+
+@param aSrcAddr Source Address
+@param aDstAddr Destination Address
+@param aIapId IAP Id
+@param aProtocolId Protocol Id
+*/
+    {
+	__IPCPRLOG(IpCprLog::Printf(_L("Sending PRT Msg: EPfqosOpenExistingChannel")));
+
+    CQoSMsg* msg = CQoSMsg::NewL(EPfqosOpenExistingChannel);
+    msg->AddConnInfo(aProtocolId, iUid, aIapId);
+    msg->AddSrcAddr(aSrcAddr);
+    msg->AddDstAddr(aDstAddr);
+    msg->AddChannel(0);
+
+    iWriter->Send(msg);
+    }
+
+
+void CIpSubConnectionProvider::SendCreateL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocolId)
+/**
+Sends a Message to QoS PRT to create a QoS Channel
+
+@param aSrcAddr Source Address
+@param aDstAddr Destination Address
+@param aIapId IAP Id
+@param aProtocolId Protocol Id
+*/
+    {
+	__IPCPRLOG(IpCprLog::Printf(_L("Sending PRT Msg: EPfqosCreateChannel")));
+
+    CQoSMsg* msg = CQoSMsg::NewL(EPfqosCreateChannel);
+    msg->AddConnInfo(aProtocolId, iUid, aIapId);
+    msg->AddSrcAddr(aSrcAddr);
+    msg->AddDstAddr(aDstAddr);
+    msg->AddChannel(0);
+
+    TQoSParameters qosParams;
+    ConvertCQoSIntoTQoSParamsL(qosParams);
+	msg->AddQoSParameters(qosParams);
+    msg->AddExtensionPolicy(iPrtExtensions);
+	//Now we need to write to the qos.prt asynchronously. This becuase the TCP/IP stack in CIp6Flow::Connect() calls Bearer() before RefreshFlow()
+    iAsyncWriter->Send(msg);
+    }
+
+
+void CIpSubConnectionProvider::SendCloseL()
+/**
+Sends a Message to QoS PRT to close a QoS Channel
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("Sending PRT Msg: EPfqosDeleteChannel")));
+
+    CQoSMsg* msg = CQoSMsg::NewL(EPfqosDeleteChannel);
+    msg->AddChannel(iChannelId);
+
+    iWriter->Send(msg);
+	}
+
+
+void CIpSubConnectionProvider::SendJoinL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocolId)
+/**
+Sends a Message to QoS PRT to add a socket to a QoS Channel
+
+@param aSrcAddr Source Address
+@param aDstAddr Destination Address
+@param aIapId IAP Id
+@param aProtocolId Protocol Id
+*/
+    {
+	__IPCPRLOG(IpCprLog::Printf(_L("Sending PRT Msg: EPfqosJoin")));
+
+    CQoSMsg* msg = CQoSMsg::NewL(EPfqosJoin);
+    msg->AddConnInfo(aProtocolId, iUid, aIapId);
+    msg->AddSrcAddr(aSrcAddr);
+    msg->AddDstAddr(aDstAddr);
+    msg->AddChannel(iChannelId);
+
+    iWriter->Send(msg);
+    }
+
+
+void CIpSubConnectionProvider::SendLeaveL(const TInetAddr &aSrcAddr, const TInetAddr &aDstAddr, TUint32 aIapId, TUint32 aProtocolId)
+/**
+Sends a Message to QoS PRT to remove a socket from a QoS Channel
+
+@param aSrcAddr Source Address
+@param aDstAddr Destination Address
+@param aIapId IAP Id
+@param aProtocolId Protocol Id
+*/
+    {
+	__IPCPRLOG(IpCprLog::Printf(_L("Sending PRT Msg: EPfqosLeave")));
+
+    CQoSMsg* msg = CQoSMsg::NewL(EPfqosLeave);
+    msg->AddConnInfo(aProtocolId, iUid, aIapId);
+    msg->AddSrcAddr(aSrcAddr);
+    msg->AddDstAddr(aDstAddr);
+    msg->AddChannel(iChannelId);
+
+    iWriter->Send(msg);
+    }
+
+
+
+void CIpSubConnectionProvider::SendSetQoSL()
+/**
+Sends Message to QoS PRT to update the parameters for a QoS Channel
+*/
+    {
+	__IPCPRLOG(IpCprLog::Printf(_L("Sending PRT Msg: EPfqosConfigChannel")));
+
+    CQoSMsg* msg = CQoSMsg::NewL(EPfqosConfigChannel);
+    msg->AddChannel(iChannelId);
+
+    TQoSParameters qosParams;
+    ConvertCQoSIntoTQoSParamsL(qosParams);
+    msg->AddQoSParameters(qosParams);
+    msg->AddExtensionPolicy(iPrtExtensions);
+
+    iWriter->Send(msg);
+    }
+
+
+void CIpSubConnectionProvider::ProcessPRTMsg(TPfqosMessage& aMsg)
+/**
+Process Messages sent from the PRT to the SubConnection Provider
+Messages are either replies or events
+
+@param aMsg the message from the PRT
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::ProcessPRTMsg [%08x]"), this));
+
+    if( aMsg.iBase.iMsg == NULL )
+    	{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received malformed message from PRT")));
+    	}
+    else
+    	{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Msg: %d"), aMsg.iBase.iMsg->pfqos_msg_type));
+	    switch(aMsg.iBase.iMsg->pfqos_msg_type)
+			{
+		case EPfqosEvent:
+			{
+			TRAPD(ret, ProcessPRTEventL(aMsg) );
+			if( ret != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("ProcessPRTEventL left with error: %d"), ret));
+				}
+			}
+			break;
+
+		case EPfqosUpdate:
+		case EPfqosDelete:
+		case EPfqosAdd:
+		case EPfqosGet:
+		case EPfqosReject:
+		case EPfqosDump:
+		case EPfqosConfigure:
+		case EPfqosJoin:
+		case EPfqosLeave:
+		case EPfqosCreateChannel:
+		case EPfqosOpenExistingChannel:
+		case EPfqosDeleteChannel:
+		case EPfqosConfigChannel:
+		case EPfqosLoadFile:
+		case EPfqosUnloadFile:
+			{
+			TRAPD(ret, ProcessPRTReplyL(aMsg) );
+			if( ret != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("ProcessPRTReplyL left with error: %d"), ret));
+				}
+			}
+		    break;
+
+		default:
+			__IPCPRLOG(IpCprLog::Printf(_L("Received Unknown PRT Msg: %d"), aMsg.iBase.iMsg->pfqos_msg_type));
+		    break;
+			}
+    	}
+	}
+
+
+void CIpSubConnectionProvider::ProcessPRTEventL(TPfqosMessage& aMsg)
+/**
+Process Events sent from the PRT to the SubConnection Provider
+
+@param aMsg the message from the PRT
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::ProcessPRTEventL [%08x]"), this));
+
+	// Only interested in Channel Events
+    if (aMsg.iEvent.iExt == NULL || aMsg.iFlowSpec.iExt == NULL || aMsg.iChannel.iExt == NULL)
+    	{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received malformed event message from PRT")));
+    	return;
+    	}
+
+	MSubConnectionDataClient* client = NULL;
+	TInt ret = DetermineClient(aMsg, client);
+	if( ret != KErrNone || client == NULL )
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Could not determine DataClient from message.  Error=%d"), ret));
+		}
+
+	switch (aMsg.iEvent.iExt->event_type)
+		{
+	case KPfqosEventFailure:
+		{
+/*		
+		EQoSOk,
+    EQoSPolicyExists = -5119,       //< -5119 Policy exists in database
+    EQoSNoModules,					//< -5118 No QoS modules available
+    EQoSInterface,			        //< -5117 Flows are using different interfaces
+	EQoSModules,					//< -5116 Flows use different QoS modules
+	EQoSModuleLoadFailed,			//< -5115 Loading of QoS module failed
+	EQoSMessageCorrupt,				//< -5114 Pfqos message corrupted
+	EQoSJoinFailure,				//< -5113 Join to QoS channel failed
+	EQoSLeaveFailure,				//< -5112 Leave from QoS channel failed
+	EQoSNoInterface,				//< -5111 Network interface deleted
+	EQoSChannelDeleted,				//< -5110 QoS channel deleted
+	EQoSDowngradeForced				//< -5109 QoS parameters downgraded by administrative policy
+*/
+		CSubConNotificationEvent* event = NULL;
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Event: KPfqosEventFailure.  Error=%d"),aMsg.iBase.iMsg->pfqos_msg_errno));
+
+#if defined(QOS_ERROR_REPORTING) //Awaiting code delivery for qos and guqos to support this functionality 		
+		switch(aMsg.iBase.iMsg->pfqos_msg_errno)
+			{
+				case EQoSJoinFailure:
+				
+					if( client )
+						{
+						__IPCPRLOG(IpCprLog::Printf(_L("Join failed Event")));
+						client->JoinFailed(*this,aMsg.iBase.iMsg->pfqos_msg_errno);
+						}
+					break;
+				
+				case EQoSLeaveFailure:
+					if( client )
+						{
+						__IPCPRLOG(IpCprLog::Printf(_L("Leave failed Event")));
+						//We don't particularly care that it failed - just pretend that it was successful
+						client->LeaveComplete(*this);
+						}
+					break;
+				case EQoSNoInterface:
+				case EQoSChannelDeleted:
+					{
+					CSubConGenEventSubConDown* scde = CSubConGenEventSubConDown::NewL();
+					scde->SetError(aMsg.iBase.iMsg->pfqos_msg_errno);
+					event = scde;
+					iChannelId = -1;	
+					break;
+					}
+				case EQoSDowngradeForced:
+					{
+					event = CSubConGenEventParamsChanged::NewL();
+					break;
+					}
+					
+				case EQoSChannelFailed:
+					if( client )
+						{
+						__IPCPRLOG(IpCprLog::Printf(_L("Join failed Event")));
+						client->JoinFailed(*this,aMsg.iBase.iMsg->pfqos_msg_errno);
+						}
+					// no break here we want to continue into the next case statement;
+				case EQoSParamsRejected:
+					{
+					CSubConGenEventParamsRejected* scde = CSubConGenEventParamsRejected::NewL();
+					scde->SetError(aMsg.iBase.iMsg->pfqos_msg_errno);
+					scde->SetFamilyId(KSubConQoSFamily);
+					event = scde;
+					break;	
+					}
+
+				default:
+					__IPCPRLOG(IpCprLog::Printf(_L("Unknown event sent ")));			
+			};
+#else
+			if( client )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("Join failed Event")));
+				client->JoinFailed(*this,aMsg.iBase.iMsg->pfqos_msg_errno);
+				CSubConGenEventParamsRejected* scde = CSubConGenEventParamsRejected::NewL();
+				/**
+				There can be two set of parameters that are sent to QOS either as KSubConQoSFamily
+				or as KSubConAuthorisationFamily. Here we should differentiate, the QOS is rejected 
+				because of which parameter family. 
+				At present there is no indication comes from the lower layer why the QOS has failed, and in 
+				all the case the member *aMsg.iBase.iMsg->pfqos_msg_type* will return *EPfQoSReject*.
+				
+				At the time of writing this code any differentiation method was not available to differentiate
+				between events. i.e whether the event is SBLP or UMTS events. So this has not been done.
+				This needs to be done when the TPfqosMessage will have the differentiation
+				*/
+				scde->SetError(aMsg.iBase.iMsg->pfqos_msg_errno);
+				scde->SetFamilyId(KSubConQoSFamily);
+				event = scde;
+				}			
+#endif
+		
+		// Setting QoS Parameters Failed
+		/**
+		There can be two set of parameters that are sent to QOS either as KSubConQoSFamily
+		or as KSubConAuthorisationFamily. Here we should differentiate, the QOS is rejected
+		because of which parameter family.
+		At present there is no indication comes from the lower layer why the QOS has failed, and in
+		all the case the member *aMsg.iBase.iMsg->pfqos_msg_type* will return *EPfQoSReject*.
+
+		At the time of writing this code any differentiation method was not available to differentiate
+		between events. i.e whether the event is SBLP or UMTS events. So this has not been done.
+		This needs to be done when the TPfqosMessage will have the differentiation
+		*/
+		if (event)
+			{
+				
+			NotifyClientEvent(*event);
+			delete event;
+			}
+		}
+	    break;
+
+	case KPfqosEventConfirm:
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Event: KPfqosEventConfirm")));
+
+		// Setting QoS Parameters OK
+		CSubConGenEventParamsGranted* event = CSubConGenEventParamsGranted::NewL();
+		ConvertParametersFromQOSL(aMsg, event);
+
+		NotifyClientEvent(*event);
+		delete event;
+
+		if( client != NULL )
+			{
+			client->JoinComplete(*this);
+			}
+		}
+	    break;
+
+	case KPfqosEventAdapt:
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Event: KPfqosEventAdapt")));
+
+		// Available QoS Changed
+		CSubConGenEventParamsChanged* event = CSubConGenEventParamsChanged::NewL();
+		event->SetError(aMsg.iBase.iMsg->pfqos_msg_errno);
+		ConvertParametersFromQOSL(aMsg, event);
+
+		NotifyClientEvent(*event);
+		delete event;
+		}
+	    break;
+
+	case KPfqosEventJoin:
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Event: KPfqosEventJoin")));
+		if (aMsg.iBase.iMsg->pfqos_msg_errno)
+		   {
+		   ProcessPRTError( aMsg, aMsg.iBase.iMsg->pfqos_msg_errno );
+		   return;
+		   }
+
+
+		CSubConGenEventDataClientJoined* event = CSubConGenEventDataClientJoined::NewL();
+
+		if( client )
+			{
+			const TSockAddr* SrcAddr = NULL;
+			const TSockAddr* DstAddr = NULL;
+			const TDesC8* connInfo;
+			client->ReadAddressInformation(SrcAddr, DstAddr, connInfo);  // return can be would have errored above
+
+			TConnectionInfoBuf* connInfoBuf = (TConnectionInfoBuf*)connInfo->Ptr();
+			TUint32 iapId = (*connInfoBuf)().iIapId;
+
+			event->SetSourceAddress( *SrcAddr );
+			event->SetDestAddress( *DstAddr );
+			event->SetIap( iapId );
+
+			client->JoinComplete(*this);
+			}
+
+		NotifyClientEvent(*event);
+		delete event;
+		}
+	    break;
+
+	case KPfqosEventLeave:
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Event: KPfqosEventLeave")));
+	
+		CSubConGenEventDataClientLeft* event = CSubConGenEventDataClientLeft::NewL();
+
+		if( client )
+			{
+			const TSockAddr* SrcAddr = NULL;
+			const TSockAddr* DstAddr = NULL;
+			const TDesC8* connInfo;
+			client->ReadAddressInformation(SrcAddr, DstAddr, connInfo);  // return can be would have errored above
+
+			TConnectionInfoBuf* connInfoBuf = (TConnectionInfoBuf*)connInfo->Ptr();
+			TUint32 iapId = (*connInfoBuf)().iIapId;
+
+			event->SetSourceAddress( *SrcAddr );
+			event->SetDestAddress( *DstAddr );
+			event->SetIap( iapId );
+			}
+
+		NotifyClientEvent(*event);
+		delete event;
+		
+		if( client != NULL )
+			{
+			client->LeaveComplete(*this);
+			}
+		}
+	    break;
+
+	default:
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Event: Unknown - %d"), aMsg.iEvent.iExt->event_type));
+	    break;
+		}
+	}
+
+void CIpSubConnectionProvider::ProcessPRTReplyL(TPfqosMessage& aMsg)
+/**
+Process Replies sent from the PRT to the SubConnection Provider
+
+@param aMsg the message from the PRT
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::ProcessPRTReplyL [%08x]"), this));
+
+	if( aMsg.iChannel.iExt == NULL )
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received malformed reply message from PRT")));
+		}
+	else if( aMsg.iBase.iMsg->pfqos_msg_errno != KErrNone )
+    	{
+    	ProcessPRTError( aMsg, aMsg.iBase.iMsg->pfqos_msg_errno );
+    	}
+	else
+    	{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Reply: %d"), aMsg.iBase.iMsg->pfqos_msg_type));
+
+		MSubConnectionDataClient* client = NULL;
+		TInt ret = DetermineClient(aMsg, client);
+		if( ret != KErrNone || client == NULL )
+			{
+			__IPCPRLOG(IpCprLog::Printf(_L("Could not determine DataClient from message.  Error=%d"),ret));
+			}
+
+		switch (aMsg.iBase.iMsg->pfqos_msg_type)
+			{
+		case EPfqosOpenExistingChannel:
+			iChannelId = aMsg.iChannel.iExt->channel_id;
+			__IPCPRLOG(IpCprLog::Printf(_L("Processing Reply for message: EPfqosOpenExistingChannel")));
+			break;
+
+		case EPfqosCreateChannel:
+			iChannelId = aMsg.iChannel.iExt->channel_id;
+			__IPCPRLOG(IpCprLog::Printf(_L("Processing Reply for message: EPfqosCreateChannel")));
+			//Now you will expect to complete the join here. This will not work becuase
+			//qos.prt send a reply before finishing the join down to the nif level
+			//we will have to delay the response until the event is received
+			break;
+
+		case EPfqosJoin:
+			__IPCPRLOG(IpCprLog::Printf(_L("Processing Reply for message: EPfqosJoin")));
+			//Now you will expect to complete the join here. This will not work becuase
+			//qos.prt send a reply before finishing the join down to the nif level
+			//we will have to delay the response until the event is received
+			break;
+
+		case EPfqosLeave:
+			__IPCPRLOG(IpCprLog::Printf(_L("Processing Reply for message: EPfqosLeave")));
+			break;
+
+		case EPfqosConfigChannel:
+			{
+			__IPCPRLOG(IpCprLog::Printf(_L("Processing Reply for message: EPfqosConfigChannel")));
+			}
+			break;
+
+		case EPfqosDeleteChannel:
+			iChannelId = -1;
+			__IPCPRLOG(IpCprLog::Printf(_L("Processing Reply for message: EPfqosDeleteChannel")));
+			break;
+
+		default:
+			__IPCPRLOG(IpCprLog::Printf(_L("Ignoring Reply for unknown message: %d"), aMsg.iBase.iMsg->pfqos_msg_type));
+			break;
+			}
+    	}
+
+	__IPCPRLOG(IpCprLog::Printf(_L("Provider=0x%x Channel=%d"), this, iChannelId));
+	}
+
+
+#ifdef _DEBUG
+void CIpSubConnectionProvider::ProcessPRTError(TInt aMsgType, TInt __IPCPRLOG(aError))
+/**
+Process Errors that occur in communicating between the PRT and the
+SubConnection Provider
+
+@param aMsgType the type of message that encountered the error
+@param aError the error ththas occurred
+*/
+	{
+	switch (aMsgType)
+		{
+	case EPfqosOpenExistingChannel:
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Error %d on EPfqosOpenExistingChannel"), aError));
+		break;
+
+	case EPfqosCreateChannel:
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Error %d on EPfqosCreateChannel"), aError));
+		break;
+
+	case EPfqosDeleteChannel:
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Error %d on EPfqosDeleteChannel"), aError));
+		break;
+
+	case EPfqosJoin:
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Error %d on EPfqosJoin"), aError));
+		break;
+
+	case EPfqosLeave:
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Error %d on EPfqosLeave"), aError));
+		break;
+
+	case EPfqosConfigChannel:
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Error %d on EPfqosConfigChannel"), aError));
+		break;
+
+   case  EPfqosEvent:
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Error %d on EPfqosEvent"), aError));
+		break;
+
+	default:
+		__IPCPRLOG(IpCprLog::Printf(_L("Received PRT Error %d on Unknown Message"), aError));
+		break;
+		}
+	}
+#endif
+
+
+void CIpSubConnectionProvider::ProcessPRTError(TPfqosMessage& aMsg, TInt aError)
+/**
+Process Errors that occur in communicating between the PRT and the
+SubConnection Provider
+
+@param aMsg the message from the PRT
+@param aError the error ththas occurred
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::ProcessPRTError [%08x]"), this));
+
+	if( aError != KErrNone)
+		{
+		TInt msgType = aMsg.iBase.iMsg->pfqos_msg_type;
+
+#ifdef _DEBUG
+		ProcessPRTError(msgType, aError);
+#endif
+
+		MSubConnectionDataClient* client = NULL;
+		TInt ret = DetermineClient(aMsg, client);
+		if( ret != KErrNone || client == NULL )
+			{
+			__IPCPRLOG(IpCprLog::Printf(_L("Could not determine DataClient from message.  Error=%d"),ret));
+			}
+
+		if( msgType == EPfqosJoin ||
+		    msgType == EPfqosOpenExistingChannel ||
+		    msgType == EPfqosCreateChannel ||
+		    (msgType == EPfqosEvent && aMsg.iBase.iMsg->pfqos_msg_errno == EQoSJoinFailure))
+			{
+			if( client )
+				{
+				client->JoinFailed(*this,aError);
+				}
+			}
+		else if( msgType == EPfqosConfigChannel )
+			{
+			//This will send an error only if ECom successfuly constructs the event object
+			CSubConGenEventParamsRejected* event = NULL;
+			TRAP_IGNORE(event = CSubConGenEventParamsRejected::NewL());
+			if (event)
+				{
+				/**
+				comments give in case of *KPfqosEventFailure* in function *ProcessPRTEventL*
+				will also applicable here
+				*/
+				if (aMsg.iBase.iMsg->pfqos_msg_errno == RPacketContext::EEtelPcktPolicyControlRejectionCode)
+					{
+					event->SetFamilyId(KSubConAuthorisationFamily);
+					}
+				else
+					{
+					event->SetFamilyId(KSubConQoSFamily);
+					}
+
+				event->SetError(aError);
+
+				NotifyClientEvent(*event);
+				delete event;
+				}
+			}
+		else if( msgType == EPfqosLeave ||
+		   (msgType == EPfqosEvent && aMsg.iBase.iMsg->pfqos_msg_errno == EQoSLeaveFailure))
+			{
+			// Not Interested in whether the leave was successful.  Inform client regardless
+			if( client != NULL )
+				{
+				client->LeaveComplete(*this);
+				}
+			}
+		else
+			{
+			if( client )
+				{
+				client->SubConnectionError(*this, MSubConnectionDataClient::ESubConnection, aError);
+				}
+			}
+		}
+	}
+
+
+TInt CIpSubConnectionProvider::DetermineClient(const TPfqosMessage& aMsg, MSubConnectionDataClient*& aDataClient)
+/**
+Determines which Data Client a message from the QoS PRT is for based upon source and destination
+address; and Protocol Id.
+
+@param aMsg QoS PRT Response Message
+@param aDataClient Output Variable as Data Client that matches reponse.
+
+@return KErrNone on finding the required client.  Client passed back as argument.
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::DetermineClient [%08x]"), this));
+
+	aDataClient = NULL;
+
+	const TInetAddr* msgSrcAddr = aMsg.iSrcAddr.iAddr;
+	const TInetAddr* msgDstAddr = aMsg.iDstAddr.iAddr;
+
+	if( msgSrcAddr == NULL || msgDstAddr == NULL || aMsg.iSelector.iExt == NULL )
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Received malformed message from PRT")););
+    	}
+    else
+		{
+		TUint32 msgProtocol = aMsg.iSelector.iExt->protocol;
+
+		__IPCPRLOG(
+			THostName srcName;
+			msgSrcAddr->OutputWithScope(srcName);
+			THostName dstName;
+			msgDstAddr->OutputWithScope(dstName);
+		    IpCprLog::Printf(_L("Msg SAddr[%S][%d] DAddr[%S][%d] Prot[%d]"), &srcName, msgSrcAddr->Port(), &dstName, msgDstAddr->Port(), msgProtocol);
+	    );
+
+		// Compare message parameters with those from each client finding the one required
+		TInt numClients = iDataClients.Count();
+		for( TInt index=0; index<numClients; index++ )
+			{
+			MSubConnectionDataClient* client = iDataClients[index];
+			if( client != NULL )
+				{
+				const TSockAddr* cliSrcAddr = NULL;
+				const TSockAddr* cliDstAddr = NULL;
+				const TDesC8* connInfo;
+				TInt err = client->ReadAddressInformation(cliSrcAddr, cliDstAddr, connInfo);
+				if( err != KErrNone )
+					{
+					__IPCPRLOG(IpCprLog::Printf(_L("Unable to read Address Information")));
+					continue;
+					}
+
+				if( cliSrcAddr != NULL && cliDstAddr != NULL && connInfo != NULL )
+					{
+					TUint32 cliProtocol = client->ProtocolId();
+
+					TInetAddr srcInetAddr(*cliSrcAddr);
+					TInetAddr dstInetAddr(*cliDstAddr);
+
+					if (dstInetAddr.Family() == KAfInet)
+						{
+						dstInetAddr.ConvertToV4Mapped();
+						}
+
+					__IPCPRLOG(
+						srcInetAddr.OutputWithScope(srcName);
+						dstInetAddr.OutputWithScope(dstName);
+			    		IpCprLog::Printf(_L("Cli SAddr[%S][%d] DAddr[%S][%d] Prot[%d]"), &srcName, srcInetAddr.Port(), &dstName, dstInetAddr.Port(), cliProtocol);
+			    	);
+
+					if( (msgSrcAddr->Port() == srcInetAddr.Port() &&
+					    (msgDstAddr->CmpAddr(dstInetAddr) && msgDstAddr->Port() == dstInetAddr.Port())) &&
+						msgProtocol == cliProtocol )
+						{
+						// Have our required client
+						__IPCPRLOG(IpCprLog::Printf(_L("Client Matched [%08x]"), client));
+						aDataClient = client;
+						break;
+						}
+					}
+				}
+			}
+    	}
+
+	if( aDataClient != NULL )
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Client Found")));
+		}
+	else
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("Client Not Found!")));
+		}
+
+	return aDataClient != NULL ? KErrNone : KErrNotFound;
+	}
+
+
+void CIpSubConnectionProvider::MapGenericParamsFromESockToPRTL(const CSubConQosGenericParamSet& generic) const
+/**
+Mapping function to map the generic parameters from the ESock to QoS PRT equivalent
+@param Generic Input structure contains the generic parameters
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::MapGenericParamsFromESockToPRTL")));
+	/**
+	Get and Set Uplink Parameters
+	*/
+	iPrtParameters->SetUpLinkMaximumBurstSize(generic.GetUpLinkMaximumBurstSize());
+	iPrtParameters->SetUpLinkMaximumPacketSize(generic.GetUpLinkMaximumPacketSize());
+	iPrtParameters->SetUplinkBandwidth(generic.GetUplinkBandwidth());
+	iPrtParameters->SetUpLinkAveragePacketSize(generic.GetUpLinkAveragePacketSize());
+	iPrtParameters->SetUpLinkPriority(generic.GetUpLinkPriority());
+	iPrtParameters->SetUpLinkDelay(generic.GetUpLinkDelay());
+	/**
+	Get and Set Downlink Parameters
+	*/
+	iPrtParameters->SetDownLinkMaximumBurstSize(generic.GetDownLinkMaximumBurstSize());
+	iPrtParameters->SetDownLinkMaximumPacketSize(generic.GetDownLinkMaximumPacketSize());
+	iPrtParameters->SetDownlinkBandwidth(generic.GetDownlinkBandwidth());
+	iPrtParameters->SetDownLinkAveragePacketSize(generic.GetDownLinkAveragePacketSize());
+	iPrtParameters->SetDownLinkPriority(generic.GetDownLinkPriority());
+	iPrtParameters->SetDownLinkDelay(generic.GetDownLinkDelay());
+	/**
+	Get and Set rest of the Parameters
+	*/
+	iPrtParameters->SetHeaderMode(generic.GetHeaderMode());
+	TName name = generic.GetName();
+	iPrtParameters->SetName(name);
+	}
+
+void CIpSubConnectionProvider::MapGenericParamsFromPRTToESockL(CSubConQosGenericParamSet& generic) const
+/**
+Map generic parameters from QoS PRT to the ESock Equivalents
+
+@param params input structure that contains the QoS PRT generic parameters
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::MapGenericParamsFromPRTToESockL")));
+	/**
+	Get and Set Uplink Parameters
+	*/
+	generic.SetUpLinkMaximumBurstSize(iPrtParameters->GetUpLinkMaximumBurstSize());
+	generic.SetUpLinkMaximumPacketSize(iPrtParameters->GetUpLinkMaximumPacketSize());
+	generic.SetUplinkBandwidth(iPrtParameters->GetUplinkBandwidth());
+	generic.SetUpLinkAveragePacketSize(iPrtParameters->GetUpLinkAveragePacketSize());
+	generic.SetUpLinkPriority(iPrtParameters->GetUpLinkPriority());
+	generic.SetUpLinkDelay(iPrtParameters->GetUpLinkDelay());
+	/**
+	Get and Set Downlink Parameters
+	*/
+	generic.SetDownLinkMaximumBurstSize(iPrtParameters->GetDownLinkMaximumBurstSize());
+	generic.SetDownLinkMaximumPacketSize(iPrtParameters->GetDownLinkMaximumPacketSize());
+	generic.SetDownlinkBandwidth(iPrtParameters->GetDownlinkBandwidth());
+	generic.SetDownLinkAveragePacketSize(iPrtParameters->GetDownLinkAveragePacketSize());
+	generic.SetDownLinkPriority(iPrtParameters->GetDownLinkPriority());
+	generic.SetDownLinkDelay(iPrtParameters->GetDownLinkDelay());
+	/**
+	Get and Set rest of the Parameters
+	*/
+	generic.SetHeaderMode(iPrtParameters->GetHeaderMode());
+	TName name = iPrtParameters->GetName();
+	generic.SetName(name);
+	}
+
+void CIpSubConnectionProvider::ConvertTQoSIntoCQoSParamsL(const TQoSParameters& aParameters)
+/**
+This function will copy the aParameters into the class CQoSParameters
+using member access functions
+@param aParameters input parameters that needs to be copied
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::ConvertTQoSIntoCQoSParamsL")));
+	/**
+	Get and Set Uplink Parameters
+	*/
+	iPrtParameters->SetUplinkBandwidth(aParameters.GetUplinkBandwidth());
+	iPrtParameters->SetUpLinkMaximumBurstSize(aParameters.GetUpLinkMaximumBurstSize());
+	iPrtParameters->SetUpLinkMaximumPacketSize(aParameters.GetUpLinkMaximumPacketSize());
+	iPrtParameters->SetUpLinkAveragePacketSize(aParameters.GetUpLinkAveragePacketSize());
+	iPrtParameters->SetUpLinkDelay(aParameters.GetUpLinkDelay());
+	iPrtParameters->SetUpLinkPriority(aParameters.GetUpLinkPriority());
+	/**
+	Get and Set Downlink Parameters
+	*/
+	iPrtParameters->SetDownlinkBandwidth(aParameters.GetDownlinkBandwidth());
+	iPrtParameters->SetDownLinkMaximumBurstSize(aParameters.GetDownLinkMaximumBurstSize());
+	iPrtParameters->SetDownLinkMaximumPacketSize(aParameters.GetDownLinkMaximumPacketSize());
+	iPrtParameters->SetDownLinkAveragePacketSize(aParameters.GetDownLinkAveragePacketSize());
+	iPrtParameters->SetDownLinkDelay(aParameters.GetDownLinkDelay());
+	iPrtParameters->SetDownLinkPriority(aParameters.GetDownLinkPriority());
+
+	iPrtParameters->SetAdaptMode(aParameters.AdaptMode());
+	iPrtParameters->SetHeaderMode(aParameters.GetHeaderMode());
+	const TName name = aParameters.GetName();
+	iPrtParameters->SetName(name);
+	}
+
+void CIpSubConnectionProvider::ConvertCQoSIntoTQoSParamsL(TQoSParameters& aParameters) const
+/**
+This function will copy the iParameters (CQoSParameters) into aParameters
+using member access functions
+@param aParameters output parameters that iParameters will be copied into
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::ConvertCQoSIntoTQoSParamsL")));
+	/**
+	Get and Set Uplink Parameters
+	*/
+	aParameters.SetUplinkBandwidth(iPrtParameters->GetUplinkBandwidth());
+	aParameters.SetUpLinkMaximumBurstSize(iPrtParameters->GetUpLinkMaximumBurstSize());
+	aParameters.SetUpLinkMaximumPacketSize(iPrtParameters->GetUpLinkMaximumPacketSize());
+	aParameters.SetUpLinkAveragePacketSize(iPrtParameters->GetUpLinkAveragePacketSize());
+	aParameters.SetUpLinkDelay(iPrtParameters->GetUpLinkDelay());
+	aParameters.SetUpLinkPriority(iPrtParameters->GetUpLinkPriority());
+
+	/**
+	Get and Set Downlink Parameters
+	*/
+	aParameters.SetDownlinkBandwidth(iPrtParameters->GetDownlinkBandwidth());
+	aParameters.SetDownLinkMaximumBurstSize(iPrtParameters->GetDownLinkMaximumBurstSize());
+	aParameters.SetDownLinkMaximumPacketSize(iPrtParameters->GetDownLinkMaximumPacketSize());
+	aParameters.SetDownLinkAveragePacketSize(iPrtParameters->GetDownLinkAveragePacketSize());
+	aParameters.SetDownLinkDelay(iPrtParameters->GetDownLinkDelay());
+	aParameters.SetDownLinkPriority(iPrtParameters->GetDownLinkPriority());
+
+	aParameters.SetAdaptMode(iPrtParameters->AdaptMode());
+	aParameters.SetHeaderMode(iPrtParameters->GetHeaderMode());
+	const TName name = iPrtParameters->GetName();
+	aParameters.SetName(name);
+	}
+
+
+void CIpSubConnectionProvider::MapExtensionParamsFromESockToPRTL(const CSubConQosIPLinkR99ParamSet& extension, TUmtsQoSParameters& params)
+/**
+Map extension parameters from QoS PRT to the ESock Equivalents
+
+@param extension input structure that contains the ESock extension parameters
+@param params structure updated to contains the equivalent QoS PRT extension parameters
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("MapExtensionParamsFromESockToPRTL")));
+
+	RPacketQoS::TTrafficClass trafficClass = extension.GetTrafficClass();
+	User::LeaveIfError(params.SetTrafficClass((TUmtsTrafficClass)trafficClass));
+
+	RPacketQoS::TDeliveryOrder deliveryOrder = extension.GetDeliveryOrder();
+	User::LeaveIfError(params.SetDeliveryOrder((TUmtsDeliveryOrder)deliveryOrder));
+
+	RPacketQoS::TErroneousSDUDelivery sduDelivery = extension.GetErroneousSDUDelivery();
+	User::LeaveIfError(params.SetDeliveryOfErroneusSdu((TUmtsErroneousSDUDelivery)sduDelivery));
+
+	RPacketQoS::TBitErrorRatio bitErrorRate = extension.GetResidualBitErrorRatio();
+	User::LeaveIfError(params.SetResidualBer((TUmtsBitErrorRatio)bitErrorRate));
+
+	RPacketQoS::TSDUErrorRatio sduErrorRatio = extension.GetSDUErrorRatio();
+	User::LeaveIfError(params.SetErrorRatio((TUmtsSDUErrorRatio)sduErrorRatio));
+
+	RPacketQoS::TTrafficHandlingPriority trafficHandlingPriority = extension.GetTrafficHandlingPriority();
+	User::LeaveIfError(params.SetPriority((TUmtsTrafficHandlingPriority)trafficHandlingPriority));
+
+	TInt transferDelay = extension.GetTransferDelay();
+	User::LeaveIfError(params.SetTransferDelay(transferDelay));
+
+	TInt maxSduSize = extension.GetMaxSduSize();
+	User::LeaveIfError(params.SetMaxSduSize(maxSduSize));
+
+	TInt maxBitRateUp = extension.GetMaxBitrateUplink();
+	User::LeaveIfError(params.SetMaxBitrateUplink(maxBitRateUp));
+
+	TInt maxBitRateDown = extension.GetMaxBitrateDownlink();
+	User::LeaveIfError(params.SetMaxBitrateDownlink(maxBitRateDown));
+
+	TInt guaBitRateUp = extension.GetGuaBitrateUplink();
+	User::LeaveIfError(params.SetGuaranteedBitrateUplink(guaBitRateUp));
+
+	TInt guaBitRateDown = extension.GetGuaBitrateDownlink();
+	User::LeaveIfError(params.SetGuaranteedBitrateDownlink(guaBitRateDown));
+
+    iParameterRelease = KParameterRel4Rel99;
+	}
+
+void CIpSubConnectionProvider::MapExtensionParamsFromESockToPRTL(const CSubConSBLPR5ExtensionParamSet& extension, CSblpParameters& params) const
+	{
+	TAuthToken authToken = extension.GetMAT();
+	params.SetMAT(authToken);
+
+	/**
+	Get Flow Identifires And store that into the RArray of Flow Ids
+	of SBLP Paramters
+	*/
+	RArray<CSblpParameters::TFlowIdentifier> arrFlowIds;
+	CleanupClosePushL(arrFlowIds);
+
+	TInt nrOfFlows = extension.GetNumberOfFlowIds();
+	for ( TInt i = 0; i < nrOfFlows; i ++ )
+	{
+	    const TFlowId & Fid = extension.GetFlowIdAt(i);
+		CSblpParameters::TFlowIdentifier FlowId;
+		FlowId.iMediaComponentNumber = Fid.GetMediaComponentNumber();
+		FlowId.iIPFlowNumber = Fid.GetIPFlowNumber();
+		arrFlowIds.AppendL(FlowId);
+	}
+	params.SetFlowIds(arrFlowIds);
+	CleanupStack::Pop(&arrFlowIds);
+	arrFlowIds.Close();
+	}
+
+void MapExtensionParamsFromPRTToESockL(TUmtsQoSParameters& params, CSubConQosIPLinkR99ParamSet& extension)
+/**
+Map extension parameters from ESock to the QoS PRT Equivalents
+
+@param params input structure that contains the QoS PRT extension parameters
+@param extension structure updated to contain the ESock equivalent extension parameters
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("MapExtensionParamsFromPRTToESockL")));
+
+	TUmtsTrafficClass trafficClass = params.TrafficClass();
+	extension.SetTrafficClass((RPacketQoS::TTrafficClass) trafficClass);
+
+	TUmtsDeliveryOrder deliveryOrder = params.DeliveryOrder();
+	extension.SetDeliveryOrder((RPacketQoS::TDeliveryOrder) deliveryOrder);
+
+	TUmtsErroneousSDUDelivery deliveryOfErroneusSdu = params.DeliveryOfErroneusSdu();
+	extension.SetErroneousSDUDelivery((RPacketQoS::TErroneousSDUDelivery) deliveryOfErroneusSdu);
+
+	TUmtsBitErrorRatio residualBer = params.ResidualBer();
+	extension.SetResidualBitErrorRatio((RPacketQoS::TBitErrorRatio) residualBer);
+
+	TUmtsSDUErrorRatio errorRatio = params.ErrorRatio();
+	extension.SetSDUErrorRatio((RPacketQoS::TSDUErrorRatio) errorRatio);
+
+	TUmtsTrafficHandlingPriority priority = params.Priority();
+	extension.SetTrafficHandlingPriority((RPacketQoS::TTrafficHandlingPriority) priority);
+
+	TInt transferDelay = params.TransferDelay();
+	extension.SetTransferDelay(transferDelay);
+
+	TInt maxSduSize = params.MaxSduSize();
+	extension.SetMaxSduSize(maxSduSize);
+
+	TInt maxBitrateUplink = params.MaxBitrateUplink();
+	extension.SetMaxBitrateUplink(maxBitrateUplink);
+
+	TInt maxBitrateDownlink = params.MaxBitrateDownlink();
+	extension.SetMaxBitrateDownlink(maxBitrateDownlink);
+
+	TInt guaBitrateUplink = params.GuaranteedBitrateUplink();
+	extension.SetGuaBitrateUplink(guaBitrateUplink);
+
+	TInt guaBitrateDownlink = params.GuaranteedBitrateDownlink();
+	extension.SetGuaBitrateDownlink(guaBitrateDownlink);
+	}
+
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5  	
+void CIpSubConnectionProvider::MapExtensionParamsFromESockToPRTL(const CSubConQosR5ParamSet& aExtension, TUmtsR5QoSParameters& aParams)
+/**
+Map extension parameters from QoS PRT to the ESock Equivalents
+
+@param extension input structure that contains the ESock extension parameters
+@param params structure updated to contains the equivalent QoS PRT extension parameters
+*/
+	{
+		
+	__IPCPRLOG(IpCprLog::Printf(_L("MapExtensionParamsFromESockToPRTL")));				
+	
+	MapExtensionParamsFromESockToPRTL(static_cast<const CSubConQosIPLinkR99ParamSet&>(aExtension), static_cast<TUmtsQoSParameters&>(aParams));
+		
+	TBool signallingIndicator = aExtension.GetSignallingIndicator();
+	User::LeaveIfError(aParams.SetSignallingIndicator(signallingIndicator));
+	
+	RPacketQoS::TSourceStatisticsDescriptor sourceStatisticsDescriptor = aExtension.GetSourceStatisticsDescriptor();
+	User::LeaveIfError(aParams.SetSourceStatisticsDescriptor(reinterpret_cast<TUmtsSourceStatisticsDescriptor&>(sourceStatisticsDescriptor)));
+
+    iParameterRelease = KParameterRel5;
+	}
+	
+void MapExtensionParamsFromPRTToESockL(TUmtsR5QoSParameters& aParams, CSubConQosR5ParamSet& aExtension)
+/**
+Map extension parameters from ESock to the QoS PRT Equivalents
+
+@param params input structure that contains the QoS PRT extension parameters
+@param extension structure updated to contain the ESock equivalent extension parameters
+*/
+	{
+	
+	__IPCPRLOG(IpCprLog::Printf(_L("MapExtensionParamsFromPRTToESockL")));
+		
+	MapExtensionParamsFromPRTToESockL(static_cast<TUmtsQoSParameters&>(aParams),static_cast<CSubConQosIPLinkR99ParamSet&>(aExtension));
+	
+	TBool signallingprtIndicator = aParams.SignallingIndicator();
+	aExtension.SetSignallingIndicator(signallingprtIndicator);
+	
+	TUmtsSourceStatisticsDescriptor sourceStatisticsprtDescriptor = aParams.SourceStatisticsDescriptor();
+	aExtension.SetSourceStatisticsDescriptor(reinterpret_cast<RPacketQoS::TSourceStatisticsDescriptor&>(sourceStatisticsprtDescriptor));
+	
+	}
+
+void CIpSubConnectionProvider::MapExtensionParamsFromESockToPRTL(const CSubConImsExtParamSet& aExtension, TImsParameter& aParams)
+/**
+Map extension parameters from QoS PRT to the ESock Equivalents
+
+@param extension input structure that contains the ESock extension parameters
+@param params structure updated to contains the equivalent QoS PRT extension parameters
+*/
+	{
+
+		
+	__IPCPRLOG(IpCprLog::Printf(_L("MapExtensionParamsFromESockToPRTL")));
+	
+	TBool IMSSignallingIndicator = aExtension.GetImsSignallingIndicator();
+	aParams.SetIMSSigallingIndicator(IMSSignallingIndicator);
+		
+	}
+	
+void MapExtensionParamsFromPRTToESockL(TImsParameter& aParams, CSubConImsExtParamSet& aExtension)
+/**
+Map extension parameters from ESock to the QoS PRT Equivalents
+
+@param params input structure that contains the QoS PRT extension parameters
+@param extension structure updated to contain the ESock equivalent extension parameters
+*/
+	{
+	
+	__IPCPRLOG(IpCprLog::Printf(_L("MapExtensionParamsFromPRTToESockL")));
+		
+	TBool IMSSignallingIndicator = aParams.GetIMSSigallingIndicator();
+	aExtension.SetImsSignallingIndicator(IMSSignallingIndicator);
+	
+	}
+
+#endif 
+// SYMBIAN_NETWORKING_UMTSR5 
+
+void CIpSubConnectionProvider::ResetPrtExtensions()
+	{
+	TQoSExtensionQueueIter iter(iPrtExtensions);
+	CExtensionBase *ext;
+	ext = iter++;
+	while (ext)
+		{
+		delete ext;
+		ext = iter++;
+		}
+	iPrtExtensions.Reset();
+	}
+
+void CIpSubConnectionProvider::ConvertParametersFromESockL(CSubConParameterBundle& aParameterBundle)
+/**
+Covert QoS Parameters sent from ESock to QoS PRT values and cache the values
+
+@param aParameterBundle the bundle that contains all of ESock's QoS Variables
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::ConvertParametersFromESockL [%08x]"), this));
+
+    ResetPrtExtensions();
+
+	CSubConParameterFamily* family = aParameterBundle.FindFamily(KSubConQoSFamily);
+	if(family)
+		{
+		CUmtsQoSPolicy* policy = CUmtsQoSPolicy::NewL();
+		CleanupStack::PushL(policy);
+		TBool policySet = EFalse;
+
+		// Map Requested Generic Parameters from ESock to PRT Values
+		CSubConQosGenericParamSet* generic = (CSubConQosGenericParamSet*)family->GetGenericSet(CSubConParameterFamily::ERequested);
+		if(generic)
+			{
+			TRAPD(err, MapGenericParamsFromESockToPRTL(*generic));
+			if( err != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("Failed to convert from ESock to PRT Generic Parameters (Requested) with Error: %d"),err));
+				}
+			}
+
+		// Map Requested UMTS Parameters from ESock to PRT values
+		CSubConQosIPLinkR99ParamSet* extension = (CSubConQosIPLinkR99ParamSet*)family->FindExtensionSet(
+				STypeId::CreateSTypeId(KSubConIPParamsUid,KSubConQosIPLinkR99ParamsType), CSubConParameterFamily::ERequested);
+		if(extension)
+			{
+			TUmtsQoSParameters params;
+
+			TRAPD(err, MapExtensionParamsFromESockToPRTL(*extension, params));
+			if( err != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("Failed to convert from ESock to PRT Extension Parameters (Requested) with Error: %d"),err));
+				}
+
+			policy->SetQoSRequested(params);
+			policySet = ETrue;
+			}
+
+		// Map Minimum UMTS Parameters from ESock to PRT values
+		extension = (CSubConQosIPLinkR99ParamSet*)family->FindExtensionSet(
+				STypeId::CreateSTypeId(KSubConIPParamsUid,KSubConQosIPLinkR99ParamsType), CSubConParameterFamily::EAcceptable);
+		if(extension)
+			{
+			TUmtsQoSParameters params;
+			TRAPD(err, MapExtensionParamsFromESockToPRTL(*extension,params));
+			if( err != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("Failed to convert from ESock to PRT Extension Parameters (Minimum) with Error: %d"),err));
+				}
+
+			policy->SetQoSMinimum(params);
+			policySet = ETrue;
+			}
+
+		if(policySet)
+			{
+			iPrtExtensions.AddFirst(*policy);
+			CleanupStack::Pop();
+			}
+		else
+			{
+		    CleanupStack::PopAndDestroy(policy);
+			}
+		
+#ifdef SYMBIAN_NETWORKING_UMTSR5  
+
+		CUmtsR5QoSPolicy* policyR5 = CUmtsR5QoSPolicy::NewL();
+		CleanupStack::PushL(policyR5);
+		TBool policySetR5 = EFalse;
+		// Map Requested UMTS Parameters from ESock to PRT values
+		CSubConQosR5ParamSet* extensionR5 = static_cast<CSubConQosR5ParamSet*>(family->FindExtensionSet(STypeId::CreateSTypeId(KSubConIPParamsUid,KSubConQosR5ParamsType), CSubConParameterFamily::ERequested));
+		if(extensionR5)
+			{
+			 TUmtsR5QoSParameters paramsR5;
+	         TRAPD(err, MapExtensionParamsFromESockToPRTL(*extensionR5, paramsR5));
+			 if( err != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("Failed to convert from ESock to PRT Extension Parameters (Requested) with Error: %d"),err));
+				}
+
+			policyR5->SetQoSRequested(paramsR5);
+			policySetR5 = ETrue;
+			}
+		// Map Minimum UMTS Parameters from ESock to PRT values
+		extensionR5 = static_cast<CSubConQosR5ParamSet*>(family->FindExtensionSet(STypeId::CreateSTypeId(KSubConIPParamsUid,KSubConQosR5ParamsType), CSubConParameterFamily::EAcceptable));
+		if(extensionR5)
+			{
+			TUmtsR5QoSParameters paramsR5;
+			TRAPD(err, MapExtensionParamsFromESockToPRTL(*extensionR5,paramsR5));
+			if( err != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("Failed to convert from ESock to PRT Extension Parameters (Minimum) with Error: %d"),err));
+				}
+
+			policyR5->SetQoSMinimum(paramsR5);
+			policySetR5 = ETrue;
+			}
+
+		if(policySetR5)
+			{
+			iPrtExtensions.AddFirst(*policyR5);
+			CleanupStack::Pop();
+			}
+		else
+			{
+		    CleanupStack::PopAndDestroy(policyR5);
+			}
+		
+			
+			CImsPolicy* policyIms = CImsPolicy ::NewL();
+			CleanupStack::PushL(policyIms);
+			TBool policySetIms = EFalse;
+			// Map Requested UMTS IMS Parameters from ESock to PRT values
+			CSubConImsExtParamSet* extensionIms = static_cast<CSubConImsExtParamSet*>(family->FindExtensionSet(STypeId::CreateSTypeId(KSubConIPParamsUid,KSubConImsExtParamsType), CSubConParameterFamily::ERequested));
+		if(extensionIms)
+			{
+			TImsParameter paramsIms;
+
+			TRAPD(err, MapExtensionParamsFromESockToPRTL(*extensionIms, paramsIms));
+			if( err != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("Failed to convert from ESock to PRT Extension Parameters (Requested) with Error: %d"),err));
+				}
+			
+			policyIms->SetImsParameter(paramsIms); 
+			policySetIms = ETrue;
+			}
+	
+		if(policySetIms)
+			{
+			iPrtExtensions.AddFirst(*policyIms);
+			CleanupStack::Pop();
+			}
+		else
+			{
+		    CleanupStack::PopAndDestroy(policyIms);
+			}
+		
+#endif 
+// SYMBIAN_NETWORKING_UMTSR5 
+	
+	}
+
+	// Convert SBLP set if present
+	// Check for the presence of the family in the bundle
+	CSubConParameterFamily* sblpFamily = aParameterBundle.FindFamily(KSubConAuthorisationFamily);
+	if (sblpFamily)
+		{
+		CSblpPolicy* policy = CSblpPolicy::NewL();
+		CleanupStack::PushL(policy);
+		TBool policySet = EFalse;
+
+		/**
+		Extract the generic and extension Parmaters of the Family. At present the generic
+		parameters will just contains a dummy , and will not be used. The code is commented
+		and can be enabled sometimes when any parameter varification at the code is required
+		*/
+		// CSubConAuthorisationGenericParamSet* generic = (CSubConAuthorisationGenericParamSet*)SblpFamily->GetGenericSet(CSubConParameterFamily::ERequested);
+		/**
+		There can be more than one extension set containing multiple MATs, as a requirement for the R6.
+		currently the APIs in CSubConParameterFamily is not able to extract multiple parameters. once this
+		is done, the code below must be changed to run on a loop on number of extensions
+		*/
+
+		// Map Requested UMTS Parameters from ESock to PRT values
+		CSubConSBLPR5ExtensionParamSet* extension = (CSubConSBLPR5ExtensionParamSet*)sblpFamily->FindExtensionSet(
+				STypeId::CreateSTypeId(KSubConIPParamsUid,KSubConnSBLPR5ExtensionParamsType), CSubConParameterFamily::ERequested);
+		if(extension)
+			{
+			CSblpParameters* params = new (ELeave)CSblpParameters;
+			CleanupStack::PushL(params);
+			TRAPD(err, MapExtensionParamsFromESockToPRTL(*extension,*params));
+			if( err != KErrNone )
+				{
+				__IPCPRLOG(IpCprLog::Printf(_L("Failed to convert from ESock to PRT Extension Parameters (Requested) with Error: %d"),err));
+				}
+
+			policy->SetSblpParameters(*params); //does a bitwise copy therefore we must still delete params afterwards
+			policySet = ETrue;
+			CleanupStack::Pop(params);
+			delete params;
+			}
+
+		if( policySet )
+			{
+			iPrtExtensions.AddFirst(*policy);
+			CleanupStack::Pop();
+			}
+		else
+    		{
+		    CleanupStack::PopAndDestroy(policy);
+	    	}
+		}
+	}
+
+
+void CIpSubConnectionProvider::ConvertParametersFromQOSL(TPfqosMessage& aMsg, CSubConGenEventParamsGranted* aEvent)
+/**
+Convert parameters from a PRT response to ESock equivalents.  PRT parameters are cached
+
+@param aMsg QoS PRT Response Message
+@param aEvent ESock event to contain changed QoS Parameters
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CIpSubConnectionProvider::ConvertParametersFromQOSL [%08x]"), this));
+
+	/** Changed as per usase of CQosParamaters instead of
+	TQoSParameter
+	*/
+
+    TQoSParameters qosParams;
+	aMsg.SetQoSParameters(qosParams);
+
+    // Copy qosParams into the iPrtParameters
+	ConvertTQoSIntoCQoSParamsL(qosParams);
+	aEvent->SetFamily(KSubConQoSFamily);
+
+	CSubConQosGenericParamSet* generic = CSubConQosGenericParamSet::NewL();
+	MapGenericParamsFromPRTToESockL(*generic);
+	aEvent->SetGenericSet(generic);
+
+
+
+    TSglQueIter<CPfqosPolicyData> iter(aMsg.iExtensions);
+	CPfqosPolicyData* data = NULL;
+	
+	// for each pfqos extension that exists in aMsg
+	while ((data = iter++) != NULL)
+		{
+	    const TUint8 *p = data->Data().Ptr();
+	    TInt length = data->Data().Length();
+	    const struct pfqos_configure* pfqosExtConfig = reinterpret_cast<const struct pfqos_configure*>(p);
+
+	    if (length > (TInt)sizeof(pfqos_configure) &&
+		    pfqosExtConfig->pfqos_configure_len * 8 == length &&
+		    pfqosExtConfig->pfqos_ext_type == EPfqosExtExtension)
+	    	{
+	    	
+	    	// pfqos_extension struct is located straight after pfqos_configure struct
+		    p += sizeof(struct pfqos_configure);
+		    const struct pfqos_extension* pfqosExtension = reinterpret_cast<const struct pfqos_extension*>(p);
+			TInt extType = pfqosExtension->pfqos_extension_type;
+
+			CExtensionBase* scPfqosExtension = NULL;
+			TQoSExtensionQueueIter iter2(iPrtExtensions);
+			
+			// for each pfqos extension that has been configured in this subconnection
+			while ((scPfqosExtension = iter2++) != NULL)
+				{
+				if (scPfqosExtension->Type() == extType)
+					{
+					// the extension in the message matches an extension that is configured on the
+					// subconnection, now we can parse it
+					scPfqosExtension->ParseMessage(data->Data());
+
+                    CSubConExtensionParameterSet* extension = NULL;
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+                    switch (extType)
+                        {
+						case KPfqosExtensionUmts:                   
+#endif
+						    {
+							CUmtsQoSPolicy *policy = static_cast<CUmtsQoSPolicy*>(scPfqosExtension);
+							TNegotiatedUmtsQoSParameters grantedQoS;
+							policy->GetQoSNegotiated(grantedQoS);
+							extension = CSubConQosIPLinkR99ParamSet::NewL();
+                            CleanupStack::PushL(extension);
+							MapExtensionParamsFromPRTToESockL(grantedQoS,*static_cast<CSubConQosIPLinkR99ParamSet*>(extension));
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+                            break;
+						    }
+                        case KPfqosR5ExtensionUmts:
+                            extension = MapFromUmtsR5ExtensionL(static_cast<CUmtsR5QoSPolicy*>(scPfqosExtension));
+                            CleanupStack::PushL(extension);
+                            break;
+
+                        case KPfqosExtensionIMS:
+                            extension = MapFromImsExtensionL(static_cast<CImsPolicy*>(scPfqosExtension));
+                            CleanupStack::PushL(extension);
+                            break;
+#endif
+                        }
+
+                    if (extension)
+                        {
+                        // Need to add it to the cleanup stack so we don't lose the ptr
+                        // in the event that AddExtensionSetL leaves
+	                    aEvent->AddExtensionSetL(extension);
+	                    CleanupStack::Pop(extension);
+                        }
+
+					// Next extension from aMsg
+					break;
+					}
+				}
+			}
+		}
+	}
+	
+
+
+#ifdef SYMBIAN_NETWORKING_UMTSR5
+CSubConExtensionParameterSet* CIpSubConnectionProvider::MapFromUmtsR5ExtensionL (const CUmtsR5QoSPolicy* aPolicy)
+    {
+    ASSERT(aPolicy);
+    
+	TNegotiatedUmtsR5QoSParameters grantedR5QoS;
+	aPolicy->GetQoSNegotiated(grantedR5QoS);
+	
+	CSubConExtensionParameterSet* paramSet;
+
+    switch (iParameterRelease)
+        {
+        case KParameterRel5:
+    		paramSet = CSubConQosR5ParamSet::NewL();
+    		CleanupStack::PushL(paramSet);
+    		MapExtensionParamsFromPRTToESockL(static_cast<TUmtsR5QoSParameters&>(grantedR5QoS),
+    		    *static_cast<CSubConQosR5ParamSet*>(paramSet));
+    		CleanupStack::Pop(paramSet);
+            break;
+
+        case KParameterRel4Rel99:
+    		paramSet = CSubConQosR99ParamSet::NewL();
+    		CleanupStack::PushL(paramSet);
+    		MapExtensionParamsFromPRTToESockL(static_cast<TUmtsQoSParameters&>(grantedR5QoS),
+    		    *static_cast<CSubConQosR99ParamSet*>(paramSet));
+            CleanupStack::Pop(paramSet);
+            break;
+    
+        default:
+            // Break in debug builds
+            ASSERT(EFalse);
+            return NULL;
+        }
+    
+    return paramSet;
+    }
+
+
+CSubConExtensionParameterSet* CIpSubConnectionProvider::MapFromImsExtensionL (const CImsPolicy* aPolicy)
+    {
+    ASSERT(aPolicy);
+    
+	TImsParameter grantedImsQoS; 
+	aPolicy->GetImsParameter(grantedImsQoS); 
+
+	CSubConImsExtParamSet* extensionIms = CSubConImsExtParamSet::NewL();
+	CleanupStack::PushL(extensionIms);
+	MapExtensionParamsFromPRTToESockL(grantedImsQoS, *extensionIms);
+	CleanupStack::Pop(extensionIms);
+	
+	return extensionIms;
+    }
+#endif
+// SYMBIAN_NETWORKING_UMTSR5
+
+#endif
+// BASIC_IPSCPR
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/ipscprlog.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,73 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Implementation file for the IP CPR Logger
+// 
+//
+
+/**
+ @file ipcprlog.cpp
+*/
+
+#ifdef _DEBUG
+
+#include <e32std.h>
+#include "ipscprlog.h"
+#include "comms-infras/commsdebugutility.h"
+
+/**
+Comms Debug Utility Folder Name
+@internalComponent
+*/
+_LIT(KQFrameLogFolder, "SubConn");
+
+/**
+Comms Debug Utilitiy File Name
+@internalComponent
+*/
+_LIT(KQFrameLogFile, "ipscpr");
+
+void IpCprLog::Printf(TRefByValue<const TDesC> aFmt,...)
+/**
+Write arguments in supplied format to log file
+*/
+	{
+#if defined __FLOG_ACTIVE
+	VA_LIST list;
+	VA_START(list,aFmt);
+	RFileLogger::WriteFormat(KQFrameLogFolder(), KQFrameLogFile(), EFileLoggingModeAppend, aFmt, list);
+#else // stop variable not used message
+	(void)aFmt;
+	(void)KQFrameLogFolder();
+	(void)KQFrameLogFile();
+#endif
+	}
+
+void IpCprLog::Printf(TRefByValue<const TDesC8> aFmt,...)
+/**
+Write arguments in supplied format to log file
+*/
+	{
+#if defined __FLOG_ACTIVE
+	VA_LIST list;
+	VA_START(list,aFmt);
+	RFileLogger::WriteFormat(KQFrameLogFolder(), KQFrameLogFile(), EFileLoggingModeAppend, aFmt, list);
+#else
+	(void)aFmt;
+	(void)KQFrameLogFolder();
+	(void)KQFrameLogFile();
+#endif
+	}
+
+#endif // _DEBUG
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/ipscprlog.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,62 @@
+/**
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header file for the IP CPR Logger
+* 
+*
+*/
+
+
+
+/**
+ @file ipcprlog.h
+*/
+
+#ifndef __IPCPRLOG_H__
+#define __IPCPRLOG_H__
+
+#include <e32std.h>
+
+#ifdef _DEBUG
+
+/**
+@internalComponent
+*/
+#define __IPCPRLOG(x) x
+
+
+class IpCprLog
+/**
+Provides a wrapper around use of Comms Debug Utility for the the
+IP Connection Provider.  Calls are usuallly enclosed with the use
+of the LOG macro.  This will thus remove calls to logging in
+release builds.
+
+@internalComponent
+
+@released Since v9.0
+*/
+	{
+public:
+	static void Printf(TRefByValue<const TDesC8> aFmt, ...);
+	static void Printf(TRefByValue<const TDesC> aFmt, ...);
+	};
+
+#else
+
+#define __IPCPRLOG(x)
+
+#endif
+
+#endif // __IPCPRLOG_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/qos_msg.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,393 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Implementation file for the QoS Mapping Messages
+// 
+//
+
+/**
+ @file qos_msg.cpp
+*/
+
+#include "pfqos_stream.h"
+#include "pfqoslib.h"
+#include "ipscpr.h"
+#include "qos_msg.h"
+#include "ipscprlog.h"
+
+
+const TIp6Addr KInet6AddrMask = {{{0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,
+                                  0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff}}};
+
+const TInt KQoSDefaultBufSize = 8000;
+
+
+CQoSMsg* CQoSMsg::NewL( TPfqosMessages aMsgType )
+/**
+Create a new QoS PRT Message
+
+@param aMsgType Message Type
+*/
+	{
+	CQoSMsg* msg = new (ELeave) CQoSMsg();
+
+	CleanupStack::PushL( msg );
+	msg->ConstructL( aMsgType );
+	CleanupStack::Pop();
+
+	return msg;
+	}
+
+
+CQoSMsg::~CQoSMsg()
+/**
+Destructor
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsg::Destroy [%08x] Type=%d"), this, iType));
+
+	delete iMsg;
+	iMsg = NULL;
+	}
+
+
+CQoSMsg::CQoSMsg()
+/**
+Constructor
+*/
+	{
+	}
+
+
+void CQoSMsg::ConstructL( TPfqosMessages aMsgType )
+/**
+QoS PRT Message second phase construction
+
+@param aMsgType Message Type
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsg::Construct [%08x] Type=%d"), this, aMsgType));
+
+	iMsg = CPfqosStream::NewL(KQoSDefaultBufSize);
+	iMsg->Init((TUint8)aMsgType);
+	iType = aMsgType;
+	}
+
+
+void CQoSMsg::AddSrcAddr(const TInetAddr &aAddr)
+/**
+Adds Source Address Information to the QoS PRT Message
+
+@param aAddr Source Address
+*/
+	{
+	TInetAddr srcInetAddr(aAddr);
+	srcInetAddr.SetFamily(KAFUnspec);
+	srcInetAddr.SetAddress(KInet6AddrNone);
+
+	TInetAddr mask;
+	mask.SetAddress(KInet6AddrMask);
+	iMsg->AddSrcAddress(srcInetAddr, mask, (TUint16)srcInetAddr.Port()); 
+	}
+
+
+void CQoSMsg::AddDstAddr(const TInetAddr &aAddr)
+/**
+Adds Destination Address Information to the QoS PRT Message
+
+@param aAddr Destination Address
+*/
+	{
+	TInetAddr dstInetAddr(aAddr);
+	if (dstInetAddr.Family() == KAfInet)
+		{
+		dstInetAddr.ConvertToV4Mapped();
+		}
+
+	TInetAddr mask;
+	mask.SetAddress(KInet6AddrMask);
+	iMsg->AddDstAddress(dstInetAddr, mask, (TUint16)dstInetAddr.Port()); 
+	}
+
+
+void CQoSMsg::AddExtensionPolicy(TQoSExtensionQueue& aExtensions)
+/**
+Add QoS Extension Parameters to the QoS Message
+
+@param aExtensions Collection of Extensions Parameters
+*/
+	{
+	TQoSExtensionQueueIter iter(aExtensions);
+	CExtensionBase* extension;
+	while ((extension=iter++) != NULL)
+		{
+		TDesC8& extData = extension->Data();
+		iMsg->AddExtensionPolicy(extData);
+		}
+	}
+
+
+void CQoSMsg::Send(RInternalSocket &aSocket, TRequestStatus& aStatus)
+/** 
+Sends the current message to the QoS PRT
+
+@param aSocket Internal Socket over which to send a message
+@param aStatus Request Status
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsg::Send [%08x] Type=%d"), this, iType));
+	
+	iMsg->Send(aSocket, aStatus);
+	}
+
+
+// ###########################################################
+
+
+CQoSMsgWriter* CQoSMsgWriter::NewL(CIpSubConnectionProvider* aOwner, RInternalSocket& aSocket)
+/**
+Create QoS PRT Message Writer
+
+@param aOwner The IP SubConnection Provider that creates this object
+@param aSocket reference to an Internal Socket owned by the IP SubConnection Provider
+*/
+	{
+	return new (ELeave) CQoSMsgWriter(aOwner, aSocket);
+	}
+
+
+CQoSMsgWriter::CQoSMsgWriter(CIpSubConnectionProvider* aOwner, RInternalSocket& aSocket)
+/**
+Constructor
+
+@param aOwner The IP SubConnection Provider that creates this object
+@param aSocket reference to an Internal Socket owned by the IP SubConnection Provider
+*/
+	: CActive(EPriorityStandard)
+	, iOwner(aOwner)
+	, iSocket(aSocket)
+	, iClosing(EFalse)
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgWriter::Construct [%08x]"), this));
+
+	CActiveScheduler::Add(this);
+	iPendingMsg.SetOffset(_FOFF(CQoSMsg, iLink));
+	}
+
+
+CQoSMsgWriter::~CQoSMsgWriter()
+/**
+Destructor
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgWriter::Destroy [%08x]"), this));
+
+	if (IsActive())
+		{
+		Cancel();
+		}
+
+	iClosing = ETrue;
+
+	if (iCurrentMsg)
+		{
+		delete iCurrentMsg;
+		iCurrentMsg = NULL;
+		}
+
+	while (!iPendingMsg.IsEmpty())
+		{
+		CQoSMsg* msg = iPendingMsg.First();
+		iPendingMsg.Remove(*msg);
+		delete msg;
+		}
+
+	iPendingMsg.Reset();
+	}
+
+
+void CQoSMsgWriter::Send(CQoSMsg* aMsg)
+/**
+Sends a Message to the QoS PRT
+
+@param aMsg The message to send
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgWriter::Send [%08x]"), this));
+
+	// Can only process one message at a time.
+	if (IsActive())
+		{
+		iPendingMsg.AddLast(*aMsg);
+		}
+	else
+		{
+		iCurrentMsg = aMsg;
+		iCurrentMsg->Send(iSocket, iStatus);
+		SetActive();
+		}
+	}
+
+
+void CQoSMsgWriter::RunL()
+/**
+Active Object main processing function
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgWriter::RunL [%08x] - Enter"), this));
+
+	TInt err = iStatus.Int();
+	if (err != KErrNone && iOwner)
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgWriter::RunL [%08x] - Process Error"), this));
+#ifdef _DEBUG
+		TInt msgType = EPfqosReserved;
+		if( iCurrentMsg )
+			{
+			msgType = iCurrentMsg->iType;
+			}
+		iOwner->ProcessPRTError(msgType, err);
+#endif
+		}
+
+	delete iCurrentMsg;
+	iCurrentMsg = NULL;
+
+	if (!iClosing && !iPendingMsg.IsEmpty())
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgWriter::RunL [%08x] - Send next message"), this));
+		CQoSMsg* msg = iPendingMsg.First();
+		iPendingMsg.Remove(*msg);
+		iCurrentMsg = msg;
+		iCurrentMsg->Send(iSocket, iStatus);
+		SetActive();
+		}
+
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgWriter::RunL [%08x] - Exit"), this));
+	}
+
+
+// ###########################################################
+
+
+CQoSMsgReader* CQoSMsgReader::NewL( CIpSubConnectionProvider *aOwner, RInternalSocket& aSocket)
+/**
+Create QoS PRT Message Reader
+
+@param aOwner The IP SubConnection Provider that creates this object
+@param aSocket reference to an Internal Socket owned by the IP SubConnection Provider
+*/
+	{
+	CQoSMsgReader* reader = new (ELeave) CQoSMsgReader(aOwner, aSocket);
+
+	CleanupStack::PushL( reader );
+	reader->ConstructL();
+	CleanupStack::Pop();
+
+	return reader;
+	}
+
+
+CQoSMsgReader::CQoSMsgReader(CIpSubConnectionProvider *aOwner, RInternalSocket& aSocket)
+/**
+Constructor
+
+@param aOwner The IP SubConnection Provider that creates this object
+@param aSocket reference to an Internal Socket owned by the IP SubConnection Provider
+*/
+	: CActive(EPriorityStandard)
+	, iOwner(aOwner)
+	, iSocket(aSocket)
+	, iRecvPtr(0,0)
+	, iClosing(EFalse)
+	{
+	CActiveScheduler::Add(this);
+	}
+
+
+CQoSMsgReader::~CQoSMsgReader()
+/**
+Destructor
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgReader::Destruct [%08x]"), this));
+
+	if (IsActive())
+		{
+		Cancel();
+		}
+
+	iClosing = ETrue;
+
+	if (iRecvBuf)
+		{
+		delete iRecvBuf;
+		iRecvBuf = NULL;
+		}
+	}
+
+
+void CQoSMsgReader::ConstructL()
+/**
+QoS PRT Message Reader second phase construction
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgReader::Construct [%08x]"), this));
+
+	iRecvBuf = HBufC8::NewL(KQoSDefaultBufSize);
+	TPtr8 tmp(iRecvBuf->Des());
+	iRecvPtr.Set(tmp);
+
+	iRecvPtr.Zero();
+	iRecvPtr.SetLength(KQoSDefaultBufSize);
+	iSocket.Recv(iRecvPtr, 0, iStatus);
+	SetActive();
+	}
+
+
+void CQoSMsgReader::RunL()
+/**
+Active Object main processing function
+*/
+	{
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgReader::RunL [%08x] - Enter"), this));
+
+	if (iStatus.Int() == KErrNone && iRecvPtr.Length() > 0 )
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgReader::RunL [%08x] - Process Response"), this));
+		TPfqosMessage msg(iRecvPtr);
+		if (msg.iError == KErrNone)
+			{
+			iOwner->ProcessPRTMsg(msg);
+			}
+#ifdef _DEBUG
+		else
+			{
+			TInt msgType = EPfqosReserved;
+			iOwner->ProcessPRTError(msgType, msg.iError);
+			}
+#endif
+		}
+
+	if (!iClosing)
+		{
+		__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgReader::RunL [%08x] - Wait for next message"), this));
+		iRecvPtr.Zero();
+		iRecvPtr.SetLength(KQoSDefaultBufSize);
+		iSocket.Recv(iRecvPtr, 0, iStatus);
+		SetActive();
+		}
+
+	__IPCPRLOG(IpCprLog::Printf(_L("CQoSMsgReader::RunL [%08x] - Exit"), this));
+	}
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/qos_msg.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,168 @@
+/**
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Header file for the QoS Mapping Messages
+* 
+*
+*/
+
+
+
+/**
+ @file qos_msg.h
+*/
+
+#ifndef __QOS_MSG_H__
+#define __QOS_MSG_H__
+
+#include <e32base.h>
+#include <e32std.h>
+#include <comms-infras/eintsock.h>
+
+class CPfqosStream;
+
+
+NONSHARABLE_CLASS(CQoSMsg) : public CBase
+/**
+Encapsulation of a QoS PRT Message that can be stored in a 
+link list of messages.
+
+@internalComponent
+
+@released Since v9.0
+*/
+	{
+public:
+	// Construction
+	static CQoSMsg* NewL( TPfqosMessages aMsgType );
+	~CQoSMsg();
+
+	// Message Content
+	inline void AddConnInfo(TUint32 aProtocol, const TUidType& aUid, TUint32 aIapId );
+	void AddSrcAddr(const TInetAddr &aAddr);
+	void AddDstAddr(const TInetAddr &aAddr);
+	inline void AddChannel(TInt aChannelId);
+	inline void AddQoSParameters(const TQoSParameters& aParameters);
+	void AddExtensionPolicy(TQoSExtensionQueue& aExtensions);
+
+	// Send Message to PRT
+	void Send(RInternalSocket &aSocket, TRequestStatus& aStatus);
+
+protected:
+	// Construction
+	CQoSMsg();
+	void ConstructL( TPfqosMessages aMsgType );
+
+public:
+	/** QoS PRT formatted Message */
+	CPfqosStream* iMsg;
+
+	/** Message Type */
+	TPfqosMessages iType;
+
+	/** Link to next item */
+	TSglQueLink iLink;
+	};
+
+
+class CIpSubConnectionProvider;
+
+
+NONSHARABLE_CLASS(CQoSMsgWriter) : public CActive
+/**
+Active Object that sends messages from IP Connection Provider to the QoS PRT
+
+@internalComponent
+
+@released Since v9.0
+*/
+	{
+public:
+	// Construction
+	static CQoSMsgWriter* NewL(CIpSubConnectionProvider* aOwner, RInternalSocket& aSocket);
+	~CQoSMsgWriter();
+
+	// Send Message over Internal Socket
+	void Send(CQoSMsg* aMsg);
+
+protected:
+	// Construction
+	CQoSMsgWriter(CIpSubConnectionProvider* aOwner, RInternalSocket& aSocket);
+
+	// Active Object Implementation
+	void RunL();
+	inline void DoCancel();
+
+private:
+	/** Message Owner */
+	CIpSubConnectionProvider* iOwner;
+
+	/** Reference to an Internal Socket */
+	RInternalSocket& iSocket;
+
+	/** Current Message */
+	CQoSMsg* iCurrentMsg;
+
+	/** List of Pending Messages */
+	TSglQue<CQoSMsg> iPendingMsg;
+
+	/** Flag Set when Active Object is shuttin down */
+	TBool iClosing;
+	};
+
+
+NONSHARABLE_CLASS(CQoSMsgReader) : public CActive
+/**
+Active Object that receives messages from the QoS PRT and forwards them to the
+IP Connection Provider
+
+@internalComponent
+
+@released Since v9.0
+*/
+	{
+public:
+	// Construction
+	static CQoSMsgReader* NewL(CIpSubConnectionProvider *aOwner, RInternalSocket& aSocket);
+	~CQoSMsgReader();
+
+protected:
+	// Construction
+	CQoSMsgReader(CIpSubConnectionProvider* aOwner, RInternalSocket& aSocket);
+	void ConstructL();
+
+	// Active Object Implmentation
+	void RunL();
+	inline void DoCancel();
+
+private:
+	/** Message Owner */
+	CIpSubConnectionProvider* iOwner;
+
+	/** Reference of Internal Socket */
+	RInternalSocket& iSocket;
+
+	/** Pointer to Buffer to receive data from QoS PRT */
+	TPtr8 iRecvPtr;
+
+	/** Buffer to receive data from QoS PRT */
+	HBufC8* iRecvBuf;
+
+	/** Flag Set when Active Object is shuttin down */
+	TBool iClosing;
+	};
+
+#include "qos_msg.inl"
+
+#endif // __QOS_MSG_H__
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipscpr/src/qos_msg.inl	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,86 @@
+/**
+* Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+* Inline functions file for the QoS Mapping Messages
+* 
+*
+*/
+
+
+
+/**
+ @file qos_msg.inl
+*/
+
+#ifndef __QOS_MSG_INL__
+#define __QOS_MSG_INL__
+
+inline void CQoSMsg::AddConnInfo(TUint32 aProtocol, const TUidType& aUid, TUint32 aIapId )
+/**
+Add Connection Information to the QoS PRT Message
+
+@param aProtocol Protocol Id
+@param aUid Process UID Type
+@param aIapId Internet Access Point Id
+*/
+	{
+    iMsg->AddSelector((TUint8)aProtocol, aUid, EPfqosFlowspecPolicy, aIapId, EPfqosApplicationPriority, TPtr(0,0));
+	}
+
+
+inline void CQoSMsg::AddChannel(TInt aChannelId)
+	{
+/**
+Adds QoS Channel Id to the QoS PRT Message
+
+@param aChannelId QoS Channel Id
+*/
+    iMsg->AddChannel(aChannelId); 
+	}
+
+inline void CQoSMsg::AddQoSParameters(const TQoSParameters& aParameters)
+/** 
+Adds Standard QoS Parameters to the QoS PRT Message
+
+@param aParameters QoS Parameters
+*/
+	{
+    iMsg->AddQoSParameters(aParameters);
+	}
+
+
+// ###########################################################
+
+
+inline void CQoSMsgWriter::DoCancel()
+/**
+Cancel Writing to internal socket
+*/
+    {
+    iSocket.CancelWrite();
+    }
+
+
+// ###########################################################
+
+
+inline void CQoSMsgReader::DoCancel()
+/**
+Cancel Reading from internal socket
+*/
+	{
+    iSocket.CancelRecv();
+	}
+
+#endif // __QOS_MSG_INL__
--- a/networkcontrol/iptransportlayer/src/ipcprups_activities.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/iptransportlayer/src/ipcprups_activities.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -70,8 +70,8 @@
 	LAST_NODEACTIVITY_ENTRY(KErrorTag, TDoNothing)
 NODEACTIVITY_END()
 
-DECLARE_DEFINE_CUSTOM_NODEACTIVITY(ECFActivityClientLeave, IpCprClientLeave, TNodeSignal::TNullMessageId, CClientLeaveActivity::NewL)
-	FIRST_NODEACTIVITY_ENTRY(CoreStates::TAwaitingClientLeave, MeshMachine::TNoTag)
+DECLARE_DEFINE_RESERVED_CUSTOM_NODEACTIVITY(ECFActivityClientLeave, IpCprClientLeave, Messages::TEPeer::TLeaveRequest, CClientLeaveActivity::New)
+	FIRST_NODEACTIVITY_ENTRY(MeshMachine::TAwaitingMessageState<TEPeer::TLeaveRequest>, MeshMachine::TNoTag)
 	THROUGH_NODEACTIVITY_ENTRY(KNoTag, IpCprStates::TSendUpsStatusChange, MeshMachine::TNoTag)
 	THROUGH_NODEACTIVITY_ENTRY(KNoTag, CClientLeaveActivity::TRemoveClientAndDestroyOrphanedDataClients, CClientLeaveActivity::TNoTagOrSendPriorityToCtrlProvider)
 	NODEACTIVITY_ENTRY(CprStates::KSendPriorityToCtrlProvider, CClientLeaveActivity::TUpdatePriorityForControlProvider, CoreStates::TAwaitingJoinComplete, CClientLeaveActivity::TNoTagOrSendPriorityToServProvider)
--- a/networkcontrol/iptransportlayer/src/ipdeftbasescpr.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/iptransportlayer/src/ipdeftbasescpr.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -246,7 +246,7 @@
     	}
 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 	iContext.iNodeActivity->PostRequestTo(*iContext.Node().ServiceProvider(),
-		TCFScpr::TGetParamsRequest(RCFParameterFamilyBundleC()).CRef());
+		TCFScpr::TSetParamsRequest(RCFParameterFamilyBundleC()).CRef());
 #else
  	iContext.iNodeActivity->PostRequestTo(*iContext.Node().ServiceProvider(),
 		TCFScpr::TParamsRequest(RCFParameterFamilyBundleC()).CRef());
@@ -260,7 +260,9 @@
 DECLARE_DEFINE_NODEACTIVITY(ECFActivityStartDataClient, IPDeftBaseSCprDataClientStart, TCFDataClient::TStart )
     FIRST_NODEACTIVITY_ENTRY(CoreNetStates::TAwaitingDataClientStart, MeshMachine::TNoTag)
 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
-	NODEACTIVITY_ENTRY(KNoTag, IPDeftBaseSCprDataClientStartActivity::TGetParams, CoreNetStates::TAwaitingParamResponse, CoreNetStates::TNoTagOrNoDataClients)
+	//NODEACTIVITY_ENTRY(KNoTag, IPDeftBaseSCprDataClientStartActivity::TGetParams, CoreNetStates::TAwaitingParamResponse, CoreNetStates::TNoTagOrNoDataClients)
+	NODEACTIVITY_ENTRY(KNoTag, IPDeftBaseSCprDataClientStartActivity::TGetParams, CoreNetStates::TAwaitingParamResponse, MeshMachine::TNoTag)
+	THROUGH_NODEACTIVITY_ENTRY(KNoTag, PRStates::TStoreParams, CoreNetStates::TNoTagOrNoDataClients)
 #else
 	NODEACTIVITY_ENTRY(KNoTag, IPDeftBaseSCprDataClientStartActivity::TGetParams, CoreNetStates::TAwaitingParamResponse, MeshMachine::TNoTag)
 	THROUGH_NODEACTIVITY_ENTRY(KNoTag, SCprStates::TStoreParams, CoreNetStates::TNoTagOrNoDataClients)
--- a/networkcontrol/iptransportlayer/src/netmcpr.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/iptransportlayer/src/netmcpr.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -33,6 +33,8 @@
 
 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 #include <tcpdfltrecvwin.h>
+// Custom type for WLAN bearer
+const TUint32 KNetMcprWlanBearer = 0x3C;
 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 #include <commsdattypeinfov1_1_internal.h>
 
@@ -477,8 +479,11 @@
    	//TCP receive window size for ethernet
    	iBearerInfoMap.Insert(KEthernetBearer,KBearerEthernetWinSize);
 
+    //TCP receive window size for WLAN bearer
+    iBearerInfoMap.Insert(KNetMcprWlanBearer,KBearerWlanWinSize);
+   	
    	//TCP receive window size for other bearer
-   	iBearerInfoMap.Insert(KDefaultBearer,KBearerWlanWinSize);
+   	iBearerInfoMap.Insert(KDefaultBearer,KBearerDefaultWinSize);
 	}
 
 void CDfltTCPReceiveWindowSize::SetTcpWin(TUint aBearerType)
@@ -486,8 +491,20 @@
  * Set TCP receive window 
  */
 	{
-	//Set the TCP Receive Window.
-	iWinSize = *static_cast<TUint*>(iBearerInfoMap.Find(aBearerType));
+    // Get bearer window size from hash table
+    TUint* iWinSizePtr = static_cast<TUint*>(iBearerInfoMap.Find(aBearerType));
+
+    // Check whether bearer type was known 
+    if ( iWinSizePtr != NULL )
+        {
+        // Set the TCP Receive Window
+        iWinSize = *iWinSizePtr;
+        }
+    else
+        {
+        // Use default window
+        iWinSize = KBearerDefaultWinSize;
+        }
 	  
 	//Set the Max TCP receive Window.
 	SetMaxWinSize(aBearerType);
@@ -511,12 +528,16 @@
 		//
 			iMaxWinSize = KBearerHsdpaWinSize; 
 			break; 
-		case KEthernetBearer:
-			iMaxWinSize = KEthernetMaxWinSize;
+		case KNetMcprWlanBearer:
+			iMaxWinSize = KBearerWlanWinSize;
 			break;
    
+        case KEthernetBearer:
+            iMaxWinSize = KEthernetMaxWinSize;
+            break;
+			
 		default:
-			iMaxWinSize = KEthernetMaxWinSize;
+			iMaxWinSize = KBearerDefaultMaxWinSize;
 			break;
 		}
 	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/bwins/ipupsdialogu.def	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,5 @@
+EXPORTS
+	?ImplementationGroupProxy@@YAPBUTImplementationProxy@@AAH@Z @ 1 NONAME ; struct TImplementationProxy const * ImplementationGroupProxy(int &)
+	?KTestNotifierImplementationId@@3KB @ 2 NONAME ; unsigned long const KTestNotifierImplementationId
+	?KNotifierImplementationId@@3KB @ 3 NONAME ; unsigned long const KNotifierImplementationId
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/eabi/ipupsdialogu.def	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,5 @@
+EXPORTS
+	_Z24ImplementationGroupProxyRi @ 1 NONAME
+	KNotifierImplementationId @ 2 NONAME DATA 4
+	KTestNotifierImplementationId @ 3 NONAME DATA 4
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,25 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Component description file
+// 
+//
+
+PRJ_EXPORTS
+../group/ipupsdialog.iby	/epoc32/rom/include/ipupsdialog.iby
+
+PRJ_MMPFILES
+ipupsdialog.mmp
+
+PRJ_PLATFORMS
+DEFAULT
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/group/ipupsdialog.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,51 @@
+/*
+* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description:
+*
+*/
+#ifndef SYMBIAN_IPUPSDIALOG_IBY
+#define SYMBIAN_IPUPSDIALOG_IBY
+
+REM IP UPS Dialog Creator
+
+#ifdef TEXT_ONLY_ROM
+#include <security_ups_utils.iby>
+#endif
+
+define ZDRIVE \epoc32\data\Z
+
+data=ZDRIVE\system\data\ups_101F7989_10281DD8.rsc		system\data\ups_101F7989_10281DD8.rsc
+
+
+
+#ifdef _DEBUG
+ECOM_PLUGIN_UDEB(ipupsdialog.dll,10285A7B.rss)
+#else
+ECOM_PLUGIN(ipupsdialog.dll,10285A7B.rss)
+#endif
+
+// If NETWORKING_UPS_NOTIFIERUID is defined, then patch the Dialog Creator to use that Notifier UID.
+// Otherwise if _STARTUPMODE1 is defined then use Networking UPS Test Notifier UID, otherwise don't patch.
+
+#ifndef NETWORKING_UPS_NOTIFIERUID
+#ifdef _STARTUPMODE1
+#define NETWORKING_UPS_NOTIFIERUID 0x1028369b
+#endif
+#endif
+
+#ifdef NETWORKING_UPS_NOTIFIERUID
+patchdata ipupsdialog.dll@KNotifierImplementationId NETWORKING_UPS_NOTIFIERUID
+#endif
+
+#endif //SYMBIAN_IPUPSDIALOG_IBY
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/group/ipupsdialog.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,59 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// IP implementation of User Prompt Service dialog creator ECOM plug-in
+// 
+//
+
+/**
+ @file
+*/
+
+target		ipupsdialog.dll
+capability	protserv trustedui
+targettype	plugin
+deffile		ipupsdialog.def
+
+uid		0x10009D8D 0x10285A7B
+vendorid	0x70000001
+
+userinclude	../source
+userinclude     ../inc
+
+// OS_LAYER_SYSTEMINCLUDE_SYMBIAN illegal dependency on apaid.h
+MW_LAYER_SYSTEMINCLUDE_SYMBIAN
+
+sourcepath      ../source
+source          ipupsdialog.cpp
+source          ipupsconst.cpp
+
+sourcepath      ../resource
+start resource	10285A7B.rss
+target	        ipupsdialog.rsc
+end
+
+//
+// Default reference policy file for IP UPS
+//
+// This policy file is not installed by default in the proper UPS policy file directory
+// (/private/10283558/policies/), as it is intended to be copied there as required.
+
+sourcepath	../../policyfile
+start resource	ups_101F7989_10281DD8.rss
+targetpath	/system/data
+end
+
+library	        apgrfx.lib apparc.lib ecom.lib euser.lib upspolicies.lib
+library         upsclient.lib ipcstream.lib estor.lib sisregistryclient.lib upsnotifierutil.lib
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/inc/ipupsconst.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,33 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This file specifies the constants which are used to configure
+// the NetUps during testing. The associated enumerations are to
+// to be found in netupstls.h.
+// @internalComponent
+// @prototype
+// 
+//
+
+#ifndef IPUPSCONST_H
+#define IPUPSCONST_H
+
+#include <e32def.h>
+
+/** @SYMPatchable Disable UPS IP functionality 
+*/
+IMPORT_C extern const TUint32 KNotifierImplementationId;
+IMPORT_C extern const TUint32 KTestNotifierImplementationId;
+
+
+#endif // IPUPSCONST_H
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/inc/ipupsdialog.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,98 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Class declaration for Reference dialog creator plug-in for IP.
+// 
+//
+
+/**
+ @file
+ @internalTechnology 
+ @prototype 
+*/
+
+#ifndef IPUPSDIALOG_H
+#define IPUPSDIALOG_H
+
+#include <e32base.h>
+#include <e32cmn.h>
+#include <ups/dialogcreator.h>
+#include <ups/fingerprint.h>
+#include <ups/upsnotifierutil.h>
+
+using namespace UserPromptService;
+
+/**
+ Reference implementation of a User Prompt Service dialog creator ECOM plug-in for IP.
+ */
+NONSHARABLE_CLASS(CIpUpsDialog) : public CDialogCreator
+	{
+	public:
+	typedef enum
+		{
+		EIdle,
+		EPrepareDialog,
+		EDisplayDialog,
+		EProcessResult		
+		} TState;
+	static CIpUpsDialog* CreateDialogCreatorL();				
+	~CIpUpsDialog();
+	
+protected:
+	// From CActive
+	void DoCancel();
+	void RunL();
+	TInt RunError(TInt aError);
+	
+	// From CDialogCreator
+	void PrepareDialog(
+		const CPromptRequest& aRequest, const CPolicy& aPolicy,			
+		const RPointerArray<CFingerprint>& aFingerprints, const CClientEntity* aClientEntity, 
+		const TAny* aDialogCreatorParams, TRequestStatus& aStatus);
+	void DisplayDialog(CPolicy::TOptions& aOptionSelcted, const CFingerprint*& aFingerprint,
+			TUint& aEvaluatorInfo, TRequestStatus& aStatus);	
+		
+private:	
+	CIpUpsDialog();
+	void ConstructL();
+	void ResolveClientNameL(const TSecureId& aSid);
+	TBool ResolveClientNameFromAppArcL(const TSecureId& aSid);
+	TBool ResolveClientNameFromSisRegistryL(const TSecureId& aSid);
+	void ResolveVendorNameL(const TVendorId& aVid);
+	void DoPrepareDialogL();
+	void DoDisplayDialogL();
+	void DoProcessResultL();	
+	
+	// Const data from UPS & policy evaluator
+	const CPromptRequest* iRequest;                         //< Request data from system server
+	const CPolicy* iPolicy;                                 //< The policy that matches iRequest
+	const RPointerArray<CFingerprint>* iFingerprints;	//< Fingerprints generated by policy evaluator from iRequest
+	const TAny* iEvalPrivateData;                           //< Extra data generated by policy evaluator
+	
+	TRequestStatus* iClientStatus;                          //< UPS's request object 
+	
+	// Return data for DisplayDialog
+	CPolicy::TOptions* iOptionSelected;                     //< The option selected by the user
+	const CFingerprint** iFingerprint;			//< The fingerprint for the new decision if Always or Never selected
+	TUint* iEvaluatorInfo;                                  //< Plug-in specific field in decision record
+
+	CPromptData* iPromptData;				//< Data used by notifier to render dialog
+	RBuf8 iPromptDataDes;					//< Externalized prompt data
+	TPromptResult iPromptResult;                            //< Response buffer for notifier
+	TPckg<TPromptResult> iPromptResultPckg;                 //< Packages iPromptResult
+	RNotifier iNotifier;                                    //< Connection to notifier framework 
+	TState iState;                                          //< Current state 
+	TUint iNotifierId;                                     //< User prompting user Id
+	};
+#endif // SMSUPSDIALOG_H
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/resource/10285A7B.rss	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,46 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// UIDs quick-ref
+// ECOM DLL UID:		0x10285A7B
+// ECOM interface UID:		KUidUpsDialogCreatorInterface
+// ECOM Implementation:		0x10285A7C
+// 
+//
+
+
+#include <ups/ups.hrh>
+#include <ecom/registryinfo.rh>
+
+RESOURCE REGISTRY_INFO r_registry
+	{
+	dll_uid = 0x10285A7B;
+	interfaces =
+		{
+		INTERFACE_INFO
+			{							
+			interface_uid = KUidUpsDialogCreatorInterface;
+			implementations = 
+				{
+				IMPLEMENTATION_INFO
+					{
+					implementation_uid = 0x10285A7C;
+					version_no = 1;
+					display_name = "IP Reference dialog creator";
+					default_data = "";
+					opaque_data = "";
+					}
+				};
+			}
+		};
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/source/ipupsconst.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,28 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// This file provides the definition of the patchable constants
+// used in debugging. 
+// @internalAll
+// @prototype
+// 
+//
+
+#include <e32def.h>
+
+/** @SYMPatchable Disable UPS IP functionality
+*/
+EXPORT_C extern const TUint32 KNotifierImplementationId = 0x1028369b;  
+EXPORT_C extern const TUint32 KTestNotifierImplementationId = 0x10285887;
+
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/dialogcreator/source/ipupsdialog.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,440 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+#include <e32svr.h> // Included here, since removal of Platform headers from public headers[f32file.h] for TB92SDK 
+#include "ipupsdialog.h"
+#include <ecom/implementationproxy.h>
+#include <apgcli.h>
+#include <ups/promptrequest.h>
+#include <swi/sisregistrypackage.h>
+#include <swi/sisregistrysession.h>
+#include <scs/nullstream.h>
+#include <s32mem.h>
+#include <u32hal.h>
+
+#include "ipupsconst.h"
+
+static const TUint KIpDialogCreatorImplementationId = 0x10285A7C;
+
+CIpUpsDialog* CIpUpsDialog::CreateDialogCreatorL()
+/**
+Factory method that instantiates a new dialog creator ECOM plug-in.
+
+@return A pointer to the new reference dialog creator object.
+*/
+   {
+   CIpUpsDialog* self = new (ELeave)CIpUpsDialog();
+   CleanupStack::PushL(self);
+   self->ConstructL();
+   CleanupStack::Pop(self);
+   return self;
+   }
+
+const TImplementationProxy ImplementationTable[] = 
+   {
+   IMPLEMENTATION_PROXY_ENTRY(KIpDialogCreatorImplementationId, CIpUpsDialog::CreateDialogCreatorL)
+   };
+
+EXPORT_C const TImplementationProxy* ImplementationGroupProxy(TInt& aTableCount)
+/**
+Standard ECOM factory
+*/
+   {
+   aTableCount = sizeof(ImplementationTable) / sizeof(TImplementationProxy);
+   return ImplementationTable;
+   }	
+	
+
+CIpUpsDialog::CIpUpsDialog() 
+/**
+Constructor
+*/
+   : CDialogCreator(), iPromptResult(),iPromptResultPckg(iPromptResult), iState(EIdle)
+   {
+   CActiveScheduler::Add(this);
+   }
+	
+CIpUpsDialog::~CIpUpsDialog()
+/**
+Destructor
+*/
+   {
+   Deque();
+   iPromptDataDes.Close();
+   delete iPromptData;
+   iNotifier.Close();
+   }
+
+void CIpUpsDialog::ConstructL()
+/**
+Second phase constructor
+*/
+   {
+   User::LeaveIfError(iNotifier.Connect());
+   
+   // setup the value for the notifier. Test or reference
+#if (defined (__EABI__)  ||  defined (__GCCXML__))
+   // this value is patched via the patchable constant mechanism
+   iNotifierId = KNotifierImplementationId;
+#else
+   TUint notifierUidVal = 0;
+   TInt retCode = UserSvr::HalFunction(EHalGroupEmulator, EEmulatorHalIntProperty,
+		   (TAny*)"NETWORKING_UPS_NOTIFIERUID", &notifierUidVal);
+
+   if (retCode == KErrNone)
+	   {
+	   iNotifierId = notifierUidVal;
+	   }
+   else
+	   {
+	   TUint startupModeVal = 0;
+	   retCode = UserSvr::HalFunction(EHalGroupEmulator, EEmulatorHalIntProperty,
+			   (TAny*)"startupmode", &startupModeVal);
+	   
+	   if(retCode == KErrNone && startupModeVal == 1)
+		   iNotifierId = KTestNotifierImplementationId;
+	   else
+		   iNotifierId = KNotifierImplementationId;
+	   }  
+#endif   
+   }
+
+void CIpUpsDialog::DoCancel()
+   {
+   if (iState == EProcessResult)
+      {
+      iNotifier.CancelNotifier(TUid::Uid(iNotifierId));
+      }
+   
+   if (iClientStatus)
+      {
+      User::RequestComplete(iClientStatus, KErrCancel);
+      }
+   }
+	
+TInt CIpUpsDialog::RunError(TInt aError)
+   {
+   if (iClientStatus)
+      {
+      User::RequestComplete(iClientStatus, aError);
+      }
+   return KErrNone;
+   }
+
+void CIpUpsDialog::RunL()
+   {
+   User::LeaveIfError(iStatus.Int());
+   switch (iState)
+      {
+      case EPrepareDialog:
+         DoPrepareDialogL();
+         break;
+      case EDisplayDialog:
+	     DoDisplayDialogL();
+         break;
+      case EProcessResult:
+         DoProcessResultL();
+         break;
+      default:
+         ASSERT(EFalse);			
+      }
+   }
+	
+void CIpUpsDialog::DoPrepareDialogL()
+   {
+   iPromptData = CPromptData::NewL();
+	
+   // Only one state at the moment but more should be
+   // added for long running operators e.g. querying the SIS registry
+   // or resolving the client entity.
+   ResolveClientNameL(iRequest->ClientSid());
+	
+   // Get the vendor name for the client process
+   ResolveVendorNameL(iRequest->ClientVid());
+	
+   // pass the destination information through.
+   iPromptData->iDestination.Create(iRequest->Destination());
+  
+   // Pass any opaque data from the user to the notifier
+   iPromptData->iOpaqueData.Create(iRequest->OpaqueData());
+
+   // Server / Service localized names generated in notifier plug-in. 
+   iPromptData->iServerSid = iRequest->ServerSid();
+   iPromptData->iServiceId = iRequest->ServiceId();
+	
+   // Different dialog text is displayed depending on whether the client application
+   // is signed.
+   // N.B. Protected SID is assumed to be signed or included at ROM build.
+   if (iRequest->IsClientSidProtected()) iPromptData->iFlags |= ETrustedClient;
+	
+   // Use the options specified by the policy
+   iPromptData->iOptions = iPolicy->Options();
+	
+   // Add the descriptions of the fingerprints. This could be used
+   // to allow the user to grant access to all destinations 
+   // or a single destination.
+   TInt count = iFingerprints->Count();
+   for (TInt i = 0; i < count; ++i)
+      {
+      HBufC* description = (*iFingerprints)[i]->Description().AllocLC();
+      iPromptData->iDescriptions.AppendL(description);
+      CleanupStack::Pop(description);
+      }
+	
+   User::RequestComplete(iClientStatus, KErrNone);		
+   // DisplayDialog is invoked by the UPS, this just verifies 
+   // that PrepareDialog was called first.
+   iState = EDisplayDialog;
+   }
+	
+void CIpUpsDialog::DoDisplayDialogL()
+/**
+Uses the notifier framework to display the dialog.
+*/
+   {
+   // Externalize the prompt data to a descriptor
+   RNullWriteStream ns;
+   ns << *iPromptData;
+   ns.CommitL();
+   iPromptDataDes.CreateL(ns.BytesWritten());
+   RDesWriteStream ws;	
+   ws.Open(iPromptDataDes);
+   ws << *iPromptData;
+   ws.CommitL();	
+   iNotifier.StartNotifierAndGetResponse(iStatus, TUid::Uid(iNotifierId),
+                                         iPromptDataDes, iPromptResultPckg);
+   SetActive();
+   iState = EProcessResult;
+   }
+	
+void CIpUpsDialog::DoProcessResultL()
+/**
+Processes the result returned by the notifier.
+*/
+   {			
+   if(iPromptResult.iSelected == CPolicy::EAlways || iPromptResult.iSelected == CPolicy::ENever)
+      {
+      // The Always or Never option was selected so return the fingerprint 
+      // for the new decision record.
+      // 
+      // In this implementation a copy of the original fingerprint is returned. However,
+      // it is permitted to return a different fingerprint e.g. a modifier description.       
+      if(iPromptResult.iDestination >= 0 && iPromptResult.iDestination < iFingerprints->Count())     
+         {
+         *iFingerprint = (*iFingerprints)[iPromptResult.iDestination];
+         }
+      else
+         {
+         ASSERT(EFalse); // should never happen, unless notifier is buggy.
+         }
+      }   
+
+    // ensure the notifier has returned a valid option specified in policy file
+   if(iPromptResult.iSelected & iPromptData->iOptions)
+      {
+      *iOptionSelected = iPromptResult.iSelected;
+      }
+   else
+      {
+      ASSERT(EFalse); 
+      }
+      
+   iState = EIdle;
+   User::RequestComplete(iClientStatus, KErrNone);	
+   }
+
+void CIpUpsDialog::ResolveVendorNameL(const TVendorId& aVid)
+/**
+Looks up the localized vendor name for the client process and writes
+this to iPromptData.iVendorName.
+
+Typically, this would be resolved from the SIS registry or a lookup table.
+
+@param aVid	The vendor id of the client process.
+*/
+   {
+   if (iPromptData->iVendorName.Length() != 0)
+      {
+      // already obtained vendor name from SIS registry
+      return;
+      }
+		
+   if (aVid.iId == 0x70000001)
+      {
+      _LIT(KSymbian, "Symbian Software Ltd");
+      iPromptData->iVendorName.Create(KSymbian);
+      }
+   else 
+      {
+      _LIT(KUnknown, "Unknown vendor");
+      iPromptData->iVendorName.Create(KUnknown);
+      }
+   }
+	
+void CIpUpsDialog::ResolveClientNameL(const TSecureId& aSid)
+/**
+Generates a human readable name for the client process. In order of 
+preference the following data is returned
+
+- The AppArc caption name.
+- The localized package name that owns this SID.
+- A value from a lookup table.
+- The filename for the client process executable.
+
+@param aSid	The secure id of the client process.
+*/
+   {
+   TBool found = EFalse;
+	
+   // Although the client name from AppArc takes precedance the SIS
+   // registry is always invoked in order to retrieve the vendor name
+   found |= ResolveClientNameFromSisRegistryL(aSid);
+   found |= ResolveClientNameFromAppArcL(aSid);
+			
+   // A lookup that maps secure-ids to application names could
+   // be used here.
+
+   // Fall back to the filename of the client process
+   // The original thread may have exited so the process handle is used instead.
+   // because the client-side object e.g. RSocket may be shared between threads.
+
+   // If the process has exited then it's o.k. to leave.
+   if (! found)
+      {			
+      RProcess clientProcess;
+      User::LeaveIfError(clientProcess.Open(iRequest->ClientProcessId()));
+      CleanupClosePushL(clientProcess);
+      iPromptData->iClientName.Create(clientProcess.FileName());		
+      CleanupStack::PopAndDestroy(&clientProcess); 
+      }
+   }
+
+TBool CIpUpsDialog::ResolveClientNameFromAppArcL(const TSecureId& aSid)
+/**
+Gets the caption name for the application from AppArc (if available).
+
+@param	aSid	The secure id of the client process.
+@return		ETrue if a match was found in apparc; otherwise, EFalse is returned.
+*/
+   {
+   TBool found(EFalse);
+	
+   RApaLsSession apa;
+   CleanupClosePushL(apa);	
+   TInt err = apa.Connect();
+   if (err == KErrNone)
+      {		
+      TApaAppInfo* info = new(ELeave) TApaAppInfo();
+      CleanupStack::PushL(info);
+		
+      err = apa.GetAppInfo(*info, TUid::Uid(aSid));
+      
+      if (err == KErrNone)
+         {
+         iPromptData->iClientName.Close();
+         iPromptData->iClientName.Create(info->iCaption);
+         found = ETrue;
+	     }
+      else if (err != KErrNotFound)
+	     {
+	     User::Leave(err);
+	     }	
+      
+      CleanupStack::PopAndDestroy(info);
+      }
+   else if (err != KErrNotFound)
+      {
+      // If the connection to apparc failed with KErrNotFound
+      // then the error is ignored becase we assume the dialog
+      // creator was invoked from text-shell
+      User::Leave(err);
+      }
+   
+   CleanupStack::PopAndDestroy(&apa);
+   return found;
+   }
+
+TBool CIpUpsDialog::ResolveClientNameFromSisRegistryL(const TSecureId& aSid)
+/**
+Retrieves the client and vendor information from the SIS registry.
+@param aSid		The secure-id of the client application to lookup in the registry.
+@return			ETrue, if the lookup was successful; otherwise, EFalse is returned.
+*/
+   {
+   TBool found(EFalse);
+   Swi::RSisRegistrySession r;
+   User::LeaveIfError(r.Connect());
+   CleanupClosePushL(r);
+	
+   Swi::CSisRegistryPackage* p(0);
+   TRAPD(err, p = r.SidToPackageL(aSid));
+   if (err == KErrNone)
+      {
+      iPromptData->iClientName.Create(p->Name());
+      iPromptData->iVendorName.Create(p->Vendor());
+      found = ETrue;
+      delete p;
+      }
+   
+   CleanupStack::PopAndDestroy(&r);
+   return found;
+   }
+
+// From CDialogCreator
+void CIpUpsDialog::PrepareDialog(const UserPromptService::CPromptRequest& aRequest, 
+                                 const CPolicy& aPolicy,			
+                                 const RPointerArray<CFingerprint>& aFingerprints, 
+                                 const CClientEntity* aClientEntity, 
+                                 const TAny* aEvalPrivateData, 
+                                 TRequestStatus& aStatus)
+   {
+   aStatus = KRequestPending;
+   iClientStatus = &aStatus;
+	
+   iRequest = &aRequest;
+   iPolicy = &aPolicy;
+   iFingerprints = &aFingerprints;
+   iEvalPrivateData = aEvalPrivateData;
+   (void) aClientEntity;
+
+   // Kick off dialog creator state machine
+   iState = EPrepareDialog;
+   iStatus = KRequestPending;
+   TRequestStatus* status = &iStatus;
+   SetActive();
+   User::RequestComplete(status, KErrNone);
+   }
+	
+void CIpUpsDialog::DisplayDialog(CPolicy::TOptions& aOptions, 
+                                 const CFingerprint*& aFingerprint,
+                                 TUint& aEvaluatorInfo,
+                                 TRequestStatus& aStatus)
+   {	
+   aStatus = KRequestPending;
+   iClientStatus = &aStatus;
+	
+   iOptionSelected = &aOptions;
+   iFingerprint = &aFingerprint;
+   aFingerprint = 0;
+   iEvaluatorInfo = &aEvaluatorInfo;
+   iClientStatus = &aStatus;
+	
+   // Start state machine
+   ASSERT(iState == EDisplayDialog); // PrepareDialog should have been called first
+   iStatus = KRequestPending;
+   TRequestStatus* status = &iStatus;
+   SetActive();
+   User::RequestComplete(status, KErrNone);
+   }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,40 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// UPS Plugins and Utilities for IP Networking
+// 
+//
+
+/**
+ @file
+*/
+
+#define SYMBIAN_NETWORKING_UPS
+
+#ifdef SYMBIAN_NETWORKING_UPS
+
+#include "../dialogcreator/group/bld.inf"
+
+PRJ_PLATFORMS
+DEFAULT
+
+PRJ_TESTEXPORTS
+../test/te_ipups/scripts/te_ipups.script  		z:/testdata/scripts/te_ipups/te_ipups.script
+../test/te_ipups/data/te_ipups.ini  			z:/testdata/configs/te_ipups/te_ipups.ini
+
+../test/te_ipups/group/te_ipups.iby				/epoc32/rom/include/te_ipups.iby
+
+PRJ_TESTMMPFILES
+../test/te_ipups/group/te_ipups.mmp
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/group/networking_ipups.mrp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,25 @@
+#
+# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# All rights reserved.
+# This component and the accompanying materials are made available
+# under the terms of "Eclipse Public License v1.0"
+# which accompanies this distribution, and is available
+# at the URL "http://www.eclipse.org/legal/epl-v10.html".
+#
+# Initial Contributors:
+# Nokia Corporation - initial contribution.
+#
+# Contributors:
+#
+# Description: 
+#
+
+component		networking_ipups
+source			\sf\os\networkingsrv\networkcontrol\ipupsplugins
+binary			\sf\os\networkingsrv\networkcontrol\ipupsplugins\group all
+exports			\sf\os\networkingsrv\networkcontrol\ipupsplugins\group
+notes_source	\component_defs\release.src
+
+
+ipr E
+ipr T \sf\os\networkingsrv\networkcontrol\ipupsplugins\test
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/policyfile/ups_101F7989_10281DD8.rss	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,44 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <ups/policies.rh>
+
+UID2 KUidUpsPolicyResourceFile
+
+//New Unique identifier for this policy file
+UID3 0x10282FBE   
+
+
+// UPS policy file for IP
+RESOURCE POLICIES IP_Default_policies
+	{
+	header = POLICY_HEADER
+		{
+       		authorisationpolicy = ECheckUnprotectedSids;
+                dialogcreator = 0x10285A7C;
+		// Use default policy evaluator
+		policyevaluator = 0x00000000;
+		};
+	policies = 
+		{
+		POLICY
+			{
+			sid_classes = KAllSids;
+			destination = "*";
+			options = KSessionYes | KSessionNo | KAlways | KNever;
+			}
+		
+		};
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/data/te_ipups.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,274 @@
+// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+
+//DialogOptionSelection (multiple options could be specified using delimeter ',') = Always/Never/SessionYes/SessionNo
+//ExpectedDialogOptions (Optional) = Always/Never/SessionYes/SessionNo
+//PlatSecPass = True/False
+//ExpectedUpsDecision (Optional, multiple options could be specified using delimeter ',') = Yes/No/SessionYes/SessionNo
+//PromptTriggerCount (Optional) = Expected number of times prompt would be triggered by test
+//NoOfAuthoriseCalls = 1..N (N - Maximum number of iterations , 10 is the limit)
+//AlwaysOpenNewSession (Each iteration open the session in the beiginning of the iteration and close at the end if set to True) = True/False
+//UseSameSubSession (Optional, Each iteration uses same SubSession if set to True) = True/False
+//UseSameSubSessionAfterClose (Optional, Each iteration uses same SubSession after closing it at the end of iteration) = True/False
+//AlwaysOpenNewSubSession (Optional, Always open new SubSession for each iteration) = True/False
+
+
+[ProtSidPlatSecFail]
+ServiceId = 10281DD8
+Destination = 0776655443
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+
+[UnProtSidPlatSecPass]
+ServiceId = 10281DD8
+Destination = 0776655443
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = True
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+
+[UnProtSidPlatSecFail]
+ServiceId = 10281DD8
+Destination = 0776655443
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+
+[ProtSidPlatSecPass]
+ServiceId = 10281DD8
+Destination = 0776655443
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = True
+ExpectedUpsDecision = Yes
+PromptTriggerCount = 0
+
+[ValidPromptResponse]
+ServiceId = 10281DD8
+Destination = 0776655443
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+ExpectedDialogOptions = Always/Never/SessionYes/SessionNo
+
+[ValidDestinationIPPrompted]
+ServiceId = 10281DD8
+Destination = 10.0.0.10
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+
+[UserResponseSessionYes]
+ServiceId = 10281DD8
+Destination = 10.0.0.10
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+
+[PromptAgainAfterSessionYes]
+ServiceId = 10281DD8
+Destination = 0789012345
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 2
+NoOfAuthoriseCalls = 2
+
+[PromptAfterSessionYesWithNewSubSession]
+ServiceId = 10281DD8
+Destination = 0789012345
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 2
+NoOfAuthoriseCalls = 2
+UseSameSubSessionAfterClose = True
+
+[PromptAgainAfterSessionNo]
+ServiceId = 10281DD8
+Destination = 0789012345
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionNo
+PlatSecPass = False
+ExpectedUpsDecision = SessionNo
+PromptTriggerCount = 2
+NoOfAuthoriseCalls = 2
+
+[PromptAfterSessionNoWithNewSubSession]
+ServiceId = 10281DD8
+Destination = 0789012345
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionNo
+PlatSecPass = False
+ExpectedUpsDecision = SessionNo
+PromptTriggerCount = 2
+NoOfAuthoriseCalls = 2
+UseSameSubSessionAfterClose = True
+
+[NoPromptAfterAlwaysResponse]
+ServiceId = 10281DD8
+Destination = 0789012345
+OpaqueData = NoOpaqueData
+DialogOptionSelection = Always
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+NoOfAuthoriseCalls = 2
+
+[NoPromptInNewSessionAfterAlways]
+ServiceId = 10281DD8
+Destination = 0789012345
+OpaqueData = NoOpaqueData
+DialogOptionSelection = Always
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+NoOfAuthoriseCalls = 2
+AlwaysOpenNewSession = True
+UseSameSubSessionAfterClose = True
+
+[NoPromptInSameSessionAfterNever]
+ServiceId = 10281DD8
+Destination = 0789012345
+OpaqueData = NoOpaqueData
+DialogOptionSelection = Never
+PlatSecPass = False
+ExpectedUpsDecision = SessionNo
+PromptTriggerCount = 1
+NoOfAuthoriseCalls = 2
+
+[NoPromptInNewSessionAfterNever]
+ServiceId = 10281DD8
+Destination = 0789012345
+OpaqueData = NoOpaqueData
+DialogOptionSelection = Never
+PlatSecPass = False
+ExpectedUpsDecision = SessionNo
+PromptTriggerCount = 1
+NoOfAuthoriseCalls = 2
+AlwaysOpenNewSession = True
+UseSameSubSessionAfterClose = True
+
+[UserResponseYes]
+ServiceId = 10281DD8
+Destination = 0789012345
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+
+[UserResponseNo]
+ServiceId = 10281DD8
+Destination = 10.0.0.1
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionNo
+PlatSecPass = False
+ExpectedUpsDecision = SessionNo
+PromptTriggerCount = 1
+
+[Client1UserResponseSessionYes]
+ServiceId = 10281DD8
+Destination = 20.0.0.1
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+
+[Client2UserResponseSessionNo]
+ServiceId = 10281DD8
+Destination = 20.0.0.2
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionNo
+PlatSecPass = False
+ExpectedUpsDecision = SessionNo
+
+[Client1UserResponseAlways]
+ServiceId = 10281DD8
+Destination = 20.0.0.1
+OpaqueData = NoOpaqueData
+DialogOptionSelection = Always
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+
+[Client2UserResponseNever]
+ServiceId = 10281DD8
+Destination = 20.0.0.2
+OpaqueData = NoOpaqueData
+DialogOptionSelection = Never
+PlatSecPass = False
+ExpectedUpsDecision = SessionNo
+
+[Client2UserResponseSessionNo]
+ServiceId = 10281DD8
+Destination = 20.0.0.2
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionNo
+PlatSecPass = False
+ExpectedUpsDecision = SessionNo
+
+[MultipleSubSessionsWithAlways]
+ServiceId = 10281DD8
+Destination = 20.0.0.1
+OpaqueData = NoOpaqueData
+DialogOptionSelection = Always
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes
+PromptTriggerCount = 1
+NoOfAuthoriseCalls = 2
+AlwaysOpenNewSubSession = True
+
+[MultipleSubSessionsWithSessionYes]
+ServiceId = 10281DD8
+Destination = 20.0.0.1
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes,Always
+PlatSecPass = False
+ExpectedUpsDecision = SessionYes,SessionYes
+PromptTriggerCount = 2
+NoOfAuthoriseCalls = 2
+AlwaysOpenNewSubSession = True
+
+[CancelPromptCall]
+ServiceId = 10281DD8
+Destination = 20.0.0.1
+OpaqueData = NoOpaqueData
+DialogOptionSelection = SessionYes
+PlatSecPass = False
+CancelPromptCall = True
+PromptTriggerCount = 0
+
+[StorePromptTriggerCount]
+StorePromptTriggerCount = True
+
+[PromptCount_2]
+PromptTriggerCount = 2
+
+[PromptCount_3]
+PromptTriggerCount = 3
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/group/te_ipups.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,42 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// tups_ipups.iby
+// 
+//
+
+#ifndef __TE_IPUPS_IBY__
+#define __TE_IPUPS_IBY__
+
+#include <upstestnotifier.iby>
+#include <ipupsdialog.iby>
+#include <ups.iby>
+
+#ifdef NETWORKING_UPS_TESTS
+data=ABI_DIR\BUILD_DIR\te_ipups.exe					\sys\bin\te_ipups.exe
+#endif
+
+REM Test policy files export
+data=ZDRIVE\private\10283558\policies\ups_10285B91_10281DD8.rsc	\private\10283558\policies\ups_10285B91_10281DD8.rsc
+data=ZDRIVE\private\10283558\policies\ups_A0000001_10281DD8.rsc	\private\10283558\policies\ups_A0000001_10281DD8.rsc
+data=ZDRIVE\private\10283558\policies\ups_10000001_10281DD8.rsc	\private\10283558\policies\ups_10000001_10281DD8.rsc
+data=ZDRIVE\private\10283558\policies\ups_10000002_10281DD8.rsc	\private\10283558\policies\ups_10000002_10281DD8.rsc
+data=ZDRIVE\system\data\ups_test_always_101F7989_10281DD8.rsc	\system\data\ups_test_always_101F7989_10281DD8.rsc
+
+#ifdef NETWORKING_UPS_TESTS
+REM Test script and data files export
+data = ZDRIVE\testdata\scripts\te_ipups\te_ipups.script 	\testdata\scripts\te_ipups\te_ipups.script
+data = ZDRIVE\testdata\configs\te_ipups\te_ipups.ini 		\testdata\configs\te_ipups\te_ipups.ini
+#endif
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/group/te_ipups.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,86 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+*/
+
+
+
+
+TARGET      te_ipups.exe
+TARGETTYPE  exe
+UID         0x1000007A 0x10285B91
+VENDORID	0x70000001
+ 
+CAPABILITY ALL -TCB
+
+SOURCEPATH  ../src
+SOURCE	    te_ipups_stepbase.cpp
+SOURCE	    te_ipups_server.cpp
+SOURCE	    te_ipups_ups_step.cpp
+SOURCE	    te_ipups_notify_count.cpp
+SOURCE	    te_ipups_delete_decision_db.cpp
+
+USERINCLUDE  ../inc
+
+SOURCEPATH  ../policyfile
+
+START RESOURCE ups_10285B91_10281DD8.rss
+TARGETPATH /private/10283558/policies
+END
+
+START RESOURCE ups_10285B91_10281DD8.rss
+TARGETPATH /private/10283558/policies
+TARGET ups_a0000001_10281dd8.rsc
+END
+
+START RESOURCE ups_10285B91_10281DD8.rss
+TARGETPATH /private/10283558/policies
+TARGET ups_10000001_10281dd8.rsc
+END
+
+START RESOURCE ups_10285B91_10281DD8.rss
+TARGETPATH /private/10283558/policies
+TARGET ups_10000002_10281dd8.rsc
+END
+
+START RESOURCE ups_test_always_101F7989_10281DD8.rss
+TARGETPATH	/system/data
+TARGET ups_test_always_101f7989_10281dd8.rss
+END
+
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+SYSTEMINCLUDE /epoc32/include
+SYSTEMINCLUDE /epoc32/include/ups
+SYSTEMINCLUDE /epoc32/include/test
+#else
+OS_LAYER_SYSTEMINCLUDE_SYMBIAN
+SYSTEMINCLUDE /epoc32/include/platform/test
+#endif
+
+LIBRARY     euser.lib
+LIBRARY		testexecuteutils.lib 
+LIBRARY		testexecutelogclient.lib 
+LIBRARY		bafl.lib
+LIBRARY     efsrv.lib 
+LIBRARY   	numberconversion.lib
+LIBRARY		upsclient.lib
+LIBRARY		upsmanagement.lib
+LIBRARY		upsnotifierutil.lib
+LIBRARY		estor.lib 
+
+SMPSAFE
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_delete_decision_db.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,42 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// te_ipups_notify_count.h
+// 
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+
+
+#if (!defined DELETE_DECISION_DB_STEP_H)
+#define DELETE_DECISION_DB_STEP_H
+#include <test/testexecutestepbase.h>
+
+class CIpUpsDeleteDecisionDB : public CTeIpUpsStepBase
+	{
+public:
+	CIpUpsDeleteDecisionDB();
+	virtual ~CIpUpsDeleteDecisionDB();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();	
+	};
+
+_LIT(KIpUpsDeleteDecisionDB,"IpUpsDeleteDecisionDB");
+
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_notify_count.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,41 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+
+
+#if (!defined NOTIFY_COUNT_STEP_H)
+#define NOTIFY_COUNT_STEP_H
+#include <test/testexecutestepbase.h>
+
+class CIpUpsNotifyCount : public CTeIpUpsStepBase
+	{
+public:
+	CIpUpsNotifyCount();
+	virtual ~CIpUpsNotifyCount();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();	
+	};
+
+_LIT(KIpUpsNotifyCount,"IpUpsNotifyCount");
+
+_LIT(KIpUpsStorePromptTriggerCount, "StorePromptTriggerCount");
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_server.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,36 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+
+#if (!defined TE_IPUPS_SERVER_H)
+#define TE_IPUPS_SERVER_H
+#include <test/testexecuteserverbase.h>
+
+
+class CTeIpUpsSuite : public CTestServer
+	{
+public:
+	static CTeIpUpsSuite* NewL(const TDesC& aName);
+	
+	virtual CTestStep* CreateTestStep(const TDesC& aStepName);
+
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_stepbase.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,36 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+
+#if (!defined TE_IPUPS_STEP_BASE)
+#define TE_IPUPS_STEP_BASE
+#include <test/testexecutestepbase.h>
+#include <ups/upsclient.h>
+
+class CTeIpUpsStepBase : public CTestStep
+	{
+public:
+	virtual ~CTeIpUpsStepBase();
+	CTeIpUpsStepBase();
+	virtual TVerdict doTestStepPreambleL(); 
+	virtual TVerdict doTestStepPostambleL();	
+	};
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/inc/te_ipups_ups_step.h	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,93 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+
+
+#if (!defined TE_IPUPS_UPS_STEP_H)
+#define  TE_IPUPS_UPS_STEP_H 
+#include <test/testexecutestepbase.h>
+#include "te_ipups_stepbase.h"
+#include <ups/upsnotifierutil.h>
+
+class CIpUpsStep : public CTeIpUpsStepBase
+	{
+public:
+	CIpUpsStep();
+	~CIpUpsStep();
+	virtual TVerdict doTestStepPreambleL();
+	virtual TVerdict doTestStepL();
+	virtual TVerdict doTestStepPostambleL();
+private:
+	UserPromptService::CPolicy::TOptions ButtonToOption(const TPtrC& aButton);
+	TPtrC TUpsDecisionToString(TUpsDecision aDecision);
+	TUpsDecision TUpsDecisionFromString(const TPtrC& aDecision);
+	TBool OptionsFlagToString(TUint aOptions, TDes& aOptionString, TBool aCheckAgainstExpectedOpt=ETrue);
+	TBool VerifyAndPrintPromptDataL();
+	void GetValueAt(const TInt aPos, const TPtrC& aArrayString, const TChar aDelimeter, TDes& aValue);
+	
+	void GetSessionAndSubSession(UserPromptService::RUpsSession& aUpsSession, UserPromptService::RUpsSubsession& aUpsSubsession);
+	
+	TInt iNotifyCount;
+	UserPromptService::CPromptData* iPromptData;
+	
+	TInt 			iServiceUID;
+	TPtrC 			iServerName;
+	TPtrC 			iDestination;
+	TPtrC			iOpaqueData;
+	TBuf8<64>		iOpaqueDataStored;
+	TPtrC			iDialogOption;
+	TPtrC			iExpectedDialogOptions;
+	TBool			iPlatSecPass;	
+	TPtrC 			iExpectedUpsDecision;
+	TInt			iPromptTriggerCount;
+	TInt			iNoOfAuthoriseCalls;	
+	TBool			iCancelPromptCall;
+	
+	TBool			iAlwaysOpenNewSession;
+	
+	TBool			iUseSameSubSession;
+	TBool			iUseSameSubSessionAfterClose;
+	TBool			iAlwaysOpenNewSubSession;
+	TInt			iTestNotifierMode;
+	};
+
+_LIT(KIpUpsClientStep,"IpUpsStep");
+
+_LIT(KIpUpsServiceId, "ServiceId");
+_LIT(KIpUpsDestination, "Destination");
+_LIT(KIpUpsOpaqueData, "OpaqueData");
+_LIT(KIpUpsDialogOptionSelection, "DialogOptionSelection");
+_LIT(KExpectedDialogOptions, "ExpectedDialogOptions");
+_LIT(KIpUpsPlatSecPass, "PlatSecPass");
+_LIT(KIpUpsExpectedDecision, "ExpectedUpsDecision");
+_LIT(KIpUpsPromptTriggerCount, "PromptTriggerCount");
+_LIT(KIpUpsNoOfAuthoriseCalls, "NoOfAuthoriseCalls");
+_LIT(KIpUpsCancelPromptCall, "CancelPromptCall");
+
+_LIT(KIpUpsAlwaysOpenNewSession, "AlwaysOpenNewSession");
+
+_LIT(KIpUpsUseSameSubSession, "UseSameSubSession");
+_LIT(KIpUpsUseSameSubSessionAfterClose, "UseSameSubSessionAfterClose");
+_LIT(KIpUpsAlwaysOpenNewSubSession, "AlwaysOpenNewSubSession");
+
+const TInt KMaxNoOfAuthoriseCalls = 10;
+const TChar KIniFileDelimeter = ',';
+
+#endif
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/policyfile/ups_10285B91_10281DD8.rss	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,43 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <ups/policies.rh>
+
+UID2 KUidUpsPolicyResourceFile
+
+//New Unique identifier for this policy file
+UID3 0x10285B92   
+
+
+// UPS policy file for IP
+RESOURCE POLICIES IP_Default_policies
+	{
+	header = POLICY_HEADER
+		{
+       	authorisationpolicy = ECheckUnprotectedSids;
+        dialogcreator = 0x10285A7C;
+		policyevaluator = 0x00000000;
+		};
+	policies = 
+		{
+		POLICY
+			{ 
+			sid_classes = KAllSids;
+			destination = "*";
+			options = KSessionYes | KSessionNo | KAlways | KNever;
+			}
+		
+		};
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/policyfile/ups_test_always_101F7989_10281DD8.rss	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,44 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <ups/policies.rh>
+
+UID2 KUidUpsPolicyResourceFile
+
+//New Unique identifier for this policy file
+UID3 0x10282FBE   
+
+
+// UPS policy file for IP
+RESOURCE POLICIES IP_Default_policies
+	{
+	header = POLICY_HEADER
+		{
+       		authorisationpolicy = EAlwaysCheck;
+                dialogcreator = 0x10285A7C;
+		// Use default policy evaluator
+		policyevaluator = 0x00000000;
+		};
+	policies = 
+		{
+		POLICY
+			{
+			sid_classes = KAllSids;
+			destination = "*";
+			options = KSessionYes | KSessionNo | KAlways | KNever;
+			}
+		
+		};
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/scripts/te_ipups.script	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,372 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Contains integration tests for UPS server.
+// 
+//
+
+PRINT Run Basic integration test cases for PREQ1116 ( IP Networking User Prompting )
+
+RUN_PROGRAM -1 SETCAP te_ipups.exe 0003FFFE -SID A0000001 te_ipups_un_prot_sid.exe
+RUN_PROGRAM -1 SETCAP te_ipups.exe 0003FFFE -SID 10000001 te_ipups_1.exe
+RUN_PROGRAM -1 SETCAP te_ipups.exe 0003FFFE -SID 10000002 te_ipups_2.exe
+
+LOAD_SUITE te_ipups
+LOAD_SUITE te_ipups_1
+LOAD_SUITE te_ipups_2
+LOAD_SUITE te_ipups_un_prot_sid
+
+
+START_TESTCASE ProtSidPlatSecFail
+//!@SYMTestCaseID NET-IP-UPS-1001
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Prompt when protected SID, platsec fails.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini ProtSidPlatSecFail
+END_TESTCASE ProtSidPlatSecFail
+
+START_TESTCASE UnProtSidPlatSecPass
+//!@SYMTestCaseID NET-IP-UPS-1002
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Prompt when unprotected SID, platsec passes.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups_un_prot_sid IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini UnProtSidPlatSecPass
+END_TESTCASE UnProtSidPlatSecPass
+
+START_TESTCASE UnProtSidPlatSecFail
+//!@SYMTestCaseID NET-IP-UPS-1003
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Prompt when unprotected SID, platsec fails.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups_un_prot_sid IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini UnProtSidPlatSecFail
+END_TESTCASE UnProtSidPlatSecFail
+
+START_TESTCASE ProtSidPlatSecPass
+//!@SYMTestCaseID NET-IP-UPS-1004
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc No Prompt when protected SID, platsec passes.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini ProtSidPlatSecPass
+END_TESTCASE ProtSidPlatSecPass
+
+START_TESTCASE ValidPromptResponse
+//!@SYMTestCaseID NET-IP-UPS-1005
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Prompt only offers SessionYes, SessionNo, Always & Never.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini ValidPromptResponse
+END_TESTCASE ValidPromptResponse
+
+START_TESTCASE ValidDestinationIPPrompted
+//!@SYMTestCaseID NET-IP-UPS-1006
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Prompt contains details of client.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini ValidDestinationIPPrompted
+END_TESTCASE ValidDestinationIPPrompted
+
+START_TESTCASE UserResponseSessionYes
+//!@SYMTestCaseID NET-IP-UPS-1007
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Client receives correct SessionYes response.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini UserResponseSessionYes
+END_TESTCASE UserResponseSessionYes
+
+START_TESTCASE PromptAgainAfterSessionYes
+//!@SYMTestCaseID NET-IP-UPS-1008
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Prompt again after response first SessionYes response.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini PromptAgainAfterSessionYes
+END_TESTCASE PromptAgainAfterSessionYes
+
+START_TESTCASE PromptAfterSessionYesWithNewSubSession
+//!@SYMTestCaseID NET-IP-UPS-1009
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Prompt when starting subsequent sub session after initial SessionYes.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini PromptAfterSessionYesWithNewSubSession
+END_TESTCASE PromptAfterSessionYesWithNewSubSession
+
+START_TESTCASE PromptAgainAfterSessionNo
+//!@SYMTestCaseID NET-IP-UPS-1010
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Prompt again after response SessionNo.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini PromptAgainAfterSessionNo
+END_TESTCASE PromptAgainAfterSessionNo
+
+START_TESTCASE PromptAfterSessionNoWithNewSubSession
+//!@SYMTestCaseID NET-IP-UPS-1011
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Prompt when starting subsequent sub session after initial SessionNo.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini PromptAfterSessionNoWithNewSubSession
+END_TESTCASE PromptAfterSessionNoWithNewSubSession
+
+START_TESTCASE NoPromptAfterAlwaysResponse
+//!@SYMTestCaseID NET-IP-UPS-1012
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc User response Always - No further Prompting in same session.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini NoPromptAfterAlwaysResponse
+END_TESTCASE NoPromptAfterAlwaysResponse
+
+START_TESTCASE NoPromptInNewSessionAfterAlways
+//!@SYMTestCaseID NET-IP-UPS-1013
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc User response Always - No further Prompting in subsequent session.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini NoPromptInNewSessionAfterAlways
+END_TESTCASE NoPromptInNewSessionAfterAlways
+
+START_TESTCASE NoPromptInSameSessionAfterNever
+//!@SYMTestCaseID NET-IP-UPS-1014
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc User response Never - No further Prompting in same session.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini NoPromptInSameSessionAfterNever
+END_TESTCASE NoPromptInSameSessionAfterNever
+
+START_TESTCASE NoPromptInNewSessionAfterNever
+//!@SYMTestCaseID NET-IP-UPS-1015
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc User response Never - No further Prompting in subsequent session.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini NoPromptInNewSessionAfterNever
+END_TESTCASE NoPromptInNewSessionAfterNever
+
+START_TESTCASE UserResponseYes
+//!@SYMTestCaseID NET-IP-UPS-1016
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc User returned response SessionYes and receives same.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini UserResponseYes
+END_TESTCASE UserResponseYes
+
+START_TESTCASE UserResponseNo
+//!@SYMTestCaseID NET-IP-UPS-1017
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc User returned response SessionNo and receives same.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini UserResponseNo
+END_TESTCASE UserResponseNo
+
+START_TESTCASE MultipleClientWithSessionYesAndSessionNo
+//!@SYMTestCaseID NET-IP-UPS-1018
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Multiple UPS SubSessions and clients - SessionYes + SessionNo User response.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsNotifyCount z:\testdata\configs\te_ipups\te_ipups.ini StorePromptTriggerCount
+CONCURRENT
+RUN_TEST_STEP 100 te_ipups_1 IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client1UserResponseSessionYes
+DELAY 1
+RUN_TEST_STEP 100 te_ipups_2 IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client2UserResponseSessionNo
+DELAY 1
+RUN_TEST_STEP 100 te_ipups   IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client2UserResponseSessionNo
+CONSECUTIVE
+RUN_TEST_STEP 100 te_ipups IpUpsNotifyCount z:\testdata\configs\te_ipups\te_ipups.ini PromptCount_3
+END_TESTCASE MultipleClientWithSessionYesAndSessionNo
+
+START_TESTCASE MultipleClientWithAlwaysAndNever
+//!@SYMTestCaseID NET-IP-UPS-1019
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Multiple UPS SubSessions and Clients - Always + Never User responses.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsNotifyCount z:\testdata\configs\te_ipups\te_ipups.ini StorePromptTriggerCount
+CONCURRENT
+RUN_TEST_STEP 100 te_ipups_1 IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client1UserResponseAlways
+DELAY 1
+RUN_TEST_STEP 100 te_ipups_2 IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client2UserResponseNever
+DELAY 1
+RUN_TEST_STEP 100 te_ipups   IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client2UserResponseNever
+CONSECUTIVE
+RUN_TEST_STEP 100 te_ipups IpUpsNotifyCount z:\testdata\configs\te_ipups\te_ipups.ini PromptCount_3
+END_TESTCASE MultipleClientWithAlwaysAndNever
+
+START_TESTCASE MultipleClientWithAlwaysAndSessionNo
+//!@SYMTestCaseID NET-IP-UPS-1020
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Multiple UPS SubSessions and clients - Always + SessionNo User Responses.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsNotifyCount z:\testdata\configs\te_ipups\te_ipups.ini StorePromptTriggerCount
+CONCURRENT
+RUN_TEST_STEP 100 te_ipups_1 IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client1UserResponseAlways
+DELAY 1
+RUN_TEST_STEP 100 te_ipups_2 IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client2UserResponseSessionNo
+DELAY 1
+RUN_TEST_STEP 100 te_ipups   IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client2UserResponseSessionNo
+CONSECUTIVE
+RUN_TEST_STEP 100 te_ipups IpUpsNotifyCount z:\testdata\configs\te_ipups\te_ipups.ini PromptCount_3
+END_TESTCASE MultipleClientWithAlwaysAndSessionNo
+
+START_TESTCASE MultipleClientWithSessionYesAndNever
+//!@SYMTestCaseID NET-IP-UPS-1021
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Multiple UPS SubSessions and clients - SessionYes + Never User Responses.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsNotifyCount z:\testdata\configs\te_ipups\te_ipups.ini StorePromptTriggerCount
+CONCURRENT
+RUN_TEST_STEP 100 te_ipups_1 IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client1UserResponseSessionYes
+DELAY 1
+RUN_TEST_STEP 100 te_ipups_2 IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client2UserResponseNever
+DELAY 1
+RUN_TEST_STEP 100 te_ipups 	 IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini Client2UserResponseNever
+CONSECUTIVE
+RUN_TEST_STEP 100 te_ipups IpUpsNotifyCount z:\testdata\configs\te_ipups\te_ipups.ini PromptCount_3
+END_TESTCASE MultipleClientWithSessionYesAndNever
+
+START_TESTCASE MultipleSubSessionsWithAlways
+//!@SYMTestCaseID NET-IP-UPS-1022
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Multiple UPS SubSessions, single client - Always + No prompt.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini MultipleSubSessionsWithAlways
+END_TESTCASE MultipleSubSessionsWithAlways
+
+START_TESTCASE MultipleSubSessionsWithSessionYes
+//!@SYMTestCaseID NET-IP-UPS-1023
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Multiple UPS SubSessions, single client - SessionYes + Prompt.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini MultipleSubSessionsWithSessionYes
+END_TESTCASE MultipleSubSessionsWithSessionYes
+
+START_TESTCASE CancelPromptCall
+//!@SYMTestCaseID NET-IP-UPS-1024
+//!@SYMPREQ PREQ1116
+//!@SYMTestCaseDesc Cancel authorisation request mid-prompting.
+//!@SYMTestPriority Critical
+//!@SYMTestActions Start UPS Session, SubSession and call Authorise.
+//!@SYMTestExpectedResults Pass
+//!@SYMTestType CIT
+
+RUN_TEST_STEP 100 te_ipups IpUpsDeleteDecisionDB
+RUN_TEST_STEP_RESULT  -3 100 te_ipups IpUpsStep z:\testdata\configs\te_ipups\te_ipups.ini CancelPromptCall
+END_TESTCASE CancelPromptCall
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_delete_decision_db.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,82 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+ 
+#include "te_ipups_stepbase.h"
+#include "te_ipups_delete_decision_db.h"
+ 
+CIpUpsDeleteDecisionDB::CIpUpsDeleteDecisionDB()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KIpUpsDeleteDecisionDB);
+	}
+
+CIpUpsDeleteDecisionDB::~CIpUpsDeleteDecisionDB()
+/**
+ * Destructor
+ */
+	{ 	
+	}
+
+TVerdict CIpUpsDeleteDecisionDB::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ */
+	{	
+ 	SetTestStepResult(EPass);
+	return TestStepResult();
+	}
+
+TVerdict CIpUpsDeleteDecisionDB::doTestStepL()
+/**
+ * @return - TVerdict code
+ */
+	{
+	UserPromptService::RUpsManagement upsManagement;
+	
+	//Connect to the UPS Manager
+	User::LeaveIfError(upsManagement.Connect());
+	
+	//Delete the contents of the Decision Database
+ 	TRAPD(err, upsManagement.DeleteDatabaseL());
+ 	
+ 	if (err != KErrNone)
+ 		{
+ 		ERR_PRINTF2(_L("UPS Database Deletion attempt failed ( %d )"), err);
+ 		}
+ 	else
+ 		{
+ 		INFO_PRINTF1(_L("UPS Database Deleted."));
+ 		} 	
+ 	
+ 	SetTestStepError(err);
+ 	
+	return TestStepResult();
+	}
+	
+TVerdict CIpUpsDeleteDecisionDB::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+	return TestStepResult();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_notify_count.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,113 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+
+#include "te_ipups_ups_step.h"
+#include "te_ipups_notify_count.h"
+#include "upstestnotifierproperties.h"
+
+CIpUpsNotifyCount::CIpUpsNotifyCount()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KIpUpsNotifyCount);
+	}
+
+CIpUpsNotifyCount::~CIpUpsNotifyCount()
+/**
+ * Destructor
+ */
+	{ 	
+	}
+
+TVerdict CIpUpsNotifyCount::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+	TSecurityPolicy nullPolicy(ECapability_None);
+    TInt err;
+    
+	//Properties modified to be returned to test harness from test notifier
+    err = RProperty::Define(KUidPSUPSTestNotifCategory, KUnStart, KUnCountKeyType, nullPolicy, nullPolicy);
+    if (err != KErrAlreadyExists && err != KErrNone)
+    	{
+    	User::LeaveIfError(err);
+    	}
+    
+    //Define a new Property which would be used to store the count to retreive later for comparison    
+    err = RProperty::Define(KUidPSUPSTestNotifCategory, KUnStoredNotifyCount, KUnStoredCountKeyType, nullPolicy, nullPolicy);
+    if (err != KErrAlreadyExists && err != KErrNone)
+    	{
+    	User::LeaveIfError(err);
+    	}
+    
+ 	SetTestStepResult(EPass);
+	return TestStepResult();
+	}
+
+TVerdict CIpUpsNotifyCount::doTestStepL()
+/**
+ *	NotifyCount test step either stores the count retireved and store it in separate property defined or
+ *	it compares the retireved notify count with the stored value + count increment expected relative to stored.
+ * @return - TVerdict code
+ */
+	{	
+	TBool storePromptTriggerCount = EFalse;
+	
+	GetBoolFromConfig(ConfigSection(),KIpUpsStorePromptTriggerCount, storePromptTriggerCount);
+	
+	if (storePromptTriggerCount)
+		{
+		TInt notifyCountReturned = 0;
+		User::LeaveIfError(RProperty::Get(KUidPSUPSTestNotifCategory, KUnNotifyCount, notifyCountReturned));
+		
+		User::LeaveIfError(RProperty::Set(KUidPSUPSTestNotifCategory, KUnStoredNotifyCount, notifyCountReturned));
+		
+		INFO_PRINTF2(_L("NotifyCount Stored ( %d )"), notifyCountReturned);
+		}
+	else
+		{
+		TInt promptTriggerCount = 0;		
+		
+		GetIntFromConfig(ConfigSection(),KIpUpsPromptTriggerCount, promptTriggerCount);
+	
+		TInt notifyCountReturned = 0;
+		User::LeaveIfError(RProperty::Get(KUidPSUPSTestNotifCategory, KUnNotifyCount, notifyCountReturned));
+		
+		TInt sotredPromptTriggerCount = 0;
+		User::LeaveIfError(RProperty::Get(KUidPSUPSTestNotifCategory, KUnStart+2, sotredPromptTriggerCount));
+	
+		INFO_PRINTF3(_L("NotifyCount Expected ( %d ) <> NotifyCount Returned ( %d )"), promptTriggerCount+sotredPromptTriggerCount, notifyCountReturned);
+	
+		TEST ( (promptTriggerCount + sotredPromptTriggerCount) == notifyCountReturned);
+		}	
+	
+	return TestStepResult();
+	}
+	
+TVerdict CIpUpsNotifyCount::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ */
+	{
+	return TestStepResult();
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_server.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,111 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+
+#include "te_ipups_server.h"
+#include "te_ipups_ups_step.h"
+#include "te_ipups_notify_count.h"
+#include "te_ipups_delete_decision_db.h"
+#include <bacline.h>
+
+CTeIpUpsSuite* CTeIpUpsSuite::NewL(const TDesC& aName)
+/**
+ * @return - Instance of the test server
+ */
+	{
+	CTeIpUpsSuite * server = new (ELeave) CTeIpUpsSuite();
+	CleanupStack::PushL(server);
+	server->ConstructL(aName);
+	CleanupStack::Pop(server);
+	return server;
+	}
+
+
+LOCAL_C void MainL()
+/**
+ * Main implementation
+ */
+	{
+	CActiveScheduler* sched=NULL;
+	sched=new(ELeave) CActiveScheduler;
+	CActiveScheduler::Install(sched);
+	CTeIpUpsSuite* server = NULL;
+		
+	CCommandLineArguments* args = CCommandLineArguments::NewLC();
+	TPtrC exeName = args->Arg(0);
+	TParse fullName;
+	fullName.Set(exeName, NULL, NULL);
+	CleanupStack::PopAndDestroy(args);
+	
+	// Create the CTestServer derived server
+	TRAPD(err,server = CTeIpUpsSuite::NewL(fullName.Name()));
+	if(!err)
+		{
+		// Sync with the client and enter the active scheduler
+		RProcess::Rendezvous(KErrNone);
+		sched->Start();
+		}
+	delete server;
+	delete sched;
+	}
+
+
+
+GLDEF_C TInt E32Main()
+/**
+ * @return - Standard Epoc error code on process exit
+ * Process entry point. Called by client using RProcess API
+ */
+	{
+	__UHEAP_MARK;
+	CTrapCleanup* cleanup = CTrapCleanup::New();
+	if(cleanup == NULL)
+		{
+		return KErrNoMemory;
+		}
+	TRAPD(err,MainL());
+	delete cleanup;
+	__UHEAP_MARKEND;
+	return err;
+    }
+
+
+CTestStep* CTeIpUpsSuite::CreateTestStep(const TDesC& aStepName)
+/**
+ * @return - A CTestStep derived instance
+ */
+	{
+	CTestStep* testStep = NULL;
+	
+	if(aStepName == KIpUpsClientStep)
+		{
+		testStep = new CIpUpsStep();
+		}
+	else if(aStepName == KIpUpsNotifyCount)
+		{
+		testStep = new CIpUpsNotifyCount();
+		}
+	else if(aStepName == KIpUpsDeleteDecisionDB)
+		{
+		testStep = new CIpUpsDeleteDecisionDB();
+		}
+	
+	return testStep;
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_stepbase.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,47 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+
+#include "te_ipups_stepbase.h"
+
+TVerdict CTeIpUpsStepBase::doTestStepPreambleL()
+/**
+ * @return - TVerdict
+ */
+	{
+	SetTestStepResult(EPass);
+	return TestStepResult();
+	}
+
+TVerdict CTeIpUpsStepBase::doTestStepPostambleL()
+/**
+ * @return - TVerdict
+ */
+	{
+	return TestStepResult();
+	}
+
+CTeIpUpsStepBase::~CTeIpUpsStepBase()
+	{
+	}
+
+CTeIpUpsStepBase::CTeIpUpsStepBase()
+	{	
+	}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/ipupsplugins/test/te_ipups/src/te_ipups_ups_step.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,613 @@
+// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file
+ @test
+ @internalComponent - Internal Symbian test code 
+*/
+
+#include "te_ipups_ups_step.h"  
+#include "upstestnotifierproperties.h"
+#include <s32mem.h> 
+
+static TInt ThreadFunction(TAny *)
+	{
+	return KErrNone;
+	}
+	
+CIpUpsStep::~CIpUpsStep()
+/**
+ * Destructor
+ */
+	{  	
+	} // End of function
+
+
+CIpUpsStep::CIpUpsStep()
+/**
+ * Constructor
+ */
+	{
+	SetTestStepName(KIpUpsClientStep);
+	} // End of function
+
+
+TVerdict CIpUpsStep::doTestStepPreambleL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{
+	TSecurityPolicy nullPolicy(ECapability_None);
+    TInt err;
+    
+    //Properties modified to be returned to test harness from test notifier
+    err = RProperty::Define(KUidPSUPSTestNotifCategory, KUnNotifyCount, KUnCountKeyType, nullPolicy, nullPolicy);
+    if (err != KErrAlreadyExists && err != KErrNone)
+    	{
+    	User::LeaveIfError(err);
+    	}
+    
+    err = RProperty::Define(KUidPSUPSTestNotifCategory, KUnNotifyValues, KUnNotifyValuesKeyType, nullPolicy, nullPolicy);
+    if (err != KErrAlreadyExists && err != KErrNone)
+    	{
+    	User::LeaveIfError(err);
+    	}
+    
+    //Properties test notifier requires from test harness about the button press and delay
+    err = RProperty::Define(KUidPSUPSTestNotifCategory, KUtButtonPress, KUtButtonPressKeyType, nullPolicy, nullPolicy);
+    if (err != KErrAlreadyExists && err != KErrNone)
+    	{
+    	User::LeaveIfError(err);
+    	}
+    
+    err = RProperty::Define(KUidPSUPSTestNotifCategory, KUtButtonPressDelay, KUtButtonPressDelayKeyType, nullPolicy, nullPolicy);
+    if (err != KErrAlreadyExists && err != KErrNone)
+    	{
+    	User::LeaveIfError(err);
+    	}
+    
+    //Get the testNotifier working mode, filemode or P&S mode
+    User::LeaveIfError(RProperty::Get(KUidPSUPSTestNotifCategory, KUtFileOverride, iTestNotifierMode));
+    
+    //Set the property to override working of testNotifier in P&S mode instead of filemode
+    User::LeaveIfError(RProperty::Set(KUidPSUPSTestNotifCategory, KUtFileOverride, KFileOverride));
+    
+    //Initialise optional data iNoOfAuthoriseCalls (should be '1' minimum).
+    iNoOfAuthoriseCalls = 1;
+    
+    //Initialise optional data iPromptTriggerCount (Initialising with '-1' means no check if user not specfied in INI file).
+    iPromptTriggerCount = -1;
+    
+    //Read data from INI file
+	GetHexFromConfig(ConfigSection(), KIpUpsServiceId, iServiceUID);
+	GetStringFromConfig(ConfigSection(),KIpUpsDestination, iDestination);
+	GetStringFromConfig(ConfigSection(),KIpUpsOpaqueData, iOpaqueData);
+	GetStringFromConfig(ConfigSection(),KIpUpsDialogOptionSelection, iDialogOption);
+	GetBoolFromConfig(ConfigSection(),KIpUpsPlatSecPass, iPlatSecPass);	
+	GetStringFromConfig(ConfigSection(),KIpUpsExpectedDecision, iExpectedUpsDecision);	
+	GetIntFromConfig(ConfigSection(),KIpUpsPromptTriggerCount, iPromptTriggerCount);
+    GetIntFromConfig(ConfigSection(),KIpUpsNoOfAuthoriseCalls, iNoOfAuthoriseCalls);    
+    GetBoolFromConfig(ConfigSection(),KIpUpsCancelPromptCall, iCancelPromptCall);
+    
+    GetBoolFromConfig(ConfigSection(),KIpUpsAlwaysOpenNewSession, iAlwaysOpenNewSession);
+        
+    GetBoolFromConfig(ConfigSection(),KIpUpsUseSameSubSession, iUseSameSubSession);
+    GetBoolFromConfig(ConfigSection(),KIpUpsUseSameSubSessionAfterClose, iUseSameSubSessionAfterClose);
+    GetBoolFromConfig(ConfigSection(),KIpUpsAlwaysOpenNewSubSession, iAlwaysOpenNewSubSession);
+    
+    //Keep the initial count of the notifier recorded, should be '0'
+    User::LeaveIfError(RProperty::Get(KUidPSUPSTestNotifCategory, KUnNotifyCount, iNotifyCount));
+    
+	SetTestStepResult(EPass);	
+	return TestStepResult();
+	} // End of function.
+
+
+TVerdict CIpUpsStep::doTestStepL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{	
+	UserPromptService::RUpsSession 		upsSession;
+    UserPromptService::RUpsSubsession 	upsSubSession[KMaxNoOfAuthoriseCalls];
+        
+    RThread dummyThread[KMaxNoOfAuthoriseCalls];
+    TRequestStatus threadStatus; 	
+ 	
+ 	TInt notifyCountBeforeTest = iNotifyCount;
+ 	TInt notifyCountAfterTest = 0;
+	
+	TServiceId serviceId = TUid::Uid(iServiceUID);
+	
+	TInt subSessionCntr = 0;
+	
+	//Repeat call to Authorise as specified in INI file (through NoOfAuthoriseCalls data)
+    for (TInt cntr=0; cntr<iNoOfAuthoriseCalls && cntr<KMaxNoOfAuthoriseCalls; cntr++)
+    	{
+    	if (upsSession.Handle() == KNullHandle)
+    		{
+    		User::LeaveIfError(upsSession.Connect());
+    		INFO_PRINTF1(_L("UPS Session Started."));
+    		}
+    	
+    	if (upsSubSession[subSessionCntr].SubSessionHandle() == KNullHandle)
+    		{
+    		//Create dummy thread with different names
+    		TBuf<32> dummyThreadName;
+    		dummyThreadName.Copy(_L("DummyThread_0123456789"));
+    		
+    		User::LeaveIfError(dummyThread[subSessionCntr].Create(dummyThreadName.Right(dummyThreadName.Length()-subSessionCntr), ThreadFunction, 4096, 4096, 4096, 0, EOwnerThread));
+    		
+			dummyThread[subSessionCntr].Rendezvous(threadStatus);
+			dummyThread[subSessionCntr].Resume();
+ 			User::WaitForRequest(threadStatus);
+ 			
+    		upsSubSession[subSessionCntr] = UserPromptService::RUpsSubsession();
+    		User::LeaveIfError(upsSubSession[subSessionCntr].Initialise(upsSession, dummyThread[subSessionCntr]));
+    		INFO_PRINTF1(_L("UPS SubSession Initialised."));
+    		}
+		
+		//Get the dialog option for this iteration (specified in the INI file through 
+	    //DialogOptionSelection data, separated using KIniFileDelimeter).
+		TBuf<32> dialogOption;
+		GetValueAt(cntr, iDialogOption, KIniFileDelimeter, dialogOption);
+		
+	    UserPromptService::TPromptResult promptResult;
+	    promptResult.iSelected = ButtonToOption(dialogOption);
+	    
+		TPckg<UserPromptService::TPromptResult> resultPckg(promptResult);
+		
+		//Set the Dialog Option selection by user (specifies through DialogOptionSelection data value in INI file).
+	    User::LeaveIfError(RProperty::Set(KUidPSUPSTestNotifCategory, KUtButtonPress, resultPckg));
+		User::LeaveIfError(RProperty::Set(KUidPSUPSTestNotifCategory, KUtButtonPressDelay, iCancelPromptCall?1:0));
+		
+		INFO_PRINTF2(_L("Dialog Option Selection ( %S )."), &dialogOption);
+		
+		//Get the Notify Count BEFORE call to Authorise
+		User::LeaveIfError(RProperty::Get(KUidPSUPSTestNotifCategory, KUnNotifyCount, notifyCountBeforeTest));
+		
+	    TUpsDecision upsDecision;
+	    TRequestStatus status;
+	    
+	    if ( iOpaqueData.Length() > 0 )
+	    	{	    	
+	    	HBufC8* converter = HBufC8::NewLC(iOpaqueData.Length());
+	    	converter->Des().Copy(iOpaqueData);	             
+	       	iOpaqueDataStored = converter->Ptr();
+	       	CleanupStack::PopAndDestroy(); //converter
+	       	
+	       	INFO_PRINTF1(_L("Opaque data present."));
+	    	upsSubSession[subSessionCntr].Authorise(iPlatSecPass, serviceId, iDestination, iOpaqueDataStored, upsDecision, status);
+	    	}
+	    else
+	    	{
+	    	INFO_PRINTF1(_L("Opaque data NOT present."));
+	    	upsSubSession[subSessionCntr].Authorise(iPlatSecPass, serviceId, iDestination, upsDecision, status);
+	    	}
+	    
+
+	    if (iCancelPromptCall)
+	    	{
+	    	upsSubSession[subSessionCntr].CancelPrompt();
+	    	INFO_PRINTF1(_L("CancelPrompt called on UPS SubSession."));
+	    	}
+	    
+	    User::WaitForRequest(status);
+	    
+	    SetTestStepError(status.Int());
+	    User::LeaveIfError(status.Int());
+	    
+	    //Get the Notify Count AFTER call to Authorise
+	    User::LeaveIfError(RProperty::Get(KUidPSUPSTestNotifCategory, KUnNotifyCount, notifyCountAfterTest));
+	    
+	    INFO_PRINTF3(_L("NotifyCount Before Authorise ( %d ) <> NotifyCount After Authorise ( %d )"), notifyCountBeforeTest, notifyCountAfterTest);
+	    
+	    if ( iExpectedUpsDecision.Length() > 0 )
+	    	{
+	    	//Get the expected UPS decision for this iteration (specified in the INI file through 
+	    	//ExpectedUpsDecision data, separated using KIniFileDelimeter).
+	    	TBuf<32> expectedUpsDecision;
+	    	GetValueAt(cntr, iExpectedUpsDecision, KIniFileDelimeter, expectedUpsDecision);
+	    	
+	    	TPtrC upsDecisionString = TUpsDecisionToString(upsDecision);
+	    	
+	    	INFO_PRINTF3(_L("UPS Decision Expected ( %S ) <> UPS Decision Returned ( %S )"), &expectedUpsDecision, &upsDecisionString);
+	        
+	    	//Compare the expected and returned UPS decision
+	    	TEST( expectedUpsDecision.Compare(TUpsDecisionToString(upsDecision)) == 0);
+	    	}
+	    
+		VerifyAndPrintPromptDataL();
+		
+		//Check what user requested to do with SubSession for further iterations (if any).
+		if ( iUseSameSubSession )
+			{
+			INFO_PRINTF2(_L("Using UPS SubSession ( %d )."), subSessionCntr);
+			}
+		if ( iUseSameSubSessionAfterClose || iAlwaysOpenNewSession )
+			{
+			upsSubSession[subSessionCntr].Close();
+			INFO_PRINTF2(_L("UPS SubSession Closed ( %d )."), subSessionCntr);
+			dummyThread[subSessionCntr].Close();
+			}
+		else if ( iAlwaysOpenNewSubSession )
+			{
+			++subSessionCntr;
+			}
+			
+		if ( iAlwaysOpenNewSession  )
+			{
+			upsSession.Close();
+			INFO_PRINTF1(_L("UPS Session Closed."));
+			}
+	    } //End - for loop
+     
+    
+    //As with multiple clients , its better not to try to synchronize the calls which change the notify count.
+    //When all the concurrent calls are done , check the count finally through test step notifycount.
+    if (iPromptTriggerCount >= 0)
+    	{
+    	TEST( notifyCountAfterTest == (iNotifyCount+iPromptTriggerCount) );
+    	}    
+    
+    //Ensure all sub sessions are closed
+    for (TInt cntr=0; cntr<subSessionCntr; cntr++)
+    	{
+    	if ( upsSubSession[cntr].SubSessionHandle() != KNullHandle )
+    		{
+    		INFO_PRINTF2(_L("UPS SubSession Closed ( %d )."), cntr);
+    		upsSubSession[cntr].Close();
+    		dummyThread[cntr].Close();
+    		}
+    	}
+    
+    //Ensure session is closed
+    if ( upsSession.Handle() != KNullHandle )
+    	{
+    	upsSession.Close();
+		INFO_PRINTF1(_L("UPS Session Closed."));
+    	}    
+	
+	return TestStepResult();
+	}  // End of function
+
+
+TVerdict CIpUpsStep::doTestStepPostambleL()
+/**
+ * @return - TVerdict code
+ * Override of base class virtual
+ */
+	{
+	//ReSet the property to specify working of testNotifier in P&S or filemode
+    User::LeaveIfError(RProperty::Set(KUidPSUPSTestNotifCategory, KUtFileOverride, iTestNotifierMode));
+    
+	return TestStepResult();
+	} // End of function.
+
+TBool CIpUpsStep::VerifyAndPrintPromptDataL()
+/**
+ * @return - TBool - ETrue of prompt data returned matched the data expected as specified in INI file, else EFalse.
+ * 
+ */
+	{
+	//Get the Prompt Information
+	const TInt KMaxPromptDataLenght = 512;
+    HBufC8* buf=HBufC8::NewLC(KMaxPromptDataLenght);
+    TPtr8 bufPtr(buf->Des());
+
+	User::LeaveIfError(RProperty::Get(KUidPSUPSTestNotifCategory, KUnNotifyValues, bufPtr));
+	
+	RDesReadStream promptDataStream(bufPtr);
+		
+	iPromptData = UserPromptService::CPromptData::NewL();
+	CleanupStack::PushL(iPromptData);
+	iPromptData->InternalizeL(promptDataStream);
+	
+	INFO_PRINTF2(_L("Client Name ( %S )"), &iPromptData->iClientName);
+	INFO_PRINTF2(_L("Vendor Name ( %S )"), &iPromptData->iVendorName);
+	INFO_PRINTF2(_L("Destination ( %S )"), &iPromptData->iDestination);	
+	INFO_PRINTF2(_L("ClientSid   ( %08x )"), iPromptData->iClientSid.iId);
+	INFO_PRINTF2(_L("ServerSid   ( %08x )"), iPromptData->iServerSid.iId);
+	INFO_PRINTF2(_L("ServiceId   ( %08x )"), iPromptData->iServiceId);
+	
+	TInt count = iPromptData->iDescriptions.Count();
+   	for (TInt cntr = 0; cntr < count; ++cntr)
+      {
+      INFO_PRINTF3(_L("Descriptions(%d) : %S "), cntr, iPromptData->iDescriptions[cntr]);
+      }	
+	
+	//Print Dialog Flags
+	TBuf<64> dialogFlags;
+	
+	if ( iPromptData->iFlags & UserPromptService::ETrustedClient )
+		{
+		dialogFlags.Append(_L(" TrustedClient "));
+		}
+	if ( iPromptData->iFlags & UserPromptService::EBuiltInApp )
+		{
+		dialogFlags.Append(_L(" BuiltInApp "));
+		}
+	INFO_PRINTF2(_L("DialogFlags Set to  ( %S )"), &dialogFlags);
+	
+	TPtrC expectedDialogOptions;
+	TBuf<64> bufOptions;
+	
+	GetStringFromConfig(ConfigSection(),KExpectedDialogOptions, iExpectedDialogOptions);
+	
+	if (iExpectedDialogOptions.Length() > 0)
+		{
+		INFO_PRINTF2(_L("Options Expected ( %S )"), &iExpectedDialogOptions);
+		
+		//Check if options presented are as expected		
+		TBool result = OptionsFlagToString(iPromptData->iOptions, bufOptions);		
+		TEST(result != EFalse);
+		}
+	else
+		{
+		OptionsFlagToString(iPromptData->iOptions, bufOptions, EFalse);
+		}
+	
+	INFO_PRINTF2(_L("Options Presented ( %S )"), &bufOptions);
+	
+	TEST(iPromptData->iServiceId.iUid == iServiceUID);
+	TEST(iPromptData->iDestination == iDestination);
+	
+	CleanupStack::PopAndDestroy(2); //buf, iPromptData
+	
+	return EFalse;
+	} // End of function.
+
+TBool CIpUpsStep::OptionsFlagToString(TUint aOptions, TDes& aOptionString, TBool aCheckAgainstExpectedOpt)
+/** OptionsFlagToString converts the dialog option(s) presented to string and check if the presented option
+ * 	is amongst the one which is expected(from INI file) or not if aCheckAgainstExpectedOpt is set to ETrue.
+ *
+ * @return - TBool - ETrue if presented options are the ones which are expected as specified in the INI file.
+ * 
+ */
+	{
+	_LIT(KOptionYes, "Yes");
+	_LIT(KOptionNo, "No");	
+	_LIT(KOptionSessionYes, "SessionYes");
+	_LIT(KOptionAlways, "Always");
+	_LIT(KOptionNever, "Never");
+	_LIT(KOptionSessionNo, "SessionNo");
+	
+	const TPtrC policyOptions[] = {KOptionYes(), KOptionNo(), KOptionSessionYes(), KOptionAlways(),
+									KOptionNever(), KOptionSessionNo()};
+		
+	TInt optionsCntr = 0;
+	TBool isOptionExpected = ETrue;
+		
+	aOptionString.Append(_L("-"));
+	
+	if (aOptions & UserPromptService::CPolicy::EYes)
+		{
+		aOptionString.Copy(policyOptions[optionsCntr]);
+		aOptionString.Append(_L("-"));
+		
+		if (aCheckAgainstExpectedOpt)
+			{
+			if (iExpectedDialogOptions.FindF(policyOptions[optionsCntr]) == KErrNotFound)
+				{
+				isOptionExpected = EFalse;
+				}
+			}
+		}
+	++optionsCntr;
+	
+	if (aOptions & UserPromptService::CPolicy::ENo)
+		{		
+		aOptionString.Append(policyOptions[optionsCntr]);
+		aOptionString.Append(_L("-"));
+		
+		if (aCheckAgainstExpectedOpt)
+			{
+			if (iExpectedDialogOptions.FindF(policyOptions[optionsCntr]) == KErrNotFound)
+				{
+				isOptionExpected = EFalse;
+				}
+			}
+		}
+	++optionsCntr;
+	
+	if (aOptions & UserPromptService::CPolicy::ESessionYes)
+		{		
+		aOptionString.Append(policyOptions[optionsCntr]);
+		aOptionString.Append(_L("-"));
+		
+		if (aCheckAgainstExpectedOpt)
+			{
+			if (iExpectedDialogOptions.FindF(policyOptions[optionsCntr]) == KErrNotFound)
+				{
+				isOptionExpected = EFalse;
+				}
+			}
+		}
+	++optionsCntr;
+	
+	if (aOptions & UserPromptService::CPolicy::EAlways)
+		{		
+		aOptionString.Append(policyOptions[optionsCntr]);
+		aOptionString.Append(_L("-"));
+		
+		if (aCheckAgainstExpectedOpt)
+			{
+			if (iExpectedDialogOptions.FindF(policyOptions[optionsCntr]) == KErrNotFound)
+				{
+				isOptionExpected = EFalse;
+				}
+			}
+		}
+	++optionsCntr;
+	
+	if (aOptions & UserPromptService::CPolicy::ENever)
+		{		
+		aOptionString.Append(policyOptions[optionsCntr]);
+		aOptionString.Append(_L("-"));
+		
+		if (aCheckAgainstExpectedOpt)
+			{
+			if (iExpectedDialogOptions.FindF(policyOptions[optionsCntr]) == KErrNotFound)
+				{
+				isOptionExpected = EFalse;
+				}
+			}
+		}
+	++optionsCntr;
+	
+	if (aOptions & UserPromptService::CPolicy::ESessionNo)
+		{		
+		aOptionString.Append(policyOptions[optionsCntr]);
+		aOptionString.Append(_L("-"));
+		
+		if (aCheckAgainstExpectedOpt)
+			{
+			if (iExpectedDialogOptions.FindF(policyOptions[optionsCntr]) == KErrNotFound)
+				{
+				isOptionExpected = EFalse;
+				}
+			}
+		}
+		
+	return isOptionExpected;
+	} // End of function.
+
+/** GetValueAt provides the value of data at a specific index (specified by aPos)
+*	String containing the values is specified thorugh aArrayString and multiple values 
+*	are separated by delimeter aDelimeter.
+*	aValue is returned. 
+*/
+void CIpUpsStep::GetValueAt(const TInt aPos, const TPtrC& aArrayString, const TChar aDelimeter, TDes& aValue)
+	{
+	TInt posCntr=0;	
+	TInt itemCntr = -1;	
+	
+	//Initialise it with blank string to avoid any previous copies
+	aValue.Copy(_L(""));
+	
+	while (posCntr < aArrayString.Length() && itemCntr != aPos)
+		{
+		if (aArrayString[posCntr] != aDelimeter)
+			{
+			aValue.Append(aArrayString[posCntr]);
+			}
+		else
+			{
+			++itemCntr;
+			//Is this the item we are looking for, if not, make space to next one
+			if (itemCntr != aPos)
+				{
+				aValue.Copy(_L(""));
+				}
+			}
+		++posCntr;
+		}	
+	}
+
+/* TUpsDecisionToString converts TUpsDecision to string.
+*/
+TPtrC CIpUpsStep::TUpsDecisionToString(TUpsDecision aDecision)
+	{
+	if(aDecision == EUpsDecYes)
+		{
+		return _L("Yes");
+		}
+	else if(aDecision == EUpsDecNo)
+		{
+		return _L("No");
+		}
+	else if(aDecision == EUpsDecSessionYes)
+		{
+		return _L("SessionYes");
+		}
+	else if(aDecision == EUpsDecSessionNo)
+		{
+		return _L("SessionNo");
+		}
+	else 
+		{
+		ERR_PRINTF1(_L("Invalid UPS Descision, returning No by default."));
+		return _L("No");
+		}
+	} // End of function.
+
+/* TUpsDecisionFromString converts string value to TUpsDecision.
+*/
+TUpsDecision CIpUpsStep::TUpsDecisionFromString(const TPtrC& aDecision)
+	{
+	if(aDecision.CompareF(_L("Yes"))==0)
+		{
+		return EUpsDecYes;
+		}
+	else if(aDecision.CompareF(_L("No"))==0)
+		{
+		return EUpsDecNo;
+		}
+	else if(aDecision.CompareF(_L("SessionYes"))==0)
+		{
+		return EUpsDecSessionYes;
+		}
+	else if(aDecision.CompareF(_L("SessionNo"))==0)
+		{
+		return EUpsDecSessionNo;
+		}
+	else 
+		{
+		ERR_PRINTF1(_L("Invalid UPS Descision, returning No by default."));
+		return EUpsDecNo;
+		}
+	} // End of function.
+
+/* ButtonToOption converts string value of button presented to CPolicy::TOptions.
+*/
+UserPromptService::CPolicy::TOptions CIpUpsStep::ButtonToOption(const TPtrC& aButton)
+	{
+	if(aButton.CompareF(_L("Yes"))==0)
+		{
+		return UserPromptService::CPolicy::EYes;
+		}
+	else if(aButton.CompareF(_L("No"))==0)
+		{
+		return UserPromptService::CPolicy::ENo;
+		}
+	else if(aButton.CompareF(_L("Session"))==0)
+		{
+		return UserPromptService::CPolicy::ESession;
+		}
+	else if(aButton.CompareF(_L("SessionYes"))==0)
+		{
+		return UserPromptService::CPolicy::ESessionYes;
+		}
+	else if(aButton.CompareF(_L("Always"))==0)
+		{
+		return UserPromptService::CPolicy::EAlways;
+		}	
+	else if(aButton.CompareF(_L("Never"))==0)
+		{
+		return UserPromptService::CPolicy::ENever;
+		}
+	else if(aButton.CompareF(_L("SessionNo"))==0)
+		{
+		return UserPromptService::CPolicy::ESessionNo;
+		}	
+	else 
+		{
+		ERR_PRINTF1(_L("Invalid Button Option, returning Policy Option No by default."));
+		return UserPromptService::CPolicy::ENo;
+		}				
+	}  // End of function.
--- a/networkcontrol/qosfwconfig/qostest/te_qos/configs/CIT_P192_Qos_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/qosfwconfig/qostest/te_qos/configs/CIT_P192_Qos_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
--- a/networkcontrol/qosfwconfig/qostest/te_qos/configs/CIT_P192_Qos_config1.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/qosfwconfig/qostest/te_qos/configs/CIT_P192_Qos_config1.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
--- a/networkcontrol/qosfwconfig/qostest/te_qos/configs/CIT_P192_Qos_config_noqospolicy.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/qosfwconfig/qostest/te_qos/configs/CIT_P192_Qos_config_noqospolicy.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkcontrol/qosfwconfig/qostest/te_qos/configs/te_QoSSuite_Mesh_pdpcpr.cfg	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,1477 @@
+############################################################
+## HAND-GENERATED CONFIGURATION FILE
+## 
+## Start at the GlobalSettings table and ConnectionPreferences table
+############################################################
+
+############################################################
+## Network
+## 
+[Network]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Intranet
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## ModemBearer
+## 
+[ModemBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Loopback Modem
+	IfName=PPP
+	PortName=PKTLOOPBACK::502
+	TSYName=SIM
+	CSYName=PKTLOOPBACK
+	LastSocketActivityTimeout=6
+	LastSessionClosedTimeout=180
+	LastSocketClosedTimeout=10
+	DataBits=8
+	StopBits=1
+	Parity=NONE
+	Rate=115200
+	Handshaking=0
+	SpecialRate=0
+	XonChar=0
+	XoffChar=0
+	FaxClassPref=AUTO
+	SpeakerPref=AFTERDIALUNTILANSWER
+	ModemInitString=AT
+	DataInitString=AT
+	FaxInitString=AT
+	DialPauseLength=S8=
+	SpeakerVolContorlLow=L0
+	SpeakerVolControlMedium=L1
+	SpeakerVolControlHigh=L2
+	SpeakerAlwaysOff=M0
+	SpeakerOnUntilCarrier=M1
+	SpeakerAlwaysOn=M2
+	SpeakerOnAfterUntilCarrier=M3
+	DialToneWaitModifier=W
+	CallProgress1=X1
+	CallProgress2=X2
+	CallProgress3=X3
+	CallProgress4=X4
+	EchoOff=E0
+	VerboseText=V1
+	QuietOff=Q0
+	QuietOn=Q1
+	DialCommandStateModifier=;
+	OnLine=O
+	ResetConfiguration=Z
+	ReturnToFactoryDefs=&F
+	DCDOnDuringLink=&C1
+	DTRHangUp=&D2
+	DSRAlwaysOn=&S0
+	RTSCTSHandshake=&K3
+	XonXoffHandshake=&K4
+	EscapeCharacter=+
+	EscapeGuardPeriod=S12
+	NoDialTone=NO DIAL TONE
+	Busy=BUSY
+	NoAnswer=NO ANSWER
+	Carrier=CARRIER
+	Connect=CONNECT
+	CompressionClass5=COMPRESSION:CLASS 5
+	CompressionV42bis=COMPRESSION:V.42 bis
+	CompressionNone=COMPRESSION:NONE
+	ProtocolLAPD=PROTOCOL:LAPD
+	ProtocolALT=PROTOCOL:ALT
+	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
+	ProtocolNone=PROTOCOL:NONE
+	Agent=NULLAGT
+	FIELD_COUNT=63
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=Loopback_RawIP_1
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::502
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=Loopback_RawIP_3
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::508
+	FIELD_COUNT=3
+END_ADD
+
+
+
+############################################################
+## LANBearer
+## 
+[LANBearer]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Assabet on-board Ethernet
+	IfName=ethint
+	LDDName=not used
+	PDDName=not used
+	LastSocketActivityTimeout=-1
+	LastSessionClosedTimeout=-1
+	LastSocketClosedTimeout=-1
+	Agent=nullagent.agt
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## Location
+## 
+[Location]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Location
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Office
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=171
+	DialOutCode=9,
+	Mobile=FALSE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Office Direct Dial
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=171
+	Mobile=FALSE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Mobile
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Home
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=181
+	Mobile=FALSE
+	UsePulseDial=TRUE
+	WaitForDialTone=TRUE
+	PauseAfterDialout=0
+	FIELD_COUNT=10
+END_ADD
+
+
+############################################################
+## Chargecard
+## 
+[Chargecard]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy BT Chargecard
+	AccountNumber=144,12345678
+	Pin=0000
+	LocalRule=HG
+	NatRule=HFG
+	IntlRule=HEFG
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Dummy Mercury Chargecard
+	AccountNumber=0500800800,,12345678
+	Pin=****
+	LocalRule=HG
+	NatRule=J,K,0FG
+	IntlRule=HEFG
+	FIELD_COUNT=7
+END_ADD
+
+############################################################
+## GlobalSettings
+## 
+## links to Tier table
+## DefaultTier = 271064536 Tier1 ESock_IP NetworkTierManager
+## No defaultSnap - therefore 399 selection chosen
+##
+[GlobalSettings]
+ADD_TEMPLATE
+	DefaultTier=Link.TierTable.2048
+	FIELD_COUNT=1
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ConnectionAttempts=2
+	RedialAttempts=3
+	SmsBearer=0
+	SmsReceiveMode=2
+	GPRSAttachMode=1
+	AcceptIncomingGprs=1
+	GPRSClassCBearer=GSM
+	ModemForDataAndFax=1
+	ModemForPhoneServicesAndSMS=1
+	LocationForDataAndFax=1
+	LocationForPhoneServicesAndSMS=1
+	MaxMBufHeap=41877760
+	DefaultNetwork=1
+	BearerAvailabilityCheckTSY=SIM
+	FIELD_COUNT=16
+END_ADD
+
+############################################################
+## DialOutISP
+## 
+[DialOutISP]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Dial Out ISP
+	DialResolution=TRUE
+	UseLoginScript=FALSE
+	PromptForLogin=TRUE
+	DisplayPCT=FALSE
+	IfPromptForAuth=TRUE
+	IfCallbackEnabled=FALSE
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableIPHeaderComp=FALSE
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	EnableSWComp=FALSE
+	BearerService=0
+	BearerProtocol=UNSPECIFIED
+	RlpVersion=0
+	IwfToMs=0
+	MsToIwf=0
+	AckTimer=0
+	RetransmissionAttempts=0
+	ResequencePeriod=0
+	V42Compression=0
+	V42Codewords=0
+	V42MaxLength=0
+	Asymmetry=0
+	UserInitUpgrade=FALSE
+	UseEdge=FALSE
+	FIELD_COUNT=28
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=NT RAS
+	Type=INTERNETONLY
+	DialResolution=TRUE
+	UseLoginScript=TRUE
+	LoginScript=CHARMAP \[windows-1252\]\nLOOP 10\n{\nSEND "CLIENT"+<0x0d>\nWAIT 3\n{\n"SERVER" OK\n}\n}\nEXIT KErrNoAnswer$\n\nOK:\nEXIT\n
+	PromptForLogin=FALSE
+	LoginName=RasUser
+	DisplayPCT=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	IfAuthPass=pass
+	AuthRetries=0
+	IfCallbackEnabled=FALSE
+	CallbackTimeout=0
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableIPHeaderComp=FALSE
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	EnableSWComp=FALSE
+	BearerName=ASYNCHRONOUS
+	BearerSpeed=UNSPECIFIED
+	BearerCE=UNSPECIFIED
+	BearerType=CSD
+	ChannelCoding=UNSPECIFIED
+	Aiur=0
+	RequestedTimeSlots=0
+	MaximumTimeSlots=0
+	BearerService=0
+	BearerProtocol=UNSPECIFIED
+	RlpVersion=0
+	IwfToMs=0
+	MsToIwf=0
+	AckTimer=0
+	RetransmissionAttempts=0
+	ResequencePeriod=0
+	V42Compression=0
+	V42Codewords=0
+	V42MaxLength=0
+	Asymmetry=0
+	UserInitUpgrade=FALSE
+	UseEdge=FALSE
+	FIELD_COUNT=44
+END_ADD
+
+
+############################################################
+## DialInISP
+## 
+[DialInISP]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Dial In ISP
+	UseLoginScript=FALSE
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableIPHeaderComp=FALSE
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	EnableSWComp=FALSE
+	UseEdge=FALSE
+	FIELD_COUNT=10
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dial In CS ISP
+	UseLoginScript=FALSE
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableIPHeaderComp=FALSE
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	EnableSWComp=FALSE
+	UseEdge=FALSE
+	FIELD_COUNT=10
+END_ADD
+
+
+############################################################
+## OutgoingGPRS
+## 
+[OutgoingGPRS]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Outgoing GPRS
+	APN=Test
+	PDPType=IPV4
+	ReqPrecedence=2
+	ReqDelay=4
+	ReqReliability=3
+	ReqPeakThroughput=3
+	ReqMeanThroughput=31
+	MinPrecedence=2
+	MinDelay=4
+	MinReliability=3
+	MinPeakThroughput=3
+	MinMeanThroughput=31
+	DataCompression=FALSE
+	HeaderCompression=FALSE
+	GprsUseEdge=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	AuthRetries=1
+	IpNetMask=255.255.255.0
+	IpGateway=194.72.6.1
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.51
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=32
+END_TEMPLATE
+
+ADD_SECTION
+##
+## Links from IAP table
+## Links to
+##
+# COMMDB_ID = 1
+	Id=1
+	Name=SPUD
+	PDPType=IPV4
+	IfParams=lowernif=RawIP
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## IncomingGPRS
+## 
+[IncomingGPRS]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy Incoming GPRS Settings
+	APN=Test
+	PDPType=IPV4
+	PDPAddress=0.0.0.0
+	ReqPrecedence=1
+	ReqDelay=1
+	ReqReliability=1
+	ReqPeakThroughput=1
+	ReqMeanThroughput=1
+	MinPrecedence=1
+	MinDelay=1
+	MinReliability=1
+	MinPeakThroughput=1
+	MinMeanThroughput=1
+	DataCompression=FALSE
+	HeaderCompression=FALSE
+	GprsUseEdge=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	IfAuthPass=pass
+	AuthRetries=1
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.51
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	FIELD_COUNT=30
+END_ADD
+
+
+############################################################
+## DefaultGPRS
+## 
+[DefaultGPRS]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy Default GPRS Settings
+	Usage=1
+	APN=Access point name
+	PDPType=IPV6
+	PDPAddress=www.wid.com
+	Precedence=1
+	Delay=1
+	Reliability=1
+	PeakThroughput=1
+	MeanThroughput=1
+	MinPrecedence=1
+	MinDelay=1
+	MinReliability=1
+	MinPeakThroughput=1
+	MinMeanThroughput=1
+	DataCompression=TRUE
+	HeaderCompression=TRUE
+	GprsUseEdge=FALSE
+	AnonymousAccess=TRUE
+	FIELD_COUNT=20
+END_ADD
+
+
+############################################################
+## CDMA2000PacketServiceTable
+## 
+[CDMA2000PacketServiceTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=test name cdma2000
+	IwfName=Test2000
+	ServiceOption=HIGHSPEEDCDMA2000DATA
+	PDPType=IPV4
+	ReqFwdPriority=PRIORITY04
+	ReqRevPriority=PRIORITY04
+	ReqFwdBitrate=32KBPS
+	ReqRevBitrate=32KBPS
+	ReqFwdLoss=LOSS1
+	ReqRevLoss=LOSS1
+	ReqFwdMaxdelay=40MS
+	ReqRevMaxdelay=40MS
+	MinFwdBitrate=8KBPS
+	MinRevBitrate=8KBPS
+	AccptFwdLoss=LOSS2
+	AccptRevLoss=LOSS2
+	AccptFwdMaxdelay=120MS
+	AccptRevMaxdelay=120MS
+	DataCompression=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	IfAuthPass=pass
+	AuthRetries=1
+	IpNetMask=0.255.255.255
+	IpGateway=10.0.0.1
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableLCPExtension=TRUE
+	DisablePlainTextAuth=TRUE
+	ApType=2
+	RlpMode=UNKNOWN
+	CDMAMobileIP=FALSE
+	CDMAMobileIPTimeout=10000000
+	FIELD_COUNT=36
+END_ADD
+
+
+############################################################
+## LANService
+## 
+[LANService]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Ethernet
+	IfNetworks=ip,ip6
+	IpNetMask=255.255.255.0
+	IpGateway=194.72.6.1
+	IpAddrFromServer=TRUE
+	IpAddr=192.168.0.100
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.52
+	FIELD_COUNT=10
+END_ADD
+
+############################################################
+## APPrioritySelectionPolicyTable
+## 
+## Links from AccessPointTable
+## Links to the next layer in the AccessPointTable
+##
+[APPrioritySelectionPolicyTable]
+ADD_SECTION
+# COMMDB_ID = 1
+  	Id=1
+	Name=SelectionPolicy1
+	AP1=Link.AccessPointTable.10001
+	APCOUNT=1
+	FIELD_COUNT=4
+END_ADD
+
+############################################################
+## AccessPointTable
+## 
+## Links from TierTable
+## When 399 selection selected in GlobalSettings this Links to APPrioritySelectionPolicyTable
+## Bearer tier links to IAP table
+##
+[AccessPointTable]
+
+ADD_SECTION
+##
+## Links to IAP table
+## Links to nodes in bearer layer
+##  Id = 1 is IAP1
+##  SelectionPolicy zero marks the end of the 399 selection process
+## Consistent with spud-rawip BearerTypeTable entry
+##
+# COMMDB_ID = 251
+	Id=1
+	Name=MappedFromIAP1
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.8
+	CprConfig=1
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+	
+ADD_SECTION
+## 
+## Links to AccessPointTable next layer
+##	SelectionPolicy AccessPointTable entry 1 and IAP table entry 1
+##
+# COMMDB_ID = 253
+	Id=10001
+	Name=IPProtoDefault
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.2
+	CprConfig=1
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CustomSelectionPolicy=1
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+##
+## Links from TierTable
+## When 399 selection selected in GlobalSettings this Links to APPrioritySelectionPolicyTable
+##	Id 10000 linked from TierTable
+##	SelectionPolicy APPrioritySelectionPolicyTable entry 1
+##
+# COMMDB_ID = 254
+	Id=10000
+	Name=NetworkDefault
+	Tier=Link.TierTable.2048
+	MCpr=MCprTable.1
+	AccessPointSelectionPolicy=APPrioritySelectionPolicyTable.1
+	Cpr=CprTable.1
+	SCpr=SCprTable.1
+	Protocol=ProtocolTable.1
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## BearerTypeTable
+## 
+## Links from ModemBearer table
+## Links to the bearer layer nodes
+## Consistent with the selected AccessPointTable
+##
+##
+[BearerTypeTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.3
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ethint
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.4
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.4
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=tunnelnif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.6
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.6
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=qosppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.7
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.7
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=dummynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.8
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.8
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=hungrynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.9
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.9
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=spud-ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.8
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+##
+## Links from ModemBearer table
+## Links to bearer layer nodes
+## Consistent with the selected AccessPointTable
+##
+# COMMDB_ID = 9
+	Id=9
+	Name=spud-rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.8
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+##This record here is the template record for the IPProto level APs generated by CommsDat.
+ADD_SECTION
+# COMMDB_ID = 10
+	##This name is a predefined name for the template for the IPProto APs.
+	##Please don't change it!
+	Name=IPProtoDefaultTemplate
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=6
+END_ADD
+
+
+############################################################
+## IAP
+## 
+## Linked from ConnectionPreferences
+## Links to several tables
+## OutgoingGPRS entry SPUD
+## ModemBearer entry 1 Null Modem 115200bps
+## 
+##
+[IAP]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=GPRS
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=1
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.1
+	FIELD_COUNT=9
+END_ADD
+
+############################################################
+## Proxies
+## 
+[Proxies]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ISP=1
+	ProxyServiceType=DialOutISP
+	UseProxyServer=TRUE
+	ProxyServerName=www.dummyproxy.com
+	ProtocolName=http
+	PortNumber=80
+	Exceptions=www.dummyproxy.com/exception
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## WAPAccessPoint
+## 
+[WAPAccessPoint]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Dial In ISP
+	CurrentBearer=WAPIPBearer
+	FIELD_COUNT=3
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy WAP Settings
+	CurrentBearer=WAPIPBearer
+	StartPage=www.wapstart.com
+	FIELD_COUNT=4
+END_ADD
+
+
+############################################################
+## WAPIPBearer
+## 
+[WAPIPBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=DefaultRecordName-1
+	AccessPointId=0
+	IAP=0
+	WSPOption=CONNECTIONLESS
+	Security=FALSE
+	ProxyPortNumber=0
+	FIELD_COUNT=7
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-2
+	AccessPointId=58654976
+	GatewayAddress=www.wapgateway.com
+	IAP=50266624
+	WSPOption=CONNECTIONORIENTED
+	Security=FALSE
+	ProxyPortNumber=1
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## WAPSMSBearer
+## 
+[WAPSMSBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=DefaultRecordName-1
+	AccessPointId=0
+	WSPOption=CONNECTIONLESS
+	Security=FALSE
+	FIELD_COUNT=5
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-2
+	AccessPointId=1
+	GatewayAddress=+442079460221
+	ServiceCentreAddress=+442079460223
+	WSPOption=CONNECTIONORIENTED
+	Security=FALSE
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## SecureSocketTable
+## 
+[SecureSocketTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ProtocolName=ssl3.0
+	ProtoLibrary=ssladaptor.dll
+	FIELD_COUNT=4
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=DefaultRecordName-2
+	ProtocolName=tls1.0
+	ProtoLibrary=ssladaptor.dll
+	FIELD_COUNT=4
+END_ADD
+
+############################################################
+## TierTable
+## 
+## Links from GlobalSettings
+## Links to AccessPointTable
+##
+[TierTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=2048
+	TierImplUid=271064536
+	Name=Tier1
+	TierThreadName=ESock_IP
+	TierManagerName=NetworkTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10000
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=271064560
+	TierImplUid=271064560
+	Name=Tier2
+	TierThreadName=ESock_IP
+	TierManagerName=ProtoTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10001
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=271064565
+	TierImplUid=271064565
+	Name=Tier3
+	TierThreadName=ESock_IP
+	TierManagerName=LinkTierManager
+##NB defaultAccessPoint not present in this layer. This is only needed here to satisfy the check
+##on the link layer. However important that once this field has a value it has to be linked to a
+##correct accesspoint record in the accesspoint table because this will be checked either.
+	DefaultAccessPoint=Link.AccessPointTable.1
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## MCprTable
+## 
+[MCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=netmcpr
+	MCprUid=271009095
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotomcpr
+	MCprUid=271064558
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=pppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethmcpr
+	MCprUid=271064572
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawipmcpr
+	MCprUid=271064576
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnelmcpr
+	MCprUid=271064578
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qospppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=pdpmcpr
+	MCprUid=271065840
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 11
+	Id=11
+	Name=sipmcpr
+	MCprUid=536887801
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 12
+	Id=12
+	Name=btgenericmcpr
+	MCprUid=271070577
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 13
+	Id=13
+	Name=panethermcpr
+	MCprUid=271070626
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## CprTable
+## 
+[CprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipcpr
+	CprUid=270561519
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotocpr
+	CprUid=271064531
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentcpr
+	CprUid=271064552
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=vanillacpr
+	CprUid=271065843
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=sipcpr
+	CprUid=271010872
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=avctpcpr
+	CprUid=271030184
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=tunnelagentcpr
+	CprUid=271080968
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=pdpcpr
+	CprUid=271065826
+	FIELD_COUNT=3
+END_ADD
+
+############################################################
+## SCprTable
+## 
+[SCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipscpr
+	SCprUid=271065811
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotoscpr
+	SCprUid=271064529
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentscpr
+	SCprUid=271064554
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=pdpscpr
+	SCprUid=271065824
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pppscpr
+	SCprUid=271065852
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=vanillascpr
+	SCprUid=271065844
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosscpr
+	SCprUid=271065811
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=sipscpr
+	SCprUid=271010839
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=avctpsaplinksmgr
+	SCprUid=271030185
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=avctpmuxer
+	SCprUid=271030186
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## ProtocolTable
+## 
+[ProtocolTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=sapshim
+	ProtocolUid=270496898
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipshim4
+	ProtocolUid=271064118
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=ppp
+	ProtocolUid=271064143
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethernet
+	ProtocolUid=271064539
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawip
+	ProtocolUid=271064562
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnel
+	ProtocolUid=271064567
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosppp
+	ProtocolUid=271064148
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynif
+	ProtocolUid=271064123
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynif
+	ProtocolUid=271064125
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=panether
+	ProtocolUid=271070627
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## ConnectionPreferences
+## 
+## Links to 
+## IAP = 1 - GPRS - IAPService = SPUD - ModemBearer - Null Modem 115200bps - IAPNetwork = 1
+## BearerSet=PSD
+##
+[ConnectionPreferences]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	Ranking=0
+	Direction=INCOMING
+	BearerSet=PSD
+	DialogPref=DONOTPROMPT
+	IAP=1
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=DefaultRecordName-2
+	Ranking=1
+	Direction=OUTGOING
+	BearerSet=PSD
+	DialogPref=DONOTPROMPT
+	IAP=1
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## UmtsR99QoSAndOn
+## 
+[UmtsR99QoSAndOn]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=PRIMARY1
+	ReqTrafficClass=1
+	MinTrafficClass=1
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=1
+	MinDeliverErroneousSDU=1
+	ReqMaxSDUSize=0
+	MinAcceptableMaxSDUSize=0
+	ReqMaxUplinkRate=0
+	ReqMinUplinkRate=0
+	ReqMaxDownlinkRate=0
+	ReqMinDownlinkRate=0
+	ReqBER=1
+	MaxBER=1
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=0
+	MaxTransferDelay=0
+	ReqGuaranteedUplinkRate=0
+	MinGuaranteedUplinkRat=0
+	ReqGuaranteedDownlinkRate=0
+	MinGuaranteedDownlinkRate=0
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=28
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=SECONDARY1
+	ReqTrafficClass=4
+	MinTrafficClass=4
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=8
+	MinDeliverErroneousSDU=8
+	ReqMaxSDUSize=768
+	MinAcceptableMaxSDUSize=512
+	ReqMaxUplinkRate=1024
+	ReqMinUplinkRate=1024
+	ReqMaxDownlinkRate=1024
+	ReqMinDownlinkRate=1024
+	ReqBER=0
+	MaxBER=0
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=250
+	MaxTransferDelay=250
+	ReqGuaranteedUplinkRate=1024
+	MinGuaranteedUplinkRat=1024
+	ReqGuaranteedDownlinkRate=1024
+	MinGuaranteedDownlinkRate=1024
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=28
+END_ADD
+
+############################################################
+## PolicySelectorTable
+## 
+[PolicySelectorTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=DefaultRecordName-1
+	PolicyId=1
+	SrcAddress=0.0.0.0
+	SrcMask=255.255.255.255
+	DstAddress=192.168.1.1
+	DstMask=255.255.255.255
+	SrcPort=0
+	DstPort=3461
+	SrcPortMax=1031
+	DstPortMax=3461
+	ProtocolId=17
+	IAPid=2
+	Priority=1
+	FIELD_COUNT=13
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=DefaultRecordName-2
+	PolicyId=2
+	SrcPort=0
+	SrcPortMax=0
+	ProtocolId=1
+	IAPid=2
+	Priority=1
+	FIELD_COUNT=7
+END_ADD
+
+
+
--- a/networkcontrol/qosfwconfig/qostest/te_qos/configs/te_QoSSuite_simtsy.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/qosfwconfig/qostest/te_qos/configs/te_QoSSuite_simtsy.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -12,7 +12,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
 
 # TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
 # <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
--- a/networkcontrol/qosfwconfig/qostest/te_qos/group/bld.inf	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/qosfwconfig/qostest/te_qos/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -17,9 +17,13 @@
 
 PRJ_TESTEXPORTS
 
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+../configs/te_QoSSuite_Mesh_pdpcpr.cfg       z:/testdata/configs/te_qossuite_mesh.cfg
+#else
 ../configs/te_QoSSuite_Mesh.cfg         z:/testdata/configs/te_qossuite_mesh.cfg
-../configs/te_QoSSuite_simtsy.txt		z:/testdata/configs/te_QoSSuite_simtsy.txt
-../configs/te_QoSSuite_LoopbackCsy.ini		z:/testdata/configs/te_QoSSuite_loopbackcsy.ini
+#endif //#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+../configs/te_QoSSuite_simtsy.txt		z:/testdata/configs/te_qossuite_simtsy.txt
+../configs/te_QoSSuite_LoopbackCsy.ini		z:/testdata/configs/te_qossuite_loopbackcsy.ini
 
 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
 ../configs/CIT_P192_Qos_SimTsy.xml		z:/testdata/configs/cit_p192_qos_simtsy.xml
--- a/networkcontrol/qosipscpr/inc/ip_subconparams.h	Mon May 03 13:58:16 2010 +0300
+++ b/networkcontrol/qosipscpr/inc/ip_subconparams.h	Tue Jun 29 19:20:22 2010 +0530
@@ -27,7 +27,7 @@
 #define __IP_SUBCONPARAMS_H__
 
 #include <es_sock.h>
-#include <networking/Qos3GPP_subconparams.h>
+#include <networking/qos3gpp_subconparams.h>
 
  
 // NOTE: This Uid may be changed - See #ifdef at bottom of the file
--- a/networkingsrv_info/networkingrom/group/NetworkTest.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networkingsrv_info/networkingrom/group/NetworkTest.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -131,7 +131,7 @@
 #endif //NW_TEST_ROM_2
 
 // FTP Tests
-#include <tftp_e.iby>
+//#include <tftp_e.iby>
 
 // IntegrationTest framework
 #ifdef NW_TEST_ROM_1
@@ -259,13 +259,14 @@
 // Needed by several tests
 #include <simtsy.iby>
 
-#include <te_AnvlClient.iby>
+// Commenting anvl as no one is using it. can uncomment when needed . need to update networktest.iby also
+// #include <te_AnvlClient.iby>
 
 REM ---------- WAP-Stack ----------
 
 // SWS test
 #ifdef NW_TEST_ROM_3
-#include <wapstacksuite.iby>
+//#include <wapstacksuite.iby>
 #endif
 
 REM --- NEEDED FOR THE SECURITY TESTS ---
--- a/networkingtestandutils/exampleinternetutilities/PING/PING.CPP	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/exampleinternetutilities/PING/PING.CPP	Tue Jun 29 19:20:22 2010 +0530
@@ -15,7 +15,7 @@
 // 
 //
 
-#include <pingeng.h>
+#include <PINGENG.H>
 #include <e32cons.h>
 #include <c32comm.h>
 #include <nifman.h>
--- a/networkingtestandutils/exampleinternetutilities/PINGENG/PINGENG.CPP	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/exampleinternetutilities/PINGENG/PINGENG.CPP	Tue Jun 29 19:20:22 2010 +0530
@@ -13,7 +13,7 @@
 // Description:
 //
 
-#include <pingeng.h>
+#include <PINGENG.H>
 #include <e32hal.h>
 #include <icmp6_hdr.h>
 #include <in_chk.h>
--- a/networkingtestandutils/exampleinternetutilities/TFTP/TFTP.CPP	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/exampleinternetutilities/TFTP/TFTP.CPP	Tue Jun 29 19:20:22 2010 +0530
@@ -17,7 +17,7 @@
 #include <c32comm.h>
 #include <e32base.h>
 #include <es_sock.h>
-#include <tftpeng.h>
+#include <TFTPENG.H>
 #include <nifman.h>
 
 // Device driver names
--- a/networkingtestandutils/exampleinternetutilities/TFTPENG/TFTPENG.CPP	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/exampleinternetutilities/TFTPENG/TFTPENG.CPP	Tue Jun 29 19:20:22 2010 +0530
@@ -16,7 +16,7 @@
 // 
 //
 
-#include <tftpeng.h>
+#include <TFTPENG.H>
 
 EXPORT_C CTftpEngine::~CTftpEngine()
     {
--- a/networkingtestandutils/exampleinternetutilities/TRACERT/TRACERT.CPP	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/exampleinternetutilities/TRACERT/TRACERT.CPP	Tue Jun 29 19:20:22 2010 +0530
@@ -16,7 +16,7 @@
 // 
 //
 
-#include <treng.h>
+#include <TRENG.H>
 #include <e32cons.h>
 #include <c32comm.h>
 #include <nifman.h>
--- a/networkingtestandutils/exampleinternetutilities/TRENG/TRENG.CPP	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/exampleinternetutilities/TRENG/TRENG.CPP	Tue Jun 29 19:20:22 2010 +0530
@@ -13,7 +13,7 @@
 // Description:
 //
 
-#include <treng.h>
+#include <TRENG.H>
 #include <e32hal.h>
 #include <icmp6_hdr.h>
 #include <in_chk.h>
--- a/networkingtestandutils/exampleinternetutilities/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,46 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-PRJ_TESTEXPORTS
-
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../INC/PINGENG.H	/epoc32/include/pingeng.h
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../INC/TFTPENG.H	/epoc32/include/tftpeng.h
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../INC/TRENG.H		/epoc32/include/treng.h
-#endif
-
-// Ping
-../group/ping.iby			/epoc32/rom/include/ping.iby
-../group/ipconfig.iby			/epoc32/rom/include/ipconfig.iby
-../group/route.iby			/epoc32/rom/include/route.iby
-../group/Tftp.iby			/epoc32/rom/include/tftp.iby
-../group/Tracert.iby			/epoc32/rom/include/tracert.iby
- 
-
-PRJ_TESTMMPFILES
-
-../group/IPCONFIG.MMP
-../group/PING.MMP
-../group/PINGENG.MMP
-../group/ROUTE.MMP
-../group/TFTP.MMP
-../group/TFTPENG.MMP
-../group/TRACERT.MMP
-../group/TRENG.MMP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingtestandutils/exampleinternetutilities/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,46 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+PRJ_TESTEXPORTS
+
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../INC/PINGENG.H	/epoc32/include/pingeng.h
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../INC/TFTPENG.H	/epoc32/include/tftpeng.h
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../INC/TRENG.H		/epoc32/include/treng.h
+#endif
+
+// Ping
+../group/ping.iby			/epoc32/rom/include/ping.iby
+../group/ipconfig.iby			/epoc32/rom/include/ipconfig.iby
+../group/route.iby			/epoc32/rom/include/route.iby
+../group/Tftp.iby			/epoc32/rom/include/tftp.iby
+../group/Tracert.iby			/epoc32/rom/include/tracert.iby
+ 
+
+PRJ_TESTMMPFILES
+
+../group/IPCONFIG.MMP
+../group/PING.MMP
+../group/PINGENG.MMP
+../group/ROUTE.MMP
+../group/TFTP.MMP
+../group/TFTPENG.MMP
+../group/TRACERT.MMP
+../group/TRENG.MMP
--- a/networkingtestandutils/ipprobe/group/bld.inf	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -1,35 +1,30 @@
-// Copyright (c) 2005-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// bld.inf - probe support
-// probe support
-//
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Build information file for project probe
+*
+*/
 
-
-
-/**
- @file
- @internalComponent
-*/
+#include <platform_paths.hrh>
 
 PRJ_PLATFORMS
 
 PRJ_TESTEXPORTS
-
 ../data/probe.esk       /epoc32/data/z/private/101f7989/esock/ip.probe.esk
 ../data/probe.esk       /epoc32/winscw/c/private/101f7989/esock/ip.probe.esk
+../data/probe.esk       /epoc32/data/c/private/101f7989/esock/ip.probe.esk
+../group/probe.iby	/epoc32/rom/include/probe.iby
 
-../group/probe.iby	/epoc32/rom/include/probe.iby
 
 PRJ_MMPFILES
 
--- a/networkingtestandutils/ipprobe/group/networking_probe.mrp	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/group/networking_probe.mrp	Tue Jun 29 19:20:22 2010 +0530
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+# Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 # All rights reserved.
 # This component and the accompanying materials are made available
 # under the terms of "Eclipse Public License v1.0"
--- a/networkingtestandutils/ipprobe/group/probe.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/group/probe.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -1,4 +1,4 @@
-// Copyright (c) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
--- a/networkingtestandutils/ipprobe/group/probe.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/group/probe.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -1,24 +1,18 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// probe.mmp - probe support MMP file
-// probe support
-//
-
-
-
-/**
- @file
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: The project specification file for probe
+*
 */
 
 MACRO       EPOC_SDK=0x08000000
@@ -29,6 +23,8 @@
 
 UID		0x10003D38 0x10000895
 
+CAPABILITY      CommDD PowerMgmt ReadDeviceData WriteDeviceData TrustedUI ProtServ NetworkControl NetworkServices LocalServices ReadUserData WriteUserData // as c32 process 
+
 SOURCEPATH	../src
 
 SOURCE		family.cpp prt.cpp sap.cpp
@@ -42,10 +38,9 @@
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 #endif
 
+LIBRARY		euser.lib esock.lib inhook6.lib nifman.lib 
+LIBRARY		efsrv.lib esocksvr.lib mbufmgr.lib
 
-LIBRARY		euser.lib esocksvr.lib mbufmgr.lib inhook6.lib
-
-CAPABILITY CommDD PowerMgmt ReadDeviceData WriteDeviceData TrustedUI ProtServ NetworkControl NetworkServices LocalServices ReadUserData WriteUserData
 
 MACRO		TCPIP6_CAPABILITY
 
--- a/networkingtestandutils/ipprobe/inc/family.h	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/inc/family.h	Tue Jun 29 19:20:22 2010 +0530
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -19,6 +19,7 @@
 /**
  @internalComponent
 */
+
 #ifndef __PROBE_FAMILY_H
 #define __PROBE_FAMILY_H
 
--- a/networkingtestandutils/ipprobe/inc/prt.h	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/inc/prt.h	Tue Jun 29 19:20:22 2010 +0530
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -19,13 +19,16 @@
 /**
  @internalComponent
 */
+
 #ifndef __PROBE_PRT_H
 #define __PROBE_PRT_H
 
 #include <e32std.h>
+#include <f32file.h>
 #include <es_sock.h>
 #include <nifman.h>
 
+
 #include "family.h"
 #include "in_bind.h"
 #include "posthook.h"
@@ -49,11 +52,27 @@
 	virtual void Process(RMBufChain &aPacket, CProtocolBase* aSrc);
 	
 	virtual CServProviderBase* NewSAPL(TUint aProtocol);
-	void CancelSAP(const CServProviderBase* aSAP);
+	void CancelSAP(const CServProviderBase *aSAP);
 protected:
-	void Deliver(RMBufChain &aPacket);
+	void Dump(RMBufChain &aPacket);
+	void LibcapDumpFileHeader();
+	void LibcapDump(const TDesC8& aBuffer, TUint32 aTimeStampSecs, TUint32 aTimeStampMicros);
+	void Queue(RMBufChain &aPacket);
+	static TInt DumpCb(TAny* aThisPtr);
+	void DumpQueuedPackets();
+
+protected:
+	TTime iTimeOrigin;
 	const TUint iId;
 	CProviderProbe *iList;
+	CAsyncCallBack iDumpCb;
+	RMBufPktQ iQueue;
+	RFs iFs;
+	RFile iFile;
+	RBuf8 iBuf;
+	TBool iFileServerOpen;
+	TBool iFileOpen;
+	TBool iBufCreated;
 };
 
 #endif
--- a/networkingtestandutils/ipprobe/inc/sap.h	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/inc/sap.h	Tue Jun 29 19:20:22 2010 +0530
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -19,6 +19,7 @@
 /**
  @internalComponent
 */
+
 #ifndef __PROBE_SAP_H
 #define __PROBE_SAP_H
 
--- a/networkingtestandutils/ipprobe/src/family.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/src/family.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -1,4 +1,4 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -20,6 +20,10 @@
 //
 // Nothing interesting here...
 //
+GLDEF_C TInt E32Dll()
+	{
+	return KErrNone;
+	}
 
 class CProtocolFamilyProbe : public CProtocolFamilyBase
 	{
@@ -32,10 +36,12 @@
 	CProtocolBase* NewProtocolL(TUint /*aSockType*/, TUint aProtocol);
 	};
 
-extern "C" { IMPORT_C CProtocolFamilyBase* Install(void); }
+extern "C" { IMPORT_C CProtocolFamilyBase* Install(); }
 EXPORT_C CProtocolFamilyBase* Install()
 	{
-	return new (ELeave) CProtocolFamilyProbe;
+	// Due to naming convention this cannot leave
+	// However null return value handled correctly in the caller...
+	return new CProtocolFamilyProbe;
 	}
 
 //----------------------------------------------------------------------
@@ -63,7 +69,9 @@
 
 TUint CProtocolFamilyProbe::ProtocolList(TServerProtocolDesc *& aList)
 	{
-	aList = new TServerProtocolDesc[2];
+	// This function might leave, but it has been taken care of in the calling function
+	const TInt index =2;
+	aList = new TServerProtocolDesc[index];
 	if (aList == NULL)
 		return 0;
 	
--- a/networkingtestandutils/ipprobe/src/prt.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/src/prt.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -1,34 +1,50 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// prt.cpp - Packet Probe Hook
-//
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Packet probe hook
+*
+*/
 
 #include <e32std.h>
 #include <e32base.h>
+#include <f32file.h>
+#include <e32svr.h>
 #ifdef SYMBIAN_ENABLE_SPLIT_HEADERS
 #include <es_prot_internal.h>
 #endif
 
+
 #include "family.h"
 #include "prt.h"
 #include "sap.h"
 #include "inet6log.h"
+_LIT(KTcpDumpFolder, "tcpdump\\");
+_LIT(KProbeDumpFile, "probe.cap");
+_LIT(KLogFolder,     "c:\\logs\\");
 
 
-CProtocolProbe::CProtocolProbe(TUint aId) : iId(aId)
+CProtocolProbe::CProtocolProbe(TUint aId) : 
+iId(aId), 
+iDumpCb(CActive::EPriorityStandard),
+iFileServerOpen(EFalse),
+iFileOpen(EFalse),
+iBufCreated(EFalse)
 	{
 	LOG(Log::Printf(_L("Probe::CProtocolProbe()\r\n"));)
+	iTimeOrigin.UniversalTime();
+
+	TCallBack cbFunc(DumpCb, this);
+	iDumpCb.Set(cbFunc);
 	}
 
 void CProtocolProbe::InitL(TDesC& aTag)
@@ -37,7 +53,6 @@
 	CProtocolBase::InitL(aTag);
 	}
 
-
 void CProtocolProbe::StartL()
 	{
 	//	__ASSERT_DEBUG(iProtocol != NULL, User::Leave(KErrGeneral));
@@ -45,20 +60,39 @@
 
 CProtocolProbe::~CProtocolProbe()
 	{
-	LOG(Log::Printf(_L("Probe::~CProtocolProbe()\r\n"));)
+	LOG(Log::Printf(_L("Probe::~CProtocolProbe()\r\n"));)	
+	if(iFileOpen)
+	    {
+		iFile.Close();
+		iFileOpen = EFalse;
+	    }
+	if(iFileServerOpen)
+		{
+		iFs.Close();
+		iFileServerOpen = EFalse;
+		}	
+    if(iBufCreated)
+        {
+        iBuf.Close();
+        iBufCreated = EFalse;
+        }
 	}
 
-
 CProtocolProbe *CProtocolProbe::NewL(TUint aId)
 	{
+
 	return new (ELeave) CProtocolProbe(aId);
 	}
 
 void CProtocolProbe::FillIdentification(TServerProtocolDesc& anEntry, TUint aId)
 	{
+
 	anEntry.iName=_S("probe");
 	if (aId > 1)
+		{
 		anEntry.iName.AppendNum(aId-1);
+		}
+
 	anEntry.iAddrFamily = KAfProbe;
 	anEntry.iSockType = KSockDatagram;
 	anEntry.iProtocol = aId;
@@ -83,7 +117,10 @@
 	LOG(Log::Printf(_L("Probe::NewSAPL(%d)\r\n"), aProtocol);)
 
 	if (aProtocol != KSockDatagram)
+		{
 		User::Leave(KErrNotSupported);
+		}
+
 	CProviderProbe* sap = new (ELeave) CProviderProbe(this);
 	sap->iNext = iList;
 	iList = sap;
@@ -97,6 +134,7 @@
 //
 void CProtocolProbe::CancelSAP(const CServProviderBase* aSAP)
 	{
+	
 	CProviderProbe **h, *sap;
 	for (h = &iList; (sap = *h) != NULL; h = &sap->iNext)
 		if (sap == aSAP)
@@ -106,49 +144,218 @@
 			}
 	}
 
-
 // CProtocolProbe::NetworkAttachedL
 // ********************************
 // When network becomes available, do the hooking!
 //
 void CProtocolProbe::NetworkAttachedL()
 	{
+
 	NetworkService()->BindL(this, MIp6Hook::BindPostHook());
 	NetworkService()->BindL(this, MIp6Hook::BindPostHook()+1);
+
+	// initialise dump file
+	if(iFileOpen)
+		{
+		iFile.Close();
+		iFileOpen = EFalse;
+		}
+	if(iFileServerOpen)
+		{
+		iFs.Close();
+		iFileServerOpen = EFalse;
+		}
+
+	User::LeaveIfError(iFs.Connect());
+    iFileServerOpen = ETrue;
+    TBuf<50> filename;
+    filename.Append(KLogFolder);
+    filename.Append(KTcpDumpFolder);
+    filename.Append(KProbeDumpFile);
+	User::LeaveIfError(iFile.Replace(iFs, filename, EFileWrite));
+    iFileOpen = ETrue;
+
+    // allocate buffer
+    if(!iBufCreated)
+        {
+		const TInt KMaxBufferSize = 65535;
+        iBuf.CreateL(KMaxBufferSize);
+        iBufCreated = ETrue;
+        }
+    
+	LibcapDumpFileHeader();
 	}
 
+void CProtocolProbe::Queue(RMBufChain &aPacket)
 //
-//	CProtocolProbe::Deliver
-//	***********************
-//	Generate a copy of the packet to every bound provider
+//  Takes a copy of aPacket, adds it to the queue and triggers the callback
 //
-void CProtocolProbe::Deliver(RMBufChain &aPacket)
 	{
-	const RMBufPktInfo *const info = RMBufPacketBase::PeekInfoInChain(aPacket);
+
+	RMBufPacketBase copy;
+	TRAPD(err, copy.CopyPackedL(aPacket));
+	if (err == KErrNone)
+		{
+
+		//
+		// Calculate packet time-stamp
+		//
+		TTime newTime;
+		newTime.UniversalTime();
+		TTimeIntervalMicroSeconds interval = newTime.MicroSecondsFrom(iTimeOrigin);
+
+		const TInt KMicrosInASecond = 1000000;
 
-	for (CProviderProbe* sap = iList; sap != NULL; sap = sap->iNext)
+		//TUint32 micros = interval.Int64().Low();
+		TUint32 micros = I64LOW(interval.Int64());//.Low();  x.Low() -> I64LOW(x)
+		TUint32 secs = micros / KMicrosInASecond;
+		micros -= (secs * KMicrosInASecond);
+
+		//
+		// Reuse the protocol and flags fields of
+		// RMBufPktInfo to store the time-stamp
+		//
+		RMBufPktInfo* info = RMBufPacket::PeekInfoInChain(copy);
+		info->iProtocol = static_cast<TInt>(secs);
+		info->iFlags = static_cast<TUint>(micros);
+
+		iQueue.Append(copy);
+		iDumpCb.CallBack();
+		}
+	else
 		{
-		if (sap->IsReceiving(*info))
-			{
-			RMBufPacketBase copy;
-			TRAPD(err, copy.CopyPackedL(aPacket));
-			if (err == KErrNone)
-				sap->Process(copy, this);
-			else
-				copy.Free();
-			}
+		copy.Free();
 		}
 	}
 
 
+//
+//	CProtocolProbe::Dump
+//	***********************
+//	Log the packet to file
+//
+void CProtocolProbe::Dump(RMBufChain &aPacket)
+	{
+
+	RMBufPacket packet;
+	packet.Assign(aPacket);
+	RMBufPktInfo* info = packet.Unpack();
+
+	TUint32 secs = static_cast<TUint32>(info->iProtocol);
+	TUint32 micros = static_cast<TUint32>(info->iFlags);
+
+    iBuf.SetMax();
+    packet.CopyOut(iBuf, 0);
+    if(iBuf.Length() != info->iLength)
+        {
+        iBuf.SetLength(info->iLength);
+        }
+	LibcapDump(iBuf, secs, micros);
+	packet.Free();
+	}
+
 TInt CProtocolProbe::Send(RMBufChain &aPacket, CProtocolBase* aSrc)
 	{
-	Deliver(aPacket);
+
+	Queue(aPacket);
 	return CProtocolPosthook::Send(aPacket, aSrc);
 	}
 
 void CProtocolProbe::Process(RMBufChain &aPacket, CProtocolBase* aSrc)
 	{
-	Deliver(aPacket);
+
+	Queue(aPacket);
 	CProtocolPosthook::Process(aPacket, aSrc);
 	}
+
+void CProtocolProbe::LibcapDumpFileHeader()
+//
+//  Dump file header in a format compatible with Libcap
+//
+//  Format is:
+//  
+//  struct FileHeader
+//      {
+//	    TUint32 magic; 
+//	    TUint16 version_major;
+//	    TUint16 version_minor;
+//	    TUint32 thiszone;	/* gmt to local correction */
+//	    TUint32 sigfigs;	/* accuracy of timestamps */
+//	    TUint32 snaplen;	/* max length saved portion of each pkt */
+//	    TUint32 linktype;	/* data link type (LINKTYPE_*) */
+//      };
+//
+//  Note LINKTYPE specified in libpcap/bpf/net/bpf.h (see www.tcpdump.org)
+//
+	{
+
+	TBuf8<sizeof(TUint32)*5+sizeof(TUint16)*2> fileHeader;
+	*((TUint32*) &(fileHeader.Ptr()[0])) = 0xa1b2c3d4;
+	*((TUint16*) &(fileHeader.Ptr()[4])) = 0x02; 
+	*((TUint16*) &(fileHeader.Ptr()[6])) = 0x04; 
+	*((TUint32*) &(fileHeader.Ptr()[8])) = 0x00;
+	*((TUint32*) &(fileHeader.Ptr()[12])) = 0x00;
+	*((TUint32*) &(fileHeader.Ptr()[16])) = 0xffff;
+	*((TUint32*) &(fileHeader.Ptr()[20])) = 12;       // DLT_RAW		12	/* raw IP */
+	fileHeader.SetLength(fileHeader.MaxLength());
+
+	iFile.Write(fileHeader);
+	}
+
+void CProtocolProbe::LibcapDump(const TDesC8& aBuffer, TUint32 aTimeStampSecs, TUint32 aTimeStampMicros)
+//
+//  Dumps a packet in a format compatbible with Libcap
+//
+//  For each record the format is:
+//
+//  struct record 
+//      {
+//      TUint32 sec;	/* time stamp - secs*/
+//      TUint32 usec;	/* time stamp - microsecs*/
+//      TUint32 captureLen;	/* length packet captured */
+//      TUint32 packetLen;	/* total length of packet*/
+//      };
+//
+//  Byte ordering of the header is little endian
+//  Byte ordering of the packet is network byte order (big endian)
+//
+	{
+	
+	TBuf8<sizeof(TUint32)*4> recordHeader;
+	recordHeader.FillZ();
+
+	*((TUint32*) &(recordHeader.Ptr()[0])) = aTimeStampSecs;
+	*((TUint32*) &(recordHeader.Ptr()[4])) = aTimeStampMicros;
+	*((TUint32*) &(recordHeader.Ptr()[8])) = aBuffer.Length();
+	*((TUint32*) &(recordHeader.Ptr()[12])) = aBuffer.Length();
+	recordHeader.SetLength(recordHeader.MaxLength());
+
+	iFile.Write(recordHeader);
+	iFile.Write(aBuffer);
+	}
+
+
+
+TInt CProtocolProbe::DumpCb(TAny* aThisPtr)
+//
+//  Callback function - calls DumpQueuedPackets()
+//
+	{
+
+	CProtocolProbe* self = static_cast<CProtocolProbe*>(aThisPtr);
+	self->DumpQueuedPackets();
+	return KErrNone;
+	}
+
+void CProtocolProbe::DumpQueuedPackets()
+//
+//  Dumps all packets on the queue to the log file
+//
+	{
+
+	RMBufPacketBase packet;
+	while(iQueue.Remove(packet))
+		{
+		Dump(packet);
+		}
+	}
--- a/networkingtestandutils/ipprobe/src/sap.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/ipprobe/src/sap.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -1,21 +1,23 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// sap.cpp - Packet Probe Hook
-//
+/*
+* Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies). 
+* All rights reserved.
+* This component and the accompanying materials are made available
+* under the terms of "Eclipse Public License v1.0"
+* which accompanies this distribution, and is available
+* at the URL "http://www.eclipse.org/legal/epl-v10.html".
+*
+* Initial Contributors:
+* Nokia Corporation - initial contribution.
+*
+* Contributors:
+*
+* Description: Packet probe hook
+*
+*/
 
 #include "sap.h"
 
+
 CProviderProbe::CProviderProbe(CProtocolProbe* aProtocol) : iProtocol(aProtocol)
 	{
 	__DECLARE_NAME(_S("CProviderProbe"));
--- a/networkingtestandutils/networkingexamples/examplecode/inetd/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,26 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-PRJ_PLATFORMS
-
-PRJ_TESTEXPORTS
- 
-PRJ_TESTMMPFILES
-../group/INETD.MMP
-../group/IPECHO.MMP
-
-#include "../test/bld.inf"
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingtestandutils/networkingexamples/examplecode/inetd/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,26 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+PRJ_PLATFORMS
+
+PRJ_TESTEXPORTS
+ 
+PRJ_TESTMMPFILES
+../group/INETD.MMP
+../group/IPECHO.MMP
+
+#include "../test/bld.inf"
+
--- a/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/CIT_P635_simtsy_config1.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/CIT_P635_simtsy_config1.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1,1
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1,1
 AdditionalParamItemGPRS= 0x02, ADDITIONALPARAM1
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
--- a/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/CIT_P635_simtsy_config2.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/CIT_P635_simtsy_config2.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -16,7 +16,7 @@
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
 
 # IMS SI = FALSE
-SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>, <THeaderCompression>, <TDataCompression>, <No. Additional Context Config Params>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/te_dedicatedsignalling1ryctx_changedsid_pdpcpr.cfg	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,1043 @@
+############################################################
+## AUTO-GENERATED CONFIGURATION FILE
+## CommsDat Database Dump Utility
+## 1.1
+############################################################
+
+############################################################
+## Network
+## 
+[Network]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Intranet
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Intranet2
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## ModemBearer
+## 
+[ModemBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Loopback Modem
+	TSYName=SIM
+	CSYName=PKTLOOPBACK
+	LastSocketActivityTimeout=180
+	LastSessionClosedTimeout=4
+	LastSocketClosedTimeout=6
+	DataBits=8
+	StopBits=1
+	Parity=NONE
+	Rate=115200
+	Handshaking=0
+	SpecialRate=0
+	XonChar=0
+	XoffChar=0
+	FaxClassPref=AUTO
+	SpeakerPref=NEVER
+	SpeakerVolPref=QUIET
+	ModemInitString=AT
+	DataInitString=AT
+	FaxInitString=AT
+	DialPauseLength=S8=
+	SpeakerVolContorlLow=L0
+	SpeakerVolControlMedium=L1
+	SpeakerVolControlHigh=L2
+	SpeakerAlwaysOff=M0
+	SpeakerOnUntilCarrier=M1
+	SpeakerAlwaysOn=M2
+	SpeakerOnAfterUntilCarrier=M3
+	DialToneWaitModifier=W
+	CallProgress1=X1
+	CallProgress2=X2
+	CallProgress3=X3
+	CallProgress4=X4
+	EchoOff=E0
+	VerboseText=V1
+	QuietOff=Q0
+	QuietOn=Q1
+	DialCommandStateModifier=;
+	OnLine=O
+	ResetConfiguration=Z
+	ReturnToFactoryDefs=&F
+	DCDOnDuringLink=&C1
+	DTRHangUp=&D2
+	DSRAlwaysOn=&S0
+	RTSCTSHandshake=&K3
+	XonXoffHandshake=&K4
+	EscapeCharacter=+
+	EscapeGuardPeriod=S12
+	NoDialTone=NO DIAL TONE
+	Busy=BUSY
+	NoAnswer=NO ANSWER
+	Carrier=CARRIER
+	Connect=CONNECT
+	CompressionClass5=COMPRESSION:CLASS 5
+	CompressionV42bis=COMPRESSION:V.42 bis
+	CompressionNone=COMPRESSION:NONE
+	ProtocolLAPD=PROTOCOL:LAPD
+	ProtocolALT=PROTOCOL:ALT
+	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
+	ProtocolNone=PROTOCOL:NONE
+	MessageValidityPeriod=0
+	MessageDeliveryReport=FALSE
+	CommRole=0
+	Agent=NULLAGT
+	BCAStack=C32Bca
+	FIELD_COUNT=66
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Loopback_RawIP_1
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::501
+	CSYName=PKTLOOPBACK
+	FIELD_COUNT=5
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Loopback_SPUD_2
+	IfName=SPUD
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Loopback_RawIP_3
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::503
+	CSYName=PKTLOOPBACK
+	FIELD_COUNT=5
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Loopback_SPUD_4
+	IfName=SPUD
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=WinTunnel_SPUD_5
+	IfName=SPUD
+	Agent=NULLAGT
+	FIELD_COUNT=4
+END_ADD
+
+
+############################################################
+## Location
+## 
+[Location]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Location
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Office
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=171
+	DialOutCode=9,
+	Mobile=FALSE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Mobile
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## GlobalSettings
+## 
+[GlobalSettings]
+ADD_TEMPLATE
+	DefaultTier=Link.TierTable.2048
+	FIELD_COUNT=1
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ConnectionAttempts=2
+	RedialAttempts=3
+	SmsReceiveMode=2
+	GPRSAttachMode=1
+	AcceptIncomingGprs=1
+	GPRSClassCBearer=GSM
+	ModemForDataAndFax=2
+	ModemForPhoneServicesAndSMS=2
+	LocationForDataAndFax=41878016
+	LocationForPhoneServicesAndSMS=41878016
+	MaxMBufHeap=41878016
+	DefaultNetwork=33489152
+	BearerAvailabilityCheckTSY=mm
+	FIELD_COUNT=15
+END_ADD
+
+
+############################################################
+## OutgoingGPRS
+## 
+[OutgoingGPRS]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Outgoing GPRS
+	APN=Test
+	PDPType=IPV4
+	ReqPrecedence=2
+	ReqDelay=4
+	ReqReliability=3
+	ReqPeakThroughput=3
+	ReqMeanThroughput=31
+	MinPrecedence=2
+	MinDelay=4
+	MinReliability=3
+	MinPeakThroughput=3
+	MinMeanThroughput=31
+	DataCompression=FALSE
+	HeaderCompression=FALSE
+	GprsUseEdge=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	AuthRetries=1
+	IpGateway=0.0.0.1
+	IpAddrFromServer=FALSE
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.51
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=30
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=RawIP_Bounce_1
+	PDPType=IPV4
+	IfPromptForAuth=FALSE
+	IpNetMask=255.255.255.0
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=SPUD_Echo_2
+	PDPType=IPV4
+	IfParams=lowernif=RAWIP
+	IfPromptForAuth=FALSE
+	IpNetMask=255.255.255.0
+	IpAddrFromServer=TRUE
+	IpAddr=192.168.1.2
+	IpDNSAddrFromServer=TRUE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=RawIP_Bounce_3
+	PDPType=IPV4
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.2.3
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=SPUD_Echo_4
+	PDPType=IPV4
+	IfParams=lowernif=RAWIP
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.2.4
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## DefaultGPRS
+## 
+[DefaultGPRS]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy Default GPRS Settings
+	Usage=1
+	APN=Access point name
+	PDPType=IPV6
+	PDPAddress=www.wid.com
+	Precedence=1
+	Delay=1
+	Reliability=1
+	PeakThroughput=1
+	MeanThroughput=1
+	MinPrecedence=1
+	MinDelay=1
+	MinReliability=1
+	MinPeakThroughput=1
+	MinMeanThroughput=1
+	DataCompression=TRUE
+	HeaderCompression=TRUE
+	GprsUseEdge=FALSE
+	AnonymousAccess=TRUE
+	FIELD_COUNT=20
+END_ADD
+
+
+############################################################
+## APPrioritySelectionPolicyTable
+## 
+[APPrioritySelectionPolicyTable]
+ADD_SECTION
+# COMMDB_ID = 1
+  	Id=1
+	Name=SelectionPolicy1
+	AP1=Link.AccessPointTable.10001
+	APCOUNT=1
+	FIELD_COUNT=4
+END_ADD
+
+############################################################
+## AccessPointTable
+## 
+[AccessPointTable]
+ADD_SECTION
+# COMMDB_ID = 243
+	Id=5
+	Name=rawipMappedFromIAP5
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=5
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 245
+	Id=4
+	Name=spud-rawipMappedFromIAP4
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.5
+	CprConfig=4
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 247
+	Id=3
+	Name=rawipMappedFromIAP3
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 249
+	Id=2
+	Name=spud-rawipMappedFromIAP2
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.5
+	CprConfig=2
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 251
+	Id=1
+	Name=rawipMappedFromIAP1
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=1
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 253
+	Id=10001
+	Name=IPProtoDefault
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	CustomSelectionPolicy=2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 254
+	Id=10000
+	Name=NetworkDefault
+	Tier=Link.TierTable.2048
+	MCpr=MCprTable.1
+	AccessPointSelectionPolicy=Link.APPrioritySelectionPolicyTable.1
+	Cpr=CprTable.1
+	SCpr=SCprTable.7
+	Protocol=ProtocolTable.1
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## BearerTypeTable
+## 
+[BearerTypeTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.3
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ethint
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.4
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.4
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=tunnelnif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.6
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.6
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=qosppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.7
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.7
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=dummynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.8
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.8
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=hungrynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.9
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.9
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=spud-ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.5
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=spud-rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.5
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+##This record here is the template record for the IPProto level APs generated by CommsDat.
+ADD_SECTION
+# COMMDB_ID = 10
+	##This name is a predefined name for the template for the IPProto APs.
+	##Please don't change it!
+	Name=IPProtoDefaultTemplate
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=6
+END_ADD
+
+
+############################################################
+## IAP
+## 
+[IAP]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Loopback_GRPS_1
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=1
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Loopback_GRPS_2
+	IAPServiceType=OutgoingGPRS
+	IAPService=2
+	IAPBearerType=ModemBearer
+	IAPBearer=2
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.2
+	IAPAppSid=538984447
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Loopback_GRPS_3
+	IAPServiceType=OutgoingGPRS
+	IAPService=3
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Loopback_GRPS_4
+	IAPServiceType=OutgoingGPRS
+	IAPService=4
+	IAPBearerType=ModemBearer
+	IAPBearer=4
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=Loopback_GRPS_5
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## ConnectionPreferences
+## 
+[ConnectionPreferences]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	Ranking=1
+	Direction=OUTGOING
+	BearerSet=PSD
+	DialogPref=DONOTPROMPT
+	IAP=2
+	FIELD_COUNT=7
+END_ADD
+
+############################################################
+## UmtsR99QoSAndOn
+## 
+[UmtsR99QoSAndOn]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=R99Default1
+	ReqTrafficClass=1
+	MinTrafficClass=1
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=1
+	MinDeliverErroneousSDU=1
+	ReqMaxSDUSize=0
+	MinAcceptableMaxSDUSize=0
+	ReqMaxUplinkRate=0
+	ReqMinUplinkRate=0
+	ReqMaxDownlinkRate=0
+	ReqMinDownlinkRate=0
+	ReqBER=1
+	MaxBER=1
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=0
+	MaxTransferDelay=0
+	ReqGuaranteedUplinkRate=0
+	MinGuaranteedUplinkRat=0
+	ReqGuaranteedDownlinkRate=0
+	MinGuaranteedDownlinkRate=0
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=29
+END_ADD
+
+############################################################
+## TierTable
+## 
+[TierTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=2048
+	TierImplUid=271064536
+	Name=Tier1
+	TierThreadName=ESock_IP
+	TierManagerName=NetworkTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10000
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=271064560
+	TierImplUid=271064560
+	Name=Tier2
+	TierThreadName=ESock_IP
+	TierManagerName=ProtoTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10001
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=271064565
+	TierImplUid=271064565
+	Name=Tier3
+	TierThreadName=ESock_IP
+	TierManagerName=LinkTierManager
+	##NB defaultAccessPoint not present in this layer. This is only needed here to satisfy the check
+	##on the link layer. However important that once this field has a value it has to be linked to a
+	##correct accesspoint record in the accesspoint table because this will be checked either.
+	DefaultAccessPoint=Link.AccessPointTable.1
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## MCprTable
+## 
+[MCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=netmcpr
+	MCprUid=271009095
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotomcpr
+	MCprUid=271064558
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=pppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethmcpr
+	MCprUid=271064572
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawipmcpr
+	MCprUid=271064576
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnelmcpr
+	MCprUid=271064578
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qospppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=pdpmcpr
+	MCprUid=271065840
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## CprTable
+## 
+[CprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipcpr
+	CprUid=270561519
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotocpr
+	CprUid=271064531
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentcpr
+	CprUid=271064552
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=vanillacpr
+	CprUid=271065843
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pdpcpr
+	CprUid=271065826
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## SCprTable
+## 
+[SCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipscpr
+	SCprUid=0xFFFFFFFF
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotoscpr
+	SCprUid=271064529
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentscpr
+	SCprUid=271064554
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=pdpscpr
+	SCprUid=271065824
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pppscpr
+	SCprUid=271065852
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=vanillascpr
+	SCprUid=271065844
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosscpr
+	SCprUid=271065811
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=ipqosprotoscpr
+	SCprUid=271065816
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## ProtocolTable
+## 
+[ProtocolTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=sapshim
+	ProtocolUid=270496898
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipshim4
+	ProtocolUid=271064118
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=ppp
+	ProtocolUid=271064143
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethernet
+	ProtocolUid=271064539
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawip
+	ProtocolUid=271064562
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnel
+	ProtocolUid=271064567
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosppp
+	ProtocolUid=271064148
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynif
+	ProtocolUid=271064123
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynif
+	ProtocolUid=271064125
+	FIELD_COUNT=3
+END_ADD
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/te_dedicatedsignalling1ryctx_imssi_pdpcpr.cfg	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,1041 @@
+############################################################
+## AUTO-GENERATED CONFIGURATION FILE
+## CommsDat Database Dump Utility
+## 1.1
+############################################################
+
+############################################################
+## Network
+## 
+[Network]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Intranet
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Intranet2
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## ModemBearer
+## 
+[ModemBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Loopback Modem
+	TSYName=SIM
+	CSYName=PKTLOOPBACK
+	LastSocketActivityTimeout=180
+	LastSessionClosedTimeout=4
+	LastSocketClosedTimeout=6
+	DataBits=8
+	StopBits=1
+	Parity=NONE
+	Rate=115200
+	Handshaking=0
+	SpecialRate=0
+	XonChar=0
+	XoffChar=0
+	FaxClassPref=AUTO
+	SpeakerPref=NEVER
+	SpeakerVolPref=QUIET
+	ModemInitString=AT
+	DataInitString=AT
+	FaxInitString=AT
+	DialPauseLength=S8=
+	SpeakerVolContorlLow=L0
+	SpeakerVolControlMedium=L1
+	SpeakerVolControlHigh=L2
+	SpeakerAlwaysOff=M0
+	SpeakerOnUntilCarrier=M1
+	SpeakerAlwaysOn=M2
+	SpeakerOnAfterUntilCarrier=M3
+	DialToneWaitModifier=W
+	CallProgress1=X1
+	CallProgress2=X2
+	CallProgress3=X3
+	CallProgress4=X4
+	EchoOff=E0
+	VerboseText=V1
+	QuietOff=Q0
+	QuietOn=Q1
+	DialCommandStateModifier=;
+	OnLine=O
+	ResetConfiguration=Z
+	ReturnToFactoryDefs=&F
+	DCDOnDuringLink=&C1
+	DTRHangUp=&D2
+	DSRAlwaysOn=&S0
+	RTSCTSHandshake=&K3
+	XonXoffHandshake=&K4
+	EscapeCharacter=+
+	EscapeGuardPeriod=S12
+	NoDialTone=NO DIAL TONE
+	Busy=BUSY
+	NoAnswer=NO ANSWER
+	Carrier=CARRIER
+	Connect=CONNECT
+	CompressionClass5=COMPRESSION:CLASS 5
+	CompressionV42bis=COMPRESSION:V.42 bis
+	CompressionNone=COMPRESSION:NONE
+	ProtocolLAPD=PROTOCOL:LAPD
+	ProtocolALT=PROTOCOL:ALT
+	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
+	ProtocolNone=PROTOCOL:NONE
+	MessageValidityPeriod=0
+	MessageDeliveryReport=FALSE
+	CommRole=0
+	Agent=NULLAGT
+	BCAStack=C32Bca
+	FIELD_COUNT=66
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Loopback_RawIP_1
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::501
+	CSYName=PKTLOOPBACK
+	FIELD_COUNT=5
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Loopback_SPUD_2
+	IfName=SPUD
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Loopback_RawIP_3
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::503
+	CSYName=PKTLOOPBACK
+	FIELD_COUNT=5
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Loopback_SPUD_4
+	IfName=SPUD
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=WinTunnel_SPUD_5
+	IfName=SPUD
+	Agent=NULLAGT
+	FIELD_COUNT=4
+END_ADD
+
+
+############################################################
+## Location
+## 
+[Location]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Location
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Office
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=171
+	DialOutCode=9,
+	Mobile=FALSE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Mobile
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## GlobalSettings
+## 
+[GlobalSettings]
+ADD_TEMPLATE
+	DefaultTier=Link.TierTable.2048
+	FIELD_COUNT=1
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ConnectionAttempts=2
+	RedialAttempts=3
+	SmsReceiveMode=2
+	GPRSAttachMode=1
+	AcceptIncomingGprs=1
+	GPRSClassCBearer=GSM
+	ModemForDataAndFax=2
+	ModemForPhoneServicesAndSMS=2
+	LocationForDataAndFax=41878016
+	LocationForPhoneServicesAndSMS=41878016
+	MaxMBufHeap=41878016
+	DefaultNetwork=33489152
+	BearerAvailabilityCheckTSY=mm
+	FIELD_COUNT=15
+END_ADD
+
+
+############################################################
+## OutgoingGPRS
+## 
+[OutgoingGPRS]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Outgoing GPRS
+	APN=Test
+	PDPType=IPV4
+	ReqPrecedence=2
+	ReqDelay=4
+	ReqReliability=3
+	ReqPeakThroughput=3
+	ReqMeanThroughput=31
+	MinPrecedence=2
+	MinDelay=4
+	MinReliability=3
+	MinPeakThroughput=3
+	MinMeanThroughput=31
+	DataCompression=FALSE
+	HeaderCompression=FALSE
+	GprsUseEdge=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	AuthRetries=1
+	IpGateway=0.0.0.1
+	IpAddrFromServer=FALSE
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.51
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=30
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=RawIP_Bounce_1
+	PDPType=IPV4
+	IfPromptForAuth=FALSE
+	IpNetMask=255.255.255.0
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=SPUD_Echo_2
+	PDPType=IPV4
+	IfParams=lowernif=RAWIP
+	IfPromptForAuth=FALSE
+	IpNetMask=255.255.255.0
+	IpAddrFromServer=TRUE
+	IpAddr=192.168.1.2
+	IpDNSAddrFromServer=TRUE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=RawIP_Bounce_3
+	PDPType=IPV4
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.2.3
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=SPUD_Echo_4
+	PDPType=IPV4
+	IfParams=lowernif=RAWIP
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.2.4
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## DefaultGPRS
+## 
+[DefaultGPRS]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy Default GPRS Settings
+	Usage=1
+	APN=Access point name
+	PDPType=IPV6
+	PDPAddress=www.wid.com
+	Precedence=1
+	Delay=1
+	Reliability=1
+	PeakThroughput=1
+	MeanThroughput=1
+	MinPrecedence=1
+	MinDelay=1
+	MinReliability=1
+	MinPeakThroughput=1
+	MinMeanThroughput=1
+	DataCompression=TRUE
+	HeaderCompression=TRUE
+	GprsUseEdge=FALSE
+	AnonymousAccess=TRUE
+	FIELD_COUNT=20
+END_ADD
+
+############################################################
+## APPrioritySelectionPolicyTable
+## 
+[APPrioritySelectionPolicyTable]
+ADD_SECTION
+# COMMDB_ID = 1
+  	Id=1
+	Name=SelectionPolicy1
+	AP1=Link.AccessPointTable.10001
+	APCOUNT=1
+	FIELD_COUNT=4
+END_ADD
+
+############################################################
+## AccessPointTable
+## 
+[AccessPointTable]
+ADD_SECTION
+# COMMDB_ID = 243
+	Id=5
+	Name=rawipMappedFromIAP5
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=5
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 245
+	Id=4
+	Name=spud-rawipMappedFromIAP4
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.5
+	CprConfig=4
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 247
+	Id=3
+	Name=rawipMappedFromIAP3
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 249
+	Id=2
+	Name=spud-rawipMappedFromIAP2
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.5
+	CprConfig=2
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 251
+	Id=1
+	Name=rawipMappedFromIAP1
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=1
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 253
+	Id=10001
+	Name=IPProtoDefault
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	CustomSelectionPolicy=2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 254
+	Id=10000
+	Name=NetworkDefault
+	Tier=Link.TierTable.2048
+	MCpr=MCprTable.1
+	AccessPointSelectionPolicy=Link.APPrioritySelectionPolicyTable.1
+	Cpr=CprTable.1
+	SCpr=SCprTable.7
+	Protocol=ProtocolTable.1
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## BearerTypeTable
+## 
+[BearerTypeTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.3
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ethint
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.4
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.4
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=tunnelnif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.6
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.6
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=qosppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.7
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.7
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=dummynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.8
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.8
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=hungrynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.9
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.9
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=spud-ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.5
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=spud-rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.5
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+##This record here is the template record for the IPProto level APs generated by CommsDat.
+ADD_SECTION
+# COMMDB_ID = 10
+	##This name is a predefined name for the template for the IPProto APs.
+	##Please don't change it!
+	Name=IPProtoDefaultTemplate
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=6
+END_ADD
+
+
+############################################################
+## IAP
+## 
+[IAP]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Loopback_GRPS_1
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=1
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Loopback_GRPS_2
+	IAPServiceType=OutgoingGPRS
+	IAPService=2
+	IAPBearerType=ModemBearer
+	IAPBearer=2
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Loopback_GRPS_3
+	IAPServiceType=OutgoingGPRS
+	IAPService=3
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Loopback_GRPS_4
+	IAPServiceType=OutgoingGPRS
+	IAPService=4
+	IAPBearerType=ModemBearer
+	IAPBearer=4
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=Loopback_GRPS_5
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## ConnectionPreferences
+## 
+[ConnectionPreferences]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	Ranking=1
+	Direction=OUTGOING
+	BearerSet=PSD
+	DialogPref=DONOTPROMPT
+	IAP=2
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## UmtsR99QoSAndOn
+## 
+[UmtsR99QoSAndOn]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=R99Default1
+	ReqTrafficClass=1
+	MinTrafficClass=1
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=1
+	MinDeliverErroneousSDU=1
+	ReqMaxSDUSize=0
+	MinAcceptableMaxSDUSize=0
+	ReqMaxUplinkRate=0
+	ReqMinUplinkRate=0
+	ReqMaxDownlinkRate=0
+	ReqMinDownlinkRate=0
+	ReqBER=1
+	MaxBER=1
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=0
+	MaxTransferDelay=0
+	ReqGuaranteedUplinkRate=0
+	MinGuaranteedUplinkRat=0
+	ReqGuaranteedDownlinkRate=0
+	MinGuaranteedDownlinkRate=0
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=TRUE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=29
+END_ADD
+
+############################################################
+## TierTable
+## 
+[TierTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=2048
+	TierImplUid=271064536
+	Name=Tier1
+	TierThreadName=ESock_IP
+	TierManagerName=NetworkTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10000
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=271064560
+	TierImplUid=271064560
+	Name=Tier2
+	TierThreadName=ESock_IP
+	TierManagerName=ProtoTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10001
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=271064565
+	TierImplUid=271064565
+	Name=Tier3
+	TierThreadName=ESock_IP
+	TierManagerName=LinkTierManager
+##NB defaultAccessPoint not present in this layer. This is only needed here to satisfy the check
+##on the link layer. However important that once this field has a value it has to be linked to a
+##correct accesspoint record in the accesspoint table because this will be checked either.
+	DefaultAccessPoint=Link.AccessPointTable.1
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## MCprTable
+## 
+[MCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=netmcpr
+	MCprUid=271009095
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotomcpr
+	MCprUid=271064558
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=pppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethmcpr
+	MCprUid=271064572
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawipmcpr
+	MCprUid=271064576
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnelmcpr
+	MCprUid=271064578
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qospppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=pdpmcpr
+	MCprUid=271065840
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## CprTable
+## 
+[CprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipcpr
+	CprUid=270561519
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotocpr
+	CprUid=271064531
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentcpr
+	CprUid=271064552
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=vanillacpr
+	CprUid=271065843
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pdpcpr
+	CprUid=271065826
+	FIELD_COUNT=3
+END_ADD
+
+############################################################
+## SCprTable
+## 
+[SCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipscpr
+	SCprUid=0xFFFFFFFF
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotoscpr
+	SCprUid=271064529
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentscpr
+	SCprUid=271064554
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=pdpscpr
+	SCprUid=271065824
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pppscpr
+	SCprUid=271065852
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=vanillascpr
+	SCprUid=271065844
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosscpr
+	SCprUid=271065811
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=ipqosprotoscpr
+	SCprUid=271065816
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## ProtocolTable
+## 
+[ProtocolTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=sapshim
+	ProtocolUid=270496898
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipshim4
+	ProtocolUid=271064118
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=ppp
+	ProtocolUid=271064143
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethernet
+	ProtocolUid=271064539
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawip
+	ProtocolUid=271064562
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnel
+	ProtocolUid=271064567
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosppp
+	ProtocolUid=271064148
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynif
+	ProtocolUid=271064123
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynif
+	ProtocolUid=271064125
+	FIELD_COUNT=3
+END_ADD
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/te_dedicatedsignalling1ryctx_nosid_pdpcpr.cfg	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,1042 @@
+############################################################
+## AUTO-GENERATED CONFIGURATION FILE
+## CommsDat Database Dump Utility
+## 1.1
+############################################################
+
+############################################################
+## Network
+## 
+[Network]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Intranet
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Intranet2
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## ModemBearer
+## 
+[ModemBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Loopback Modem
+	TSYName=SIM
+	CSYName=PKTLOOPBACK
+	LastSocketActivityTimeout=180
+	LastSessionClosedTimeout=4
+	LastSocketClosedTimeout=6
+	DataBits=8
+	StopBits=1
+	Parity=NONE
+	Rate=115200
+	Handshaking=0
+	SpecialRate=0
+	XonChar=0
+	XoffChar=0
+	FaxClassPref=AUTO
+	SpeakerPref=NEVER
+	SpeakerVolPref=QUIET
+	ModemInitString=AT
+	DataInitString=AT
+	FaxInitString=AT
+	DialPauseLength=S8=
+	SpeakerVolContorlLow=L0
+	SpeakerVolControlMedium=L1
+	SpeakerVolControlHigh=L2
+	SpeakerAlwaysOff=M0
+	SpeakerOnUntilCarrier=M1
+	SpeakerAlwaysOn=M2
+	SpeakerOnAfterUntilCarrier=M3
+	DialToneWaitModifier=W
+	CallProgress1=X1
+	CallProgress2=X2
+	CallProgress3=X3
+	CallProgress4=X4
+	EchoOff=E0
+	VerboseText=V1
+	QuietOff=Q0
+	QuietOn=Q1
+	DialCommandStateModifier=;
+	OnLine=O
+	ResetConfiguration=Z
+	ReturnToFactoryDefs=&F
+	DCDOnDuringLink=&C1
+	DTRHangUp=&D2
+	DSRAlwaysOn=&S0
+	RTSCTSHandshake=&K3
+	XonXoffHandshake=&K4
+	EscapeCharacter=+
+	EscapeGuardPeriod=S12
+	NoDialTone=NO DIAL TONE
+	Busy=BUSY
+	NoAnswer=NO ANSWER
+	Carrier=CARRIER
+	Connect=CONNECT
+	CompressionClass5=COMPRESSION:CLASS 5
+	CompressionV42bis=COMPRESSION:V.42 bis
+	CompressionNone=COMPRESSION:NONE
+	ProtocolLAPD=PROTOCOL:LAPD
+	ProtocolALT=PROTOCOL:ALT
+	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
+	ProtocolNone=PROTOCOL:NONE
+	MessageValidityPeriod=0
+	MessageDeliveryReport=FALSE
+	CommRole=0
+	Agent=NULLAGT
+	BCAStack=C32Bca
+	FIELD_COUNT=66
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Loopback_RawIP_1
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::501
+	CSYName=PKTLOOPBACK
+	FIELD_COUNT=5
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Loopback_SPUD_2
+	IfName=SPUD
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Loopback_RawIP_3
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::503
+	CSYName=PKTLOOPBACK
+	FIELD_COUNT=5
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Loopback_SPUD_4
+	IfName=SPUD
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=WinTunnel_SPUD_5
+	IfName=SPUD
+	Agent=NULLAGT
+	FIELD_COUNT=4
+END_ADD
+
+
+############################################################
+## Location
+## 
+[Location]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Location
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Office
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=171
+	DialOutCode=9,
+	Mobile=FALSE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Mobile
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## GlobalSettings
+## 
+[GlobalSettings]
+ADD_TEMPLATE
+	DefaultTier=Link.TierTable.2048
+	FIELD_COUNT=1
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ConnectionAttempts=2
+	RedialAttempts=3
+	SmsReceiveMode=2
+	GPRSAttachMode=1
+	AcceptIncomingGprs=1
+	GPRSClassCBearer=GSM
+	ModemForDataAndFax=2
+	ModemForPhoneServicesAndSMS=2
+	LocationForDataAndFax=41878016
+	LocationForPhoneServicesAndSMS=41878016
+	MaxMBufHeap=41878016
+	DefaultNetwork=33489152
+	BearerAvailabilityCheckTSY=mm
+	FIELD_COUNT=15
+END_ADD
+
+
+############################################################
+## OutgoingGPRS
+## 
+[OutgoingGPRS]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Outgoing GPRS
+	APN=Test
+	PDPType=IPV4
+	ReqPrecedence=2
+	ReqDelay=4
+	ReqReliability=3
+	ReqPeakThroughput=3
+	ReqMeanThroughput=31
+	MinPrecedence=2
+	MinDelay=4
+	MinReliability=3
+	MinPeakThroughput=3
+	MinMeanThroughput=31
+	DataCompression=FALSE
+	HeaderCompression=FALSE
+	GprsUseEdge=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	AuthRetries=1
+	IpGateway=0.0.0.1
+	IpAddrFromServer=FALSE
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.51
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=30
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=RawIP_Bounce_1
+	PDPType=IPV4
+	IfPromptForAuth=FALSE
+	IpNetMask=255.255.255.0
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=SPUD_Echo_2
+	PDPType=IPV4
+	IfParams=lowernif=RAWIP
+	IfPromptForAuth=FALSE
+	IpNetMask=255.255.255.0
+	IpAddrFromServer=TRUE
+	IpAddr=192.168.1.2
+	IpDNSAddrFromServer=TRUE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=RawIP_Bounce_3
+	PDPType=IPV4
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.2.3
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=SPUD_Echo_4
+	PDPType=IPV4
+	IfParams=lowernif=RAWIP
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.2.4
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## DefaultGPRS
+## 
+[DefaultGPRS]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy Default GPRS Settings
+	Usage=1
+	APN=Access point name
+	PDPType=IPV6
+	PDPAddress=www.wid.com
+	Precedence=1
+	Delay=1
+	Reliability=1
+	PeakThroughput=1
+	MeanThroughput=1
+	MinPrecedence=1
+	MinDelay=1
+	MinReliability=1
+	MinPeakThroughput=1
+	MinMeanThroughput=1
+	DataCompression=TRUE
+	HeaderCompression=TRUE
+	GprsUseEdge=FALSE
+	AnonymousAccess=TRUE
+	FIELD_COUNT=20
+END_ADD
+
+############################################################
+## APPrioritySelectionPolicyTable
+## 
+[APPrioritySelectionPolicyTable]
+ADD_SECTION
+# COMMDB_ID = 1
+  	Id=1
+	Name=SelectionPolicy1
+	AP1=Link.AccessPointTable.10001
+	APCOUNT=1
+	FIELD_COUNT=4
+END_ADD
+
+############################################################
+## AccessPointTable
+## 
+[AccessPointTable]
+ADD_SECTION
+# COMMDB_ID = 243
+	Id=5
+	Name=rawipMappedFromIAP5
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=5
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 245
+	Id=4
+	Name=spud-rawipMappedFromIAP4
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.5
+	CprConfig=4
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 247
+	Id=3
+	Name=rawipMappedFromIAP3
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 249
+	Id=2
+	Name=spud-rawipMappedFromIAP2
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.5
+	CprConfig=2
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 251
+	Id=1
+	Name=rawipMappedFromIAP1
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=1
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 253
+	Id=10001
+	Name=IPProtoDefault
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	CustomSelectionPolicy=2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 254
+	Id=10000
+	Name=NetworkDefault
+	Tier=Link.TierTable.2048
+	MCpr=MCprTable.1
+	AccessPointSelectionPolicy=Link.APPrioritySelectionPolicyTable.1
+	Cpr=CprTable.1
+	SCpr=SCprTable.7
+	Protocol=ProtocolTable.1
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## BearerTypeTable
+## 
+[BearerTypeTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.3
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ethint
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.4
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.4
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=tunnelnif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.6
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.6
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=qosppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.7
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.7
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=dummynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.8
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.8
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=hungrynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.9
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.9
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=spud-ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.5
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=spud-rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.5
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+##This record here is the template record for the IPProto level APs generated by CommsDat.
+ADD_SECTION
+# COMMDB_ID = 10
+	##This name is a predefined name for the template for the IPProto APs.
+	##Please don't change it!
+	Name=IPProtoDefaultTemplate
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=6
+END_ADD
+
+
+############################################################
+## IAP
+## 
+[IAP]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Loopback_GRPS_1
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=1
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Loopback_GRPS_2
+	IAPServiceType=OutgoingGPRS
+	IAPService=2
+	IAPBearerType=ModemBearer
+	IAPBearer=2
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Loopback_GRPS_3
+	IAPServiceType=OutgoingGPRS
+	IAPService=3
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Loopback_GRPS_4
+	IAPServiceType=OutgoingGPRS
+	IAPService=4
+	IAPBearerType=ModemBearer
+	IAPBearer=4
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=Loopback_GRPS_5
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## ConnectionPreferences
+## 
+[ConnectionPreferences]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	Ranking=1
+	Direction=OUTGOING
+	BearerSet=PSD
+	DialogPref=DONOTPROMPT
+	IAP=2
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## UmtsR99QoSAndOn
+## 
+[UmtsR99QoSAndOn]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=R99Default1
+	ReqTrafficClass=1
+	MinTrafficClass=1
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=1
+	MinDeliverErroneousSDU=1
+	ReqMaxSDUSize=0
+	MinAcceptableMaxSDUSize=0
+	ReqMaxUplinkRate=0
+	ReqMinUplinkRate=0
+	ReqMaxDownlinkRate=0
+	ReqMinDownlinkRate=0
+	ReqBER=1
+	MaxBER=1
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=0
+	MaxTransferDelay=0
+	ReqGuaranteedUplinkRate=0
+	MinGuaranteedUplinkRat=0
+	ReqGuaranteedDownlinkRate=0
+	MinGuaranteedDownlinkRate=0
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=29
+END_ADD
+
+
+############################################################
+## TierTable
+## 
+[TierTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=2048
+	TierImplUid=271064536
+	Name=Tier1
+	TierThreadName=ESock_IP
+	TierManagerName=NetworkTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10000
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=271064560
+	TierImplUid=271064560
+	Name=Tier2
+	TierThreadName=ESock_IP
+	TierManagerName=ProtoTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10001
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=271064565
+	TierImplUid=271064565
+	Name=Tier3
+	TierThreadName=ESock_IP
+	TierManagerName=LinkTierManager
+##NB defaultAccessPoint not present in this layer. This is only needed here to satisfy the check
+##on the link layer. However important that once this field has a value it has to be linked to a
+##correct accesspoint record in the accesspoint table because this will be checked either.
+	DefaultAccessPoint=Link.AccessPointTable.1
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## MCprTable
+## 
+[MCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=netmcpr
+	MCprUid=271009095
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotomcpr
+	MCprUid=271064558
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=pppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethmcpr
+	MCprUid=271064572
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawipmcpr
+	MCprUid=271064576
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnelmcpr
+	MCprUid=271064578
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qospppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=pdpmcpr
+	MCprUid=271065840
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## CprTable
+## 
+[CprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipcpr
+	CprUid=270561519
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotocpr
+	CprUid=271064531
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentcpr
+	CprUid=271064552
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=vanillacpr
+	CprUid=271065843
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pdpcpr
+	CprUid=271065826
+	FIELD_COUNT=3
+END_ADD
+
+############################################################
+## SCprTable
+## 
+[SCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipscpr
+	SCprUid=0xFFFFFFFF
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotoscpr
+	SCprUid=271064529
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentscpr
+	SCprUid=271064554
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=pdpscpr
+	SCprUid=271065824
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pppscpr
+	SCprUid=271065852
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=vanillascpr
+	SCprUid=271065844
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosscpr
+	SCprUid=271065811
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=ipqosprotoscpr
+	SCprUid=271065816
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## ProtocolTable
+## 
+[ProtocolTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=sapshim
+	ProtocolUid=270496898
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipshim4
+	ProtocolUid=271064118
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=ppp
+	ProtocolUid=271064143
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethernet
+	ProtocolUid=271064539
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawip
+	ProtocolUid=271064562
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnel
+	ProtocolUid=271064567
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosppp
+	ProtocolUid=271064148
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynif
+	ProtocolUid=271064123
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynif
+	ProtocolUid=271064125
+	FIELD_COUNT=3
+END_ADD
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/configs/te_dedicatedsignalling1ryctx_pdpcpr.cfg	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,1044 @@
+############################################################
+## AUTO-GENERATED CONFIGURATION FILE
+## CommsDat Database Dump Utility
+## 1.1
+############################################################
+
+############################################################
+## Network
+## 
+[Network]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Intranet
+	FIELD_COUNT=2
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Intranet2
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## ModemBearer
+## 
+[ModemBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Loopback Modem
+	TSYName=SIM
+	CSYName=PKTLOOPBACK
+	LastSocketActivityTimeout=180
+	LastSessionClosedTimeout=4
+	LastSocketClosedTimeout=6
+	DataBits=8
+	StopBits=1
+	Parity=NONE
+	Rate=115200
+	Handshaking=0
+	SpecialRate=0
+	XonChar=0
+	XoffChar=0
+	FaxClassPref=AUTO
+	SpeakerPref=NEVER
+	SpeakerVolPref=QUIET
+	ModemInitString=AT
+	DataInitString=AT
+	FaxInitString=AT
+	DialPauseLength=S8=
+	SpeakerVolContorlLow=L0
+	SpeakerVolControlMedium=L1
+	SpeakerVolControlHigh=L2
+	SpeakerAlwaysOff=M0
+	SpeakerOnUntilCarrier=M1
+	SpeakerAlwaysOn=M2
+	SpeakerOnAfterUntilCarrier=M3
+	DialToneWaitModifier=W
+	CallProgress1=X1
+	CallProgress2=X2
+	CallProgress3=X3
+	CallProgress4=X4
+	EchoOff=E0
+	VerboseText=V1
+	QuietOff=Q0
+	QuietOn=Q1
+	DialCommandStateModifier=;
+	OnLine=O
+	ResetConfiguration=Z
+	ReturnToFactoryDefs=&F
+	DCDOnDuringLink=&C1
+	DTRHangUp=&D2
+	DSRAlwaysOn=&S0
+	RTSCTSHandshake=&K3
+	XonXoffHandshake=&K4
+	EscapeCharacter=+
+	EscapeGuardPeriod=S12
+	NoDialTone=NO DIAL TONE
+	Busy=BUSY
+	NoAnswer=NO ANSWER
+	Carrier=CARRIER
+	Connect=CONNECT
+	CompressionClass5=COMPRESSION:CLASS 5
+	CompressionV42bis=COMPRESSION:V.42 bis
+	CompressionNone=COMPRESSION:NONE
+	ProtocolLAPD=PROTOCOL:LAPD
+	ProtocolALT=PROTOCOL:ALT
+	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
+	ProtocolNone=PROTOCOL:NONE
+	MessageValidityPeriod=0
+	MessageDeliveryReport=FALSE
+	CommRole=0
+	Agent=NULLAGT
+	BCAStack=C32Bca
+	FIELD_COUNT=66
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Loopback_RawIP_1
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::501
+	CSYName=PKTLOOPBACK
+	FIELD_COUNT=5
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Loopback_SPUD_2
+	IfName=SPUD
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Loopback_RawIP_3
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::503
+	CSYName=PKTLOOPBACK
+	FIELD_COUNT=5
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Loopback_SPUD_4
+	IfName=SPUD
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=WinTunnel_SPUD_5
+	IfName=SPUD
+	Agent=NULLAGT
+	FIELD_COUNT=4
+END_ADD
+
+
+############################################################
+## Location
+## 
+[Location]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Location
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Office
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=171
+	DialOutCode=9,
+	Mobile=FALSE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Mobile
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## GlobalSettings
+## 
+[GlobalSettings]
+ADD_TEMPLATE
+	DefaultTier=Link.TierTable.2048
+	FIELD_COUNT=1
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ConnectionAttempts=2
+	RedialAttempts=3
+	SmsReceiveMode=2
+	GPRSAttachMode=1
+	AcceptIncomingGprs=1
+	GPRSClassCBearer=GSM
+	ModemForDataAndFax=2
+	ModemForPhoneServicesAndSMS=2
+	LocationForDataAndFax=41878016
+	LocationForPhoneServicesAndSMS=41878016
+	MaxMBufHeap=41878016
+	DefaultNetwork=33489152
+	BearerAvailabilityCheckTSY=mm
+	FIELD_COUNT=15
+END_ADD
+
+
+############################################################
+## OutgoingGPRS
+## 
+[OutgoingGPRS]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Outgoing GPRS
+	APN=Test
+	PDPType=IPV4
+	ReqPrecedence=2
+	ReqDelay=4
+	ReqReliability=3
+	ReqPeakThroughput=3
+	ReqMeanThroughput=31
+	MinPrecedence=2
+	MinDelay=4
+	MinReliability=3
+	MinPeakThroughput=3
+	MinMeanThroughput=31
+	DataCompression=FALSE
+	HeaderCompression=FALSE
+	GprsUseEdge=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	AuthRetries=1
+	IpGateway=0.0.0.1
+	IpAddrFromServer=FALSE
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.51
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=30
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=RawIP_Bounce_1
+	PDPType=IPV4
+	IfPromptForAuth=FALSE
+	IpNetMask=255.255.255.0
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=SPUD_Echo_2
+	PDPType=IPV4
+	IfParams=lowernif=RAWIP
+	IfPromptForAuth=FALSE
+	IpNetMask=255.255.255.0
+	IpAddrFromServer=TRUE
+	IpAddr=192.168.1.2
+	IpDNSAddrFromServer=TRUE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=RawIP_Bounce_3
+	PDPType=IPV4
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.2.3
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=SPUD_Echo_4
+	PDPType=IPV4
+	IfParams=lowernif=RAWIP
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.2.4
+	IpDNSAddrFromServer=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## DefaultGPRS
+## 
+[DefaultGPRS]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy Default GPRS Settings
+	Usage=1
+	APN=Access point name
+	PDPType=IPV6
+	PDPAddress=www.wid.com
+	Precedence=1
+	Delay=1
+	Reliability=1
+	PeakThroughput=1
+	MeanThroughput=1
+	MinPrecedence=1
+	MinDelay=1
+	MinReliability=1
+	MinPeakThroughput=1
+	MinMeanThroughput=1
+	DataCompression=TRUE
+	HeaderCompression=TRUE
+	GprsUseEdge=FALSE
+	AnonymousAccess=TRUE
+	FIELD_COUNT=20
+END_ADD
+
+############################################################
+## APPrioritySelectionPolicyTable
+## 
+[APPrioritySelectionPolicyTable]
+ADD_SECTION
+# COMMDB_ID = 1
+  	Id=1
+	Name=SelectionPolicy1
+	AP1=Link.AccessPointTable.10001
+	APCOUNT=1
+	FIELD_COUNT=4
+END_ADD
+
+############################################################
+## AccessPointTable
+## 
+[AccessPointTable]
+ADD_SECTION
+# COMMDB_ID = 243
+	Id=5
+	Name=rawipMappedFromIAP5
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=5
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 245
+	Id=4
+	Name=spud-rawipMappedFromIAP4
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.5
+	CprConfig=4
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 247
+	Id=3
+	Name=rawipMappedFromIAP3
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 249
+	Id=2
+	Name=spud-rawipMappedFromIAP2
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.5
+	CprConfig=2
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 251
+	Id=1
+	Name=rawipMappedFromIAP1
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.3
+	CprConfig=1
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 253
+	Id=10001
+	Name=IPProtoDefault
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	CustomSelectionPolicy=2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=8
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 254
+	Id=10000
+	Name=NetworkDefault
+	Tier=Link.TierTable.2048
+	MCpr=MCprTable.1
+	AccessPointSelectionPolicy=Link.APPrioritySelectionPolicyTable.1
+	Cpr=CprTable.1
+	SCpr=SCprTable.7
+	Protocol=ProtocolTable.1
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## BearerTypeTable
+## 
+[BearerTypeTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.3
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ethint
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.4
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.4
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=tunnelnif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.6
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.6
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=qosppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.7
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.7
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=dummynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.8
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.8
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=hungrynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.9
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.9
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=spud-ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.5
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=spud-rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.5
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+##This record here is the template record for the IPProto level APs generated by CommsDat.
+ADD_SECTION
+# COMMDB_ID = 10
+	##This name is a predefined name for the template for the IPProto APs.
+	##Please don't change it!
+	Name=IPProtoDefaultTemplate
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=6
+END_ADD
+
+
+############################################################
+## IAP
+## 
+[IAP]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Loopback_GRPS_1
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=1
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.2
+	IAPAppSid=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Loopback_GRPS_2
+	IAPServiceType=OutgoingGPRS
+	IAPService=2
+	IAPBearerType=ModemBearer
+	IAPBearer=2
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.2
+	IAPAppSid=270548991
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Loopback_GRPS_3
+	IAPServiceType=OutgoingGPRS
+	IAPService=3
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Loopback_GRPS_4
+	IAPServiceType=OutgoingGPRS
+	IAPService=4
+	IAPBearerType=ModemBearer
+	IAPBearer=4
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=Loopback_GRPS_5
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=3
+	IAPNetwork=2
+	IAPNetworkWeighting=0
+	Location=Location.2
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## ConnectionPreferences
+## 
+[ConnectionPreferences]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	Ranking=1
+	Direction=OUTGOING
+	BearerSet=PSD
+	DialogPref=DONOTPROMPT
+	IAP=2
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## UmtsR99QoSAndOn
+## 
+[UmtsR99QoSAndOn]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=R99Default1
+	ReqTrafficClass=1
+	MinTrafficClass=1
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=1
+	MinDeliverErroneousSDU=1
+	ReqMaxSDUSize=0
+	MinAcceptableMaxSDUSize=0
+	ReqMaxUplinkRate=0
+	ReqMinUplinkRate=0
+	ReqMaxDownlinkRate=0
+	ReqMinDownlinkRate=0
+	ReqBER=1
+	MaxBER=1
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=0
+	MaxTransferDelay=0
+	ReqGuaranteedUplinkRate=0
+	MinGuaranteedUplinkRat=0
+	ReqGuaranteedDownlinkRate=0
+	MinGuaranteedDownlinkRate=0
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=29
+END_ADD
+
+
+############################################################
+## TierTable
+## 
+[TierTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=2048
+	TierImplUid=271064536
+	Name=Tier1
+	TierThreadName=ESock_IP
+	TierManagerName=NetworkTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10000
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=271064560
+	TierImplUid=271064560
+	Name=Tier2
+	TierThreadName=ESock_IP
+	TierManagerName=ProtoTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10001
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=271064565
+	TierImplUid=271064565
+	Name=Tier3
+	TierThreadName=ESock_IP
+	TierManagerName=LinkTierManager
+	##NB defaultAccessPoint not present in this layer. This is only needed here to satisfy the check
+	##on the link layer. However important that once this field has a value it has to be linked to a
+	##correct accesspoint record in the accesspoint table because this will be checked either.
+	DefaultAccessPoint=Link.AccessPointTable.1
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## MCprTable
+## 
+[MCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=netmcpr
+	MCprUid=271009095
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotomcpr
+	MCprUid=271064558
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=pppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethmcpr
+	MCprUid=271064572
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawipmcpr
+	MCprUid=271064576
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnelmcpr
+	MCprUid=271064578
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qospppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=pdpmcpr
+	MCprUid=271065840
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## CprTable
+## 
+[CprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipcpr
+	CprUid=270561519
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotocpr
+	CprUid=271064531
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentcpr
+	CprUid=271064552
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=vanillacpr
+	CprUid=271065843
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pdpcpr
+	CprUid=271065826
+	FIELD_COUNT=3
+END_ADD
+
+############################################################
+## SCprTable
+## 
+[SCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipscpr
+	SCprUid=0xFFFFFFFF
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotoscpr
+	SCprUid=271064529
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentscpr
+	SCprUid=271064554
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=pdpscpr
+	SCprUid=271065824
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pppscpr
+	SCprUid=271065852
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=vanillascpr
+	SCprUid=271065844
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosscpr
+	SCprUid=271065811
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=ipqosprotoscpr
+	SCprUid=271065816
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## ProtocolTable
+## 
+[ProtocolTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=sapshim
+	ProtocolUid=270496898
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipshim4
+	ProtocolUid=271064118
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=ppp
+	ProtocolUid=271064143
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethernet
+	ProtocolUid=271064539
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawip
+	ProtocolUid=271064562
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnel
+	ProtocolUid=271064567
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosppp
+	ProtocolUid=271064148
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynif
+	ProtocolUid=271064123
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynif
+	ProtocolUid=271064125
+	FIELD_COUNT=3
+END_ADD
+
--- a/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/group/bld.inf	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingintegrationtest/te_DedicatedSignalling1ryCtx/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -42,10 +42,18 @@
 ../scripts/CIT_P635_Setup_QosPolicies2.script z:/testdata/scripts/cit_p635_setup_qospolicies2.script
 ../scripts/Restore_QosPolicies.script z:/testdata/scripts/restore_qospolicies.script
 #ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+../configs/te_dedicatedsignalling1ryctx_pdpcpr.cfg z:/testdata/configs/te_dedicatedsignalling1ryctx.cfg
+../configs/te_dedicatedsignalling1ryctx_changedsid_pdpcpr.cfg z:/testdata/configs/te_dedicatedsignalling1ryctx_changedsid.cfg
+../configs/te_dedicatedsignalling1ryctx_imssi_pdpcpr.cfg z:/testdata/configs/te_dedicatedsignalling1ryctx_imssi.cfg
+../configs/te_dedicatedsignalling1ryctx_nosid_pdpcpr.cfg z:/testdata/configs/te_dedicatedsignalling1ryctx_nosid.cfg
+#else
 ../configs/te_dedicatedsignalling1ryctx.cfg z:/testdata/configs/te_dedicatedsignalling1ryctx.cfg
 ../configs/te_dedicatedsignalling1ryctx_changedsid.cfg z:/testdata/configs/te_dedicatedsignalling1ryctx_changedsid.cfg
 ../configs/te_dedicatedsignalling1ryctx_imssi.cfg z:/testdata/configs/te_dedicatedsignalling1ryctx_imssi.cfg
 ../configs/te_dedicatedsignalling1ryctx_nosid.cfg z:/testdata/configs/te_dedicatedsignalling1ryctx_nosid.cfg
+#endif //#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 
 ../scripts/te_dedicatedsignalling1ryctx_post401.script z:/testdata/scripts/te_dedicatedsignalling1ryctx.script
 
--- a/networkingtestandutils/networkingintegrationtest/te_Sblp/configs/te_SblpSuite_simtsy.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingintegrationtest/te_Sblp/configs/te_SblpSuite_simtsy.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -12,7 +12,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
 
 # TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>, 
 # <TUint iDeactivateErrorCode>, <TUint iDeletionPause>, <TUint iDeletionErrorCode> <TBool iConnectToNtRas>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingtestandutils/networkingintegrationtest/te_Sblp/configs/te_Sblp_Mesh_pdpcpr.cfg	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,1477 @@
+############################################################
+## HAND-GENERATED CONFIGURATION FILE
+## 
+## Start at the GlobalSettings table and ConnectionPreferences table
+############################################################
+
+############################################################
+## Network
+## 
+[Network]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Intranet
+	FIELD_COUNT=2
+END_ADD
+
+
+############################################################
+## ModemBearer
+## 
+[ModemBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Loopback Modem
+	IfName=PPP
+	PortName=PKTLOOPBACK::502
+	TSYName=SIM
+	CSYName=PKTLOOPBACK
+	LastSocketActivityTimeout=6
+	LastSessionClosedTimeout=180
+	LastSocketClosedTimeout=10
+	DataBits=8
+	StopBits=1
+	Parity=NONE
+	Rate=115200
+	Handshaking=0
+	SpecialRate=0
+	XonChar=0
+	XoffChar=0
+	FaxClassPref=AUTO
+	SpeakerPref=AFTERDIALUNTILANSWER
+	ModemInitString=AT
+	DataInitString=AT
+	FaxInitString=AT
+	DialPauseLength=S8=
+	SpeakerVolContorlLow=L0
+	SpeakerVolControlMedium=L1
+	SpeakerVolControlHigh=L2
+	SpeakerAlwaysOff=M0
+	SpeakerOnUntilCarrier=M1
+	SpeakerAlwaysOn=M2
+	SpeakerOnAfterUntilCarrier=M3
+	DialToneWaitModifier=W
+	CallProgress1=X1
+	CallProgress2=X2
+	CallProgress3=X3
+	CallProgress4=X4
+	EchoOff=E0
+	VerboseText=V1
+	QuietOff=Q0
+	QuietOn=Q1
+	DialCommandStateModifier=;
+	OnLine=O
+	ResetConfiguration=Z
+	ReturnToFactoryDefs=&F
+	DCDOnDuringLink=&C1
+	DTRHangUp=&D2
+	DSRAlwaysOn=&S0
+	RTSCTSHandshake=&K3
+	XonXoffHandshake=&K4
+	EscapeCharacter=+
+	EscapeGuardPeriod=S12
+	NoDialTone=NO DIAL TONE
+	Busy=BUSY
+	NoAnswer=NO ANSWER
+	Carrier=CARRIER
+	Connect=CONNECT
+	CompressionClass5=COMPRESSION:CLASS 5
+	CompressionV42bis=COMPRESSION:V.42 bis
+	CompressionNone=COMPRESSION:NONE
+	ProtocolLAPD=PROTOCOL:LAPD
+	ProtocolALT=PROTOCOL:ALT
+	ProtocolALTCELLULAR=PROTOCOL:ALT-CELLULAR
+	ProtocolNone=PROTOCOL:NONE
+	Agent=NULLAGT
+	FIELD_COUNT=63
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=Loopback_RawIP_1
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::502
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=Loopback_RawIP_3
+	IfName=RAWIP
+	PortName=PKTLOOPBACK::508
+	FIELD_COUNT=3
+END_ADD
+
+
+
+############################################################
+## LANBearer
+## 
+[LANBearer]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Assabet on-board Ethernet
+	IfName=ethint
+	LDDName=not used
+	PDDName=not used
+	LastSocketActivityTimeout=-1
+	LastSessionClosedTimeout=-1
+	LastSocketClosedTimeout=-1
+	Agent=nullagent.agt
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## Location
+## 
+[Location]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Location
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Office
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=171
+	DialOutCode=9,
+	Mobile=FALSE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=11
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Office Direct Dial
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=171
+	Mobile=FALSE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=Mobile
+	IntlPrefixCode=+
+	NatPrefixCode=0
+	NatCode=44
+	Mobile=TRUE
+	UsePulseDial=FALSE
+	WaitForDialTone=FALSE
+	PauseAfterDialout=0
+	FIELD_COUNT=9
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=Home
+	IntlPrefixCode=00
+	NatPrefixCode=0
+	NatCode=44
+	AreaCode=181
+	Mobile=FALSE
+	UsePulseDial=TRUE
+	WaitForDialTone=TRUE
+	PauseAfterDialout=0
+	FIELD_COUNT=10
+END_ADD
+
+
+############################################################
+## Chargecard
+## 
+[Chargecard]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy BT Chargecard
+	AccountNumber=144,12345678
+	Pin=0000
+	LocalRule=HG
+	NatRule=HFG
+	IntlRule=HEFG
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=Dummy Mercury Chargecard
+	AccountNumber=0500800800,,12345678
+	Pin=****
+	LocalRule=HG
+	NatRule=J,K,0FG
+	IntlRule=HEFG
+	FIELD_COUNT=7
+END_ADD
+
+############################################################
+## GlobalSettings
+## 
+## links to Tier table
+## DefaultTier = 271064536 Tier1 ESock_IP NetworkTierManager
+## No defaultSnap - therefore 399 selection chosen
+##
+[GlobalSettings]
+ADD_TEMPLATE
+	DefaultTier=Link.TierTable.2048
+	FIELD_COUNT=1
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ConnectionAttempts=2
+	RedialAttempts=3
+	SmsBearer=0
+	SmsReceiveMode=2
+	GPRSAttachMode=1
+	AcceptIncomingGprs=1
+	GPRSClassCBearer=GSM
+	ModemForDataAndFax=1
+	ModemForPhoneServicesAndSMS=1
+	LocationForDataAndFax=1
+	LocationForPhoneServicesAndSMS=1
+	MaxMBufHeap=41877760
+	DefaultNetwork=1
+	BearerAvailabilityCheckTSY=SIM
+	FIELD_COUNT=16
+END_ADD
+
+############################################################
+## DialOutISP
+## 
+[DialOutISP]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Dial Out ISP
+	DialResolution=TRUE
+	UseLoginScript=FALSE
+	PromptForLogin=TRUE
+	DisplayPCT=FALSE
+	IfPromptForAuth=TRUE
+	IfCallbackEnabled=FALSE
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableIPHeaderComp=FALSE
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	EnableSWComp=FALSE
+	BearerService=0
+	BearerProtocol=UNSPECIFIED
+	RlpVersion=0
+	IwfToMs=0
+	MsToIwf=0
+	AckTimer=0
+	RetransmissionAttempts=0
+	ResequencePeriod=0
+	V42Compression=0
+	V42Codewords=0
+	V42MaxLength=0
+	Asymmetry=0
+	UserInitUpgrade=FALSE
+	UseEdge=FALSE
+	FIELD_COUNT=28
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=NT RAS
+	Type=INTERNETONLY
+	DialResolution=TRUE
+	UseLoginScript=TRUE
+	LoginScript=CHARMAP \[windows-1252\]\nLOOP 10\n{\nSEND "CLIENT"+<0x0d>\nWAIT 3\n{\n"SERVER" OK\n}\n}\nEXIT KErrNoAnswer$\n\nOK:\nEXIT\n
+	PromptForLogin=FALSE
+	LoginName=RasUser
+	DisplayPCT=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	IfAuthPass=pass
+	AuthRetries=0
+	IfCallbackEnabled=FALSE
+	CallbackTimeout=0
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableIPHeaderComp=FALSE
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	EnableSWComp=FALSE
+	BearerName=ASYNCHRONOUS
+	BearerSpeed=UNSPECIFIED
+	BearerCE=UNSPECIFIED
+	BearerType=CSD
+	ChannelCoding=UNSPECIFIED
+	Aiur=0
+	RequestedTimeSlots=0
+	MaximumTimeSlots=0
+	BearerService=0
+	BearerProtocol=UNSPECIFIED
+	RlpVersion=0
+	IwfToMs=0
+	MsToIwf=0
+	AckTimer=0
+	RetransmissionAttempts=0
+	ResequencePeriod=0
+	V42Compression=0
+	V42Codewords=0
+	V42MaxLength=0
+	Asymmetry=0
+	UserInitUpgrade=FALSE
+	UseEdge=FALSE
+	FIELD_COUNT=44
+END_ADD
+
+
+############################################################
+## DialInISP
+## 
+[DialInISP]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Dial In ISP
+	UseLoginScript=FALSE
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableIPHeaderComp=FALSE
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	EnableSWComp=FALSE
+	UseEdge=FALSE
+	FIELD_COUNT=10
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dial In CS ISP
+	UseLoginScript=FALSE
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableIPHeaderComp=FALSE
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	EnableSWComp=FALSE
+	UseEdge=FALSE
+	FIELD_COUNT=10
+END_ADD
+
+
+############################################################
+## OutgoingGPRS
+## 
+[OutgoingGPRS]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Outgoing GPRS
+	APN=Test
+	PDPType=IPV4
+	ReqPrecedence=2
+	ReqDelay=4
+	ReqReliability=3
+	ReqPeakThroughput=3
+	ReqMeanThroughput=31
+	MinPrecedence=2
+	MinDelay=4
+	MinReliability=3
+	MinPeakThroughput=3
+	MinMeanThroughput=31
+	DataCompression=FALSE
+	HeaderCompression=FALSE
+	GprsUseEdge=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	AuthRetries=1
+	IpNetMask=255.255.255.0
+	IpGateway=194.72.6.1
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.51
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	UmtsR99QoSAndOn=1
+	FIELD_COUNT=32
+END_TEMPLATE
+
+ADD_SECTION
+##
+## Links from IAP table
+## Links to
+##
+# COMMDB_ID = 1
+	Id=1
+	Name=SPUD
+	PDPType=IPV4
+	IfParams=lowernif=RawIP
+	IfPromptForAuth=FALSE
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## IncomingGPRS
+## 
+[IncomingGPRS]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy Incoming GPRS Settings
+	APN=Test
+	PDPType=IPV4
+	PDPAddress=0.0.0.0
+	ReqPrecedence=1
+	ReqDelay=1
+	ReqReliability=1
+	ReqPeakThroughput=1
+	ReqMeanThroughput=1
+	MinPrecedence=1
+	MinDelay=1
+	MinReliability=1
+	MinPeakThroughput=1
+	MinMeanThroughput=1
+	DataCompression=FALSE
+	HeaderCompression=FALSE
+	GprsUseEdge=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	IfAuthPass=pass
+	AuthRetries=1
+	IpAddrFromServer=FALSE
+	IpAddr=192.168.1.1
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.51
+	EnableLCPExtension=FALSE
+	DisablePlainTextAuth=FALSE
+	FIELD_COUNT=30
+END_ADD
+
+
+############################################################
+## DefaultGPRS
+## 
+[DefaultGPRS]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy Default GPRS Settings
+	Usage=1
+	APN=Access point name
+	PDPType=IPV6
+	PDPAddress=www.wid.com
+	Precedence=1
+	Delay=1
+	Reliability=1
+	PeakThroughput=1
+	MeanThroughput=1
+	MinPrecedence=1
+	MinDelay=1
+	MinReliability=1
+	MinPeakThroughput=1
+	MinMeanThroughput=1
+	DataCompression=TRUE
+	HeaderCompression=TRUE
+	GprsUseEdge=FALSE
+	AnonymousAccess=TRUE
+	FIELD_COUNT=20
+END_ADD
+
+############################################################
+## CDMA2000PacketServiceTable
+## 
+[CDMA2000PacketServiceTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=test name cdma2000
+	IwfName=Test2000
+	ServiceOption=HIGHSPEEDCDMA2000DATA
+	PDPType=IPV4
+	ReqFwdPriority=PRIORITY04
+	ReqRevPriority=PRIORITY04
+	ReqFwdBitrate=32KBPS
+	ReqRevBitrate=32KBPS
+	ReqFwdLoss=LOSS1
+	ReqRevLoss=LOSS1
+	ReqFwdMaxdelay=40MS
+	ReqRevMaxdelay=40MS
+	MinFwdBitrate=8KBPS
+	MinRevBitrate=8KBPS
+	AccptFwdLoss=LOSS2
+	AccptRevLoss=LOSS2
+	AccptFwdMaxdelay=120MS
+	AccptRevMaxdelay=120MS
+	DataCompression=FALSE
+	AnonymousAccess=FALSE
+	IfNetworks=ip
+	IfPromptForAuth=FALSE
+	IfAuthName=RasUser
+	IfAuthPass=pass
+	AuthRetries=1
+	IpNetMask=0.255.255.255
+	IpGateway=10.0.0.1
+	IpAddrFromServer=TRUE
+	IpDNSAddrFromServer=TRUE
+	EnableLCPExtension=TRUE
+	DisablePlainTextAuth=TRUE
+	ApType=2
+	RlpMode=UNKNOWN
+	CDMAMobileIP=FALSE
+	CDMAMobileIPTimeout=10000000
+	FIELD_COUNT=36
+END_ADD
+
+
+############################################################
+## LANService
+## 
+[LANService]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Ethernet
+	IfNetworks=ip,ip6
+	IpNetMask=255.255.255.0
+	IpGateway=194.72.6.1
+	IpAddrFromServer=TRUE
+	IpAddr=192.168.0.100
+	IpDNSAddrFromServer=FALSE
+	IpNameServer1=194.72.6.51
+	IpNameServer2=194.72.6.52
+	FIELD_COUNT=10
+END_ADD
+
+############################################################
+## APPrioritySelectionPolicyTable
+## 
+## Links from AccessPointTable
+## Links to the next layer in the AccessPointTable
+##
+[APPrioritySelectionPolicyTable]
+ADD_SECTION
+# COMMDB_ID = 1
+  	Id=1
+	Name=SelectionPolicy1
+	AP1=Link.AccessPointTable.10001
+	APCOUNT=1
+	FIELD_COUNT=4
+END_ADD
+
+############################################################
+## AccessPointTable
+## 
+## Links from TierTable
+## When 399 selection selected in GlobalSettings this Links to APPrioritySelectionPolicyTable
+## Bearer tier links to IAP table
+##
+[AccessPointTable]
+
+ADD_SECTION
+##
+## Links to IAP table
+## Links to nodes in bearer layer
+##  Id = 1 is IAP1
+##  SelectionPolicy zero marks the end of the 399 selection process
+## Consistent with spud-rawip BearerTypeTable entry
+##
+# COMMDB_ID = 251
+	Id=1
+	Name=MappedFromIAP1
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.8
+	CprConfig=1
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	AppSID=0
+	FIELD_COUNT=10
+END_ADD
+	
+ADD_SECTION
+## 
+## Links to AccessPointTable next layer
+##	SelectionPolicy AccessPointTable entry 1 and IAP table entry 1
+##
+# COMMDB_ID = 253
+	Id=10001
+	Name=IPProtoDefault
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	AccessPointSelectionPolicy=0
+	Cpr=CprTable.2
+	CprConfig=1
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	CustomSelectionPolicy=1
+	FIELD_COUNT=10
+END_ADD
+
+ADD_SECTION
+##
+## Links from TierTable
+## When 399 selection selected in GlobalSettings this Links to APPrioritySelectionPolicyTable
+##	Id 10000 linked from TierTable
+##	SelectionPolicy APPrioritySelectionPolicyTable entry 1
+##
+# COMMDB_ID = 254
+	Id=10000
+	Name=NetworkDefault
+	Tier=Link.TierTable.2048
+	MCpr=MCprTable.1
+	AccessPointSelectionPolicy=APPrioritySelectionPolicyTable.1
+	Cpr=CprTable.1
+	SCpr=SCprTable.1
+	Protocol=ProtocolTable.1
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## BearerTypeTable
+## 
+## Links from ModemBearer table
+## Links to the bearer layer nodes
+## Consistent with the selected AccessPointTable
+##
+##
+[BearerTypeTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.3
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ethint
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.4
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.4
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.5
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=tunnelnif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.6
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.6
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=qosppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.7
+	Cpr=CprTable.3
+	SCpr=SCprTable.5
+	Protocol=ProtocolTable.7
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=dummynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.8
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.8
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=hungrynif
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.9
+	Cpr=CprTable.3
+	SCpr=SCprTable.3
+	Protocol=ProtocolTable.9
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=spud-ppp
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.4
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.3
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+##
+## Links from ModemBearer table
+## Links to bearer layer nodes
+## Consistent with the selected AccessPointTable
+##
+# COMMDB_ID = 9
+	Id=9
+	Name=spud-rawip
+	Tier=Link.TierTable.271064565
+	MCpr=MCprTable.10
+	Cpr=CprTable.8
+	SCpr=SCprTable.4
+	Protocol=ProtocolTable.5
+	FIELD_COUNT=7
+END_ADD
+
+##This record here is the template record for the IPProto level APs generated by CommsDat.
+ADD_SECTION
+# COMMDB_ID = 10
+	##This name is a predefined name for the template for the IPProto APs.
+	##Please don't change it!
+	Name=IPProtoDefaultTemplate
+	Tier=Link.TierTable.271064560
+	MCpr=MCprTable.2
+	Cpr=CprTable.2
+	SCpr=SCprTable.2
+	Protocol=ProtocolTable.2
+	FIELD_COUNT=6
+END_ADD
+
+
+############################################################
+## IAP
+## 
+## Linked from ConnectionPreferences
+## Links to several tables
+## OutgoingGPRS entry SPUD
+## ModemBearer entry 1 Null Modem 115200bps
+## 
+##
+[IAP]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=GPRS
+	IAPServiceType=OutgoingGPRS
+	IAPService=1
+	IAPBearerType=ModemBearer
+	IAPBearer=1
+	IAPNetwork=1
+	IAPNetworkWeighting=0
+	Location=Location.1
+	FIELD_COUNT=9
+END_ADD
+
+############################################################
+## Proxies
+## 
+[Proxies]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ISP=1
+	ProxyServiceType=DialOutISP
+	UseProxyServer=TRUE
+	ProxyServerName=www.dummyproxy.com
+	ProtocolName=http
+	PortNumber=80
+	Exceptions=www.dummyproxy.com/exception
+	FIELD_COUNT=9
+END_ADD
+
+
+############################################################
+## WAPAccessPoint
+## 
+[WAPAccessPoint]
+ADD_TEMPLATE
+	Id=0
+	Name=Default Dial In ISP
+	CurrentBearer=WAPIPBearer
+	FIELD_COUNT=3
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=Dummy WAP Settings
+	CurrentBearer=WAPIPBearer
+	StartPage=www.wapstart.com
+	FIELD_COUNT=4
+END_ADD
+
+
+############################################################
+## WAPIPBearer
+## 
+[WAPIPBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=DefaultRecordName-1
+	AccessPointId=0
+	IAP=0
+	WSPOption=CONNECTIONLESS
+	Security=FALSE
+	ProxyPortNumber=0
+	FIELD_COUNT=7
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-2
+	AccessPointId=58654976
+	GatewayAddress=www.wapgateway.com
+	IAP=50266624
+	WSPOption=CONNECTIONORIENTED
+	Security=FALSE
+	ProxyPortNumber=1
+	FIELD_COUNT=8
+END_ADD
+
+
+############################################################
+## WAPSMSBearer
+## 
+[WAPSMSBearer]
+ADD_TEMPLATE
+	Id=0
+	Name=DefaultRecordName-1
+	AccessPointId=0
+	WSPOption=CONNECTIONLESS
+	Security=FALSE
+	FIELD_COUNT=5
+END_TEMPLATE
+
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-2
+	AccessPointId=1
+	GatewayAddress=+4412345678901
+	ServiceCentreAddress=+442071234567
+	WSPOption=CONNECTIONORIENTED
+	Security=FALSE
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## SecureSocketTable
+## 
+[SecureSocketTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	ProtocolName=ssl3.0
+	ProtoLibrary=ssladaptor.dll
+	FIELD_COUNT=4
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=DefaultRecordName-2
+	ProtocolName=tls1.0
+	ProtoLibrary=ssladaptor.dll
+	FIELD_COUNT=4
+END_ADD
+
+############################################################
+## TierTable
+## 
+## Links from GlobalSettings
+## Links to AccessPointTable
+##
+[TierTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=2048
+	TierImplUid=271064536
+	Name=Tier1
+	TierThreadName=ESock_IP
+	TierManagerName=NetworkTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10000
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=271064560
+	TierImplUid=271064560
+	Name=Tier2
+	TierThreadName=ESock_IP
+	TierManagerName=ProtoTierManager
+	DefaultAccessPoint=Link.AccessPointTable.10001
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=271064565
+	TierImplUid=271064565
+	Name=Tier3
+	TierThreadName=ESock_IP
+	TierManagerName=LinkTierManager
+##NB defaultAccessPoint not present in this layer. This is only needed here to satisfy the check
+##on the link layer. However important that once this field has a value it has to be linked to a
+##correct accesspoint record in the accesspoint table because this will be checked either.
+	DefaultAccessPoint=Link.AccessPointTable.1
+	PromptUser=0
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## MCprTable
+## 
+[MCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=netmcpr
+	MCprUid=271009095
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotomcpr
+	MCprUid=271064558
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=pppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethmcpr
+	MCprUid=271064572
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawipmcpr
+	MCprUid=271064576
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnelmcpr
+	MCprUid=271064578
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qospppmcpr
+	MCprUid=271064556
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynifmcpr
+	MCprUid=271064580
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=pdpmcpr
+	MCprUid=271065840
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 11
+	Id=11
+	Name=sipmcpr
+	MCprUid=536887801
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 12
+	Id=12
+	Name=btgenericmcpr
+	MCprUid=271070577
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 13
+	Id=13
+	Name=panethermcpr
+	MCprUid=271070626
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## CprTable
+## 
+[CprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipcpr
+	CprUid=270561519
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotocpr
+	CprUid=271064531
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentcpr
+	CprUid=271064552
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=vanillacpr
+	CprUid=271065843
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=sipcpr
+	CprUid=271010872
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=avctpcpr
+	CprUid=271030184
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=tunnelagentcpr
+	CprUid=271080968
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=pdpcpr
+	CprUid=271065826
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## SCprTable
+## 
+[SCprTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=ipscpr
+	SCprUid=271065811
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipprotoscpr
+	SCprUid=271064529
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=agentscpr
+	SCprUid=271064554
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=pdpscpr
+	SCprUid=271065824
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=pppscpr
+	SCprUid=271065852
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=vanillascpr
+	SCprUid=271065844
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosscpr
+	SCprUid=271065811
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=sipscpr
+	SCprUid=271010839
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=avctpsaplinksmgr
+	SCprUid=271030185
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=avctpmuxer
+	SCprUid=271030186
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## ProtocolTable
+## 
+[ProtocolTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=sapshim
+	ProtocolUid=270496898
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=ipshim4
+	ProtocolUid=271064118
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 3
+	Id=3
+	Name=ppp
+	ProtocolUid=271064143
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 4
+	Id=4
+	Name=ethernet
+	ProtocolUid=271064539
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 5
+	Id=5
+	Name=rawip
+	ProtocolUid=271064562
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 6
+	Id=6
+	Name=tunnel
+	ProtocolUid=271064567
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 7
+	Id=7
+	Name=qosppp
+	ProtocolUid=271064148
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 8
+	Id=8
+	Name=dummynif
+	ProtocolUid=271064123
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 9
+	Id=9
+	Name=hungrynif
+	ProtocolUid=271064125
+	FIELD_COUNT=3
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 10
+	Id=10
+	Name=panether
+	ProtocolUid=271070627
+	FIELD_COUNT=3
+END_ADD
+
+
+############################################################
+## ConnectionPreferences
+## 
+## Links to 
+## IAP = 1 - GPRS - IAPService = SPUD - ModemBearer - Null Modem 115200bps - IAPNetwork = 1
+## BearerSet=PSD
+##
+[ConnectionPreferences]
+ADD_SECTION
+# COMMDB_ID = 1
+	Id=1
+	Name=DefaultRecordName-1
+	Ranking=0
+	Direction=INCOMING
+	BearerSet=PSD
+	DialogPref=DONOTPROMPT
+	IAP=1
+	FIELD_COUNT=7
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Id=2
+	Name=DefaultRecordName-2
+	Ranking=1
+	Direction=OUTGOING
+	BearerSet=PSD
+	DialogPref=DONOTPROMPT
+	IAP=1
+	FIELD_COUNT=7
+END_ADD
+
+
+############################################################
+## UmtsR99QoSAndOn
+## 
+[UmtsR99QoSAndOn]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=PRIMARY1
+	ReqTrafficClass=1
+	MinTrafficClass=1
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=1
+	MinDeliverErroneousSDU=1
+	ReqMaxSDUSize=0
+	MinAcceptableMaxSDUSize=0
+	ReqMaxUplinkRate=0
+	ReqMinUplinkRate=0
+	ReqMaxDownlinkRate=0
+	ReqMinDownlinkRate=0
+	ReqBER=1
+	MaxBER=1
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=0
+	MaxTransferDelay=0
+	ReqGuaranteedUplinkRate=0
+	MinGuaranteedUplinkRat=0
+	ReqGuaranteedDownlinkRate=0
+	MinGuaranteedDownlinkRate=0
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=28
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=SECONDARY1
+	ReqTrafficClass=4
+	MinTrafficClass=4
+	ReqDeliveryOrder=1
+	MinDeliveryOrder=1
+	ReqDeliverErroneousSDU=8
+	MinDeliverErroneousSDU=8
+	ReqMaxSDUSize=768
+	MinAcceptableMaxSDUSize=512
+	ReqMaxUplinkRate=1024
+	ReqMinUplinkRate=1024
+	ReqMaxDownlinkRate=1024
+	ReqMinDownlinkRate=1024
+	ReqBER=0
+	MaxBER=0
+	ReqSDUErrorRatio=1
+	MaxSDUErrorRatio=1
+	ReqTrafficHandlingPriority=1
+	MinTrafficHandlingPriority=1
+	ReqTransferDelay=250
+	MaxTransferDelay=250
+	ReqGuaranteedUplinkRate=1024
+	MinGuaranteedUplinkRat=1024
+	ReqGuaranteedDownlinkRate=1024
+	MinGuaranteedDownlinkRate=1024
+	SignallingIndication=FALSE
+	ImCnSignallingIndication=FALSE
+	SourceStatisticsDescriptor=0
+	FIELD_COUNT=28
+END_ADD
+
+############################################################
+## PolicySelectorTable
+## 
+[PolicySelectorTable]
+ADD_SECTION
+# COMMDB_ID = 1
+	Name=DefaultRecordName-1
+	PolicyId=1
+	SrcAddress=0.0.0.0
+	SrcMask=255.255.255.255
+	DstAddress=192.168.1.1
+	DstMask=255.255.255.255
+	SrcPort=0
+	DstPort=3461
+	SrcPortMax=1031
+	DstPortMax=3461
+	ProtocolId=17
+	IAPid=2
+	Priority=1
+	FIELD_COUNT=13
+END_ADD
+
+ADD_SECTION
+# COMMDB_ID = 2
+	Name=DefaultRecordName-2
+	PolicyId=2
+	SrcPort=0
+	SrcPortMax=0
+	ProtocolId=1
+	IAPid=2
+	Priority=1
+	FIELD_COUNT=7
+END_ADD
+
+
+
--- a/networkingtestandutils/networkingintegrationtest/te_Sblp/group/bld.inf	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingintegrationtest/te_Sblp/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -17,19 +17,27 @@
 
 PRJ_TESTEXPORTS
 
+
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+../configs/te_Sblp_Mesh_pdpcpr.cfg	/epoc32/release/wins/udeb/z/testdata/configs/te_sblp_mesh.cfg
+../configs/te_Sblp_Mesh_pdpcpr.cfg	/epoc32/release/wins/urel/z/testdata/configs/te_sblp_mesh.cfg
+../configs/te_Sblp_Mesh_pdpcpr.cfg	/epoc32/release/winscw/udeb/z/testdata/configs/te_sblp_mesh.cfg
+../configs/te_Sblp_Mesh_pdpcpr.cfg	/epoc32/release/winscw/urel/z/testdata/configs/te_sblp_mesh.cfg
+#else
 ../configs/te_Sblp_Mesh.cfg	/epoc32/release/wins/udeb/z/testdata/configs/te_sblp_mesh.cfg
 ../configs/te_Sblp_Mesh.cfg	/epoc32/release/wins/urel/z/testdata/configs/te_sblp_mesh.cfg
 ../configs/te_Sblp_Mesh.cfg	/epoc32/release/winscw/udeb/z/testdata/configs/te_sblp_mesh.cfg
 ../configs/te_Sblp_Mesh.cfg	/epoc32/release/winscw/urel/z/testdata/configs/te_sblp_mesh.cfg
+#endif //#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 
 ../configs/te_SblpSuite_simtsy.txt	/epoc32/release/wins/udeb/z/testdata/configs/te_sblpsuite_simtsy.txt
 ../configs/te_SblpSuite_simtsy.txt	/epoc32/release/wins/urel/z/testdata/configs/te_sblpsuite_simtsy.txt
 ../configs/te_SblpSuite_simtsy.txt	/epoc32/release/winscw/udeb/z/testdata/configs/te_sblpsuite_simtsy.txt
 ../configs/te_SblpSuite_simtsy.txt	/epoc32/release/winscw/urel/z/testdata/configs/te_sblpsuite_simtsy.txt
-../configs/te_Sblp_loopbackcsy.ini	/epoc32/release/wins/udeb/z/testdata/configs/te_Sblp_loopbackcsy.ini
-../configs/te_Sblp_loopbackcsy.ini	/epoc32/release/wins/urel/z/testdata/configs/te_Sblp_loopbackcsy.ini
-../configs/te_Sblp_loopbackcsy.ini	/epoc32/release/winscw/udeb/z/testdata/configs/te_Sblp_loopbackcsy.ini
-../configs/te_Sblp_loopbackcsy.ini	/epoc32/release/winscw/urel/z/testdata/configs/te_Sblp_loopbackcsy.ini
+../configs/te_Sblp_loopbackcsy.ini	/epoc32/release/wins/udeb/z/testdata/configs/te_sblp_loopbackcsy.ini
+../configs/te_Sblp_loopbackcsy.ini	/epoc32/release/wins/urel/z/testdata/configs/te_sblp_loopbackcsy.ini
+../configs/te_Sblp_loopbackcsy.ini	/epoc32/release/winscw/udeb/z/testdata/configs/te_sblp_loopbackcsy.ini
+../configs/te_Sblp_loopbackcsy.ini	/epoc32/release/winscw/urel/z/testdata/configs/te_sblp_loopbackcsy.ini
 ../scripts/te_SblpSuite.script	/epoc32/release/wins/udeb/z/testdata/scripts/te_sblpsuite.script
 ../scripts/te_SblpSuite.script	/epoc32/release/wins/urel/z/testdata/scripts/te_sblpsuite.script
 ../scripts/te_SblpSuite.script	/epoc32/release/winscw/udeb/z/testdata/scripts/te_sblpsuite.script
--- a/networkingtestandutils/networkingintegrationtest/te_Sblp/group/te_SblpSuite.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingintegrationtest/te_Sblp/group/te_SblpSuite.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -22,6 +22,7 @@
 #include <te_esockteststepssuite.iby>
 
 data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_Sblp_Mesh.cfg TestData\Configs\te_Sblp_Mesh.cfg
+
 data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_sblpsuite_simtsy.txt TestData\Configs\te_sblpsuite_simtsy.txt
 data=EPOCROOT##Epoc32\release\winscw\udeb\z\TestData\configs\te_Sblp_loopbackcsy.ini TestData\Configs\te_Sblp_loopbackcsy.ini
 
--- a/networkingtestandutils/networkingunittest/bwins/nifman_v8xaU.def	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingunittest/bwins/nifman_v8xaU.def	Tue Jun 29 19:20:22 2010 +0530
@@ -205,7 +205,7 @@
 	?ModemTable@CCommsDbAccess@@QAEPAVCCommsDbTableView@@XZ @ 204 NONAME ; public: class CCommsDbTableView * __thiscall CCommsDbAccess::ModemTable(void)
 	?NetworkId@CNetwork@@QBEKXZ @ 205 NONAME ; public: unsigned long __thiscall CNetwork::NetworkId(void)const 
 	?NetworkMode@CCommsDbAccess@@QBE?AW4TMobilePhoneNetworkMode@RMobilePhone@@XZ @ 206 NONAME ; public: enum RMobilePhone::TMobilePhoneNetworkMode  __thiscall CCommsDbAccess::NetworkMode(void)const 
-	?NewConnectionL@Nif@@SAPAVCConnectionProvdBase@@PAVMConnectionNotify@@@Z @ 207 NONAME ; class CConnectionProvdBase * Nif::NewConnectionL(class MConnectionNotify *)
+	?NewConnectionL@Nif@@SAPAVCConnectionProvdBase@@PAVMConnectionNotify@@@Z @ 207 NONAME ; class CConnectionProvdBase * Nif::NewConnectionL(class MConnectionNotify *)
 	?NewInterfaceL@CNifIfFactory@@MAEPAVCNifIfBase@@ABVTDesC16@@PAVMNifIfNotify@@@Z @ 208 NONAME ; protected: virtual class CNifIfBase * __thiscall CNifIfFactory::NewInterfaceL(class TDesC16 const &,class MNifIfNotify *)
 	?NewL@CCommsDbAccess@@SAPAV1@XZ @ 209 NONAME ; public: static class CCommsDbAccess * __cdecl CCommsDbAccess::NewL(void)
 	?NewL@CDialogProcessor@@SAPAV1@H@Z @ 210 NONAME ; public: static class CDialogProcessor * __cdecl CDialogProcessor::NewL(int)
--- a/networkingtestandutils/networkingunittest/bwins/t_dummynifman_v8xaU.def	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingunittest/bwins/t_dummynifman_v8xaU.def	Tue Jun 29 19:20:22 2010 +0530
@@ -205,7 +205,7 @@
 	?ModemTable@CCommsDbAccess@@QAEPAVCCommsDbTableView@@XZ @ 204 NONAME ; public: class CCommsDbTableView * __thiscall CCommsDbAccess::ModemTable(void)
 	?NetworkId@CNetwork@@QBEKXZ @ 205 NONAME ; public: unsigned long __thiscall CNetwork::NetworkId(void)const 
 	?NetworkMode@CCommsDbAccess@@QBE?AW4TMobilePhoneNetworkMode@RMobilePhone@@XZ @ 206 NONAME ; public: enum RMobilePhone::TMobilePhoneNetworkMode  __thiscall CCommsDbAccess::NetworkMode(void)const 
-	?NewConnectionL@Nif@@SAPAVCConnectionProvdBase@@PAVMConnectionNotify@@@Z @ 207 NONAME ; class CConnectionProvdBase * Nif::NewConnectionL(class MConnectionNotify *)
+	?NewConnectionL@Nif@@SAPAVCConnectionProvdBase@@PAVMConnectionNotify@@@Z @ 207 NONAME ; class CConnectionProvdBase * Nif::NewConnectionL(class MConnectionNotify *)
 	?NewInterfaceL@CNifIfFactory@@MAEPAVCNifIfBase@@ABVTDesC16@@PAVMNifIfNotify@@@Z @ 208 NONAME ; protected: virtual class CNifIfBase * __thiscall CNifIfFactory::NewInterfaceL(class TDesC16 const &,class MNifIfNotify *)
 	?NewL@CCommsDbAccess@@SAPAV1@XZ @ 209 NONAME ; public: static class CCommsDbAccess * __cdecl CCommsDbAccess::NewL(void)
 	?NewL@CDialogProcessor@@SAPAV1@H@Z @ 210 NONAME ; public: static class CDialogProcessor * __cdecl CDialogProcessor::NewL(int)
--- a/networkingtestandutils/networkingunittest/dummynif_params/group/dummynif_params.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingunittest/dummynif_params/group/dummynif_params.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -22,20 +22,20 @@
 						  
 VENDORID	 0x70000001
 
-SOURCEPATH	  ..\src
+SOURCEPATH	  ../src
 
 SOURCE		  dummynif_params.cpp
 SOURCE		  dummynif_paramsfactory.cpp
 
-USERINCLUDE	 ..\inc
+USERINCLUDE	 ../inc
 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
-SYSTEMINCLUDE	\epoc32\include
-SYSTEMINCLUDE	\epoc32\include\ecom
-SYSTEMINCLUDE   \epoc32\include\comms-infras
+SYSTEMINCLUDE	/epoc32/include
+SYSTEMINCLUDE	/epoc32/include/ecom
+SYSTEMINCLUDE   /epoc32/include/comms-infras
 #else
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-SYSTEMINCLUDE	\epoc32\include\platform\ecom
-SYSTEMINCLUDE   \epoc32\include\platform\comms-infras
+SYSTEMINCLUDE	/epoc32/include/platform/ecom
+SYSTEMINCLUDE   /epoc32/include/platform/comms-infras
 #endif
 
 START RESOURCE 01894606.rss
--- a/networkingtestandutils/networkingunittest/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,106 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-#define SYMBIAN_NETWORKING_UPS
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-PRJ_EXPORTS
-
-PRJ_TESTEXPORTS
-
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-
-../group/tunittest.iby                 /epoc32/rom/include/tunittest.iby
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../tdummyetel/dummyEtel.h              /epoc32/include/dummyetel.h
-#else
-../tdummyetel/dummyEtel.h              SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(dummyetel.h)
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../tdummydlgsvr/dummyagentdialog.h     /epoc32/include/dummyagentdialog.h
-#else
-../tdummydlgsvr/dummyagentdialog.h      SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(dummyagentdialog.h)
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../tdummynif/TNifNotify.h              /epoc32/include/tnifnotify.h
-#else
-../tdummynif/TNifNotify.h              SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(tnifnotify.h)
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../DummyNifProtos/inc/dummynifvar.h              /epoc32/include/dummynifvar.h
-#else
-../DummyNifProtos/inc/dummynifvar.h              SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(dummynifvar.h)
-#endif
-../dummynif_params/group/dummynif_params.iby	 /epoc32/rom/include/dummynif_params.iby
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../dummynif_params/inc/dummynif_params.h		 /epoc32/include/dummynif_params.h
-#else
-../dummynif_params/inc/dummynif_params.h		 SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(dummynif_params.h)
-#endif
-
-#else
-
-../version1/group/tunittest.iby                 /epoc32/rom/include/tunittest.iby
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../version1/tdummyetel/dummyetel.h              /epoc32/include/dummyetel.h
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../version1/tdummydlgsvr/dummyagentdialog.h     /epoc32/include/dummyagentdialog.h
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../version1/tdummynif/tnifnotify.h              /epoc32/include/tnifnotify.h
-#endif
-#ifdef SYMBIAN_OLD_EXPORT_LOCATION
-../version1/dummynif/dummynifvar.h              /epoc32/include/dummynifvar.h
-#endif
-
-#endif
-
-PRJ_TESTMMPFILES
-
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-
-../group/tdummydlgsvr.mmp 
-../group/dummyetel.mmp 
-//../group/tdummynif.mmp 
-//../group/dummynif.mmp
-../group/hungrynif.mmp
-//../group/t_nifman.mmp
-//../group/t_dummynifman.mmp
-../group/DummyNifProtos.mmp
-../dummynif_params/group/dummynif_params.mmp
-
-#else
-
-../version1/group/tdummydlgsvr.mmp 
-../version1/group/dummyetel.mmp 
-../version1/group/tdummynif.mmp 
-../version1/group/dummynif.mmp
-../version1/group/hungrynif.mmp
-../version1/group/t_nifman.mmp
-../version1/group/t_dummynifman.mmp
-
-#endif
-
-#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
-#include "../te_echo/group/bld.inf"
-#endif
-
-#ifdef SYMBIAN_NETWORKING_UPS
-#include "../upstestnotifier/group/bld.inf"
-#endif
--- a/networkingtestandutils/networkingunittest/group/DummyNifProtos.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingunittest/group/DummyNifProtos.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -41,16 +41,16 @@
 USERINCLUDE		../../../linklayercontrol/networkinterfacemgr/agentprcore/inc
 
 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
-SYSTEMINCLUDE	\epoc32\include
-SYSTEMINCLUDE	\epoc32\include\ecom
-SYSTEMINCLUDE   \epoc32\include\comms-infras
-SYSTEMINCLUDE   \epoc32\include\networking
+SYSTEMINCLUDE	/epoc32/include
+SYSTEMINCLUDE	/epoc32/include/ecom
+SYSTEMINCLUDE   /epoc32/include/comms-infras
+SYSTEMINCLUDE   /epoc32/include/networking
 #else
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-SYSTEMINCLUDE	\epoc32\include\platform\ecom
-SYSTEMINCLUDE   \epoc32\include\platform\comms-infras
-SYSTEMINCLUDE   \epoc32\include\platform\networking
-SYSTEMINCLUDE   \epoc32\include\comms-infras
+SYSTEMINCLUDE	/epoc32/include/platform/ecom
+SYSTEMINCLUDE   /epoc32/include/platform/comms-infras
+SYSTEMINCLUDE   /epoc32/include/platform/networking
+SYSTEMINCLUDE   /epoc32/include/comms-infras
 #endif
 
 START RESOURCE 10281C3A.rss
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkingtestandutils/networkingunittest/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,106 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#define SYMBIAN_NETWORKING_UPS
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+PRJ_EXPORTS
+
+PRJ_TESTEXPORTS
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+../group/tunittest.iby                 /epoc32/rom/include/tunittest.iby
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../tdummyetel/dummyEtel.h              /epoc32/include/dummyetel.h
+#else
+../tdummyetel/dummyEtel.h              SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(dummyetel.h)
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../tdummydlgsvr/dummyagentdialog.h     /epoc32/include/dummyagentdialog.h
+#else
+../tdummydlgsvr/dummyagentdialog.h      SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(dummyagentdialog.h)
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../tdummynif/TNifNotify.h              /epoc32/include/tnifnotify.h
+#else
+../tdummynif/TNifNotify.h              SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(tnifnotify.h)
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../DummyNifProtos/inc/dummynifvar.h              /epoc32/include/dummynifvar.h
+#else
+../DummyNifProtos/inc/dummynifvar.h              SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(dummynifvar.h)
+#endif
+../dummynif_params/group/dummynif_params.iby	 /epoc32/rom/include/dummynif_params.iby
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../dummynif_params/inc/dummynif_params.h		 /epoc32/include/dummynif_params.h
+#else
+../dummynif_params/inc/dummynif_params.h		 SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(dummynif_params.h)
+#endif
+
+#else
+
+../version1/group/tunittest.iby                 /epoc32/rom/include/tunittest.iby
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../version1/tdummyetel/dummyetel.h              /epoc32/include/dummyetel.h
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../version1/tdummydlgsvr/dummyagentdialog.h     /epoc32/include/dummyagentdialog.h
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../version1/tdummynif/tnifnotify.h              /epoc32/include/tnifnotify.h
+#endif
+#ifdef SYMBIAN_OLD_EXPORT_LOCATION
+../version1/dummynif/dummynifvar.h              /epoc32/include/dummynifvar.h
+#endif
+
+#endif
+
+PRJ_TESTMMPFILES
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+
+../group/tdummydlgsvr.mmp 
+../group/dummyetel.mmp 
+//../group/tdummynif.mmp 
+//../group/dummynif.mmp
+../group/hungrynif.mmp
+//../group/t_nifman.mmp
+//../group/t_dummynifman.mmp
+../group/DummyNifProtos.mmp
+../dummynif_params/group/dummynif_params.mmp
+
+#else
+
+../version1/group/tdummydlgsvr.mmp 
+../version1/group/dummyetel.mmp 
+../version1/group/tdummynif.mmp 
+../version1/group/dummynif.mmp
+../version1/group/hungrynif.mmp
+../version1/group/t_nifman.mmp
+../version1/group/t_dummynifman.mmp
+
+#endif
+
+#ifdef SYMBIAN_NON_SEAMLESS_NETWORK_BEARER_MOBILITY
+#include "../te_echo/group/bld.inf"
+#endif
+
+#ifdef SYMBIAN_NETWORKING_UPS
+#include "../upstestnotifier/group/bld.inf"
+#endif
--- a/networkingtestandutils/networkingunittest/tdummyetel/etelerr.ra	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingunittest/tdummyetel/etelerr.ra	Tue Jun 29 19:20:22 2010 +0530
@@ -1,102 +1,102 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-RESOURCE ARRAY r_error_res_etel_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2000
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2001
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2002
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_etel_call_dropped;				// -2003
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_etel_number_busy;				// -2004
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2005
-			},
-		SINGLE_ERROR
-			{
-			text= r_error_res_etel_phone_off;				// -2006
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2007
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_etel_call_not_answered;		// -2008
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2009
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2010
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2011
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2012
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2013
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2014
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2015
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2016
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_etel_phone_off;				// -2017
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -2018
-			}
-		};
-	}
-
-RESOURCE TBUF r_error_res_etel_call_dropped			{ buf="Problem communicating with receiving device. Call was unexpectedly dropped"; }
-RESOURCE TBUF r_error_res_etel_number_busy			{ buf="Phone number is busy. Wait before trying again"; }
-RESOURCE TBUF r_error_res_etel_call_not_answered	{ buf="Call was not answered"; }
-RESOURCE TBUF r_error_res_etel_phone_off			{ buf="Phone is turned off or not ready. Check phone and try again"; }
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+RESOURCE ARRAY r_error_res_etel_errors
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2000
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2001
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2002
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_etel_call_dropped;				// -2003
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_etel_number_busy;				// -2004
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2005
+			},
+		SINGLE_ERROR
+			{
+			text= r_error_res_etel_phone_off;				// -2006
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2007
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_etel_call_not_answered;		// -2008
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2009
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2010
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2011
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2012
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2013
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2014
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2015
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2016
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_etel_phone_off;				// -2017
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -2018
+			}
+		};
+	}
+
+RESOURCE TBUF r_error_res_etel_call_dropped			{ buf="Problem communicating with receiving device. Call was unexpectedly dropped"; }
+RESOURCE TBUF r_error_res_etel_number_busy			{ buf="Phone number is busy. Wait before trying again"; }
+RESOURCE TBUF r_error_res_etel_call_not_answered	{ buf="Call was not answered"; }
+RESOURCE TBUF r_error_res_etel_phone_off			{ buf="Phone is turned off or not ready. Check phone and try again"; }
--- a/networkingtestandutils/networkingunittest/tdummyetel/faxerr.ra	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingunittest/tdummyetel/faxerr.ra	Tue Jun 29 19:20:22 2010 +0530
@@ -1,286 +1,286 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-RESOURCE ARRAY r_error_res_fax_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_modem_not_working;			// -101
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -102
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -103
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -104
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_frame_fail;				// -105
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -106
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -107
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -108
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -109
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_no_dial;					// -110
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_no_dial_tone;				// -111
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_busy;						// -112
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_no_answer;					// -113
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_no_carrier;				// -114
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_remote_no_receive;			// -115
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -116
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -117
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -118
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -119
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -120
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;					// -121
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -122
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_receive_timeout;			// -123
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_end;				// -124
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -125
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -126
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -127
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -128
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_premature_hangup;			// -129
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -130
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -131
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -132
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -133
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -134
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -135
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -136
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -137
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -138
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -139
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -140
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -141
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -142
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -143
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -144
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -145
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -146
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -147
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -148
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -149
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -150
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -151
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -152
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -153
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -154
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -155
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -156
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -157
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -158
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -159
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -160
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -161
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -162
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_fax_cannot_connect;			// -163
-			}
-		};
-	}
-
-RESOURCE TBUF r_error_res_fax_modem_not_working		{ buf="Could not connect to the fax machine. The fax modem has failed"; }
-RESOURCE TBUF r_error_res_fax_cannot_connect		{ buf="Could not connect to the fax machine."; }
-RESOURCE TBUF r_error_res_fax_frame_fail			{ buf="The connection to the fax machine has been broken."; }
-RESOURCE TBUF r_error_res_fax_no_dial				{ buf="Could not connect to the fax machine. Could not dial fax number"; }
-RESOURCE TBUF r_error_res_fax_no_dial_tone			{ buf="Could not connect to the fax machine. No dial tone was detected"; }
-RESOURCE TBUF r_error_res_fax_busy					{ buf="Could not connect to the fax machine. The line is busy"; }
-RESOURCE TBUF r_error_res_fax_no_answer				{ buf="Could not connect to the fax machine. The call was not answered"; }
-RESOURCE TBUF r_error_res_fax_no_carrier			{ buf="Could not connect to the fax machine. The call was not answered by a fax machine"; }
-RESOURCE TBUF r_error_res_fax_remote_no_receive		{ buf="Could not send to the fax machine. The fax machine is unable to receive faxes"; }
-RESOURCE TBUF r_error_res_fax_receive_timeout		{ buf="Could not send to the fax machine. The connection timed out"; }
-RESOURCE TBUF r_error_res_fax_cannot_end			{ buf="The connection to the fax machine has been broken"; }
-RESOURCE TBUF r_error_res_fax_premature_hangup		{ buf="Could not receive fax. The fax machine ended the call"; }
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+RESOURCE ARRAY r_error_res_fax_errors
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_modem_not_working;			// -101
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -102
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -103
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -104
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_frame_fail;				// -105
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -106
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -107
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -108
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -109
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_no_dial;					// -110
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_no_dial_tone;				// -111
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_busy;						// -112
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_no_answer;					// -113
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_no_carrier;				// -114
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_remote_no_receive;			// -115
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -116
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -117
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -118
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -119
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -120
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;					// -121
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -122
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_receive_timeout;			// -123
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_end;				// -124
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -125
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -126
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -127
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -128
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_premature_hangup;			// -129
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -130
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -131
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -132
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -133
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -134
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -135
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -136
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -137
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -138
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -139
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -140
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -141
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -142
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -143
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -144
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -145
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -146
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -147
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -148
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -149
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -150
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -151
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -152
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -153
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -154
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -155
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -156
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -157
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -158
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -159
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -160
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -161
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -162
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_fax_cannot_connect;			// -163
+			}
+		};
+	}
+
+RESOURCE TBUF r_error_res_fax_modem_not_working		{ buf="Could not connect to the fax machine. The fax modem has failed"; }
+RESOURCE TBUF r_error_res_fax_cannot_connect		{ buf="Could not connect to the fax machine."; }
+RESOURCE TBUF r_error_res_fax_frame_fail			{ buf="The connection to the fax machine has been broken."; }
+RESOURCE TBUF r_error_res_fax_no_dial				{ buf="Could not connect to the fax machine. Could not dial fax number"; }
+RESOURCE TBUF r_error_res_fax_no_dial_tone			{ buf="Could not connect to the fax machine. No dial tone was detected"; }
+RESOURCE TBUF r_error_res_fax_busy					{ buf="Could not connect to the fax machine. The line is busy"; }
+RESOURCE TBUF r_error_res_fax_no_answer				{ buf="Could not connect to the fax machine. The call was not answered"; }
+RESOURCE TBUF r_error_res_fax_no_carrier			{ buf="Could not connect to the fax machine. The call was not answered by a fax machine"; }
+RESOURCE TBUF r_error_res_fax_remote_no_receive		{ buf="Could not send to the fax machine. The fax machine is unable to receive faxes"; }
+RESOURCE TBUF r_error_res_fax_receive_timeout		{ buf="Could not send to the fax machine. The connection timed out"; }
+RESOURCE TBUF r_error_res_fax_cannot_end			{ buf="The connection to the fax machine has been broken"; }
+RESOURCE TBUF r_error_res_fax_premature_hangup		{ buf="Could not receive fax. The fax machine ended the call"; }
--- a/networkingtestandutils/networkingunittest/tdummyetel/gsmerr.ra	Mon May 03 13:58:16 2010 +0300
+++ b/networkingtestandutils/networkingunittest/tdummyetel/gsmerr.ra	Tue Jun 29 19:20:22 2010 +0530
@@ -1,1633 +1,1633 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-RESOURCE ARRAY r_error_res_gsm_errors1
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4001
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4002
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4003
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4004
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4005
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors2
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4065
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors3
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4095
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4096
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_no_network_support;				// -4097
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4098
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4099
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4100
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors4
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4111
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors5
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4129
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_allowed;					// -4130
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_phone_blacklisted;					// -4131
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4132
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_phone_failure;						// -4133
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_phone_blacklisted;					// -4134
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors6
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4223
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4224
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_no_network_support;				// -4225
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4226
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4227
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4228
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4229
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors7
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_invalid_phone_number;				// -4257
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4258
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_invalid_phone_number;				// -4259
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4260
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4261
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4262
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4263
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_allowed;					// -4264
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4265
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4266
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4267
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4268
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4269
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4270
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4271
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4272
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_number_busy;						// -4273
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_remote_user_not_available;			// -4274
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_remote_user_not_available;			// -4275
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4276
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_short_network_failure;				// -4277
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_changed_number;					// -4278
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4279
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4280
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4281
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_network_failure;			// -4282
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4283
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_invalid_phone_number;				// -4284
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4285
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4286
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_network_failure;			// -4287
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4288
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4289
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_network_busy;						// -4290
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4291
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4292
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4293
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_serious_network_failure;			// -4294
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4295
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4296
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_short_network_failure;				// -4297
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_network_busy;						// -4298
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4299
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_network_busy;						// -4300
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4301
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4302
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_network_busy;						// -4303
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4304
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_service_cannot_be_provided;		// -4305
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_check_services;					// -4306
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4307
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4308
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4309
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4310
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_no_incoming_calls_in_cug;			// -4311
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4312
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unauthorised_operation;			// -4313
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_requested_op_not_available;		// -4314
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4315
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4316
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4317
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4318
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_check_services;					// -4319
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4320
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_check_services;					// -4321
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_check_services;					// -4322
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4323
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4324
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_check_services;					// -4325
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4326
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4327
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4328
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4329
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4330
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4331
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4332
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4333
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4334
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_check_services;					// -4335
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4336
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4337
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4338
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4339
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4340
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4341
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4342
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_only_calls_in_cug;					// -4343
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_check_connection_type;				// -4344
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4345
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4346
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4347
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4348
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4349
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4350
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4351
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_check_services;					// -4352
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4353
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4354
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4355
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4356
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4357
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4358
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4359
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4360
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4361
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4362
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4363
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4364
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4365
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4366
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4367
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors8
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4383
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4384
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_subscriber;				// -4385
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4386
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4387
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4388
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4389
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4390
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4391
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4392
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_subscriber;				// -4393
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_service_not_provisioned;			// -4394
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_service_not_provisioned;			// -4395
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4396
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_operator_has_barred_calls;			// -4397
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4398
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4399
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4400
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4401
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4402
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4403
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_incompatible_supplementary;		// -4404
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4405
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4406
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4407
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4408
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4409
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4410
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4411
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4412
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4413
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4414
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4415
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4416
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4417
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4418
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_missing_parameter;					// -4419
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_parameter;					// -4420
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_incorrect_service_password;		// -4421
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_incorrect_service_password;		// -4422
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4423
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4424
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4425
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4426
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_incorrect_password_too_many;		// -4427
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors9
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_incorrect_alphabet;				// -4455
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4456
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors10
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_too_many_participants;				// -4510
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_no_network_resources;				// -4511
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4512
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_invalid_phone_number;				// -4513
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4514
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4515
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4516
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4517
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4518
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4519
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_allowed;					// -4520
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4521
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_call_barred;						// -4522
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4523
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4524
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4525
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4526
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4527
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4528
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4529
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4530
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4531
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4532
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_short_network_failure;				// -4533
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4534
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4535
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4536
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4537
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4538
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4539
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_subscriber;				// -4540
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support2;					// -4541
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_subscriber;				// -4542
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4543
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4544
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4545
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4546
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4547
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4548
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4549
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_serious_network_failure;			// -4550
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4551
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4552
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4553
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_network_busy;						// -4554
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4555
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4556
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4557
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4558
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_network_busy;						// -4559
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4560
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4561
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_not_subscribed;					// -4562
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors11
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_check_services;					// -4581
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors12
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4593
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors13
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_network_failure;			// -4607
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_error_in_message_content;			// -4608
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4609
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4610
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_message_type_not_supported;		// -4611
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors14
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_network_failure;			// -4623
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors15
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4639
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4640
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_message_type_not_supported;		// -4641
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_message_cannot_deliver;			// -4642
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors16
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_network_failure;			// -4655
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_incorrect_alphabet;				// -4656
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_message_type_not_supported;		// -4657
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors17
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_network_failure;			// -4671
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_cannot_do_operation;				// -4672
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4673
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors18
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_network_failure;			// -4687
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_support;					// -4688
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors19
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_service_centre_busy;				// -4704
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_no_service_centre;					// -4705
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_service_centre_failure;			// -4706
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_service_centre_failure;			// -4707
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResUnknownErrorFlag;						// -4708
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResUnknownErrorFlag;						// -4709
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_destination_barred;				// -4710
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4711
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_validity_period;				// -4712
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_validity_period;				// -4713
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors20
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_sim_full;						// -4720
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_sim_no_storage;				// -4721
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_error_receiving;				// -4722
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_no_space;						// -4723
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_sim_busy;						// -4724
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors21
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_unknown_network_failure;			// -4767
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors22
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_error_receiving;				// -4812
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_sim_busy_sms;					// -4813
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_op_not_allowed;					// -4814
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_phone_does_not_support;			// -4815
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4816
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4817
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4818
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4819
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4820
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4821
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_insert_sim;						// -4822
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_pin1_required;						// -4823
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4824
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sim_failure;						// -4825
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sms_sim_busy;						// -4826
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_wrong_sim;							// -4827
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_need_puk1;							// -4828
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_pin2_required;						// -4829
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_need_puk2;							// -4830
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4831
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_memory_failure;					// -4832
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_memory_failure;					// -4833
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_memory_full;						// -4834
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4835
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4836
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4837
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4838
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4839
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4840
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -4841
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4842
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_service_not_available;				// -4843
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -4844
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors23
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -4852
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors24
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -5012
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors25
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_phone_failure;						// -5024
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_phone_failure;						// -5025
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_phone_busy;						// -5026
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_phone_op_not_allowed;				// -5027
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_phone_op_not_allowed;				// -5028
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResBlankErrorFlag;							// -5029
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -5030
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -5031
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -5032
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResPanicErrorFlag;							// -5033
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_insert_sim;						// -5034
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_pin1_required;						// -5035
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_need_puk1;							// -5036
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sim_failure;						// -5037
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_sim_busy;							// -5038
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_wrong_sim;							// -5039
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_incorrect_code;						// -5040
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_pin2_required;						// -5041
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_need_puk2;							// -5042
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_memory_full;						// -5043
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_memory_failure;					// -5044
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_cannot_find_information;				// -5045
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_memory_failure;					// -5046
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_string_too_long;					// -5047
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_invalid_characters;				// -5048
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_dial_string_too_long;				// -5049
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_invalid_characters;				// -5050
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResUnknownErrorFlag;						// -5051
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResUnknownErrorFlag;						// -5052
-			},
-		SINGLE_ERROR
-			{
-			flags=EErrorResUnknownErrorFlag;						// -5053
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_service_not_available;				// -5054
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -5055
-			}
-		};
-	}
-
-RESOURCE ARRAY r_error_res_gsm_errors26
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_res_gsm_temporary_network_fail;			// -5124
-			}
-		};
-	}
-
-RESOURCE TBUF r_error_res_gsm_temporary_network_fail		{ buf="Temporary network failure. Try again later."; }
-RESOURCE TBUF r_error_res_gsm_no_network_support			{ buf="No network support for requested operation."; }
-RESOURCE TBUF r_error_res_gsm_op_not_allowed				{ buf="Operation is not allowed. Contact cellular network operator."; }
-RESOURCE TBUF r_error_res_gsm_phone_blacklisted				{ buf="Phone is blacklisted. Contact cellular network operator."; }
-RESOURCE TBUF r_error_res_gsm_phone_failure					{ buf="Phone failure. Switch off the phone and then switch on."; }
-RESOURCE TBUF r_error_res_gsm_no_roaming					{ buf="Roaming is not allowed in this area."; }
-RESOURCE TBUF r_error_res_gsm_network_busy					{ buf="Network busy."; }
-RESOURCE TBUF r_error_res_gsm_op_not_support				{ buf="Operation is not presently supported by the network."; }
-RESOURCE TBUF r_error_res_gsm_op_not_support2				{ buf="Operation is not supported. Contact cellular network operator."; }
-RESOURCE TBUF r_error_res_gsm_not_subscribed				{ buf="Service not subscribed. Contact cellular network operator."; }
-RESOURCE TBUF r_error_res_gsm_service_temporarily_broke		{ buf="Service temporarily out of use. Try again later."; }
-RESOURCE TBUF r_error_res_gsm_invalid_phone_number			{ buf="Invalid phone number. Check the number and try again."; }
-RESOURCE TBUF r_error_res_gsm_number_busy					{ buf="Number is busy. Try again later."; }
-RESOURCE TBUF r_error_res_gsm_remote_user_not_available		{ buf="The remote user is not currently reachable. Try again later."; }
-RESOURCE TBUF r_error_res_gsm_short_network_failure			{ buf="Short network failure. Try again immediately."; }
-RESOURCE TBUF r_error_res_gsm_changed_number				{ buf="Number has changed. Check the number and try again."; }
-RESOURCE TBUF r_error_res_gsm_unknown_network_failure		{ buf="Unknown network failure. Try again later."; }
-RESOURCE TBUF r_error_res_gsm_serious_network_failure		{ buf="Serious cellular network failure. Please contact the cellular network operator."; }
-RESOURCE TBUF r_error_res_gsm_service_cannot_be_provided	{ buf="Service can not be provided."; }
-RESOURCE TBUF r_error_res_gsm_check_services				{ buf="Check operator services or connection settings."; }
-RESOURCE TBUF r_error_res_gsm_no_incoming_calls_in_cug		{ buf="Incoming calls are not allowed within closed user group."; }
-RESOURCE TBUF r_error_res_gsm_unauthorised_operation		{ buf="Unauthorised operation."; }
-RESOURCE TBUF r_error_res_gsm_requested_op_not_available	{ buf="Requested service is not presently available. Try again later."; }
-RESOURCE TBUF r_error_res_gsm_only_calls_in_cug				{ buf="Only calls within closed user group allowed."; }
-RESOURCE TBUF r_error_res_gsm_check_connection_type			{ buf="Check connection type in connection settings."; }
-RESOURCE TBUF r_error_res_gsm_unknown_subscriber			{ buf="Unknown subscriber. Contact cellular network operator."; }
-RESOURCE TBUF r_error_res_gsm_service_not_provisioned		{ buf="Service is not provisioned."; }
-RESOURCE TBUF r_error_res_gsm_operator_has_barred_calls		{ buf="Calls are barred by the operator. Contact cellular network operator."; }
-RESOURCE TBUF r_error_res_gsm_incompatible_supplementary	{ buf="The requested supplementary service is incompatible."; }
-RESOURCE TBUF r_error_res_gsm_missing_parameter				{ buf="Parameter in the service request is missing."; }
-RESOURCE TBUF r_error_res_gsm_unknown_parameter				{ buf="Unknown parameter in the service request."; }
-RESOURCE TBUF r_error_res_gsm_incorrect_service_password	{ buf="Wrong service password."; }
-RESOURCE TBUF r_error_res_gsm_incorrect_password_too_many	{ buf="Too many times wrong service password."; }
-RESOURCE TBUF r_error_res_gsm_incorrect_alphabet			{ buf="Incompatible service language or alphabets."; }
-RESOURCE TBUF r_error_res_gsm_too_many_participants			{ buf="Too many participants of a multiparty call."; }
-RESOURCE TBUF r_error_res_gsm_no_network_resources			{ buf="Temporarily out of network resources when requesting the service."; }
-RESOURCE TBUF r_error_res_gsm_call_barred					{ buf="Call barred."; }
-RESOURCE TBUF r_error_res_gsm_error_in_message_content		{ buf="Error in message content."; }
-RESOURCE TBUF r_error_res_gsm_message_type_not_supported	{ buf="Message type is not presently supported by the network."; }
-RESOURCE TBUF r_error_res_gsm_message_cannot_deliver		{ buf="Cannot deliver the message to the destination."; }
-RESOURCE TBUF r_error_res_gsm_cannot_do_operation			{ buf="Operation cannot be performed."; }
-RESOURCE TBUF r_error_res_gsm_service_centre_busy			{ buf="Service centre is busy. Try again later."; }
-RESOURCE TBUF r_error_res_gsm_no_service_centre				{ buf="No service centre. Check messaging settings."; }
-RESOURCE TBUF r_error_res_gsm_service_centre_failure		{ buf="No service centre. Check messaging settings."; }
-RESOURCE TBUF r_error_res_gsm_destination_barred			{ buf="The destination is barred."; }
-RESOURCE TBUF r_error_res_gsm_sms_validity_period			{ buf="Short message validity period not supported by the network."; }
-RESOURCE TBUF r_error_res_gsm_sms_sim_full					{ buf="Short message storage in SIM card is full."; }
-RESOURCE TBUF r_error_res_gsm_sms_sim_no_storage			{ buf="No short message storage capability in SIM card."; }
-RESOURCE TBUF r_error_res_gsm_sms_error_receiving			{ buf="Error receiving the short message."; }
-RESOURCE TBUF r_error_res_gsm_sms_no_space					{ buf="No space to store the short message."; }
-RESOURCE TBUF r_error_res_gsm_sms_sim_busy					{ buf="SIM is busy performing another operation."; }
-RESOURCE TBUF r_error_res_gsm_sms_sim_busy_sms				{ buf="Busy because of short message operation."; }
-RESOURCE TBUF r_error_res_gsm_phone_does_not_support		{ buf="Phone is not supporting the operation."; }
-RESOURCE TBUF r_error_res_gsm_insert_sim					{ buf="Insert SIM card."; }
-RESOURCE TBUF r_error_res_gsm_pin1_required					{ buf="PIN1 is required to continue."; }
-RESOURCE TBUF r_error_res_gsm_sim_failure					{ buf="SIM card failure. Replace the SIM card."; }
-RESOURCE TBUF r_error_res_gsm_wrong_sim						{ buf="Wrong SIM card. Replace the SIM card."; }
-RESOURCE TBUF r_error_res_gsm_need_puk1						{ buf="PUK1 code is required to continue."; }
-RESOURCE TBUF r_error_res_gsm_pin2_required					{ buf="PIN2 is required to continue."; }
-RESOURCE TBUF r_error_res_gsm_need_puk2						{ buf="PUK2 code is required to continue."; }
-RESOURCE TBUF r_error_res_gsm_memory_failure				{ buf="Memory failure. Try again."; }
-RESOURCE TBUF r_error_res_gsm_memory_full					{ buf="Memory is full. Remove some messages and try again."; }
-RESOURCE TBUF r_error_res_gsm_service_not_available			{ buf="Service is not available."; }
-RESOURCE TBUF r_error_res_gsm_phone_busy					{ buf="Phone is busy due the other call operation."; }
-RESOURCE TBUF r_error_res_gsm_phone_op_not_allowed			{ buf="Operation is not allowed. Check phone settings."; }
-RESOURCE TBUF r_error_res_gsm_phone_op_not_supported		{ buf="Operation is not supported by the phone."; }
-RESOURCE TBUF r_error_res_gsm_sim_busy						{ buf="SIM card is busy while performing other operation."; }
-RESOURCE TBUF r_error_res_incorrect_code					{ buf="Incorrect code, please re-enter."; }
-RESOURCE TBUF r_error_res_cannot_find_information			{ buf="Requested information not found. Try again."; }
-RESOURCE TBUF r_error_res_gsm_string_too_long				{ buf="Entered string is too long. Please re-enter the string."; }
-RESOURCE TBUF r_error_res_gsm_invalid_characters			{ buf="Invalid characters in text string. Please re-enter the string."; }
-RESOURCE TBUF r_error_res_gsm_dial_string_too_long			{ buf="Entered dial string is too long. Please re-enter the string."; }
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+RESOURCE ARRAY r_error_res_gsm_errors1
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4001
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4002
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4003
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4004
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4005
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors2
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4065
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors3
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4095
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4096
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_no_network_support;				// -4097
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4098
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4099
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4100
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors4
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4111
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors5
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4129
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_allowed;					// -4130
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_phone_blacklisted;					// -4131
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4132
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_phone_failure;						// -4133
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_phone_blacklisted;					// -4134
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors6
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4223
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4224
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_no_network_support;				// -4225
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4226
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4227
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4228
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4229
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors7
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_invalid_phone_number;				// -4257
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4258
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_invalid_phone_number;				// -4259
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4260
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4261
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4262
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4263
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_allowed;					// -4264
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4265
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4266
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4267
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4268
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4269
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4270
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4271
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4272
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_number_busy;						// -4273
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_remote_user_not_available;			// -4274
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_remote_user_not_available;			// -4275
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4276
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_short_network_failure;				// -4277
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_changed_number;					// -4278
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4279
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4280
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4281
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_network_failure;			// -4282
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4283
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_invalid_phone_number;				// -4284
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4285
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4286
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_network_failure;			// -4287
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4288
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4289
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_network_busy;						// -4290
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4291
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4292
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4293
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_serious_network_failure;			// -4294
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4295
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4296
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_short_network_failure;				// -4297
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_network_busy;						// -4298
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4299
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_network_busy;						// -4300
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4301
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4302
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_network_busy;						// -4303
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4304
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_service_cannot_be_provided;		// -4305
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_check_services;					// -4306
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4307
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4308
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4309
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4310
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_no_incoming_calls_in_cug;			// -4311
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4312
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unauthorised_operation;			// -4313
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_requested_op_not_available;		// -4314
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4315
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4316
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4317
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4318
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_check_services;					// -4319
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4320
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_check_services;					// -4321
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_check_services;					// -4322
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4323
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4324
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_check_services;					// -4325
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4326
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4327
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4328
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4329
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4330
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4331
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4332
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4333
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4334
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_check_services;					// -4335
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4336
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4337
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4338
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4339
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4340
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4341
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4342
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_only_calls_in_cug;					// -4343
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_check_connection_type;				// -4344
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4345
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4346
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4347
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4348
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4349
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4350
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4351
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_check_services;					// -4352
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4353
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4354
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4355
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4356
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4357
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4358
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4359
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4360
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4361
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4362
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4363
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4364
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4365
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4366
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4367
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors8
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4383
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4384
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_subscriber;				// -4385
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4386
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4387
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4388
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4389
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4390
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4391
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4392
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_subscriber;				// -4393
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_service_not_provisioned;			// -4394
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_service_not_provisioned;			// -4395
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4396
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_operator_has_barred_calls;			// -4397
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4398
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4399
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4400
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4401
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4402
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4403
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_incompatible_supplementary;		// -4404
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4405
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4406
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4407
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4408
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4409
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4410
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4411
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4412
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4413
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4414
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4415
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4416
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4417
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4418
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_missing_parameter;					// -4419
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_parameter;					// -4420
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_incorrect_service_password;		// -4421
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_incorrect_service_password;		// -4422
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4423
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4424
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4425
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4426
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_incorrect_password_too_many;		// -4427
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors9
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_incorrect_alphabet;				// -4455
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4456
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors10
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_too_many_participants;				// -4510
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_no_network_resources;				// -4511
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4512
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_invalid_phone_number;				// -4513
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4514
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4515
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4516
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4517
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4518
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4519
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_allowed;					// -4520
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4521
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_call_barred;						// -4522
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4523
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4524
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4525
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4526
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4527
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4528
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4529
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4530
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4531
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4532
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_short_network_failure;				// -4533
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4534
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4535
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4536
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4537
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4538
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4539
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_subscriber;				// -4540
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support2;					// -4541
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_subscriber;				// -4542
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4543
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4544
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4545
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4546
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4547
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4548
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4549
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_serious_network_failure;			// -4550
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4551
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4552
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4553
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_network_busy;						// -4554
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4555
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4556
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4557
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4558
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_network_busy;						// -4559
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4560
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4561
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_not_subscribed;					// -4562
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors11
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_check_services;					// -4581
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors12
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4593
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors13
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_network_failure;			// -4607
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_error_in_message_content;			// -4608
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4609
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4610
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_message_type_not_supported;		// -4611
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors14
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_network_failure;			// -4623
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors15
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4639
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4640
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_message_type_not_supported;		// -4641
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_message_cannot_deliver;			// -4642
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors16
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_network_failure;			// -4655
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_incorrect_alphabet;				// -4656
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_message_type_not_supported;		// -4657
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors17
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_network_failure;			// -4671
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_cannot_do_operation;				// -4672
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4673
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors18
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_network_failure;			// -4687
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_support;					// -4688
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors19
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_service_centre_busy;				// -4704
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_no_service_centre;					// -4705
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_service_centre_failure;			// -4706
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_service_centre_failure;			// -4707
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResUnknownErrorFlag;						// -4708
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResUnknownErrorFlag;						// -4709
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_destination_barred;				// -4710
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4711
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_validity_period;				// -4712
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_validity_period;				// -4713
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors20
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_sim_full;						// -4720
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_sim_no_storage;				// -4721
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_error_receiving;				// -4722
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_no_space;						// -4723
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_sim_busy;						// -4724
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors21
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_unknown_network_failure;			// -4767
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors22
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_error_receiving;				// -4812
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_sim_busy_sms;					// -4813
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_op_not_allowed;					// -4814
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_phone_does_not_support;			// -4815
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4816
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4817
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4818
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4819
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4820
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4821
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_insert_sim;						// -4822
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_pin1_required;						// -4823
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4824
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sim_failure;						// -4825
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sms_sim_busy;						// -4826
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_wrong_sim;							// -4827
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_need_puk1;							// -4828
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_pin2_required;						// -4829
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_need_puk2;							// -4830
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4831
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_memory_failure;					// -4832
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_memory_failure;					// -4833
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_memory_full;						// -4834
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4835
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4836
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4837
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4838
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4839
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4840
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -4841
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4842
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_service_not_available;				// -4843
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -4844
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors23
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -4852
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors24
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -5012
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors25
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_phone_failure;						// -5024
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_phone_failure;						// -5025
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_phone_busy;						// -5026
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_phone_op_not_allowed;				// -5027
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_phone_op_not_allowed;				// -5028
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResBlankErrorFlag;							// -5029
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -5030
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -5031
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -5032
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResPanicErrorFlag;							// -5033
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_insert_sim;						// -5034
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_pin1_required;						// -5035
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_need_puk1;							// -5036
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sim_failure;						// -5037
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_sim_busy;							// -5038
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_wrong_sim;							// -5039
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_incorrect_code;						// -5040
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_pin2_required;						// -5041
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_need_puk2;							// -5042
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_memory_full;						// -5043
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_memory_failure;					// -5044
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_cannot_find_information;				// -5045
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_memory_failure;					// -5046
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_string_too_long;					// -5047
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_invalid_characters;				// -5048
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_dial_string_too_long;				// -5049
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_invalid_characters;				// -5050
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResUnknownErrorFlag;						// -5051
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResUnknownErrorFlag;						// -5052
+			},
+		SINGLE_ERROR
+			{
+			flags=EErrorResUnknownErrorFlag;						// -5053
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_service_not_available;				// -5054
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -5055
+			}
+		};
+	}
+
+RESOURCE ARRAY r_error_res_gsm_errors26
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_res_gsm_temporary_network_fail;			// -5124
+			}
+		};
+	}
+
+RESOURCE TBUF r_error_res_gsm_temporary_network_fail		{ buf="Temporary network failure. Try again later."; }
+RESOURCE TBUF r_error_res_gsm_no_network_support			{ buf="No network support for requested operation."; }
+RESOURCE TBUF r_error_res_gsm_op_not_allowed				{ buf="Operation is not allowed. Contact cellular network operator."; }
+RESOURCE TBUF r_error_res_gsm_phone_blacklisted				{ buf="Phone is blacklisted. Contact cellular network operator."; }
+RESOURCE TBUF r_error_res_gsm_phone_failure					{ buf="Phone failure. Switch off the phone and then switch on."; }
+RESOURCE TBUF r_error_res_gsm_no_roaming					{ buf="Roaming is not allowed in this area."; }
+RESOURCE TBUF r_error_res_gsm_network_busy					{ buf="Network busy."; }
+RESOURCE TBUF r_error_res_gsm_op_not_support				{ buf="Operation is not presently supported by the network."; }
+RESOURCE TBUF r_error_res_gsm_op_not_support2				{ buf="Operation is not supported. Contact cellular network operator."; }
+RESOURCE TBUF r_error_res_gsm_not_subscribed				{ buf="Service not subscribed. Contact cellular network operator."; }
+RESOURCE TBUF r_error_res_gsm_service_temporarily_broke		{ buf="Service temporarily out of use. Try again later."; }
+RESOURCE TBUF r_error_res_gsm_invalid_phone_number			{ buf="Invalid phone number. Check the number and try again."; }
+RESOURCE TBUF r_error_res_gsm_number_busy					{ buf="Number is busy. Try again later."; }
+RESOURCE TBUF r_error_res_gsm_remote_user_not_available		{ buf="The remote user is not currently reachable. Try again later."; }
+RESOURCE TBUF r_error_res_gsm_short_network_failure			{ buf="Short network failure. Try again immediately."; }
+RESOURCE TBUF r_error_res_gsm_changed_number				{ buf="Number has changed. Check the number and try again."; }
+RESOURCE TBUF r_error_res_gsm_unknown_network_failure		{ buf="Unknown network failure. Try again later."; }
+RESOURCE TBUF r_error_res_gsm_serious_network_failure		{ buf="Serious cellular network failure. Please contact the cellular network operator."; }
+RESOURCE TBUF r_error_res_gsm_service_cannot_be_provided	{ buf="Service can not be provided."; }
+RESOURCE TBUF r_error_res_gsm_check_services				{ buf="Check operator services or connection settings."; }
+RESOURCE TBUF r_error_res_gsm_no_incoming_calls_in_cug		{ buf="Incoming calls are not allowed within closed user group."; }
+RESOURCE TBUF r_error_res_gsm_unauthorised_operation		{ buf="Unauthorised operation."; }
+RESOURCE TBUF r_error_res_gsm_requested_op_not_available	{ buf="Requested service is not presently available. Try again later."; }
+RESOURCE TBUF r_error_res_gsm_only_calls_in_cug				{ buf="Only calls within closed user group allowed."; }
+RESOURCE TBUF r_error_res_gsm_check_connection_type			{ buf="Check connection type in connection settings."; }
+RESOURCE TBUF r_error_res_gsm_unknown_subscriber			{ buf="Unknown subscriber. Contact cellular network operator."; }
+RESOURCE TBUF r_error_res_gsm_service_not_provisioned		{ buf="Service is not provisioned."; }
+RESOURCE TBUF r_error_res_gsm_operator_has_barred_calls		{ buf="Calls are barred by the operator. Contact cellular network operator."; }
+RESOURCE TBUF r_error_res_gsm_incompatible_supplementary	{ buf="The requested supplementary service is incompatible."; }
+RESOURCE TBUF r_error_res_gsm_missing_parameter				{ buf="Parameter in the service request is missing."; }
+RESOURCE TBUF r_error_res_gsm_unknown_parameter				{ buf="Unknown parameter in the service request."; }
+RESOURCE TBUF r_error_res_gsm_incorrect_service_password	{ buf="Wrong service password."; }
+RESOURCE TBUF r_error_res_gsm_incorrect_password_too_many	{ buf="Too many times wrong service password."; }
+RESOURCE TBUF r_error_res_gsm_incorrect_alphabet			{ buf="Incompatible service language or alphabets."; }
+RESOURCE TBUF r_error_res_gsm_too_many_participants			{ buf="Too many participants of a multiparty call."; }
+RESOURCE TBUF r_error_res_gsm_no_network_resources			{ buf="Temporarily out of network resources when requesting the service."; }
+RESOURCE TBUF r_error_res_gsm_call_barred					{ buf="Call barred."; }
+RESOURCE TBUF r_error_res_gsm_error_in_message_content		{ buf="Error in message content."; }
+RESOURCE TBUF r_error_res_gsm_message_type_not_supported	{ buf="Message type is not presently supported by the network."; }
+RESOURCE TBUF r_error_res_gsm_message_cannot_deliver		{ buf="Cannot deliver the message to the destination."; }
+RESOURCE TBUF r_error_res_gsm_cannot_do_operation			{ buf="Operation cannot be performed."; }
+RESOURCE TBUF r_error_res_gsm_service_centre_busy			{ buf="Service centre is busy. Try again later."; }
+RESOURCE TBUF r_error_res_gsm_no_service_centre				{ buf="No service centre. Check messaging settings."; }
+RESOURCE TBUF r_error_res_gsm_service_centre_failure		{ buf="No service centre. Check messaging settings."; }
+RESOURCE TBUF r_error_res_gsm_destination_barred			{ buf="The destination is barred."; }
+RESOURCE TBUF r_error_res_gsm_sms_validity_period			{ buf="Short message validity period not supported by the network."; }
+RESOURCE TBUF r_error_res_gsm_sms_sim_full					{ buf="Short message storage in SIM card is full."; }
+RESOURCE TBUF r_error_res_gsm_sms_sim_no_storage			{ buf="No short message storage capability in SIM card."; }
+RESOURCE TBUF r_error_res_gsm_sms_error_receiving			{ buf="Error receiving the short message."; }
+RESOURCE TBUF r_error_res_gsm_sms_no_space					{ buf="No space to store the short message."; }
+RESOURCE TBUF r_error_res_gsm_sms_sim_busy					{ buf="SIM is busy performing another operation."; }
+RESOURCE TBUF r_error_res_gsm_sms_sim_busy_sms				{ buf="Busy because of short message operation."; }
+RESOURCE TBUF r_error_res_gsm_phone_does_not_support		{ buf="Phone is not supporting the operation."; }
+RESOURCE TBUF r_error_res_gsm_insert_sim					{ buf="Insert SIM card."; }
+RESOURCE TBUF r_error_res_gsm_pin1_required					{ buf="PIN1 is required to continue."; }
+RESOURCE TBUF r_error_res_gsm_sim_failure					{ buf="SIM card failure. Replace the SIM card."; }
+RESOURCE TBUF r_error_res_gsm_wrong_sim						{ buf="Wrong SIM card. Replace the SIM card."; }
+RESOURCE TBUF r_error_res_gsm_need_puk1						{ buf="PUK1 code is required to continue."; }
+RESOURCE TBUF r_error_res_gsm_pin2_required					{ buf="PIN2 is required to continue."; }
+RESOURCE TBUF r_error_res_gsm_need_puk2						{ buf="PUK2 code is required to continue."; }
+RESOURCE TBUF r_error_res_gsm_memory_failure				{ buf="Memory failure. Try again."; }
+RESOURCE TBUF r_error_res_gsm_memory_full					{ buf="Memory is full. Remove some messages and try again."; }
+RESOURCE TBUF r_error_res_gsm_service_not_available			{ buf="Service is not available."; }
+RESOURCE TBUF r_error_res_gsm_phone_busy					{ buf="Phone is busy due the other call operation."; }
+RESOURCE TBUF r_error_res_gsm_phone_op_not_allowed			{ buf="Operation is not allowed. Check phone settings."; }
+RESOURCE TBUF r_error_res_gsm_phone_op_not_supported		{ buf="Operation is not supported by the phone."; }
+RESOURCE TBUF r_error_res_gsm_sim_busy						{ buf="SIM card is busy while performing other operation."; }
+RESOURCE TBUF r_error_res_incorrect_code					{ buf="Incorrect code, please re-enter."; }
+RESOURCE TBUF r_error_res_cannot_find_information			{ buf="Requested information not found. Try again."; }
+RESOURCE TBUF r_error_res_gsm_string_too_long				{ buf="Entered string is too long. Please re-enter the string."; }
+RESOURCE TBUF r_error_res_gsm_invalid_characters			{ buf="Invalid characters in text string. Please re-enter the string."; }
+RESOURCE TBUF r_error_res_gsm_dial_string_too_long			{ buf="Entered dial string is too long. Please re-enter the string."; }
--- a/networkprotocols/dnsproxy/test/group/t_dnsproxy.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/dnsproxy/test/group/t_dnsproxy.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -24,7 +24,7 @@
 SOURCE			t_dnsproxytestserver.cpp  
 SOURCE			t_dnsproxymain.cpp
 
-USERINCLUDE		..\inc
+USERINCLUDE		../inc
 
 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
 SYSTEMINCLUDE	/epoc32/include
@@ -34,8 +34,8 @@
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 SYSTEMINCLUDE	/epoc32/include/platform/test
 SYSTEMINCLUDE	/epoc32/include/platform/networking
-SYSTEMINCLUDE   ..\..\dnsproxyclient\inc
-USERINCLUDE 	..\..\..\..\tcpiputils\networkaddressandporttranslation\inc
+SYSTEMINCLUDE   ../../dnsproxyclient/inc
+USERINCLUDE 	../../../../tcpiputils/networkaddressandporttranslation/inc
 #endif
 
 LIBRARY		testexecuteutils.lib euser.lib esock.lib commdb.lib insock.lib netmeta.lib ecom.lib
--- a/networkprotocols/ipeventnotifier/IPEventFactory/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,32 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file BLD.INF
-*/
-
-
-PRJ_EXPORTS
-
-
-../group/IPEventFactory.iby			/epoc32/rom/include/ipeventfactory.iby
-
-
-PRJ_MMPFILES
-IPEventFactory.mmp
-
-
-
-
--- a/networkprotocols/ipeventnotifier/IPEventFactory/group/IPEventFactory.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/ipeventnotifier/IPEventFactory/group/IPEventFactory.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -18,7 +18,7 @@
 #ifndef __IP_EVENT_FACTORY_IBY__
 #define __IP_EVENT_FACTORY_IBY__
 
-#ifdef SYMBIAN_EXCLUDE_DHCP
+#ifndef __DHCP
 REM Feature DHCP is not included in this ROM
 #else
 ECOM_PLUGIN(IPEventFactory.dll,1020469F.rsc)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkprotocols/ipeventnotifier/IPEventFactory/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,32 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file BLD.INF
+*/
+
+
+PRJ_EXPORTS
+
+
+../group/IPEventFactory.iby			/epoc32/rom/include/ipeventfactory.iby
+
+
+PRJ_MMPFILES
+IPEventFactory.mmp
+
+
+
+
--- a/networkprotocols/ipeventnotifier/IPEventTypes/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,35 +0,0 @@
-// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-/**
- @file BLD.INF
-*/
-
-
-PRJ_EXPORTS
-../INC/IPEventTypesIds.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ipeventtypesids.h)
-../INC/IPEventTypes.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ipeventtypes.h)
-../INC/IPEventTypes.inl			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ipeventtypes.inl)
-
-
-../group/IPEventTypes.iby			/epoc32/rom/include/ipeventtypes.iby
-
-
-PRJ_MMPFILES
-IPEventTypes.MMP
-
-
-
-
--- a/networkprotocols/ipeventnotifier/IPEventTypes/group/IPEventTypes.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/ipeventnotifier/IPEventTypes/group/IPEventTypes.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -20,7 +20,7 @@
 #ifndef __IP_EVENT_TYPES_IBY__
 #define __IP_EVENT_TYPES_IBY__
 
-#ifdef SYMBIAN_EXCLUDE_DHCP
+#ifndef __DHCP
 REM Feature DHCP is not included in this ROM
 #else
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkprotocols/ipeventnotifier/IPEventTypes/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,35 @@
+// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+/**
+ @file BLD.INF
+*/
+
+
+PRJ_EXPORTS
+../INC/IPEventTypesIds.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ipeventtypesids.h)
+../INC/IPEventTypes.h			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ipeventtypes.h)
+../INC/IPEventTypes.inl			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(networking/ipeventtypes.inl)
+
+
+../group/IPEventTypes.iby			/epoc32/rom/include/ipeventtypes.iby
+
+
+PRJ_MMPFILES
+IPEventTypes.MMP
+
+
+
+
--- a/networkprotocols/ipeventnotifier/group/ipeventnotifier.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/ipeventnotifier/group/ipeventnotifier.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -22,7 +22,7 @@
 #define __IPEVENTNOTIFIER_IBY__
 
 
-#ifdef SYMBIAN_EXCLUDE_DHCP
+#ifndef __DHCP
 REM Feature DHCP is not included in this ROM
 #else
 
--- a/networkprotocols/ipeventnotifier/src/DHCPUnicastTranslator.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/ipeventnotifier/src/DHCPUnicastTranslator.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -1,4 +1,4 @@
-// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// Copyright (c) 2006-2010 Nokia Corporation and/or its subsidiary(-ies).
 // All rights reserved.
 // This component and the accompanying materials are made available
 // under the terms of "Eclipse Public License v1.0"
@@ -128,7 +128,7 @@
 #ifndef _DEBUG
     if (udp.iHdr->DstPort() == 68)
 #else
-	if (udp.iHdr->DstPort() == 68 || udp.iHdr->DstPort() == 127 || udp.iHdr->DstPort() == 119 || udp.iHdr->DstPort() == 125
+	if (udp.iHdr->DstPort() == 68 || udp.iHdr->DstPort() == 127 || udp.iHdr->DstPort() == 119 || udp.iHdr->DstPort() == 94 || udp.iHdr->DstPort() == 125
 	#ifdef SYMBIAN_NETWORKING_DHCP_MSG_HEADERS
 	|| udp.iHdr->DstPort() == 92 || udp.iHdr->DstPort() == 99
 	#endif//SYMBIAN_NETWORKING_DHCP_MSG_HEADERS	
--- a/networkprotocols/iphook/inhook6/data/tcpip6err.ra	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/iphook/inhook6/data/tcpip6err.ra	Tue Jun 29 19:20:22 2010 +0530
@@ -1,543 +1,543 @@
-// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-RESOURCE ARRAY  r_error_res_tcpip6_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_NoDestination;	// -5100
-			},
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_NoPathMtu;			
-			},
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_ShortPacket;
-			},
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_DuplicateAddress;
-			},
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_AddressExpired;				
-			}, 
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_NoRoute;
-			},
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_SourceAddress;
-			},
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_UnsupportedApi;
-			},
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_UnsupportedApiVersion;
-			},
-		SINGLE_ERROR
-			{
-			text=r_tcpip6_error_NoDnsResolver;
-			}
-		};
-	}
-
-
-RESOURCE ARRAY  r_error_res_dnd_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndNameNotFound;	// -5120
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndAddrNotFound;			
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndNoServers;
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndNoRoute;
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndCache;
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndFormat;			
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndServerFailure;
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndBadName;			
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndNotImplemented;
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndRefused;			
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_Dnd_5130;
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndNoRecord;			
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndNameTooBig;
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndUnknown;			
-			},
-		SINGLE_ERROR
-			{
-			text=r_dnd_error_DndServerUnusable;
-			}
-		};
-	}
-
-
-RESOURCE ARRAY  r_error_res_ipsec6_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_NotANATTPacket;	// -5154
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_NoInnerSource;	//- 5155
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_LostSA;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_IcmpError;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyUnknownSelector;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyInboundOutbound;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyIpMaskExpected;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyIpAddressExpected;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyInvalidIpAddress;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyRightParen;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyLeftParen;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicySpecNotFound;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicySyntaxError;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicySpecName;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyNoEncryptAlgorithm;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyNoAuthAlgorithm;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyTooManyTypes;	 // -5170
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyNoType;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyCloseBraceExpected;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyNumberExpected;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyUnknownSpec;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyInvalidIdentity;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyIdentityDefined;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyUnknownAuth;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PolicyUnknownEncrypt;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_UnavailableDigest;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_UnavailableCipher;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_UnknownDigestNumber;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_UnknownCipherNumber;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_BadCipherKey;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchDestinationIdentity;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchSourceIdentity;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchProtocol;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchDestinationPort;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchSourcePort;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchProxy;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchSource;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchReplayWindow;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchedEncryptAlg;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchedAuthAlg;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchedPFS;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchedType;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchedDestination;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_AcquireFailed;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_EspBadCipherBlockSize;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_EspSequenceWrap;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_AhSequenceWrap;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_AhPacketTooLong;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_AhRMBufSplit;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_NoBundle;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_TooManyTransforms;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_UnrequiredSA;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MismatchedSA;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_TunnelMismatch;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_TooFewTransforms;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_MaxTransforms;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_NoSelectorMatch;		// -5210
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_OutboundPending;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_OutboundNotFound;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_ReplayDuplicate;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_EspPadLength;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_EspPadByte;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_DataAlignment;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_PacketLength;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_AhAuthentication;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_AhIcvLength;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_AhInboundSA;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_AhAuthAlg;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_EspEncrAlg;		
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_EspAuthAlg;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_EspAuthentication;
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_EspInboundSA;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_CorruptPacketOut;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_CorruptPacketIn;	
-			},
-		SINGLE_ERROR
-			{
-			text=r_error_EIpsec_RMBUF;	
-			}
-		};
-	}
-
-
-RESOURCE TBUF r_tcpip6_error_NoDestination { buf = STRING_r_tcpip6_error_NoDestination; }	
-RESOURCE TBUF r_tcpip6_error_NoPathMtu { buf = STRING_r_tcpip6_error_NoPathMtu ; }		
-RESOURCE TBUF r_tcpip6_error_ShortPacket { buf = STRING_r_tcpip6_error_ShortPacket; }		
-RESOURCE TBUF r_tcpip6_error_DuplicateAddress { buf = STRING_r_tcpip6_error_DuplicateAddress; }	
-RESOURCE TBUF r_tcpip6_error_AddressExpired { buf = STRING_r_tcpip6_error_AddressExpired; }	
-RESOURCE TBUF r_tcpip6_error_NoRoute { buf = STRING_r_tcpip6_error_NoRoute; }	
-RESOURCE TBUF r_tcpip6_error_SourceAddress { buf = STRING_r_tcpip6_error_SourceAddress; }	
-RESOURCE TBUF r_tcpip6_error_UnsupportedApi { buf = STRING_r_tcpip6_error_UnsupportedApi; }	
-RESOURCE TBUF r_tcpip6_error_UnsupportedApiVersion { buf = STRING_r_tcpip6_error_UnsupportedApiVersion; }	
-RESOURCE TBUF r_tcpip6_error_NoDnsResolver { buf = STRING_r_tcpip6_error_NoDnsResolver; }	
-
-
-RESOURCE TBUF r_dnd_error_DndNameNotFound { buf = STRING_r_dnd_error_DndNameNotFound ; }
-RESOURCE TBUF r_dnd_error_DndAddrNotFound { buf = STRING_r_dnd_error_DndAddrNotFound ; }
-RESOURCE TBUF r_dnd_error_DndNoServers { buf = STRING_r_dnd_error_DndNoServers ; }
-RESOURCE TBUF r_dnd_error_DndNoRoute { buf = STRING_r_dnd_error_DndNoRoute ; }
-RESOURCE TBUF r_dnd_error_DndCache { buf = STRING_r_dnd_error_DndCache ; }
-RESOURCE TBUF r_dnd_error_DndFormat { buf = STRING_r_dnd_error_DndFormat ; }
-RESOURCE TBUF r_dnd_error_DndServerFailure { buf = STRING_r_dnd_error_DndServerFailure  ; }
-RESOURCE TBUF r_dnd_error_DndBadName { buf = STRING_r_dnd_error_DndBadName  ; }
-RESOURCE TBUF r_dnd_error_DndNotImplemented { buf = STRING_r_dnd_error_DndNotImplemented  ; }
-RESOURCE TBUF r_dnd_error_DndRefused { buf = STRING_r_dnd_error_DndRefused ; }
-RESOURCE TBUF r_dnd_error_Dnd_5130 { buf = STRING_r_dnd_error_Dnd_5130 ; }
-RESOURCE TBUF r_dnd_error_DndNoRecord { buf = STRING_r_dnd_error_DndNoRecord ; }
-RESOURCE TBUF r_dnd_error_DndNameTooBig { buf = STRING_r_dnd_error_DndNameTooBig ; }
-RESOURCE TBUF r_dnd_error_DndUnknown { buf = STRING_r_dnd_error_DndUnknown ; }
-RESOURCE TBUF r_dnd_error_DndServerUnusable  { buf = STRING_r_dnd_error_DndServerUnusable ; }
-
-
-RESOURCE TBUF r_error_EIpsec_NotANATTPacket          { buf = STRING_r_error_EIpsec_NotANATTPacket ;}
-RESOURCE TBUF r_error_EIpsec_NoInnerSource           { buf = STRING_r_error_EIpsec_NoInnerSource  ;}
-RESOURCE TBUF r_error_EIpsec_LostSA                  { buf = STRING_r_error_EIpsec_LostSA  ;}
-RESOURCE TBUF r_error_EIpsec_IcmpError               { buf = STRING_r_error_EIpsec_IcmpError  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyUnknownSelector   { buf = STRING_r_error_EIpsec_PolicyUnknownSelector  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyInboundOutbound   { buf = STRING_r_error_EIpsec_PolicyInboundOutbound  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyIpMaskExpected    { buf = STRING_r_error_EIpsec_PolicyIpMaskExpected  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyIpAddressExpected { buf = STRING_r_error_EIpsec_PolicyIpAddressExpected  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyInvalidIpAddress  { buf = STRING_r_error_EIpsec_PolicyInvalidIpAddress  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyRightParen        { buf = STRING_r_error_EIpsec_PolicyRightParen  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyLeftParen         { buf = STRING_r_error_EIpsec_PolicyLeftParen  ;}
-RESOURCE TBUF r_error_EIpsec_PolicySpecNotFound      { buf = STRING_r_error_EIpsec_PolicySpecNotFound  ;}
-RESOURCE TBUF r_error_EIpsec_PolicySyntaxError       { buf = STRING_r_error_EIpsec_PolicySyntaxError  ;}
-RESOURCE TBUF r_error_EIpsec_PolicySpecName          { buf = STRING_r_error_EIpsec_PolicySpecName  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyNoEncryptAlgorithm{ buf = STRING_r_error_EIpsec_PolicyNoEncryptAlgorithm  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyNoAuthAlgorithm   { buf = STRING_r_error_EIpsec_PolicyNoAuthAlgorithm  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyTooManyTypes      { buf = STRING_r_error_EIpsec_PolicyTooManyTypes  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyNoType            { buf = STRING_r_error_EIpsec_PolicyNoType  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyCloseBraceExpected{ buf = STRING_r_error_EIpsec_PolicyCloseBraceExpected  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyNumberExpected    { buf = STRING_r_error_EIpsec_PolicyNumberExpected  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyUnknownSpec       { buf = STRING_r_error_EIpsec_PolicyUnknownSpec  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyInvalidIdentity   { buf = STRING_r_error_EIpsec_PolicyInvalidIdentity  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyIdentityDefined   { buf = STRING_r_error_EIpsec_PolicyIdentityDefined  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyUnknownAuth       { buf = STRING_r_error_EIpsec_PolicyUnknownAuth  ;}
-RESOURCE TBUF r_error_EIpsec_PolicyUnknownEncrypt    { buf = STRING_r_error_EIpsec_PolicyUnknownEncrypt  ;}
-RESOURCE TBUF r_error_EIpsec_UnavailableDigest       { buf = STRING_r_error_EIpsec_UnavailableDigest  ;}
-RESOURCE TBUF r_error_EIpsec_UnavailableCipher       { buf = STRING_r_error_EIpsec_UnavailableCipher  ;}
-RESOURCE TBUF r_error_EIpsec_UnknownDigestNumber     { buf = STRING_r_error_EIpsec_UnknownDigestNumber  ;}
-RESOURCE TBUF r_error_EIpsec_UnknownCipherNumber     { buf = STRING_r_error_EIpsec_UnknownCipherNumber  ;}
-RESOURCE TBUF r_error_EIpsec_BadCipherKey            { buf = STRING_r_error_EIpsec_BadCipherKey ;}
-RESOURCE TBUF r_error_EIpsec_MismatchDestinationIdentity	{ buf = STRING_r_error_EIpsec_MismatchDestinationIdentity  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchSourceIdentity  { buf = STRING_r_error_EIpsec_MismatchSourceIdentity  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchProtocol        { buf = STRING_r_error_EIpsec_MismatchProtocol  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchDestinationPort { buf = STRING_r_error_EIpsec_MismatchDestinationPort  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchSourcePort      { buf = STRING_r_error_EIpsec_MismatchSourcePort  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchProxy           { buf = STRING_r_error_EIpsec_MismatchProx  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchSource          { buf = STRING_r_error_EIpsec_MismatchSource  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchReplayWindow    { buf = STRING_r_error_EIpsec_MismatchReplayWindow  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchedEncryptAlg    { buf = STRING_r_error_EIpsec_MismatchedEncryptAlg  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchedAuthAlg       { buf = STRING_r_error_EIpsec_MismatchedAuthAlg  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchedPFS           { buf = STRING_r_error_EIpsec_MismatchedPFS  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchedType          { buf = STRING_r_error_EIpsec_MismatchedType  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchedDestination   { buf = STRING_r_error_EIpsec_MismatchedDestination  ;}
-RESOURCE TBUF r_error_EIpsec_AcquireFailed           { buf = STRING_r_error_EIpsec_AcquireFailed  ;}
-RESOURCE TBUF r_error_EIpsec_EspBadCipherBlockSize   { buf = STRING_r_error_EIpsec_EspBadCipherBlockSize  ;}
-RESOURCE TBUF r_error_EIpsec_EspSequenceWrap         { buf = STRING_r_error_EIpsec_EspSequenceWrap  ;}
-RESOURCE TBUF r_error_EIpsec_AhSequenceWrap          { buf = STRING_r_error_EIpsec_AhSequenceWrap  ;}
-RESOURCE TBUF r_error_EIpsec_AhPacketTooLong         { buf = STRING_r_error_EIpsec_AhPacketTooLong  ;}
-RESOURCE TBUF r_error_EIpsec_AhRMBufSplit            { buf = STRING_r_error_EIpsec_AhRMBufSplit  ;}
-RESOURCE TBUF r_error_EIpsec_NoBundle                { buf = STRING_r_error_EIpsec_NoBundle  ;}
-RESOURCE TBUF r_error_EIpsec_TooManyTransforms       { buf = STRING_r_error_EIpsec_TooManyTransforms  ;}
-RESOURCE TBUF r_error_EIpsec_UnrequiredSA            { buf = STRING_r_error_EIpsec_UnrequiredSA  ;}
-RESOURCE TBUF r_error_EIpsec_MismatchedSA            { buf = STRING_r_error_EIpsec_MismatchedSA  ;}
-RESOURCE TBUF r_error_EIpsec_TunnelMismatch          { buf = STRING_r_error_EIpsec_TunnelMismatch  ;}
-RESOURCE TBUF r_error_EIpsec_TooFewTransforms        { buf = STRING_r_error_EIpsec_TooFewTransforms  ;}
-RESOURCE TBUF r_error_EIpsec_MaxTransforms           { buf = STRING_r_error_EIpsec_MaxTransforms  ;}
-RESOURCE TBUF r_error_EIpsec_NoSelectorMatch         { buf = STRING_r_error_EIpsec_NoSelectorMatch  ;}
-RESOURCE TBUF r_error_EIpsec_OutboundPending         { buf = STRING_r_error_EIpsec_OutboundPending  ;}
-RESOURCE TBUF r_error_EIpsec_OutboundNotFound        { buf = STRING_r_error_EIpsec_OutboundNotFound  ;}
-RESOURCE TBUF r_error_EIpsec_ReplayDuplicate         { buf = STRING_r_error_EIpsec_ReplayDuplicate  ;}
-RESOURCE TBUF r_error_EIpsec_EspPadLength            { buf = STRING_r_error_EIpsec_EspPadLength  ;}
-RESOURCE TBUF r_error_EIpsec_EspPadByte              { buf = STRING_r_error_EIpsec_EspPadByt  ;}
-RESOURCE TBUF r_error_EIpsec_DataAlignment           { buf = STRING_r_error_EIpsec_DataAlignment  ;}
-RESOURCE TBUF r_error_EIpsec_PacketLength            { buf = STRING_r_error_EIpsec_PacketLength  ;}
-RESOURCE TBUF r_error_EIpsec_AhAuthentication        { buf = STRING_r_error_EIpsec_AhAuthentication  ;}
-RESOURCE TBUF r_error_EIpsec_AhIcvLength             { buf = STRING_r_error_EIpsec_AhIcvLength  ;}
-RESOURCE TBUF r_error_EIpsec_AhInboundSA             { buf = STRING_r_error_EIpsec_AhInboundSA  ;}
-RESOURCE TBUF r_error_EIpsec_AhAuthAlg               { buf = STRING_r_error_EIpsec_AhAuthAlg  ;}
-RESOURCE TBUF r_error_EIpsec_EspEncrAlg              { buf = STRING_r_error_EIpsec_EspEncrAlg  ;}
-RESOURCE TBUF r_error_EIpsec_EspAuthAlg              { buf = STRING_r_error_EIpsec_EspAuthAlg  ;}
-RESOURCE TBUF r_error_EIpsec_EspAuthentication       { buf = STRING_r_error_EIpsec_EspAuthentication  ;}
-RESOURCE TBUF r_error_EIpsec_EspInboundSA            { buf = STRING_r_error_EIpsec_EspInboundSA  ;}
-RESOURCE TBUF r_error_EIpsec_CorruptPacketOut        { buf = STRING_r_error_EIpsec_CorruptPacketOu  ;}
-RESOURCE TBUF r_error_EIpsec_CorruptPacketIn         { buf = STRING_r_error_EIpsec_CorruptPacketIn  ;}
-RESOURCE TBUF r_error_EIpsec_RMBUF	             { buf = STRING_r_error_EIpsec_RMBUF  ;}
+// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+RESOURCE ARRAY  r_error_res_tcpip6_errors
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_NoDestination;	// -5100
+			},
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_NoPathMtu;			
+			},
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_ShortPacket;
+			},
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_DuplicateAddress;
+			},
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_AddressExpired;				
+			}, 
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_NoRoute;
+			},
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_SourceAddress;
+			},
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_UnsupportedApi;
+			},
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_UnsupportedApiVersion;
+			},
+		SINGLE_ERROR
+			{
+			text=r_tcpip6_error_NoDnsResolver;
+			}
+		};
+	}
+
+
+RESOURCE ARRAY  r_error_res_dnd_errors
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndNameNotFound;	// -5120
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndAddrNotFound;			
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndNoServers;
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndNoRoute;
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndCache;
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndFormat;			
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndServerFailure;
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndBadName;			
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndNotImplemented;
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndRefused;			
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_Dnd_5130;
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndNoRecord;			
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndNameTooBig;
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndUnknown;			
+			},
+		SINGLE_ERROR
+			{
+			text=r_dnd_error_DndServerUnusable;
+			}
+		};
+	}
+
+
+RESOURCE ARRAY  r_error_res_ipsec6_errors
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_NotANATTPacket;	// -5154
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_NoInnerSource;	//- 5155
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_LostSA;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_IcmpError;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyUnknownSelector;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyInboundOutbound;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyIpMaskExpected;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyIpAddressExpected;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyInvalidIpAddress;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyRightParen;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyLeftParen;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicySpecNotFound;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicySyntaxError;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicySpecName;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyNoEncryptAlgorithm;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyNoAuthAlgorithm;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyTooManyTypes;	 // -5170
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyNoType;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyCloseBraceExpected;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyNumberExpected;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyUnknownSpec;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyInvalidIdentity;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyIdentityDefined;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyUnknownAuth;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PolicyUnknownEncrypt;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_UnavailableDigest;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_UnavailableCipher;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_UnknownDigestNumber;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_UnknownCipherNumber;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_BadCipherKey;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchDestinationIdentity;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchSourceIdentity;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchProtocol;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchDestinationPort;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchSourcePort;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchProxy;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchSource;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchReplayWindow;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchedEncryptAlg;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchedAuthAlg;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchedPFS;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchedType;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchedDestination;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_AcquireFailed;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_EspBadCipherBlockSize;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_EspSequenceWrap;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_AhSequenceWrap;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_AhPacketTooLong;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_AhRMBufSplit;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_NoBundle;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_TooManyTransforms;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_UnrequiredSA;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MismatchedSA;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_TunnelMismatch;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_TooFewTransforms;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_MaxTransforms;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_NoSelectorMatch;		// -5210
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_OutboundPending;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_OutboundNotFound;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_ReplayDuplicate;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_EspPadLength;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_EspPadByte;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_DataAlignment;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_PacketLength;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_AhAuthentication;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_AhIcvLength;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_AhInboundSA;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_AhAuthAlg;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_EspEncrAlg;		
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_EspAuthAlg;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_EspAuthentication;
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_EspInboundSA;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_CorruptPacketOut;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_CorruptPacketIn;	
+			},
+		SINGLE_ERROR
+			{
+			text=r_error_EIpsec_RMBUF;	
+			}
+		};
+	}
+
+
+RESOURCE TBUF r_tcpip6_error_NoDestination { buf = STRING_r_tcpip6_error_NoDestination; }	
+RESOURCE TBUF r_tcpip6_error_NoPathMtu { buf = STRING_r_tcpip6_error_NoPathMtu ; }		
+RESOURCE TBUF r_tcpip6_error_ShortPacket { buf = STRING_r_tcpip6_error_ShortPacket; }		
+RESOURCE TBUF r_tcpip6_error_DuplicateAddress { buf = STRING_r_tcpip6_error_DuplicateAddress; }	
+RESOURCE TBUF r_tcpip6_error_AddressExpired { buf = STRING_r_tcpip6_error_AddressExpired; }	
+RESOURCE TBUF r_tcpip6_error_NoRoute { buf = STRING_r_tcpip6_error_NoRoute; }	
+RESOURCE TBUF r_tcpip6_error_SourceAddress { buf = STRING_r_tcpip6_error_SourceAddress; }	
+RESOURCE TBUF r_tcpip6_error_UnsupportedApi { buf = STRING_r_tcpip6_error_UnsupportedApi; }	
+RESOURCE TBUF r_tcpip6_error_UnsupportedApiVersion { buf = STRING_r_tcpip6_error_UnsupportedApiVersion; }	
+RESOURCE TBUF r_tcpip6_error_NoDnsResolver { buf = STRING_r_tcpip6_error_NoDnsResolver; }	
+
+
+RESOURCE TBUF r_dnd_error_DndNameNotFound { buf = STRING_r_dnd_error_DndNameNotFound ; }
+RESOURCE TBUF r_dnd_error_DndAddrNotFound { buf = STRING_r_dnd_error_DndAddrNotFound ; }
+RESOURCE TBUF r_dnd_error_DndNoServers { buf = STRING_r_dnd_error_DndNoServers ; }
+RESOURCE TBUF r_dnd_error_DndNoRoute { buf = STRING_r_dnd_error_DndNoRoute ; }
+RESOURCE TBUF r_dnd_error_DndCache { buf = STRING_r_dnd_error_DndCache ; }
+RESOURCE TBUF r_dnd_error_DndFormat { buf = STRING_r_dnd_error_DndFormat ; }
+RESOURCE TBUF r_dnd_error_DndServerFailure { buf = STRING_r_dnd_error_DndServerFailure  ; }
+RESOURCE TBUF r_dnd_error_DndBadName { buf = STRING_r_dnd_error_DndBadName  ; }
+RESOURCE TBUF r_dnd_error_DndNotImplemented { buf = STRING_r_dnd_error_DndNotImplemented  ; }
+RESOURCE TBUF r_dnd_error_DndRefused { buf = STRING_r_dnd_error_DndRefused ; }
+RESOURCE TBUF r_dnd_error_Dnd_5130 { buf = STRING_r_dnd_error_Dnd_5130 ; }
+RESOURCE TBUF r_dnd_error_DndNoRecord { buf = STRING_r_dnd_error_DndNoRecord ; }
+RESOURCE TBUF r_dnd_error_DndNameTooBig { buf = STRING_r_dnd_error_DndNameTooBig ; }
+RESOURCE TBUF r_dnd_error_DndUnknown { buf = STRING_r_dnd_error_DndUnknown ; }
+RESOURCE TBUF r_dnd_error_DndServerUnusable  { buf = STRING_r_dnd_error_DndServerUnusable ; }
+
+
+RESOURCE TBUF r_error_EIpsec_NotANATTPacket          { buf = STRING_r_error_EIpsec_NotANATTPacket ;}
+RESOURCE TBUF r_error_EIpsec_NoInnerSource           { buf = STRING_r_error_EIpsec_NoInnerSource  ;}
+RESOURCE TBUF r_error_EIpsec_LostSA                  { buf = STRING_r_error_EIpsec_LostSA  ;}
+RESOURCE TBUF r_error_EIpsec_IcmpError               { buf = STRING_r_error_EIpsec_IcmpError  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyUnknownSelector   { buf = STRING_r_error_EIpsec_PolicyUnknownSelector  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyInboundOutbound   { buf = STRING_r_error_EIpsec_PolicyInboundOutbound  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyIpMaskExpected    { buf = STRING_r_error_EIpsec_PolicyIpMaskExpected  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyIpAddressExpected { buf = STRING_r_error_EIpsec_PolicyIpAddressExpected  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyInvalidIpAddress  { buf = STRING_r_error_EIpsec_PolicyInvalidIpAddress  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyRightParen        { buf = STRING_r_error_EIpsec_PolicyRightParen  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyLeftParen         { buf = STRING_r_error_EIpsec_PolicyLeftParen  ;}
+RESOURCE TBUF r_error_EIpsec_PolicySpecNotFound      { buf = STRING_r_error_EIpsec_PolicySpecNotFound  ;}
+RESOURCE TBUF r_error_EIpsec_PolicySyntaxError       { buf = STRING_r_error_EIpsec_PolicySyntaxError  ;}
+RESOURCE TBUF r_error_EIpsec_PolicySpecName          { buf = STRING_r_error_EIpsec_PolicySpecName  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyNoEncryptAlgorithm{ buf = STRING_r_error_EIpsec_PolicyNoEncryptAlgorithm  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyNoAuthAlgorithm   { buf = STRING_r_error_EIpsec_PolicyNoAuthAlgorithm  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyTooManyTypes      { buf = STRING_r_error_EIpsec_PolicyTooManyTypes  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyNoType            { buf = STRING_r_error_EIpsec_PolicyNoType  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyCloseBraceExpected{ buf = STRING_r_error_EIpsec_PolicyCloseBraceExpected  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyNumberExpected    { buf = STRING_r_error_EIpsec_PolicyNumberExpected  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyUnknownSpec       { buf = STRING_r_error_EIpsec_PolicyUnknownSpec  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyInvalidIdentity   { buf = STRING_r_error_EIpsec_PolicyInvalidIdentity  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyIdentityDefined   { buf = STRING_r_error_EIpsec_PolicyIdentityDefined  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyUnknownAuth       { buf = STRING_r_error_EIpsec_PolicyUnknownAuth  ;}
+RESOURCE TBUF r_error_EIpsec_PolicyUnknownEncrypt    { buf = STRING_r_error_EIpsec_PolicyUnknownEncrypt  ;}
+RESOURCE TBUF r_error_EIpsec_UnavailableDigest       { buf = STRING_r_error_EIpsec_UnavailableDigest  ;}
+RESOURCE TBUF r_error_EIpsec_UnavailableCipher       { buf = STRING_r_error_EIpsec_UnavailableCipher  ;}
+RESOURCE TBUF r_error_EIpsec_UnknownDigestNumber     { buf = STRING_r_error_EIpsec_UnknownDigestNumber  ;}
+RESOURCE TBUF r_error_EIpsec_UnknownCipherNumber     { buf = STRING_r_error_EIpsec_UnknownCipherNumber  ;}
+RESOURCE TBUF r_error_EIpsec_BadCipherKey            { buf = STRING_r_error_EIpsec_BadCipherKey ;}
+RESOURCE TBUF r_error_EIpsec_MismatchDestinationIdentity	{ buf = STRING_r_error_EIpsec_MismatchDestinationIdentity  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchSourceIdentity  { buf = STRING_r_error_EIpsec_MismatchSourceIdentity  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchProtocol        { buf = STRING_r_error_EIpsec_MismatchProtocol  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchDestinationPort { buf = STRING_r_error_EIpsec_MismatchDestinationPort  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchSourcePort      { buf = STRING_r_error_EIpsec_MismatchSourcePort  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchProxy           { buf = STRING_r_error_EIpsec_MismatchProx  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchSource          { buf = STRING_r_error_EIpsec_MismatchSource  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchReplayWindow    { buf = STRING_r_error_EIpsec_MismatchReplayWindow  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchedEncryptAlg    { buf = STRING_r_error_EIpsec_MismatchedEncryptAlg  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchedAuthAlg       { buf = STRING_r_error_EIpsec_MismatchedAuthAlg  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchedPFS           { buf = STRING_r_error_EIpsec_MismatchedPFS  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchedType          { buf = STRING_r_error_EIpsec_MismatchedType  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchedDestination   { buf = STRING_r_error_EIpsec_MismatchedDestination  ;}
+RESOURCE TBUF r_error_EIpsec_AcquireFailed           { buf = STRING_r_error_EIpsec_AcquireFailed  ;}
+RESOURCE TBUF r_error_EIpsec_EspBadCipherBlockSize   { buf = STRING_r_error_EIpsec_EspBadCipherBlockSize  ;}
+RESOURCE TBUF r_error_EIpsec_EspSequenceWrap         { buf = STRING_r_error_EIpsec_EspSequenceWrap  ;}
+RESOURCE TBUF r_error_EIpsec_AhSequenceWrap          { buf = STRING_r_error_EIpsec_AhSequenceWrap  ;}
+RESOURCE TBUF r_error_EIpsec_AhPacketTooLong         { buf = STRING_r_error_EIpsec_AhPacketTooLong  ;}
+RESOURCE TBUF r_error_EIpsec_AhRMBufSplit            { buf = STRING_r_error_EIpsec_AhRMBufSplit  ;}
+RESOURCE TBUF r_error_EIpsec_NoBundle                { buf = STRING_r_error_EIpsec_NoBundle  ;}
+RESOURCE TBUF r_error_EIpsec_TooManyTransforms       { buf = STRING_r_error_EIpsec_TooManyTransforms  ;}
+RESOURCE TBUF r_error_EIpsec_UnrequiredSA            { buf = STRING_r_error_EIpsec_UnrequiredSA  ;}
+RESOURCE TBUF r_error_EIpsec_MismatchedSA            { buf = STRING_r_error_EIpsec_MismatchedSA  ;}
+RESOURCE TBUF r_error_EIpsec_TunnelMismatch          { buf = STRING_r_error_EIpsec_TunnelMismatch  ;}
+RESOURCE TBUF r_error_EIpsec_TooFewTransforms        { buf = STRING_r_error_EIpsec_TooFewTransforms  ;}
+RESOURCE TBUF r_error_EIpsec_MaxTransforms           { buf = STRING_r_error_EIpsec_MaxTransforms  ;}
+RESOURCE TBUF r_error_EIpsec_NoSelectorMatch         { buf = STRING_r_error_EIpsec_NoSelectorMatch  ;}
+RESOURCE TBUF r_error_EIpsec_OutboundPending         { buf = STRING_r_error_EIpsec_OutboundPending  ;}
+RESOURCE TBUF r_error_EIpsec_OutboundNotFound        { buf = STRING_r_error_EIpsec_OutboundNotFound  ;}
+RESOURCE TBUF r_error_EIpsec_ReplayDuplicate         { buf = STRING_r_error_EIpsec_ReplayDuplicate  ;}
+RESOURCE TBUF r_error_EIpsec_EspPadLength            { buf = STRING_r_error_EIpsec_EspPadLength  ;}
+RESOURCE TBUF r_error_EIpsec_EspPadByte              { buf = STRING_r_error_EIpsec_EspPadByt  ;}
+RESOURCE TBUF r_error_EIpsec_DataAlignment           { buf = STRING_r_error_EIpsec_DataAlignment  ;}
+RESOURCE TBUF r_error_EIpsec_PacketLength            { buf = STRING_r_error_EIpsec_PacketLength  ;}
+RESOURCE TBUF r_error_EIpsec_AhAuthentication        { buf = STRING_r_error_EIpsec_AhAuthentication  ;}
+RESOURCE TBUF r_error_EIpsec_AhIcvLength             { buf = STRING_r_error_EIpsec_AhIcvLength  ;}
+RESOURCE TBUF r_error_EIpsec_AhInboundSA             { buf = STRING_r_error_EIpsec_AhInboundSA  ;}
+RESOURCE TBUF r_error_EIpsec_AhAuthAlg               { buf = STRING_r_error_EIpsec_AhAuthAlg  ;}
+RESOURCE TBUF r_error_EIpsec_EspEncrAlg              { buf = STRING_r_error_EIpsec_EspEncrAlg  ;}
+RESOURCE TBUF r_error_EIpsec_EspAuthAlg              { buf = STRING_r_error_EIpsec_EspAuthAlg  ;}
+RESOURCE TBUF r_error_EIpsec_EspAuthentication       { buf = STRING_r_error_EIpsec_EspAuthentication  ;}
+RESOURCE TBUF r_error_EIpsec_EspInboundSA            { buf = STRING_r_error_EIpsec_EspInboundSA  ;}
+RESOURCE TBUF r_error_EIpsec_CorruptPacketOut        { buf = STRING_r_error_EIpsec_CorruptPacketOu  ;}
+RESOURCE TBUF r_error_EIpsec_CorruptPacketIn         { buf = STRING_r_error_EIpsec_CorruptPacketIn  ;}
+RESOURCE TBUF r_error_EIpsec_RMBUF	             { buf = STRING_r_error_EIpsec_RMBUF  ;}
--- a/networkprotocols/iphook/inhook6/eabi/inhook6U.DEF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-EXPORTS
-	_ZN12TPacketPokerC1ER10RMBufChain @ 1 NONAME ; TPacketPoker::TPacketPoker(RMBufChain&)
-	_ZN11TPacketHead21AddDestinationOptionLEPKhhhh @ 2 NONAME ; TPacketHead::AddDestinationOptionL(unsigned char const*, unsigned char, unsigned char, unsigned char)
-	_ZN11TPacketHead21AddDestinationOptionLERK6TPtrC8hh @ 3 NONAME ; TPacketHead::AddDestinationOptionL(TPtrC8 const&, unsigned char, unsigned char)
-	_ZN18SequenceBlockQueue10AddOrderedE10TTcpSeqNumS0_ @ 4 NONAME ; SequenceBlockQueue::AddOrdered(TTcpSeqNum, TTcpSeqNum)
-	_ZN18SequenceBlockQueue12AddUnorderedE10TTcpSeqNumS0_ @ 5 NONAME ; SequenceBlockQueue::AddUnordered(TTcpSeqNum, TTcpSeqNum)
-	_ZN9TChecksum3AddER10RMBufChainPK12RMBufPktInfoi @ 6 NONAME ; TChecksum::Add(RMBufChain&, RMBufPktInfo const*, int)
-	_ZN9TChecksum3AddER10RMBufChaini @ 7 NONAME ; TChecksum::Add(RMBufChain&, int)
-	_ZN12TPacketPoker7AdjustLEi @ 8 NONAME ; TPacketPoker::AdjustL(int)
-	_ZN20CProtocolInet6Binder7BindToLEP13CProtocolBase @ 9 NONAME ; CProtocolInet6Binder::BindToL(CProtocolBase*)
-	_ZN9TChecksum9CalculateEPKti @ 10 NONAME ; TChecksum::Calculate(unsigned short const*, int)
-	_ZN14TimeoutFactory6CancelER8RTimeout @ 11 NONAME ; TimeoutFactory::Cancel(RTimeout&)
-	_ZN18SequenceBlockQueue5ClearEv @ 12 NONAME ; SequenceBlockQueue::Clear(void)
-	_ZN12RFlowContext5CloneERKS_ @ 13 NONAME ; RFlowContext::Clone(RFlowContext const&)
-	_ZN12CFlowContext5CloseEv @ 14 NONAME ; CFlowContext::Close(void)
-	_ZN12RFlowContext5CloseEv @ 15 NONAME ; RFlowContext::Close(void)
-	_ZN12RFlowContext7ConnectEv @ 16 NONAME ; RFlowContext::Connect(void)
-	_ZN12RFlowContext4CopyERS_ @ 17 NONAME ; RFlowContext::Copy(RFlowContext&)
-	_ZN20CProtocolInet6Binder8DoBindToEP13CProtocolBase @ 18 NONAME ; CProtocolInet6Binder::DoBindTo(CProtocolBase*)
-	_ZN11TPacketHead18ExtHdrGetOrAppendLEiRiS0_ @ 19 NONAME ; TPacketHead::ExtHdrGetOrAppendL(int, int&, int&)
-	_ZN11TPacketHead19ExtHdrGetOrPrependLEiRiS0_ @ 20 NONAME ; TPacketHead::ExtHdrGetOrPrependL(int, int&, int&)
-	_ZN11TPacketHead9ExtHdrGetEiRiS0_ @ 21 NONAME ; TPacketHead::ExtHdrGet(int, int&, int&)
-	_ZN18SequenceBlockQueue7FindGapER10TTcpSeqNumS1_ @ 22 NONAME ; SequenceBlockQueue::FindGap(TTcpSeqNum&, TTcpSeqNum&)
-	_ZN18SequenceBlockQueue4FindE10TTcpSeqNum @ 23 NONAME ; SequenceBlockQueue::Find(TTcpSeqNum)
-	_ZN15RMBufPacketPeek11GetIpHeaderEv @ 24 NONAME ; RMBufPacketPeek::GetIpHeader(void)
-	_ZN12RFlowContext4GrabERS_ @ 25 NONAME ; RFlowContext::Grab(RFlowContext&)
-	_ZN11TTcpOptions4InitEv @ 26 NONAME ; TTcpOptions::Init(void)
-	_ZNK12RFlowContext9InterfaceEv @ 27 NONAME ; RFlowContext::Interface(void) const
-	_ZN14TimeoutFactory8IsActiveERK8RTimeout @ 28 NONAME ; TimeoutFactory::IsActive(RTimeout const&)
-	_ZN12TPacketPoker17IsExtensionHeaderEi @ 29 NONAME ; TPacketPoker::IsExtensionHeader(int)
-	_ZNK11TTcpOptions6LengthEv @ 30 NONAME ; TTcpOptions::Length(void) const
-	_ZN18SequenceBlockQueue5LimitEi @ 31 NONAME ; SequenceBlockQueue::Limit(int)
-	_ZN20CProtocolInet6Binder16NewHostResolverLEv @ 32 NONAME ; CProtocolInet6Binder::NewHostResolverL(void)
-	_ZN14TimeoutFactory4NewLEjPvi @ 33 NONAME ; TimeoutFactory::NewL(unsigned int, void*, int)
-	_ZN20CProtocolInet6Binder15NewNetDatabaseLEv @ 34 NONAME ; CProtocolInet6Binder::NewNetDatabaseL(void)
-	_ZN20CProtocolInet6Binder19NewServiceResolverLEv @ 35 NONAME ; CProtocolInet6Binder::NewServiceResolverL(void)
-	_ZN12RFlowContext4OpenEP12MFlowManagerRK9TSockAddrS4_jjj @ 36 NONAME ; RFlowContext::Open(MFlowManager*, TSockAddr const&, TSockAddr const&, unsigned int, unsigned int, unsigned int)
-	_ZN12RFlowContext4OpenEP12MFlowManagerj @ 37 NONAME ; RFlowContext::Open(MFlowManager*, unsigned int)
-	_ZN12RFlowContext4OpenERS_P12RMBufPktInfo @ 38 NONAME ; RFlowContext::Open(RFlowContext&, RMBufPktInfo*)
-	_ZN11TTcpOptions13OutputOptionsEPhj @ 39 NONAME ; TTcpOptions::OutputOptions(unsigned char*, unsigned int)
-	_ZN12TPacketPoker5OverLEi @ 40 NONAME ; TPacketPoker::OverL(int)
-	_ZN11TTcpOptions14ProcessOptionsEPKhj @ 41 NONAME ; TTcpOptions::ProcessOptions(unsigned char const*, unsigned int)
-	_ZN18SequenceBlockQueue5PruneE10TTcpSeqNum @ 42 NONAME ; SequenceBlockQueue::Prune(TTcpSeqNum)
-	_ZN12RFlowContext6ReOpenEv @ 43 NONAME ; RFlowContext::ReOpen(void)
-	_ZNK12CFlowContext14RetrieveOptionEjjR5TDes8 @ 44 NONAME ; CFlowContext::RetrieveOption(unsigned int, unsigned int, TDes8&) const
-	_ZN12RFlowContext11SetIcmpTypeEjj @ 45 NONAME ; RFlowContext::SetIcmpType(unsigned int, unsigned int)
-	_ZN12RFlowContext12SetLocalAddrERK9TSockAddr @ 46 NONAME ; RFlowContext::SetLocalAddr(TSockAddr const&)
-	_ZN12RFlowContext9SetNotifyEP15MProviderNotify @ 47 NONAME ; RFlowContext::SetNotify(MProviderNotify*)
-	_ZN12RFlowContext11SetProtocolEj @ 48 NONAME ; RFlowContext::SetProtocol(unsigned int)
-	_ZN12RFlowContext13SetRemoteAddrERK9TSockAddr @ 49 NONAME ; RFlowContext::SetRemoteAddr(TSockAddr const&)
-	_ZN12CFlowContext9SetStatusEi @ 50 NONAME ; CFlowContext::SetStatus(int)
-	_ZN12CFlowContext6StatusEv @ 51 NONAME ; CFlowContext::Status(void)
-	_ZN12RFlowContext6StatusEv @ 52 NONAME ; RFlowContext::Status(void)
-	_ZN12CFlowContext11StoreOptionEjjRK6TDesC8 @ 53 NONAME ; CFlowContext::StoreOption(unsigned int, unsigned int, TDesC8 const&)
-	_ZN12CFlowContextD1Ev @ 54 NONAME ; CFlowContext::~CFlowContext(void)
-	_ZN20CProtocolInet6BinderD1Ev @ 55 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder(void)
-	_ZTV20CProtocolInet6Binder @ 56 NONAME ; vtable for CProtocolInet6Binder
-	_ZTV17CProtocolPosthook @ 57 NONAME ; vtable for CProtocolPosthook
-	_ZN15RMBufPacketPeek6AccessEij @ 58 NONAME ; RMBufPacketPeek::Access(int, unsigned int)
-	_ZN17CProtocolPosthook5BindLEP13CProtocolBasej @ 59 NONAME ; CProtocolPosthook::BindL(CProtocolBase*, unsigned int)
-	_ZN17CProtocolPosthook7BindToLEP13CProtocolBase @ 60 NONAME ; CProtocolPosthook::BindToL(CProtocolBase*)
-	_ZN17CProtocolPosthook9DoBindToLEP13CProtocolBase @ 61 NONAME ; CProtocolPosthook::DoBindToL(CProtocolBase*)
-	_ZN17CProtocolPosthook7ProcessER10RMBufChainP13CProtocolBase @ 62 NONAME ; CProtocolPosthook::Process(RMBufChain&, CProtocolBase*)
-	_ZN17CProtocolPosthook4SendER10RMBufChainP13CProtocolBase @ 63 NONAME ; CProtocolPosthook::Send(RMBufChain&, CProtocolBase*)
-	_ZN17CProtocolPosthook6UnbindEP13CProtocolBasej @ 64 NONAME ; CProtocolPosthook::Unbind(CProtocolBase*, unsigned int)
-	_ZN17CProtocolPosthookD1Ev @ 65 NONAME ; CProtocolPosthook::~CProtocolPosthook(void)
-	_ZN13MEventService18CreateEventManagerEj @ 66 NONAME ; MEventService::CreateEventManager(unsigned int)
-	_ZN17MDestinationCache14CreateDstCacheEi @ 67 NONAME ; MDestinationCache::CreateDstCache(int)
-	_ZN20CProtocolInet6BinderD0Ev @ 68 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder [in-charge deleting](void)
-	_ZN17CProtocolPosthookD2Ev @ 69 NONAME ; CProtocolPosthook::~CProtocolPosthook [not-in-charge](void)
-	_ZN20CProtocolInet6BinderD2Ev @ 70 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder [not-in-charge](void)
-	_ZN12TPacketPokerC2ER10RMBufChain @ 71 NONAME ; TPacketPoker::TPacketPoker[not-in-charge](RMBufChain&)
-	_ZN12CFlowContextC2EPKvP12MFlowManagerRS_ @ 72 NONAME ; CFlowContext::CFlowContext[not-in-charge](void const*, MFlowManager*, CFlowContext&)
-	_ZN17CProtocolPosthookD0Ev @ 73 NONAME ; CProtocolPosthook::~CProtocolPosthook [in-charge deleting](void)
-	_ZN12CFlowContextC2EPKvP12MFlowManager @ 74 NONAME ; CFlowContext::CFlowContext[not-in-charge](void const*, MFlowManager*)
-	_ZN12CFlowContextD0Ev @ 75 NONAME ; CFlowContext::~CFlowContext [in-charge deleting](void)
-	_ZN12CFlowContextD2Ev @ 76 NONAME ; CFlowContext::~CFlowContext [not-in-charge](void)
-	_ZTI12CFlowContext @ 77 NONAME ; typeinfo for CFlowContext
-	_ZTI17CProtocolPosthook @ 78 NONAME ; typeinfo for CProtocolPosthook
-	_ZTI20CProtocolInet6Binder @ 79 NONAME ; typeinfo for CProtocolInet6Binder
-	_ZN16TInet6PacketBase6AccessER10RMBufChainiii @ 80 NONAME
-	_ZTV12CFlowContext @ 81 NONAME ; vtable for CFlowContext
-	_ZN12RFlowContext21IsNdResolutionPendingEv @ 82 NONAME
-
--- a/networkprotocols/iphook/inhook6/eabi/inhook6_v1U.DEF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,84 +0,0 @@
-EXPORTS
-	_ZN12TPacketPokerC1ER10RMBufChain @ 1 NONAME ; TPacketPoker::TPacketPoker(RMBufChain&)
-	_ZN11TPacketHead21AddDestinationOptionLEPKhhhh @ 2 NONAME ; TPacketHead::AddDestinationOptionL(unsigned char const*, unsigned char, unsigned char, unsigned char)
-	_ZN11TPacketHead21AddDestinationOptionLERK6TPtrC8hh @ 3 NONAME ; TPacketHead::AddDestinationOptionL(TPtrC8 const&, unsigned char, unsigned char)
-	_ZN18SequenceBlockQueue10AddOrderedE10TTcpSeqNumS0_ @ 4 NONAME ; SequenceBlockQueue::AddOrdered(TTcpSeqNum, TTcpSeqNum)
-	_ZN18SequenceBlockQueue12AddUnorderedE10TTcpSeqNumS0_ @ 5 NONAME ; SequenceBlockQueue::AddUnordered(TTcpSeqNum, TTcpSeqNum)
-	_ZN9TChecksum3AddER10RMBufChainPK12RMBufPktInfoi @ 6 NONAME ; TChecksum::Add(RMBufChain&, RMBufPktInfo const*, int)
-	_ZN9TChecksum3AddER10RMBufChaini @ 7 NONAME ; TChecksum::Add(RMBufChain&, int)
-	_ZN12TPacketPoker7AdjustLEi @ 8 NONAME ; TPacketPoker::AdjustL(int)
-	_ZN20CProtocolInet6Binder7BindToLEP13CProtocolBase @ 9 NONAME ; CProtocolInet6Binder::BindToL(CProtocolBase*)
-	_ZN9TChecksum9CalculateEPKti @ 10 NONAME ; TChecksum::Calculate(unsigned short const*, int)
-	_ZN14TimeoutFactory6CancelER8RTimeout @ 11 NONAME ; TimeoutFactory::Cancel(RTimeout&)
-	_ZN18SequenceBlockQueue5ClearEv @ 12 NONAME ; SequenceBlockQueue::Clear(void)
-	_ZN12RFlowContext5CloneERKS_ @ 13 NONAME ; RFlowContext::Clone(RFlowContext const&)
-	_ZN12CFlowContext5CloseEv @ 14 NONAME ; CFlowContext::Close(void)
-	_ZN12RFlowContext5CloseEv @ 15 NONAME ; RFlowContext::Close(void)
-	_ZN12RFlowContext7ConnectEv @ 16 NONAME ; RFlowContext::Connect(void)
-	_ZN12RFlowContext4CopyERS_ @ 17 NONAME ; RFlowContext::Copy(RFlowContext&)
-	_ZN20CProtocolInet6Binder8DoBindToEP13CProtocolBase @ 18 NONAME ; CProtocolInet6Binder::DoBindTo(CProtocolBase*)
-	_ZN11TPacketHead18ExtHdrGetOrAppendLEiRiS0_ @ 19 NONAME ; TPacketHead::ExtHdrGetOrAppendL(int, int&, int&)
-	_ZN11TPacketHead19ExtHdrGetOrPrependLEiRiS0_ @ 20 NONAME ; TPacketHead::ExtHdrGetOrPrependL(int, int&, int&)
-	_ZN11TPacketHead9ExtHdrGetEiRiS0_ @ 21 NONAME ; TPacketHead::ExtHdrGet(int, int&, int&)
-	_ZN18SequenceBlockQueue7FindGapER10TTcpSeqNumS1_ @ 22 NONAME ; SequenceBlockQueue::FindGap(TTcpSeqNum&, TTcpSeqNum&)
-	_ZN18SequenceBlockQueue4FindE10TTcpSeqNum @ 23 NONAME ; SequenceBlockQueue::Find(TTcpSeqNum)
-	_ZN15RMBufPacketPeek11GetIpHeaderEv @ 24 NONAME ; RMBufPacketPeek::GetIpHeader(void)
-	_ZN12RFlowContext4GrabERS_ @ 25 NONAME ; RFlowContext::Grab(RFlowContext&)
-	_ZN11TTcpOptions4InitEv @ 26 NONAME ; TTcpOptions::Init(void)
-	_ZNK12RFlowContext9InterfaceEv @ 27 NONAME ; RFlowContext::Interface(void) const
-	_ZN14TimeoutFactory8IsActiveERK8RTimeout @ 28 NONAME ; TimeoutFactory::IsActive(RTimeout const&)
-	_ZN12TPacketPoker17IsExtensionHeaderEi @ 29 NONAME ; TPacketPoker::IsExtensionHeader(int)
-	_ZNK11TTcpOptions6LengthEv @ 30 NONAME ; TTcpOptions::Length(void) const
-	_ZN18SequenceBlockQueue5LimitEi @ 31 NONAME ; SequenceBlockQueue::Limit(int)
-	_ZN20CProtocolInet6Binder16NewHostResolverLEv @ 32 NONAME ; CProtocolInet6Binder::NewHostResolverL(void)
-	_ZN14TimeoutFactory4NewLEjPvi @ 33 NONAME ; TimeoutFactory::NewL(unsigned int, void*, int)
-	_ZN20CProtocolInet6Binder15NewNetDatabaseLEv @ 34 NONAME ; CProtocolInet6Binder::NewNetDatabaseL(void)
-	_ZN20CProtocolInet6Binder19NewServiceResolverLEv @ 35 NONAME ; CProtocolInet6Binder::NewServiceResolverL(void)
-	_ZN12RFlowContext4OpenEP12MFlowManagerRK9TSockAddrS4_jjj @ 36 NONAME ; RFlowContext::Open(MFlowManager*, TSockAddr const&, TSockAddr const&, unsigned int, unsigned int, unsigned int)
-	_ZN12RFlowContext4OpenEP12MFlowManagerj @ 37 NONAME ; RFlowContext::Open(MFlowManager*, unsigned int)
-	_ZN12RFlowContext4OpenERS_P12RMBufPktInfo @ 38 NONAME ; RFlowContext::Open(RFlowContext&, RMBufPktInfo*)
-	_ZN11TTcpOptions13OutputOptionsEPhj @ 39 NONAME ; TTcpOptions::OutputOptions(unsigned char*, unsigned int)
-	_ZN12TPacketPoker5OverLEi @ 40 NONAME ; TPacketPoker::OverL(int)
-	_ZN11TTcpOptions14ProcessOptionsEPKhj @ 41 NONAME ; TTcpOptions::ProcessOptions(unsigned char const*, unsigned int)
-	_ZN18SequenceBlockQueue5PruneE10TTcpSeqNum @ 42 NONAME ; SequenceBlockQueue::Prune(TTcpSeqNum)
-	_ZN12RFlowContext6ReOpenEv @ 43 NONAME ; RFlowContext::ReOpen(void)
-	_ZNK12CFlowContext14RetrieveOptionEjjR5TDes8 @ 44 NONAME ; CFlowContext::RetrieveOption(unsigned int, unsigned int, TDes8&) const
-	_ZN12RFlowContext11SetIcmpTypeEjj @ 45 NONAME ; RFlowContext::SetIcmpType(unsigned int, unsigned int)
-	_ZN12RFlowContext12SetLocalAddrERK9TSockAddr @ 46 NONAME ; RFlowContext::SetLocalAddr(TSockAddr const&)
-	_ZN12RFlowContext9SetNotifyEP15MProviderNotify @ 47 NONAME ; RFlowContext::SetNotify(MProviderNotify*)
-	_ZN12RFlowContext11SetProtocolEj @ 48 NONAME ; RFlowContext::SetProtocol(unsigned int)
-	_ZN12RFlowContext13SetRemoteAddrERK9TSockAddr @ 49 NONAME ; RFlowContext::SetRemoteAddr(TSockAddr const&)
-	_ZN12CFlowContext9SetStatusEi @ 50 NONAME ; CFlowContext::SetStatus(int)
-	_ZN12CFlowContext6StatusEv @ 51 NONAME ; CFlowContext::Status(void)
-	_ZN12RFlowContext6StatusEv @ 52 NONAME ; RFlowContext::Status(void)
-	_ZN12CFlowContext11StoreOptionEjjRK6TDesC8 @ 53 NONAME ; CFlowContext::StoreOption(unsigned int, unsigned int, TDesC8 const&)
-	_ZN12CFlowContextD1Ev @ 54 NONAME ; CFlowContext::~CFlowContext(void)
-	_ZN20CProtocolInet6BinderD1Ev @ 55 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder(void)
-	_ZTV20CProtocolInet6Binder @ 56 NONAME ; vtable for CProtocolInet6Binder
-	_ZTV17CProtocolPosthook @ 57 NONAME ; vtable for CProtocolPosthook
-	_ZN15RMBufPacketPeek6AccessEij @ 58 NONAME ; RMBufPacketPeek::Access(int, unsigned int)
-	_ZN17CProtocolPosthook5BindLEP13CProtocolBasej @ 59 NONAME ; CProtocolPosthook::BindL(CProtocolBase*, unsigned int)
-	_ZN17CProtocolPosthook7BindToLEP13CProtocolBase @ 60 NONAME ; CProtocolPosthook::BindToL(CProtocolBase*)
-	_ZN17CProtocolPosthook9DoBindToLEP13CProtocolBase @ 61 NONAME ; CProtocolPosthook::DoBindToL(CProtocolBase*)
-	_ZN17CProtocolPosthook7ProcessER10RMBufChainP13CProtocolBase @ 62 NONAME ; CProtocolPosthook::Process(RMBufChain&, CProtocolBase*)
-	_ZN17CProtocolPosthook4SendER10RMBufChainP13CProtocolBase @ 63 NONAME ; CProtocolPosthook::Send(RMBufChain&, CProtocolBase*)
-	_ZN17CProtocolPosthook6UnbindEP13CProtocolBasej @ 64 NONAME ; CProtocolPosthook::Unbind(CProtocolBase*, unsigned int)
-	_ZN17CProtocolPosthookD1Ev @ 65 NONAME ; CProtocolPosthook::~CProtocolPosthook(void)
-	_ZN13MEventService18CreateEventManagerEj @ 66 NONAME ; MEventService::CreateEventManager(unsigned int)
-	_ZN17MDestinationCache14CreateDstCacheEi @ 67 NONAME ; MDestinationCache::CreateDstCache(int)
-	_ZN20CProtocolInet6BinderD0Ev @ 68 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder [in-charge deleting](void)
-	_ZN17CProtocolPosthookD2Ev @ 69 NONAME ; CProtocolPosthook::~CProtocolPosthook [not-in-charge](void)
-	_ZN20CProtocolInet6BinderD2Ev @ 70 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder [not-in-charge](void)
-	_ZN12TPacketPokerC2ER10RMBufChain @ 71 NONAME ; TPacketPoker::TPacketPoker[not-in-charge](RMBufChain&)
-	_ZN12CFlowContextC2EPKvP12MFlowManagerRS_ @ 72 NONAME ; CFlowContext::CFlowContext[not-in-charge](void const*, MFlowManager*, CFlowContext&)
-	_ZN17CProtocolPosthookD0Ev @ 73 NONAME ; CProtocolPosthook::~CProtocolPosthook [in-charge deleting](void)
-	_ZN12CFlowContextC2EPKvP12MFlowManager @ 74 NONAME ; CFlowContext::CFlowContext[not-in-charge](void const*, MFlowManager*)
-	_ZN12CFlowContextD0Ev @ 75 NONAME ; CFlowContext::~CFlowContext [in-charge deleting](void)
-	_ZN12CFlowContextD2Ev @ 76 NONAME ; CFlowContext::~CFlowContext [not-in-charge](void)
-	_ZTI12CFlowContext @ 77 NONAME ; typeinfo for CFlowContext
-	_ZTI17CProtocolPosthook @ 78 NONAME ; typeinfo for CProtocolPosthook
-	_ZTI20CProtocolInet6Binder @ 79 NONAME ; typeinfo for CProtocolInet6Binder
-	_ZN16TInet6PacketBase6AccessER10RMBufChainiii @ 80 NONAME
-	_ZTV12CFlowContext @ 81 NONAME ; vtable for CFlowContext
-	_ZN12RFlowContext21IsNdResolutionPendingEv @ 82 NONAME ABSENT
-
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkprotocols/iphook/inhook6/eabi/inhook6_v1u.def	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,84 @@
+EXPORTS
+	_ZN12TPacketPokerC1ER10RMBufChain @ 1 NONAME ; TPacketPoker::TPacketPoker(RMBufChain&)
+	_ZN11TPacketHead21AddDestinationOptionLEPKhhhh @ 2 NONAME ; TPacketHead::AddDestinationOptionL(unsigned char const*, unsigned char, unsigned char, unsigned char)
+	_ZN11TPacketHead21AddDestinationOptionLERK6TPtrC8hh @ 3 NONAME ; TPacketHead::AddDestinationOptionL(TPtrC8 const&, unsigned char, unsigned char)
+	_ZN18SequenceBlockQueue10AddOrderedE10TTcpSeqNumS0_ @ 4 NONAME ; SequenceBlockQueue::AddOrdered(TTcpSeqNum, TTcpSeqNum)
+	_ZN18SequenceBlockQueue12AddUnorderedE10TTcpSeqNumS0_ @ 5 NONAME ; SequenceBlockQueue::AddUnordered(TTcpSeqNum, TTcpSeqNum)
+	_ZN9TChecksum3AddER10RMBufChainPK12RMBufPktInfoi @ 6 NONAME ; TChecksum::Add(RMBufChain&, RMBufPktInfo const*, int)
+	_ZN9TChecksum3AddER10RMBufChaini @ 7 NONAME ; TChecksum::Add(RMBufChain&, int)
+	_ZN12TPacketPoker7AdjustLEi @ 8 NONAME ; TPacketPoker::AdjustL(int)
+	_ZN20CProtocolInet6Binder7BindToLEP13CProtocolBase @ 9 NONAME ; CProtocolInet6Binder::BindToL(CProtocolBase*)
+	_ZN9TChecksum9CalculateEPKti @ 10 NONAME ; TChecksum::Calculate(unsigned short const*, int)
+	_ZN14TimeoutFactory6CancelER8RTimeout @ 11 NONAME ; TimeoutFactory::Cancel(RTimeout&)
+	_ZN18SequenceBlockQueue5ClearEv @ 12 NONAME ; SequenceBlockQueue::Clear(void)
+	_ZN12RFlowContext5CloneERKS_ @ 13 NONAME ; RFlowContext::Clone(RFlowContext const&)
+	_ZN12CFlowContext5CloseEv @ 14 NONAME ; CFlowContext::Close(void)
+	_ZN12RFlowContext5CloseEv @ 15 NONAME ; RFlowContext::Close(void)
+	_ZN12RFlowContext7ConnectEv @ 16 NONAME ; RFlowContext::Connect(void)
+	_ZN12RFlowContext4CopyERS_ @ 17 NONAME ; RFlowContext::Copy(RFlowContext&)
+	_ZN20CProtocolInet6Binder8DoBindToEP13CProtocolBase @ 18 NONAME ; CProtocolInet6Binder::DoBindTo(CProtocolBase*)
+	_ZN11TPacketHead18ExtHdrGetOrAppendLEiRiS0_ @ 19 NONAME ; TPacketHead::ExtHdrGetOrAppendL(int, int&, int&)
+	_ZN11TPacketHead19ExtHdrGetOrPrependLEiRiS0_ @ 20 NONAME ; TPacketHead::ExtHdrGetOrPrependL(int, int&, int&)
+	_ZN11TPacketHead9ExtHdrGetEiRiS0_ @ 21 NONAME ; TPacketHead::ExtHdrGet(int, int&, int&)
+	_ZN18SequenceBlockQueue7FindGapER10TTcpSeqNumS1_ @ 22 NONAME ; SequenceBlockQueue::FindGap(TTcpSeqNum&, TTcpSeqNum&)
+	_ZN18SequenceBlockQueue4FindE10TTcpSeqNum @ 23 NONAME ; SequenceBlockQueue::Find(TTcpSeqNum)
+	_ZN15RMBufPacketPeek11GetIpHeaderEv @ 24 NONAME ; RMBufPacketPeek::GetIpHeader(void)
+	_ZN12RFlowContext4GrabERS_ @ 25 NONAME ; RFlowContext::Grab(RFlowContext&)
+	_ZN11TTcpOptions4InitEv @ 26 NONAME ; TTcpOptions::Init(void)
+	_ZNK12RFlowContext9InterfaceEv @ 27 NONAME ; RFlowContext::Interface(void) const
+	_ZN14TimeoutFactory8IsActiveERK8RTimeout @ 28 NONAME ; TimeoutFactory::IsActive(RTimeout const&)
+	_ZN12TPacketPoker17IsExtensionHeaderEi @ 29 NONAME ; TPacketPoker::IsExtensionHeader(int)
+	_ZNK11TTcpOptions6LengthEv @ 30 NONAME ; TTcpOptions::Length(void) const
+	_ZN18SequenceBlockQueue5LimitEi @ 31 NONAME ; SequenceBlockQueue::Limit(int)
+	_ZN20CProtocolInet6Binder16NewHostResolverLEv @ 32 NONAME ; CProtocolInet6Binder::NewHostResolverL(void)
+	_ZN14TimeoutFactory4NewLEjPvi @ 33 NONAME ; TimeoutFactory::NewL(unsigned int, void*, int)
+	_ZN20CProtocolInet6Binder15NewNetDatabaseLEv @ 34 NONAME ; CProtocolInet6Binder::NewNetDatabaseL(void)
+	_ZN20CProtocolInet6Binder19NewServiceResolverLEv @ 35 NONAME ; CProtocolInet6Binder::NewServiceResolverL(void)
+	_ZN12RFlowContext4OpenEP12MFlowManagerRK9TSockAddrS4_jjj @ 36 NONAME ; RFlowContext::Open(MFlowManager*, TSockAddr const&, TSockAddr const&, unsigned int, unsigned int, unsigned int)
+	_ZN12RFlowContext4OpenEP12MFlowManagerj @ 37 NONAME ; RFlowContext::Open(MFlowManager*, unsigned int)
+	_ZN12RFlowContext4OpenERS_P12RMBufPktInfo @ 38 NONAME ; RFlowContext::Open(RFlowContext&, RMBufPktInfo*)
+	_ZN11TTcpOptions13OutputOptionsEPhj @ 39 NONAME ; TTcpOptions::OutputOptions(unsigned char*, unsigned int)
+	_ZN12TPacketPoker5OverLEi @ 40 NONAME ; TPacketPoker::OverL(int)
+	_ZN11TTcpOptions14ProcessOptionsEPKhj @ 41 NONAME ; TTcpOptions::ProcessOptions(unsigned char const*, unsigned int)
+	_ZN18SequenceBlockQueue5PruneE10TTcpSeqNum @ 42 NONAME ; SequenceBlockQueue::Prune(TTcpSeqNum)
+	_ZN12RFlowContext6ReOpenEv @ 43 NONAME ; RFlowContext::ReOpen(void)
+	_ZNK12CFlowContext14RetrieveOptionEjjR5TDes8 @ 44 NONAME ; CFlowContext::RetrieveOption(unsigned int, unsigned int, TDes8&) const
+	_ZN12RFlowContext11SetIcmpTypeEjj @ 45 NONAME ; RFlowContext::SetIcmpType(unsigned int, unsigned int)
+	_ZN12RFlowContext12SetLocalAddrERK9TSockAddr @ 46 NONAME ; RFlowContext::SetLocalAddr(TSockAddr const&)
+	_ZN12RFlowContext9SetNotifyEP15MProviderNotify @ 47 NONAME ; RFlowContext::SetNotify(MProviderNotify*)
+	_ZN12RFlowContext11SetProtocolEj @ 48 NONAME ; RFlowContext::SetProtocol(unsigned int)
+	_ZN12RFlowContext13SetRemoteAddrERK9TSockAddr @ 49 NONAME ; RFlowContext::SetRemoteAddr(TSockAddr const&)
+	_ZN12CFlowContext9SetStatusEi @ 50 NONAME ; CFlowContext::SetStatus(int)
+	_ZN12CFlowContext6StatusEv @ 51 NONAME ; CFlowContext::Status(void)
+	_ZN12RFlowContext6StatusEv @ 52 NONAME ; RFlowContext::Status(void)
+	_ZN12CFlowContext11StoreOptionEjjRK6TDesC8 @ 53 NONAME ; CFlowContext::StoreOption(unsigned int, unsigned int, TDesC8 const&)
+	_ZN12CFlowContextD1Ev @ 54 NONAME ; CFlowContext::~CFlowContext(void)
+	_ZN20CProtocolInet6BinderD1Ev @ 55 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder(void)
+	_ZTV20CProtocolInet6Binder @ 56 NONAME ; vtable for CProtocolInet6Binder
+	_ZTV17CProtocolPosthook @ 57 NONAME ; vtable for CProtocolPosthook
+	_ZN15RMBufPacketPeek6AccessEij @ 58 NONAME ; RMBufPacketPeek::Access(int, unsigned int)
+	_ZN17CProtocolPosthook5BindLEP13CProtocolBasej @ 59 NONAME ; CProtocolPosthook::BindL(CProtocolBase*, unsigned int)
+	_ZN17CProtocolPosthook7BindToLEP13CProtocolBase @ 60 NONAME ; CProtocolPosthook::BindToL(CProtocolBase*)
+	_ZN17CProtocolPosthook9DoBindToLEP13CProtocolBase @ 61 NONAME ; CProtocolPosthook::DoBindToL(CProtocolBase*)
+	_ZN17CProtocolPosthook7ProcessER10RMBufChainP13CProtocolBase @ 62 NONAME ; CProtocolPosthook::Process(RMBufChain&, CProtocolBase*)
+	_ZN17CProtocolPosthook4SendER10RMBufChainP13CProtocolBase @ 63 NONAME ; CProtocolPosthook::Send(RMBufChain&, CProtocolBase*)
+	_ZN17CProtocolPosthook6UnbindEP13CProtocolBasej @ 64 NONAME ; CProtocolPosthook::Unbind(CProtocolBase*, unsigned int)
+	_ZN17CProtocolPosthookD1Ev @ 65 NONAME ; CProtocolPosthook::~CProtocolPosthook(void)
+	_ZN13MEventService18CreateEventManagerEj @ 66 NONAME ; MEventService::CreateEventManager(unsigned int)
+	_ZN17MDestinationCache14CreateDstCacheEi @ 67 NONAME ; MDestinationCache::CreateDstCache(int)
+	_ZN20CProtocolInet6BinderD0Ev @ 68 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder [in-charge deleting](void)
+	_ZN17CProtocolPosthookD2Ev @ 69 NONAME ; CProtocolPosthook::~CProtocolPosthook [not-in-charge](void)
+	_ZN20CProtocolInet6BinderD2Ev @ 70 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder [not-in-charge](void)
+	_ZN12TPacketPokerC2ER10RMBufChain @ 71 NONAME ; TPacketPoker::TPacketPoker[not-in-charge](RMBufChain&)
+	_ZN12CFlowContextC2EPKvP12MFlowManagerRS_ @ 72 NONAME ; CFlowContext::CFlowContext[not-in-charge](void const*, MFlowManager*, CFlowContext&)
+	_ZN17CProtocolPosthookD0Ev @ 73 NONAME ; CProtocolPosthook::~CProtocolPosthook [in-charge deleting](void)
+	_ZN12CFlowContextC2EPKvP12MFlowManager @ 74 NONAME ; CFlowContext::CFlowContext[not-in-charge](void const*, MFlowManager*)
+	_ZN12CFlowContextD0Ev @ 75 NONAME ; CFlowContext::~CFlowContext [in-charge deleting](void)
+	_ZN12CFlowContextD2Ev @ 76 NONAME ; CFlowContext::~CFlowContext [not-in-charge](void)
+	_ZTI12CFlowContext @ 77 NONAME ; typeinfo for CFlowContext
+	_ZTI17CProtocolPosthook @ 78 NONAME ; typeinfo for CProtocolPosthook
+	_ZTI20CProtocolInet6Binder @ 79 NONAME ; typeinfo for CProtocolInet6Binder
+	_ZN16TInet6PacketBase6AccessER10RMBufChainiii @ 80 NONAME
+	_ZTV12CFlowContext @ 81 NONAME ; vtable for CFlowContext
+	_ZN12RFlowContext21IsNdResolutionPendingEv @ 82 NONAME ABSENT
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networkprotocols/iphook/inhook6/eabi/inhook6u.def	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,84 @@
+EXPORTS
+	_ZN12TPacketPokerC1ER10RMBufChain @ 1 NONAME ; TPacketPoker::TPacketPoker(RMBufChain&)
+	_ZN11TPacketHead21AddDestinationOptionLEPKhhhh @ 2 NONAME ; TPacketHead::AddDestinationOptionL(unsigned char const*, unsigned char, unsigned char, unsigned char)
+	_ZN11TPacketHead21AddDestinationOptionLERK6TPtrC8hh @ 3 NONAME ; TPacketHead::AddDestinationOptionL(TPtrC8 const&, unsigned char, unsigned char)
+	_ZN18SequenceBlockQueue10AddOrderedE10TTcpSeqNumS0_ @ 4 NONAME ; SequenceBlockQueue::AddOrdered(TTcpSeqNum, TTcpSeqNum)
+	_ZN18SequenceBlockQueue12AddUnorderedE10TTcpSeqNumS0_ @ 5 NONAME ; SequenceBlockQueue::AddUnordered(TTcpSeqNum, TTcpSeqNum)
+	_ZN9TChecksum3AddER10RMBufChainPK12RMBufPktInfoi @ 6 NONAME ; TChecksum::Add(RMBufChain&, RMBufPktInfo const*, int)
+	_ZN9TChecksum3AddER10RMBufChaini @ 7 NONAME ; TChecksum::Add(RMBufChain&, int)
+	_ZN12TPacketPoker7AdjustLEi @ 8 NONAME ; TPacketPoker::AdjustL(int)
+	_ZN20CProtocolInet6Binder7BindToLEP13CProtocolBase @ 9 NONAME ; CProtocolInet6Binder::BindToL(CProtocolBase*)
+	_ZN9TChecksum9CalculateEPKti @ 10 NONAME ; TChecksum::Calculate(unsigned short const*, int)
+	_ZN14TimeoutFactory6CancelER8RTimeout @ 11 NONAME ; TimeoutFactory::Cancel(RTimeout&)
+	_ZN18SequenceBlockQueue5ClearEv @ 12 NONAME ; SequenceBlockQueue::Clear(void)
+	_ZN12RFlowContext5CloneERKS_ @ 13 NONAME ; RFlowContext::Clone(RFlowContext const&)
+	_ZN12CFlowContext5CloseEv @ 14 NONAME ; CFlowContext::Close(void)
+	_ZN12RFlowContext5CloseEv @ 15 NONAME ; RFlowContext::Close(void)
+	_ZN12RFlowContext7ConnectEv @ 16 NONAME ; RFlowContext::Connect(void)
+	_ZN12RFlowContext4CopyERS_ @ 17 NONAME ; RFlowContext::Copy(RFlowContext&)
+	_ZN20CProtocolInet6Binder8DoBindToEP13CProtocolBase @ 18 NONAME ; CProtocolInet6Binder::DoBindTo(CProtocolBase*)
+	_ZN11TPacketHead18ExtHdrGetOrAppendLEiRiS0_ @ 19 NONAME ; TPacketHead::ExtHdrGetOrAppendL(int, int&, int&)
+	_ZN11TPacketHead19ExtHdrGetOrPrependLEiRiS0_ @ 20 NONAME ; TPacketHead::ExtHdrGetOrPrependL(int, int&, int&)
+	_ZN11TPacketHead9ExtHdrGetEiRiS0_ @ 21 NONAME ; TPacketHead::ExtHdrGet(int, int&, int&)
+	_ZN18SequenceBlockQueue7FindGapER10TTcpSeqNumS1_ @ 22 NONAME ; SequenceBlockQueue::FindGap(TTcpSeqNum&, TTcpSeqNum&)
+	_ZN18SequenceBlockQueue4FindE10TTcpSeqNum @ 23 NONAME ; SequenceBlockQueue::Find(TTcpSeqNum)
+	_ZN15RMBufPacketPeek11GetIpHeaderEv @ 24 NONAME ; RMBufPacketPeek::GetIpHeader(void)
+	_ZN12RFlowContext4GrabERS_ @ 25 NONAME ; RFlowContext::Grab(RFlowContext&)
+	_ZN11TTcpOptions4InitEv @ 26 NONAME ; TTcpOptions::Init(void)
+	_ZNK12RFlowContext9InterfaceEv @ 27 NONAME ; RFlowContext::Interface(void) const
+	_ZN14TimeoutFactory8IsActiveERK8RTimeout @ 28 NONAME ; TimeoutFactory::IsActive(RTimeout const&)
+	_ZN12TPacketPoker17IsExtensionHeaderEi @ 29 NONAME ; TPacketPoker::IsExtensionHeader(int)
+	_ZNK11TTcpOptions6LengthEv @ 30 NONAME ; TTcpOptions::Length(void) const
+	_ZN18SequenceBlockQueue5LimitEi @ 31 NONAME ; SequenceBlockQueue::Limit(int)
+	_ZN20CProtocolInet6Binder16NewHostResolverLEv @ 32 NONAME ; CProtocolInet6Binder::NewHostResolverL(void)
+	_ZN14TimeoutFactory4NewLEjPvi @ 33 NONAME ; TimeoutFactory::NewL(unsigned int, void*, int)
+	_ZN20CProtocolInet6Binder15NewNetDatabaseLEv @ 34 NONAME ; CProtocolInet6Binder::NewNetDatabaseL(void)
+	_ZN20CProtocolInet6Binder19NewServiceResolverLEv @ 35 NONAME ; CProtocolInet6Binder::NewServiceResolverL(void)
+	_ZN12RFlowContext4OpenEP12MFlowManagerRK9TSockAddrS4_jjj @ 36 NONAME ; RFlowContext::Open(MFlowManager*, TSockAddr const&, TSockAddr const&, unsigned int, unsigned int, unsigned int)
+	_ZN12RFlowContext4OpenEP12MFlowManagerj @ 37 NONAME ; RFlowContext::Open(MFlowManager*, unsigned int)
+	_ZN12RFlowContext4OpenERS_P12RMBufPktInfo @ 38 NONAME ; RFlowContext::Open(RFlowContext&, RMBufPktInfo*)
+	_ZN11TTcpOptions13OutputOptionsEPhj @ 39 NONAME ; TTcpOptions::OutputOptions(unsigned char*, unsigned int)
+	_ZN12TPacketPoker5OverLEi @ 40 NONAME ; TPacketPoker::OverL(int)
+	_ZN11TTcpOptions14ProcessOptionsEPKhj @ 41 NONAME ; TTcpOptions::ProcessOptions(unsigned char const*, unsigned int)
+	_ZN18SequenceBlockQueue5PruneE10TTcpSeqNum @ 42 NONAME ; SequenceBlockQueue::Prune(TTcpSeqNum)
+	_ZN12RFlowContext6ReOpenEv @ 43 NONAME ; RFlowContext::ReOpen(void)
+	_ZNK12CFlowContext14RetrieveOptionEjjR5TDes8 @ 44 NONAME ; CFlowContext::RetrieveOption(unsigned int, unsigned int, TDes8&) const
+	_ZN12RFlowContext11SetIcmpTypeEjj @ 45 NONAME ; RFlowContext::SetIcmpType(unsigned int, unsigned int)
+	_ZN12RFlowContext12SetLocalAddrERK9TSockAddr @ 46 NONAME ; RFlowContext::SetLocalAddr(TSockAddr const&)
+	_ZN12RFlowContext9SetNotifyEP15MProviderNotify @ 47 NONAME ; RFlowContext::SetNotify(MProviderNotify*)
+	_ZN12RFlowContext11SetProtocolEj @ 48 NONAME ; RFlowContext::SetProtocol(unsigned int)
+	_ZN12RFlowContext13SetRemoteAddrERK9TSockAddr @ 49 NONAME ; RFlowContext::SetRemoteAddr(TSockAddr const&)
+	_ZN12CFlowContext9SetStatusEi @ 50 NONAME ; CFlowContext::SetStatus(int)
+	_ZN12CFlowContext6StatusEv @ 51 NONAME ; CFlowContext::Status(void)
+	_ZN12RFlowContext6StatusEv @ 52 NONAME ; RFlowContext::Status(void)
+	_ZN12CFlowContext11StoreOptionEjjRK6TDesC8 @ 53 NONAME ; CFlowContext::StoreOption(unsigned int, unsigned int, TDesC8 const&)
+	_ZN12CFlowContextD1Ev @ 54 NONAME ; CFlowContext::~CFlowContext(void)
+	_ZN20CProtocolInet6BinderD1Ev @ 55 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder(void)
+	_ZTV20CProtocolInet6Binder @ 56 NONAME ; vtable for CProtocolInet6Binder
+	_ZTV17CProtocolPosthook @ 57 NONAME ; vtable for CProtocolPosthook
+	_ZN15RMBufPacketPeek6AccessEij @ 58 NONAME ; RMBufPacketPeek::Access(int, unsigned int)
+	_ZN17CProtocolPosthook5BindLEP13CProtocolBasej @ 59 NONAME ; CProtocolPosthook::BindL(CProtocolBase*, unsigned int)
+	_ZN17CProtocolPosthook7BindToLEP13CProtocolBase @ 60 NONAME ; CProtocolPosthook::BindToL(CProtocolBase*)
+	_ZN17CProtocolPosthook9DoBindToLEP13CProtocolBase @ 61 NONAME ; CProtocolPosthook::DoBindToL(CProtocolBase*)
+	_ZN17CProtocolPosthook7ProcessER10RMBufChainP13CProtocolBase @ 62 NONAME ; CProtocolPosthook::Process(RMBufChain&, CProtocolBase*)
+	_ZN17CProtocolPosthook4SendER10RMBufChainP13CProtocolBase @ 63 NONAME ; CProtocolPosthook::Send(RMBufChain&, CProtocolBase*)
+	_ZN17CProtocolPosthook6UnbindEP13CProtocolBasej @ 64 NONAME ; CProtocolPosthook::Unbind(CProtocolBase*, unsigned int)
+	_ZN17CProtocolPosthookD1Ev @ 65 NONAME ; CProtocolPosthook::~CProtocolPosthook(void)
+	_ZN13MEventService18CreateEventManagerEj @ 66 NONAME ; MEventService::CreateEventManager(unsigned int)
+	_ZN17MDestinationCache14CreateDstCacheEi @ 67 NONAME ; MDestinationCache::CreateDstCache(int)
+	_ZN20CProtocolInet6BinderD0Ev @ 68 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder [in-charge deleting](void)
+	_ZN17CProtocolPosthookD2Ev @ 69 NONAME ; CProtocolPosthook::~CProtocolPosthook [not-in-charge](void)
+	_ZN20CProtocolInet6BinderD2Ev @ 70 NONAME ; CProtocolInet6Binder::~CProtocolInet6Binder [not-in-charge](void)
+	_ZN12TPacketPokerC2ER10RMBufChain @ 71 NONAME ; TPacketPoker::TPacketPoker[not-in-charge](RMBufChain&)
+	_ZN12CFlowContextC2EPKvP12MFlowManagerRS_ @ 72 NONAME ; CFlowContext::CFlowContext[not-in-charge](void const*, MFlowManager*, CFlowContext&)
+	_ZN17CProtocolPosthookD0Ev @ 73 NONAME ; CProtocolPosthook::~CProtocolPosthook [in-charge deleting](void)
+	_ZN12CFlowContextC2EPKvP12MFlowManager @ 74 NONAME ; CFlowContext::CFlowContext[not-in-charge](void const*, MFlowManager*)
+	_ZN12CFlowContextD0Ev @ 75 NONAME ; CFlowContext::~CFlowContext [in-charge deleting](void)
+	_ZN12CFlowContextD2Ev @ 76 NONAME ; CFlowContext::~CFlowContext [not-in-charge](void)
+	_ZTI12CFlowContext @ 77 NONAME ; typeinfo for CFlowContext
+	_ZTI17CProtocolPosthook @ 78 NONAME ; typeinfo for CProtocolPosthook
+	_ZTI20CProtocolInet6Binder @ 79 NONAME ; typeinfo for CProtocolInet6Binder
+	_ZN16TInet6PacketBase6AccessER10RMBufChainiii @ 80 NONAME
+	_ZTV12CFlowContext @ 81 NONAME ; vtable for CFlowContext
+	_ZN12RFlowContext21IsNdResolutionPendingEv @ 82 NONAME
+
--- a/networkprotocols/iphook/inhook6/group/inhook6.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/iphook/inhook6/group/inhook6.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -38,9 +38,9 @@
 LIBRARY		euser.lib esock.lib esocksvr.lib mbufmgr.lib insock.lib
 
 #ifdef SYMBIAN_TCPIPDHCP_UPDATE
-deffile			inhook6.DEF
+deffile			inhook6.def
 #else
-deffile			inhook6_v1.DEF
+deffile			inhook6_v1.def
 #endif //SYMBIAN_TCPIPDHCP_UPDATE
 
 SOURCEPATH 			../data
--- a/networkprotocols/tcpipv4v6prt/inc/tcp.h	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/inc/tcp.h	Tue Jun 29 19:20:22 2010 +0530
@@ -236,6 +236,7 @@
 	void SetRecvWin(TUint aRecvWin) { iRecvBuf = aRecvWin;}
 	TUint GetRecvWinSize()			{ return iRecvBuf;	 }
 	TUint RecvMaxWnd()              { return iTcpMaxRecvWin;}
+	TUint RecvBufFromIniFile()      { return iRecvBufFromIniFile; }
 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 
 #ifdef _LOG
@@ -295,6 +296,7 @@
 	RMBufAllocator iBufAllocator;
 #ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 	TUint iTcpMaxRecvWin;
+	TUint iRecvBufFromIniFile;
 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 	};
 
@@ -442,6 +444,8 @@
 	TUint32 iShrinkedWindowSize;
 	// Window size set by user. This will override the default values for the bearers
 	TBool   iWindowSetByUser;
+	//Flag for socket startup case. No tcp window expand/shrink in this case.
+	TBool iSocketStartupCase;
 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 
 	// Maximum Segment Sizes
@@ -613,7 +617,7 @@
 	void ProcessSegments();
 	void SendSegments(TBool aNagleOverride = EFalse);
 	void RetransmitTimeout();
-	void RetransmitSegments();
+	TBool RetransmitSegments();
 	void ClearSYNSettings();
 
 	/**
--- a/networkprotocols/tcpipv4v6prt/src/tcp.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/src/tcp.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -92,6 +92,11 @@
 	iRecvBuf = GetIniValue(TCPIP_INI_TCP, TCPIP_INI_TCP_RECV_BUF,
 			KTcpDefaultRcvWnd, KTcpMinimumWindow, KTcpMaximumWindow, ETrue); 
 	
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+	iRecvBufFromIniFile = GetIniValue(TCPIP_INI_TCP, TCPIP_INI_TCP_RECV_BUF,
+            KTcpDefaultRcvWnd, KTcpMinimumWindow, KTcpMaximumWindow, ETrue); 
+#endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+	
 	iSendBuf = GetIniValue(TCPIP_INI_TCP, TCPIP_INI_TCP_SEND_BUF,
 			KTcpDefaultSndWnd, KTcpMinimumWindow, KTcpMaximumWindow, ETrue);
 
--- a/networkprotocols/tcpipv4v6prt/src/tcp_sap.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/src/tcp_sap.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -260,6 +260,13 @@
 	iRetransTimer->InitL();
 	iLingerTimer->InitL();
 	iSockInBufSize        = Protocol()->RecvBuf();
+#ifdef SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
+	if(iSockInBufSize == Protocol()->RecvBufFromIniFile())
+	    iSocketStartupCase = ETrue;
+	else
+	    iSocketStartupCase = EFalse;
+#endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW    	
+	
 	iSockOutBufSize       = Protocol()->SendBuf();
 	iSsthresh		= KMaxTInt32;
 	iRTO			= Protocol()->InitialRTO();
@@ -619,48 +626,137 @@
                 iSockInBufSize = KTcpMinimumWindow;
             else
                 {
-
-		        //If new TCP window is larger then the previous window, increase the 
-		        //iSockInBufSize right now. TCP recv function takes  care of
-		        //advertising a new effective TCP window. 
-		            if (intValue >= iSockInBufSize)
-		                {
-		                //Make it Zero so TCP could avoid the
-		                //TCP window shrinking processing in Recv.  
-		                iNewTcpWindow = 0;
-		                //FreeWindow has to be increased at the same time.
-		                iFreeWindow += intValue - iSockInBufSize;
-		                // Make the new TCP receive buffer change effective now.
-		                iSockInBufSize = intValue;                                                          
-		                }
-		            else
-		                {
-		                //This sets iNewTcpWindow to a non-zero value, which indicates 
-		                //to the TCP that window is shrunk and process TCP segments
-		                //which are in air before setting a new TCP receive buffer.         
-		                //TCP Receive window starts moving only when TCP hidden window
-		                //size exceeds the size of the shrunk window.
-		                   
-		                iNewTcpWindow = intValue;
-		                //Even in case of window shrink we can set the receive buffer size
-		                //immediately. This will be helpful, for processing SYN-ACK and other
-		                //receiver side processing.
-		                //For already connected sockets iNewTcpWindow will be taking care
-		                //of shrinking the window size for that TCP session.
-		                iSockInBufSize = iNewTcpWindow;
-		                if( iAdvertisedWindow > iNewTcpWindow )
-		                    {
-		                    iShrinkedWindowSize = iAdvertisedWindow - iNewTcpWindow;
-		                    }
-		                else
-		                    {
-		                    // No Need to process TCP receive window processing.
-		                    iNewTcpWindow = 0;
-		                    }
-		                }
-					
-                } 
-
+                //If its the startup case, then there should be no algorithm used to shrink
+				//or expand the window size from the default value provided in the ini file
+                //the new value should be set directly
+                if(iSocketStartupCase)
+                    {
+					//Add the extra window to free window pool
+					//if the window being set is greater than what is specified in ini file (startup case), then just overwrite the new window.
+					//Add difference to free window
+					//else set free window to zero
+					if(intValue > iSockInBufSize)
+						iFreeWindow += intValue - iSockInBufSize;
+					else
+						iFreeWindow = 0;
+					//set the buffer
+                    iSockInBufSize = intValue;
+					//disable startup flag.
+                    iSocketStartupCase = EFalse;
+                    }
+                else 
+                {
+					// Check for minimum value
+	                if (intValue < STATIC_CAST(TInt, KTcpMinimumWindow))
+	                    {
+	                    intValue = STATIC_CAST(TInt, KTcpMinimumWindow);
+	                    }
+	                // Handle the situation where the connection has been established and 
+	                // window scaling is not in use
+	                if ( InState( ETcpSynReceived | ETcpEstablished ) && !iRcvWscale )
+	                    {
+	                    // Do not allow window sizes larger than 0xFFFF
+	                    intValue = Min ( intValue, 0xFFFF );
+	                    }
+
+	                // Check whether we are increasing or decreasing window size
+	                if ( intValue >= iSockInBufSize )
+	                    {
+	                    // New window is larger than current one, check if a
+	                    // shrinking process is active
+	                    if ( !iNewTcpWindow )
+	                        {
+	                        // Mark new "space" as free, it will be updated to
+	                        // peer on next operation.
+	                        iFreeWindow += intValue - iSockInBufSize;
+	                        }
+	                    else
+	                        {
+	                        // In the middle of shrinking process.
+                      if ( iShrinkedWindowSize <= ( intValue - iSockInBufSize ))
+	                            {
+	                            // Increment to window size is enough to complete
+	                            // shrinking process. Update variables and exit
+	                            // from shrinking process.
+                          iFreeWindow = ( intValue - iSockInBufSize ) - iShrinkedWindowSize;
+	                            iShrinkedWindowSize = 0;
+	                            iNewTcpWindow = 0;
+	                            }
+	                        else
+	                            {
+	                            // Not quite there yet but closer. Less to shrink,
+	                            // update this, but do not exit from shrinking
+	                            // process
+                          iShrinkedWindowSize -= intValue - iSockInBufSize;
+	                            iNewTcpWindow = intValue;
+	                            }
+	                        }
+	                    }
+	                else
+	                    {
+	                    // Requested window is smaller than current one. Start or
+	                    // continue shrinking process. RCV window can be occupied
+	                    // for two different purpose at the moment
+	                    // 1. Client data in iSockInQ not read by application
+	                    // 2. Free window "opened" to peer (iAdvertisedWindow)
+	                    // When shrinking, we must ensure that when reopening
+	                    // the window to client there must be truly empty space
+	                    // in the window. Thus, freeze the right edge of the
+	                    // window (iRCV.NXT + iRCV.WND stays constant) until
+	                    // shrinking is completed.
+	                
+	                    if ( iNewTcpWindow )
+	                        {
+	                        // There is an ongoing shrink process, add the
+	                        // change to the amount to be shrinked
+	                        iShrinkedWindowSize += iSockInBufSize - intValue;
+	                        iNewTcpWindow = intValue;
+	                        }
+	                    else
+	                        {
+	                        // This is a new shrinking process, count how much
+	                        // needs to be shrinked
+                      iShrinkedWindowSize = iSockInQLen + iRCV.WND;
+	                        if ( iShrinkedWindowSize >= intValue )
+	                            {
+	                            // We need to shrink since the currently occupied
+	                            // window does not fit to new one
+	                            iShrinkedWindowSize -= intValue;
+	                            // There is now free space in the window
+	                            iFreeWindow = 0;
+	                            // iNewTcpWindow is used as a state variable for
+	                            // shrinking
+	                            iNewTcpWindow = intValue;
+	                            }
+	                        else
+	                            {
+	                            // No need to shrink since we can fit the current
+	                            // contents to the new window, update free window
+	                            // If TCP connection is not yet setup, the free
+	                            // window will be updated on connection setup, 
+	                            // for existing connection it will be used
+	                            // next time application reads data
+	                            if ( iFreeWindow >= ( iSockInBufSize - intValue ))
+	                                {
+	                                iFreeWindow -= iSockInBufSize - intValue;
+	                                }
+	                            else 
+	                                {
+	                                // Something wrong. Try to reevaluate...
+	                                iFreeWindow = intValue - iShrinkedWindowSize;
+	                                }
+	                            iShrinkedWindowSize = 0;
+	                            }
+	                        }
+	                    }
+	                // Even in case of window shrink we can set the receive buffer size
+	                // immediately. This will be helpful, for processing SYN-ACK and other
+	                // receiver side processing.
+	                // For already connected sockets iNewTcpWindow will be taking care
+	                // of shrinking the window size for that TCP session.
+	                iSockInBufSize = intValue;
+	                }
+	            } 
 		    }
 		    break;
 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
@@ -1362,32 +1458,23 @@
 	//if This is true, then it is a case of TCP window shrink and we need 
 	//to handle it.
 	if ( iNewTcpWindow )
-		{
-	   	//Log  this message for information, that Window is shrinked
-	   	LOG(Log::Printf(_L("\ttcp SAP[%u] TCP window shrinking mode on"), (TInt)this));
-	   
-	   	//Increase the hidden free TCP receive window.
-	   	iHiddenFreeWindow += aLength;
-	   
-	   	if (iHiddenFreeWindow >= iShrinkedWindowSize)
-			{
-			//Disable window shrink processing, so that TCP could switch
-			//to the normal processing.    
-			iSockInBufSize = iNewTcpWindow;
-			
-			//Add the usable window to the free window.
-			iFreeWindow += iHiddenFreeWindow - iShrinkedWindowSize;
-			
-			//There are chances that TCP receive window might further shrink.
-			iHiddenFreeWindow = 0;
-			
-			//TCP Receive window shrink phase is over.
-			iNewTcpWindow = 0;
-			
-			//Log  this message for information, that Window is shrinked
-			LOG(Log::Printf(_L("\ttcp SAP[%u] TCP window shrinking mode off"), (TInt)this));
-			}
-		}
+	    {
+	    // Check if we can complete shrinking process
+	    if ( aLength > iShrinkedWindowSize )
+	        {
+	        // We can exit from the shrinking process. Reset variables and
+	        // update free window.
+	        iFreeWindow = aLength - iShrinkedWindowSize;
+	        iShrinkedWindowSize = 0;
+	        iNewTcpWindow = 0;
+	        }
+	    else
+	        {
+	        // Substract the needed shrinking amount by the amount of bytes client
+	        // read from the buffer
+	        iShrinkedWindowSize -= aLength;
+	        }
+	    }
 	else
 #endif //SYMBIAN_ADAPTIVE_TCP_RECEIVE_WINDOW
 	
@@ -1684,7 +1771,8 @@
 		if (iFlags.iRetransmitPending)
 			{
 			iFlags.iRetransmitPending = EFalse;
-			RetransmitSegments();
+			if(RetransmitSegments())
+				return;
 			}
 
 		if (iFlags.iTransmitPending)
@@ -2288,7 +2376,12 @@
 		++iBackoff;
 		if (iRTO < Protocol()->MaxRTO())  // Avoid RTO overflow
 			ResetRTO();
-
+		
+		if(DetachIfDead())
+			{
+			Expire();
+			return;
+			}
 		//
 		// Timeout?
 		//
@@ -2403,7 +2496,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 +2512,7 @@
 		{
 		LOG(Log::Printf(_L("\ttcp SAP[%u] RetransmitSegments(): Flow pending"), (TInt)this));
 		ReSchedRetransmit();
-		return;
+		return EFalse;
 		}
 
 	//
@@ -2477,14 +2570,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 +2650,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 +2660,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 +2677,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/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_edge.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_edge.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_gprs.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_gprs.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_hsdpa.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_hsdpa.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_umts.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/tcpip6adapwnd_config_umts.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_edge_gprs_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_edge_gprs_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,11 +167,11 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Edge
-NetworkMode= 2,2
-DynamicCaps= 2,1024
+NetworkMode= 5,2
+DynamicCaps= 5,1024
 
 #Gprs
-NetworkMode= 12,2
-DynamicCaps= 2,1
+NetworkMode= 10,2
+DynamicCaps= 10,1
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_edge_hsdpa_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_edge_hsdpa_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,12 +167,12 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Edge
-NetworkMode= 2,2
-DynamicCaps= 2,1024
+NetworkMode= 5,2
+DynamicCaps= 5,1024
 
 #Hsdpa
-NetworkMode= 12,6
-DynamicCaps= 2,512
+NetworkMode= 10,6
+DynamicCaps= 10,512
 
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_edge_umts_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_edge_umts_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,11 +167,11 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Edge
-NetworkMode= 2,2
-DynamicCaps= 2,1024
+NetworkMode= 5,2
+DynamicCaps= 5,1024
 
 #Umts
-NetworkMode= 12,6
-DynamicCaps= 2,1  
+NetworkMode= 10,6
+DynamicCaps= 10,1  
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_gprs_edge_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_gprs_edge_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,12 +167,12 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Gprs
-NetworkMode= 2,2
-DynamicCaps= 2,1
+NetworkMode= 5,2
+DynamicCaps= 5,1
 
 #Edge
-NetworkMode= 12,2
-DynamicCaps= 2,1024  
+NetworkMode= 10,2
+DynamicCaps= 10,1024  
 
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_gprs_hsdpa_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_gprs_hsdpa_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,11 +167,11 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Gprs
-NetworkMode= 2,2
-DynamicCaps= 2,1
+NetworkMode= 5,2
+DynamicCaps= 5,1
 
 #Hsdpa
-NetworkMode= 12,6
-DynamicCaps= 2,512  
+NetworkMode= 10,6
+DynamicCaps= 10,512  
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_gprs_umts_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_gprs_umts_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,12 +167,12 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Gprs
-NetworkMode= 2,2
-DynamicCaps= 2,1
+NetworkMode= 5,2
+DynamicCaps= 5,1
 
 #Umts
-NetworkMode= 12,6
-DynamicCaps= 2,1 
+NetworkMode= 10,6
+DynamicCaps= 10,1 
 
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_hsdpa_edge_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_hsdpa_edge_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,11 +167,11 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Hsdpa
-NetworkMode= 2,6
-DynamicCaps= 2,512
+NetworkMode= 5,6
+DynamicCaps= 5,512
 
 #Edge
-NetworkMode= 12,2
-DynamicCaps= 2,1024
+NetworkMode= 10,2
+DynamicCaps= 10,1024
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_hsdpa_gprs_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_hsdpa_gprs_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,11 +167,11 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Hsdpa
-NetworkMode= 2,2
-DynamicCaps= 2,512
+NetworkMode= 5,2
+DynamicCaps= 5,512
 
 #Gprs
-NetworkMode= 12,2
-DynamicCaps= 2,1  
+NetworkMode= 10,2
+DynamicCaps= 10,1  
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_hsdpa_umts_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_hsdpa_umts_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,11 +167,11 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Hsdpa
-NetworkMode= 2,2
-DynamicCaps= 2,512
+NetworkMode= 5,2
+DynamicCaps= 5,512
 
 #Umts
-NetworkMode= 12,6
-DynamicCaps= 2,1
+NetworkMode= 10,6
+DynamicCaps= 10,1
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_umts_edge_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_umts_edge_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,12 +167,12 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Umts
-NetworkMode= 2,6
-DynamicCaps= 2,1
+NetworkMode= 5,6
+DynamicCaps= 5,1
 
 #Edge
-NetworkMode= 12,2
-DynamicCaps= 2,1024  
+NetworkMode= 10,2
+DynamicCaps= 10,1024  
 
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_umts_gprs_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_umts_gprs_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,11 +167,11 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Umts
-NetworkMode= 2,6
-DynamicCaps= 2,1
+NetworkMode= 5,6
+DynamicCaps= 5,1
 
 #Gprs
-NetworkMode= 12,2
-DynamicCaps= 2,1  
+NetworkMode= 10,2
+DynamicCaps= 10,1  
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_umts_hsdpa_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/configs/te_tcpip6adapwnd_modulation_umts_hsdpa_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -14,7 +14,7 @@
 # ContextConfigGPRS = <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <PdpDataCompression>, <TAnonymousAccess>, <TUseEdge>
 # ProtocolConfigOption = <Authentication Protocol>, <Username>, <Password>, <Challenge>, 
 # <Response>, <PrimaryDNS>, <SecondaryDNS>, <TUint iId>
-SetContextConfigGPRS= 0,orangeinternet,,0, 2, 0, 0,web,web,,,192.168.20.2,192.168.10.2,0,0
+SetContextConfigGPRS = 0,orangeinternet,,0,2,0,1,web,web,,,192.168.20.2,192.168.10.2,1,0
 
 
 #SetContextConfigR5= <TProtocolType>, <TGSNAddress>, <TProtocolAddress>, <TUseEdge>, <Authentication Protocol>, <Username>, <Password>, <Challenge>,
@@ -167,11 +167,11 @@
 #NotifyContextStatusChange = SECONDARY1, 0, 5
 
 #Umts
-NetworkMode= 2,6
-DynamicCaps= 2,1
+NetworkMode= 5,6
+DynamicCaps= 5,1
 
 #Hsdpa
-NetworkMode= 12,6
-DynamicCaps= 2,512 
+NetworkMode= 10,6
+DynamicCaps= 10,512 
 # DynamicCaps= <Duration>, <DynamicCaps>
 # Note: <DynamicCaps> is a bitmap of RPacketService::TDynamicCaps flags. 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_gprs.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_gprs.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_gprs_user_set.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_gprs_user_set.script	Tue Jun 29 19:20:22 2010 +0530
@@ -84,7 +84,7 @@
 //User does a SetOpt( ) with own value
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketSetOptionStep  z:\testdata\configs\te_tcpip6AdapWnd.ini UserSetOptOnSocketEGPRS
 
-DELAY 20000
+DELAY 7000
 //Bearer changing to GPRS
 PRINT Bearer changing to GPRS
 
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_hsdpa.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_hsdpa.script	Tue Jun 29 19:20:22 2010 +0530
@@ -80,7 +80,7 @@
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_umts.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_edge_umts.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_gprs_edge.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_gprs_edge.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_gprs_hsdpa.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_gprs_hsdpa.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_gprs_umts.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_gprs_umts.script	Tue Jun 29 19:20:22 2010 +0530
@@ -80,7 +80,7 @@
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_hsdpa_edge.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_hsdpa_edge.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_hsdpa_gprs.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_hsdpa_gprs.script	Tue Jun 29 19:20:22 2010 +0530
@@ -80,7 +80,7 @@
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_hsdpa_umts.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_hsdpa_umts.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_umts_edge.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_umts_edge.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_umts_gprs.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_umts_gprs.script	Tue Jun 29 19:20:22 2010 +0530
@@ -80,7 +80,7 @@
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_umts_hsdpa.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_modulation_umts_hsdpa.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_edge_gprs.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_edge_gprs.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_edge_hsdpa.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_edge_hsdpa.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_edge_umts.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_edge_umts.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for Edge
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for Umts
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_gprs_edge.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_gprs_edge.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_gprs_hsdpa.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_gprs_hsdpa.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_gprs_umts.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_gprs_umts.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_hsdpa_edge.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_hsdpa_edge.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_hsdpa_gprs.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_hsdpa_gprs.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_hsdpa_umts.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_hsdpa_umts.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_umts_edge.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_umts_edge.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for EDGE
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketEGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_umts_gprs.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_umts_gprs.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for GPRS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketGPRS
--- a/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_umts_hsdpa.script	Mon May 03 13:58:16 2010 +0300
+++ b/networkprotocols/tcpipv4v6prt/te_tcpip6/scripts/te_tcpip6adapwnd_vpnmodulation_umts_hsdpa.script	Tue Jun 29 19:20:22 2010 +0530
@@ -81,7 +81,7 @@
 //Retrieve the TCP Window size for UMTS
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketUMTS
 
-DELAY 20000
+DELAY 7000
 
 //Retrieve the TCP Window size for HSDPA
 RUN_TEST_STEP 150 te_esockteststepsSuite SocketGetOptionStep z:\testdata\configs\te_tcpip6AdapWnd.ini GetOptOnSocketHSDPA
--- a/networksecurity/ipsec/group/ipsec.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/group/ipsec.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -30,7 +30,7 @@
 REM IPSEC protocol and other core components
 
 
-#ifdef SYMBIAN_EXCLUDE_IPSEC
+#ifndef __IPSEC
 
 	REM Feature IPSEC not included in this rom
 
@@ -42,6 +42,6 @@
 	file=ABI_DIR\DEBUG_DIR\lib_pfkey.dll		System\Libs\lib_pfkey.dll
 	#include <ipseccrypto.iby>
 
-#endif // SYMBIAN_EXCLUDE_IPSEC
+#endif // __IPSEC
 
 #endif // __IPSEC_IBY__
--- a/networksecurity/ipsec/ipsec6/group/ipsec6.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsec6/group/ipsec6.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -28,7 +28,7 @@
 #include <inhook6.iby>
 #include <nifman.iby>
 
-#ifdef SYMBIAN_EXCLUDE_IPSEC
+#ifndef __IPSEC
 
 REM Feature IPSEC not included in this rom
 
@@ -43,6 +43,6 @@
 
 file=ABI_DIR\DEBUG_DIR\ipsec6.prt            system\libs\ipsec6.prt
 
-#endif // SYMBIAN_EXCLUDE_IPSEC
+#endif // __IPSEC
 
 #endif // __IPSEC6_IBY__
--- a/networksecurity/ipsec/ipsec6/include/crypto.h	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsec6/include/crypto.h	Tue Jun 29 19:20:22 2010 +0530
@@ -84,9 +84,9 @@
 #include <e32base.h>
 #include <es_prot.h>
 
-#include "cryptospidef.h"
+#include <cryptospi/cryptospidef.h>
 #include "cryptosymmetriccipherapi.h"
-#include "cryptomacapi.h"
+#include <cryptospi/cryptomacapi.h>
 
 /**
 // The protocol number for a library.
--- a/networksecurity/ipsec/ipsec6/src/sa_crypt.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsec6/src/sa_crypt.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -27,9 +27,9 @@
 #include <networking/ipsecerr.h>
 #include "ipseccrypto.h"
 #include "keys.h"
-#include "cryptospidef.h"
+#include <cryptospi/cryptospidef.h>
 #ifdef SYMBIAN_IPSEC_VOIP_SUPPORT
-#include "cryptomacapi.h"
+#include <cryptospi/cryptomacapi.h>
 #endif //SYMBIAN_IPSEC_VOIP_SUPPORT
 
 class TLibraryPtr
--- a/networksecurity/ipsec/ipsec_itest/data/linux_trans-ca.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsec_itest/data/linux_trans-ca.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,24 +1,24 @@
------BEGIN CERTIFICATE-----
-MIID7zCCA1igAwIBAgIJAM8/EhNsG/gRMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD
-VQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcTBENpdHkxGzAZBgNVBAoT
-ElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3ltYmlhbiBGb3VuZGF0aW9u
-MRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkBFiNzeW1iaWFuLmZvdW5k
-YXRpb25AZXhwLmV4YW1wbGUudGVzdDAeFw0wOTA2MDgwNjQ1MTJaFw0wOTA3MDgw
-NjQ1MTJaMIGsMQswCQYDVQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcT
-BENpdHkxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3lt
-YmlhbiBGb3VuZGF0aW9uMRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkB
-FiNzeW1iaWFuLmZvdW5kYXRpb25AZXhwLmV4YW1wbGUudGVzdDCBnzANBgkqhkiG
-9w0BAQEFAAOBjQAwgYkCgYEArbqD1Rh70QKQC48oBHbmlsHX8o3k+bqoD71yKTAQ
-5AvefJCU37k339H3/I/F+EDoL6T7zJVujfuEr4JcrpX013KoUZOviOt7T2FIkeMJ
-RaHbvKnqDF+sW4Ai+jwln3zkPeb1Jd0J9/UCmNwoe8ImagaQ1MbBurM0hF7U4Jvp
-X9ECAwEAAaOCARUwggERMB0GA1UdDgQWBBQrhiYdzXvJ1V+AjsVay0zDUWIVmTCB
-4QYDVR0jBIHZMIHWgBQrhiYdzXvJ1V+AjsVay0zDUWIVmaGBsqSBrzCBrDELMAkG
-A1UEBhMCZXgxDjAMBgNVBAgTBVN0YXRlMQ0wCwYDVQQHEwRDaXR5MRswGQYDVQQK
-ExJTeW1iaWFuIEZvdW5kYXRpb24xGzAZBgNVBAsTElN5bWJpYW4gRm91bmRhdGlv
-bjEQMA4GA1UEAxMHRXhhbXBsZTEyMDAGCSqGSIb3DQEJARYjc3ltYmlhbi5mb3Vu
-ZGF0aW9uQGV4cC5leGFtcGxlLnRlc3SCCQDPPxITbBv4ETAMBgNVHRMEBTADAQH/
-MA0GCSqGSIb3DQEBBQUAA4GBAGj3h4w7F3bEwP6ULqol+aETxjDfFSMnJix3hzOo
-38RDUhX4DwCSFfS7x8/OAMmt8oYcquwxC8Oyf/T/gqL++Df185JMW2gfsnOlIBLU
-63L8tyFqEFjELg+XXhBPZu4aQfiDG42rX5AdOyRbG7ad/VogZ3FIi7W1NZWN7hMI
-8WXa
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIID7zCCA1igAwIBAgIJAM8/EhNsG/gRMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD
+VQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcTBENpdHkxGzAZBgNVBAoT
+ElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3ltYmlhbiBGb3VuZGF0aW9u
+MRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkBFiNzeW1iaWFuLmZvdW5k
+YXRpb25AZXhwLmV4YW1wbGUudGVzdDAeFw0wOTA2MDgwNjQ1MTJaFw0wOTA3MDgw
+NjQ1MTJaMIGsMQswCQYDVQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcT
+BENpdHkxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3lt
+YmlhbiBGb3VuZGF0aW9uMRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkB
+FiNzeW1iaWFuLmZvdW5kYXRpb25AZXhwLmV4YW1wbGUudGVzdDCBnzANBgkqhkiG
+9w0BAQEFAAOBjQAwgYkCgYEArbqD1Rh70QKQC48oBHbmlsHX8o3k+bqoD71yKTAQ
+5AvefJCU37k339H3/I/F+EDoL6T7zJVujfuEr4JcrpX013KoUZOviOt7T2FIkeMJ
+RaHbvKnqDF+sW4Ai+jwln3zkPeb1Jd0J9/UCmNwoe8ImagaQ1MbBurM0hF7U4Jvp
+X9ECAwEAAaOCARUwggERMB0GA1UdDgQWBBQrhiYdzXvJ1V+AjsVay0zDUWIVmTCB
+4QYDVR0jBIHZMIHWgBQrhiYdzXvJ1V+AjsVay0zDUWIVmaGBsqSBrzCBrDELMAkG
+A1UEBhMCZXgxDjAMBgNVBAgTBVN0YXRlMQ0wCwYDVQQHEwRDaXR5MRswGQYDVQQK
+ExJTeW1iaWFuIEZvdW5kYXRpb24xGzAZBgNVBAsTElN5bWJpYW4gRm91bmRhdGlv
+bjEQMA4GA1UEAxMHRXhhbXBsZTEyMDAGCSqGSIb3DQEJARYjc3ltYmlhbi5mb3Vu
+ZGF0aW9uQGV4cC5leGFtcGxlLnRlc3SCCQDPPxITbBv4ETAMBgNVHRMEBTADAQH/
+MA0GCSqGSIb3DQEBBQUAA4GBAGj3h4w7F3bEwP6ULqol+aETxjDfFSMnJix3hzOo
+38RDUhX4DwCSFfS7x8/OAMmt8oYcquwxC8Oyf/T/gqL++Df185JMW2gfsnOlIBLU
+63L8tyFqEFjELg+XXhBPZu4aQfiDG42rX5AdOyRbG7ad/VogZ3FIi7W1NZWN7hMI
+8WXa
+-----END CERTIFICATE-----
--- a/networksecurity/ipsec/ipsec_itest/data/linux_trans-peer.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsec_itest/data/linux_trans-peer.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,24 +1,24 @@
------BEGIN CERTIFICATE-----
-MIID7zCCA1igAwIBAgIJAM8/EhNsG/gRMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD
-VQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcTBENpdHkxGzAZBgNVBAoT
-ElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3ltYmlhbiBGb3VuZGF0aW9u
-MRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkBFiNzeW1iaWFuLmZvdW5k
-YXRpb25AZXhwLmV4YW1wbGUudGVzdDAeFw0wOTA2MDgwNjQ1MTJaFw0wOTA3MDgw
-NjQ1MTJaMIGsMQswCQYDVQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcT
-BENpdHkxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3lt
-YmlhbiBGb3VuZGF0aW9uMRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkB
-FiNzeW1iaWFuLmZvdW5kYXRpb25AZXhwLmV4YW1wbGUudGVzdDCBnzANBgkqhkiG
-9w0BAQEFAAOBjQAwgYkCgYEArbqD1Rh70QKQC48oBHbmlsHX8o3k+bqoD71yKTAQ
-5AvefJCU37k339H3/I/F+EDoL6T7zJVujfuEr4JcrpX013KoUZOviOt7T2FIkeMJ
-RaHbvKnqDF+sW4Ai+jwln3zkPeb1Jd0J9/UCmNwoe8ImagaQ1MbBurM0hF7U4Jvp
-X9ECAwEAAaOCARUwggERMB0GA1UdDgQWBBQrhiYdzXvJ1V+AjsVay0zDUWIVmTCB
-4QYDVR0jBIHZMIHWgBQrhiYdzXvJ1V+AjsVay0zDUWIVmaGBsqSBrzCBrDELMAkG
-A1UEBhMCZXgxDjAMBgNVBAgTBVN0YXRlMQ0wCwYDVQQHEwRDaXR5MRswGQYDVQQK
-ExJTeW1iaWFuIEZvdW5kYXRpb24xGzAZBgNVBAsTElN5bWJpYW4gRm91bmRhdGlv
-bjEQMA4GA1UEAxMHRXhhbXBsZTEyMDAGCSqGSIb3DQEJARYjc3ltYmlhbi5mb3Vu
-ZGF0aW9uQGV4cC5leGFtcGxlLnRlc3SCCQDPPxITbBv4ETAMBgNVHRMEBTADAQH/
-MA0GCSqGSIb3DQEBBQUAA4GBAGj3h4w7F3bEwP6ULqol+aETxjDfFSMnJix3hzOo
-38RDUhX4DwCSFfS7x8/OAMmt8oYcquwxC8Oyf/T/gqL++Df185JMW2gfsnOlIBLU
-63L8tyFqEFjELg+XXhBPZu4aQfiDG42rX5AdOyRbG7ad/VogZ3FIi7W1NZWN7hMI
-8WXa
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIID7zCCA1igAwIBAgIJAM8/EhNsG/gRMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD
+VQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcTBENpdHkxGzAZBgNVBAoT
+ElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3ltYmlhbiBGb3VuZGF0aW9u
+MRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkBFiNzeW1iaWFuLmZvdW5k
+YXRpb25AZXhwLmV4YW1wbGUudGVzdDAeFw0wOTA2MDgwNjQ1MTJaFw0wOTA3MDgw
+NjQ1MTJaMIGsMQswCQYDVQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcT
+BENpdHkxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3lt
+YmlhbiBGb3VuZGF0aW9uMRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkB
+FiNzeW1iaWFuLmZvdW5kYXRpb25AZXhwLmV4YW1wbGUudGVzdDCBnzANBgkqhkiG
+9w0BAQEFAAOBjQAwgYkCgYEArbqD1Rh70QKQC48oBHbmlsHX8o3k+bqoD71yKTAQ
+5AvefJCU37k339H3/I/F+EDoL6T7zJVujfuEr4JcrpX013KoUZOviOt7T2FIkeMJ
+RaHbvKnqDF+sW4Ai+jwln3zkPeb1Jd0J9/UCmNwoe8ImagaQ1MbBurM0hF7U4Jvp
+X9ECAwEAAaOCARUwggERMB0GA1UdDgQWBBQrhiYdzXvJ1V+AjsVay0zDUWIVmTCB
+4QYDVR0jBIHZMIHWgBQrhiYdzXvJ1V+AjsVay0zDUWIVmaGBsqSBrzCBrDELMAkG
+A1UEBhMCZXgxDjAMBgNVBAgTBVN0YXRlMQ0wCwYDVQQHEwRDaXR5MRswGQYDVQQK
+ExJTeW1iaWFuIEZvdW5kYXRpb24xGzAZBgNVBAsTElN5bWJpYW4gRm91bmRhdGlv
+bjEQMA4GA1UEAxMHRXhhbXBsZTEyMDAGCSqGSIb3DQEJARYjc3ltYmlhbi5mb3Vu
+ZGF0aW9uQGV4cC5leGFtcGxlLnRlc3SCCQDPPxITbBv4ETAMBgNVHRMEBTADAQH/
+MA0GCSqGSIb3DQEBBQUAA4GBAGj3h4w7F3bEwP6ULqol+aETxjDfFSMnJix3hzOo
+38RDUhX4DwCSFfS7x8/OAMmt8oYcquwxC8Oyf/T/gqL++Df185JMW2gfsnOlIBLU
+63L8tyFqEFjELg+XXhBPZu4aQfiDG42rX5AdOyRbG7ad/VogZ3FIi7W1NZWN7hMI
+8WXa
+-----END CERTIFICATE-----
--- a/networksecurity/ipsec/ipsec_itest/data/linux_trans-user.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsec_itest/data/linux_trans-user.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,24 +1,24 @@
------BEGIN CERTIFICATE-----
-MIID7zCCA1igAwIBAgIJAM8/EhNsG/gRMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD
-VQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcTBENpdHkxGzAZBgNVBAoT
-ElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3ltYmlhbiBGb3VuZGF0aW9u
-MRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkBFiNzeW1iaWFuLmZvdW5k
-YXRpb25AZXhwLmV4YW1wbGUudGVzdDAeFw0wOTA2MDgwNjQ1MTJaFw0wOTA3MDgw
-NjQ1MTJaMIGsMQswCQYDVQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcT
-BENpdHkxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3lt
-YmlhbiBGb3VuZGF0aW9uMRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkB
-FiNzeW1iaWFuLmZvdW5kYXRpb25AZXhwLmV4YW1wbGUudGVzdDCBnzANBgkqhkiG
-9w0BAQEFAAOBjQAwgYkCgYEArbqD1Rh70QKQC48oBHbmlsHX8o3k+bqoD71yKTAQ
-5AvefJCU37k339H3/I/F+EDoL6T7zJVujfuEr4JcrpX013KoUZOviOt7T2FIkeMJ
-RaHbvKnqDF+sW4Ai+jwln3zkPeb1Jd0J9/UCmNwoe8ImagaQ1MbBurM0hF7U4Jvp
-X9ECAwEAAaOCARUwggERMB0GA1UdDgQWBBQrhiYdzXvJ1V+AjsVay0zDUWIVmTCB
-4QYDVR0jBIHZMIHWgBQrhiYdzXvJ1V+AjsVay0zDUWIVmaGBsqSBrzCBrDELMAkG
-A1UEBhMCZXgxDjAMBgNVBAgTBVN0YXRlMQ0wCwYDVQQHEwRDaXR5MRswGQYDVQQK
-ExJTeW1iaWFuIEZvdW5kYXRpb24xGzAZBgNVBAsTElN5bWJpYW4gRm91bmRhdGlv
-bjEQMA4GA1UEAxMHRXhhbXBsZTEyMDAGCSqGSIb3DQEJARYjc3ltYmlhbi5mb3Vu
-ZGF0aW9uQGV4cC5leGFtcGxlLnRlc3SCCQDPPxITbBv4ETAMBgNVHRMEBTADAQH/
-MA0GCSqGSIb3DQEBBQUAA4GBAGj3h4w7F3bEwP6ULqol+aETxjDfFSMnJix3hzOo
-38RDUhX4DwCSFfS7x8/OAMmt8oYcquwxC8Oyf/T/gqL++Df185JMW2gfsnOlIBLU
-63L8tyFqEFjELg+XXhBPZu4aQfiDG42rX5AdOyRbG7ad/VogZ3FIi7W1NZWN7hMI
-8WXa
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIID7zCCA1igAwIBAgIJAM8/EhNsG/gRMA0GCSqGSIb3DQEBBQUAMIGsMQswCQYD
+VQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcTBENpdHkxGzAZBgNVBAoT
+ElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3ltYmlhbiBGb3VuZGF0aW9u
+MRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkBFiNzeW1iaWFuLmZvdW5k
+YXRpb25AZXhwLmV4YW1wbGUudGVzdDAeFw0wOTA2MDgwNjQ1MTJaFw0wOTA3MDgw
+NjQ1MTJaMIGsMQswCQYDVQQGEwJleDEOMAwGA1UECBMFU3RhdGUxDTALBgNVBAcT
+BENpdHkxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEbMBkGA1UECxMSU3lt
+YmlhbiBGb3VuZGF0aW9uMRAwDgYDVQQDEwdFeGFtcGxlMTIwMAYJKoZIhvcNAQkB
+FiNzeW1iaWFuLmZvdW5kYXRpb25AZXhwLmV4YW1wbGUudGVzdDCBnzANBgkqhkiG
+9w0BAQEFAAOBjQAwgYkCgYEArbqD1Rh70QKQC48oBHbmlsHX8o3k+bqoD71yKTAQ
+5AvefJCU37k339H3/I/F+EDoL6T7zJVujfuEr4JcrpX013KoUZOviOt7T2FIkeMJ
+RaHbvKnqDF+sW4Ai+jwln3zkPeb1Jd0J9/UCmNwoe8ImagaQ1MbBurM0hF7U4Jvp
+X9ECAwEAAaOCARUwggERMB0GA1UdDgQWBBQrhiYdzXvJ1V+AjsVay0zDUWIVmTCB
+4QYDVR0jBIHZMIHWgBQrhiYdzXvJ1V+AjsVay0zDUWIVmaGBsqSBrzCBrDELMAkG
+A1UEBhMCZXgxDjAMBgNVBAgTBVN0YXRlMQ0wCwYDVQQHEwRDaXR5MRswGQYDVQQK
+ExJTeW1iaWFuIEZvdW5kYXRpb24xGzAZBgNVBAsTElN5bWJpYW4gRm91bmRhdGlv
+bjEQMA4GA1UEAxMHRXhhbXBsZTEyMDAGCSqGSIb3DQEJARYjc3ltYmlhbi5mb3Vu
+ZGF0aW9uQGV4cC5leGFtcGxlLnRlc3SCCQDPPxITbBv4ETAMBgNVHRMEBTADAQH/
+MA0GCSqGSIb3DQEBBQUAA4GBAGj3h4w7F3bEwP6ULqol+aETxjDfFSMnJix3hzOo
+38RDUhX4DwCSFfS7x8/OAMmt8oYcquwxC8Oyf/T/gqL++Df185JMW2gfsnOlIBLU
+63L8tyFqEFjELg+XXhBPZu4aQfiDG42rX5AdOyRbG7ad/VogZ3FIi7W1NZWN7hMI
+8WXa
+-----END CERTIFICATE-----
--- a/networksecurity/ipsec/ipsec_itest/group/ts_ipsec.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsec_itest/group/ts_ipsec.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -37,7 +37,7 @@
 data=EPOCROOT##epoc32\data\Z\TestData\configs\ts_ipsec_mh3.ini    testdata\configs\ts_ipsec_mh3.ini
 data=EPOCROOT##epoc32\data\Z\TestData\configs\ts_ipsec_mh4.ini    testdata\configs\ts_ipsec_mh4.ini
 
-#ifdef SYMBIAN_EXCLUDE_IPSEC
+#ifndef __IPSEC
 REM Feature IPSEC not included in this rom
 data=EPOCROOT##epoc32\data\Z\TestData\scripts\ts_ipsec_removed.script testdata\scripts\ts_ipsec_removed.script
 #else
@@ -84,7 +84,7 @@
 REM file=ABI_DIR\DEBUG_DIR\FAKE_IPSECNOTIF.DLL		System\TNotifiers\FAKE_IPSECNOTIF.DLL
 #endif 
 
-#ifdef SYMBIAN_EXCLUDE_IPSEC
+#ifndef __IPSEC
 REM Feature IPSEC not included in this rom so below apis added for tests to link
 file=ABI_DIR\DEBUG_DIR\ipsecpolapi.dll		System\Libs\ipsecpolapi.dll
 file=ABI_DIR\DEBUG_DIR\vpnapi.dll			SYSTEM_BINDIR\vpnapi.dll
--- a/networksecurity/ipsec/ipseccrypto/group/ipseccrypto.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipseccrypto/group/ipseccrypto.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -23,7 +23,7 @@
 #ifndef __IPSECCRYPTO_IBY__
 #define __IPSECCRYPTO_IBY__
 
-#ifdef SYMBIAN_EXCLUDE_IPSEC
+#ifndef __IPSEC
 
 REM Feature IPSEC not included in this rom
 
@@ -31,6 +31,6 @@
 
 file=ABI_DIR\DEBUG_DIR\ipseccrypto.prt     System\Libs\ipseccrypto.prt
 
-#endif // SYMBIAN_EXCLUDE_IPSEC
+#endif // __IPSEC
 
 #endif
--- a/networksecurity/ipsec/ipseccrypto/inc/ipseccrypto.h	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipseccrypto/inc/ipseccrypto.h	Tue Jun 29 19:20:22 2010 +0530
@@ -24,7 +24,7 @@
 #include <networking/crypto.h>
 #ifdef SYMBIAN_IPSEC_VOIP_SUPPORT
 #include "cryptosymmetriccipherapi.h"
-#include "cryptomacapi.h"
+#include <cryptospi/cryptomacapi.h>
 #endif // SYMBIAN_IPSEC_VOIP_SUPPORT
 
 typedef enum
--- a/networksecurity/ipsec/ipseccrypto/src/ipseccrypto_prt.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipseccrypto/src/ipseccrypto_prt.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -24,14 +24,14 @@
 #include <hash.h>
 
 #include "keys.h"
-#include "cryptospidef.h"
+#include <cryptospi/cryptospidef.h>
 #include "cryptosymmetriccipherapi.h"
 #ifdef SYMBIAN_IPSEC_VOIP_SUPPORT
 #include "ruleselector.h"
 #include "plugincharacteristics.h"
 #include "cryptospistateapi.h"
 #include "cryptoparams.h"
-#include "cryptomacapi.h"
+#include <cryptospi/cryptomacapi.h>
 using namespace CryptoSpi;
 #endif // SYMBIAN_IPSEC_VOIP_SUPPORT
 
--- a/networksecurity/ipsec/ipsecpol/group/ipsecpol.iby	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsecpol/group/ipsecpol.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -22,7 +22,7 @@
 #ifndef __IPSECPOL_IBY__
 #define __IPSECPOL_IBY__
 
-#ifdef SYMBIAN_EXCLUDE_IPSEC
+#ifndef __IPSEC
 
 REM Feature IPSECPOL not included in this rom
 
@@ -32,6 +32,6 @@
 
 file=ABI_DIR\DEBUG_DIR\ipsecpol.exe            System\Programs\ipsecpol.exe
 
-#endif // SYMBIAN_EXCLUDE_IPSEC
+#endif // __IPSEC
 
 #endif // __IPSECPOL_IBY__
\ No newline at end of file
--- a/networksecurity/ipsec/ipsecpol/src/ipsecpolmanhandler.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsecpol/src/ipsecpolmanhandler.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -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	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/ipsecpol/src/ipsecpolmanutil.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -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/networksecurity/ipsec/te_ipsec/group/t_ipsec.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/te_ipsec/group/t_ipsec.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -27,25 +27,25 @@
 VENDORID		0x70000001
 
 
-SOURCEPATH		..\src
+SOURCEPATH		../src
 SOURCE			t_ipsectestserver.cpp
 SOURCE			t_ipsecikev2.cpp t_ipsecmultiplesa.cpp
 
 
-USERINCLUDE		..\inc
+USERINCLUDE		../inc
 
 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
-SYSTEMINCLUDE	\epoc32\include
-SYSTEMINCLUDE	\epoc32\include\test
-SYSTEMINCLUDE   \epoc32\include\ecom
-SYSTEMINCLUDE   \epoc32\include\comms-infras
-SYSTEMINCLUDE   \epoc32\include\networking
+SYSTEMINCLUDE	/epoc32/include
+SYSTEMINCLUDE	/epoc32/include/test
+SYSTEMINCLUDE   /epoc32/include/ecom
+SYSTEMINCLUDE   /epoc32/include/comms-infras
+SYSTEMINCLUDE   /epoc32/include/networking
 #else
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-SYSTEMINCLUDE 	\epoc32\include\platform\test
-SYSTEMINCLUDE   \epoc32\include\platform\ecom
-SYSTEMINCLUDE   \epoc32\include\platform\comms-infras
-SYSTEMINCLUDE   \epoc32\include\platform\networking
+SYSTEMINCLUDE 	/epoc32/include/platform/test
+SYSTEMINCLUDE   /epoc32/include/platform/ecom
+SYSTEMINCLUDE   /epoc32/include/platform/comms-infras
+SYSTEMINCLUDE   /epoc32/include/platform/networking
 #endif
 
 LIBRARY euser.lib
--- a/networksecurity/ipsec/te_ipsec/inc/t_ipsecikev2.h	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/te_ipsec/inc/t_ipsecikev2.h	Tue Jun 29 19:20:22 2010 +0530
@@ -23,7 +23,7 @@
 #if (!defined __TEF_IPSEC_IKEV2_TEST_WRAPPER_H__)
 #define __TEF_IPSEC_IKEV2_TEST_WRAPPER_H__
 
-#include <DataWrapper.h>
+#include <datawrapper.h>
 
 class CT_IPSecIKEv2TestWrapper : public CDataWrapper
 	{
--- a/networksecurity/ipsec/te_ipsec/inc/t_ipsecmultiplesa.h	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/ipsec/te_ipsec/inc/t_ipsecmultiplesa.h	Tue Jun 29 19:20:22 2010 +0530
@@ -25,7 +25,7 @@
 
 
 
-#include <DataWrapper.h>
+#include <datawrapper.h>
 
 class CT_IPSecMultipleSATestWrapper : public CDataWrapper
 	{
--- a/networksecurity/tls/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,113 +0,0 @@
-// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// SSL 3.0 and TLS 1.0 implementation
-// 
-//
-
-/**
- @file
-*/
-
-#include "../test/te_tlsunittest/group/bld.inf"
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-PRJ_EXPORTS
-
-../inc/SSL.H SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(ssl.h)
-../inc/ssl_compatibility.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(ssl_compatibility.h)
-../inc/ssl_internal.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(ssl_internal.h)
-../inc/SSLErr.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(sslerr.h)
-../secsock/SecureSocketInterface.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(securesocketinterface.h)
-../secsock/SecureSocket.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(securesocket.h)
-../secsock/securesocket_internal.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(securesocket_internal.h)
-../secsock/GenericSecureSocket.h 	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(genericsecuresocket.h)
-../secsock/GenericSecureSocket.inl 	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(genericsecuresocket.inl)
-
-../group/tls.iby			/epoc32/rom/include/tls.iby
-../group/SslErr.ra			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(errors/generic/sslerr.ra)
-../group/SslErr.rls			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(errors/generic/sslerr.rls)
-
-PRJ_TESTEXPORTS
-../group/ts_tls.iby			/epoc32/rom/include/ts_tls.iby
-
-../ts_tls/data/cacerts_psk.dat		z:/testdata/configs/cacerts_psk.dat
-../ts_tls/data/certclients_psk.dat	z:/testdata/configs/certclients_psk.dat
-../ts_tls/data/keys_psk.dat		z:/testdata/configs/keys_psk.dat
-
-../ts_tls/scripts/ssl_ntras_31.script 	z:/testdata/scripts/ssl_ntras_31.script
-../ts_tls/scripts/ssl_ntras_30.script 	z:/testdata/scripts/ssl_ntras_30.script
-../ts_tls/scripts/Tls_ntras.cfg 	z:/testdata/configs/tls_ntras.cfg
-../ts_tls/scripts/tls_oom.script 	z:/testdata/scripts/tls_oom.script
-../ts_tls/scripts/tls_psk.script 	z:/testdata/scripts/tls_psk.script
-../ts_tls/scripts/Tls_ethernet.xml 	z:/testdata/configs/tls_ethernet.xml
-
-
-// tsecdlg input file
-../ts_tls/data/tls_t_secdlg_in.dat 	z:/testdata/configs/tls_t_secdlg_in.dat
-
-../ts_tls/scripts/Tls3.ini  	 	z:/testdata/configs/tls3.ini
-../ts_tls/scripts/Tls4.ini  	 	z:/testdata/configs/tls4.ini
-../ts_tls/scripts/Tls5.ini  	 	z:/testdata/configs/tls5.ini
-../ts_tls/scripts/Tls8.ini  	 	z:/testdata/configs/tls8.ini
-../ts_tls/scripts/Tls9.ini  	 	z:/testdata/configs/tls9.ini
-../ts_tls/scripts/Tls11.ini  	 	z:/testdata/configs/tls11.ini
-../ts_tls/scripts/Tls12.ini  	 	z:/testdata/configs/tls12.ini
-../ts_tls/scripts/Tls13.ini  	 	z:/testdata/configs/tls13.ini
-../ts_tls/scripts/Tls14.ini  	 	z:/testdata/configs/tls14.ini
-../ts_tls/scripts/Tls16.ini  	 	z:/testdata/configs/tls16.ini
-../ts_tls/scripts/Tls19.ini  	 	z:/testdata/configs/tls19.ini
-../ts_tls/scripts/Tls20.ini  	 	z:/testdata/configs/tls20.ini
-../ts_tls/scripts/Tls21.ini  	 	z:/testdata/configs/tls21.ini
-../ts_tls/scripts/Tls22.ini  	 	z:/testdata/configs/tls22.ini
-../ts_tls/scripts/Tls23.ini  	 	z:/testdata/configs/tls23.ini
-../ts_tls/scripts/Tls24.ini  	 	z:/testdata/configs/tls24.ini
-../ts_tls/scripts/Tls25.ini  	 	z:/testdata/configs/tls25.ini
-../ts_tls/scripts/Tls26.ini  	 	z:/testdata/configs/tls26.ini
-../ts_tls/scripts/Tls28.ini  	 	z:/testdata/configs/tls28.ini
-../ts_tls/scripts/Tls5b.ini  	 	z:/testdata/configs/tls5b.ini
-../ts_tls/scripts/TlsA.ini  	 	z:/testdata/configs/tlsa.ini
-../ts_tls/scripts/tls2f.ini  	 	z:/testdata/configs/tls2f.ini
-../ts_tls/scripts/tls35.ini  	 	z:/testdata/configs/tls35.ini
-../ts_tls/scripts/Tls36.ini  	 	z:/testdata/configs/tls36.ini
-../ts_tls/scripts/tls37.ini  	 	z:/testdata/configs/tls37.ini
-../ts_tls/scripts/Tls38.ini  	 	z:/testdata/configs/tls38.ini
-../ts_tls/scripts/Tlssa.ini  	 	z:/testdata/configs/tlssa.ini
-../ts_tls/scripts/tls_oom.ini  	 	z:/testdata/configs/tls_oom.ini
-../ts_tls/scripts/tls1.ini  	 	z:/testdata/configs/tls1.ini
-../ts_tls/scripts/tls2.ini  	 	z:/testdata/configs/tls2.ini
-../ts_tls/scripts/TLS_RSA_WITH_NULL_SHA.ini						z:/testdata/configs/tls_rsa_with_null_sha.ini
-../ts_tls/scripts/TLS_RSA_WITH_NULL_MD5.ini						z:/testdata/configs/tls_rsa_with_null_md5.ini
-../ts_tls/scripts/TLS_SNE_SINGLE_SERVER.ini						z:/testdata/configs/tls_sne_single_server.ini
-../ts_tls/scripts/TLS_SNE_MULTIPLE_SERVER.ini					z:/testdata/configs/tls_sne_multiple_server.ini
-../ts_tls/scripts/TLS_PSK_WITH_RC4_128_SHA.ini					z:/testdata/configs/tls_psk_with_rc4_128_sha.ini
-../ts_tls/scripts/TLS_SNE_SINGLE_SERVER_NEG.ini					z:/testdata/configs/tls_sne_single_server_neg.ini
-../ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA.ini				z:/testdata/configs/tls_psk_with_aes_128_cbc_sha.ini
-../ts_tls/scripts/TLS_PSK_WITH_AES_256_CBC_SHA.ini				z:/testdata/configs/tls_psk_with_aes_256_cbc_sha.ini
-../ts_tls/scripts/TLS_PSK_WITH_3DES_EDE_CBC_SHA.ini				z:/testdata/configs/tls_psk_with_3des_ede_cbc_sha.ini
-../ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA_NOCALLBACK.ini	z:/testdata/configs/tls_psk_with_aes_128_cbc_sha_nocallback.ini
-
-
-
-
-
-PRJ_MMPFILES
-SslLib.mmp
-SSL.MMP
-SecureSocket.mmp
-
-PRJ_TESTMMPFILES
-ts_tls.mmp
--- a/networksecurity/tls/group/SslErr.ra	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/group/SslErr.ra	Tue Jun 29 19:20:22 2010 +0530
@@ -1,371 +1,371 @@
-// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-RESOURCE ARRAY  r_error_res_ssl_handshake_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_default;	//-7400	
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_NoSharedCipher;			
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_SocketBusy;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_InvalidCipherSuite;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_InvalidCert;				
-			}, 
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_NoClientCert;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_UnsupportedKeySize;					
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_UnsupportedKey;					
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_BadRecordHeader;					
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_BadProtocolVersion;				
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_2ServerOnly;
-			},
-		SINGLE_ERROR
-			{
-			text= r_ssl_error_UnexpectedMessage;			
-			},
-		SINGLE_ERROR
-			{
-			text= r_ssl_error_UnsupportedCipher;				
-			},
-		SINGLE_ERROR
-			{
-			text= r_ssl_error_BadMAC;					
-			},
-		SINGLE_ERROR
-			{
-			text= r_ssl_error_RecivedAlert;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_RecvNotSupportedHS;  // -7415
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_HSRecordFieldTooBig;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_RecordHeaderTooBig;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_SendDataToBig;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_NoCertificate;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_InvalidHash;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_SendCanceled;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_RecvCanceled;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_RecvCanceled;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_HandshakeCanceled;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_WriteFailed;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_DisconnectIndication;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_DllLeave;
-			}
-		};
-	}
-
-
-RESOURCE ARRAY  r_error_res_ssl_alert_errors
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertCloseNotify;		//-7500
-			}
-		};
-	}
-
-RESOURCE ARRAY  r_error_res_ssl_alert_UnexpectedMessage
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertUnexpectedMessage;		//-7510
-			}
-		};
-	}
-
-RESOURCE ARRAY  r_error_res_ssl_alert_mac
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertBadReordMac;		//-7520
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertDecryptionFailed;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertRecordOverflow;
-			}
-		};
-	}
-
-RESOURCE ARRAY  r_error_res_ssl_alert_DecompressionFailure
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertDecompressionFailure;		//-7530
-			}
-		};
-	}
-
-RESOURCE ARRAY  r_error_res_ssl_alert_handshake
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertHandshakeFailure;		//-7540
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertNoCertificate;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertBadCertificate;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertUnsupportedCertificate;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertCertificateRevoked;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertCertificateExpired;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertCertificateUnknown;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertIllegalParameter;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertUnknownCA;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertAccessDenied;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertDecodeError;
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertDecryptError;
-			}
-		};
-	}
-
-RESOURCE ARRAY  r_error_res_ssl_alert_ExportRestriction
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertExportRestriction;		//-7560
-			}
-		};
-	}
-
-RESOURCE ARRAY  r_error_res_ssl_alert_Security
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertProtocolVersion;		//-7570
-			},
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertInsufficientSecurity;
-			}
-		};
-	}
-
-
-RESOURCE ARRAY  r_error_res_ssl_alert_InternalError
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertInternalError;		//-7580
-			}
-		};
-	}
-
-RESOURCE ARRAY  r_error_res_ssl_alert_UserCanceled
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertUserCanceled;		//-7590
-			}
-		};
-	}
-
-RESOURCE ARRAY  r_error_res_ssl_alert_NoRenegotiation
-	{
-	items=
-		{
-		SINGLE_ERROR
-			{
-			text=r_ssl_error_ssl_AlertNoRenegotiation;		//-7600
-			}
-		};
-	}
-
-RESOURCE TBUF r_ssl_error_ssl_default { buf = STRING_r_ssl_error_ssl_default; }			// -7400
-RESOURCE TBUF r_ssl_error_NoSharedCipher { buf = STRING_r_ssl_error_NoSharedCipher ; }		// -7401
-RESOURCE TBUF r_ssl_error_SocketBusy { buf = STRING_r_ssl_error_SocketBusy; }			// -7402
-RESOURCE TBUF r_ssl_error_InvalidCipherSuite { buf = STRING_r_ssl_error_InvalidCipherSuite; }	// -7403
-RESOURCE TBUF r_ssl_error_InvalidCert { buf = STRING_r_ssl_error_InvalidCert; }			// -7404
-RESOURCE TBUF r_ssl_error_NoClientCert { buf = STRING_r_ssl_error_NoClientCert; }		// -7405
-RESOURCE TBUF r_ssl_error_UnsupportedKeySize { buf = STRING_r_ssl_error_UnsupportedKeySize; }	// -7406
-RESOURCE TBUF r_ssl_error_UnsupportedKey { buf = STRING_r_ssl_error_UnsupportedKey; }		// -7407
-RESOURCE TBUF r_ssl_error_BadRecordHeader { buf = STRING_r_ssl_error_BadRecordHeader; }		// -7408
-RESOURCE TBUF r_ssl_error_BadProtocolVersion { buf = STRING_r_ssl_error_BadProtocolVersion; }	// -7409
-RESOURCE TBUF r_ssl_error_2ServerOnly { buf = STRING_r_ssl_error_2ServerOnly; }			// -7410
-RESOURCE TBUF  r_ssl_error_UnexpectedMessage { buf = STRING_r_ssl_error_UnexpectedMessage; }
-RESOURCE TBUF  r_ssl_error_UnsupportedCipher { buf = STRING_r_ssl_error_UnsupportedCipher; }
-RESOURCE TBUF  r_ssl_error_BadMAC { buf = STRING_r_ssl_error_BadMAC; }
-RESOURCE TBUF  r_ssl_error_RecivedAlert { buf = STRING_r_ssl_error_RecivedAlert; }
-RESOURCE TBUF r_ssl_error_RecvNotSupportedHS { buf = STRING_r_ssl_error_RecvNotSupportedHS ; } // -7415
-RESOURCE TBUF r_ssl_error_HSRecordFieldTooBig { buf = STRING_r_ssl_error_HSRecordFieldTooBig; }
-RESOURCE TBUF r_ssl_error_RecordHeaderTooBig { buf = STRING_r_ssl_error_RecordHeaderTooBig; }
-RESOURCE TBUF r_ssl_error_SendDataToBig { buf = STRING_r_ssl_error_SendDataToBig; }
-RESOURCE TBUF r_ssl_error_NoCertificate { buf = STRING_r_ssl_error_NoCertificate; }
-RESOURCE TBUF r_ssl_error_InvalidHash { buf = STRING_r_ssl_error_InvalidHash; }			// -7420
-RESOURCE TBUF r_ssl_error_SendCanceled { buf = STRING_r_ssl_error_SendCanceled; }
-RESOURCE TBUF r_ssl_error_RecvCanceled { buf = STRING_r_ssl_error_RecvCanceled; }
-RESOURCE TBUF r_ssl_error_HandshakeCanceled { buf = STRING_r_ssl_error_HandshakeCanceled; }
-RESOURCE TBUF r_ssl_error_WriteFailed { buf = STRING_r_ssl_error_WriteFailed; }
-RESOURCE TBUF r_ssl_error_FailedToLoad { buf = STRING_r_ssl_error_FailedToLoad; }
-RESOURCE TBUF r_ssl_error_DisconnectIndication { buf = STRING_r_ssl_error_DisconnectIndication; }
-RESOURCE TBUF r_ssl_error_DllLeave { buf = STRING_r_ssl_error_DllLeave; }			// -7427
-
-
-RESOURCE TBUF r_ssl_error_ssl_AlertCloseNotify { buf = STRING_r_ssl_error_ssl_AlertCloseNotify; }		//-7500
-
-
-RESOURCE TBUF r_ssl_error_ssl_AlertUnexpectedMessage { buf = STRING_r_ssl_error_ssl_AlertUnexpectedMessage; }		//-7510
-
-RESOURCE TBUF r_ssl_error_ssl_AlertBadReordMac { buf = STRING_r_ssl_error_ssl_AlertBadReordMac; }		//-7520
-RESOURCE TBUF r_ssl_error_ssl_AlertDecryptionFailed { buf = STRING_r_ssl_error_ssl_AlertDecryptionFailed; }
-RESOURCE TBUF r_ssl_error_ssl_AlertRecordOverflow { buf = STRING_r_ssl_error_ssl_AlertRecordOverflow; }
-
-
-RESOURCE TBUF r_ssl_error_ssl_AlertDecompressionFailure { buf = STRING_r_ssl_error_ssl_AlertDecompressionFailure; }		//-7530
-
-
-RESOURCE TBUF r_ssl_error_ssl_AlertHandshakeFailure { buf = STRING_r_ssl_error_ssl_AlertHandshakeFailure; }		//-7540
-RESOURCE TBUF r_ssl_error_ssl_AlertNoCertificate { buf = STRING_r_ssl_error_ssl_AlertNoCertificate; }
-RESOURCE TBUF r_ssl_error_ssl_AlertBadCertificate { buf = STRING_r_ssl_error_ssl_AlertBadCertificate; }
-RESOURCE TBUF r_ssl_error_ssl_AlertUnsupportedCertificate { buf = STRING_r_ssl_error_ssl_AlertUnsupportedCertificate; }
-RESOURCE TBUF r_ssl_error_ssl_AlertCertificateRevoked { buf = STRING_r_ssl_error_ssl_AlertCertificateRevoked; }
-RESOURCE TBUF r_ssl_error_ssl_AlertCertificateExpired { buf = STRING_r_ssl_error_ssl_AlertCertificateExpired; }
-RESOURCE TBUF r_ssl_error_ssl_AlertCertificateUnknown { buf = STRING_r_ssl_error_ssl_AlertCertificateUnknown; }
-RESOURCE TBUF r_ssl_error_ssl_AlertIllegalParameter { buf = STRING_r_ssl_error_ssl_AlertIllegalParameter; }
-RESOURCE TBUF r_ssl_error_ssl_AlertUnknownCA { buf = STRING_r_ssl_error_ssl_AlertUnknownCA; }
-RESOURCE TBUF r_ssl_error_ssl_AlertAccessDenied { buf = STRING_r_ssl_error_ssl_AlertAccessDenied; }
-RESOURCE TBUF r_ssl_error_ssl_AlertDecodeError { buf = STRING_r_ssl_error_ssl_AlertDecodeError; }
-RESOURCE TBUF r_ssl_error_ssl_AlertDecryptError { buf = STRING_r_ssl_error_ssl_AlertDecryptError; }
-
-RESOURCE TBUF r_ssl_error_ssl_AlertExportRestriction { buf = STRING_r_ssl_error_ssl_AlertExportRestriction; }		//-7560
-
-
-RESOURCE TBUF r_ssl_error_ssl_AlertProtocolVersion { buf = STRING_r_ssl_error_ssl_AlertProtocolVersion; }		//-7570
-RESOURCE TBUF r_ssl_error_ssl_AlertInsufficientSecurity { buf = STRING_r_ssl_error_ssl_AlertInsufficientSecurity; }
-
-
-RESOURCE TBUF r_ssl_error_ssl_AlertInternalError { buf = STRING_r_ssl_error_ssl_AlertInternalError; }		//-7580
-
-RESOURCE TBUF r_ssl_error_ssl_AlertUserCanceled { buf = STRING_r_ssl_error_ssl_AlertUserCanceled; }		//-7590
-
-
-RESOURCE TBUF r_ssl_error_ssl_AlertNoRenegotiation { buf = STRING_r_ssl_error_ssl_AlertNoRenegotiation; }		//-7600
+// Copyright (c) 2001-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+RESOURCE ARRAY  r_error_res_ssl_handshake_errors
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_default;	//-7400	
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_NoSharedCipher;			
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_SocketBusy;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_InvalidCipherSuite;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_InvalidCert;				
+			}, 
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_NoClientCert;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_UnsupportedKeySize;					
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_UnsupportedKey;					
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_BadRecordHeader;					
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_BadProtocolVersion;				
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_2ServerOnly;
+			},
+		SINGLE_ERROR
+			{
+			text= r_ssl_error_UnexpectedMessage;			
+			},
+		SINGLE_ERROR
+			{
+			text= r_ssl_error_UnsupportedCipher;				
+			},
+		SINGLE_ERROR
+			{
+			text= r_ssl_error_BadMAC;					
+			},
+		SINGLE_ERROR
+			{
+			text= r_ssl_error_RecivedAlert;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_RecvNotSupportedHS;  // -7415
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_HSRecordFieldTooBig;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_RecordHeaderTooBig;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_SendDataToBig;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_NoCertificate;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_InvalidHash;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_SendCanceled;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_RecvCanceled;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_RecvCanceled;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_HandshakeCanceled;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_WriteFailed;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_DisconnectIndication;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_DllLeave;
+			}
+		};
+	}
+
+
+RESOURCE ARRAY  r_error_res_ssl_alert_errors
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertCloseNotify;		//-7500
+			}
+		};
+	}
+
+RESOURCE ARRAY  r_error_res_ssl_alert_UnexpectedMessage
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertUnexpectedMessage;		//-7510
+			}
+		};
+	}
+
+RESOURCE ARRAY  r_error_res_ssl_alert_mac
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertBadReordMac;		//-7520
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertDecryptionFailed;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertRecordOverflow;
+			}
+		};
+	}
+
+RESOURCE ARRAY  r_error_res_ssl_alert_DecompressionFailure
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertDecompressionFailure;		//-7530
+			}
+		};
+	}
+
+RESOURCE ARRAY  r_error_res_ssl_alert_handshake
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertHandshakeFailure;		//-7540
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertNoCertificate;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertBadCertificate;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertUnsupportedCertificate;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertCertificateRevoked;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertCertificateExpired;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertCertificateUnknown;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertIllegalParameter;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertUnknownCA;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertAccessDenied;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertDecodeError;
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertDecryptError;
+			}
+		};
+	}
+
+RESOURCE ARRAY  r_error_res_ssl_alert_ExportRestriction
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertExportRestriction;		//-7560
+			}
+		};
+	}
+
+RESOURCE ARRAY  r_error_res_ssl_alert_Security
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertProtocolVersion;		//-7570
+			},
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertInsufficientSecurity;
+			}
+		};
+	}
+
+
+RESOURCE ARRAY  r_error_res_ssl_alert_InternalError
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertInternalError;		//-7580
+			}
+		};
+	}
+
+RESOURCE ARRAY  r_error_res_ssl_alert_UserCanceled
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertUserCanceled;		//-7590
+			}
+		};
+	}
+
+RESOURCE ARRAY  r_error_res_ssl_alert_NoRenegotiation
+	{
+	items=
+		{
+		SINGLE_ERROR
+			{
+			text=r_ssl_error_ssl_AlertNoRenegotiation;		//-7600
+			}
+		};
+	}
+
+RESOURCE TBUF r_ssl_error_ssl_default { buf = STRING_r_ssl_error_ssl_default; }			// -7400
+RESOURCE TBUF r_ssl_error_NoSharedCipher { buf = STRING_r_ssl_error_NoSharedCipher ; }		// -7401
+RESOURCE TBUF r_ssl_error_SocketBusy { buf = STRING_r_ssl_error_SocketBusy; }			// -7402
+RESOURCE TBUF r_ssl_error_InvalidCipherSuite { buf = STRING_r_ssl_error_InvalidCipherSuite; }	// -7403
+RESOURCE TBUF r_ssl_error_InvalidCert { buf = STRING_r_ssl_error_InvalidCert; }			// -7404
+RESOURCE TBUF r_ssl_error_NoClientCert { buf = STRING_r_ssl_error_NoClientCert; }		// -7405
+RESOURCE TBUF r_ssl_error_UnsupportedKeySize { buf = STRING_r_ssl_error_UnsupportedKeySize; }	// -7406
+RESOURCE TBUF r_ssl_error_UnsupportedKey { buf = STRING_r_ssl_error_UnsupportedKey; }		// -7407
+RESOURCE TBUF r_ssl_error_BadRecordHeader { buf = STRING_r_ssl_error_BadRecordHeader; }		// -7408
+RESOURCE TBUF r_ssl_error_BadProtocolVersion { buf = STRING_r_ssl_error_BadProtocolVersion; }	// -7409
+RESOURCE TBUF r_ssl_error_2ServerOnly { buf = STRING_r_ssl_error_2ServerOnly; }			// -7410
+RESOURCE TBUF  r_ssl_error_UnexpectedMessage { buf = STRING_r_ssl_error_UnexpectedMessage; }
+RESOURCE TBUF  r_ssl_error_UnsupportedCipher { buf = STRING_r_ssl_error_UnsupportedCipher; }
+RESOURCE TBUF  r_ssl_error_BadMAC { buf = STRING_r_ssl_error_BadMAC; }
+RESOURCE TBUF  r_ssl_error_RecivedAlert { buf = STRING_r_ssl_error_RecivedAlert; }
+RESOURCE TBUF r_ssl_error_RecvNotSupportedHS { buf = STRING_r_ssl_error_RecvNotSupportedHS ; } // -7415
+RESOURCE TBUF r_ssl_error_HSRecordFieldTooBig { buf = STRING_r_ssl_error_HSRecordFieldTooBig; }
+RESOURCE TBUF r_ssl_error_RecordHeaderTooBig { buf = STRING_r_ssl_error_RecordHeaderTooBig; }
+RESOURCE TBUF r_ssl_error_SendDataToBig { buf = STRING_r_ssl_error_SendDataToBig; }
+RESOURCE TBUF r_ssl_error_NoCertificate { buf = STRING_r_ssl_error_NoCertificate; }
+RESOURCE TBUF r_ssl_error_InvalidHash { buf = STRING_r_ssl_error_InvalidHash; }			// -7420
+RESOURCE TBUF r_ssl_error_SendCanceled { buf = STRING_r_ssl_error_SendCanceled; }
+RESOURCE TBUF r_ssl_error_RecvCanceled { buf = STRING_r_ssl_error_RecvCanceled; }
+RESOURCE TBUF r_ssl_error_HandshakeCanceled { buf = STRING_r_ssl_error_HandshakeCanceled; }
+RESOURCE TBUF r_ssl_error_WriteFailed { buf = STRING_r_ssl_error_WriteFailed; }
+RESOURCE TBUF r_ssl_error_FailedToLoad { buf = STRING_r_ssl_error_FailedToLoad; }
+RESOURCE TBUF r_ssl_error_DisconnectIndication { buf = STRING_r_ssl_error_DisconnectIndication; }
+RESOURCE TBUF r_ssl_error_DllLeave { buf = STRING_r_ssl_error_DllLeave; }			// -7427
+
+
+RESOURCE TBUF r_ssl_error_ssl_AlertCloseNotify { buf = STRING_r_ssl_error_ssl_AlertCloseNotify; }		//-7500
+
+
+RESOURCE TBUF r_ssl_error_ssl_AlertUnexpectedMessage { buf = STRING_r_ssl_error_ssl_AlertUnexpectedMessage; }		//-7510
+
+RESOURCE TBUF r_ssl_error_ssl_AlertBadReordMac { buf = STRING_r_ssl_error_ssl_AlertBadReordMac; }		//-7520
+RESOURCE TBUF r_ssl_error_ssl_AlertDecryptionFailed { buf = STRING_r_ssl_error_ssl_AlertDecryptionFailed; }
+RESOURCE TBUF r_ssl_error_ssl_AlertRecordOverflow { buf = STRING_r_ssl_error_ssl_AlertRecordOverflow; }
+
+
+RESOURCE TBUF r_ssl_error_ssl_AlertDecompressionFailure { buf = STRING_r_ssl_error_ssl_AlertDecompressionFailure; }		//-7530
+
+
+RESOURCE TBUF r_ssl_error_ssl_AlertHandshakeFailure { buf = STRING_r_ssl_error_ssl_AlertHandshakeFailure; }		//-7540
+RESOURCE TBUF r_ssl_error_ssl_AlertNoCertificate { buf = STRING_r_ssl_error_ssl_AlertNoCertificate; }
+RESOURCE TBUF r_ssl_error_ssl_AlertBadCertificate { buf = STRING_r_ssl_error_ssl_AlertBadCertificate; }
+RESOURCE TBUF r_ssl_error_ssl_AlertUnsupportedCertificate { buf = STRING_r_ssl_error_ssl_AlertUnsupportedCertificate; }
+RESOURCE TBUF r_ssl_error_ssl_AlertCertificateRevoked { buf = STRING_r_ssl_error_ssl_AlertCertificateRevoked; }
+RESOURCE TBUF r_ssl_error_ssl_AlertCertificateExpired { buf = STRING_r_ssl_error_ssl_AlertCertificateExpired; }
+RESOURCE TBUF r_ssl_error_ssl_AlertCertificateUnknown { buf = STRING_r_ssl_error_ssl_AlertCertificateUnknown; }
+RESOURCE TBUF r_ssl_error_ssl_AlertIllegalParameter { buf = STRING_r_ssl_error_ssl_AlertIllegalParameter; }
+RESOURCE TBUF r_ssl_error_ssl_AlertUnknownCA { buf = STRING_r_ssl_error_ssl_AlertUnknownCA; }
+RESOURCE TBUF r_ssl_error_ssl_AlertAccessDenied { buf = STRING_r_ssl_error_ssl_AlertAccessDenied; }
+RESOURCE TBUF r_ssl_error_ssl_AlertDecodeError { buf = STRING_r_ssl_error_ssl_AlertDecodeError; }
+RESOURCE TBUF r_ssl_error_ssl_AlertDecryptError { buf = STRING_r_ssl_error_ssl_AlertDecryptError; }
+
+RESOURCE TBUF r_ssl_error_ssl_AlertExportRestriction { buf = STRING_r_ssl_error_ssl_AlertExportRestriction; }		//-7560
+
+
+RESOURCE TBUF r_ssl_error_ssl_AlertProtocolVersion { buf = STRING_r_ssl_error_ssl_AlertProtocolVersion; }		//-7570
+RESOURCE TBUF r_ssl_error_ssl_AlertInsufficientSecurity { buf = STRING_r_ssl_error_ssl_AlertInsufficientSecurity; }
+
+
+RESOURCE TBUF r_ssl_error_ssl_AlertInternalError { buf = STRING_r_ssl_error_ssl_AlertInternalError; }		//-7580
+
+RESOURCE TBUF r_ssl_error_ssl_AlertUserCanceled { buf = STRING_r_ssl_error_ssl_AlertUserCanceled; }		//-7590
+
+
+RESOURCE TBUF r_ssl_error_ssl_AlertNoRenegotiation { buf = STRING_r_ssl_error_ssl_AlertNoRenegotiation; }		//-7600
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,113 @@
+// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// SSL 3.0 and TLS 1.0 implementation
+// 
+//
+
+/**
+ @file
+*/
+
+#include "../test/te_tlsunittest/group/bld.inf"
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+PRJ_EXPORTS
+
+../inc/SSL.H SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(ssl.h)
+../inc/ssl_compatibility.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(ssl_compatibility.h)
+../inc/ssl_internal.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(ssl_internal.h)
+../inc/SSLErr.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(sslerr.h)
+../secsock/SecureSocketInterface.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(securesocketinterface.h)
+../secsock/SecureSocket.h SYMBIAN_OS_LAYER_PUBLIC_EXPORT_PATH(securesocket.h)
+../secsock/securesocket_internal.h SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(securesocket_internal.h)
+../secsock/GenericSecureSocket.h 	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(genericsecuresocket.h)
+../secsock/GenericSecureSocket.inl 	SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(genericsecuresocket.inl)
+
+../group/tls.iby			/epoc32/rom/include/tls.iby
+../group/SslErr.ra			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(errors/generic/sslerr.ra)
+../group/SslErr.rls			SYMBIAN_OS_LAYER_PLATFORM_EXPORT_PATH(errors/generic/sslerr.rls)
+
+PRJ_TESTEXPORTS
+../group/ts_tls.iby			/epoc32/rom/include/ts_tls.iby
+
+../ts_tls/data/cacerts_psk.dat		z:/testdata/configs/cacerts_psk.dat
+../ts_tls/data/certclients_psk.dat	z:/testdata/configs/certclients_psk.dat
+../ts_tls/data/keys_psk.dat		z:/testdata/configs/keys_psk.dat
+
+../ts_tls/scripts/ssl_ntras_31.script 	z:/testdata/scripts/ssl_ntras_31.script
+../ts_tls/scripts/ssl_ntras_30.script 	z:/testdata/scripts/ssl_ntras_30.script
+../ts_tls/scripts/Tls_ntras.cfg 	z:/testdata/configs/tls_ntras.cfg
+../ts_tls/scripts/tls_oom.script 	z:/testdata/scripts/tls_oom.script
+../ts_tls/scripts/tls_psk.script 	z:/testdata/scripts/tls_psk.script
+../ts_tls/scripts/Tls_ethernet.xml 	z:/testdata/configs/tls_ethernet.xml
+
+
+// tsecdlg input file
+../ts_tls/data/tls_t_secdlg_in.dat 	z:/testdata/configs/tls_t_secdlg_in.dat
+
+../ts_tls/scripts/Tls3.ini  	 	z:/testdata/configs/tls3.ini
+../ts_tls/scripts/Tls4.ini  	 	z:/testdata/configs/tls4.ini
+../ts_tls/scripts/Tls5.ini  	 	z:/testdata/configs/tls5.ini
+../ts_tls/scripts/Tls8.ini  	 	z:/testdata/configs/tls8.ini
+../ts_tls/scripts/Tls9.ini  	 	z:/testdata/configs/tls9.ini
+../ts_tls/scripts/Tls11.ini  	 	z:/testdata/configs/tls11.ini
+../ts_tls/scripts/Tls12.ini  	 	z:/testdata/configs/tls12.ini
+../ts_tls/scripts/Tls13.ini  	 	z:/testdata/configs/tls13.ini
+../ts_tls/scripts/Tls14.ini  	 	z:/testdata/configs/tls14.ini
+../ts_tls/scripts/Tls16.ini  	 	z:/testdata/configs/tls16.ini
+../ts_tls/scripts/Tls19.ini  	 	z:/testdata/configs/tls19.ini
+../ts_tls/scripts/Tls20.ini  	 	z:/testdata/configs/tls20.ini
+../ts_tls/scripts/Tls21.ini  	 	z:/testdata/configs/tls21.ini
+../ts_tls/scripts/Tls22.ini  	 	z:/testdata/configs/tls22.ini
+../ts_tls/scripts/Tls23.ini  	 	z:/testdata/configs/tls23.ini
+../ts_tls/scripts/Tls24.ini  	 	z:/testdata/configs/tls24.ini
+../ts_tls/scripts/Tls25.ini  	 	z:/testdata/configs/tls25.ini
+../ts_tls/scripts/Tls26.ini  	 	z:/testdata/configs/tls26.ini
+../ts_tls/scripts/Tls28.ini  	 	z:/testdata/configs/tls28.ini
+../ts_tls/scripts/Tls5b.ini  	 	z:/testdata/configs/tls5b.ini
+../ts_tls/scripts/TlsA.ini  	 	z:/testdata/configs/tlsa.ini
+../ts_tls/scripts/tls2f.ini  	 	z:/testdata/configs/tls2f.ini
+../ts_tls/scripts/tls35.ini  	 	z:/testdata/configs/tls35.ini
+../ts_tls/scripts/Tls36.ini  	 	z:/testdata/configs/tls36.ini
+../ts_tls/scripts/tls37.ini  	 	z:/testdata/configs/tls37.ini
+../ts_tls/scripts/Tls38.ini  	 	z:/testdata/configs/tls38.ini
+../ts_tls/scripts/Tlssa.ini  	 	z:/testdata/configs/tlssa.ini
+../ts_tls/scripts/tls_oom.ini  	 	z:/testdata/configs/tls_oom.ini
+../ts_tls/scripts/tls1.ini  	 	z:/testdata/configs/tls1.ini
+../ts_tls/scripts/tls2.ini  	 	z:/testdata/configs/tls2.ini
+../ts_tls/scripts/TLS_RSA_WITH_NULL_SHA.ini						z:/testdata/configs/tls_rsa_with_null_sha.ini
+../ts_tls/scripts/TLS_RSA_WITH_NULL_MD5.ini						z:/testdata/configs/tls_rsa_with_null_md5.ini
+../ts_tls/scripts/TLS_SNE_SINGLE_SERVER.ini						z:/testdata/configs/tls_sne_single_server.ini
+../ts_tls/scripts/TLS_SNE_MULTIPLE_SERVER.ini					z:/testdata/configs/tls_sne_multiple_server.ini
+../ts_tls/scripts/TLS_PSK_WITH_RC4_128_SHA.ini					z:/testdata/configs/tls_psk_with_rc4_128_sha.ini
+../ts_tls/scripts/TLS_SNE_SINGLE_SERVER_NEG.ini					z:/testdata/configs/tls_sne_single_server_neg.ini
+../ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA.ini				z:/testdata/configs/tls_psk_with_aes_128_cbc_sha.ini
+../ts_tls/scripts/TLS_PSK_WITH_AES_256_CBC_SHA.ini				z:/testdata/configs/tls_psk_with_aes_256_cbc_sha.ini
+../ts_tls/scripts/TLS_PSK_WITH_3DES_EDE_CBC_SHA.ini				z:/testdata/configs/tls_psk_with_3des_ede_cbc_sha.ini
+../ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA_NOCALLBACK.ini	z:/testdata/configs/tls_psk_with_aes_128_cbc_sha_nocallback.ini
+
+
+
+
+
+PRJ_MMPFILES
+SslLib.mmp
+SSL.MMP
+SecureSocket.mmp
+
+PRJ_TESTMMPFILES
+ts_tls.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/TestWrapper.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,940 @@
+// Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+#include <windows.h>
+#include <iostream>
+#include <fstream>
+#include <string>
+#include <stdlib.h>
+#include <direct.h>
+
+
+using namespace std;
+STARTUPINFO startupInfo;
+PROCESS_INFORMATION processInfo;
+STARTUPINFO startupInfoTls;
+PROCESS_INFORMATION processInfoTls;
+const char* CodenomiconPath = "C:/Program Files/Codenomicon/tlsc-31/testtool/tlsc-31.jar";
+const char* TestToolWrapperPath = "D:\\TlsTestWrapper\\";
+
+int ReadConfigurations(const string& fileName, string& configSettings);
+int GetPlatformAndBuild(const string& fileName, string& platform, string& build);
+int RunTlsTestTool(const string& config, const string& jarPath);
+int RunEpocTlsTest(const string& platform, const string& build);
+int ParseLog(const string& fileDir, string& reportName);
+int GetLogDirectory(const string& configFileName, string& logDir);
+void ConvertPath(string& path);
+int GetPlatformAndBuild(const string& fileName, string& platform, string& build);
+void GetEpocDrive(string& drive);
+void RemoveSpacesAround(string& inString);
+int EpocPreTestConfig(const string& drive, const string& platform, const string& build);
+int EpocPostTestConfig(const string& drive, const string& platform, const string& build);
+void WaitForEpocTest();
+
+/* this function is used to read the configuration settings from the config file
+   for Codenomicon TLS Client test tool
+
+   its parameters are:
+   1) fileName(in): this contains the name of the config file
+   2) configSettings(out): on return, this contains the configuration settings
+*/
+int ReadConfigurations(const string& fileName, string& configSettings)
+    {
+    ifstream configFile(fileName.c_str());
+    if(configFile.is_open())
+        { 
+        string configLine;
+
+        // go to the codenomicon params section
+        getline(configFile,configLine);
+        while(configLine.find("[params]", 0) == string::npos)
+            {
+            getline(configFile,configLine);
+            if(configFile.eof())
+                {
+                cout<<"\ncould not find [params] section in config file"<<endl;
+                return -1;
+                }
+            }
+
+        // reached the params section, now read the configuration settings
+        while(!configFile.eof())
+            {
+            getline(configFile, configLine);
+
+            if(!configLine.empty())
+                {
+                // chop off any blank spaces before the config options
+                while(configLine[0] == ' ')
+                    {
+                    configLine.erase(0, 1);
+                    }
+
+                // add to config string only if the line is not a comment
+                if(configLine[0] != '/' && configLine[1] != '/')
+                    {
+                    // codenomicon expects each config setting to be preceeded with --
+                    configSettings = configSettings + " --" + configLine;
+                    }
+                }
+            }
+
+        configFile.close();
+        }
+    else
+        {
+        cout << "Unable to open config file: "<< fileName;
+        return -1;
+        }
+    }
+
+/* this function is used to remove spaces before as well as after a word
+
+   its parameter is:
+   1) inString (in/out): this contains the input string and on return is contains
+      the string without any spaces before or after the word
+*/
+
+void RemoveSpacesAround(string& inString)
+    {
+    int i = 0;
+    while(inString[i] == ' ')
+        {
+        inString.erase(i, 1);
+        ++i;
+        }
+
+    i = inString.length();
+    while(inString[i] == ' ')
+        {
+        inString.erase(i, 1);
+        --i;
+        }
+
+    }
+
+/* this function is used to read the platform and build from the config file for
+   which the test has to be run
+
+   its parameters are:
+   1) fileName(in): this contains the name of the config file
+   2) platform(out): on return, this contains the platform
+   3) build(out): on return, this contains the build
+*/
+
+int GetPlatformAndBuild(const string& fileName, string& platform, string& build)
+    {
+    ifstream configFile(fileName.c_str());
+    if(!configFile.is_open())
+        {
+        cout<<"Failed to open config file: "<<fileName<<endl;
+        return -1;
+        }
+
+    string configLine;
+    bool foundPlatform = false;
+    bool foundBuild = false;
+    int posPlatform = -1;
+    int posBuild = -1;
+
+
+    // read the platform and build section from the file in a single pass
+    while(!configFile.eof())
+        {
+        getline(configFile,configLine);
+        posPlatform = configLine.find("[platform]", 0);
+        if(posPlatform != string::npos)
+            {
+            // found platform section, its value is after the [platform], i.e. 10 positions after it
+            platform = configLine.substr(posPlatform + 10, configLine.length());
+            RemoveSpacesAround(platform);
+            foundPlatform = true;
+            if(foundBuild)
+                {
+                configFile.close();
+                return 0;
+                }
+            }
+
+        posBuild = configLine.find("[build]", 0);
+        if(posBuild != string::npos)
+            {
+            // found the build section, its value is after the [build], i.e. 7 positions after it
+            build = configLine.substr(posBuild + 7, configLine.length());
+            RemoveSpacesAround(build);
+            foundBuild = true;
+            if(foundPlatform)
+                {
+                configFile.close();
+                return 0;
+                }
+            }
+        }
+
+        // could not find either platform or build or both
+        if(!foundPlatform)
+            {
+            cout<<"\nCould not find Platform section"<<endl;
+            }
+        if(!foundBuild)
+            {
+            cout<<"Could not find Build section"<<endl;
+            }
+
+        configFile.close();
+        return -1;
+    }
+
+
+/* this function runs the TLS test tool i.e. Codenomicon.
+
+   its parameters are:
+   1) config(in): the configuration options for the Codenomicon tool
+   2) jarPath(in): the path of the Codenomicon jar file
+*/
+
+int RunTlsTestTool(const string& config, const string& jarPath)
+    {
+    string command = "java -Xmx128M -jar " + jarPath + config;
+    //cout<<endl<<command<<endl;
+
+    //return system(command.c_str());
+
+
+    ZeroMemory(&startupInfoTls, sizeof(startupInfoTls));
+    startupInfoTls.cb = sizeof(startupInfoTls);
+
+    ZeroMemory(&processInfoTls, sizeof(processInfoTls));
+
+  //  string tlsTestProgram = driveLetter +":/epoc32/RELEASE/"+ platform +"/"+ build +"/TlsClientTest";
+    //cout<<"\ntls test program path: "<<tlsTestProgram<<endl;
+
+    cout<<"Launching Codenomicon TLS test tool"<<endl;
+    // create a separate process for Codenomicon TLS test tool
+    if(!CreateProcess( NULL,   // no module name (use command line)
+        (char*)command.c_str(),  // Codenomicon TLS test tool
+        NULL,             // process handle not inheritable
+        NULL,             // thread handle not inheritable
+        FALSE,            // set handle inheritance to FALSE
+        0,                // no creation flags
+        NULL,             // use parent's environment block
+        NULL,             // use parent's starting directory
+        &startupInfoTls,     // pointer to STARTUPINFO structure
+        &processInfoTls)     // pointer to PROCESS_INFORMATION structure
+      )
+        {
+        int ret = GetLastError();
+        cout<<"CreateProcess for Codenomicon TLS test tool failed: "<<ret<<endl;
+        return ret;
+        }
+
+    return 0;
+    }
+
+/* this function parses the log file and prepares a report file
+
+   its parameters are:
+   1) logDir (in): the logging directory
+   2) reportName (out): name of the report file
+*/
+
+int ParseLog(const string& logDir, string& reportName)
+    {
+    int totalError = 0; // keeps track of the total number of errors
+    int length = logDir.length();
+
+    string summaryFileName; // stores the name of the summary file generated by Codenomicon
+    if(logDir[length-1] == '/')
+        {
+        summaryFileName = logDir + "summary.txt";
+        }
+    else
+        {
+        summaryFileName = logDir + "/summary.txt";
+        }
+
+    string logFileName; // stores the name of log file generated by Codenomicon
+    if(logDir[length-1] == '/')
+        {
+        logFileName = logDir + "main.log";
+        }
+    else
+        {
+        logFileName = logDir + "/main.log";
+        }
+
+    // create a report file in the log directory
+    string report = logDir + reportName;
+    ofstream outFile(report.c_str());
+    if(!outFile.is_open())
+        {
+        cout << "Unable to create report file";
+        return -1;
+        }
+
+    // open the summary file and copy its contents to the report file
+    // also find out the total number of tests run
+    int totalTests = 0;
+
+    ifstream summaryFile(summaryFileName.c_str());
+    if(summaryFile.is_open())
+        {
+        string summaryLine;
+        while(!summaryFile.eof())
+            {
+            getline(summaryFile, summaryLine);
+
+            // check if the line has total number of tests
+            if(summaryLine.find("Test cases", 0) != string::npos)
+                {
+                // found the line, now get the number from the string
+                // the number is in the end of the line and it has spaces before it
+                int len = summaryLine.length();
+                int i = len;
+                while(summaryLine[i--] != ' ')
+                    { }
+
+                string totalTestsString = summaryLine.substr(i, summaryLine.length());
+                totalTests = atoi(totalTestsString.c_str());
+                }
+            }
+
+        summaryFile.close();
+        }
+    else
+        {
+        cout << "Unable to open summary file generated by Codenomicon";
+        outFile.close();
+        return -1;
+        }
+
+    // open the log file
+    ifstream logFile(logFileName.c_str());
+    string line;
+    string nextLine;
+
+    if(!logFile.is_open())
+        {
+        cout << "Unable to open log file";
+        outFile.close();
+        return -1;
+        }
+
+    //outFile<<"List of test cases failed"<<endl<<"========================="<<endl;
+    while(!logFile.eof())
+        {
+        getline (logFile,line);
+        if((!line.empty()) && ((line.find("ERROR", 0) != string::npos) || (line.find("error", 0) != string::npos)))
+            {
+     /*       if(line.find("ERROR Expected", 0) == string::npos)       */
+                {
+                // read next line and check if it contains the string "Test case #"
+                getline(logFile,nextLine);
+                if((!nextLine.empty()) && (nextLine.find("Test case #", 0) != string::npos))
+                    {
+                    totalError++;
+
+                    // write line and nextLine to report
+                    //outFile<<line<<endl<<nextLine<<endl;
+                    }
+                else
+                    {
+                    // get the next line as sometimes a line is in between for events and octets
+                    getline(logFile, nextLine);
+                    if((!nextLine.empty()) && (nextLine.find("Test case #", 0) != string::npos))
+                        {
+                        totalError++;
+
+                        // write line and nextLine to report
+                        //outFile<<line<<endl<<nextLine<<endl;
+                        }
+                    }
+                }
+            }
+        }
+
+    outFile<<totalTests-totalError<<endl; // print total no of tests passed
+    outFile<<totalError<<endl;            // print total no of tests failed
+    logFile.close();
+    outFile.close();
+
+    return 0;
+    }
+
+/* this function gets the log directory by reading the config file
+
+   its parameters are:
+   1) configFileName (in): the name of the config file
+   2) logDir (out): on return contains the logging directory
+*/
+
+int GetLogDirectory(const string& configFileName, string& logDir)
+    {
+    ifstream configFile(configFileName.c_str());
+    string configLine;
+
+    if(configFile.is_open())
+        {
+        while(!configFile.eof())
+            {
+            getline(configFile,configLine);
+            if(!configLine.empty())
+                {
+                unsigned int i = configLine.find("log-dir", 0);
+                if(i != string::npos)
+                     {
+                     // found line containing log-dir, extract log directory
+                     logDir = configLine;
+
+                     // erase from first char of the line to the end of "log-dir"
+                     logDir.erase(0, i+7);
+
+                     // chop off any blank spaces before log directory name
+                     while(logDir[0] == ' ')
+                         {
+                         logDir.erase(0, 1);
+                         }
+                     }
+                }
+            }
+
+        configFile.close();
+        }
+        else
+        {
+        cout << "Unable to open file";
+        return -1;
+        }
+
+    }
+
+/* this function converts backward slashes "\" to forward slashes "/" .
+   this is needed to prevent interpretation of backward slashes as format
+   specifiers.
+
+   its parameter is:
+   1) path (in/out): on calling, it contains the path possibly containing backward
+      slashes. on returning, it has path containing no backward slashes
+*/
+
+void ConvertPath(string& path)
+    {
+    for(int i = 0; i<path.length(); i++)
+        {
+        if(path[i] == '\\')
+            {
+            path[i] = '/';
+            }
+        }
+    }
+
+/* this function gets the epoc drive
+
+    its parameters are:
+    1) driveLetter (out): on return contains the epoc drive
+*/
+
+void GetEpocDrive(string& driveLetter)
+    {
+    // get the current drive
+    char currentDrive = _getdrive();
+    currentDrive = currentDrive + 'A' -1;
+
+    driveLetter = "C";
+    driveLetter[0] = currentDrive;
+    }
+
+/*  this function launches the epoc side TLS test.
+
+    its parameters are:
+    1) drive (in): the epoc drive
+    2) platform (in): the platform for which the test will be run (e.g. WINSCW)
+    3) build (in): the build for which the test will be run (e.g. UDEB)
+*/
+
+int RunEpocTlsTest(const string& driveLetter, const string& platform, const string& build)
+    {
+    ZeroMemory(&startupInfo, sizeof(startupInfo));
+    startupInfo.cb = sizeof(startupInfo);
+
+    ZeroMemory(&processInfo, sizeof(processInfo));
+
+    string tlsTestProgram = driveLetter +":/epoc32/RELEASE/"+ platform +"/"+ build +"/TlsClientTest";
+
+
+    //before we launch the TLS test program we have to configure Epoc
+    cout<<"\nConfiguring Epoc for TLS test program"<<endl;
+    int ret = EpocPreTestConfig(driveLetter, platform, build);
+    if(ret != 0)
+        {
+        return ret;
+        }
+
+    cout<<"Launching epoc client side test"<<endl;
+    // create a separate process for epoc test
+    if(!CreateProcess( NULL,   // no module name (use command line)
+        (char*)tlsTestProgram.c_str(),  // epoc TLS client test
+        NULL,             // process handle not inheritable
+        NULL,             // thread handle not inheritable
+        FALSE,            // set handle inheritance to FALSE
+        0,                // no creation flags
+        NULL,             // use parent's environment block
+        NULL,             // use parent's starting directory
+        &startupInfo,     // pointer to STARTUPINFO structure
+        &processInfo)     // pointer to PROCESS_INFORMATION structure
+      )
+        {
+        int ret = GetLastError();
+        cout<<"CreateProcess failed: "<<ret<<endl;
+        cout<<"Tried to execute: "<<tlsTestProgram<<endl;
+
+        // restore the original settings for epoc
+        ret = EpocPostTestConfig(driveLetter, platform, build);
+        if(ret != 0)
+            {
+            cout<<"Failed to restore original commsDat settings: "<<ret<<endl;
+            }
+        return ret;
+        }
+
+    return 0;
+    }
+
+/*  this function configures Epoc for running the TLS test. this involves backing
+    up the current commsDat and configuring the commsDat for loopback using WinTAP
+
+    its parameters are:
+    1) drive (in): the drive on which epoc is mapped
+    2) platform (in): the platform (e.g. WINSCW)
+    3) build (in): the build (e.g. UDEB)
+*/
+
+int EpocPreTestConfig(const string& drive, const string& platform, const string& build)
+    {
+    string testToolPath = TestToolWrapperPath;
+
+    // create a directory for backup
+    string backupDir = "mkdir "+ testToolPath + "backup";
+    int ret = system(backupDir.c_str());
+
+    // make backup of existing epoc.ini and secdlg.dll
+    string backupEpoc = "copy /Y " + drive + ":\\epoc32\\data\\epoc.ini " + testToolPath + "backup\\epoc.ini";
+    ret = system(backupEpoc.c_str());
+  /*  if(ret != 0)
+        {
+        cout<<"failed to copy epoc.ini: "<<endl<<backupEpoc<<endl<<" failed"<<endl;
+        return ret;
+        }
+    */
+    string backupSec = "copy /Y " + drive + ":\\epoc32\\release\\" + platform + "\\" + build + "\\secdlg.dll " + testToolPath + "backup\\secdlg.dll";
+    ret = system(backupSec.c_str());
+  /*  if(ret != 0)
+        {
+        cout<<"failed to copy secdlg.dll: "<<endl<<backupSec<<endl<<" failed"<<endl;
+        return ret;
+        } */
+
+    // delete secdlg.dll from epoc drive
+    string deletesecdlg = "del " + drive + ":\\epoc32\\release\\" + platform + "\\" + build + "\\secdlg.dll ";
+    ret = system(deletesecdlg.c_str());
+ /*   if(ret != 0)
+        {
+        cout<<"failed to delete secdlg.dll: "<<endl<<deletesecdlg<<endl<<" failed"<<endl;
+        return ret;
+        }
+   */
+    // copy the epoc_shell.ini, wintapstaticnogateway.xml, ethertap.pdd and tsecdlg.dll to epoc
+
+    string copyShellIni = "copy /Y " + testToolPath + "epoc_shell.ini " + drive + ":\\epoc32\\data\\epoc.ini";
+    ret = system(copyShellIni.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to copy epoc.ini: "<<endl<<copyShellIni<<endl<<" failed"<<endl;
+        return ret;
+        }
+
+    string copyXml = "copy /Y " + testToolPath + "wintapstaticnogateway.xml " + drive + ":\\epoc32\\" + platform + "\\c";
+    ret = system(copyXml.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to copy wintapstaticnogateway.xml: "<<endl<<copyXml<<endl<<" failed"<<endl;
+        return ret;
+        }
+
+    string copyPdd = "copy /Y " + testToolPath + "ethertap.pdd " + drive + ":\\epoc32\\release\\" + platform + "\\udeb";
+    ret = system(copyPdd.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to copy ethertap.pdd: "<<endl<<copyPdd<<endl<<" failed"<<endl;
+        return ret;
+        }
+
+    string copyDll = "copy /Y " + testToolPath + "tsecdlg.dll " + drive + ":\\epoc32\\release\\" + platform + "\\udeb";
+    ret = system(copyDll.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to copy tsecdlg.dll: "<<endl<<copyDll<<endl<<" failed"<<endl;
+        return ret;
+        }
+
+    // launch 'ceddump' to retrieve the current commsDat configuration
+    string cedDump = drive + ":/epoc32/release/" + platform + "/" + build + "/ceddump";
+    ret = system(cedDump.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to launch ceddump: "<<endl<<cedDump<<endl<<"failed"<<endl;
+        return ret;
+        }
+
+    // delete the old backup file, if it exists
+    string delBackup = "del " + drive + ":\\epoc32\\" + platform + "\\c\\tlsbackup.cfg";
+    cout<<"\ntrying to delete old backup file: tlsbackup.cfg"<<endl;
+    ret = system(delBackup.c_str());
+    if(ret != 0)
+        {}
+
+    // make a backup of current commsDat configuration
+    string backup = "rename " + drive + ":\\epoc32\\" + platform + "\\c\\cedout.cfg tlsbackup.cfg";
+    ret = system(backup.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to save current commsDat: "<<endl<<backup<<endl<<"failed"<<endl;
+        return ret;
+        }
+
+    // set up commsDat for loopback using WinTAP
+    string winTap = drive + ":\\epoc32\\release\\" + platform + "\\" + build + "\\ced c:\\WinTapStaticNoGateway.xml";
+    ret = system(winTap.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed commsDat setup for WinTap: "<<endl<<winTap<<endl<<"failed"<<endl;
+        return ret;
+        }
+    // copy epoc.ini so that the techview boots up in GUI mode - the test runs only in GUI mode
+    string copyIni = "copy /Y " + testToolPath + "epoc.ini " + drive + ":\\epoc32\\data\\epoc.ini";
+    ret = system(copyIni.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to copy epoc.ini: "<<endl<<copyIni<<endl<<" failed"<<endl;
+        return ret;
+        }
+
+
+    return 0;
+    }
+
+/* this function restores the commsDat setup to the original settings (i.e. to that
+   of before running TLS test
+
+    its parameters are:
+    1) drive (in): the drive on which epoc is mapped
+    2) platform (in): the platform (e.g. WINSCW)
+    3) build (in): the build (e.g. UDEB)
+*/
+
+int EpocPostTestConfig(const string& drive, const string& platform, const string& build)
+    {
+    string testToolPath = TestToolWrapperPath;
+
+    string copyShellIni = "copy /Y " + testToolPath + "epoc_shell.ini " + drive + ":\\epoc32\\data\\epoc.ini";
+    int ret = system(copyShellIni.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to copy epoc.ini: "<<endl<<copyShellIni<<endl<<" failed"<<endl;
+        return ret;
+        }
+
+    // restore previous commsDat setup
+    string prevSetting = drive + ":\\epoc32\\release\\" + platform + "\\" + build + "\\ced c:\\tlsbackup.cfg";
+    ret = system(prevSetting.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to restore previous commsDat setup: "<<endl<<prevSetting<<endl<<"failed"<<endl;
+        return ret;
+        }
+
+    // rename the backup file to original
+    string backup = "rename " + drive + ":\\epoc32\\" + platform + "\\c\\tlsbackup.cfg cedout.cfg";
+    ret = system(backup.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to restore backup file: "<<endl<<backup<<endl<<"failed"<<endl;
+        return ret;
+        }
+
+    // restore original epoc.ini and secdlg.dll
+    string backupEpoc = "copy /Y " + testToolPath + "backup\\epoc.ini " + drive + ":\\epoc32\\data\\epoc.ini " ;
+    ret = system(backupEpoc.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to copy epoc.ini: "<<endl<<backupEpoc<<endl<<" failed"<<endl;
+        return ret;
+        }
+
+    string backupSec = "copy /Y " + testToolPath + "backup\\secdlg.dll " + drive + ":\\epoc32\\release\\" + platform + "\\" + build + "\\secdlg.dll " ;
+    ret = system(backupSec.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to copy secdlg.dll: "<<endl<<backupSec<<endl<<" failed"<<endl;
+        return ret;
+        }
+    // delete tsecdlg.dll from epoc drive
+    string deletesecdlg = "del " + drive + ":\\epoc32\\release\\" + platform + "\\" + build + "\\tsecdlg.dll ";
+    ret = system(deletesecdlg.c_str());
+    if(ret != 0)
+        {
+        cout<<"failed to delete tsecdlg.dll: "<<endl<<deletesecdlg<<endl<<" failed"<<endl;
+        return ret;
+        }
+
+
+    return 0;
+
+    }
+
+/*  this function waits for Epoc TLS client test to finish
+*/
+
+void WaitForEpocTest()
+    {
+    DWORD dwExitCode;
+    GetExitCodeProcess(processInfo.hProcess, &dwExitCode);
+    while(dwExitCode == STILL_ACTIVE)
+        {
+        cout<<".";
+        GetExitCodeProcess(processInfo.hProcess, &dwExitCode);
+        Sleep(1000);
+        }
+    }
+
+bool ProcessRunning(HANDLE handle)
+    {
+    DWORD dwExitCode;
+    GetExitCodeProcess(handle, &dwExitCode);
+    if(dwExitCode == STILL_ACTIVE)
+        {
+        return true;
+        }
+    else
+        {
+        return false;
+        }
+    }
+
+int PingEpoc()
+    {
+    int ret = system("ping -n 1 -w 20000  192.168.0.2");
+    return ret;
+    }
+
+/* this program takes one argument:
+   1) config file in text format
+*/
+int main(int argc, char* argv[])
+    {
+    if(argc != 2)
+        {
+        cout << argv[0]
+             << "  [config file] "<<endl;
+
+        return -1;
+        }
+
+    string fileName = argv[1];
+
+    string configSettings = " --no-gui ";
+    int ret = ReadConfigurations(fileName, configSettings);
+    if(ret != 0)
+        {
+        return ret;
+        }
+
+    string drive;
+    string platform;
+    string build;
+
+    GetEpocDrive(drive);
+
+    ret = GetPlatformAndBuild(fileName, platform, build);
+    if(ret != 0)
+        {
+        return ret;
+        }
+
+    // kill the previously running tlsclienttest program, if any
+ //   cout<<"zzz before killing"<<endl;
+ //   ret = system("TASKKILL /F /IM tlsclienttest.exe /T");
+  //  cout<<"zzz after killing1: "<<ret<<endl;
+ //   ret = system("TASKKILL /F /IM java.exe /T");
+  //  cout<<"zzz after killing2: "<<ret<<endl;
+    // run epoc side TLS test client
+    ret = RunEpocTlsTest(drive, platform, build);
+    if(ret != 0)
+        {
+        cout<<"Exiting program"<<endl;
+        return ret;
+        }
+
+    string jarPath = CodenomiconPath;
+    jarPath += "\"";
+    string quotedJarPath = "\"" + jarPath;
+
+    // run Codenomicon TLS Client test tool
+    cout<<"Launching Codenomicon TLS Client test tool"<<endl;
+    ret = RunTlsTestTool(configSettings, quotedJarPath);
+    if(ret != 0)
+        {
+        return ret;
+        }
+
+    // now Epoc TLS Client test should be executed till Codenomicon tool is running
+/*    while(TlsTestToolRunning())
+        {
+        WaitForEpocTest();
+
+        // check if the Codenomicon test tool is still running
+        if(TlsTestToolRunning())
+            {
+            // Codenomicon test tool still running, run epoc side TLS test client again
+            ret = RunEpocTlsTest(drive, platform, build);
+            if(ret != 0)
+                {
+                cout<<"Exiting program"<<endl;
+                return ret;
+                }
+            }
+        }
+  */
+
+    HANDLE handles[2];
+    handles[0] = processInfo.hProcess;
+    handles[1] = processInfoTls.hProcess;
+ /* Commented code starts-*/
+    // wait for any of the process to finish
+    WaitForMultipleObjects(2, handles, false, INFINITE);
+
+    // if epoc side TLS test finished and Codenomicon
+    // tool is still running, then terminate Codenomicon process
+    if(!ProcessRunning(processInfo.hProcess))
+        {
+        if(ProcessRunning(processInfoTls.hProcess))
+            {
+            // not a clean way, but have to terminate Codenomicon test tool
+            TerminateProcess(processInfoTls.hProcess, 1);
+            }
+        }
+
+    // if Codenomicon test tool is finished, then terminate the epoc side test
+    if(!ProcessRunning(processInfoTls.hProcess))
+        {
+        if(ProcessRunning(processInfo.hProcess))
+            {
+            // not a clean way, but we have to terminate epoc test
+            TerminateProcess(processInfo.hProcess, 1);
+            }
+        }
+
+ /*   commented code ends*/
+
+    // change started ****************
+
+   // while(ProcessRunning(processInfo.hProcess) &&   ProcessRunning(processInfoTls.hProcess))
+ /*  while(1)
+        {
+        // wait for any of the process to finish
+        WaitForMultipleObjects(2, handles, false, 20000);
+
+        // if epoc side TLS test finished and Codenomicon
+        // tool is still running, then terminate Codenomicon process
+        if(!ProcessRunning(processInfo.hProcess))
+            {
+            cout<<"\nepoc finished, terminating codenomicon"<<endl;
+            if(ProcessRunning(processInfoTls.hProcess))
+                {
+                // not a clean way, but have to terminate Codenomicon test tool
+                TerminateProcess(processInfoTls.hProcess, 1);
+                return 0;
+                }
+            }
+
+        // if Codenomicon test tool is finished, then terminate the epoc side test
+        if(!ProcessRunning(processInfoTls.hProcess))
+            {
+            cout<<"\ncodenomicon finished, terminating epoc"<<endl;
+            if(ProcessRunning(processInfo.hProcess))
+                {
+                // not a clean way, but we have to terminate epoc test
+                TerminateProcess(processInfo.hProcess, 1);
+                return 0;
+                }
+            }
+
+        // check if the epoc side TLS test has crashed
+        ret = PingEpoc();
+        if(ret != 0)
+            {
+            // epoc not responding, kill the processes and return
+            if(ProcessRunning(processInfoTls.hProcess))
+                {
+                TerminateProcess(processInfoTls.hProcess, 1);
+                }
+
+            if(ProcessRunning(processInfo.hProcess))
+                {
+                TerminateProcess(processInfo.hProcess, 1);
+                }
+
+            return ret;
+            }
+        }
+
+      */
+
+// change ends ****************
+
+    /* now that the test tool has executed, we need to get the results from the log file
+       but first we need the log directory for reading the log file
+    */
+  /*  string logDir;
+    ret = GetLogDirectory(fileName, logDir);
+    if(ret != 0)
+        {
+        cout<<"\nwaiting for Epoc TLS Client test to exit";
+        // wait for epoc tls test to finish
+        WaitForEpocTest();
+
+        // restore previous commsDat settings
+        ret = EpocPostTestConfig(drive, platform, build);
+        return ret;
+        }
+    */
+    // convert the backward slashes to forward slashes in the path
+ //   ConvertPath(logDir);
+
+	// prepare a report from the log file
+  //  string outFile("report.txt");
+  //  ret = ParseLog(logDir, outFile);
+
+    // wait for epoc tls test to finish
+ //   cout<<"\nwaiting for Epoc TLS Client test to exit";
+ //   WaitForEpocTest();
+
+    // restore previous commsDat settings
+//    cout<<"\nrestoring previous commsDat settings"<<endl;
+    ret = EpocPostTestConfig(drive, platform, build);
+
+    return ret;
+    }
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 24,25,28-33,35
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3alert.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 11973-13220
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3alert
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3ccs.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 8193-8408
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3ccs
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3handshake.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 13221-13231
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3handshake
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs02.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 7122-7530
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3hs02
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs0b.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 7531-7906
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3hs0b
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs0c.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 9005-9612
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3hs0c
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs0d.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 9613-11972
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3hs0d
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs0e.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 7907-8192
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3hs0e
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs14.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 8409-8750
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3hs14
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configssl3hs17.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 8751-9004
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\ssl3hs17
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls10.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 0-4,6,7,10-15,17,21
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls10
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls10handshake.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 7105-7121
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls10handshake
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1alert.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 4890-6137
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1alert
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1ccs.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 1110-1325
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1ccs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs02.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 39-107,112-141,149-447
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1hs02
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs0b.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 448-516,521-550,558-823
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1hs0b
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs0c.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 1922-2529
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1hs0c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs0d.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 2530-4889
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1hs0d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs0e.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 824-1109
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1hs0e
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs14.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 1326-1667
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1hs14
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1hs17.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 1668-1921
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1hs17
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1srccs.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 6547-6762
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1srccs
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1srhs02.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 6138-6546
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1srhs02
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/scripts/configtls1srhs14.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 6763-7104
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\tls1srhs14
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TLS test wrapper/tlsconfig.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,9 @@
+[platform] winscw 
+[build] udeb
+
+//codenomicon parameters
+[params]
+index 0
+listen-port 443
+server-name 192.168.0.1
+log-dir     d:\tls\logs\
--- a/networksecurity/tls/test/codenomicon/TlsClientTest/Bld.inf	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,23 +0,0 @@
-// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// Component description file
-// 
-//
-
-
-PRJ_TESTEXPORTS
-.\WinTapStaticNoGateway.xml   \epoc32\winscw\c\WinTapStaticNoGateway.xml
-
-PRJ_TESTMMPFILES
-TlsClientTest.mmp
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/networksecurity/tls/test/codenomicon/TlsClientTest/bld.nf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,23 @@
+// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// Component description file
+// 
+//
+
+
+PRJ_TESTEXPORTS
+.\WinTapStaticNoGateway.xml   \epoc32\winscw\c\WinTapStaticNoGateway.xml
+
+PRJ_TESTMMPFILES
+TlsClientTest.mmp
Binary file networksecurity/tls/test/te_tlsunittest/configs/te_tlsunittest.ini has changed
--- a/networksecurity/tls/test/te_tlsunittest/group/bld.inf	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/test/te_tlsunittest/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -17,7 +17,7 @@
 
 ../scripts/te_tlsunittest.script 	z:/testdata/scripts/te_tlsunittest.script
 ../configs/te_tlsunittest.ini	z:/testdata/configs/te_tlsunittest.ini
-../configs/CACerts_clientauth.dat	z:/testdata/configs/CACerts_clientauth.dat
+../configs/CACerts_clientauth.dat	z:/testdata/configs/cacerts_clientauth.dat
 ../configs/certclients_clientauth.dat	z:/testdata/configs/certclients_clientauth.dat
 ../configs/keys_clientauth.dat	z:/testdata/configs/keys_clientauth.dat
 ../configs/t_secdlg_in.dat	z:/testdata/configs/t_secdlg_in.dat
--- a/networksecurity/tls/test/te_tlsunittest/group/te_tlsunittest.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/test/te_tlsunittest/group/te_tlsunittest.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -23,16 +23,16 @@
 TARGET          te_tlsunittest.exe
 TARGETTYPE      exe
 
-USERINCLUDE	..\..\..\inc
+USERINCLUDE	../../../inc
 
-SOURCEPATH      ..\src
+SOURCEPATH      ../src
 SOURCE		te_tlsunittestblock.cpp te_tlsunittestserver.cpp te_tlsunittestwrapper.cpp
 
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 
-USERINCLUDE     ..\inc
+USERINCLUDE     ../inc
 
 LIBRARY 	efsrv.lib 
 LIBRARY		euser.lib 
--- a/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_3DES_EDE_CBC_SHA.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_3DES_EDE_CBC_SHA.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 CipherSuite1=008b
 ExpectedFinalCipherSuit=008b
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
--- a/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 CipherSuite1=008c
 ExpectedFinalCipherSuit=008c
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
--- a/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA_NOCALLBACK.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_AES_128_CBC_SHA_NOCALLBACK.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 CipherSuite1=008c
 ExpectedFinalCipherSuit=0035
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 ExpectedSetCipherError=-5
--- a/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_AES_256_CBC_SHA.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_AES_256_CBC_SHA.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 CipherSuite1=008d
 ExpectedFinalCipherSuit=008d
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
--- a/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_RC4_128_SHA.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_PSK_WITH_RC4_128_SHA.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 CipherSuite1=008a
 ExpectedFinalCipherSuit=008a
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
--- a/networksecurity/tls/ts_tls/scripts/TLS_RSA_WITH_NULL_MD5.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_RSA_WITH_NULL_MD5.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -20,7 +20,7 @@
 ExpectedFinalCipherSuit=0001
 UseNullCipher=True
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
--- a/networksecurity/tls/ts_tls/scripts/TLS_RSA_WITH_NULL_SHA.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_RSA_WITH_NULL_SHA.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 CipherSuite1=0002
 ExpectedFinalCipherSuit=0002
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=True
--- a/networksecurity/tls/ts_tls/scripts/TLS_SNE_MULTIPLE_SERVER.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_SNE_MULTIPLE_SERVER.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 CipherSuite1=002f
 ExpectedFinalCipherSuit=002f
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
--- a/networksecurity/tls/ts_tls/scripts/TLS_SNE_SINGLE_SERVER.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_SNE_SINGLE_SERVER.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -18,7 +18,7 @@
 NumCipherSuites=0
 ExpectedFinalCipherSuit=008D
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=True
--- a/networksecurity/tls/ts_tls/scripts/TLS_SNE_SINGLE_SERVER_NEG.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tls/ts_tls/scripts/TLS_SNE_SINGLE_SERVER_NEG.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -21,7 +21,7 @@
 
 UseNullCipher=True
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
--- a/networksecurity/tlsprovider/Test/data/EncryptionDataTLS_Export/DecryptionGeneratedMac.bin	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/data/EncryptionDataTLS_Export/DecryptionGeneratedMac.bin	Tue Jun 29 19:20:22 2010 +0530
@@ -1,1 +1,1 @@
-"Ôdµ&Q´‚ã‘—F}
\ No newline at end of file
+
"Ôdµ&Q´‚ã‘—F}
\ No newline at end of file
--- a/networksecurity/tlsprovider/Test/data/EncryptionDataTLS_Export/DecryptionReceivedMac.bin	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/data/EncryptionDataTLS_Export/DecryptionReceivedMac.bin	Tue Jun 29 19:20:22 2010 +0530
@@ -1,1 +1,1 @@
-"Ôdµ&Q´‚ã‘—F}
\ No newline at end of file
+
"Ôdµ&Q´‚ã‘—F}
\ No newline at end of file
--- a/networksecurity/tlsprovider/Test/data/certificates/altsubjectmanynames/altsubjectmanynames.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/data/certificates/altsubjectmanynames/altsubjectmanynames.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDXDCCAwagAwIBAgIJAMw2AwpQFiXjMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwNjQ5MjRaFw0xOTEwMDQwNjQ5MjRaMHAxCzAJBgNVBAYTAkVY
-MRgwFgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
-bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
-b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKFL2PMhCURYtVzT5BLHgKlukSgv
-r89dEBTkH0rUE89Y8pM4hvS3Ik3xD0LHShGVOQ75tOoIaPqvkPj0woL61c0CAwEA
-AaOCAVkwggFVMB0GA1UdDgQWBBTpUWr9pfD3sc2PeJWsl9mqe8yQajCBzAYDVR0j
-BIHEMIHBgBQSip056OQlHrGV7pMtwIMXwqV4M6GBnaSBmjCBlzELMAkGA1UEBhMC
-RVgxGDAWBgNVBAcTD0V4YW1wbGVMb2NhdGlvbjElMCMGA1UEAxMcVExTIENlcnRp
-ZmljYXRlIFNpZ25pbmcgUm9vdDEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9u
-MSowKAYJKoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmeCCQC7
-e299hMEcUjASBgNVHRMBAf8ECDAGAQH/AgEFMFEGA1UdEQRKMEiCGXd3dy5zeW1i
-aWFuZm91bmRhdGlvbi5vcmeCFXd3dy5hbm90aGVyc2VydmVyLmNvbYIUeWV0YW5v
-dGhlcmRvbWFpbi5uZXQwDQYJKoZIhvcNAQEFBQADQQCcwJ8RsYExCxPf5/SDVmtM
-L01SUhfvXBQbIw/Nc9azxkZJV8rqE0U6+5/j4x6eRLmmxn2SbA6GXTGaO5DTrIGT
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDXDCCAwagAwIBAgIJAMw2AwpQFiXjMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwNjQ5MjRaFw0xOTEwMDQwNjQ5MjRaMHAxCzAJBgNVBAYTAkVY
+MRgwFgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
+bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
+b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKFL2PMhCURYtVzT5BLHgKlukSgv
+r89dEBTkH0rUE89Y8pM4hvS3Ik3xD0LHShGVOQ75tOoIaPqvkPj0woL61c0CAwEA
+AaOCAVkwggFVMB0GA1UdDgQWBBTpUWr9pfD3sc2PeJWsl9mqe8yQajCBzAYDVR0j
+BIHEMIHBgBQSip056OQlHrGV7pMtwIMXwqV4M6GBnaSBmjCBlzELMAkGA1UEBhMC
+RVgxGDAWBgNVBAcTD0V4YW1wbGVMb2NhdGlvbjElMCMGA1UEAxMcVExTIENlcnRp
+ZmljYXRlIFNpZ25pbmcgUm9vdDEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9u
+MSowKAYJKoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmeCCQC7
+e299hMEcUjASBgNVHRMBAf8ECDAGAQH/AgEFMFEGA1UdEQRKMEiCGXd3dy5zeW1i
+aWFuZm91bmRhdGlvbi5vcmeCFXd3dy5hbm90aGVyc2VydmVyLmNvbYIUeWV0YW5v
+dGhlcmRvbWFpbi5uZXQwDQYJKoZIhvcNAQEFBQADQQCcwJ8RsYExCxPf5/SDVmtM
+L01SUhfvXBQbIw/Nc9azxkZJV8rqE0U6+5/j4x6eRLmmxn2SbA6GXTGaO5DTrIGT
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/data/certificates/altsubjectonename/altsubjectonename.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/data/certificates/altsubjectonename/altsubjectonename.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,15 +1,15 @@
------BEGIN CERTIFICATE-----
-MIICXDCCAgagAwIBAgIJALOxKDUblUkXMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwODA1MThaFw0xOTEwMDQwODA1MThaMHAxCzAJBgNVBAYTAkVY
-MRgwFgYDVQQHEw9FeG1hcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
-bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
-b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOT6Fpwo2bvJorfdGY7QLcLpMCTX
-x/9BNZxKNf/n4goVv5uo6Rsu3BHzRrh90D4NTXTEJxBaKtDXle/F3IfinvMCAwEA
-AaNbMFkwHQYDVR0OBBYEFJvcjPUU68SIOeAFQ2wP+4F11hnSMBIGA1UdEwEB/wQI
-MAYBAf8CAQUwJAYDVR0RBB0wG4IZd3d3LnN5bWJpYW5mb3VuZGF0aW9uLm9yZzAN
-BgkqhkiG9w0BAQUFAANBAE0FPYvZjUXd3swNoLNc7tNlhf9Yv/A0ql5xspVot64q
-Ma4Z+4HF7hS6X6NuzqEdKbP47hMBP0bLHbc+JpBfEoE=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICXDCCAgagAwIBAgIJALOxKDUblUkXMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwODA1MThaFw0xOTEwMDQwODA1MThaMHAxCzAJBgNVBAYTAkVY
+MRgwFgYDVQQHEw9FeG1hcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
+bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
+b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOT6Fpwo2bvJorfdGY7QLcLpMCTX
+x/9BNZxKNf/n4goVv5uo6Rsu3BHzRrh90D4NTXTEJxBaKtDXle/F3IfinvMCAwEA
+AaNbMFkwHQYDVR0OBBYEFJvcjPUU68SIOeAFQ2wP+4F11hnSMBIGA1UdEwEB/wQI
+MAYBAf8CAQUwJAYDVR0RBB0wG4IZd3d3LnN5bWJpYW5mb3VuZGF0aW9uLm9yZzAN
+BgkqhkiG9w0BAQUFAANBAE0FPYvZjUXd3swNoLNc7tNlhf9Yv/A0ql5xspVot64q
+Ma4Z+4HF7hS6X6NuzqEdKbP47hMBP0bLHbc+JpBfEoE=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/data/certificates/altsubjectwildcard/altsubjectwildcard.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/data/certificates/altsubjectwildcard/altsubjectwildcard.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDUjCCAvygAwIBAgIJAOdf0c/7+2rrMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwODI2MzNaFw0xOTEwMDQwODI2MzNaMHAxCzAJBgNVBAYTAkVY
-MRgwFgYDVQQHEw9FeG1hcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
-bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
-b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALTYz0euItpxvQZYgGwOgI30eIMc
-Ta1MWPtJCISLAiJ8gNE6Cdlv2wllNKaID0n/W3YZWr2B60hXG8PM2nzyzNUCAwEA
-AaOCAU8wggFLMB0GA1UdDgQWBBRJ8LiX/LRvdN5NSWfnHoGI2lTmyTCBzAYDVR0j
-BIHEMIHBgBQSip056OQlHrGV7pMtwIMXwqV4M6GBnaSBmjCBlzELMAkGA1UEBhMC
-RVgxGDAWBgNVBAcTD0V4YW1wbGVMb2NhdGlvbjElMCMGA1UEAxMcVExTIENlcnRp
-ZmljYXRlIFNpZ25pbmcgUm9vdDEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9u
-MSowKAYJKoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmeCCQC7
-e299hMEcUjASBgNVHRMBAf8ECDAGAQH/AgEFMEcGA1UdEQRAMD6CFiouc3ltYmlh
-bmZvdWRhdGlvbi5vcmeCGSpvKi5zeW1iaWFuZm91bmRhdGlvbi5jb22CCXd3dy4q
-LmNvbTANBgkqhkiG9w0BAQUFAANBABIWcGKJS3M892ziNJm9pGD8pzmELTPbmFfi
-zQ/f0DGW2KIEPTxbqaYsadH2ipPKX5Z6XbvRQDdvL28ozXQIEb4=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDUjCCAvygAwIBAgIJAOdf0c/7+2rrMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwODI2MzNaFw0xOTEwMDQwODI2MzNaMHAxCzAJBgNVBAYTAkVY
+MRgwFgYDVQQHEw9FeG1hcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
+bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
+b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALTYz0euItpxvQZYgGwOgI30eIMc
+Ta1MWPtJCISLAiJ8gNE6Cdlv2wllNKaID0n/W3YZWr2B60hXG8PM2nzyzNUCAwEA
+AaOCAU8wggFLMB0GA1UdDgQWBBRJ8LiX/LRvdN5NSWfnHoGI2lTmyTCBzAYDVR0j
+BIHEMIHBgBQSip056OQlHrGV7pMtwIMXwqV4M6GBnaSBmjCBlzELMAkGA1UEBhMC
+RVgxGDAWBgNVBAcTD0V4YW1wbGVMb2NhdGlvbjElMCMGA1UEAxMcVExTIENlcnRp
+ZmljYXRlIFNpZ25pbmcgUm9vdDEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9u
+MSowKAYJKoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmeCCQC7
+e299hMEcUjASBgNVHRMBAf8ECDAGAQH/AgEFMEcGA1UdEQRAMD6CFiouc3ltYmlh
+bmZvdWRhdGlvbi5vcmeCGSpvKi5zeW1iaWFuZm91bmRhdGlvbi5jb22CCXd3dy4q
+LmNvbTANBgkqhkiG9w0BAQUFAANBABIWcGKJS3M892ziNJm9pGD8pzmELTPbmFfi
+zQ/f0DGW2KIEPTxbqaYsadH2ipPKX5Z6XbvRQDdvL28ozXQIEb4=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/data/certificates/commonname/commonname.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/data/certificates/commonname/commonname.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
-CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
-BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
-OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
-Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
-aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
-DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
-VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
-B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
-6Q8=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
+SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
+CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
+BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
+OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
+Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
+aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
+DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
+VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
+B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
+6Q8=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/data/certificates/root.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/data/certificates/root.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,16 +1,16 @@
------BEGIN CERTIFICATE-----
-MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
-aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
-KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
-CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
-1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
-A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
-MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
-WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
-zFY=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
+aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
+KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
+CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
+1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
+A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
+MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
+WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
+zFY=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/group/TlsProvtestServer.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/group/TlsProvtestServer.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -47,8 +47,6 @@
 SYSTEMINCLUDE 	/epoc32/include/mw
 #endif
 
-USERINCLUDE		../../../../../security/crypto/weakcrypto/inc
-
 
 LIBRARY     	euser.lib
 LIBRARY		testexecuteutils.lib
--- a/networksecurity/tlsprovider/Test/tlstest2/data/altsubjectmanynames/altsubjectmanynames.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/altsubjectmanynames/altsubjectmanynames.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDXDCCAwagAwIBAgIJAMw2AwpQFiXjMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwNjQ5MjRaFw0xOTEwMDQwNjQ5MjRaMHAxCzAJBgNVBAYTAkVY
-MRgwFgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
-bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
-b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKFL2PMhCURYtVzT5BLHgKlukSgv
-r89dEBTkH0rUE89Y8pM4hvS3Ik3xD0LHShGVOQ75tOoIaPqvkPj0woL61c0CAwEA
-AaOCAVkwggFVMB0GA1UdDgQWBBTpUWr9pfD3sc2PeJWsl9mqe8yQajCBzAYDVR0j
-BIHEMIHBgBQSip056OQlHrGV7pMtwIMXwqV4M6GBnaSBmjCBlzELMAkGA1UEBhMC
-RVgxGDAWBgNVBAcTD0V4YW1wbGVMb2NhdGlvbjElMCMGA1UEAxMcVExTIENlcnRp
-ZmljYXRlIFNpZ25pbmcgUm9vdDEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9u
-MSowKAYJKoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmeCCQC7
-e299hMEcUjASBgNVHRMBAf8ECDAGAQH/AgEFMFEGA1UdEQRKMEiCGXd3dy5zeW1i
-aWFuZm91bmRhdGlvbi5vcmeCFXd3dy5hbm90aGVyc2VydmVyLmNvbYIUeWV0YW5v
-dGhlcmRvbWFpbi5uZXQwDQYJKoZIhvcNAQEFBQADQQCcwJ8RsYExCxPf5/SDVmtM
-L01SUhfvXBQbIw/Nc9azxkZJV8rqE0U6+5/j4x6eRLmmxn2SbA6GXTGaO5DTrIGT
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDXDCCAwagAwIBAgIJAMw2AwpQFiXjMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwNjQ5MjRaFw0xOTEwMDQwNjQ5MjRaMHAxCzAJBgNVBAYTAkVY
+MRgwFgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
+bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
+b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAKFL2PMhCURYtVzT5BLHgKlukSgv
+r89dEBTkH0rUE89Y8pM4hvS3Ik3xD0LHShGVOQ75tOoIaPqvkPj0woL61c0CAwEA
+AaOCAVkwggFVMB0GA1UdDgQWBBTpUWr9pfD3sc2PeJWsl9mqe8yQajCBzAYDVR0j
+BIHEMIHBgBQSip056OQlHrGV7pMtwIMXwqV4M6GBnaSBmjCBlzELMAkGA1UEBhMC
+RVgxGDAWBgNVBAcTD0V4YW1wbGVMb2NhdGlvbjElMCMGA1UEAxMcVExTIENlcnRp
+ZmljYXRlIFNpZ25pbmcgUm9vdDEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9u
+MSowKAYJKoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmeCCQC7
+e299hMEcUjASBgNVHRMBAf8ECDAGAQH/AgEFMFEGA1UdEQRKMEiCGXd3dy5zeW1i
+aWFuZm91bmRhdGlvbi5vcmeCFXd3dy5hbm90aGVyc2VydmVyLmNvbYIUeWV0YW5v
+dGhlcmRvbWFpbi5uZXQwDQYJKoZIhvcNAQEFBQADQQCcwJ8RsYExCxPf5/SDVmtM
+L01SUhfvXBQbIw/Nc9azxkZJV8rqE0U6+5/j4x6eRLmmxn2SbA6GXTGaO5DTrIGT
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/altsubjectonename/altsubjectonename.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/altsubjectonename/altsubjectonename.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,15 +1,15 @@
------BEGIN CERTIFICATE-----
-MIICXDCCAgagAwIBAgIJALOxKDUblUkXMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwODA1MThaFw0xOTEwMDQwODA1MThaMHAxCzAJBgNVBAYTAkVY
-MRgwFgYDVQQHEw9FeG1hcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
-bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
-b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOT6Fpwo2bvJorfdGY7QLcLpMCTX
-x/9BNZxKNf/n4goVv5uo6Rsu3BHzRrh90D4NTXTEJxBaKtDXle/F3IfinvMCAwEA
-AaNbMFkwHQYDVR0OBBYEFJvcjPUU68SIOeAFQ2wP+4F11hnSMBIGA1UdEwEB/wQI
-MAYBAf8CAQUwJAYDVR0RBB0wG4IZd3d3LnN5bWJpYW5mb3VuZGF0aW9uLm9yZzAN
-BgkqhkiG9w0BAQUFAANBAE0FPYvZjUXd3swNoLNc7tNlhf9Yv/A0ql5xspVot64q
-Ma4Z+4HF7hS6X6NuzqEdKbP47hMBP0bLHbc+JpBfEoE=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICXDCCAgagAwIBAgIJALOxKDUblUkXMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwODA1MThaFw0xOTEwMDQwODA1MThaMHAxCzAJBgNVBAYTAkVY
+MRgwFgYDVQQHEw9FeG1hcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
+bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
+b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAOT6Fpwo2bvJorfdGY7QLcLpMCTX
+x/9BNZxKNf/n4goVv5uo6Rsu3BHzRrh90D4NTXTEJxBaKtDXle/F3IfinvMCAwEA
+AaNbMFkwHQYDVR0OBBYEFJvcjPUU68SIOeAFQ2wP+4F11hnSMBIGA1UdEwEB/wQI
+MAYBAf8CAQUwJAYDVR0RBB0wG4IZd3d3LnN5bWJpYW5mb3VuZGF0aW9uLm9yZzAN
+BgkqhkiG9w0BAQUFAANBAE0FPYvZjUXd3swNoLNc7tNlhf9Yv/A0ql5xspVot64q
+Ma4Z+4HF7hS6X6NuzqEdKbP47hMBP0bLHbc+JpBfEoE=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/altsubjectwildcard/altsubjectwildcard.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/altsubjectwildcard/altsubjectwildcard.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDUjCCAvygAwIBAgIJAOdf0c/7+2rrMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwODI2MzNaFw0xOTEwMDQwODI2MzNaMHAxCzAJBgNVBAYTAkVY
-MRgwFgYDVQQHEw9FeG1hcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
-bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
-b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALTYz0euItpxvQZYgGwOgI30eIMc
-Ta1MWPtJCISLAiJ8gNE6Cdlv2wllNKaID0n/W3YZWr2B60hXG8PM2nzyzNUCAwEA
-AaOCAU8wggFLMB0GA1UdDgQWBBRJ8LiX/LRvdN5NSWfnHoGI2lTmyTCBzAYDVR0j
-BIHEMIHBgBQSip056OQlHrGV7pMtwIMXwqV4M6GBnaSBmjCBlzELMAkGA1UEBhMC
-RVgxGDAWBgNVBAcTD0V4YW1wbGVMb2NhdGlvbjElMCMGA1UEAxMcVExTIENlcnRp
-ZmljYXRlIFNpZ25pbmcgUm9vdDEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9u
-MSowKAYJKoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmeCCQC7
-e299hMEcUjASBgNVHRMBAf8ECDAGAQH/AgEFMEcGA1UdEQRAMD6CFiouc3ltYmlh
-bmZvdWRhdGlvbi5vcmeCGSpvKi5zeW1iaWFuZm91bmRhdGlvbi5jb22CCXd3dy4q
-LmNvbTANBgkqhkiG9w0BAQUFAANBABIWcGKJS3M892ziNJm9pGD8pzmELTPbmFfi
-zQ/f0DGW2KIEPTxbqaYsadH2ipPKX5Z6XbvRQDdvL28ozXQIEb4=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDUjCCAvygAwIBAgIJAOdf0c/7+2rrMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwODI2MzNaFw0xOTEwMDQwODI2MzNaMHAxCzAJBgNVBAYTAkVY
+MRgwFgYDVQQHEw9FeG1hcGxlTG9jYXRpb24xGzAZBgNVBAoTElN5bWJpYW4gRm91
+bmRhdGlvbjEqMCgGCSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24u
+b3JnMFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBALTYz0euItpxvQZYgGwOgI30eIMc
+Ta1MWPtJCISLAiJ8gNE6Cdlv2wllNKaID0n/W3YZWr2B60hXG8PM2nzyzNUCAwEA
+AaOCAU8wggFLMB0GA1UdDgQWBBRJ8LiX/LRvdN5NSWfnHoGI2lTmyTCBzAYDVR0j
+BIHEMIHBgBQSip056OQlHrGV7pMtwIMXwqV4M6GBnaSBmjCBlzELMAkGA1UEBhMC
+RVgxGDAWBgNVBAcTD0V4YW1wbGVMb2NhdGlvbjElMCMGA1UEAxMcVExTIENlcnRp
+ZmljYXRlIFNpZ25pbmcgUm9vdDEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9u
+MSowKAYJKoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmeCCQC7
+e299hMEcUjASBgNVHRMBAf8ECDAGAQH/AgEFMEcGA1UdEQRAMD6CFiouc3ltYmlh
+bmZvdWRhdGlvbi5vcmeCGSpvKi5zeW1iaWFuZm91bmRhdGlvbi5jb22CCXd3dy4q
+LmNvbTANBgkqhkiG9w0BAQUFAANBABIWcGKJS3M892ziNJm9pGD8pzmELTPbmFfi
+zQ/f0DGW2KIEPTxbqaYsadH2ipPKX5Z6XbvRQDdvL28ozXQIEb4=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/commonname/commonname.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/commonname/commonname.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
-CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
-BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
-OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
-Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
-aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
-DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
-VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
-B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
-6Q8=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
+SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
+CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
+BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
+OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
+Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
+aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
+DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
+VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
+B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
+6Q8=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/commonnamedsa/commonnamedsa.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/commonnamedsa/commonnamedsa.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,23 +1,23 @@
------BEGIN CERTIFICATE-----
-MIIDxDCCA26gAwIBAgIJAPSnIz5CrTa2MA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMzEwMTNaFw0xOTEwMDQxMzEwMTNaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzCB8TCBqQYH
-KoZIzjgEATCBnQJBALUPa5nNm4UjK3hu97mE/5N3MdJ+PCI76bfJGGx8nySx6cWh
-6Hn9o0QOiWQLuj0ANj3iPVYdX6kvX0dfBXayIDsCFQCqkQSw9KCeiUuVWnkm8QLk
-hYv7BwJBAJXoO/g9IUFnB0GEfBBlCmU4Dt++3Ea9Z6IUQ61c2OSDHnkBlR26tTsx
-1KUcqudrWoWch+slVfK6k9A63eOKNhoDQwACQED0s7g5HwGgLQd5v3vK3triSWFz
-JlBw0/w4EXzjWdUQ2wbmPA5frPAvweUy/mXsoJOukAMqzxbTYlqm2POix5+jggEG
-MIIBAjAdBgNVHQ4EFgQUM5if5s8wxC8G4HvuLATfMgmx8REwgcwGA1UdIwSBxDCB
-wYAUEoqdOejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgw
-FgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0
-ZSBTaWduaW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgG
-CSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTB
-HFIwEgYDVR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQUFAANBAAtu7hDsKZgZ
-EevH3IcmcX69sq9V96e/jCbN76CwQXJOg52gpSMAkCZhJMQbHOPsvjT6wKoVZOuD
-QBZW+nkIGmE=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDxDCCA26gAwIBAgIJAPSnIz5CrTa2MA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMzEwMTNaFw0xOTEwMDQxMzEwMTNaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzCB8TCBqQYH
+KoZIzjgEATCBnQJBALUPa5nNm4UjK3hu97mE/5N3MdJ+PCI76bfJGGx8nySx6cWh
+6Hn9o0QOiWQLuj0ANj3iPVYdX6kvX0dfBXayIDsCFQCqkQSw9KCeiUuVWnkm8QLk
+hYv7BwJBAJXoO/g9IUFnB0GEfBBlCmU4Dt++3Ea9Z6IUQ61c2OSDHnkBlR26tTsx
+1KUcqudrWoWch+slVfK6k9A63eOKNhoDQwACQED0s7g5HwGgLQd5v3vK3triSWFz
+JlBw0/w4EXzjWdUQ2wbmPA5frPAvweUy/mXsoJOukAMqzxbTYlqm2POix5+jggEG
+MIIBAjAdBgNVHQ4EFgQUM5if5s8wxC8G4HvuLATfMgmx8REwgcwGA1UdIwSBxDCB
+wYAUEoqdOejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgw
+FgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0
+ZSBTaWduaW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgG
+CSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTB
+HFIwEgYDVR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQUFAANBAAtu7hDsKZgZ
+EevH3IcmcX69sq9V96e/jCbN76CwQXJOg52gpSMAkCZhJMQbHOPsvjT6wKoVZOuD
+QBZW+nkIGmE=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/commonnamewildcard/commonnamewildcard.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/commonnamewildcard/commonnamewildcard.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,19 +1,19 @@
------BEGIN CERTIFICATE-----
-MIIDLDCCAtagAwIBAgIJAJ/wAV8AXC9SMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMzIwNDJaFw0xOTEwMDQxMzIwNDJaMIGSMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSAwHgYDVQQDFBcqLnN5bWJpYW5m
-b3VuZGF0aW9uLm9yZzEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9uMSowKAYJ
-KoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmcwXDANBgkqhkiG
-9w0BAQEFAANLADBIAkEArcEBzi2XWM5E8hmJLHW0JqrfAkwZV7xFCx8gzOmO2lHn
-g3V6xvg57JTUh4eMdFtK/NcN3uvlfaGdjao+0txEEwIDAQABo4IBBjCCAQIwHQYD
-VR0OBBYEFMmF6VJyRezqJ93noIVh4S6VmWrIMIHMBgNVHSMEgcQwgcGAFBKKnTno
-5CUesZXuky3AgxfCpXgzoYGdpIGaMIGXMQswCQYDVQQGEwJFWDEYMBYGA1UEBxMP
-RXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlmaWNhdGUgU2lnbmlu
-ZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAoBgkqhkiG9w0B
-CQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZ4IJALt7b32EwRxSMBIGA1Ud
-EwEB/wQIMAYBAf8CAQUwDQYJKoZIhvcNAQEFBQADQQA54zdnz54IBMv8AOiN+3yD
-NCNmTi5/aHSGGvSKwlsyEeSJl+BRrkEPPY7YPtjOkW6LlxNxyqpfphVy+F63sz4i
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLDCCAtagAwIBAgIJAJ/wAV8AXC9SMA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMzIwNDJaFw0xOTEwMDQxMzIwNDJaMIGSMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSAwHgYDVQQDFBcqLnN5bWJpYW5m
+b3VuZGF0aW9uLm9yZzEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9uMSowKAYJ
+KoZIhvcNAQkBFhtkdW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmcwXDANBgkqhkiG
+9w0BAQEFAANLADBIAkEArcEBzi2XWM5E8hmJLHW0JqrfAkwZV7xFCx8gzOmO2lHn
+g3V6xvg57JTUh4eMdFtK/NcN3uvlfaGdjao+0txEEwIDAQABo4IBBjCCAQIwHQYD
+VR0OBBYEFMmF6VJyRezqJ93noIVh4S6VmWrIMIHMBgNVHSMEgcQwgcGAFBKKnTno
+5CUesZXuky3AgxfCpXgzoYGdpIGaMIGXMQswCQYDVQQGEwJFWDEYMBYGA1UEBxMP
+RXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlmaWNhdGUgU2lnbmlu
+ZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAoBgkqhkiG9w0B
+CQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZ4IJALt7b32EwRxSMBIGA1Ud
+EwEB/wQIMAYBAf8CAQUwDQYJKoZIhvcNAQEFBQADQQA54zdnz54IBMv8AOiN+3yD
+NCNmTi5/aHSGGvSKwlsyEeSJl+BRrkEPPY7YPtjOkW6LlxNxyqpfphVy+F63sz4i
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/dhe-3des-sha-1/commonnamedsa.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/dhe-3des-sha-1/commonnamedsa.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,23 +1,23 @@
------BEGIN CERTIFICATE-----
-MIIDxDCCA26gAwIBAgIJAPSnIz5CrTa2MA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMzEwMTNaFw0xOTEwMDQxMzEwMTNaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzCB8TCBqQYH
-KoZIzjgEATCBnQJBALUPa5nNm4UjK3hu97mE/5N3MdJ+PCI76bfJGGx8nySx6cWh
-6Hn9o0QOiWQLuj0ANj3iPVYdX6kvX0dfBXayIDsCFQCqkQSw9KCeiUuVWnkm8QLk
-hYv7BwJBAJXoO/g9IUFnB0GEfBBlCmU4Dt++3Ea9Z6IUQ61c2OSDHnkBlR26tTsx
-1KUcqudrWoWch+slVfK6k9A63eOKNhoDQwACQED0s7g5HwGgLQd5v3vK3triSWFz
-JlBw0/w4EXzjWdUQ2wbmPA5frPAvweUy/mXsoJOukAMqzxbTYlqm2POix5+jggEG
-MIIBAjAdBgNVHQ4EFgQUM5if5s8wxC8G4HvuLATfMgmx8REwgcwGA1UdIwSBxDCB
-wYAUEoqdOejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgw
-FgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0
-ZSBTaWduaW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgG
-CSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTB
-HFIwEgYDVR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQUFAANBAAtu7hDsKZgZ
-EevH3IcmcX69sq9V96e/jCbN76CwQXJOg52gpSMAkCZhJMQbHOPsvjT6wKoVZOuD
-QBZW+nkIGmE=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDxDCCA26gAwIBAgIJAPSnIz5CrTa2MA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMzEwMTNaFw0xOTEwMDQxMzEwMTNaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzCB8TCBqQYH
+KoZIzjgEATCBnQJBALUPa5nNm4UjK3hu97mE/5N3MdJ+PCI76bfJGGx8nySx6cWh
+6Hn9o0QOiWQLuj0ANj3iPVYdX6kvX0dfBXayIDsCFQCqkQSw9KCeiUuVWnkm8QLk
+hYv7BwJBAJXoO/g9IUFnB0GEfBBlCmU4Dt++3Ea9Z6IUQ61c2OSDHnkBlR26tTsx
+1KUcqudrWoWch+slVfK6k9A63eOKNhoDQwACQED0s7g5HwGgLQd5v3vK3triSWFz
+JlBw0/w4EXzjWdUQ2wbmPA5frPAvweUy/mXsoJOukAMqzxbTYlqm2POix5+jggEG
+MIIBAjAdBgNVHQ4EFgQUM5if5s8wxC8G4HvuLATfMgmx8REwgcwGA1UdIwSBxDCB
+wYAUEoqdOejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgw
+FgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0
+ZSBTaWduaW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgG
+CSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTB
+HFIwEgYDVR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQUFAANBAAtu7hDsKZgZ
+EevH3IcmcX69sq9V96e/jCbN76CwQXJOg52gpSMAkCZhJMQbHOPsvjT6wKoVZOuD
+QBZW+nkIGmE=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/dhe-des-sha-1/commonnamedsa.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/dhe-des-sha-1/commonnamedsa.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,23 +1,23 @@
------BEGIN CERTIFICATE-----
-MIIDxDCCA26gAwIBAgIJAPSnIz5CrTa2MA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMzEwMTNaFw0xOTEwMDQxMzEwMTNaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzCB8TCBqQYH
-KoZIzjgEATCBnQJBALUPa5nNm4UjK3hu97mE/5N3MdJ+PCI76bfJGGx8nySx6cWh
-6Hn9o0QOiWQLuj0ANj3iPVYdX6kvX0dfBXayIDsCFQCqkQSw9KCeiUuVWnkm8QLk
-hYv7BwJBAJXoO/g9IUFnB0GEfBBlCmU4Dt++3Ea9Z6IUQ61c2OSDHnkBlR26tTsx
-1KUcqudrWoWch+slVfK6k9A63eOKNhoDQwACQED0s7g5HwGgLQd5v3vK3triSWFz
-JlBw0/w4EXzjWdUQ2wbmPA5frPAvweUy/mXsoJOukAMqzxbTYlqm2POix5+jggEG
-MIIBAjAdBgNVHQ4EFgQUM5if5s8wxC8G4HvuLATfMgmx8REwgcwGA1UdIwSBxDCB
-wYAUEoqdOejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgw
-FgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0
-ZSBTaWduaW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgG
-CSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTB
-HFIwEgYDVR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQUFAANBAAtu7hDsKZgZ
-EevH3IcmcX69sq9V96e/jCbN76CwQXJOg52gpSMAkCZhJMQbHOPsvjT6wKoVZOuD
-QBZW+nkIGmE=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDxDCCA26gAwIBAgIJAPSnIz5CrTa2MA0GCSqGSIb3DQEBBQUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMzEwMTNaFw0xOTEwMDQxMzEwMTNaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzCB8TCBqQYH
+KoZIzjgEATCBnQJBALUPa5nNm4UjK3hu97mE/5N3MdJ+PCI76bfJGGx8nySx6cWh
+6Hn9o0QOiWQLuj0ANj3iPVYdX6kvX0dfBXayIDsCFQCqkQSw9KCeiUuVWnkm8QLk
+hYv7BwJBAJXoO/g9IUFnB0GEfBBlCmU4Dt++3Ea9Z6IUQ61c2OSDHnkBlR26tTsx
+1KUcqudrWoWch+slVfK6k9A63eOKNhoDQwACQED0s7g5HwGgLQd5v3vK3triSWFz
+JlBw0/w4EXzjWdUQ2wbmPA5frPAvweUy/mXsoJOukAMqzxbTYlqm2POix5+jggEG
+MIIBAjAdBgNVHQ4EFgQUM5if5s8wxC8G4HvuLATfMgmx8REwgcwGA1UdIwSBxDCB
+wYAUEoqdOejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgw
+FgYDVQQHEw9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0
+ZSBTaWduaW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgG
+CSqGSIb3DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTB
+HFIwEgYDVR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQUFAANBAAtu7hDsKZgZ
+EevH3IcmcX69sq9V96e/jCbN76CwQXJOg52gpSMAkCZhJMQbHOPsvjT6wKoVZOuD
+QBZW+nkIGmE=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/rdhe-3des-sha-1/commonname.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/rdhe-3des-sha-1/commonname.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
-CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
-BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
-OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
-Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
-aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
-DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
-VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
-B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
-6Q8=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
+SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
+CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
+BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
+OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
+Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
+aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
+DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
+VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
+B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
+6Q8=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/root.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/root.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,16 +1,16 @@
------BEGIN CERTIFICATE-----
-MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
-aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
-KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
-CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
-1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
-A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
-MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
-WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
-zFY=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
+aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
+KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
+CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
+1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
+A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
+MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
+WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
+zFY=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/rsa-3des-sha-1/commonname.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/rsa-3des-sha-1/commonname.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
-CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
-BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
-OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
-Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
-aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
-DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
-VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
-B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
-6Q8=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
+SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
+CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
+BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
+OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
+Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
+aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
+DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
+VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
+B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
+6Q8=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/rsa-aes128-sha-1/commonname.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/rsa-aes128-sha-1/commonname.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
-CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
-BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
-OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
-Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
-aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
-DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
-VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
-B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
-6Q8=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
+SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
+CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
+BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
+OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
+Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
+aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
+DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
+VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
+B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
+6Q8=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/rsa-aes256-sha-1/commonname.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/rsa-aes256-sha-1/commonname.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
-CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
-BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
-OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
-Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
-aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
-DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
-VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
-B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
-6Q8=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
+SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
+CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
+BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
+OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
+Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
+aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
+DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
+VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
+B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
+6Q8=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/rsa-des-sha-1/commonname.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/rsa-des-sha-1/commonname.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
-CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
-BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
-OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
-Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
-aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
-DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
-VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
-B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
-6Q8=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
+SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
+CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
+BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
+OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
+Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
+aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
+DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
+VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
+B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
+6Q8=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/rsa-rc4-md5-1/commonname.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/rsa-rc4-md5-1/commonname.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
-CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
-BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
-OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
-Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
-aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
-DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
-VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
-B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
-6Q8=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
+SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
+CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
+BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
+OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
+Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
+aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
+DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
+VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
+B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
+6Q8=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/rsa-rc4-sha-1/commonname.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/rsa-rc4-sha-1/commonname.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,20 +1,20 @@
------BEGIN CERTIFICATE-----
-MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
-bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
-BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
-SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
-CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
-BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
-OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
-Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
-aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
-DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
-VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
-B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
-6Q8=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDLjCCAtigAwIBAgIJAKYVfN6tNI0GMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYxMDI2MzVaFw0xOTEwMDQxMDI2MzVaMIGUMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSIwIAYDVQQDExl3d3cuc3ltYmlh
+bmZvdW5kYXRpb24ub3JnMRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24xKjAo
+BgkqhkiG9w0BCQEWG2R1bW15QFN5bWJpYW5Gb3VuZGF0aW9uLm9yZzBcMA0GCSqG
+SIb3DQEBAQUAA0sAMEgCQQDfLm/kPY9pcpB4jUX20WuNRJQ0mjlnwjsWciW8yjvU
+CN9Xd/PBtCpomQJn8xEO2J8KhSMUCczCZCt7BhYOeXfXAgMBAAGjggEGMIIBAjAd
+BgNVHQ4EFgQUgcdp5f8WCAbmb4lyW5oCBpjAUjswgcwGA1UdIwSBxDCBwYAUEoqd
+OejkJR6xle6TLcCDF8KleDOhgZ2kgZowgZcxCzAJBgNVBAYTAkVYMRgwFgYDVQQH
+Ew9FeGFtcGxlTG9jYXRpb24xJTAjBgNVBAMTHFRMUyBDZXJ0aWZpY2F0ZSBTaWdu
+aW5nIFJvb3QxGzAZBgNVBAoTElN5bWJpYW4gRm91bmRhdGlvbjEqMCgGCSqGSIb3
+DQEJARYbZHVtbXlAc3ltYmlhbmZvdW5kYXRpb24ub3JnggkAu3tvfYTBHFIwEgYD
+VR0TAQH/BAgwBgEB/wIBBTANBgkqhkiG9w0BAQQFAANBAIR2JDcMFqjRyQVqaNmG
+B5w7MVuIMpldzODY3/RxRiEQZOAP1n9kp5ikKL1hzw/EcKjPMwhx8Ogww0rAGDKi
+6Q8=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/tlsclientauthrsachain/root.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/tlsclientauthrsachain/root.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,16 +1,16 @@
------BEGIN CERTIFICATE-----
-MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
-aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
-KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
-CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
-1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
-A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
-MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
-WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
-zFY=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
+aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
+KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
+CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
+1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
+A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
+MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
+WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
+zFY=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/tlsextendedkeyusage/EKUAbsent.pem	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/tlsextendedkeyusage/EKUAbsent.pem	Tue Jun 29 19:20:22 2010 +0530
@@ -1,15 +1,15 @@
------BEGIN CERTIFICATE-----
-MIICWjCCAgSgAwIBAgIJAPgCeiMRY2LbMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDkwNDIzMzFaFw0zNzAyMjMwNDIzMzFaMIGGMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMRQwEgYDVQQDEwt3d3cuZWt1LmNv
-bTEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9uMSowKAYJKoZIhvcNAQkBFhtk
-dW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
-MIGJAoGBAOCLmX/jOw5lB0iGB3adw7sL+qMnqzXBBw98mnWM5Hlvb8bZnymKL51K
-Vs9OGutj9h6lOfVg2sJqluLS5MqI7Lzfx/Hy72+x1HDWlXCs2vGScEFbEoLUaWZa
-68pgRVXjz6ZqcQ6ukEiTqAIbYW96MRrykjisAxwkoiw2fETBUpL7AgMBAAEwDQYJ
-KoZIhvcNAQEEBQADQQBY6OkqxER9gWGDAEvU9szh37NWS869sThMBUZ/k8DRO+Ul
-D/lr3r3IVI5KYQ9SqjT7Ce7sak6f98AjM7hs9K6x
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICWjCCAgSgAwIBAgIJAPgCeiMRY2LbMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDkwNDIzMzFaFw0zNzAyMjMwNDIzMzFaMIGGMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMRQwEgYDVQQDEwt3d3cuZWt1LmNv
+bTEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9uMSowKAYJKoZIhvcNAQkBFhtk
+dW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
+MIGJAoGBAOCLmX/jOw5lB0iGB3adw7sL+qMnqzXBBw98mnWM5Hlvb8bZnymKL51K
+Vs9OGutj9h6lOfVg2sJqluLS5MqI7Lzfx/Hy72+x1HDWlXCs2vGScEFbEoLUaWZa
+68pgRVXjz6ZqcQ6ukEiTqAIbYW96MRrykjisAxwkoiw2fETBUpL7AgMBAAEwDQYJ
+KoZIhvcNAQEEBQADQQBY6OkqxER9gWGDAEvU9szh37NWS869sThMBUZ/k8DRO+Ul
+D/lr3r3IVI5KYQ9SqjT7Ce7sak6f98AjM7hs9K6x
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/tlsextendedkeyusage/InvalidEKUPresent.pem	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/tlsextendedkeyusage/InvalidEKUPresent.pem	Tue Jun 29 19:20:22 2010 +0530
@@ -1,16 +1,16 @@
------BEGIN CERTIFICATE-----
-MIICczCCAh2gAwIBAgIJAJZrPxW7nihqMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDkwNDIzMzNaFw0zNzAyMjMwNDIzMzNaMIGGMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMRQwEgYDVQQDEwt3d3cuZWt1LmNv
-bTEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9uMSowKAYJKoZIhvcNAQkBFhtk
-dW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
-MIGJAoGBAOCLmX/jOw5lB0iGB3adw7sL+qMnqzXBBw98mnWM5Hlvb8bZnymKL51K
-Vs9OGutj9h6lOfVg2sJqluLS5MqI7Lzfx/Hy72+x1HDWlXCs2vGScEFbEoLUaWZa
-68pgRVXjz6ZqcQ6ukEiTqAIbYW96MRrykjisAxwkoiw2fETBUpL7AgMBAAGjFzAV
-MBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBBAUAA0EAC6haHrySxfLZ
-0ew/e+Ikbq+riKMNO8cR74FgQRwHt3pCRgotG0dLvG2AG11A3daxgOLdw+yQtOCc
-0QXhlcZKmA==
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICczCCAh2gAwIBAgIJAJZrPxW7nihqMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDkwNDIzMzNaFw0zNzAyMjMwNDIzMzNaMIGGMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMRQwEgYDVQQDEwt3d3cuZWt1LmNv
+bTEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9uMSowKAYJKoZIhvcNAQkBFhtk
+dW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
+MIGJAoGBAOCLmX/jOw5lB0iGB3adw7sL+qMnqzXBBw98mnWM5Hlvb8bZnymKL51K
+Vs9OGutj9h6lOfVg2sJqluLS5MqI7Lzfx/Hy72+x1HDWlXCs2vGScEFbEoLUaWZa
+68pgRVXjz6ZqcQ6ukEiTqAIbYW96MRrykjisAxwkoiw2fETBUpL7AgMBAAGjFzAV
+MBMGA1UdJQQMMAoGCCsGAQUFBwMDMA0GCSqGSIb3DQEBBAUAA0EAC6haHrySxfLZ
+0ew/e+Ikbq+riKMNO8cR74FgQRwHt3pCRgotG0dLvG2AG11A3daxgOLdw+yQtOCc
+0QXhlcZKmA==
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/tlsextendedkeyusage/ValidEKUPresent.pem	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/tlsextendedkeyusage/ValidEKUPresent.pem	Tue Jun 29 19:20:22 2010 +0530
@@ -1,16 +1,16 @@
------BEGIN CERTIFICATE-----
-MIICczCCAh2gAwIBAgIJAMKeKNLcadnAMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDkwNDIzMzVaFw0zNzAyMjMwNDIzMzVaMIGGMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMRQwEgYDVQQDEwt3d3cuZWt1LmNv
-bTEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9uMSowKAYJKoZIhvcNAQkBFhtk
-dW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
-MIGJAoGBAOCLmX/jOw5lB0iGB3adw7sL+qMnqzXBBw98mnWM5Hlvb8bZnymKL51K
-Vs9OGutj9h6lOfVg2sJqluLS5MqI7Lzfx/Hy72+x1HDWlXCs2vGScEFbEoLUaWZa
-68pgRVXjz6ZqcQ6ukEiTqAIbYW96MRrykjisAxwkoiw2fETBUpL7AgMBAAGjFzAV
-MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBBAUAA0EALYKrL5+uUw87
-m+uqN9a5AWcFWTEQ8DiWon+4GKPn+0lSdV8U45lodi5BxVTtkjYpyiWBOok4lmK8
-c/e4hrxbhA==
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICczCCAh2gAwIBAgIJAMKeKNLcadnAMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDkwNDIzMzVaFw0zNzAyMjMwNDIzMzVaMIGGMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMRQwEgYDVQQDEwt3d3cuZWt1LmNv
+bTEbMBkGA1UEChMSU3ltYmlhbiBGb3VuZGF0aW9uMSowKAYJKoZIhvcNAQkBFhtk
+dW1teUBzeW1iaWFuZm91bmRhdGlvbi5vcmcwgZ8wDQYJKoZIhvcNAQEBBQADgY0A
+MIGJAoGBAOCLmX/jOw5lB0iGB3adw7sL+qMnqzXBBw98mnWM5Hlvb8bZnymKL51K
+Vs9OGutj9h6lOfVg2sJqluLS5MqI7Lzfx/Hy72+x1HDWlXCs2vGScEFbEoLUaWZa
+68pgRVXjz6ZqcQ6ukEiTqAIbYW96MRrykjisAxwkoiw2fETBUpL7AgMBAAGjFzAV
+MBMGA1UdJQQMMAoGCCsGAQUFBwMBMA0GCSqGSIb3DQEBBAUAA0EALYKrL5+uUw87
+m+uqN9a5AWcFWTEQ8DiWon+4GKPn+0lSdV8U45lodi5BxVTtkjYpyiWBOok4lmK8
+c/e4hrxbhA==
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/data/tlssigningroot/root.cer	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/data/tlssigningroot/root.cer	Tue Jun 29 19:20:22 2010 +0530
@@ -1,16 +1,16 @@
------BEGIN CERTIFICATE-----
-MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
-aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
-KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
-CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
-1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
-A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
-MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
-WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
-zFY=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
+aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
+KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
+CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
+1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
+A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
+MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
+WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
+zFY=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/openssl_server_setting/root-cert.pem	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/openssl_server_setting/root-cert.pem	Tue Jun 29 19:20:22 2010 +0530
@@ -1,16 +1,16 @@
------BEGIN CERTIFICATE-----
-MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
-VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
-Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
-YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
-ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
-WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
-aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
-KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
-CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
-1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
-A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
-MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
-WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
-zFY=
------END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIICbjCCAhigAwIBAgIJALt7b32EwRxSMA0GCSqGSIb3DQEBBAUAMIGXMQswCQYD
+VQQGEwJFWDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMg
+Q2VydGlmaWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5k
+YXRpb24xKjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9y
+ZzAeFw0wOTEwMDYwNjExMzJaFw0xOTEwMDQwNjExMzJaMIGXMQswCQYDVQQGEwJF
+WDEYMBYGA1UEBxMPRXhhbXBsZUxvY2F0aW9uMSUwIwYDVQQDExxUTFMgQ2VydGlm
+aWNhdGUgU2lnbmluZyBSb290MRswGQYDVQQKExJTeW1iaWFuIEZvdW5kYXRpb24x
+KjAoBgkqhkiG9w0BCQEWG2R1bW15QHN5bWJpYW5mb3VuZGF0aW9uLm9yZzBcMA0G
+CSqGSIb3DQEBAQUAA0sAMEgCQQCqLf0OYv/QMyNoDMq/Elng7Wiuq5ArTtxgLOwo
+1hlFAdSIynFzHH8OqTPd4hEb05UMpdquIs0rKQm8Hc/dMKdtAgMBAAGjRTBDMB0G
+A1UdDgQWBBQSip056OQlHrGV7pMtwIMXwqV4MzASBgNVHRMBAf8ECDAGAQH/AgEF
+MA4GA1UdDwEB/wQEAwICBDANBgkqhkiG9w0BAQQFAANBACDHoLU1CfAw3KwbmpOi
+WPwWIHomBu3hELqXVJYAUfHIWeNUfzFWUAV20WEGSSWKW4TgmZAnOZNaO3iEgyMP
+zFY=
+-----END CERTIFICATE-----
--- a/networksecurity/tlsprovider/Test/tlstest2/scripts/tls_smoke.ini	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/Test/tlstest2/scripts/tls_smoke.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -19,7 +19,7 @@
 CipherSuite1=008c
 ExpectedFinalCipherSuit=008c
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
@@ -30,7 +30,7 @@
 CipherSuite1=008c
 ExpectedFinalCipherSuit=0035
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 ExpectedSetCipherError=-5
@@ -43,7 +43,7 @@
 CipherSuite1=008b
 ExpectedFinalCipherSuit=008b
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
@@ -54,7 +54,7 @@
 CipherSuite1=008a
 ExpectedFinalCipherSuit=008a
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
@@ -65,7 +65,7 @@
 CipherSuite1=008d
 ExpectedFinalCipherSuit=008d
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
@@ -77,7 +77,7 @@
 CipherSuite1=0003
 ExpectedFinalCipherSuit=0003
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -88,7 +88,7 @@
 CipherSuite1=0004
 ExpectedFinalCipherSuit=0004
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -98,7 +98,7 @@
 CipherSuite1=0005
 ExpectedFinalCipherSuit=0005
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -109,7 +109,7 @@
 CipherSuite1=0008
 ExpectedFinalCipherSuit=0008
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -119,7 +119,7 @@
 CipherSuite1=0009
 ExpectedFinalCipherSuit=0009
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -130,7 +130,7 @@
 CipherSuite1=000a
 ExpectedFinalCipherSuit=000a
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -140,7 +140,7 @@
 CipherSuite1=0011
 ExpectedFinalCipherSuit=0011
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -150,7 +150,7 @@
 CipherSuite1=0012
 ExpectedFinalCipherSuit=0012
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -161,7 +161,7 @@
 CipherSuite1=0013
 ExpectedFinalCipherSuit=0013
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -171,7 +171,7 @@
 CipherSuite1=0014
 ExpectedFinalCipherSuit=0014
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -182,7 +182,7 @@
 CipherSuite1=0016
 ExpectedFinalCipherSuit=0016
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -193,7 +193,7 @@
 CipherSuite1=002f
 ExpectedFinalCipherSuit=002f
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -204,7 +204,7 @@
 CipherSuite1=0035
 ExpectedFinalCipherSuit=0035
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -216,7 +216,7 @@
 NumCipherSuites=0
 ExpectedFinalCipherSuit=008D
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=True
@@ -233,7 +233,7 @@
 CipherSuite1=002f
 ExpectedFinalCipherSuit=002f
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -252,7 +252,7 @@
 
 UseNullCipher=True
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -272,7 +272,7 @@
 ExpectedFinalCipherSuit=0001
 UseNullCipher=True
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=ETrue
@@ -283,7 +283,7 @@
 CipherSuite1=0002
 ExpectedFinalCipherSuit=0002
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 UsePsk=True
@@ -297,7 +297,7 @@
 ExpectedSetCipherError=-5
 
 ExpectedFinalCipherSuit=0035
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 
@@ -308,7 +308,7 @@
 CipherSuite1=0002
 ExpectedFinalCipherSuit=0035
 
-WebAddress=10.253.27.250
+WebAddress=10.225.171.71
 WebPage=hello.html
 PortNum=1666
 ExpectedSetCipherError=-5
--- a/networksecurity/tlsprovider/group/swtlstokentypeplugin.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/group/swtlstokentypeplugin.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -33,7 +33,6 @@
 SOURCE swtlstokenprovider.cpp swtlssessioncache.cpp swtlstoken_log.cpp
 
 USERINCLUDE		../inc
-USERINCLUDE		../../../../security/crypto/weakcrypto/inc
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 
--- a/networksecurity/tlsprovider/group/tlsprovider.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/networksecurity/tlsprovider/group/tlsprovider.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -33,7 +33,6 @@
 SOURCE                  tlsprovider_log.cpp tlsproviderpolicy.cpp
 
 USERINCLUDE		../inc
-USERINCLUDE		../../../../security/crypto/weakcrypto/inc
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
 LIBRARY	euser.lib  pkixcert.lib
--- a/pppcompressionplugins/predictorcompression/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,34 +0,0 @@
-// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-// PPP RFC1978 compression plug-in
-// 
-//
-
-/**
- @file
-*/
-
-
-
-PRJ_PLATFORMS
-
-DEFAULT
-
-PRJ_EXPORTS
-
-../group/PREDCOMP.IBY           /epoc32/rom/include/predcomp.iby
-
-PRJ_MMPFILES
-
-../group/PREDCOMP.MMP
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pppcompressionplugins/predictorcompression/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,34 @@
+// Copyright (c) 1999-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+// PPP RFC1978 compression plug-in
+// 
+//
+
+/**
+ @file
+*/
+
+
+
+PRJ_PLATFORMS
+
+DEFAULT
+
+PRJ_EXPORTS
+
+../group/PREDCOMP.IBY           /epoc32/rom/include/predcomp.iby
+
+PRJ_MMPFILES
+
+../group/PREDCOMP.MMP
--- a/tcpiputils/dhcp/group/DHCPServ.iby	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/group/DHCPServ.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -17,7 +17,7 @@
 #ifndef __DHCP_SERVER_IBY__
 #define __DHCP_SERVER_IBY__
 
-#ifdef SYMBIAN_EXCLUDE_DHCP
+#ifndef __DHCP
 REM Feature DHCP is not included in this ROM
 #else
 REM Static Dependencies
--- a/tcpiputils/dhcp/group/NetCfgExtnDhcp.iby	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/group/NetCfgExtnDhcp.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -18,7 +18,7 @@
 #ifndef GUARD_INCLUDE_NETCFGEXTNDHCP_IBY
 #define GUARD_INCLUDE_NETCFGEXTNDHCP_IBY
 
-#ifdef SYMBIAN_EXCLUDE_DHCP
+#ifndef __DHCP
 REM Feature DHCP is not included in this ROM
 #else
 #include <netstsrv.iby>
--- a/tcpiputils/dhcp/src/DHCPIP4Control.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/src/DHCPIP4Control.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -31,7 +31,7 @@
 #include "DomainNameDecoder.h"
 #include <nifman.h>
 #include <comms-infras/es_config.h>
-#include "netcfgextndhcpmsg.h"
+#include "NetCfgExtnDhcpMsg.h"
 #include <f32file.h>
 #include <comms-infras/metatype.h>
 #include <comms-infras/metadata.h>
--- a/tcpiputils/dhcp/src/DHCPIP6Control.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/src/DHCPIP6Control.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -29,7 +29,7 @@
 #include "ExpireTimer.h"
 #include "DomainNameDecoder.h"
 #include <comms-infras/es_config.h>
-#include "netcfgextndhcpmsg.h"
+#include "NetCfgExtnDhcpMsg.h"
 #include <nifman.h>
 #include <f32file.h>
 #include <comms-infras/metatype.h>
--- a/tcpiputils/dhcp/src/DHCPStateMachine.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/src/DHCPStateMachine.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -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
+            iSocket.SetOpt(KSoKeepInterfaceUp, KSolInetIp, 0);
+            if(error != KErrNone)
+                {
+                __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L("CDHCPStateMachine::RemoveConfiguredAddress, SetOpt Failed to set KSoKeepInterfaceUp")));
+                }
+            }
+        else
+            {
+            __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L("CDHCPStateMachine::RemoveConfiguredAddress, SetOpt Failed to set KSoInetConfigInterface")));
+            }
+	    }
+	else
+	    {
+        __CFLOG_VAR((KLogSubSysDHCP, KLogCode, _L("CDHCPStateMachine::RemoveConfiguredAddress, Socket Open Failed: Due to KErrNotReady")));
+	    }
 	}
 
 void CDHCPStateMachine::ConfigureInterfaceL( const TSoInet6InterfaceInfo& aInterfaceInfo )
--- a/tcpiputils/dhcp/te_dhcp/config/scripts/SIP_Server_simtsy_config.txt	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/te_dhcp/config/scripts/SIP_Server_simtsy_config.txt	Tue Jun 29 19:20:22 2010 +0530
@@ -26,7 +26,7 @@
 #DefaultGPRSAdditionalParamItem= <TPcoProtocolId>, <TBuf8 AdditionalParamData>
 
 
-SetContextConfigGPRS = 0,Test,192.168.1.2,0,2,0,1,RasUser,,,,,,1,3
+SetContextConfigGPRS = 0,Test,192.168.1.2,0,2,0,1,RasUser,,,,,,1,3
 #AdditionalParamItem= <TPcoProtocolId>, <TBuf8 AdditionalParamData>
 #this will come up as binary
 AdditionalParamItemGPRS= 0x01, \xff\xff\xff\xff\xff\xff\xff\xff\xee\xee\xee\xee\xee\xee\xee\xee,1
@@ -240,7 +240,7 @@
 #DefaultGPRSAdditionalParamItem= <TPcoProtocolId>, <TBuf8 AdditionalParamData>
 
 
-SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
+SetContextConfigGPRS = 0,Test,,0,2,0,1,RasUser,,,,,,1
 
 
 # TRel99ContextConfig = <TName iContextName>,  <TUint iActivatePause>, <TUint iActivateErrorCode>, <TUint iDeactivatePause>,
--- a/tcpiputils/dhcp/te_dhcp/src/te_dhcpTestStep1.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/te_dhcp/src/te_dhcpTestStep1.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -27,7 +27,7 @@
 #include <comms-infras/es_config.h>
 #include "../../include/DHCP_Std.h"
 #include <comms-infras/startprocess.h>
-#include "te_TestDaemonClient.h"
+#include "Te_TestDaemonClient.h"
 #include "DHCPStatesDebug.h"
 
 TVerdict CDhcpTestStep1_1::doTestStepL()
--- a/tcpiputils/dhcp/te_dhcp/te_dhcpTestServer.iby	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/te_dhcp/te_dhcpTestServer.iby	Tue Jun 29 19:20:22 2010 +0530
@@ -22,7 +22,7 @@
 file=ABI_DIR\DEBUG_DIR\DhcpTestServer.exe	System\bin\DhcpTestServer.exe
 
 
-#ifdef SYMBIAN_EXCLUDE_DHCP
+#ifndef __DHCP
 REM Feature DHCP is not included in this ROM
 data=\epoc32\data\z\testdata\scripts\DHCP\te_dhcpremovedtest_ip4.script			TestData\scripts\DHCP\te_dhcpremovedtest_ip4.script
 
--- a/tcpiputils/dhcp/te_unittest/dhcpservtest.cpp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/te_unittest/dhcpservtest.cpp	Tue Jun 29 19:20:22 2010 +0530
@@ -28,7 +28,7 @@
 #include "es_enum.h" 
 #include <nifman.h>
 #include <naptinterface.h>
-#include "dhcpstatesdebug.h"
+#include "DHCPStatesDebug.h"
 
 /**
  * MAC address length
--- a/tcpiputils/dhcp/te_unittest/dhcpservtest.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dhcp/te_unittest/dhcpservtest.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -21,18 +21,17 @@
 
 SOURCEPATH .
 SOURCE dhcpservtest.cpp
-USERINCLUDE ..\include
+USERINCLUDE ../include
 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
-SYSTEMINCLUDE \epoc32\include \epoc32\include\TechView \epoc32\include\Networking
+SYSTEMINCLUDE /epoc32/include /epoc32/include/networking
 #else
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-SYSTEMINCLUDE \epoc32\include\TechView 
-SYSTEMINCLUDE \epoc32\include\platform\Networking
-SYSTEMINCLUDE  ..\..\networkaddressandporttranslation\inc
+SYSTEMINCLUDE /epoc32/include/platform/networking
+SYSTEMINCLUDE  ../../networkaddressandporttranslation/inc
 #endif
 
 
-LIBRARY       euser.lib ecom.lib esock.lib InetProtUtil.lib commdb.lib insock.lib c32root.lib
+LIBRARY       euser.lib ecom.lib esock.lib inetprotutil.lib commdb.lib insock.lib c32root.lib
 
 CAPABILITY ALL -Tcb
 
--- a/tcpiputils/dnd/Test/Group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,18 +0,0 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-#include"../TE_LLMNR/group/BLD.INF"
-#include"../te_dndunittest/group/BLD.INF"
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tcpiputils/dnd/Test/Group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,18 @@
+// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+#include"../TE_LLMNR/group/bld.inf"
+#include"../te_dndunittest/group/bld.inf"
\ No newline at end of file
--- a/tcpiputils/dnd/Test/TE_LLMNR/group/BLD.INF	Mon May 03 13:58:16 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,54 +0,0 @@
-// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of "Eclipse Public License v1.0"
-// which accompanies this distribution, and is available
-// at the URL "http://www.eclipse.org/legal/epl-v10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-PRJ_EXPORTS
-
-
-PRJ_TESTEXPORTS
-
-//-- iby file for the test
-TE_LlmnrServer.iby	/epoc32/rom/include/te_llmnrserver.iby
-
-//-- test script files
-../Scriptfiles/te_llmnr.script		/epoc32/release/wins/udeb/z/testdata/scripts/llmnr/te_llmnr.script
-../Scriptfiles/te_llmnr.script		/epoc32/release/winscw/udeb/z/testdata/scripts/llmnr/te_llmnr.script
-
-../Scriptfiles/te_llmnr_ip4.script	/epoc32/release/wins/udeb/z/testdata/scripts/llmnr/te_llmnr_ip4.script
-../Scriptfiles/te_llmnr_ip4.script	/epoc32/release/winscw/udeb/z/testdata/scripts/llmnr/te_llmnr_ip4.script
-
-../Scriptfiles/te_llmnr_ip6.script	/epoc32/release/wins/udeb/z/testdata/scripts/llmnr/te_llmnr_ip6.script
-../Scriptfiles/te_llmnr_ip6.script	/epoc32/release/winscw/udeb/z/testdata/scripts/llmnr/te_llmnr_ip6.script
-
-
-//-- test configs
-../Configs/te_llmnr.ini			/epoc32/release/wins/udeb/z/testdata/configs/llmnr/te_llmnr.ini
-../Configs/te_llmnr.ini			/epoc32/release/winscw/udeb/z/testdata/configs/llmnr/te_llmnr.ini
-
-
-../Configs/te_llmnr_ip4.xml		/epoc32/release/wins/udeb/z/testdata/configs/llmnr/te_llmnr_ip4.xml
-../Configs/te_llmnr_ip4.xml		/epoc32/release/winscw/udeb/z/testdata/configs/llmnr/te_llmnr_ip4.xml
-
-../Configs/te_llmnr_ip6.xml		/epoc32/release/wins/udeb/z/testdata/configs/llmnr/te_llmnr_ip6.xml
-../Configs/te_llmnr_ip6.xml		/epoc32/release/winscw/udeb/z/testdata/configs/llmnr/te_llmnr_ip6.xml
-
-
-PRJ_MMPFILES
-
-
-
-PRJ_TESTMMPFILES
-
-TE_LlmnrServer.mmp
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/tcpiputils/dnd/Test/TE_LLMNR/group/bld.inf	Tue Jun 29 19:20:22 2010 +0530
@@ -0,0 +1,54 @@
+// Copyright (c) 2003-2009 Nokia Corporation and/or its subsidiary(-ies).
+// All rights reserved.
+// This component and the accompanying materials are made available
+// under the terms of "Eclipse Public License v1.0"
+// which accompanies this distribution, and is available
+// at the URL "http://www.eclipse.org/legal/epl-v10.html".
+//
+// Initial Contributors:
+// Nokia Corporation - initial contribution.
+//
+// Contributors:
+//
+// Description:
+//
+
+
+PRJ_EXPORTS
+
+
+PRJ_TESTEXPORTS
+
+//-- iby file for the test
+TE_LlmnrServer.iby	/epoc32/rom/include/te_llmnrserver.iby
+
+//-- test script files
+../Scriptfiles/te_llmnr.script		/epoc32/release/wins/udeb/z/testdata/scripts/llmnr/te_llmnr.script
+../Scriptfiles/te_llmnr.script		/epoc32/release/winscw/udeb/z/testdata/scripts/llmnr/te_llmnr.script
+
+../Scriptfiles/te_llmnr_ip4.script	/epoc32/release/wins/udeb/z/testdata/scripts/llmnr/te_llmnr_ip4.script
+../Scriptfiles/te_llmnr_ip4.script	/epoc32/release/winscw/udeb/z/testdata/scripts/llmnr/te_llmnr_ip4.script
+
+../Scriptfiles/te_llmnr_ip6.script	/epoc32/release/wins/udeb/z/testdata/scripts/llmnr/te_llmnr_ip6.script
+../Scriptfiles/te_llmnr_ip6.script	/epoc32/release/winscw/udeb/z/testdata/scripts/llmnr/te_llmnr_ip6.script
+
+
+//-- test configs
+../Configs/te_llmnr.ini			/epoc32/release/wins/udeb/z/testdata/configs/llmnr/te_llmnr.ini
+../Configs/te_llmnr.ini			/epoc32/release/winscw/udeb/z/testdata/configs/llmnr/te_llmnr.ini
+
+
+../Configs/te_llmnr_ip4.xml		/epoc32/release/wins/udeb/z/testdata/configs/llmnr/te_llmnr_ip4.xml
+../Configs/te_llmnr_ip4.xml		/epoc32/release/winscw/udeb/z/testdata/configs/llmnr/te_llmnr_ip4.xml
+
+../Configs/te_llmnr_ip6.xml		/epoc32/release/wins/udeb/z/testdata/configs/llmnr/te_llmnr_ip6.xml
+../Configs/te_llmnr_ip6.xml		/epoc32/release/winscw/udeb/z/testdata/configs/llmnr/te_llmnr_ip6.xml
+
+
+PRJ_MMPFILES
+
+
+
+PRJ_TESTMMPFILES
+
+TE_LlmnrServer.mmp
\ No newline at end of file
--- a/tcpiputils/dnd/Test/te_dndunittest/group/te_dndunittest.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/dnd/Test/te_dndunittest/group/te_dndunittest.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -15,7 +15,7 @@
 // 
 //
 
-TARGET		  te_dndServer.exe
+TARGET		  te_dndserver.exe
 TARGETTYPE	  exe
 UID		  0 0xED4DC1CD
 
--- a/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/Te_NaptConnection_target.xml	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/Te_NaptConnection_target.xml	Tue Jun 29 19:20:22 2010 +0530
@@ -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	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/Te_NaptConnection_winscw.xml	Tue Jun 29 19:20:22 2010 +0530
@@ -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	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/te_naptconfig_target.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -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	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/networkaddressandporttranslation/TE_Napt/configs/te_naptconfig_winscw.ini	Tue Jun 29 19:20:22 2010 +0530
@@ -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
--- a/tcpiputils/networkaddressandporttranslation/te_unittest/group/te_naptunittest.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/networkaddressandporttranslation/te_unittest/group/te_naptunittest.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -23,14 +23,14 @@
 TARGET          te_naptunittest.exe
 TARGETTYPE      exe
 
-SOURCEPATH      ..\src
+SOURCEPATH      ../src
 SOURCE		te_naptunittesttestserver.cpp te_naptunittesttestblock.cpp te_naptunittesttestwrapper.cpp
 
 
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
 
-USERINCLUDE     ..\..\inc
-USERINCLUDE	..\inc
+USERINCLUDE     ../../inc
+USERINCLUDE	../inc
 
 LIBRARY euser.lib 
 LIBRARY esock.lib 
--- a/tcpiputils/punycodeconv/te_punycodeconverter/group/te_punycodeconverter.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/punycodeconv/te_punycodeconverter/group/te_punycodeconverter.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -23,18 +23,18 @@
 TARGET          te_punycodeconverter.exe
 TARGETTYPE      exe
 
-SOURCEPATH      ..\src
+SOURCEPATH      ../src
 SOURCE		te_punycodeconvertertestserver.cpp te_punycodeconvertertestblock.cpp te_punycodeconvertertestwrapper.cpp
 
 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
-SYSTEMINCLUDE   \epoc32\include
-SYSTEMINCLUDE   \epoc32\include\test
+SYSTEMINCLUDE   /epoc32/include
+SYSTEMINCLUDE   /epoc32/include/test
 #else
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-SYSTEMINCLUDE   \epoc32\include\platform\test
+SYSTEMINCLUDE   /epoc32/include/platform/test
 #endif
 
-USERINCLUDE     ..\inc
+USERINCLUDE     ../inc
 
 LIBRARY punycodeconverter.lib
 LIBRARY euser.lib 
--- a/tcpiputils/punycodeconv/te_unittest/group/te_unittestidna.mmp	Mon May 03 13:58:16 2010 +0300
+++ b/tcpiputils/punycodeconv/te_unittest/group/te_unittestidna.mmp	Tue Jun 29 19:20:22 2010 +0530
@@ -23,17 +23,17 @@
 TARGET          testidnserver.exe
 TARGETTYPE      exe
 
-SOURCEPATH      ..\src
+SOURCEPATH      ../src
 SOURCE 	    te_unittestidna.cpp
 SOURCE	    te_unittestidnaserver.cpp
 SOURCE	    te_unittestidnastepbase.cpp
 
 #ifdef SYMBIAN_OLD_EXPORT_LOCATION
-SYSTEMINCLUDE   \epoc32\include
-SYSTEMINCLUDE   \epoc32\include\test
+SYSTEMINCLUDE   /epoc32/include
+SYSTEMINCLUDE   /epoc32/include/test
 #else
 OS_LAYER_SYSTEMINCLUDE_SYMBIAN
-SYSTEMINCLUDE   \epoc32\include\platform\test
+SYSTEMINCLUDE   /epoc32/include/platform/test
 #endif
 
 LIBRARY         euser.lib