components/openssl/openssl-1.0.1/patches/102-wanboot.patch
author Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
Fri, 10 Jul 2015 06:49:44 -0700
changeset 4616 eeaf5255cb21
parent 4370 7043c27399f1
permissions -rw-r--r--
21416447 Upgrade OpenSSL version to 1.0.1p 21416479 problem in LIBRARY/OPENSSL
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1752
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
     1
#
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
     2
# This patch file makes the changes neccessary to build wanboot-openssl.o
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
     3
# binary. This is Solaris-specific: not suitable for upstream.
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
     4
#
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
     5
--- openssl-1.0.0g/Makefile.org    2010-01-27 08:06:58.000000000 -0800
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
     6
+++ openssl-1.0.0g-1/Makefile.org    2012-03-26 03:04:08.440194448 -0700
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
     7
@@ -138,7 +138,13 @@
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
     8
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
     9
 BASEADDR=
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    10
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    11
+# For wanboot, we only need crypto and ssl.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    12
+# 'apps' are not patched to work in stand-alone environment anyway.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    13
+ifeq ($(PLATFORM), solaris64-sparcv9-cc-sunw-wanboot)
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    14
+DIRS=   crypto ssl
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    15
+else
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    16
 DIRS=   crypto ssl engines apps test tools
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    17
+endif
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    18
 ENGDIRS= ccgost
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    19
 SHLIBDIRS= crypto ssl
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    20
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    21
--- openssl-1.0.0g/Makefile    2012-01-18 05:42:28.000000000 -0800
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    22
+++ openssl-1.0.0g-1/Makefile    2012-03-26 03:03:59.170540344 -0700
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    23
@@ -137,7 +137,13 @@
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    24
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    25
 BASEADDR=0xFB00000
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    26
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    27
+# For wanboot, we only need crypto and ssl.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    28
+# 'apps' are not patched to work in stand-alone environment anyway.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    29
+ifeq ($(PLATFORM), solaris64-sparcv9-cc-sunw-wanboot)
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    30
+DIRS=   crypto ssl
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    31
+else
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    32
 DIRS=   crypto ssl engines apps test tools
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    33
+endif
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    34
 ENGDIRS= ccgost
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
    35
 SHLIBDIRS= crypto ssl
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    36
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    37
--- openssl-1.0.0e/crypto/cryptlib.c    2011-06-22 08:39:00.000000000 -0700
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    38
+++ openssl-1.0.0e_patched/crypto/cryptlib.c    2011-12-12 06:17:45.422476900 -0800
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    39
@@ -421,11 +421,13 @@
1752
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
    40
 static void solaris_locking_callback(int mode, int type, const char *file,
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
    41
     int line)
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    42
 {
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    43
+#ifndef    _BOOT
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    44
     if (mode & CRYPTO_LOCK) {
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    45
         pthread_mutex_lock(&solaris_openssl_locks[type]);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    46
     } else {
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    47
         pthread_mutex_unlock(&solaris_openssl_locks[type]);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    48
     }
1752
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
    49
+#endif
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    50
 }
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
    51
 
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
    52
 
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    53
@@ -435,6 +437,7 @@
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    54
 static struct CRYPTO_dynlock_value *
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    55
 solaris_dynlock_create(const char *file, int line)
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    56
 {
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    57
+#ifndef    _BOOT
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    58
     int                        ret;
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    59
     pthread_mutex_t    *dynlock;
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    60
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    61
@@ -447,6 +450,9 @@
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    62
     OPENSSL_assert(ret);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    63
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    64
     return ((struct CRYPTO_dynlock_value *)dynlock);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    65
+#else
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    66
+    return (NULL);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    67
+#endif
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    68
 }
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    69
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    70
 static void
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    71
@@ -453,6 +459,7 @@
4616
eeaf5255cb21 21416447 Upgrade OpenSSL version to 1.0.1p
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4370
diff changeset
    72
 solaris_dynlock_lock(int mode, struct CRYPTO_dynlock_value *dynlock,
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    73
     const char *file, int line)
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    74
 {
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    75
+#ifndef    _BOOT
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    76
     int        ret;
4616
eeaf5255cb21 21416447 Upgrade OpenSSL version to 1.0.1p
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4370
diff changeset
    77
 
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    78
     if (mode & CRYPTO_LOCK) {
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    79
@@ -462,6 +469,7 @@
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    80
     }
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    81
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    82
     OPENSSL_assert(ret == 0);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    83
+#endif
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    84
 }
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    85
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    86
 static void
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    87
@@ -468,9 +476,11 @@
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    88
 solaris_dynlock_destroy(struct CRYPTO_dynlock_value *dynlock,
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    89
     const char *file, int line)
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    90
 {
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    91
+#ifndef    _BOOT
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    92
     int ret;
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    93
     ret = pthread_mutex_destroy((pthread_mutex_t *)dynlock);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    94
     OPENSSL_assert(ret);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    95
+#endif
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    96
 }
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    97
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    98
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
    99
