diff options
author | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:25 -0800 |
---|---|---|
committer | The Android Open Source Project <initial-contribution@android.com> | 2009-03-03 19:30:25 -0800 |
commit | 656d9c7f52f88b3a3daccafa7655dec086c4756e (patch) | |
tree | 4d3a62c7ef7dc41757691f2418534793be4c7cd4 /README.android | |
parent | d2cbe6ee0fd4269543a9a243f2b0963ce6f46280 (diff) | |
download | replicant_openssl-656d9c7f52f88b3a3daccafa7655dec086c4756e.zip replicant_openssl-656d9c7f52f88b3a3daccafa7655dec086c4756e.tar.gz replicant_openssl-656d9c7f52f88b3a3daccafa7655dec086c4756e.tar.bz2 |
auto import from //depot/cupcake/@135843
Diffstat (limited to 'README.android')
-rw-r--r-- | README.android | 142 |
1 files changed, 142 insertions, 0 deletions
diff --git a/README.android b/README.android new file mode 100644 index 0000000..cf4fbe7 --- /dev/null +++ b/README.android @@ -0,0 +1,142 @@ +Version Information +--- + +The code in this directory is based on 0.9.8h with patches from +http://openssl.org/news/secadv_20090107.txt. + + +Porting New Versions of OpenSSL +--- + +The following steps are recommended for porting new OpenSSL versions. + + +a) Run "./Configure linux-generic32 no-idea no-bf no-cast no-seed -DL_ENDIAN" + in the openssl distribution directory. + + (Ignore when the Configure scripts asks you to run "make depend".) + + +b) Create an updated android-config.mk file by looking at CFLAG and DEPFLAG in + the Makefile resulting from step a. Make sure to add all the -D flags to + LOCAL_CFLAGS, except -DTERMIO; include -DOPENSSL_NO_HW in addition to these. + + (New OpenSSL releases may include additional code meant to be disabled by + default, so it's important not to miss any -DOPENSSL_NO_foo. + Usually these should be replicated in crypto/opensslconf.h, but let's not + take a chance.) + + +c) Copy the new LICENSE file from OpenSSL distribution as NOTICE. + Create an empty MODULE_LICENSE_BSD_LIKE file. + + +d) You may delete the following directories along with their contents, + since we won't use these (any more): + + MacOS Netware VMS apps/demoCA apps/set bugs certs crypto/bf crypto/cast \ + crypto/cms crypto/idea crypto/rc5 crypto/seed demos doc engines ms os2 \ + perl shlib test times tools util + + Also you may delete the following files: + + CHANGES CHANGES.SSLeay ChangeLog.0_9_7-stable_not-in-head \ + ChangeLog.0_9_7-stable_not-in-head_FIPS Configure FAQ INSTALL \ + INSTALL.DJGPP INSTALL.MacOS INSTALL.NW INSTALL.OS2 INSTALL.VMS \ + INSTALL.W32 INSTALL.W64 INSTALL.WCE LICENSE Makefile Makefile.bak \ + Makefile.org Makefile.shared NEWS PROBLEMS README README.ASN1 \ + README.ENGINE apps/CA.pl.bak config crypto/opensslconf.h.bak \ + install.com makevms.com openssl.doxy openssl.spec + + +e) Go to include/openssl. There's a bunch of symlinks here. Since symlinks + can be a special case for version control, replace them by regular files: + + for l in *.h; do cp $l copy_$l; rm $l; mv copy_$l $l; done + + Some symlinks will remain, pointing to files that don't exit + (you deleted those in step d). Delete the symlinks. + + +f) Create Android.mk files based on those you find in the previous OpenSSL port: + + Android.mk + + apps/Android.mk + crypto/Android.mk + ssl/Android.mk + + For the latter three, merge in any substantial changes between the + corresponding Makefiles in the OpenSSL distribution (apps/Makefile, + crypto/Makefile, crypto/*/Makefile, ssl/Makefile). + Don't forget to update the directory name for OpenSSL in these files + and whereever else it is used. + + +g) Apply the patch found at the end of this file. + + +h) Finally, create an updated version of this file (README.android)! + + + + +Patch for apps directory: + +--- openssl-0.9.8h-ORIG/apps/progs.h ++++ openssl-0.9.8h/apps/progs.h +@@ -22,7 +22,9 @@ + extern int x509_main(int argc,char *argv[]); + extern int genrsa_main(int argc,char *argv[]); + extern int gendsa_main(int argc,char *argv[]); ++#if 0 /* ANDROID */ + extern int s_server_main(int argc,char *argv[]); ++#endif + extern int s_client_main(int argc,char *argv[]); + extern int speed_main(int argc,char *argv[]); + extern int s_time_main(int argc,char *argv[]); +@@ -97,7 +99,9 @@ + {FUNC_TYPE_GENERAL,"gendsa",gendsa_main}, + #endif + #if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3)) +- {FUNC_TYPE_GENERAL,"s_server",s_server_main}, ++#if 0 /* ANDROID */ ++ {FUNC_TYPE_GENERAL,"s_server",s_server_main}, ++#endif + #endif + #if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3)) + {FUNC_TYPE_GENERAL,"s_client",s_client_main}, +diff -ur openssl-0.9.8h-ORIG/apps/speed.c openssl-0.9.8h/apps/speed.c +--- openssl-0.9.8h-ORIG/apps/speed.c ++++ openssl-0.9.8h/apps/speed.c +@@ -108,12 +108,12 @@ + #include <signal.h> + #endif + +-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(OPENSSL_SYS_MACOSX) ++#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(OPENSSL_SYS_MACOSX) || defined(HAVE_ANDROID_OS) + # define USE_TOD + #elif !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VXWORKS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC)) + # define TIMES + #endif +-#if !defined(_UNICOS) && !defined(__OpenBSD__) && !defined(sgi) && !defined(__FreeBSD__) && !(defined(__bsdi) || defined(__bsdi__)) && !defined(_AIX) && !defined(OPENSSL_SYS_MPE) && !defined(__NetBSD__) && !defined(OPENSSL_SYS_VXWORKS) /* FIXME */ ++#if !defined(_UNICOS) && !defined(__OpenBSD__) && !defined(sgi) && !defined(__FreeBSD__) && !(defined(__bsdi) || defined(__bsdi__)) && !defined(_AIX) && !defined(OPENSSL_SYS_MPE) && !defined(__NetBSD__) && !defined(OPENSSL_SYS_VXWORKS) && !defined(HAVE_ANDROID_OS) /* FIXME */ + # define TIMEB + #endif + +@@ -1836,6 +1836,7 @@ + } + } + ++#if 0 /* ANDROID */ + if (doit[D_IGE_128_AES]) + { + for (j=0; j<SIZE_NUM; j++) +@@ -1879,6 +1880,7 @@ + } + } + #endif ++#endif + #ifndef OPENSSL_NO_CAMELLIA + if (doit[D_CBC_128_CML]) + { |