components/openssl/README
author Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
Thu, 28 May 2015 09:54:36 -0700
changeset 4370 7043c27399f1
parent 2180 bc1340c26305
child 4822 1fb8a14c6702
permissions -rw-r--r--
19375978 Common code between openssl-1.0.1 and openssl-1.0.1-fips-140 should be shared
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
363
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
     1
#
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
     2
# CDDL HEADER START
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
     3
#
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
     4
# The contents of this file are subject to the terms of the
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
     5
# Common Development and Distribution License (the "License").
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
     6
# You may not use this file except in compliance with the License.
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
     7
#
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
     8
# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
     9
# or http://www.opensolaris.org/os/licensing.
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    10
# See the License for the specific language governing permissions
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    11
# and limitations under the License.
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    12
#
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    13
# When distributing Covered Code, include this CDDL HEADER in each
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    14
# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    15
# If applicable, add the following below this CDDL HEADER, with the
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    16
# fields enclosed by brackets "[]" replaced with your own identifying
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    17
# information: Portions Copyright [yyyy] [name of copyright owner]
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    18
#
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    19
# CDDL HEADER END
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    20
#
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: 2180
diff changeset
    21
# Copyright (c) 2009, 2015, Oracle and/or its affiliates. All rights reserved.
363
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    22
#
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    23
1267
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    24
363
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    25
Build Layout
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    26
---
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    27
1596
59869c4257d0 PSARC/2013/383 OpenSSL FIPS 140-2 version update
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1587
diff changeset
    28
OpenSSL build is run four times. Once for regular dynamic 1.0.1 non-fips, once 
59869c4257d0 PSARC/2013/383 OpenSSL FIPS 140-2 version update
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1587
diff changeset
    29
for static 1.0.1 bits to link with standalone wanboot binary, once for 1.0.1
59869c4257d0 PSARC/2013/383 OpenSSL FIPS 140-2 version update
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1587
diff changeset
    30
fips-140, and once for 1.0.1 FIPS-140 canister (in the openssl-fips component)
59869c4257d0 PSARC/2013/383 OpenSSL FIPS 140-2 version update
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1587
diff changeset
    31
needed to build 1.0.1 FIPS-140 certified libraries. All builds apart from 
745
09fd85317532 7141635 Deliver wanboot-openssl.o for wanboot
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 426
diff changeset
    32
static libraries for wanboot are done for 32 and 64 bits. So, in total, OpenSSL
2180
bc1340c26305 19789902 pkcs11 engine dumps core when the softtoken is disabled
Ivo Raisr <ivo.raisr@oracle.com>
parents: 2041
diff changeset
    33
is built seven times. OpenSSL for wanboot is only built on sparc.
363
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    34
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    35
See also comments in all the Makefiles for more information.
363
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    36
1267
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    37
OpenSSL Version
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    38
---
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    39
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1596
diff changeset
    40
For non-FIPS build, we currently deliver OpenSSL 1.0.1 with some updates
1267
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    41
from OpenSSL 1.0.2 to make T4 instructions embedded in the OpenSSL
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    42
upstream code.  As of April 2013, 1.0.2 is not yet released, and therefore,
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    43
we have decided to patch the code.
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    44
The following files/code are copied in from 1.0.2.
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    45
added:
1382
3515c1afdfc8 PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1267
diff changeset
    46
   components/openssl/openssl-1.0.1/inline-t4/aest4-sparcv9.pl
3515c1afdfc8 PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1267
diff changeset
    47
   components/openssl/openssl-1.0.1/inline-t4/dest4-sparcv9.pl
1267
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    48
   components/openssl/openssl-1.0.1/inline-t4/md5-sparcv9.pl
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    49
   components/openssl/openssl-1.0.1/inline-t4/sparc_arch.h
1382
3515c1afdfc8 PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1267
diff changeset
    50
   components/openssl/openssl-1.0.1/inline-t4/sparct4-mont.pl
3515c1afdfc8 PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1267
diff changeset
    51
   components/openssl/openssl-1.0.1/inline-t4/sparcv9_modes.pl