@@ -514,6 +524,12 @@
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   100
     }
1752
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
   101
 
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   102
     /*
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   103
+     * pthread_* can't be used in wanboot.
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   104
+     * wanboot needs not be thread-safe and mutexes and locking callback
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   105
+     * function will not be setup for wanboot.
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   106
+     */
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   107
+#ifndef    _BOOT
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   108
+    /*
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   109
      * Set atfork handler so that child can setup its own mutexes and
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   110
      * locking callbacks when it is forked
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   111
      */
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   112
@@ -534,7 +550,7 @@
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   113
         pthread_mutex_init(&solaris_openssl_locks[i], NULL);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   114
     }
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   115
     locking_callback = solaris_locking_callback;
1752
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
   116
-
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
   117
+#endif
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   118
 }
1752
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
   119
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   120
 void CRYPTO_set_locking_callback(void (*func) (int mode, int type,
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   121
@@ -1084,6 +1100,12 @@
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   122
         MessageBox(NULL, buf, _T("OpenSSL: FATAL"), MB_OK | MB_ICONSTOP);
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   123
 }
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   124
 #else
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   125
+/*
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   126
+ * Solaris libsa.a used for WAN boot doesn't provide for vfprintf(). Since
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   127
+ * OPENSSL_showfatal() is not used anywhere else then here we can safely use
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   128
+ * the code from 0.9.7d version.
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   129
+ */
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   130
+#ifndef    _BOOT
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   131
 void OPENSSL_showfatal(const char *fmta, ...)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   132
 {
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   133
     va_list ap;
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   134
@@ -1092,6 +1114,7 @@
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   135
     vfprintf(stderr, fmta, ap);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   136
     va_end(ap);
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   137
 }
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   138
+#endif    /* _BOOT */
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   139
 
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   140
 int OPENSSL_isservice(void)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   141
 {
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   142
@@ -1101,9 +1124,15 @@
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   143
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   144
 void OpenSSLDie(const char *file, int line, const char *assertion)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   145
 {
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   146
+#ifndef    _BOOT        
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   147
     OPENSSL_showfatal
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   148
         ("%s(%d): OpenSSL internal error, assertion failed: %s\n", file, line,
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   149
          assertion);
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   150
+#else
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   151
+    fprintf(stderr,
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   152
+        "%s(%d): OpenSSL internal error, assertion failed: %s\n",
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   153
+        file,line,assertion);
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   154
+#endif    
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   155
 #if !defined(_WIN32) || defined(__CYGWIN__)
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   156
     abort();
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   157
 #else
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   158
--- openssl-1.0.0e/crypto/err/err_all.c    2009-08-09 07:58:05.000000000 -0700
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   159
+++ openssl-1.0.0e_patched/crypto/err/err_all.c    2011-12-13 05:22:01.205351400 -0800
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   160
@@ -148,7 +148,9 @@
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   161
     ERR_load_X509V3_strings();
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   162
     ERR_load_PKCS12_strings();
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   163
     ERR_load_RAND_strings();
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   164
+#ifndef _BOOT
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   165
     ERR_load_DSO_strings();
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   166
+#endif /* _BOOT */
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   167
     ERR_load_TS_strings();
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   168
 # ifndef OPENSSL_NO_ENGINE
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   169
     ERR_load_ENGINE_strings();
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   170
--- openssl-1.0.0e/crypto/evp/evp_key.c    2010-03-27 12:27:50.000000000 -0700
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   171
+++ openssl-1.0.0e_patched/crypto/evp/evp_key.c    2011-12-13 05:19:32.956908600 -0800
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   172
@@ -83,7 +83,7 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   173
     else
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   174
         return (prompt_string);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   175
 }
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   176
-
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   177
+#ifndef    _BOOT
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   178
 /*
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   179
  * For historical reasons, the standard function for reading passwords is in
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   180
  * the DES library -- if someone ever wants to disable DES, this function
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   181
@@ -115,6 +115,7 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   182
     OPENSSL_cleanse(buff, BUFSIZ);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   183
     return ret;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   184
 }
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   185
+#endif    /* !_BOOT */
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   186
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   187
 int EVP_BytesToKey(const EVP_CIPHER *type, const EVP_MD *md,
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   188
                    const unsigned char *salt, const unsigned char *data,
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   189
--- openssl-1.0.0e/crypto/rand/rand_unix.c    2009-04-06 07:31:36.000000000 -0700
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   190
+++ openssl-1.0.0e_patched/crypto/rand/rand_unix.c    2011-12-19 07:28:39.988944800 -0800
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   191
@@ -122,7 +122,11 @@
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   192
 # include <sys/time.h>
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   193
 # include <sys/times.h>
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   194
 # include <sys/stat.h>
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   195
+#ifdef    _BOOT
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   196
+# include <sys/fcntl.h>
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   197
+#else
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   198
 # include <fcntl.h>
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   199
+#endif
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   200
 # include <unistd.h>
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   201
 # include <time.h>
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   202
 # if defined(OPENSSL_SYS_LINUX) /* should actually be available virtually
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   203
@@ -259,6 +263,11 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   204
     const char **egdsocket = NULL;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   205
 #  endif
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   206
 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   207
+#ifdef _BOOT
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   208
+/* open() is provided by standalone libsa not visible from here */
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   209
+extern int open(const char *, int);
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   210
+#endif
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   211
+
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   212
 #  ifdef DEVRANDOM
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   213
     memset(randomstats, 0, sizeof(randomstats));
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   214
     /*
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   215
@@ -307,11 +316,15 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   216
             do {
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   217
                 int try_read = 0;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   218
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   219
-#   if defined(OPENSSL_SYS_BEOS_R5)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   220
+#   if defined(OPENSSL_SYS_BEOS_R5) || defined(_BOOT)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   221
                 /*
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   222
                  * select() is broken in BeOS R5, so we simply try to read
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   223
                  * something and snooze if we couldn't
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   224
                  */
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   225
+               /*
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   226
+                * select() is not available when linking stand-alone
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   227
+                * library for wanboot
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   228
+                */
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   229
                 try_read = 1;
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   230
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   231
 #   elif defined(OPENSSL_SYS_LINUX)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   232
@@ -365,6 +378,7 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   233
                 } else
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   234
                     r = -1;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   235
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   236
+#ifndef        _BOOT
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   237
                 /*
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   238
                  * Some Unixen will update t in select(), some won't.  For
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   239
                  * those who won't, or if we didn't use select() in the first
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   240
@@ -377,13 +391,17 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   241
             while ((r > 0 ||
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   242
                     (errno == EINTR || errno == EAGAIN)) && usec != 0
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   243
                    && n < ENTROPY_NEEDED);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   244
+#else  /* _BOOT */
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   245
+            }
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   246
+            while (r > 0 && n < ENTROPY_NEEDED);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   247
+#endif /* _BOOT */
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   248
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   249
             close(fd);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   250
         }
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   251
     }
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   252
 #  endif                        /* defined(DEVRANDOM) */
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   253
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   254
-#  ifdef DEVRANDOM_EGD
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   255
+#  if defined(DEVRANDOM_EGD) && !defined(_BOOT)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   256
     /*
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   257
      * Use an EGD socket to read entropy from an EGD or PRNGD entropy
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   258
      * collecting daemon.
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   259
@@ -407,6 +424,7 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   260
     }
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   261
 #  endif
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   262
 
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   263
+#ifndef    _BOOT
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   264
     /* put in some default random data, we need more than just this */
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   265
     l = curr_pid;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   266
     RAND_add(&l, sizeof(l), 0.0);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   267
