• Home
Name Date Size #Lines LOC

..--

apps/03-May-2024-39,86932,345

crypto/03-May-2024-259,660181,993

include/openssl/03-May-2024-30,42819,591

ssl/03-May-2024-45,06232,741

Android.mkD03-May-2024147 107

MODULE_LICENSE_BSD_LIKED03-May-20240

NOTICED03-May-20246.1 KiB128120

README.androidD03-May-20245.1 KiB145106

android-config.mkD03-May-2024598 102

e_os.hD03-May-202420.9 KiB686483

e_os2.hD03-May-20249.4 KiB280147

README.android

1Version Information
2---
3
4The code in this directory is based on 0.9.8h with patches from
5http://openssl.org/news/secadv_20090107.txt, and some backported OpenSSL code
6in crypto/0.9.9-dev.
7
8
9Porting New Versions of OpenSSL
10---
11
12The following steps are recommended for porting new OpenSSL versions.
13
14
15a) Run "./Configure linux-generic32 no-idea no-bf no-cast no-seed no-md2      \
16       -DL_ENDIAN"
17   in the openssl distribution directory.
18
19   (Ignore when the Configure scripts asks you to run "make depend".)
20
21
22b) Create an updated android-config.mk file by looking at CFLAG and DEPFLAG in
23   the Makefile resulting from step a.  Make sure to add all the -D flags to
24   LOCAL_CFLAGS, except -DTERMIO; include -DOPENSSL_NO_HW in addition to these.
25
26   (New OpenSSL releases may include additional code meant to be disabled by
27   default, so it's important not to miss any -DOPENSSL_NO_foo.
28   Usually these should be replicated in crypto/opensslconf.h, but let's not
29   take a chance.)
30
31
32c) Copy the new LICENSE file from OpenSSL distribution as NOTICE.
33   Create an empty MODULE_LICENSE_BSD_LIKE file.
34
35
36d) You may delete the following directories along with their contents,
37   since we won't use these (any more):
38
39     MacOS Netware VMS apps/demoCA apps/set bugs certs crypto/bf crypto/cast  \
40     crypto/cms crypto/idea crypto/md2 crypto/rc5 crypto/seed demos doc \
41     engines ms os2 perl shlib test times tools util
42
43   Also you may delete the following files:
44
45     CHANGES CHANGES.SSLeay ChangeLog.0_9_7-stable_not-in-head                \
46     ChangeLog.0_9_7-stable_not-in-head_FIPS Configure FAQ INSTALL            \
47     INSTALL.DJGPP INSTALL.MacOS INSTALL.NW INSTALL.OS2 INSTALL.VMS           \
48     INSTALL.W32 INSTALL.W64 INSTALL.WCE LICENSE Makefile Makefile.bak        \
49     Makefile.org Makefile.shared NEWS PROBLEMS README README.ASN1            \
50     README.ENGINE apps/CA.pl.bak config crypto/opensslconf.h.bak             \
51     install.com makevms.com openssl.doxy openssl.spec
52
53
54e) Go to include/openssl.  There's a bunch of symlinks here.  Since symlinks
55   can be a special case for version control, replace them by regular files:
56
57      for l in *.h; do cp $l copy_$l; rm $l; mv copy_$l $l; done
58
59   Some symlinks will remain, pointing to files that don't exit
60   (you deleted those in step d).  Delete the symlinks.
61
62
63f) Create Android.mk files based on those you find in the previous OpenSSL port:
64
65      Android.mk
66
67      apps/Android.mk
68      crypto/Android.mk
69      ssl/Android.mk
70
71   For the latter three, merge in any substantial changes between the
72   corresponding Makefiles in the OpenSSL distribution (apps/Makefile,
73   crypto/Makefile, crypto/*/Makefile, ssl/Makefile).
74   Don't forget to update the directory name for OpenSSL in these files
75   and whereever else it is used.
76
77
78g) Apply the patch found at the end of this file.
79
80
81h) Finally, create an updated version of this file (README.android)!
82
83
84
85
86Patch for apps directory:
87
88--- openssl-0.9.8h-ORIG/apps/progs.h
89+++ openssl-0.9.8h/apps/progs.h
90@@ -22,7 +22,9 @@
91 extern int x509_main(int argc,char *argv[]);
92 extern int genrsa_main(int argc,char *argv[]);
93 extern int gendsa_main(int argc,char *argv[]);
94+#if 0 /* ANDROID */
95 extern int s_server_main(int argc,char *argv[]);
96+#endif
97 extern int s_client_main(int argc,char *argv[]);
98 extern int speed_main(int argc,char *argv[]);
99 extern int s_time_main(int argc,char *argv[]);
100@@ -97,7 +99,9 @@
101 	{FUNC_TYPE_GENERAL,"gendsa",gendsa_main},
102 #endif
103 #if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3))
104-	{FUNC_TYPE_GENERAL,"s_server",s_server_main},
105+#if 0 /* ANDROID */
106+        {FUNC_TYPE_GENERAL,"s_server",s_server_main},
107+#endif
108 #endif
109 #if !defined(OPENSSL_NO_SOCK) && !(defined(OPENSSL_NO_SSL2) && defined(OPENSSL_NO_SSL3))
110 	{FUNC_TYPE_GENERAL,"s_client",s_client_main},
111diff -ur openssl-0.9.8h-ORIG/apps/speed.c openssl-0.9.8h/apps/speed.c
112--- openssl-0.9.8h-ORIG/apps/speed.c
113+++ openssl-0.9.8h/apps/speed.c
114@@ -108,12 +108,12 @@
115 #include <signal.h>
116 #endif
117
118-#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(OPENSSL_SYS_MACOSX)
119+#if defined(__FreeBSD__) || defined(__NetBSD__) || defined(__OpenBSD__) || defined(OPENSSL_SYS_MACOSX) || defined(HAVE_ANDROID_OS)
120 # define USE_TOD
121 #elif !defined(OPENSSL_SYS_MSDOS) && !defined(OPENSSL_SYS_VXWORKS) && (!defined(OPENSSL_SYS_VMS) || defined(__DECC))
122 # define TIMES
123 #endif
124-#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 */
125+#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 */
126 # define TIMEB
127 #endif
128
129@@ -1836,6 +1836,7 @@
130 			}
131 		}
132
133+#if 0 /* ANDROID */
134 	if (doit[D_IGE_128_AES])
135 		{
136 		for (j=0; j<SIZE_NUM; j++)
137@@ -1879,6 +1880,7 @@
138 			}
139 		}
140 #endif
141+#endif
142 #ifndef OPENSSL_NO_CAMELLIA
143 	if (doit[D_CBC_128_CML])
144 		{
145