3515c1afdfc8 PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1267
diff changeset
    52
   components/openssl/openssl-1.0.1/inline-t4/sparcv9-gf2m.pl
3515c1afdfc8 PSARC 2013/034 OpenSSL 1.0.1
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1267
diff changeset
    53
   components/openssl/openssl-1.0.1/inline-t4/vis3-mont.pl
1267
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    54
   components/openssl/openssl-1.0.1/patches/openssl-t4-inline.sparc-patch
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    55
3d7359ef8168 15824599 SUNBT7206151 T4 hash should be embedded in the OpenSSL upstream src
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 763
diff changeset
    56
363
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    57
The non-fips Build.
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    58
---
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    59
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: 2180
diff changeset
    60
The non-fips build is the 'default' build of OpenSSL and includes the regular
363
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    61
binaries, libraries, man pages, and header files.
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    62
1884
d1a47da60382 17799549 libcrypto openssl incorrect size for libcrypto.so.1.0.0`_sparcv9_random
jenny.yung@oracle.com <jenny.yung@oracle.com>
parents: 1680
diff changeset
    63
363
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    64
The fips Build
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    65
---
9c0cad004039 7039910 move OpenSSL from SFW to Userland gate
Jan Pechanec <Jan.Pechanec@Oracle.COM>
parents:
diff changeset
    66
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1596
diff changeset
    67
We are now shipping FIPS-140 certified OpenSSL 1.0.1 with S12 and S11.2.
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1596
diff changeset
    68
The admin may choose to activate 'openssl-fips' implementation using 'pkg mediator'.
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    69
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    70
The wanboot Build
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    71
----
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    72
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    73
There are some significant differences when building OpenSSL for wanboot.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    74
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    75
Some additional Configuration options are needed:
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    76
-DNO_CHMOD		chmod not available in stand-alone environment
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    77
-DBOOT			guard for wanboot specific patches
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    78
-DOPENSSL_NO_DTLS1	to avoid dtls1_min_mtu() - DTLS not used anyway
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    79
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    80
List of object files for wanboot-openssl.o
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    81
----
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    82
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    83
At this moment, object files for wanboot-openssl.o need to be listed explicitly.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    84
This is cumbersome and relatively tedious with respect to upgrading to higher
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    85
version of openssl. 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    86
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    87
In future, it would be nice, if this could be performed automatically by the
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    88
linker. The required interface for wanboot is already defined in a mapfile and
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    89
linker option '-zdiscard-unused=sections,files' is already used to discard
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    90
unused code. 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    91
But sadly, at this moment when the linker is given all the object files, it
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    92
correctly discards some unused files, but references to undefined symbols from
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    93
the discarded files don't get discarded along. Later, these undefined references
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    94
cause wanboot linking failure. 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    95
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    96
In order to determine which openssl object files are required for wanboot,
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    97
first build static standalone openssl bits in Userland. As a site effect,
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    98
static libraries libssl.a and libcrypto.a are created in build/sparcv9-wanboot.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
    99
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1596
diff changeset
   100
    $ cd $USERLAND/components/openssl/openssl-1.0.1 ; gmake build
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   101
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   102
Next, collect some information from linking wanboot static libraries in ON.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   103
This can be done by the following hack.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   104
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   105
    $ cd $ON/usr/src/psm/stand/boot/sparcv9/sun4
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   106
    $ touch wanboot.o
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   107
    $ LD_OPTIONS="-Dfiles,symbols,output=ld.dbg \
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1596
diff changeset
   108
        -L$USERLAND/components/openssl/openssl-1.0.1/build/sparcv9-wanboot " \
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   109
        WAN_OPENSSL=" -lwanboot -lssl -lcrypto" dmake all
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   110
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   111
The following sort of information ends up in ld.dbg (note that the debugging
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   112
output from the link-editor is not considered a 'stable interface' and may
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   113
change in the future):
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   114
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1596
diff changeset
   115
    debug: file=/builds/tkuthan/ul-wanboot-rebuilt/components/openssl/openssl-1.0.1/build/sparcv9-wanboot/libcrypto.a(sparcv9cap.o)  [ ET_REL ]
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   116
    debug:
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1596
diff changeset
   117
    debug: symbol table processing; file=/builds/tkuthan/ul-wanboot-rebuilt/components/openssl/openssl-1.0.1/build/sparcv9-wanboot/libcrypto.a(sparcv9cap.o)  [ ET_REL ]
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   118
    debug: symbol[1]=sparcv9cap.c
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   119
    ....
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   120
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   121
Now run the following script in Userland:
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   122
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   123
    #!/bin/bash
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   124
 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   125
    # set to workspace paths:
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   126
    USERLAND=/builds/tkuthan/ul-wanboot-rebuilt
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   127
    ON=/builds/tkuthan/on11u1-wanboot-rti
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   128
 
1680
49cf3ba424f0 18161027 OpenSSL 1.0.1f: ON nightly fails with missing symbol in wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1596
diff changeset
   129
    BUILD=$USERLAND/components/openssl/openssl-1.0.1/build/sparcv9-wanboot
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   130
    LD_DBG=$ON/usr/src/psm/stand/boot/sparcv9/sun4/ld.dbg
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   131
 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   132
    for i in `find $BUILD/crypto $BUILD/ssl -name '*.o'`
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   133
    do
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   134
            f=`basename $i`
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   135
            if grep -q "^debug: file.*\<$f\>" $LD_DBG
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   136
            then
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   137
                    echo $i | sed "s#$BUILD/##"
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   138
            fi
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   139
    done
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   140
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   141
to get the list of required object files.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   142
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   143
Additionally, you can format the list for including to Makefile by:
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   144
    sort | tr '\n' ' ' | fold -s -w74 | sed -e 's/^/    /' -e 's/$/\\/'
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   145
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   146
Linking with wanboot
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   147
----
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   148
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   149
When linking with wanboot please pay attention to following pitfalls.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   150
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   151
Correct openssl header files need to be included. This is done in
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   152
$ON/usr/src/stand/lib/wanboot/Makefile
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   153
Make sure CPPFLAGS point to the right directories.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   154
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   155
EXTREME CAUTION needs to be employed, if WANBOOT GREW IN SIZE because of the
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   156
changes!
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   157
Wanboot is a statically linked standalone binary and it is loaded on a fixed
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   158
address before execution. This address is defined in 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   159
$ON/usr/src/psm/stand/boot/sparc/common/mapfile:
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   160
2180
bc1340c26305 19789902 pkcs11 engine dumps core when the softtoken is disabled
Ivo Raisr <ivo.raisr@oracle.com>
parents: 2041
diff changeset
   161
	LOAD_SEGMENT text {
bc1340c26305 19789902 pkcs11 engine dumps core when the softtoken is disabled
Ivo Raisr <ivo.raisr@oracle.com>
parents: 2041
diff changeset
   162
		FLAGS = READ EXECUTE;
bc1340c26305 19789902 pkcs11 engine dumps core when the softtoken is disabled
Ivo Raisr <ivo.raisr@oracle.com>
parents: 2041
diff changeset
   163
		VADDR = 0x130000;
bc1340c26305 19789902 pkcs11 engine dumps core when the softtoken is disabled
Ivo Raisr <ivo.raisr@oracle.com>
parents: 2041
diff changeset
   164
		ASSIGN_SECTION {
bc1340c26305 19789902 pkcs11 engine dumps core when the softtoken is disabled
Ivo Raisr <ivo.raisr@oracle.com>
parents: 2041
diff changeset
   165
			TYPE = PROGBITS;
bc1340c26305 19789902 pkcs11 engine dumps core when the softtoken is disabled
Ivo Raisr <ivo.raisr@oracle.com>
parents: 2041
diff changeset
   166
			FLAGS = ALLOC !WRITE;
bc1340c26305 19789902 pkcs11 engine dumps core when the softtoken is disabled
Ivo Raisr <ivo.raisr@oracle.com>
parents: 2041
diff changeset
   167
		};
bc1340c26305 19789902 pkcs11 engine dumps core when the softtoken is disabled
Ivo Raisr <ivo.raisr@oracle.com>
parents: 2041
diff changeset
   168
	};
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   169
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   170
This address (VADDR) NEEDS TO BE GREATER THEN 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   171
    size of wanboot binary + 0x4000
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   172
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   173
The reason for this is in how wanboot is loaded by OpenBoot Prom:
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   174
1) user initiates boot from network - "boot net"
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   175
2) obp loads wanboot binary at address 0x4000
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   176
3) obp parses ELF header, reads virtual address where to load wanboot to
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   177
4) obp mem-copies .text section to this address
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   178
5) obp copies .data section behind .text
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   179
6) obp starts executing wanboot at entry address
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   180
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   181
If the given address is too small, obp overwrites part of .data with
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   182
instructions from .text in step 4. resulting in .data being corrupted.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   183
Initialized variables get bogus values and failure is inevitable.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   184
This is very hard to troubleshoot.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   185
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   186
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   187
Testing wanboot with new openssl
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   188
----
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   189
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   190
With every upgrade of OpenSSL, it is necessary to make sure wanboot builds and
1911
17096cac036b 18793926 The .annotate section should be removed for wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1884
diff changeset
   191
works well with the new bits (post lullaby).
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   192
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   193
Provided you have a freshly built ON workspace, you can link wanboot with new
1911
17096cac036b 18793926 The .annotate section should be removed for wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1884
diff changeset
   194
OpenSSL bits as follows:
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   195
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   196
    # copy wanboot-openssl.o to ON build machine
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   197
    cp wanboot-openssl.o /var/tmp/
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   198
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   199
    # prepare to rebuild wanboot
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   200
    cd $ON
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   201
    cd usr/src/psm/stand/boot/sparcv9/sun4
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   202
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   203
    # hack to force a rebuild
1911
17096cac036b 18793926 The .annotate section should be removed for wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1884
diff changeset
   204
    touch $ON/build.sparc/usr/src/psm/stand/boot/sparcv9/sun4/wanboot.o
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   205
1911
17096cac036b 18793926 The .annotate section should be removed for wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1884
diff changeset
   206
    # modify Makefile and assign the WAN_OPENSSL macro to your binary
17096cac036b 18793926 The .annotate section should be removed for wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1884
diff changeset
   207
    # something like
17096cac036b 18793926 The .annotate section should be removed for wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1884
diff changeset
   208
    WAN_OPENSSL    = /var/tmp/wanboot-openssl.o
17096cac036b 18793926 The .annotate section should be removed for wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1884
diff changeset
   209
17096cac036b 18793926 The .annotate section should be removed for wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1884
diff changeset
   210
    # build a wanboot binary
17096cac036b 18793926 The .annotate section should be removed for wanboot-openssl.o
Misaki Miyashita <Misaki.Miyashita@Oracle.COM>
parents: 1884
diff changeset
   211
    build -i dmake all
763
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   212
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   213
Wanboot should build without warning.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   214
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   215
If there is something like this in the output:
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   216
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   217
    Undefined                       first referenced
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   218
     symbol                             in file
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   219
    CRYPTO_ccm128_setiv                 /var/tmp/wanboot-openssl.o
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   220
    SSL_get_srtp_profiles               /var/tmp/wanboot-openssl.o
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   221
    ssl_parse_clienthello_use_srtp_ext  /var/tmp/wanboot-openssl.o
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   222
    CRYPTO_gcm128_setiv                 /var/tmp/wanboot-openssl.o
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   223
    ...
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   224
    cmac_pkey_meth                      /var/tmp/wanboot-openssl.o
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   225
    ld: fatal: symbol referencing errors. No output written to wanboot
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   226
    *** Error code 1
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   227
    dmake: Fatal error: Command failed for target `wanboot'
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   228
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   229
some additional work has to be done in OpenSSL to either satisfy the function 
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   230
references listed in the linker error message, or to remove the calls to these
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   231
functions.
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   232
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   233
Finally, resulting wanboot binary shall be deployed on some install server and
45da4d38492e 7156086 OpenSSL for wanboot should not be build in a separate directory
Tomas Kuthan <tomas.kuthan@oracle.com>
parents: 745
diff changeset
   234