@@ -415,6 +433,7 @@
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   268
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   269
     l = time(NULL);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   270
     RAND_add(&l, sizeof(l), 0.0);
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   271
+#endif /* !_BOOT */    
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   272
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   273
 #  if defined(OPENSSL_SYS_BEOS)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   274
     {
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   275
--- openssl-1.0.0e/crypto/rand/randfile.c    2011-03-19 02:44:37.000000000 -0700
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   276
+++ openssl-1.0.0e_patched/crypto/rand/randfile.c    2011-12-13 05:26:51.884824200 -0800
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   277
@@ -57,9 +57,11 @@
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   278
  */
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   279
 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   280
 /* We need to define this to get macros like S_IFBLK and S_IFCHR */
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   281
+#ifndef    _BOOT
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   282
 #if !defined(OPENSSL_SYS_VXWORKS)
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   283
 # define _XOPEN_SOURCE 500
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   284
 #endif
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   285
+#endif    /* _BOOT */
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   286
 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   287
 #include <errno.h>
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   288
 #include <stdio.h>
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   289
@@ -191,6 +193,7 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   290
     return (ret);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   291
 }
2041
3426b4846b15 19385782 Upgrade OpenSSL version to 1.0.1i
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1752
diff changeset
   292
 
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   293
+#ifndef    _BOOT
2041
3426b4846b15 19385782 Upgrade OpenSSL version to 1.0.1i
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1752
diff changeset
   294
 int RAND_write_file(const char *file)
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   295
 {
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   296
     unsigned char buf[BUFSIZE];
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   297
@@ -335,3 +338,5 @@
2041
3426b4846b15 19385782 Upgrade OpenSSL version to 1.0.1i
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1752
diff changeset
   298
 #endif
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   299
     return (buf);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   300
 }
