summaryrefslogtreecommitdiffstats
path: root/import_openssl.sh
Commit message (Collapse)AuthorAgeFilesLines
* Fix typo in OPENSSL_DIR_ORIG variable name.Alex Klyubin2013-07-261-1/+1
| | | | Change-Id: I7d8b77d77979f69cbb5e63f1fcab802e9dcccfe0
* Move more build configuration to openssl.configDavid 'Digit' Turner2013-03-081-0/+159
| | | | | | | | | | | | | | | | | | | | | This patch makes openssl.config the only place where common and architecture-specific sources and compiler flags are listed. Its content is processed by import_openssl.sh to generate new build config files (Crypto-config.mk, Ssl-config.mk, Apps-config.mk) which are themselves included by simplified Crypto.mk, Ssl.mk, Apps.mk. + Add a new script (check-all-builds.sh) that can rebuild six different variants of openssl in one go. This is useful to quickly check that a change didn't break a specific build, e.g. when adding new patch or upgrading the OpenSSL sources. See './check-all-builds.sh --help' for more info. Note: Clang-based builds are currently broken, so only GCC-based ones are activated at the moment. Change-Id: If08c204e4dc9b081ce676bc7984d039670e115b0
* Auto-generate configuration flags.David 'Digit' Turner2013-02-201-12/+42
| | | | | | | | | | | | | | | | | | | | | | This modifies import_openssl.sh to parse the configured Makefile and extract the appropriate compiler flags that were currently defined manually in android-config.mk - Modifies openssl.config to add missing configure options to ensure the final result is the same than before the patch. This also updates crypto/opensslconf.h. - The generated output is stored in build-config.mk which content directly comes from the OpenSSL Makefile. - android-config.mk is still used to define LOCAL_CFLAGS from the definitions in build-config.mk, as well as perform minimal extra filtering. - Remove the section in README.android about manually changing android-config.mk. Change-Id: I5275de69a817aa7c9880ea48e5d6a8ac1652a1e4
* Convert ISO-8859-1 files to UTF-8.David 'Digit' Turner2013-02-191-2/+20
| | | | | | | | | | | | | | This patch modifies import_openssl.sh to convert all untarred OpenSSL source files that are in ISO-8859-1 encoding into UTF-8. The main reason for this is that the Chromium review tool doesn't support anything else (i.e. "git cl upload" will barf with a mysterious Python exception if the uploaded diff files aren't UTF-8). This makes it easier to import the Android sources into the Chromium tree, and should have no impact on the build products. Change-Id: I43df753c41f5d9ed853a4252d7d05c5bbced98b4
* openssl-1.0.1d upgradeBrian Carlstrom2013-02-051-1/+1
| | | | Change-Id: Ie980c8834cf2c843858182d98d1f60c65a2a9b70
* Add another missing x86_64 assembly file generation step.David 'Digit' Turner2013-01-301-0/+1
| | | | Change-Id: I357c33a297937c2e64cfa8c6e49795cd1e865544
* Fix x86_64 assembly file generation.David 'Digit' Turner2013-01-231-1/+2
| | | | | | | | | | | | | | | | | | | | | | The "sha512-x86_64.pl" script actually needs the name of the output file as its second parameter to determine whether to generate SHA-256 or SHA-512 routines. This patch does the following: - Fix import_openssl.sh to invoke the script properly - Add the generation of sha256-x86_64.S as well. Note that this patch is the result of running: ./import_openssl.sh import /path/to/openssl-1.0.1c.tar.gz Which means that no other source files were impacted by the change. Only needed for the Chromium x86_64 "linux_redux" build and the SPDY host proxy program (flip_in_mem_edsm_server). Change-Id: Ia40737f5952c7b156bd51844571e4f759910a6a1
* Add x86_64 assembly files.David 'Digit' Turner2012-12-111-0/+23
| | | | | | | | | | This patch modifies import_openssl.sh to also generate assembly files for x86_64 (using the appropriate Perl scripts). These new sources are not used by the Android build, but by the Chromium "linux_redux" build which uses OpenSSL has its SSL engine. Change-Id: I3d1435de17f2de10633a71b9197b6cec328e93a7
* Add x86 cpuid assembly file.David 'Digit' Turner2012-12-111-30/+70
| | | | | | | | | | | | | | | This patch does the following: - Adds the generation of crypto/x86cpuid.S in import_openssl.sh. - Modifies Crypto.mk to ensure that the corresponding functions are linked and used at runtime. Note that mem_clr.c is removed from the x86 build. Its sole purpose is to provide a generic implementation of OPENSSL_cleanse, which is provided by the x86cpuid.S source file now. Change-Id: I7cbf6b12220def11498e591dc64787ef76303c9e
* x86: Fix DT_TEXTREL in assembly codeDaniel Leung2012-11-051-15/+15
| | | | | | | | | | | | | Regenerate some assembly files to make them PIC friendly. The perl script needs to be passed "-fPIC" to properly generate PIC friendly code for x86. The import_openssl.sh has also been updated to include -fPIC when generating assembly files for x86. Change-Id: Ie174b5f74cf7fcdad1339892302b8762ee43ed7c Signed-off-by: Daniel Leung <daniel.leung@linux.intel.com>
* Rename assembly files with .S extensions.David 'Digit' Turner2012-10-051-27/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The openssl files were generated with an .s extension, which tells GCC that they normally don't need to be sent to the pre-processor (i.e. they are passed directly to the assembler). Unfortunately, all these files _do_ need to be preprocessed, which is why 'LOCAL_AS_CFLAGS := -x assembler-with-cpp' was required in Crypto.mk. As simpler way to solve the issue is simply to use an .S extension when generating the assembly files. GCC knows that these must be pre-processed first. So the patch does: - Rename all .s files to .S - Remove the use of -x assembler-with-cpp from Crypto.mk - Modify import_openssl.sh to directly generate .S files (tested) Context: This makes it easier to reuse the exact same sources for Chrome on Android. Its gyp build system doesn't have a feature comparable to LOCAL_AS_CFLAGS. Change-Id: I708d9fbcf8d42b5c39a7d30df2b03ed79a3e62f0
* Enable openssl crypto optimizations for x86 platformCatalin Ionita2012-09-121-0/+17
| | | | | | | | Asm files attached to this patch were generated from the current OpenSSL version. Change-Id: I05ef67a6e34016ef94a0ef23ca264bcac805b1cc Signed-off-by: Catalin Ionita <catalin.ionita@intel.com>
* [MIPS] Append private_ to AES_set_encrypt_key and AES_set_decrypt_key for MIPS.Chris Dearman2012-08-151-5/+8
| | | | | | | | | | | | | | | | | | Update import script to generate o32 .s files for MIPS. Release 1.0.1 of openssl renamed the C and assembler routines for AES_set_encrypt_key() and AES_set_decrypt_key(), but forgot to do this in the Mips assembler version. The following mips_private.patch fixes that problem in the upstream source, until such time as it is fixed upstream. The upstream version of openssl builds for a "n32" Mips abi used on SGI workstations. Android's import_openssl.sh script is now modified to build for the "o32" abi used throughout Mips Android. That change is permanent, and will not be upstreamed. Signed-off-by: Raghu Gandham <raghu@mips.com> Change-Id: Iec5ce7f11a74a3674e96057f2ce97d8ba9238464
* Move OpenSSL makefiles to one directory to avoid future patching issuesBrian Carlstrom2012-04-091-5/+0
| | | | Change-Id: I39f6cfc61f484f4457bda3003e5992dfc7e20186
* Enable additional asm on armBrian Carlstrom2012-03-311-0/+2
| | | | | Bug: 6168278 Change-Id: Icb87356462ff2219c939bfeedc6aac7f4db69af7
* am db166823: Merge "From 67b1ae72527c9e173ace98e805e8b9c090455873 Mon Sep 17 ↵Brian Carlstrom2012-03-151-1/+8
|\ | | | | | | | | | | | | 00:00:00 2001 Subject: [MIPS] MIPS assembler pack update" * commit 'db166823303559663b1c209e14b326160519c51c': From 67b1ae72527c9e173ace98e805e8b9c090455873 Mon Sep 17 00:00:00 2001 Subject: [MIPS] MIPS assembler pack update
| * From 67b1ae72527c9e173ace98e805e8b9c090455873 Mon Sep 17 00:00:00 2001Petar Jovanovic2012-03-151-1/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | Subject: [MIPS] MIPS assembler pack update Asm changes have been taken from http://cvs.openssl.org/chngview?cn=21708 These should discarded when the code base moves to OpenSSL 1.0.1 or above. Additional changes have also been added to the Android make files, so it builds correctly for MIPS architecture. Change-Id: Ifc139e624d50510727180b03b15e15f7bbeda4d1 Signed-Off-By: Petar Jovanovic <petarj@mips.com>
* | Upgrade to openssl-1.0.0fBrian Carlstrom2012-01-041-1/+1
|/ | | | | Bug: 5822335 Change-Id: Iadf81526a10b072ff323730db0e1897faea7a13f
* Improved client certificate and certificate chain supportBrian Carlstrom2010-07-131-7/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - openssl: add openssl support for specifying per key certificate chains - libcore: properly implement client certificate request call back - libcore: properly implement sending certificate chain - libcore: properly implement retreiving local certificate chain - libcore: added an SSLContext for non-OpenSSL SSLSocket creation Details: external/openssl Improve patch generate support by applying all other patches to baseline to remove cross polluting other patch changes into target patch. Move cleanup of ./Configure output to import script from openssl.config. import_openssl.sh openssl.config Adding SSL_use_certificate_chain and SSL_get_certificate_chain to continue to finish most of remaining JSSE issues. include/openssl/ssl.h ssl/s3_both.c ssl/ssl.h ssl/ssl_locl.h ssl/ssl_rsa.c Updated patch (and list of input files to patch) patches/jsse.patch openssl.config libcore Restoring SSLContextImpl as provider of non-OpenSSL SSLSocketImpl instances for interoperability testing. OpenSSLContextImpl is the new subclass that provides OpenSSLSocketImpl. JSSEProvider provides the old style SSLContexts, OpenSSLProvider provides the OpenSSL SSLContext, which includes the "default" context. Changed to register SSLContexts without aliases to match the RI. luni/src/main/java/org/apache/harmony/xnet/provider/jsse/JSSEProvider.java luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLProvider.java luni/src/main/java/org/apache/harmony/xnet/provider/jsse/DefaultSSLContextImpl.java luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLContextImpl.java luni/src/main/java/org/apache/harmony/xnet/provider/jsse/SSLContextImpl.java Native interface updates to support OpenSSLSocketImpl improvements - KEY_TYPES now expanded based on what we are being provided by OpenSSL. keyType function now maps key type values received from clientCertificateRequested callback. - Removed remaining uses of string PEM encoding, now using ASN1 DER consistently Includes SSL_SESSION_get_peer_cert_chain, verifyCertificateChain - Fixed clientCertificateRequested to properly include all key types supported by server, not just the one from the cipher suite. We also now properly include the list of supported CAs to help the client select a certificate to use. - Fixed NativeCrypto.SSL_use_certificate implementation to use new SSL_use_certificate_chain function from openssl to pass chain to OpenSSL. - Added error handling of all uses of sk_*_push which can fail due to out of memory - Fixed compile warning due to missing JNI_TRACE argument luni/src/main/java/org/apache/harmony/xnet/provider/jsse/NativeCrypto.java luni/src/main/native/NativeCrypto.cpp luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java Pass this into chooseServerAlias call as well in significantly revamped choseClientAlias luni/src/main/java/org/apache/harmony/xnet/provider/jsse/OpenSSLSocketImpl.java Minor code cleanup while reviewing diff between checkClientTrusted and checkServerTrusted luni/src/main/java/org/apache/harmony/xnet/provider/jsse/TrustManagerImpl.java Improvements to SSL test support to go along with client certificate and certificate chain changes. TestSSLContext now has separate contexts for the client and server (as well as seperate key stores information). TestKeyStore now is more realistic by default, creating a CA, intermediate CA, and separate client and server certificates, as well as a client keystore that simply contains the CA and no certificates. support/src/test/java/javax/net/ssl/TestKeyStore.java support/src/test/java/javax/net/ssl/TestSSLContext.java Tests tracking API changes. Tests involving cert chains now now updated to use TestKeyStore.assertChainLength to avoid hardwiring expected chain length in tests. These tests also now use TestSSLContext.assertClientCertificateChain to validate that the chain is properly constructed and trusted by a trust manager. luni/src/test/java/java/net/URLConnectionTest.java luni/src/test/java/javax/net/ssl/SSLContextTest.java luni/src/test/java/javax/net/ssl/SSLEngineTest.java luni/src/test/java/javax/net/ssl/SSLSessionContextTest.java luni/src/test/java/javax/net/ssl/SSLSessionTest.java luni/src/test/java/javax/net/ssl/SSLSocketTest.java support/src/test/java/java/security/StandardNames.java support/src/test/java/javax/net/ssl/TestSSLEnginePair.java support/src/test/java/javax/net/ssl/TestSSLSocketPair.java frameworks/base Tracking change of SSLContextImpl to OpenSSLContextImpl core/java/android/net/SSLCertificateSocketFactory.java core/java/android/net/http/HttpsConnection.java tests/CoreTests/android/core/SSLPerformanceTest.java tests/CoreTests/android/core/SSLSocketTest.java Tracking changes to TestSSLContext core/tests/coretests/src/android/net/http/HttpsThroughHttpProxyTest.java Change-Id: I792921617164a98467c500d7fe53dbd738adfa02
* import_openssl.sh improvements based on external/bouncycastle workBrian Carlstrom2010-06-171-49/+58
| | | | | | | | | | Tested with ./import_openssl.sh import .../openssl-1.0.0.tar.gz and confirmed no source changes Also added debug flags in android-config.mk for later use Change-Id: Idbfefe7bc16790060eb58c116b0961c195b3a087
* Fix for openssl-1.0.0 small_records.patchBrian Carlstrom2010-04-261-42/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | There were two issues with the first version of small_records.patch - the resize check was immediately after the size check, so the size check always failed before the resize happened. - openssl-1.0.0 needs extra space to be allocated for alignment patches/small_records.patch Regenerated file ssl/s3_pkt.c Added patch generatation support, as opposed to just regenerate when patches no longer apply on upgrade. Usage: import_openssl.sh generate <patch/foo.patch> <openssl-tarball.tar.gz> import_openssl.sh As part of "import_openssl.sh generate", moved definition of imported sources to openssl.config instead of wired in the code. openssl.config Add browser testing note with https://online.citibank.com README.android
* openssl-1.0.0 upgradeBrian Carlstrom2010-04-191-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | external/openssl Updated version to 1.0.0 openssl.version Updated small records patch for 1.0.0. This is probably the most significant change. patches/small_records.patch Removed bad_version.patch since fix is included in 0.9.8n and beyond patches/README patches/bad_version.patch openssl.config Changed import_openssl.sh to generate armv4 asm with the 1.0.0 scripts, not our backported 0.9.9-dev backported version in patches/arm-asm.patch. import_openssl.sh openssl.config patches/README patches/arm-asm.patch Added -DOPENSSL_NO_STORE to match ./Configure output Added -DOPENSSL_NO_WHIRLPOOL (no-whrlpool) to skip new optional cipher android-config.mk openssl.config Fixed import to remove include directory during import like other imported directories (apps, ssl, crypto) import_openssl.sh Updated UNNEEDED_SOURCES. Pruned Makefiles which we don't use. openssl.config Updated to build newly required files patches/apps_Android.mk patches/crypto_Android.mk Disable some new openssl tools patches/progs.patch Updated upgrade testing notes to include running BigInteger tests README.android Automatically imported android.testssl/ apps/ crypto/ e_os.h e_os2.h include/ ssl/ dalvik Change makeCipherList to skip SSLv2 ciphers that 1.0.0 now returns so there are not duplicate ciphersuite names in getEnabledCipherSuites. libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp Updated OpenSSLSocketImpl_cipherauthenticationmethod for new SSL_CIPHER algorithms -> algorithm_auth (and const-ness) libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp Update to const SSL_CIPHER in OpenSSLSessionImpl_getCipherSuite (and cipherauthenticationmethod) libcore/x-net/src/main/native/org_apache_harmony_xnet_provider_jsse_NativeCrypto.cpp test_EnabledCipherSuites on both SSLSocketTest and SSLServerSocketTest caught the makeCipherList problem. However the asserts where a bit out of sync and didn't give good messages because they didn't actually show what was going on. As part of debugging the issue they found, I tried to make align the asserts and improve their output for the future. libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLServerSocketTest.java libcore/x-net/src/test/java/tests/api/javax/net/ssl/SSLSocketTest.java vendor/google Add const to X509V3_EXT_METHOD* for 1.0.0 compatibility libraries/libjingle/talk/base/openssladapter.cc Change-Id: I608dbb2ecf4b7a15e13b3f3dcea7c0443ff01e32
* fix /mnt/sdcard to /sdcard in android.testsslBrian Carlstrom2010-03-221-3/+3
| | | | | | found when merging to dalvik-dev where test failed because of incorrect path Change-Id: Ib87af202fdf4027d8c133a27bd956227c6d741e6
* b/2522132 Native crash in sslRead()Brian Carlstrom2010-03-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Summary: - the small_records.patch finished code review today, importing final version - the native crash reflected an underling openssl issue, so we have a new patch for this Details: Adding new patch for b/2522132 crash patches/bad_version.patch Syncing small_records.patch with reviewed version patches/small_records.patch Adding new patch to the list of active patches openssl.config Adding description of the new bad_version.patch patches/README Minor test script changes - Added adb remount - Simplified /mnt/sdcard to /sdcard patches/testssl.sh Added trace message as each patch is applied so I could more easily confirm that the newly added bad_version.patch was applied. import_openssl.sh Automatically generated files: android.testssl/testssl.sh ssl/d1_pkt.c ssl/s3_both.c ssl/s3_pkt.c Change-Id: I1ca1b69d612ef425203074c58c031d6a681b92fe
* Summary: upgrading to openssl-0.9.8m and adding new testssl.shBrian Carlstrom2010-03-091-76/+171
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Testing Summary: - Passed new android.testssl/testssl.sh - General testing with BrowserActivity based program Details: Expanded detail in README.android about how to build and test openssl upgrades based on my first experience. modified: README.android Significant rework of import_openssl.sh script that does most of the work of the upgrade. Most of the existing code became the main and import functions. The newly regenerate code helps regenerate patch files, building on the fact that import now keeps and original unmodified read-only source tree for use for patch generation. Patch generation relies on additions to openssl.config for defining which patches include which files. Note that sometimes a file may be patched multiple times, in that case manual review is still necessary to prune the patch after auto-regeneration. Other enhancements to import_openssl.sh include generating android.testssl and printing Makefile defines for android-config.mk review. modified: import_openssl.sh Test support files for openssl/ Add support for building /system/bin/ssltest as test executible for use by testssl script. Need confirmation that this is the right way to define such a test binary. modified: patches/ssl_Android.mk Driver script that generates user and CA keys and certs on the device with /system/bin/openssl before running testssl. Based on openssl/test/testss for generation and openssl/test/Makefile test_ssl for test execution. new file: patches/testssl.sh Note all following android.testssl files are automatically imported from openssl, although possible with modifications by import_openssl.sh testssl script imported from openssl/test that does the bulk of the testing. Includes new tests patched in for our additions. new file: android.testssl/testssl CA and user certificate configuration files from openssl. Automatically imported from openssl/test/ new file: android.testssl/CAss.cnf new file: android.testssl/Uss.cnf certificate and key test file imported from openssl/apps new file: android.testssl/server2.pem Actual 0.9.8m upgrade specific bits Trying to bring ngm's small records support into 0.9.8m. Needs signoff by ngm although it does pass testing. modified: patches/small_records.patch Update openssl.config for 0.9.8m. Expanded lists of undeeded directories and files for easier update and review, adding new excludes. Also added new definitions to support "import_openssl.sh regenerate" for patch updating. modified: openssl.config Updated OPENSSL_VERSION to 0.9.8m modified: openssl.version Automatically imported/patched files. Seems like it could be further pruned in by openssl.config UNNEEDED_SOURCES, but extra stuff doesn't end up impacting device. modified: apps/... modified: crypto/... modified: include/... modified: ssl/... Other Android build stuff. Note for these patches/... is source, .../Android.mk is derived. Split LOCAL_CFLAGS additions into lines based on openssl/Makefile source for easier comparison when upgrading. I knowingly left the lines long and unwrapped for easy vdiff with openssl/Makefile modified: android-config.mk Removed local -DOPENSSL_NO_ECDH already in android-config.mk. modified: patches/apps_Android.mk Sync up with changes that had crept into derived crypto/Android.mk modified: patches/crypto_Android.mk Change-Id: I73204c56cdaccfc45d03a9c8088a6a93003d7ce6
* Add small_records.patch and handshake_cutthrough.patch.Nagendra Modadugu2009-10-011-8/+8
| | | | See patches/README for additional details.
* Upgrade to openssl-0.9.8k.Nagendra Modadugu2009-09-301-0/+99
The source tree (and the size of the compiled library) can be reduced further. This will be done in a future commit.