netwerk/base/moz.build
author Michal Novotny <michal.novotny@gmail.com>
Thu, 09 May 2019 22:04:43 +0000
changeset 532139 7fbf58d80879cbf94f82bddddb747bdfb9e4caa4
parent 531820 cd1ccb74af7c84aaa8ea43851c6ac74fd00ec276
permissions -rw-r--r--
Bug 1546975 - Cache SSL resumption tokens in necko, r=mayhemer SSLTokensCache is a simple memory only storage for resumption tokens which are get and set using API for external TLS session caches in NSS. Differential Revision: https://phabricator.services.mozilla.com/D29465

# -*- Mode: python; indent-tabs-mode: nil; tab-width: 40 -*-
# vim: set filetype=python:
# 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/.

XPIDL_SOURCES += [
    'mozIThirdPartyUtil.idl',
    'nsIApplicationCache.idl',
    'nsIApplicationCacheChannel.idl',
    'nsIApplicationCacheContainer.idl',
    'nsIApplicationCacheService.idl',
    'nsIArrayBufferInputStream.idl',
    'nsIAsyncStreamCopier.idl',
    'nsIAsyncStreamCopier2.idl',
    'nsIAsyncVerifyRedirectCallback.idl',
    'nsIAuthInformation.idl',
    'nsIAuthModule.idl',
    'nsIAuthPrompt.idl',
    'nsIAuthPrompt2.idl',
    'nsIAuthPromptAdapterFactory.idl',
    'nsIAuthPromptCallback.idl',
    'nsIAuthPromptProvider.idl',
    'nsIBackgroundFileSaver.idl',
    'nsIBufferedStreams.idl',
    'nsIByteRangeRequest.idl',
    'nsICacheInfoChannel.idl',
    'nsICachingChannel.idl',
    'nsICancelable.idl',
    'nsICaptivePortalService.idl',
    'nsIChannel.idl',
    'nsIChannelEventSink.idl',
    'nsIChannelWithDivertableParentListener.idl',
    'nsIChildChannel.idl',
    'nsIClassifiedChannel.idl',
    'nsIClassOfService.idl',
    'nsIContentSniffer.idl',
    'nsIDashboard.idl',
    'nsIDashboardEventNotifier.idl',
    'nsIDeprecationWarner.idl',
    'nsIDHCPClient.idl',
    'nsIDivertableChannel.idl',
    'nsIDownloader.idl',
    'nsIEncodedChannel.idl',
    'nsIExternalProtocolHandler.idl',
    'nsIFileStreams.idl',
    'nsIFileURL.idl',
    'nsIForcePendingChannel.idl',
    'nsIFormPOSTActionChannel.idl',
    'nsIHttpAuthenticatorCallback.idl',
    'nsIHttpPushListener.idl',
    'nsIIncrementalDownload.idl',
    'nsIIncrementalStreamLoader.idl',
    'nsIInputStreamChannel.idl',
    'nsIInputStreamPump.idl',
    'nsIIOService.idl',
    'nsILoadContextInfo.idl',
    'nsILoadGroup.idl',
    'nsILoadGroupChild.idl',
    'nsILoadInfo.idl',
    'nsIMIMEInputStream.idl',
    'nsIMultiPartChannel.idl',
    'nsINestedURI.idl',
    'nsINetAddr.idl',
    'nsINetUtil.idl',
    'nsINetworkConnectivityService.idl',
    'nsINetworkInfoService.idl',
    'nsINetworkInterceptController.idl',
    'nsINetworkLinkService.idl',
    'nsINetworkPredictor.idl',
    'nsINetworkPredictorVerifier.idl',
    'nsINullChannel.idl',
    'nsIParentChannel.idl',
    'nsIParentRedirectingChannel.idl',
    'nsIPermission.idl',
    'nsIPermissionManager.idl',
    'nsIPrivateBrowsingChannel.idl',
    'nsIProgressEventSink.idl',
    'nsIPrompt.idl',
    'nsIProtocolHandler.idl',
    'nsIProtocolProxyCallback.idl',
    'nsIProtocolProxyFilter.idl',
    'nsIProtocolProxyService.idl',
    'nsIProtocolProxyService2.idl',
    'nsIProxiedChannel.idl',
    'nsIProxiedProtocolHandler.idl',
    'nsIProxyInfo.idl',
    'nsIRandomGenerator.idl',
    'nsIRedirectChannelRegistrar.idl',
    'nsIRedirectHistoryEntry.idl',
    'nsIRedirectResultListener.idl',
    'nsIRequest.idl',
    'nsIRequestContext.idl',
    'nsIRequestObserver.idl',
    'nsIRequestObserverProxy.idl',
    'nsIResumableChannel.idl',
    'nsISecCheckWrapChannel.idl',
    'nsISecureBrowserUI.idl',
    'nsISensitiveInfoHiddenURI.idl',
    'nsISerializationHelper.idl',
    'nsIServerSocket.idl',
    'nsISimpleStreamListener.idl',
    'nsISocketFilter.idl',
    'nsISocketTransport.idl',
    'nsISocketTransportService.idl',
    'nsISpeculativeConnect.idl',
    'nsIStandardURL.idl',
    'nsIStreamListener.idl',
    'nsIStreamListenerTee.idl',
    'nsIStreamLoader.idl',
    'nsIStreamTransportService.idl',
    'nsISyncStreamListener.idl',
    'nsISystemProxySettings.idl',
    'nsIThreadRetargetableRequest.idl',
    'nsIThreadRetargetableStreamListener.idl',
    'nsIThrottledInputChannel.idl',
    'nsITimedChannel.idl',
    'nsITLSServerSocket.idl',
    'nsITraceableChannel.idl',
    'nsITransport.idl',
    'nsIUDPSocket.idl',
    'nsIUploadChannel.idl',
    'nsIUploadChannel2.idl',
    'nsIURI.idl',
    'nsIURIMutator.idl',
    'nsIURIWithSpecialOrigin.idl',
    'nsIURL.idl',
    'nsIURLParser.idl',
    'nsPISocketTransportService.idl',
]