wanbooting from this server shall be tested.
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: 2180
diff changeset
   235
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: 2180
diff changeset
   236
===============
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: 2180
diff changeset
   237
Common Patches
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: 2180
diff changeset
   238
===============
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: 2180
diff changeset
   239
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: 2180
diff changeset
   240
Common patch files are located in the components/openssl/common/patches dir,
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: 2180
diff changeset
   241
and they are copied to both FIPS and non-FIPS 'patches' dir as soon as the
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: 2180
diff changeset
   242
Makefile is parsed.  The Common patch filename has prefix '0',
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: 2180
diff changeset
   243
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: 2180
diff changeset
   244
----
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: 2180
diff changeset
   245
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: 2180
diff changeset
   246
008-6193522.patch
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: 2180
diff changeset
   247
Give CA.pl better defaults. See 6193522 for more information.
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: 2180
diff changeset
   248
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: 2180
diff changeset
   249
011-6546806.patch
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: 2180
diff changeset
   250
Make sure the HMAC_CTX_init(3) man page gets delivered. See 6546806 for
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: 2180
diff changeset
   251
more information.
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: 2180
diff changeset
   252
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: 2180
diff changeset
   253
015-pkcs11_engine-0.9.8a.patch
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: 2180
diff changeset
   254
Patch which adds the pkcs11 engine. See also the engine/pkcs11
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: 2180
diff changeset
   255
