summaryrefslogtreecommitdiffstats
path: root/crypto
Commit message (Collapse)AuthorAgeFilesLines
* This patch adds some Android-support code to allow the networkdigit@chromium.org2013-02-111-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | stack to use platform-specific private key objects to perform signing in the context of SSL handshakes which require a client certificate. More specifically: - Add net/android/keystore.h, which provides native functions to operate on JNI references pointing to java.security.PrivateKey objects provided by the platform. I.e.: net::android::GetPrivateKeyType() net::android::SignWithPrivateKey() Also provide a function that can get the system's own EVP_PKEY* handle corresponding to a given PrivateKey object. This uses reflection and should *only* be used for RSA private keys when running on Android 4.0 and 4.1, in order to route around a platform bug that was only fixed in 4.2. net::android::GetOpenSSLSytstemHandleForPrivateKey() See the comments in this source file for mode details: net/android/java/org/chromium/net/AndroidKeyStore.java - Add net/android/keystore_openssl.h, which provides a function that can wrap an existing PrivateKey JNI reference around an OpenSSL EVP_PKEY object which uses custom DSA/RSA/ECDSA methods to perform signing as expected to handle client certificates. net::android::GetOpenSSLPrivateKeyWrapper() - Add relevant unit tests for the new functions. Note that the unit test comes with its own Java helper function, which is used to create a platform PrivateKey object from encoded PKCS#8 private key data. This is called from the native unit test, but does not constitute a new Java test (AndroidKeyStoreTestUtil.java). - Add corresponding new test key files under net/data/ssl/certificates/, and their generation script in net/data/ssl/scripts/. - Add net/android/private_key_type_list.h which is used both from C++ and Java to define the list of supported private key types used by this code. - Minor improvements: Add a "release()" method to crypto::ScopedOpenSSL, add missing BASE_EXPORT to one base/android/jni_array.h function declaration. BUG=166642 Review URL: https://chromiumcodereview.appspot.com/11571059 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181741 0039d316-1c4b-4281-b951-d872f2087c98
* More FilePath -> base::FilePath replacement.brettw@chromium.org2013-02-101-16/+16
| | | | | | Review URL: https://codereview.chromium.org/12225112 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@181655 0039d316-1c4b-4281-b951-d872f2087c98
* Add FilePath to base namespace.brettw@chromium.org2013-02-021-4/+1
| | | | | | | This updates headers that forward-declare it and a few random places to use the namespace explicitly. There us a using declaration in file_path.h that makes the rest compile, which we can do in future passes. Review URL: https://codereview.chromium.org/12163003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@180245 0039d316-1c4b-4281-b951-d872f2087c98
* Time NSS Initialization for slow startups.jeremy@chromium.org2013-01-221-0/+10
| | | | | | | | | | | Since the code for doing this is outside chrome/ , we can't use the ScopedSlowStartupUMA class, but instead record a regular histogram. If we're experiencing a slow startup, we look up the histogram and set the UMA bit on it. BUG=160927 Review URL: https://chromiumcodereview.appspot.com/12018019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@178018 0039d316-1c4b-4281-b951-d872f2087c98
* Disabling nacl_win64 targets when building in target_arch!=ia32 mode.bradnelson@google.com2013-01-211-1/+1
| | | | | | | | | | | | | | | | When building on windows with target_arch=x64, we no longer need win32 targets forced to be 64-bit. This gates out these targets when target_arch!=ia32. (Prior CL dropped the minimal set to break the dependency between these targets and the rest of the build. This eliminates them completely.) BUG=None TEST=None R=jschuh@chromium.org,thestig@chromium.org TBR=darin@chromium.org,abodenha@chromium.org,apatrick@chromium.org,sra@chromium.org,wtc@chromium.org Review URL: https://chromiumcodereview.appspot.com/11929039 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@177959 0039d316-1c4b-4281-b951-d872f2087c98
* Make crypto build on Win64jschuh@chromium.org2013-01-101-0/+8
| | | | | | | | | | BUG=166496 BUG=167187 TBR=rsleevi Review URL: https://chromiumcodereview.appspot.com/11833014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@175954 0039d316-1c4b-4281-b951-d872f2087c98
* Add the QuicRandom interface with a default implementation that is wtc@chromium.org2012-12-081-1/+1
| | | | | | | | | | | | | | | | | both cryptographically secure and thread-safe. The default QuicRandom is a singleton. crypto/random.h can include the smaller <stddef.h> for size_t. Add missing header files to net/net.gyp. R=rch@chromium.org BUG=none TEST=new unit tests Review URL: https://chromiumcodereview.appspot.com/11476031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@171931 0039d316-1c4b-4281-b951-d872f2087c98
* Use size_t as the type of the key_length and digest_length argumentswtc@chromium.org2012-12-046-16/+13
| | | | | | | | | | | | of HMAC::Init() and HMAC::Sign(). R=agl@chromium.org,bradnelson@chromium.org,thakis@chromium.org BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/11419270 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170852 0039d316-1c4b-4281-b951-d872f2087c98
* Fix nits in SecureHash.wtc@chromium.org2012-11-302-1/+3
| | | | | | | | | | R=agl@chromium.org,rsleevi@chromium.org BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/11299235 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170308 0039d316-1c4b-4281-b951-d872f2087c98
* Fix nits in crypto::InitNSSSafely().jorgelo@chromium.org2012-11-292-11/+12
| | | | | | | | | | | | | Some comments in https://chromiumcodereview.appspot.com/11411013/ were not addressed before the CL landed, so do that now. BUG=None TEST=content_browsertests NOTRY=true Review URL: https://chromiumcodereview.appspot.com/11418212 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170129 0039d316-1c4b-4281-b951-d872f2087c98
* Update nss_revision to 169146.wtc@chromium.org2012-11-221-2/+0
| | | | | | | | | | | | | | | | | The underlying CLs are: https://codereview.chromium.org/11419095/ https://codereview.chromium.org/11411127/ The first CL allows us to call NSS_SetAlgorithmPolicy in Windows shared_library build. R=rsleevi@chromium.org,sgjesse@chromium.org BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/11308155 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169195 0039d316-1c4b-4281-b951-d872f2087c98
* Always force a crash with error info on NSS_NoDB_Init failure.wtc@chromium.org2012-11-211-10/+8
| | | | | | | | | | R=eroman@chromium.org,rsleevi@chromium.org BUG=153281 TEST=none Review URL: https://chromiumcodereview.appspot.com/11415074 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@169053 0039d316-1c4b-4281-b951-d872f2087c98
* Disable MD5 certificate signatures if NSS is used to verify certificates.wtc@chromium.org2012-11-201-5/+8
| | | | | | | | | | | | | | | | This prepares us for NSS 3.14, which disables MD5 certificate signatures by default. Disable a unit test for NSS because all the test cases in that test are invalid now. R=rsleevi@chromium.org BUG=151692 TEST=none Review URL: https://chromiumcodereview.appspot.com/11365274 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168757 0039d316-1c4b-4281-b951-d872f2087c98
* Initialize NSS in the PPAPI process for ClearKey CDM.jorgelo@chromium.org2012-11-172-1/+22
| | | | | | | | | | BUG=156864 TEST=content_browsertests passes on linux_rel_precise. Review URL: https://chromiumcodereview.appspot.com/11411013 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168372 0039d316-1c4b-4281-b951-d872f2087c98
* Move scoped_temp_dir from base to base/filesbrettw@chromium.org2012-11-161-3/+4
| | | | | | | | | | Also add to base namespace. BUG= Review URL: https://codereview.chromium.org/11359217 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168281 0039d316-1c4b-4281-b951-d872f2087c98
* Use LOG(FATAL) instead of CHECK(false) to force a crash on NSS_NoDB_Initwtc@chromium.org2012-11-161-1/+1
| | | | | | | | | | | | | | failure. This prevents the log message from being stripped in official builds. R=eroman@chromium.org BUG=153281 TEST=none Review URL: https://chromiumcodereview.appspot.com/11280021 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@168128 0039d316-1c4b-4281-b951-d872f2087c98
* Force a crash with error info on NSS_NoDB_Init failure.wtc@chromium.org2012-11-151-0/+13
| | | | | | | | | | R=eroman@chromium.org,rsleevi@chromium.org BUG=153281 TEST=none Review URL: https://chromiumcodereview.appspot.com/11358256 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@167871 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: add GHASH implementation.agl@chromium.org2012-11-094-0/+484
| | | | | | | | Can be used to implement GCM until GCM support in NSS is widespread. Review URL: https://codereview.chromium.org/11175015 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@166952 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: Remove forbidden using namespace directive.tfarina@chromium.org2012-11-032-3/+12
| | | | | | | | | | | | Instead just wrap the unittests files into the crypto namespace. TEST=crypto_unittests R=rsleevi@chromium.org Review URL: https://chromiumcodereview.appspot.com/11368035 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165816 0039d316-1c4b-4281-b951-d872f2087c98
* First step towards component build for Android.yfriedman@chromium.org2012-11-011-1/+2
| | | | | | | | | | Add symbol exports needed to build content shell. BUG=158821 Review URL: https://codereview.chromium.org/11368031 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@165420 0039d316-1c4b-4281-b951-d872f2087c98
* Enable MD5 certificate signatures until we figure out how to dealwtc@chromium.org2012-10-191-0/+5
| | | | | | | | | | | | | | | | | | with the weak certificate signature unit tests. Map the new NSS error code SEC_ERROR_CERT_SIGNATURE_ALGORITHM_DISABLED to net::ERR_CERT_WEAK_SIGNATURE. Refactor MapCertErrorToCertStatusto avoid duplicating code with MapSecurityError. R=rsleevi@chromium.org BUG=151692 TEST=none Review URL: https://chromiumcodereview.appspot.com/11192076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163098 0039d316-1c4b-4281-b951-d872f2087c98
* Remove all the "set noparent" directivesdpranke@chromium.org2012-10-191-1/+0
| | | | | | | | | | | | | Now that OWNERS supports per-file owners, we can limit the scope of the top-level wildcard to just DEPS, and make darin and ben owners for everything else and remove the broad use of "set noparent". R=ben@chromium.org, darin@chromium.org BUG=88315 Review URL: https://codereview.chromium.org/11191038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@163069 0039d316-1c4b-4281-b951-d872f2087c98
* Reland: Implement ScopedTestNSSDB instead of OpenTestNSSDB()toyoshim@chromium.org2012-10-183-7/+32
| | | | | | | | | | | | | | This CL needs memory suppression because of missing CloseTestNSSDB(). See also TODO. BUG=136950, 156433 Committed: http://src.chromium.org/viewvc/chrome?view=rev&revision=162327 Review URL: https://chromiumcodereview.appspot.com/11174006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162659 0039d316-1c4b-4281-b951-d872f2087c98
* Revert 162327 - Implement ScopedTestNSSDB instead of OpenTestNSSDB()estade@chromium.org2012-10-173-31/+7
| | | | | | | | | | | | | BUG=136950 Review URL: https://chromiumcodereview.appspot.com/11174006 TBR=toyoshim@chromium.org BUG=156433 Review URL: https://codereview.chromium.org/11196028 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162511 0039d316-1c4b-4281-b951-d872f2087c98
* Implement ScopedTestNSSDB instead of OpenTestNSSDB()toyoshim@chromium.org2012-10-173-7/+31
| | | | | | | | | BUG=136950 Review URL: https://chromiumcodereview.appspot.com/11174006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162327 0039d316-1c4b-4281-b951-d872f2087c98
* Use the NSS internal key slot for all temporary key operationsrsleevi@chromium.org2012-10-174-9/+4
| | | | | | | | | | | | | | | Rather than calling PK11_GetBestSlot, which requires enumerating all connected tokens, use PK11_GetInternalSlot, which explicitly uses the internal NSS key database. On Linux, this will ignore any user preferences regarding what tokens should be used for which mechanisms, but for internal/temporary operations, this is an acceptable tradeoff. BUG=chrome-os-partner:14707 Review URL: https://chromiumcodereview.appspot.com/11186004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@162309 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: remove unused Mac SignatureVerifier.agl@chromium.org2012-10-092-227/+0
| | | | | | Review URL: https://chromiumcodereview.appspot.com/11092006 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@160892 0039d316-1c4b-4281-b951-d872f2087c98
* Force crypto::AppleKeychain access to be guarded by a Big Global Lockrsleevi@chromium.org2012-10-031-0/+13
| | | | | | | | | | | | | | | | Apple removed the Big Global Lock guarding the Security.framework API, but there are a number of thread-unsafe places in the API. Additionally, it seems that OS X 10.8.2 has introduced some deadlock potential, so force calls to be serialized behind a Chrome-supplied Big Global Lock until it's safe to do otherwise. BUG=151707 TEST=See bug Review URL: https://chromiumcodereview.appspot.com/11016004 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@159839 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: add DecodeSignature and use SHA-256 with ECDSA.agl@chromium.org2012-09-195-11/+50
| | | | | | | | | | | | | | | | This changes ECSignatureCreator to use the hash function that SPDY expects (SHA-256). There are no other users of ECSignatureCreator in the tree so I'm going to defer making these choices parameters until there's a benefit to be had. It also adds DecodeSignature to convert from ASN.1 signatures to the `raw' form that SPDY needs. BUG=none Review URL: https://chromiumcodereview.appspot.com/10910226 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@157551 0039d316-1c4b-4281-b951-d872f2087c98
* Do not include <Security/cssm.h> on iOS as it does not exist.msarda@chromium.org2012-09-051-2/+2
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10920073 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154937 0039d316-1c4b-4281-b951-d872f2087c98
* Rename MacKeychain to AppleKeychainmsarda@chromium.org2012-08-308-205/+468
| | | | | | | | | | | | | | Rename MacKeychain to AppleKeychain and add mac and iOS specific implementations (crypto/apple_keychain_ios.mm and crypto/apple_keychain_mac.mm). Rename MockKeychain to MockAppleKeychain and split its implementations in 3 files crypto/mock_apple_keychain.cc, crypto/mock_apple_keychain_ios.cc and crypto/mock_apple_keychain_mac.cc). Review URL: https://chromiumcodereview.appspot.com/10875029 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@154123 0039d316-1c4b-4281-b951-d872f2087c98
* Add RSAPrivateKey stub implementation for iOS.msarda@chromium.org2012-08-202-0/+76
| | | | | | | | | RSAPrivateKey is not used on iOS, but code calling it is compiled. To avoid ifdef'ing in the client code, the class is stubbed out. Review URL: https://chromiumcodereview.appspot.com/10823309 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@152300 0039d316-1c4b-4281-b951-d872f2087c98
* Upstream minor iOS crypto diffs.msarda@chromium.org2012-08-142-2/+5
| | | | | | | | | | This CL upstreams two minor changes of crypto for iOS: * nss_util.cc: On iOS, the default NSS root certificates need to be initialized when no persistent database is used. * symmetric_key_unittest.cc: Turn off an OS X-specific code path for iOS. Review URL: https://chromiumcodereview.appspot.com/10831307 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@151545 0039d316-1c4b-4281-b951-d872f2087c98
* Built crypto and crypto_unittests for iOSmsarda@chromium.org2012-08-093-7/+27
| | | | | | | | | | | Adds iOS support to crypto.gyp. Both targets now build, but the tests may not run correctly, and not all the crypto code is correct yet for iOS. BUG=NONE Review URL: https://chromiumcodereview.appspot.com/10830183 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@150775 0039d316-1c4b-4281-b951-d872f2087c98
* Added crypto random-number generatormniknami@chromium.org2012-08-026-7/+78
| | | | | | | | | | | Added a cryptographic random-number generator to crypto/. Modified sync to use this function instead. May also be used by Cloud Print in the future. Review URL: https://chromiumcodereview.appspot.com/10698177 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149689 0039d316-1c4b-4281-b951-d872f2087c98
* Add a DCHECK to ECSignatureCreator::SetFactoryForTesting to help avoid ↵rch@chromium.org2012-08-011-0/+4
| | | | | | | | use-after-free problems. Review URL: https://chromiumcodereview.appspot.com/10828118 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149506 0039d316-1c4b-4281-b951-d872f2087c98
* Make 'License' field in third-party metadata requiredsteveblock@chromium.org2012-08-011-0/+1
| | | | | | | | | | | | | | | | This will simplify the addition of a tool to check licenses for the purpose of the Android WebView build. See also http://codereview.chromium.org/10827099 Also adds other missing fields to these README.chromium files as required by presubmit checks and fixes a regex used to enforce this. BUG=138921 Review URL: https://chromiumcodereview.appspot.com/10821103 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149423 0039d316-1c4b-4281-b951-d872f2087c98
* src/crypto should build on the x86_64 architecture.mmaerean@adobe.com2012-07-302-42/+81
| | | | | | | | | | This patch solves the build issues that are directly related to building crypto for the x86_64 architecture. BUG=136072 Review URL: https://chromiumcodereview.appspot.com/10738003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149047 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: Tag some overridden methods with OVERRIDE.tfarina@chromium.org2012-07-301-4/+5
| | | | | | | | | | BUG=115047 R=rsleevi@chromium.org Review URL: https://chromiumcodereview.appspot.com/10824076 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148928 0039d316-1c4b-4281-b951-d872f2087c98
* crypto: special case ∞+a, a+∞ and a+a in p224.agl@chromium.org2012-07-272-44/+113
| | | | | | | | | | | | | | | | | | | | In unrelated work, I found that the group addition formula used in p224.cc doesn't work when one of the arguments is the point at infinity. This change catches that case and simplifies the ScalarMult loop as a consequence. In the course of doing this, I found a couple of bugs in Contract that would have produced the wrong answer is very rare cases. I also added a catch for a+a. This can't happen in the ScalarMult loop, but it could happen from SPAKE2 at a rate of 1 in ~2**220 evaluations. BUG=none TEST=crypto_unittests Review URL: https://chromiumcodereview.appspot.com/10822019 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@148815 0039d316-1c4b-4281-b951-d872f2087c98
* Declare password_data_count_ as int to match the return type of itswtc@chromium.org2012-07-191-1/+1
| | | | | | | | | | | getter method. R=rsleevi@chromium.org BUG=none TEST=none Review URL: https://chromiumcodereview.appspot.com/10800038 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@147541 0039d316-1c4b-4281-b951-d872f2087c98
* Remove #pragma once from cryptoajwong@chromium.org2012-07-1128-42/+14
| | | | | | Review URL: https://chromiumcodereview.appspot.com/10695140 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@146077 0039d316-1c4b-4281-b951-d872f2087c98
* NSS Channel ID: don't check ECC support on every socket creation.mattm@chromium.org2012-07-093-4/+46
| | | | | | | | | | | Add static function to ECPrivateKey to get which NSS slot it uses. BUG=127506 Review URL: https://chromiumcodereview.appspot.com/10700099 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145777 0039d316-1c4b-4281-b951-d872f2087c98
* Convert SSLClientSocketNSS to use the NSS Channel ID callback.mattm@chromium.org2012-06-261-1/+1
| | | | | | | | | | BUG=129174,127506 TEST=run a TLS Channel ID supporting server, try connecting to it. TBR=joi@chromium.org Review URL: https://chromiumcodereview.appspot.com/10560020 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@144093 0039d316-1c4b-4281-b951-d872f2087c98
* Use NSS for symmetric key crypto operations on Windows and Mac.ddorwin@chromium.org2012-06-158-501/+58
| | | | | | | | | | | | | | | Encryptor, HMAC, and SymmetricKey now use NSS on all platforms except Android. This allows us to use them inside the sandbox, something that was not possible when using the platform APIs. On Windows, Native Client 64-bit builds still use the the platform APIs. BUG=127803,124741 TEST=Existing tests since there is no change in functionality. Review URL: https://chromiumcodereview.appspot.com/10543146 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@142356 0039d316-1c4b-4281-b951-d872f2087c98
* Fixing gcc 4.7 building problems.shenhan@google.com2012-06-053-10/+18
| | | | | | | | | | | | | | | | | | | | | | | | | | a) - gcc-4.7 improved the implicit headers that it includes. with <4.7, the gthr-default.h file always pulls in unistd.h. with >=4.7, they avoided that include when possible. so code that isn't including unistd.h itself but needs it now breaks. b) - narrowing conversion in initiliazation list now raises an 'ill-formed conversion' warning, which causes error when -Werror is given. [THIS PART IS NOW REVERTED IN THE PATCH} c) - included patches from pastebin - http://pastebin.com/raw.php?i=p3UKs7Cg Note - this may not be fixing all the gcc 4.7 build problems for all parts, but rather than submitting one big-fix-for-all CL, we'd better do it incrementally (given that all the modification is reasonable and minor) so that at least some parts get a successful gcc 4.7 build. BUG=None TEST=Built successfully using GCC-4.7 under chromium chroot Review URL: https://chromiumcodereview.appspot.com/10451068 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@140470 0039d316-1c4b-4281-b951-d872f2087c98
* Remove TPMTokenInfoDelegate to make TPM initialization code path simplehashimoto@chromium.org2012-05-172-103/+55
| | | | | | | | | | | Move Cryptohome D-Bus method calls to chromeos::CertLibrary BUG=125848 TEST=can login Review URL: https://chromiumcodereview.appspot.com/10332191 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137646 0039d316-1c4b-4281-b951-d872f2087c98
* Upstream: Depend on OpenSSL directly instead of via system.gypjingzhao@chromium.org2012-05-161-1/+1
| | | | | | | | | | | | | build/android/system.gyp has an extra level of abstraction for openssl which is currently not really doing anything since we don't yet support using the system openssl on android. Remove it for now, because this stops there from being two targets called "ssl" (this one and the one for linux) - solving some problems with the android build backend for gyp. Review URL: https://chromiumcodereview.appspot.com/10332106 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137379 0039d316-1c4b-4281-b951-d872f2087c98
* Remove crypto::IsTPMTokenAvailblehashimoto@chromium.org2012-05-162-16/+0
| | | | | | | | | BUG=126674 TEST=build success Review URL: https://chromiumcodereview.appspot.com/10381151 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137357 0039d316-1c4b-4281-b951-d872f2087c98
* Change the way _EXPORT macros look.thakis@chromium.org2012-05-151-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | With the current setup, if you have a header file my_class.h class BASE_EXPORT MyClass { public: void MyInlineMethod() { /* do stuff, inline */ } }; then every cc file that includes my_class.h will have a public symbol for MyInlineMethod (because inline methods need to be emitted to every translation unit, and the linker sorts them out). With the components build, the linker can't decide to drop these inline methods, so every .so that uses this header file will have the same public symbol. With this proposed change, the symbol will only be visible in the target the header file belongs to, and it will be hidden in all other components. That's cleaner, and it also prevents accident hidden dependencies (say target A depends on B, and B depends on C. A accidentally uses an inline function from a class in C. With this change, that would result in a linker error, and an explicit dependency from A on C would have to be added). Also add a missing CHROMEOS_IMPLEMENTATION define which went unnoticed until now. BUG=90078 TEST=Things still build. TBR=ben, tony, viettrungluu, thestig, agl, willchan Review URL: https://chromiumcodereview.appspot.com/10386108 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@137130 0039d316-1c4b-4281-b951-d872f2087c98