diff options
author | ncbray@chromium.org <ncbray@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-27 00:16:47 +0000 |
---|---|---|
committer | ncbray@chromium.org <ncbray@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-03-27 00:16:47 +0000 |
commit | 43866cd42bd433961d3b631ebbd9afe2ae85699f (patch) | |
tree | dec64d88f0f35f8e00a0b2850d614016b4024381 /crypto/crypto.gyp | |
parent | 000b98ddf1aca041c77865d1ba8968577a1efa35 (diff) | |
download | chromium_src-43866cd42bd433961d3b631ebbd9afe2ae85699f.zip chromium_src-43866cd42bd433961d3b631ebbd9afe2ae85699f.tar.gz chromium_src-43866cd42bd433961d3b631ebbd9afe2ae85699f.tar.bz2 |
Create a database for NaCl validation caching that is shared between processes.
This change primarily entails creating a SyncChannel between sel_ldr and the
browser. Queries to the database could be made from any thread inside sel_ldr,
so the query mechanism needs to be thread safe.
This feature is currently disabled by default, and requires an environment
variable to enable. A few changes need to be made before this features is safe
and can be enabled, such as making sure each installation has a unique,
crypographically secure key.
BUG= http://code.google.com/p/nativeclient/issues/detail?id=2515
TEST= Run NaCl w/ NACL_VALIDATION_CACHE=1
Review URL: http://codereview.chromium.org/9796006
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@129061 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'crypto/crypto.gyp')
-rw-r--r-- | crypto/crypto.gyp | 53 |
1 files changed, 44 insertions, 9 deletions
diff --git a/crypto/crypto.gyp b/crypto/crypto.gyp index 405ad0b..f095719 100644 --- a/crypto/crypto.gyp +++ b/crypto/crypto.gyp @@ -5,6 +5,19 @@ { 'variables': { 'chromium_code': 1, + # Put all transitive dependencies for Windows HMAC here. + # This is required so that we can build them for nacl win64. + 'hmac_win64_related_sources': [ + 'hmac.cc', + 'hmac.h', + 'hmac_win.cc', + 'secure_util.cc', + 'secure_util.h', + 'symmetric_key.h', + 'symmetric_key_win.cc', + 'third_party/nss/chromium-sha256.h', + 'third_party/nss/sha512.cc', + ], }, 'targets': [ { @@ -131,6 +144,9 @@ },], ], 'sources': [ + # NOTE: all transitive dependencies of HMAC on windows need + # to be placed in the source list above. + '<@(hmac_win64_related_sources)', 'capi_util.cc', 'capi_util.h', 'crypto_export.h', @@ -151,12 +167,9 @@ 'encryptor_nss.cc', 'encryptor_openssl.cc', 'encryptor_win.cc', - 'hmac.cc', - 'hmac.h', 'hmac_mac.cc', 'hmac_nss.cc', 'hmac_openssl.cc', - 'hmac_win.cc', 'keychain_mac.cc', 'keychain_mac.h', 'mac_security_services_lock.cc', @@ -185,8 +198,6 @@ 'secure_hash.h', 'secure_hash_default.cc', 'secure_hash_openssl.cc', - 'secure_util.cc', - 'secure_util.h', 'sha2.cc', 'sha2.h', 'signature_creator.h', @@ -197,18 +208,14 @@ 'signature_verifier.h', 'signature_verifier_nss.cc', 'signature_verifier_openssl.cc', - 'symmetric_key.h', 'symmetric_key_mac.cc', 'symmetric_key_nss.cc', 'symmetric_key_openssl.cc', - 'symmetric_key_win.cc', 'third_party/nss/chromium-blapi.h', 'third_party/nss/chromium-blapit.h', 'third_party/nss/chromium-nss.h', - 'third_party/nss/chromium-sha256.h', 'third_party/nss/pk11akey.cc', 'third_party/nss/secsign.cc', - 'third_party/nss/sha512.cc', ], }, { @@ -281,4 +288,32 @@ ], }, ], + 'conditions': [ + [ 'OS == "win"', { + 'targets': [ + { + 'target_name': 'crypto_nacl_win64', + 'type': '<(component)', + 'dependencies': [ + '../base/base.gyp:base_nacl_win64', + '../base/third_party/dynamic_annotations/dynamic_annotations.gyp:dynamic_annotations_win64', + ], + 'sources': [ + '<@(hmac_win64_related_sources)', + ], + 'defines': [ + 'CRYPTO_IMPLEMENTATION', + ], + 'msvs_disabled_warnings': [ + 4018, + ], + 'configurations': { + 'Common_Base': { + 'msvs_target_platform': 'x64', + }, + }, + }, + ], + }], + ], } |