sub-directory. 
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: 2180
diff changeset
   256
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: 2180
diff changeset
   257
018-compiler_opts.patch
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: 2180
diff changeset
   258
Adds five Solaris specific configurations (both 32bit and 64bit for both sparc
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: 2180
diff changeset
   259
and x86, plus 64bit sparc for wanboot) to Configure which are then explicitly
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: 2180
diff changeset
   260
used by the Makefiles. Wanboot configuration is special in that it doesn't link
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: 2180
diff changeset
   261
with libc and uses -xF=%all to put functions in separate sections, so that
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: 2180
diff changeset
   262
unused code can be discarded.
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: 2180
diff changeset
   263
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: 2180
diff changeset
   264
Care should be taken if modifying this patch as changes to compile-time options
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: 2180
diff changeset
   265
can change the ABI. One example of this is the use of RC4_INT vs RC4_CHAR.
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: 2180
diff changeset
   266
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: 2180
diff changeset
   267
020-remove_rpath.patch
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: 2180
diff changeset
   268
Prevent build binaries having an unnecessary runpath (/lib).
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: 2180
diff changeset
   269
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: 2180
diff changeset
   270
023-noexstack.patch
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: 2180
diff changeset
   271
Build with non-executable stacks and non-executable data (x86).
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: 2180
diff changeset
   272
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: 2180
diff changeset
   273