XPIDL_MODULE = 'necko'

EXPORTS += [
    'netCore.h',
    'nsASocketHandler.h',
    'nsAsyncRedirectVerifyHelper.h',
    'nsFileStreams.h',
    'nsInputStreamPump.h',
    'nsMIMEInputStream.h',
    'nsNetUtil.h',
    'nsReadLine.h',
    'nsSerializationHelper.h',
    'nsSimpleNestedURI.h',
    'nsSimpleURI.h',
    'nsStandardURL.h',
    'nsStreamListenerWrapper.h',
    'nsURIHashKey.h',
    'nsURLHelper.h',
    'nsURLParsers.h',
    'SimpleChannel.h',
]

EXPORTS.mozilla += [
    'LoadContextInfo.h',
    'LoadInfo.h',
    'LoadTainting.h',
    'nsRedirectHistoryEntry.h',
]

EXPORTS.mozilla.net += [
    'CaptivePortalService.h',
    'ChannelDiverterChild.h',
    'ChannelDiverterParent.h',
    'Dashboard.h',
    'DashboardTypes.h',
    'IOActivityMonitor.h',
    'MemoryDownloader.h',
    'NetworkConnectivityService.h',
    'PartiallySeekableInputStream.h',
    'Predictor.h',
    'RedirectChannelRegistrar.h',
    'ReferrerPolicy.h',
    'RequestContextService.h',
    'SimpleChannelParent.h',
    'SSLTokensCache.h',
    'TCPFastOpen.h',
]

