mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-06 09:05:45 +00:00
2185d3a4e6
--HG-- rename : netwerk/base/src/ADivertableParentChannel.h => netwerk/base/ADivertableParentChannel.h rename : netwerk/base/src/ArrayBufferInputStream.cpp => netwerk/base/ArrayBufferInputStream.cpp rename : netwerk/base/src/ArrayBufferInputStream.h => netwerk/base/ArrayBufferInputStream.h rename : netwerk/base/src/AutoClose.h => netwerk/base/AutoClose.h rename : netwerk/base/src/BackgroundFileSaver.cpp => netwerk/base/BackgroundFileSaver.cpp rename : netwerk/base/src/BackgroundFileSaver.h => netwerk/base/BackgroundFileSaver.h rename : netwerk/base/src/ChannelDiverterChild.cpp => netwerk/base/ChannelDiverterChild.cpp rename : netwerk/base/src/ChannelDiverterChild.h => netwerk/base/ChannelDiverterChild.h rename : netwerk/base/src/ChannelDiverterParent.cpp => netwerk/base/ChannelDiverterParent.cpp rename : netwerk/base/src/ChannelDiverterParent.h => netwerk/base/ChannelDiverterParent.h rename : netwerk/base/src/Dashboard.cpp => netwerk/base/Dashboard.cpp rename : netwerk/base/src/Dashboard.h => netwerk/base/Dashboard.h rename : netwerk/base/src/DashboardTypes.h => netwerk/base/DashboardTypes.h rename : netwerk/base/src/EventTokenBucket.cpp => netwerk/base/EventTokenBucket.cpp rename : netwerk/base/src/EventTokenBucket.h => netwerk/base/EventTokenBucket.h rename : netwerk/base/src/LoadContextInfo.cpp => netwerk/base/LoadContextInfo.cpp rename : netwerk/base/src/LoadContextInfo.h => netwerk/base/LoadContextInfo.h rename : netwerk/base/public/NetStatistics.h => netwerk/base/NetStatistics.h rename : netwerk/base/src/NetUtil.jsm => netwerk/base/NetUtil.jsm rename : netwerk/base/src/NetworkActivityMonitor.cpp => netwerk/base/NetworkActivityMonitor.cpp rename : netwerk/base/src/NetworkActivityMonitor.h => netwerk/base/NetworkActivityMonitor.h rename : netwerk/base/src/OfflineObserver.cpp => netwerk/base/OfflineObserver.cpp rename : netwerk/base/src/OfflineObserver.h => netwerk/base/OfflineObserver.h rename : netwerk/base/src/Predictor.cpp => netwerk/base/Predictor.cpp rename : netwerk/base/src/Predictor.h => netwerk/base/Predictor.h rename : netwerk/base/src/PrivateBrowsingChannel.h => netwerk/base/PrivateBrowsingChannel.h rename : netwerk/base/src/ProxyAutoConfig.cpp => netwerk/base/ProxyAutoConfig.cpp rename : netwerk/base/src/ProxyAutoConfig.h => netwerk/base/ProxyAutoConfig.h rename : netwerk/base/src/RedirectChannelRegistrar.cpp => netwerk/base/RedirectChannelRegistrar.cpp rename : netwerk/base/src/RedirectChannelRegistrar.h => netwerk/base/RedirectChannelRegistrar.h rename : netwerk/base/public/ReferrerPolicy.h => netwerk/base/ReferrerPolicy.h rename : netwerk/base/src/StreamingProtocolService.cpp => netwerk/base/StreamingProtocolService.cpp rename : netwerk/base/src/StreamingProtocolService.h => netwerk/base/StreamingProtocolService.h rename : netwerk/base/src/TLSServerSocket.cpp => netwerk/base/TLSServerSocket.cpp rename : netwerk/base/src/TLSServerSocket.h => netwerk/base/TLSServerSocket.h rename : netwerk/base/src/Tickler.cpp => netwerk/base/Tickler.cpp rename : netwerk/base/src/Tickler.h => netwerk/base/Tickler.h rename : netwerk/base/public/mozIThirdPartyUtil.idl => netwerk/base/mozIThirdPartyUtil.idl rename : netwerk/base/public/netCore.h => netwerk/base/netCore.h rename : netwerk/base/public/nsASocketHandler.h => netwerk/base/nsASocketHandler.h rename : netwerk/base/src/nsAsyncRedirectVerifyHelper.cpp => netwerk/base/nsAsyncRedirectVerifyHelper.cpp rename : netwerk/base/public/nsAsyncRedirectVerifyHelper.h => netwerk/base/nsAsyncRedirectVerifyHelper.h rename : netwerk/base/src/nsAsyncStreamCopier.cpp => netwerk/base/nsAsyncStreamCopier.cpp rename : netwerk/base/src/nsAsyncStreamCopier.h => netwerk/base/nsAsyncStreamCopier.h rename : netwerk/base/src/nsAuthInformationHolder.cpp => netwerk/base/nsAuthInformationHolder.cpp rename : netwerk/base/src/nsAuthInformationHolder.h => netwerk/base/nsAuthInformationHolder.h rename : netwerk/base/src/nsAutodialQt.cpp => netwerk/base/nsAutodialQt.cpp rename : netwerk/base/src/nsAutodialQt.h => netwerk/base/nsAutodialQt.h rename : netwerk/base/src/nsAutodialWin.cpp => netwerk/base/nsAutodialWin.cpp rename : netwerk/base/src/nsAutodialWin.h => netwerk/base/nsAutodialWin.h rename : netwerk/base/src/nsBase64Encoder.cpp => netwerk/base/nsBase64Encoder.cpp rename : netwerk/base/src/nsBase64Encoder.h => netwerk/base/nsBase64Encoder.h rename : netwerk/base/src/nsBaseChannel.cpp => netwerk/base/nsBaseChannel.cpp rename : netwerk/base/src/nsBaseChannel.h => netwerk/base/nsBaseChannel.h rename : netwerk/base/src/nsBaseContentStream.cpp => netwerk/base/nsBaseContentStream.cpp rename : netwerk/base/src/nsBaseContentStream.h => netwerk/base/nsBaseContentStream.h rename : netwerk/base/src/nsBufferedStreams.cpp => netwerk/base/nsBufferedStreams.cpp rename : netwerk/base/src/nsBufferedStreams.h => netwerk/base/nsBufferedStreams.h rename : netwerk/base/src/nsChannelClassifier.cpp => netwerk/base/nsChannelClassifier.cpp rename : netwerk/base/src/nsChannelClassifier.h => netwerk/base/nsChannelClassifier.h rename : netwerk/base/src/nsDNSPrefetch.cpp => netwerk/base/nsDNSPrefetch.cpp rename : netwerk/base/src/nsDNSPrefetch.h => netwerk/base/nsDNSPrefetch.h rename : netwerk/base/src/nsDirectoryIndexStream.cpp => netwerk/base/nsDirectoryIndexStream.cpp rename : netwerk/base/src/nsDirectoryIndexStream.h => netwerk/base/nsDirectoryIndexStream.h rename : netwerk/base/src/nsDownloader.cpp => netwerk/base/nsDownloader.cpp rename : netwerk/base/src/nsDownloader.h => netwerk/base/nsDownloader.h rename : netwerk/base/src/nsFileStreams.cpp => netwerk/base/nsFileStreams.cpp rename : netwerk/base/src/nsFileStreams.h => netwerk/base/nsFileStreams.h rename : netwerk/base/public/nsIApplicationCache.idl => netwerk/base/nsIApplicationCache.idl rename : netwerk/base/public/nsIApplicationCacheChannel.idl => netwerk/base/nsIApplicationCacheChannel.idl rename : netwerk/base/public/nsIApplicationCacheContainer.idl => netwerk/base/nsIApplicationCacheContainer.idl rename : netwerk/base/public/nsIApplicationCacheService.idl => netwerk/base/nsIApplicationCacheService.idl rename : netwerk/base/public/nsIArrayBufferInputStream.idl => netwerk/base/nsIArrayBufferInputStream.idl rename : netwerk/base/public/nsIAsyncStreamCopier.idl => netwerk/base/nsIAsyncStreamCopier.idl rename : netwerk/base/public/nsIAsyncStreamCopier2.idl => netwerk/base/nsIAsyncStreamCopier2.idl rename : netwerk/base/public/nsIAsyncVerifyRedirectCallback.idl => netwerk/base/nsIAsyncVerifyRedirectCallback.idl rename : netwerk/base/public/nsIAuthInformation.idl => netwerk/base/nsIAuthInformation.idl rename : netwerk/base/public/nsIAuthModule.idl => netwerk/base/nsIAuthModule.idl rename : netwerk/base/public/nsIAuthPrompt.idl => netwerk/base/nsIAuthPrompt.idl rename : netwerk/base/public/nsIAuthPrompt2.idl => netwerk/base/nsIAuthPrompt2.idl rename : netwerk/base/public/nsIAuthPromptAdapterFactory.idl => netwerk/base/nsIAuthPromptAdapterFactory.idl rename : netwerk/base/public/nsIAuthPromptCallback.idl => netwerk/base/nsIAuthPromptCallback.idl rename : netwerk/base/public/nsIAuthPromptProvider.idl => netwerk/base/nsIAuthPromptProvider.idl rename : netwerk/base/public/nsIBackgroundFileSaver.idl => netwerk/base/nsIBackgroundFileSaver.idl rename : netwerk/base/public/nsIBrowserSearchService.idl => netwerk/base/nsIBrowserSearchService.idl rename : netwerk/base/public/nsIBufferedStreams.idl => netwerk/base/nsIBufferedStreams.idl rename : netwerk/base/public/nsIByteRangeRequest.idl => netwerk/base/nsIByteRangeRequest.idl rename : netwerk/base/public/nsICacheInfoChannel.idl => netwerk/base/nsICacheInfoChannel.idl rename : netwerk/base/public/nsICachingChannel.idl => netwerk/base/nsICachingChannel.idl rename : netwerk/base/public/nsICancelable.idl => netwerk/base/nsICancelable.idl rename : netwerk/base/public/nsIChannel.idl => netwerk/base/nsIChannel.idl rename : netwerk/base/public/nsIChannelEventSink.idl => netwerk/base/nsIChannelEventSink.idl rename : netwerk/base/public/nsIChildChannel.idl => netwerk/base/nsIChildChannel.idl rename : netwerk/base/public/nsIClassOfService.idl => netwerk/base/nsIClassOfService.idl rename : netwerk/base/public/nsIContentSniffer.idl => netwerk/base/nsIContentSniffer.idl rename : netwerk/base/public/nsICryptoFIPSInfo.idl => netwerk/base/nsICryptoFIPSInfo.idl rename : netwerk/base/public/nsICryptoHMAC.idl => netwerk/base/nsICryptoHMAC.idl rename : netwerk/base/public/nsICryptoHash.idl => netwerk/base/nsICryptoHash.idl rename : netwerk/base/public/nsIDashboard.idl => netwerk/base/nsIDashboard.idl rename : netwerk/base/public/nsIDashboardEventNotifier.idl => netwerk/base/nsIDashboardEventNotifier.idl rename : netwerk/base/public/nsIDivertableChannel.idl => netwerk/base/nsIDivertableChannel.idl rename : netwerk/base/public/nsIDownloader.idl => netwerk/base/nsIDownloader.idl rename : netwerk/base/public/nsIEncodedChannel.idl => netwerk/base/nsIEncodedChannel.idl rename : netwerk/base/public/nsIExternalProtocolHandler.idl => netwerk/base/nsIExternalProtocolHandler.idl rename : netwerk/base/public/nsIFileStreams.idl => netwerk/base/nsIFileStreams.idl rename : netwerk/base/public/nsIFileURL.idl => netwerk/base/nsIFileURL.idl rename : netwerk/base/public/nsIForcePendingChannel.idl => netwerk/base/nsIForcePendingChannel.idl rename : netwerk/base/public/nsIHttpPushListener.idl => netwerk/base/nsIHttpPushListener.idl rename : netwerk/base/public/nsIIOService.idl => netwerk/base/nsIIOService.idl rename : netwerk/base/public/nsIIOService2.idl => netwerk/base/nsIIOService2.idl rename : netwerk/base/public/nsIIncrementalDownload.idl => netwerk/base/nsIIncrementalDownload.idl rename : netwerk/base/public/nsIInputStreamChannel.idl => netwerk/base/nsIInputStreamChannel.idl rename : netwerk/base/public/nsIInputStreamPump.idl => netwerk/base/nsIInputStreamPump.idl rename : netwerk/base/public/nsILoadContextInfo.idl => netwerk/base/nsILoadContextInfo.idl rename : netwerk/base/public/nsILoadGroup.idl => netwerk/base/nsILoadGroup.idl rename : netwerk/base/public/nsILoadGroupChild.idl => netwerk/base/nsILoadGroupChild.idl rename : netwerk/base/public/nsIMIMEInputStream.idl => netwerk/base/nsIMIMEInputStream.idl rename : netwerk/base/public/nsIMultiPartChannel.idl => netwerk/base/nsIMultiPartChannel.idl rename : netwerk/base/public/nsINSSErrorsService.idl => netwerk/base/nsINSSErrorsService.idl rename : netwerk/base/public/nsINestedURI.idl => netwerk/base/nsINestedURI.idl rename : netwerk/base/public/nsINetAddr.idl => netwerk/base/nsINetAddr.idl rename : netwerk/base/public/nsINetUtil.idl => netwerk/base/nsINetUtil.idl rename : netwerk/base/public/nsINetworkInterceptController.idl => netwerk/base/nsINetworkInterceptController.idl rename : netwerk/base/public/nsINetworkLinkService.idl => netwerk/base/nsINetworkLinkService.idl rename : netwerk/base/public/nsINetworkPredictor.idl => netwerk/base/nsINetworkPredictor.idl rename : netwerk/base/public/nsINetworkPredictorVerifier.idl => netwerk/base/nsINetworkPredictorVerifier.idl rename : netwerk/base/public/nsINetworkProperties.idl => netwerk/base/nsINetworkProperties.idl rename : netwerk/base/public/nsINullChannel.idl => netwerk/base/nsINullChannel.idl rename : netwerk/base/src/nsIOService.cpp => netwerk/base/nsIOService.cpp rename : netwerk/base/src/nsIOService.h => netwerk/base/nsIOService.h rename : netwerk/base/public/nsIParentChannel.idl => netwerk/base/nsIParentChannel.idl rename : netwerk/base/public/nsIParentRedirectingChannel.idl => netwerk/base/nsIParentRedirectingChannel.idl rename : netwerk/base/public/nsIPermission.idl => netwerk/base/nsIPermission.idl rename : netwerk/base/public/nsIPermissionManager.idl => netwerk/base/nsIPermissionManager.idl rename : netwerk/base/public/nsIPrivateBrowsingChannel.idl => netwerk/base/nsIPrivateBrowsingChannel.idl rename : netwerk/base/public/nsIProgressEventSink.idl => netwerk/base/nsIProgressEventSink.idl rename : netwerk/base/public/nsIPrompt.idl => netwerk/base/nsIPrompt.idl rename : netwerk/base/public/nsIProtocolHandler.idl => netwerk/base/nsIProtocolHandler.idl rename : netwerk/base/public/nsIProtocolProxyCallback.idl => netwerk/base/nsIProtocolProxyCallback.idl rename : netwerk/base/public/nsIProtocolProxyFilter.idl => netwerk/base/nsIProtocolProxyFilter.idl rename : netwerk/base/public/nsIProtocolProxyService.idl => netwerk/base/nsIProtocolProxyService.idl rename : netwerk/base/public/nsIProtocolProxyService2.idl => netwerk/base/nsIProtocolProxyService2.idl rename : netwerk/base/public/nsIProxiedChannel.idl => netwerk/base/nsIProxiedChannel.idl rename : netwerk/base/public/nsIProxiedProtocolHandler.idl => netwerk/base/nsIProxiedProtocolHandler.idl rename : netwerk/base/public/nsIProxyInfo.idl => netwerk/base/nsIProxyInfo.idl rename : netwerk/base/public/nsIRandomGenerator.idl => netwerk/base/nsIRandomGenerator.idl rename : netwerk/base/public/nsIRedirectChannelRegistrar.idl => netwerk/base/nsIRedirectChannelRegistrar.idl rename : netwerk/base/public/nsIRedirectHistory.idl => netwerk/base/nsIRedirectHistory.idl rename : netwerk/base/public/nsIRedirectResultListener.idl => netwerk/base/nsIRedirectResultListener.idl rename : netwerk/base/public/nsIRequest.idl => netwerk/base/nsIRequest.idl rename : netwerk/base/public/nsIRequestObserver.idl => netwerk/base/nsIRequestObserver.idl rename : netwerk/base/public/nsIRequestObserverProxy.idl => netwerk/base/nsIRequestObserverProxy.idl rename : netwerk/base/public/nsIResumableChannel.idl => netwerk/base/nsIResumableChannel.idl rename : netwerk/base/public/nsISecretDecoderRing.idl => netwerk/base/nsISecretDecoderRing.idl rename : netwerk/base/public/nsISecureBrowserUI.idl => netwerk/base/nsISecureBrowserUI.idl rename : netwerk/base/public/nsISecurityEventSink.idl => netwerk/base/nsISecurityEventSink.idl rename : netwerk/base/public/nsISecurityInfoProvider.idl => netwerk/base/nsISecurityInfoProvider.idl rename : netwerk/base/public/nsISerializationHelper.idl => netwerk/base/nsISerializationHelper.idl rename : netwerk/base/public/nsIServerSocket.idl => netwerk/base/nsIServerSocket.idl rename : netwerk/base/public/nsISimpleStreamListener.idl => netwerk/base/nsISimpleStreamListener.idl rename : netwerk/base/public/nsISiteSecurityService.idl => netwerk/base/nsISiteSecurityService.idl rename : netwerk/base/public/nsISocketTransport.idl => netwerk/base/nsISocketTransport.idl rename : netwerk/base/public/nsISocketTransportService.idl => netwerk/base/nsISocketTransportService.idl rename : netwerk/base/public/nsISpeculativeConnect.idl => netwerk/base/nsISpeculativeConnect.idl rename : netwerk/base/public/nsIStandardURL.idl => netwerk/base/nsIStandardURL.idl rename : netwerk/base/public/nsIStreamListener.idl => netwerk/base/nsIStreamListener.idl rename : netwerk/base/public/nsIStreamListenerTee.idl => netwerk/base/nsIStreamListenerTee.idl rename : netwerk/base/public/nsIStreamLoader.idl => netwerk/base/nsIStreamLoader.idl rename : netwerk/base/public/nsIStreamTransportService.idl => netwerk/base/nsIStreamTransportService.idl rename : netwerk/base/public/nsIStreamingProtocolController.idl => netwerk/base/nsIStreamingProtocolController.idl rename : netwerk/base/public/nsIStreamingProtocolService.idl => netwerk/base/nsIStreamingProtocolService.idl rename : netwerk/base/public/nsISyncStreamListener.idl => netwerk/base/nsISyncStreamListener.idl rename : netwerk/base/public/nsISystemProxySettings.idl => netwerk/base/nsISystemProxySettings.idl rename : netwerk/base/public/nsITLSServerSocket.idl => netwerk/base/nsITLSServerSocket.idl rename : netwerk/base/public/nsIThreadRetargetableRequest.idl => netwerk/base/nsIThreadRetargetableRequest.idl rename : netwerk/base/public/nsIThreadRetargetableStreamListener.idl => netwerk/base/nsIThreadRetargetableStreamListener.idl rename : netwerk/base/public/nsITimedChannel.idl => netwerk/base/nsITimedChannel.idl rename : netwerk/base/public/nsITraceableChannel.idl => netwerk/base/nsITraceableChannel.idl rename : netwerk/base/public/nsITransport.idl => netwerk/base/nsITransport.idl rename : netwerk/base/public/nsIUDPSocket.idl => netwerk/base/nsIUDPSocket.idl rename : netwerk/base/public/nsIUDPSocketFilter.idl => netwerk/base/nsIUDPSocketFilter.idl rename : netwerk/base/public/nsIURI.idl => netwerk/base/nsIURI.idl rename : netwerk/base/public/nsIURIChecker.idl => netwerk/base/nsIURIChecker.idl rename : netwerk/base/public/nsIURIClassifier.idl => netwerk/base/nsIURIClassifier.idl rename : netwerk/base/public/nsIURIWithPrincipal.idl => netwerk/base/nsIURIWithPrincipal.idl rename : netwerk/base/public/nsIURL.idl => netwerk/base/nsIURL.idl rename : netwerk/base/public/nsIURLParser.idl => netwerk/base/nsIURLParser.idl rename : netwerk/base/public/nsIUnicharStreamLoader.idl => netwerk/base/nsIUnicharStreamLoader.idl rename : netwerk/base/public/nsIUploadChannel.idl => netwerk/base/nsIUploadChannel.idl rename : netwerk/base/public/nsIUploadChannel2.idl => netwerk/base/nsIUploadChannel2.idl rename : netwerk/base/src/nsIncrementalDownload.cpp => netwerk/base/nsIncrementalDownload.cpp rename : netwerk/base/src/nsInputStreamChannel.cpp => netwerk/base/nsInputStreamChannel.cpp rename : netwerk/base/src/nsInputStreamChannel.h => netwerk/base/nsInputStreamChannel.h rename : netwerk/base/src/nsInputStreamPump.cpp => netwerk/base/nsInputStreamPump.cpp rename : netwerk/base/src/nsInputStreamPump.h => netwerk/base/nsInputStreamPump.h rename : netwerk/base/src/nsLoadGroup.cpp => netwerk/base/nsLoadGroup.cpp rename : netwerk/base/src/nsLoadGroup.h => netwerk/base/nsLoadGroup.h rename : netwerk/base/src/nsMIMEInputStream.cpp => netwerk/base/nsMIMEInputStream.cpp rename : netwerk/base/src/nsMIMEInputStream.h => netwerk/base/nsMIMEInputStream.h rename : netwerk/base/src/nsMediaFragmentURIParser.cpp => netwerk/base/nsMediaFragmentURIParser.cpp rename : netwerk/base/src/nsMediaFragmentURIParser.h => netwerk/base/nsMediaFragmentURIParser.h rename : netwerk/base/src/nsNativeConnectionHelper.cpp => netwerk/base/nsNativeConnectionHelper.cpp rename : netwerk/base/src/nsNativeConnectionHelper.h => netwerk/base/nsNativeConnectionHelper.h rename : netwerk/base/src/nsNetAddr.cpp => netwerk/base/nsNetAddr.cpp rename : netwerk/base/src/nsNetAddr.h => netwerk/base/nsNetAddr.h rename : netwerk/base/src/nsNetSegmentUtils.h => netwerk/base/nsNetSegmentUtils.h rename : netwerk/base/src/nsNetUtil.cpp => netwerk/base/nsNetUtil.cpp rename : netwerk/base/public/nsNetUtil.h => netwerk/base/nsNetUtil.h rename : netwerk/base/src/nsPACMan.cpp => netwerk/base/nsPACMan.cpp rename : netwerk/base/src/nsPACMan.h => netwerk/base/nsPACMan.h rename : netwerk/base/public/nsPILoadGroupInternal.idl => netwerk/base/nsPILoadGroupInternal.idl rename : netwerk/base/public/nsPISocketTransportService.idl => netwerk/base/nsPISocketTransportService.idl rename : netwerk/base/src/nsPreloadedStream.cpp => netwerk/base/nsPreloadedStream.cpp rename : netwerk/base/src/nsPreloadedStream.h => netwerk/base/nsPreloadedStream.h rename : netwerk/base/src/nsProtocolProxyService.cpp => netwerk/base/nsProtocolProxyService.cpp rename : netwerk/base/src/nsProtocolProxyService.h => netwerk/base/nsProtocolProxyService.h rename : netwerk/base/src/nsProxyInfo.cpp => netwerk/base/nsProxyInfo.cpp rename : netwerk/base/src/nsProxyInfo.h => netwerk/base/nsProxyInfo.h rename : netwerk/base/public/nsReadLine.h => netwerk/base/nsReadLine.h rename : netwerk/base/src/nsRequestObserverProxy.cpp => netwerk/base/nsRequestObserverProxy.cpp rename : netwerk/base/src/nsRequestObserverProxy.h => netwerk/base/nsRequestObserverProxy.h rename : netwerk/base/src/nsSerializationHelper.cpp => netwerk/base/nsSerializationHelper.cpp rename : netwerk/base/src/nsSerializationHelper.h => netwerk/base/nsSerializationHelper.h rename : netwerk/base/src/nsServerSocket.cpp => netwerk/base/nsServerSocket.cpp rename : netwerk/base/src/nsServerSocket.h => netwerk/base/nsServerSocket.h rename : netwerk/base/src/nsSimpleNestedURI.cpp => netwerk/base/nsSimpleNestedURI.cpp rename : netwerk/base/src/nsSimpleNestedURI.h => netwerk/base/nsSimpleNestedURI.h rename : netwerk/base/src/nsSimpleStreamListener.cpp => netwerk/base/nsSimpleStreamListener.cpp rename : netwerk/base/src/nsSimpleStreamListener.h => netwerk/base/nsSimpleStreamListener.h rename : netwerk/base/src/nsSimpleURI.cpp => netwerk/base/nsSimpleURI.cpp rename : netwerk/base/src/nsSimpleURI.h => netwerk/base/nsSimpleURI.h rename : netwerk/base/src/nsSocketTransport2.cpp => netwerk/base/nsSocketTransport2.cpp rename : netwerk/base/src/nsSocketTransport2.h => netwerk/base/nsSocketTransport2.h rename : netwerk/base/src/nsSocketTransportService2.cpp => netwerk/base/nsSocketTransportService2.cpp rename : netwerk/base/src/nsSocketTransportService2.h => netwerk/base/nsSocketTransportService2.h rename : netwerk/base/src/nsStandardURL.cpp => netwerk/base/nsStandardURL.cpp rename : netwerk/base/src/nsStandardURL.h => netwerk/base/nsStandardURL.h rename : netwerk/base/src/nsStreamListenerTee.cpp => netwerk/base/nsStreamListenerTee.cpp rename : netwerk/base/src/nsStreamListenerTee.h => netwerk/base/nsStreamListenerTee.h rename : netwerk/base/src/nsStreamListenerWrapper.cpp => netwerk/base/nsStreamListenerWrapper.cpp rename : netwerk/base/public/nsStreamListenerWrapper.h => netwerk/base/nsStreamListenerWrapper.h rename : netwerk/base/src/nsStreamLoader.cpp => netwerk/base/nsStreamLoader.cpp rename : netwerk/base/src/nsStreamLoader.h => netwerk/base/nsStreamLoader.h rename : netwerk/base/src/nsStreamTransportService.cpp => netwerk/base/nsStreamTransportService.cpp rename : netwerk/base/src/nsStreamTransportService.h => netwerk/base/nsStreamTransportService.h rename : netwerk/base/src/nsSyncStreamListener.cpp => netwerk/base/nsSyncStreamListener.cpp rename : netwerk/base/src/nsSyncStreamListener.h => netwerk/base/nsSyncStreamListener.h rename : netwerk/base/src/nsTemporaryFileInputStream.cpp => netwerk/base/nsTemporaryFileInputStream.cpp rename : netwerk/base/src/nsTemporaryFileInputStream.h => netwerk/base/nsTemporaryFileInputStream.h rename : netwerk/base/src/nsTransportUtils.cpp => netwerk/base/nsTransportUtils.cpp rename : netwerk/base/src/nsTransportUtils.h => netwerk/base/nsTransportUtils.h rename : netwerk/base/src/nsUDPSocket.cpp => netwerk/base/nsUDPSocket.cpp rename : netwerk/base/src/nsUDPSocket.h => netwerk/base/nsUDPSocket.h rename : netwerk/base/src/nsURIChecker.cpp => netwerk/base/nsURIChecker.cpp rename : netwerk/base/src/nsURIChecker.h => netwerk/base/nsURIChecker.h rename : netwerk/base/public/nsURIHashKey.h => netwerk/base/nsURIHashKey.h rename : netwerk/base/src/nsURLHelper.cpp => netwerk/base/nsURLHelper.cpp rename : netwerk/base/src/nsURLHelper.h => netwerk/base/nsURLHelper.h rename : netwerk/base/src/nsURLHelperOSX.cpp => netwerk/base/nsURLHelperOSX.cpp rename : netwerk/base/src/nsURLHelperUnix.cpp => netwerk/base/nsURLHelperUnix.cpp rename : netwerk/base/src/nsURLHelperWin.cpp => netwerk/base/nsURLHelperWin.cpp rename : netwerk/base/src/nsURLParsers.cpp => netwerk/base/nsURLParsers.cpp rename : netwerk/base/src/nsURLParsers.h => netwerk/base/nsURLParsers.h rename : netwerk/base/src/nsUnicharStreamLoader.cpp => netwerk/base/nsUnicharStreamLoader.cpp rename : netwerk/base/src/nsUnicharStreamLoader.h => netwerk/base/nsUnicharStreamLoader.h rename : netwerk/base/public/security-prefs.js => netwerk/base/security-prefs.js extra : rebase_source : 1c3a3af5609aceeb11b12604aeda6f864fbcd5e0
588 lines
17 KiB
C++
588 lines
17 KiB
C++
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
// This source is mostly a bunch of Windows API calls. It is only compiled for
|
|
// Windows builds.
|
|
//
|
|
// Registry entries for Autodial mappings are located here:
|
|
// HKEY_CURRENT_USER\Software\Microsoft\RAS Autodial\Addresses
|
|
|
|
#include <windows.h>
|
|
#include <winsvc.h>
|
|
#include "nsString.h"
|
|
#include "nsAutodialWin.h"
|
|
#include "prlog.h"
|
|
#include "nsWindowsHelpers.h"
|
|
|
|
#define AUTODIAL_DEFAULT AUTODIAL_NEVER
|
|
|
|
//
|
|
// Log module for autodial logging...
|
|
//
|
|
// To enable logging (see prlog.h for full details):
|
|
//
|
|
// set NSPR_LOG_MODULES=Autodial:5
|
|
// set NSPR_LOG_FILE=nspr.log
|
|
//
|
|
// this enables PR_LOG_DEBUG level information and places all output in
|
|
// the file nspr.log
|
|
//
|
|
|
|
#ifdef PR_LOGGING
|
|
static PRLogModuleInfo* gLog = nullptr;
|
|
#endif
|
|
|
|
#undef LOGD
|
|
#undef LOGE
|
|
#define LOGD(args) PR_LOG(gLog, PR_LOG_DEBUG, args)
|
|
#define LOGE(args) PR_LOG(gLog, PR_LOG_ERROR, args)
|
|
|
|
// Don't try to dial again within a few seconds of when user pressed cancel.
|
|
#define NO_RETRY_PERIOD_SEC 5
|
|
PRIntervalTime nsAutodial::mDontRetryUntil = 0;
|
|
|
|
// ctor.
|
|
nsAutodial::nsAutodial()
|
|
: mAutodialBehavior(AUTODIAL_DEFAULT),
|
|
mAutodialServiceDialingLocation(-1),
|
|
mNumRASConnectionEntries(0)
|
|
{
|
|
// Initializations that can be made again since RAS OS settings can
|
|
// change.
|
|
Init();
|
|
}
|
|
|
|
// dtor
|
|
nsAutodial::~nsAutodial()
|
|
{
|
|
}
|
|
|
|
|
|
// Get settings from the OS. These are settings that might change during
|
|
// the OS session. Call Init() again to pick up those changes if required.
|
|
// Returns NS_ERROR_FAILURE if error or NS_OK if success.
|
|
nsresult nsAutodial::Init()
|
|
{
|
|
#ifdef PR_LOGGING
|
|
if (!gLog)
|
|
gLog = PR_NewLogModule("Autodial");
|
|
#endif
|
|
|
|
mDefaultEntryName[0] = '\0';
|
|
mNumRASConnectionEntries = 0;
|
|
mAutodialBehavior = QueryAutodialBehavior();
|
|
|
|
// No need to continue in this case.
|
|
if (mAutodialBehavior == AUTODIAL_NEVER)
|
|
{
|
|
return NS_OK;
|
|
}
|
|
|
|
|
|
// Get the number of dialup entries in the phonebook.
|
|
mNumRASConnectionEntries = NumRASEntries();
|
|
|
|
// Get the name of the default entry.
|
|
nsresult result = GetDefaultEntryName(mDefaultEntryName,
|
|
sizeof(mDefaultEntryName));
|
|
|
|
return result;
|
|
}
|
|
|
|
|
|
// Should we attempt to dial on a network error? Yes if the Internet Options
|
|
// configured as such. Yes if the RAS autodial service is running (we'll try to
|
|
// force it to dial in that case by adding the network address to its db.)
|
|
bool nsAutodial::ShouldDialOnNetworkError()
|
|
{
|
|
// Don't try to dial again within a few seconds of when user pressed cancel.
|
|
if (mDontRetryUntil)
|
|
{
|
|
PRIntervalTime intervalNow = PR_IntervalNow();
|
|
if (intervalNow < mDontRetryUntil)
|
|
{
|
|
LOGD(("Autodial: Not dialing: too soon."));
|
|
return false;
|
|
}
|
|
}
|
|
|
|
|
|
return ((mAutodialBehavior == AUTODIAL_ALWAYS)
|
|
|| (mAutodialBehavior == AUTODIAL_ON_NETWORKERROR)
|
|
|| (mAutodialBehavior == AUTODIAL_USE_SERVICE));
|
|
}
|
|
|
|
|
|
// The autodial info is set in Control Panel | Internet Options | Connections.
|
|
// The values are stored in the registry. This function gets those values from
|
|
// the registry and determines if we should never dial, always dial, or dial
|
|
// when there is no network found.
|
|
int nsAutodial::QueryAutodialBehavior()
|
|
{
|
|
if (IsAutodialServiceRunning())
|
|
{
|
|
// Is Autodial service enabled for the current login session?
|
|
DWORD disabled = 0;
|
|
DWORD size = sizeof(DWORD);
|
|
if (RasGetAutodialParamW(RASADP_LoginSessionDisable, &disabled, &size) == ERROR_SUCCESS)
|
|
{
|
|
if (!disabled)
|
|
{
|
|
// If current dialing location has autodial on, we'll let the service dial.
|
|
mAutodialServiceDialingLocation = GetCurrentLocation();
|
|
if (IsAutodialServiceEnabled(mAutodialServiceDialingLocation))
|
|
{
|
|
return AUTODIAL_USE_SERVICE;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
// If we get to here, then the service is not going to dial on error, so we
|
|
// can dial ourselves if the control panel settings are set up that way.
|
|
HKEY hKey = 0;
|
|
LONG result = ::RegOpenKeyExW(
|
|
HKEY_CURRENT_USER,
|
|
L"Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings",
|
|
0,
|
|
KEY_READ,
|
|
&hKey);
|
|
|
|
if (result != ERROR_SUCCESS)
|
|
{
|
|
LOGE(("Autodial: Error opening reg key Internet Settings"));
|
|
return AUTODIAL_NEVER;
|
|
}
|
|
|
|
DWORD entryType = 0;
|
|
DWORD autodial = 0;
|
|
DWORD onDemand = 0;
|
|
DWORD paramSize = sizeof(DWORD);
|
|
|
|
result = ::RegQueryValueExW(hKey, L"EnableAutodial", nullptr, &entryType, (LPBYTE)&autodial, ¶mSize);
|
|
if (result != ERROR_SUCCESS)
|
|
{
|
|
::RegCloseKey(hKey);
|
|
LOGE(("Autodial: Error reading reg value EnableAutodial."));
|
|
return AUTODIAL_NEVER;
|
|
}
|
|
|
|
result = ::RegQueryValueExW(hKey, L"NoNetAutodial", nullptr, &entryType, (LPBYTE)&onDemand, ¶mSize);
|
|
if (result != ERROR_SUCCESS)
|
|
{
|
|
::RegCloseKey(hKey);
|
|
LOGE(("Autodial: Error reading reg value NoNetAutodial."));
|
|
return AUTODIAL_NEVER;
|
|
}
|
|
|
|
::RegCloseKey(hKey);
|
|
|
|
if (!autodial)
|
|
{
|
|
return AUTODIAL_NEVER;
|
|
}
|
|
else
|
|
{
|
|
if (onDemand)
|
|
{
|
|
return AUTODIAL_ON_NETWORKERROR;
|
|
}
|
|
else
|
|
{
|
|
return AUTODIAL_ALWAYS;
|
|
}
|
|
}
|
|
}
|
|
|
|
// If the RAS autodial service is running, use it. Otherwise, dial
|
|
// the default RAS connection. There are two possible RAS dialogs:
|
|
// one that dials a single entry, and one that lets the user choose which
|
|
// to dial. If there is only one connection entry in the phone book, or
|
|
// there are multiple entries but one is defined as the default, we'll use
|
|
// the single entry dial dialog. If there are multiple connection entries,
|
|
// and none is specified as default, we'll bring up the diallog which lets
|
|
// the user select the connection entry to use.
|
|
//
|
|
// Return values:
|
|
// NS_OK: dialing was successful and caller should retry
|
|
// all other values indicate that the caller should not retry
|
|
nsresult nsAutodial::DialDefault(const char16_t* hostName)
|
|
{
|
|
mDontRetryUntil = 0;
|
|
|
|
if (mAutodialBehavior == AUTODIAL_NEVER)
|
|
{
|
|
return NS_ERROR_FAILURE; // don't retry the network error
|
|
}
|
|
|
|
// If already a RAS connection, bail.
|
|
if (IsRASConnected())
|
|
{
|
|
LOGD(("Autodial: Not dialing: active connection."));
|
|
return NS_ERROR_FAILURE; // don't retry
|
|
}
|
|
|
|
// If no dialup connections configured, bail.
|
|
if (mNumRASConnectionEntries <= 0)
|
|
{
|
|
LOGD(("Autodial: Not dialing: no entries."));
|
|
return NS_ERROR_FAILURE; // don't retry
|
|
}
|
|
|
|
|
|
// If autodial service is running, let it dial. In order for it to dial more
|
|
// reliably, we have to add the target address to the autodial database.
|
|
// This is the only way the autodial service dial if there is a network
|
|
// adapter installed. But even then it might not dial. We have to assume that
|
|
// it will though, or we could end up with two attempts to dial on the same
|
|
// network error if the user cancels the first one: one from the service and
|
|
// one from us.
|
|
// See http://msdn.microsoft.com/library/default.asp?url=/library/en-us/rras/ras4over_3dwl.asp
|
|
if (mAutodialBehavior == AUTODIAL_USE_SERVICE)
|
|
{
|
|
AddAddressToAutodialDirectory(hostName);
|
|
return NS_ERROR_FAILURE; // don't retry
|
|
}
|
|
|
|
// Do the dialing ourselves.
|
|
else
|
|
{
|
|
// If a default dial entry is configured, use it.
|
|
if (mDefaultEntryName[0] != '\0')
|
|
{
|
|
LOGD(("Autodial: Dialing default: %s.",mDefaultEntryName));
|
|
|
|
RASDIALDLG rasDialDlg;
|
|
memset(&rasDialDlg, 0, sizeof(rasDialDlg));
|
|
rasDialDlg.dwSize = sizeof(rasDialDlg);
|
|
|
|
BOOL dialed =
|
|
RasDialDlgW(nullptr, mDefaultEntryName, nullptr, &rasDialDlg);
|
|
|
|
if (!dialed)
|
|
{
|
|
if (rasDialDlg.dwError != 0)
|
|
{
|
|
LOGE(("Autodial ::RasDialDlg failed: Error: %d.",
|
|
rasDialDlg.dwError));
|
|
}
|
|
else
|
|
{
|
|
mDontRetryUntil = PR_IntervalNow() + PR_SecondsToInterval(NO_RETRY_PERIOD_SEC);
|
|
LOGD(("Autodial: User cancelled dial."));
|
|
}
|
|
return NS_ERROR_FAILURE; // don't retry
|
|
}
|
|
|
|
LOGD(("Autodial: RAS dialup connection successful."));
|
|
}
|
|
|
|
// If no default connection specified, open the dialup dialog that lets
|
|
// the user specifiy which connection to dial.
|
|
else
|
|
{
|
|
LOGD(("Autodial: Prompting for phonebook entry."));
|
|
|
|
RASPBDLG rasPBDlg;
|
|
memset(&rasPBDlg, 0, sizeof(rasPBDlg));
|
|
rasPBDlg.dwSize = sizeof(rasPBDlg);
|
|
|
|
BOOL dialed = RasPhonebookDlgW(nullptr, nullptr, &rasPBDlg);
|
|
|
|
if (!dialed)
|
|
{
|
|
if (rasPBDlg.dwError != 0)
|
|
{
|
|
LOGE(("Autodial: ::RasPhonebookDlg failed: Error = %d.",
|
|
rasPBDlg.dwError));
|
|
}
|
|
else
|
|
{
|
|
mDontRetryUntil = PR_IntervalNow() + PR_SecondsToInterval(NO_RETRY_PERIOD_SEC);
|
|
LOGD(("Autodial: User cancelled dial."));
|
|
}
|
|
|
|
return NS_ERROR_FAILURE; // don't retry
|
|
}
|
|
|
|
LOGD(("Autodial: RAS dialup connection successful."));
|
|
}
|
|
}
|
|
|
|
// Retry because we just established a dialup connection.
|
|
return NS_OK;
|
|
}
|
|
|
|
|
|
// Check to see if RAS is already connected.
|
|
bool nsAutodial::IsRASConnected()
|
|
{
|
|
DWORD connections;
|
|
RASCONN rasConn;
|
|
rasConn.dwSize = sizeof(rasConn);
|
|
DWORD structSize = sizeof(rasConn);
|
|
|
|
DWORD result = RasEnumConnectionsW(&rasConn, &structSize, &connections);
|
|
|
|
// ERROR_BUFFER_TOO_SMALL is OK because we only need one struct.
|
|
if (result == ERROR_SUCCESS || result == ERROR_BUFFER_TOO_SMALL)
|
|
{
|
|
return (connections > 0);
|
|
}
|
|
|
|
LOGE(("Autodial: ::RasEnumConnections failed: Error = %d", result));
|
|
return false;
|
|
}
|
|
|
|
// Get the first RAS dial entry name from the phonebook.
|
|
nsresult nsAutodial::GetFirstEntryName(wchar_t* entryName, int bufferSize)
|
|
{
|
|
RASENTRYNAMEW rasEntryName;
|
|
rasEntryName.dwSize = sizeof(rasEntryName);
|
|
DWORD cb = sizeof(rasEntryName);
|
|
DWORD cEntries = 0;
|
|
|
|
DWORD result =
|
|
RasEnumEntriesW(nullptr, nullptr, &rasEntryName, &cb, &cEntries);
|
|
|
|
// ERROR_BUFFER_TOO_SMALL is OK because we only need one struct.
|
|
if (result == ERROR_SUCCESS || result == ERROR_BUFFER_TOO_SMALL)
|
|
{
|
|
wcsncpy(entryName, rasEntryName.szEntryName,
|
|
bufferSize / sizeof(*entryName));
|
|
return NS_OK;
|
|
}
|
|
|
|
return NS_ERROR_FAILURE;
|
|
}
|
|
|
|
// Get the number of RAS dial entries in the phonebook.
|
|
int nsAutodial::NumRASEntries()
|
|
{
|
|
RASENTRYNAMEW rasEntryName;
|
|
rasEntryName.dwSize = sizeof(rasEntryName);
|
|
DWORD cb = sizeof(rasEntryName);
|
|
DWORD cEntries = 0;
|
|
|
|
|
|
DWORD result =
|
|
RasEnumEntriesW(nullptr, nullptr, &rasEntryName, &cb, &cEntries);
|
|
|
|
// ERROR_BUFFER_TOO_SMALL is OK because we only need one struct.
|
|
if (result == ERROR_SUCCESS || result == ERROR_BUFFER_TOO_SMALL)
|
|
{
|
|
return (int)cEntries;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|
|
// Get the name of the default dial entry.
|
|
nsresult nsAutodial::GetDefaultEntryName(wchar_t* entryName, int bufferSize)
|
|
{
|
|
// No RAS dialup entries.
|
|
if (mNumRASConnectionEntries <= 0)
|
|
{
|
|
return NS_ERROR_FAILURE;
|
|
}
|
|
|
|
// Single RAS dialup entry. Use it as the default to autodial.
|
|
if (mNumRASConnectionEntries == 1)
|
|
{
|
|
return GetFirstEntryName(entryName, bufferSize);
|
|
}
|
|
|
|
// Multiple RAS dialup entries. If a default configured in the registry,
|
|
// use it.
|
|
//
|
|
// For Windows XP: HKCU/Software/Microsoft/RAS Autodial/Default/DefaultInternet.
|
|
// or HKLM/Software/Microsoft/RAS Autodial/Default/DefaultInternet.
|
|
|
|
const wchar_t* key = L"Software\\Microsoft\\RAS Autodial\\Default";
|
|
const wchar_t* val = L"DefaultInternet";
|
|
|
|
HKEY hKey = 0;
|
|
LONG result = 0;
|
|
|
|
|
|
// Try HKCU first.
|
|
result = ::RegOpenKeyExW(
|
|
HKEY_CURRENT_USER,
|
|
key,
|
|
0,
|
|
KEY_READ,
|
|
&hKey);
|
|
|
|
if (result != ERROR_SUCCESS)
|
|
{
|
|
// If not present, try HKLM.
|
|
result = ::RegOpenKeyExW(
|
|
HKEY_LOCAL_MACHINE,
|
|
key,
|
|
0,
|
|
KEY_READ,
|
|
&hKey);
|
|
|
|
if (result != ERROR_SUCCESS)
|
|
{
|
|
return NS_ERROR_FAILURE;
|
|
}
|
|
}
|
|
|
|
|
|
DWORD entryType = 0;
|
|
DWORD buffSize = bufferSize;
|
|
|
|
result = ::RegQueryValueExW(hKey,
|
|
val,
|
|
nullptr,
|
|
&entryType,
|
|
(LPBYTE)entryName,
|
|
&buffSize);
|
|
|
|
::RegCloseKey(hKey);
|
|
|
|
|
|
if (result != ERROR_SUCCESS)
|
|
{
|
|
// Results in a prompt for which to use at dial time.
|
|
return NS_ERROR_FAILURE;
|
|
}
|
|
|
|
return NS_OK;
|
|
}
|
|
|
|
|
|
// Determine if the autodial service is running on this PC.
|
|
bool nsAutodial::IsAutodialServiceRunning()
|
|
{
|
|
nsAutoServiceHandle hSCManager(OpenSCManager(nullptr,
|
|
SERVICES_ACTIVE_DATABASE,
|
|
SERVICE_QUERY_STATUS));
|
|
|
|
if (hSCManager == nullptr)
|
|
{
|
|
LOGE(("Autodial: failed to open service control manager. Error %d.",
|
|
::GetLastError()));
|
|
|
|
return false;
|
|
}
|
|
|
|
nsAutoServiceHandle hService(OpenServiceW(hSCManager,
|
|
L"RasAuto",
|
|
SERVICE_QUERY_STATUS));
|
|
|
|
if (hSCManager == nullptr)
|
|
{
|
|
LOGE(("Autodial: failed to open RasAuto service."));
|
|
return false;
|
|
}
|
|
|
|
SERVICE_STATUS status;
|
|
if (!QueryServiceStatus(hService, &status))
|
|
{
|
|
LOGE(("Autodial: ::QueryServiceStatus() failed. Error: %d",
|
|
::GetLastError()));
|
|
|
|
return false;
|
|
}
|
|
|
|
return (status.dwCurrentState == SERVICE_RUNNING);
|
|
}
|
|
|
|
// Add the specified address to the autodial directory.
|
|
bool nsAutodial::AddAddressToAutodialDirectory(char16ptr_t hostName)
|
|
{
|
|
// First see if there is already a db entry for this address.
|
|
RASAUTODIALENTRYW autodialEntry;
|
|
autodialEntry.dwSize = sizeof(autodialEntry);
|
|
DWORD size = sizeof(autodialEntry);
|
|
DWORD entries = 0;
|
|
|
|
DWORD result = RasGetAutodialAddressW(hostName,
|
|
nullptr,
|
|
&autodialEntry,
|
|
&size,
|
|
&entries);
|
|
|
|
// If there is already at least 1 entry in db for this address, return.
|
|
if (result != ERROR_FILE_NOT_FOUND)
|
|
{
|
|
LOGD(("Autodial: Address %s already in autodial db.", hostName));
|
|
return false;
|
|
}
|
|
|
|
autodialEntry.dwSize = sizeof(autodialEntry);
|
|
autodialEntry.dwFlags = 0;
|
|
autodialEntry.dwDialingLocation = mAutodialServiceDialingLocation;
|
|
GetDefaultEntryName(autodialEntry.szEntry, sizeof(autodialEntry.szEntry));
|
|
|
|
result = RasSetAutodialAddressW(hostName,
|
|
0,
|
|
&autodialEntry,
|
|
sizeof(autodialEntry),
|
|
1);
|
|
|
|
if (result != ERROR_SUCCESS)
|
|
{
|
|
LOGE(("Autodial ::RasSetAutodialAddress failed result %d.", result));
|
|
return false;
|
|
}
|
|
|
|
LOGD(("Autodial: Added address %s to RAS autodial db for entry %s.",
|
|
hostName, NS_ConvertUTF16toUTF8(autodialEntry.szEntry).get()));
|
|
|
|
return true;
|
|
}
|
|
|
|
// Get the current TAPI dialing location.
|
|
int nsAutodial::GetCurrentLocation()
|
|
{
|
|
HKEY hKey = 0;
|
|
LONG result = ::RegOpenKeyExW(
|
|
HKEY_LOCAL_MACHINE,
|
|
L"Software\\Microsoft\\Windows\\CurrentVersion\\Telephony\\Locations",
|
|
0,
|
|
KEY_READ,
|
|
&hKey);
|
|
|
|
if (result != ERROR_SUCCESS)
|
|
{
|
|
LOGE(("Autodial: Error opening reg key ...CurrentVersion\\Telephony\\Locations"));
|
|
return -1;
|
|
}
|
|
|
|
DWORD entryType = 0;
|
|
DWORD location = 0;
|
|
DWORD paramSize = sizeof(DWORD);
|
|
|
|
result = ::RegQueryValueExW(hKey, L"CurrentID", nullptr, &entryType, (LPBYTE)&location, ¶mSize);
|
|
if (result != ERROR_SUCCESS)
|
|
{
|
|
::RegCloseKey(hKey);
|
|
LOGE(("Autodial: Error reading reg value CurrentID."));
|
|
return -1;
|
|
}
|
|
|
|
::RegCloseKey(hKey);
|
|
return location;
|
|
|
|
}
|
|
|
|
// Check to see if autodial for the specified location is enabled.
|
|
bool nsAutodial::IsAutodialServiceEnabled(int location)
|
|
{
|
|
if (location < 0)
|
|
return false;
|
|
|
|
BOOL enabled;
|
|
if (RasGetAutodialEnableW(location, &enabled) != ERROR_SUCCESS)
|
|
{
|
|
LOGE(("Autodial: Error calling RasGetAutodialEnable()"));
|
|
return false;
|
|
}
|
|
|
|
return enabled;
|
|
}
|