027-6978791.patch
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: 2180
diff changeset
   274
Modifies Makefile.shared so that libssl is built with -znodelete.
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: 2180
diff changeset
   275
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: 2180
diff changeset
   276
028-enginesdir.patch
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: 2180
diff changeset
   277
Adds a new "enginesdir" option to the Configure script which allows a user to
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: 2180
diff changeset
   278
specify the engines directory.
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: 2180
diff changeset
   279
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: 2180
diff changeset
   280
029-fork_safe.patch
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: 2180
diff changeset
   281
Adds the code to setup internal mutexes and callback function.
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: 2180
diff changeset
   282
See PSARC/2014/077.
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: 2180
diff changeset
   283
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: 2180
diff changeset
   284
032-aes_cbc_len_check.patch
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: 2180
diff changeset
   285
AES-CBC input length is checked to avoid segmentation fault.
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: 2180
diff changeset
   286
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: 2180
diff changeset
   287
033-cert_chain.patch
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: 2180
diff changeset
   288
Fixes the certificate chain bug.
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: 2180
diff changeset
   289
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: 2180
diff changeset
   290
036-evp_leak.patch
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: 2180
diff changeset
   291
Fixes the memory leak bug.
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: 2180
diff changeset
   292
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: 2180
diff changeset
   293
038_remove_illegal_instruction_calls.patch
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: 2180
diff changeset
   294
SPARC patch. Solaris-only patch.
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: 2180
diff changeset
   295
