Skip to content

Commit

Permalink
Add net to the repository.
Browse files Browse the repository at this point in the history
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@14 0039d316-1c4b-4281-b951-d872f2087c98
  • Loading branch information
initial.commit committed Jul 26, 2008
1 parent a814a8d commit 586acc5
Show file tree
Hide file tree
Showing 393 changed files with 56,326 additions and 0 deletions.
345 changes: 345 additions & 0 deletions net/SConscript
Original file line number Diff line number Diff line change
@@ -0,0 +1,345 @@
# Copyright 2008, Google Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
#
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# * Redistributions in binary form must reproduce the above
# copyright notice, this list of conditions and the following disclaimer
# in the documentation and/or other materials provided with the
# distribution.
# * Neither the name of Google Inc. nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Import('env')

env_res = env.Clone()
env_tests = env.Clone()
env = env.Clone()

env.Prepend(
CPPPATH = [
'$ZLIB_DIR',
'$ICU38_DIR/public/common',
'$ICU38_DIR/public/i18n',
'..',
],
)

env.Append(
CPPDEFINES = [
'U_STATIC_IMPLEMENTATION',
'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
],
CCFLAGS = [
'/wd4503',
'/wd4819',
],
)

input_files = [
'base/address_list.cc',
'base/auth_cache.cc',
'base/base64.cc',
'base/bzip2_filter.cc',
'base/client_socket_factory.cc',
'base/cookie_monster.cc',
'base/cookie_policy.cc',
'base/data_url.cc',
'base/directory_lister.cc',
'base/dns_resolution_observer.cc',
'base/escape.cc',
'base/ev_root_ca_metadata.cc',
'base/filter.cc',
'base/gzip_filter.cc',
'base/gzip_header.cc',
'base/host_resolver.cc',
'base/listen_socket.cc',
'base/mime_sniffer.cc',
'base/mime_util.cc',
'base/net_errors.cc',
'base/net_module.cc',
'base/net_util.cc',
'base/registry_controlled_domain.cc',
'base/ssl_client_socket.cc',
'base/ssl_config_service.cc',
'base/tcp_client_socket.cc',
'base/telnet_server.cc',
'base/upload_data.cc',
'base/upload_data_stream.cc',
'base/wininet_util.cc',
'base/winsock_init.cc',
'base/x509_certificate.cc',
'disk_cache/backend_impl.cc',
'disk_cache/block_files.cc',
'disk_cache/entry_impl.cc',
'disk_cache/file.cc',
'disk_cache/file_lock.cc',
'disk_cache/hash.cc',
'disk_cache/mapped_file.cc',
'disk_cache/mem_backend_impl.cc',
'disk_cache/mem_entry_impl.cc',
'disk_cache/mem_rankings.cc',
'disk_cache/rankings.cc',
'disk_cache/stats.cc',
'disk_cache/trace.cc',
'http/cert_status_cache.cc',
'http/http_chunked_decoder.cc',
'http/http_connection.cc',
'http/http_connection_manager.cc',
'http/http_cache.cc',
'http/http_network_layer.cc',
'http/http_network_transaction.cc',
'http/http_proxy_resolver_fixed.cc',
'http/http_proxy_resolver_winhttp.cc',
'http/http_proxy_service.cc',
'http/http_response_headers.cc',
'http/http_transaction_winhttp.cc',
'http/http_util.cc',
'http/http_vary_data.cc',
'http/winhttp_request_throttle.cc',
'url_request/mime_sniffer_proxy.cc',
'url_request/url_request.cc',
'url_request/url_request_about_job.cc',
'url_request/url_request_error_job.cc',
'url_request/url_request_file_dir_job.cc',
'url_request/url_request_file_job.cc',
'url_request/url_request_filter.cc',
'url_request/url_request_ftp_job.cc',
'url_request/url_request_http_cache_job.cc',
'url_request/url_request_inet_job.cc',
'url_request/url_request_job.cc',
'url_request/url_request_job_manager.cc',
'url_request/url_request_job_metrics.cc',
'url_request/url_request_job_tracker.cc',
'url_request/url_request_simple_job.cc',
'url_request/url_request_test_job.cc',
'url_request/url_request_view_cache_job.cc',
]