UNIFIED_SOURCES += [
    'ArrayBufferInputStream.cpp',
    'BackgroundFileSaver.cpp',
    'CaptivePortalService.cpp',
    'ChannelDiverterChild.cpp',
    'ChannelDiverterParent.cpp',
    'Dashboard.cpp',
    'EventTokenBucket.cpp',
    'FuzzyLayer.cpp',
    'IOActivityMonitor.cpp',
    'LoadContextInfo.cpp',
    'LoadInfo.cpp',
    'MemoryDownloader.cpp',
    'NetworkConnectivityService.cpp',
    'nsAsyncRedirectVerifyHelper.cpp',
    'nsAsyncStreamCopier.cpp',
    'nsAuthInformationHolder.cpp',
    'nsBase64Encoder.cpp',
    'nsBaseChannel.cpp',
    'nsBaseContentStream.cpp',
    'nsBufferedStreams.cpp',
    'nsDirectoryIndexStream.cpp',
    'nsDNSPrefetch.cpp',
    'nsDownloader.cpp',
    'nsFileStreams.cpp',
    'nsIncrementalDownload.cpp',
    'nsIncrementalStreamLoader.cpp',
    'nsInputStreamChannel.cpp',
    'nsInputStreamPump.cpp',
    'nsIOService.cpp',
    'nsIURIMutatorUtils.cpp',
    'nsLoadGroup.cpp',
    'nsMIMEInputStream.cpp',
    'nsNetAddr.cpp',
    'nsNetUtil.cpp',
    'nsPACMan.cpp',
    'nsPreloadedStream.cpp',
    'nsProtocolProxyService.cpp',
    'nsProxyInfo.cpp',
    'nsRedirectHistoryEntry.cpp',
    'nsRequestObserverProxy.cpp',
    'nsSerializationHelper.cpp',
    'nsServerSocket.cpp',
    'nsSimpleNestedURI.cpp',
    'nsSimpleStreamListener.cpp',
    'nsSimpleURI.cpp',
    'nsSocketTransport2.cpp',
    'nsSocketTransportService2.cpp',
    'nsStandardURL.cpp',
    'nsStreamListenerTee.cpp',
    'nsStreamListenerWrapper.cpp',
    'nsStreamLoader.cpp',
    'nsStreamTransportService.cpp',
    'nsSyncStreamListener.cpp',
    'nsTransportUtils.cpp',
    'nsUDPSocket.cpp',
    'PartiallySeekableInputStream.cpp',
    'PollableEvent.cpp',
    'Predictor.cpp',
    'ProxyAutoConfig.cpp',
    'RedirectChannelRegistrar.cpp',
    'RequestContextService.cpp',
    'SimpleBuffer.cpp',
    'SimpleChannel.cpp',
    'SimpleChannelParent.cpp',
    'SSLTokensCache.cpp',
    'TCPFastOpenLayer.cpp',
    'ThrottleQueue.cpp',
    'Tickler.cpp',
    'TLSServerSocket.cpp',
]

if CONFIG['FUZZING_INTERFACES'] and CONFIG['LIBFUZZER']:
    include('/tools/fuzzing/libfuzzer-flags.mozbuild')
    SOURCES += [
        'nsMediaFragmentURIParser.cpp',
        'nsURLHelper.cpp',
        'nsURLParsers.cpp',
    ]
    SOURCES['nsMediaFragmentURIParser.cpp'].flags += libfuzzer_flags
    SOURCES['nsURLHelper.cpp'].flags += libfuzzer_flags
    SOURCES['nsURLParsers.cpp'].flags += libfuzzer_flags
else:
    UNIFIED_SOURCES += [
        'nsMediaFragmentURIParser.cpp',
        'nsURLHelper.cpp',
        'nsURLParsers.cpp',
    ]


if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
    SOURCES += [
        'nsURLHelperWin.cpp',
        'ShutdownLayer.cpp',
    ]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    SOURCES += [
        'nsURLHelperOSX.cpp',
    ]
else:
    SOURCES += [
        'nsURLHelperUnix.cpp',
    ]

# nsINetworkInfoService support.
if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'windows':
    SOURCES += [
        'NetworkInfoServiceWindows.cpp',
        'nsNetworkInfoService.cpp',
    ]
elif CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    SOURCES += [
        'NetworkInfoServiceCocoa.cpp',
        'nsNetworkInfoService.cpp',
    ]
elif CONFIG['OS_ARCH'] == 'Linux':
    SOURCES += [
        'NetworkInfoServiceLinux.cpp',
        'nsNetworkInfoService.cpp',
    ]

EXTRA_JS_MODULES += [
    'NetUtil.jsm',
]

DIRS += [ 'mozurl' ]

include('/ipc/chromium/chromium-config.mozbuild')

FINAL_LIBRARY = 'xul'

LOCAL_INCLUDES += [
    '/docshell/base',
    '/dom/base',
    '/netwerk/protocol/http',
    '/netwerk/socket',
    '/netwerk/url-classifier',
]

if CONFIG['MOZ_WIDGET_TOOLKIT'] == 'cocoa':
    LOCAL_INCLUDES += [
        '/xpcom/base',
    ]

if CONFIG['CC_TYPE'] in ('clang', 'gcc'):
    CXXFLAGS += ['-Wno-error=shadow']