For instructions in sparcv9cap.c, remove if not supported on any platforms.
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: 2180
diff changeset
   296
Otherwise modify them to call getisax() to check for HW capability instead. 
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: 2180
diff changeset
   297
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: 2180
diff changeset
   298
039-internal_tests.patch
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: 2180
diff changeset
   299
Remove test 'test_ca' because it depends on directories not present in the
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: 2180
diff changeset
   300
build directory. 
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: 2180
diff changeset
   301
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: 2180
diff changeset
   302
=========================
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: 2180
diff changeset
   303
Non-FIPS specific Patches
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: 2180
diff changeset
   304
=========================
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: 2180
diff changeset
   305
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: 2180
diff changeset
   306
Non-FIPS specific patch files are located in the
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: 2180
diff changeset
   307
components/openssl/openssl-1.0.1/patches dir.
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: 2180
diff changeset
   308
The Non-FIPS specific patch filename has prefix '1',
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: 2180
diff changeset
   309
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: 2180
diff changeset
   310
----
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: 2180
diff changeset
   311
101-manpage_openssl.patch
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: 2180
diff changeset
   312
Force openssl to install man pages into man[1357]openssl instead of man[1357].
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: 2180
diff changeset
   313
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: 2180
diff changeset
   314
102-wanboot.patch:
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: 2180
diff changeset
   315
Wanboot specific patches.
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: 2180
diff changeset
   316
- modified Makefiles not to build in engines apps test tools
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: 2180
diff changeset
   317
- not using vfprintf for error print in crypto/cryptlib.c
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: 2180
diff changeset
   318
- not using ERR_load_DSO_strings() in crypto/err/err_all.c
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: 2180
diff changeset
   319
- not using EVP_read_pw_string() in crypto/evp/evp_key.c
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: 2180
diff changeset
   320
    - reading password is implemented in disabled DES library
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: 2180
diff changeset
   321
- avoid select() in crypto/rand/rand_unix.c
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: 2180
diff changeset
   322
- direct reading of IP to avoid sscanf() in crypto/x509v3/v3_utl.c
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: 2180
diff changeset
   323
- using functions from libsock in e_os.h
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: 2180
diff changeset
   324
- by-passing version of sparc detection in crypto/sparcv9cap.c
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: 2180
diff changeset
   325
    - results in not using FPU for big numbers multiplication
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: 2180
diff changeset
   326
    - should be ok - original detection seems broken, FPU gets never used
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: 2180
diff changeset
   327
- implementation of atoi()
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: 2180
diff changeset
   328
- avoid using ssl_fill_hello_random() in s3_clnt.c
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: 2180
diff changeset
   329
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: 2180
diff changeset
   330
103-openssl_t4_inline.patch
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: 2180
diff changeset
   331
Add patch to support inline T4 instruction in OpenSSL upstream code until
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: 2180
diff changeset
   332
OpenSSL 1.0.2 is released.
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: 2180
diff changeset
   333
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: 2180
diff changeset
   334
104-suppress_v8plus_abi_warnings.patch
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: 2180
diff changeset
   335
Suppress warnings about sparcv8+ ABI violation when building T4-specific
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: 2180
diff changeset
   336
modules as 32-bit.
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: 2180
diff changeset
   337
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: 2180
diff changeset
   338
=========================
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: 2180
diff changeset
   339
FIPS specific Patches
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: 2180
diff changeset
   340
=========================
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: 2180
diff changeset
   341
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: 2180
diff changeset
   342
FIPS specific patch files are located in the
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: 2180
diff changeset
   343
components/openssl/openssl-1.0.1-fips-140/patches dir.
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: 2180
diff changeset
   344
The FIPS specific patch filename has prefix '2',
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: 2180
diff changeset
   345
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: 2180
diff changeset
   346
---
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: 2180
diff changeset
   347
201-openssl_fips.patch 
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: 2180
diff changeset
   348
Change openssl(1) to call the FIPS routines only if the fips mediator is activated.
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: 2180
diff changeset
   349
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: 2180
diff changeset
   350
202-17952966.patch
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: 2180
diff changeset
   351
FIPS version needs to build with '-lc' explicitly with stuido 12.3 and above.