#env_p = env.Clone(
# PCHSTOP='precompiled_net.h',
# PDB = 'vc80.pdb',
#)
#pch, obj = env_p.PCH(['net.pch', 'precompiled_net.obj'], 'precompiled_net.cc')
#env_p['PCH'] = pch

#env.StaticLibrary('net', input_files + [obj])

# TODO(bradnelson): This step generates file precompiled_net.pch.ib_tag
# possibly only on incredibuild, scons doesn't know this.
env_p = env.Clone()
env_p.Append(CCFLAGS='/Ylnet')
pch, obj = env_p.PCH('precompiled_net.pch', 'build/precompiled_net.cc')
env['PCH'] = pch
env['PCHSTOP'] = 'precompiled_net.h'
env.Append(CCPCHFLAGS = ['/FIprecompiled_net.h'])

env.StaticLibrary('net', input_files + [obj])


env_tests.Prepend(
CPPPATH = [
'..',
],
CPPDEFINES = [
'UNIT_TEST',
'_WIN32_WINNT=0x0600',
'WINVER=0x0600',
'_HAS_EXCEPTIONS=0',
'CERT_CHAIN_PARA_HAS_EXTRA_FIELDS',
'WIN32_LEAN_AND_MEAN',
],
CCFLAGS = [
'/WX',
'/Wp64',
'/TP',

'/wd4503',
'/wd4819',
],
LINKFLAGS = [
'/DELAYLOAD:"dwmapi.dll"',
'/DELAYLOAD:"uxtheme.dll"',
'/MACHINE:X86',
'/FIXED:No',
'/safeseh',
'/dynamicbase',
'/ignore:4199',
'/nxcompat',
],
LIBS = [
'advapi32.lib',
'comdlg32.lib',
'DelayImp.lib',
'gdi32.lib',
'kernel32.lib',
'msimg32.lib',
'odbc32.lib',
'odbccp32.lib',
'ole32.lib',
'oleaut32.lib',
'psapi.lib',
'shell32.lib',
'user32.lib',
'usp10.lib',
'uuid.lib',
'version.lib',
'wininet.lib',
'winspool.lib',
'ws2_32.lib',
],
)

env_tests.Append(
CPPPATH = [
'$GTEST_DIR/include',
],
)

libs = [
'$GOOGLEURL_DIR/googleurl.lib',
'$BASE_DIR/base.lib',
'$TESTING_DIR/gtest.lib',
'../third_party/bzip2/bzip2.lib',
'$ICU38_DIR/icuuc.lib',
'$MODP_B64_DIR/modp_b64.lib',
'$ZLIB_DIR/zlib.lib',
'net.lib',
]


unittest_files = [
'base/auth_cache_unittest.cc',
'base/base64_unittest.cc',
'base/bzip2_filter_unittest.cc',
'base/cookie_monster_unittest.cc',
'base/cookie_policy_unittest.cc',
'base/data_url_unittest.cc',
'base/directory_lister_unittest.cc',
'base/escape_unittest.cc',
'base/gzip_filter_unittest.cc',
'base/mime_sniffer_unittest.cc',
'base/mime_util_unittest.cc',
'base/net_util_unittest.cc',
'base/registry_controlled_domain_unittest.cc',
'base/ssl_config_service_unittest.cc',
'base/ssl_client_socket_unittest.cc',
'base/tcp_client_socket_unittest.cc',
'base/wininet_util_unittest.cc',
'disk_cache/addr_unittest.cc',
'disk_cache/backend_unittest.cc',
'disk_cache/block_files_unittest.cc',
'disk_cache/disk_cache_test_base.cc',
'disk_cache/disk_cache_test_util.cc',
'disk_cache/entry_unittest.cc',
'disk_cache/mapped_file_unittest.cc',
'disk_cache/storage_block_unittest.cc',
'http/http_cache_unittest.cc',
'http/http_connection_manager_unittest.cc',
'http/http_network_layer_unittest.cc',
'http/http_network_transaction_unittest.cc',
'http/http_response_headers_unittest.cc',
'http/http_transaction_unittest.cc',
'http/http_transaction_winhttp_unittest.cc',
'http/http_util_unittest.cc',
'http/http_vary_data_unittest.cc',
'http/winhttp_request_throttle_unittest.cc',
'url_request/url_request_unittest.cc',
'$BASE_DIR/run_all_unittests.obj',
]

