summaryrefslogtreecommitdiffstats
path: root/README.android
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:30:25 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2009-03-03 19:30:25 -0800
commit656d9c7f52f88b3a3daccafa7655dec086c4756e (patch)
tree4d3a62c7ef7dc41757691f2418534793be4c7cd4 /README.android
parentd2cbe6ee0fd4269543a9a243f2b0963ce6f46280 (diff)
downloadreplicant_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.android142
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])
+ {