2041
3426b4846b15 19385782 Upgrade OpenSSL version to 1.0.1i
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1752
diff changeset
   301
+
3426b4846b15 19385782 Upgrade OpenSSL version to 1.0.1i
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1752
diff changeset
   302
+#endif /* _BOOT */
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   303
--- openssl-1.0.0e/crypto/x509v3/v3_utl.c    2009-07-27 14:08:53.000000000 -0700
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   304
+++ openssl-1.0.0e_patched/crypto/x509v3/v3_utl.c    2011-12-13 05:10:08.844191400 -0800
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   305
@@ -715,9 +715,50 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   306
     }
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   307
 }
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   308
 
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   309
+#if    defined(_BOOT)
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   310
+/* This function was copied from bio/b_sock.c */
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   311
+static int get_ip(const char *str, unsigned char ip[4])
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   312
+{
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   313
+    unsigned int tmp[4];
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   314
+    int num = 0, c, ok = 0;
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   315
+
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   316
+    tmp[0]=tmp[1]=tmp[2]=tmp[3]=0;
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   317
+
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   318
+    for (;;) {
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   319
+        c = *(str++);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   320
+        if ((c >= '0') && (c <= '9')) {
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   321
+            ok = 1;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   322
+            tmp[num] = tmp[num]*10+c-'0';
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   323
+            if (tmp[num] > 255)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   324
+                return(0);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   325
+        } else if (c == '.') {
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   326
+            if (!ok)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   327
+                return (-1);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   328
+            if (num == 3)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   329
+                return (0);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   330
+            num++;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   331
+            ok = 0;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   332
+        } else if (c == '\0' && (num == 3) && ok)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   333
+            break;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   334
+        else
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   335
+            return(0);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   336
+        }
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   337
+    ip[0]=tmp[0];
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   338
+    ip[1]=tmp[1];
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   339
+    ip[2]=tmp[2];
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   340
+    ip[3]=tmp[3];
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   341
+    return(1);
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   342
+}
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   343
+#endif /* _BOOT */
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   344
+
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   345
 static int ipv4_from_asc(unsigned char *v4, const char *in)
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   346
 {
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   347
     int a0, a1, a2, a3;
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   348
+
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   349
+#if    defined(_BOOT)
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   350
+    if (get_ip(in, v4) != 1)
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   351
+        return 0;
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   352
+#else    /* _BOOT */
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   353
     if (sscanf(in, "%d.%d.%d.%d", &a0, &a1, &a2, &a3) != 4)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   354
         return 0;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   355
     if ((a0 < 0) || (a0 > 255) || (a1 < 0) || (a1 > 255)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   356
@@ -727,6 +768,7 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   357
     v4[1] = a1;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   358
     v4[2] = a2;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   359
     v4[3] = a3;
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   360
+#endif    /* _BOOT */
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   361
     return 1;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   362
 }
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   363
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   364
--- openssl-1.0.0e/e_os.h    2011-12-19 04:17:51.631087400 -0800
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   365
+++ openssl-1.0.0e_patched/e_os.h    2011-12-19 04:15:15.776668900 -0800
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   366
@@ -213,10 +213,19 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   367
 #  define get_last_socket_error() errno
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   368
 #  define clear_socket_error()    errno=0
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   369
 #  define ioctlsocket(a,b,c)      ioctl(a,b,c)
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   370
+#ifdef    _BOOT
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   371
+#include <netinet/in.h>
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   372
+extern int socket_read(int, void *, size_t, int);
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   373
+extern int socket_close(int);
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   374
+#  define closesocket(s)          socket_close(s)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   375
+#  define readsocket(s,b,n)       socket_read((s),(b),(n), 200)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   376
+#  define writesocket(s,b,n)      send((s),(b),(n), 0)
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   377
+#else  /* !_BOOT */
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   378
 #  define closesocket(s)          close(s)
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   379
 #  define readsocket(s,b,n)       read((s),(b),(n))
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   380
 #  define writesocket(s,b,n)      write((s),(b),(n))
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   381
 # endif
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   382
+#endif
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   383
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   384
 # ifdef WIN16                   /* never the case */
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   385
 #  define MS_CALLBACK   _far _loadds
4370
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   386
--- openssl-1.0.0e/crypto/sparcv9cap.c	2010-09-05 12:48:01.000000000 -0700
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   387
+++ openssl-1.0.0e_patched/crypto/sparcv9cap.c	2011-12-23 05:24:02.011607700 -0800
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   388
@@ -13,7 +13,11 @@
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   389
 #define SPARCV9_FMADD           (1<<4) /* reserved for SPARC64 V */
4370
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   390
 #define SPARCV9_BLK             (1<<5)
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   391
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   392
+#ifndef        _BOOT
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   393
 static int OPENSSL_sparcv9cap_P = SPARCV9_TICK_PRIVILEGED;
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   394
+#else
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   395
+static int OPENSSL_sparcv9cap_P = SPARCV9_VIS1;
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   396
+#endif
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   397
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   398
 int bn_mul_mont(BN_ULONG *rp, const BN_ULONG *ap, const BN_ULONG *bp,
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   399
                 const BN_ULONG *np, const BN_ULONG *n0, int num)
4370
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   400
@@ -34,6 +38,7 @@
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   401
 unsigned long _sparcv9_rdtick(void);
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   402
 unsigned long _sparcv9_vis1_instrument(void);
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   403
 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   404
+#ifndef _BOOT
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   405
 unsigned long OPENSSL_rdtsc(void)
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   406
 {
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   407
     if (OPENSSL_sparcv9cap_P & SPARCV9_TICK_PRIVILEGED)
4370
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   408
@@ -45,8 +50,19 @@
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   409
     else
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   410
         return _sparcv9_rdtick();
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   411
 }
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   412
+#endif
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   413
+
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   414
+#if defined(_BOOT)
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   415
+/*
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   416
+ * Hardcoding sparc capabilities for wanboot.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   417
+ * Older CPUs are EOLed anyway.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   418
+ */
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   419
+void OPENSSL_cpuid_setup(void)
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   420
+       {
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   421
+       OPENSSL_sparcv9cap_P = SPARCV9_VIS1;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   422
+       }
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   423
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   424
-#if 0 && defined(__sun) && defined(__SVR4)
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   425
+#elif 0 && defined(__sun) && defined(__SVR4)
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   426
 /*
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   427
  * This code path is disabled, because of incompatibility of libdevinfo.so.1
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   428
  * and libmalloc.so.1 (see below for details)
4370
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   429
--- openssl-1.0.0e/crypto/sparccpuid.S	2010-09-05 12:48:01.000000000 -0700
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   430
+++ openssl-1.0.0e_patched/crypto/sparccpuid.S	2012-02-13 07:42:58.259478325 -0800
7043c27399f1 19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4366
diff changeset
   431
@@ -369,8 +369,13 @@
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   432
 .type	OPENSSL_cleanse,#function
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   433
 .size	OPENSSL_cleanse,.-OPENSSL_cleanse
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   434
 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   435
+#ifndef _BOOT
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   436
 .section	".init",#alloc,#execinstr
1752
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
   437
 	call	solaris_locking_setup
84e093c079e2 PSARC/2014/077 OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1680
diff changeset
   438
 	nop
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   439
 	call	OPENSSL_cpuid_setup
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   440
 	nop
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   441
+#else
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   442
+	nop
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   443
+	nop
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   444
+#endif
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   445
--- openssl-1.0.1c/crypto/Makefile      Thu Aug  2 12:56:38 2012
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   446
+++ openssl-1.0.1c/crypto/Makefile.new  Thu Aug  2 12:59:43 2012
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   447
@@ -36,9 +36,9 @@
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   448
 LIB= $(TOP)/libcrypto.a
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   449
 SHARED_LIB= libcrypto$(SHLIB_EXT)
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   450
 LIBSRC=	cryptlib.c mem.c mem_clr.c mem_dbg.c cversion.c ex_data.c cpt_err.c \
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   451
-	ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   452
+	ebcdic.c uid.c o_time.c o_str.c o_dir.c o_fips.c o_init.c fips_ers.c wanboot-stubs.c
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   453
 LIBOBJ= cryptlib.o mem.o mem_dbg.o cversion.o ex_data.o cpt_err.o ebcdic.o \
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   454
-	uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o fips_ers.o $(CPUID_OBJ)
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   455
+	uid.o o_time.o o_str.o o_dir.o o_fips.o o_init.o fips_ers.o wanboot-stubs.o $(CPUID_OBJ)
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   456
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents:
diff changeset
   457
 SRC= $(LIBSRC)
1158
227137d9fbce PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
   458
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1158
diff changeset
   459
--- openssl-1.0.1f/ssl/s3_clnt.c    Thu Jan 30 02:53:33 2014
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1158
diff changeset
   460
+++ openssl-1.0.1f/ssl/s3_clnt.c.new   Thu Jan 30 02:57:51 2014
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   461
@@ -668,7 +668,11 @@
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1158
diff changeset
   462
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   463
         p = s->s3->client_random;
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   464
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   465
+#ifndef    _BOOT
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   466
         if (ssl_fill_hello_random(s, 0, p, SSL3_RANDOM_SIZE) <= 0)
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1158
diff changeset
   467
+#else
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   468
+        if (RAND_pseudo_bytes(p,SSL3_RANDOM_SIZE) <= 0)
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1158
diff changeset
   469
+#endif
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   470
             goto err;
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1158
diff changeset
   471
 
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   472
         /* Do the message type and length last */
2156
47340bc31385 19823263 Upgrade OpenSSL to 1.0.1j
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2041
diff changeset
   473
--- openssl-1.0.1f/ssl/s3_lib.c       Wed Oct 15 11:18:30 2014
47340bc31385 19823263 Upgrade OpenSSL to 1.0.1j
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2041
diff changeset
   474
+++ openssl-1.0.1f/ssl/s3_lib.c.new    Wed Oct 15 11:20:07 2014
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   475
@@ -3343,7 +3343,11 @@
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   476
          * Apparently we're using a version-flexible SSL_METHOD (not at its
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   477
          * highest protocol version).
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   478
          */
4366
8e8f535e48a5 PSARC/2015/043 Further OpenSSL Thread and Fork Safety
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 4002
diff changeset
   479
+#ifndef    _BOOT
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   480
         if (s->ctx->method->version == SSLv23_method()->version) {
2156
47340bc31385 19823263 Upgrade OpenSSL to 1.0.1j
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2041
diff changeset
   481
+#else
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   482
+        if (s->ctx->method->version == TLS1_2_VERSION) {
2156
47340bc31385 19823263 Upgrade OpenSSL to 1.0.1j
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2041
diff changeset
   483
+#endif
47340bc31385 19823263 Upgrade OpenSSL to 1.0.1j
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2041
diff changeset
   484
 #if TLS_MAX_VERSION != TLS1_2_VERSION
4002
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   485
 # error Code needs update for SSLv23_method() support beyond TLS1_2_VERSION.
95b8f35fcdd5 20735615 Upgrade OpenSSL version to 1.0.1m
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 2156
diff changeset
   486
 #endif