net_unittests = env_tests.Program(
['net_unittests.exe',
'net_unittests.ilk',
'net_unittests.pdb'],
unittest_files + libs
)



stress_cache = env_tests.Program(
['stress_cache.exe',
'stress_cache.ilk',
'stress_cache.pdb'],
['disk_cache/stress_cache.cc',
'disk_cache/disk_cache_test_util.cc'] + libs
)


crash_cache = env_tests.Program(
['crash_cache.exe',
'crash_cache.ilk',
'crash_cache.pdb'],
['tools/crash_cache/crash_cache.cc',
'disk_cache/disk_cache_test_util.cc'] + libs
)


net_perftests = env_tests.Program(
['net_perftests.exe',
'net_perftests.ilk',
'net_perftests.pdb'],
['disk_cache/disk_cache_test_util.cc',
'disk_cache/disk_cache_perftest.cc',
'base/cookie_monster_perftest.cc',
# TODO(sgk): avoid using .cc from base directly
'$BASE_DIR/run_all_perftests$OBJSUFFIX',
'$BASE_DIR/perftimer$OBJSUFFIX'] + libs
)


# Create install of tests.
installed_tests = env.Install(
'$TARGET_ROOT',
net_unittests + stress_cache + crash_cache + net_perftests
)


env_res.Append(
CPPPATH = [
'..',
],
RCFLAGS = [
['/l', '0x409'],
],
)

# This dat file needed by net_resources is generated.
tld_names_clean = env_res.Command('net/effective_tld_names_clean.dat',
['base/effective_tld_names.dat',
'tools/tld_cleanup/tld_cleanup.exe'],
'${SOURCES[1]} ${SOURCES[0]} $TARGET')
rc = env_res.Command('net_resources.rc',
'base/net_resources.rc',
Copy('$TARGET', '$SOURCE'))
net_resources = env_res.RES(rc)
env_res.Depends(rc, tld_names_clean)


sconscript_files = [
'tools/tld_cleanup/SConscript',
]

SConscript(sconscript_files, exports=['env'])


# Setup alias for building all parts of net.
env.Alias('net', ['.', installed_tests, '../icudt38.dll'])

3 changes: 3 additions & 0 deletions net/SConstruct
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
build_component = 'net'
SConscript('../build/SConscript.main',
exports=['build_component'])
46 changes: 46 additions & 0 deletions net/base/address_list.cc
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// Copyright 2008, Google Inc.
// All rights reserved.
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are
// met:
//
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above
// copyright notice, this list of conditions and the following disclaimer
// in the documentation and/or other materials provided with the
// distribution.
// * Neither the name of Google Inc. nor the names of its
// contributors may be used to endorse or promote products derived from
// this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

#include "net/base/address_list.h"

#include <ws2tcpip.h>
#include <wspiapi.h> // Needed for Win2k compat.

namespace net {

void AddressList::Adopt(struct addrinfo* head) {
data_ = new Data();
data_->head = head;
}

AddressList::Data::~Data() {
freeaddrinfo(head);
}

} // namespace net
Loading

0 comments on commit 586acc5

Please sign in to comment.