• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1if(ENABLE_GITEE OR ENABLE_GITEE_EULER) # Channel GITEE_EULER is NOT supported now, use GITEE instead.
2  set(REQ_URL "https://gitee.com/mirrors/openssl/repository/archive/OpenSSL_1_1_1k.tar.gz")
3  set(SHA256 "b92f9d3d12043c02860e5e602e50a73ed21a69947bcc74d391f41148e9f6aa95")
4else()
5  set(REQ_URL "https://github.com/openssl/openssl/archive/refs/tags/OpenSSL_1_1_1k.tar.gz")
6  set(SHA256 "b92f9d3d12043c02860e5e602e50a73ed21a69947bcc74d391f41148e9f6aa95")
7endif()
8
9if(BUILD_LITE)
10  set(OPENSSL_PATCH_ROOT ${TOP_DIR}/third_party/patch/openssl)
11else()
12  set(OPENSSL_PATCH_ROOT ${CMAKE_SOURCE_DIR}/third_party/patch/openssl)
13endif()
14
15if(BUILD_LITE)
16    if(PLATFORM_ARM64 AND ANDROID_NDK_TOOLCHAIN_INCLUDED)
17        set(openssl_USE_STATIC_LIBS OFF)
18        set(ANDROID_NDK_ROOT $ENV{ANDROID_NDK})
19        set(PATH
20            ${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin:
21            ${ANDROID_NDK_ROOT}/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:
22            $ENV{PATH})
23        mindspore_add_pkg(openssl
24                VER 1.1.1k
25                LIBS ssl crypto
26                URL ${REQ_URL}
27                SHA256 ${SHA256}
28                CONFIGURE_COMMAND ./Configure android-arm64 -D__ANDROID_API__=29 no-zlib no-afalgeng
29                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-3711.patch
30                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-3712.patch
31                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-4160.patch
32                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-0778.patch
33                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-1292.patch
34                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-2068.patch
35                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-2097.patch
36                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-4304.patch
37                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-4450.patch
38                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0215.patch
39                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0286.patch
40                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0464.patch
41                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0465.patch
42                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0466.patch
43                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-2650.patch
44                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-3446.patch
45                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-3817.patch
46                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-4807.patch
47                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-5678.patch
48                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2024-0727.patch
49                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2024-2511.patch
50                )
51    elseif(PLATFORM_ARM32 AND ANDROID_NDK_TOOLCHAIN_INCLUDED)
52        set(openssl_USE_STATIC_LIBS OFF)
53        set(ANDROID_NDK_ROOT $ENV{ANDROID_NDK})
54        set(PATH
55            ${ANDROID_NDK_ROOT}/toolchains/llvm/prebuilt/linux-x86_64/bin:
56            ${ANDROID_NDK_ROOT}/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64/bin:
57            $ENV{PATH})
58        mindspore_add_pkg(openssl
59                VER 1.1.1k
60                LIBS ssl crypto
61                URL ${REQ_URL}
62                SHA256 ${SHA256}
63                CONFIGURE_COMMAND ./Configure android-arm -D__ANDROID_API__=19 no-zlib no-afalgeng
64                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-3711.patch
65                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-3712.patch
66                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-4160.patch
67                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-0778.patch
68                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-1292.patch
69                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-2068.patch
70                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-2097.patch
71                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-4304.patch
72                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-4450.patch
73                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0215.patch
74                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0286.patch
75                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0464.patch
76                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0465.patch
77                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0466.patch
78                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-2650.patch
79                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-3446.patch
80                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-3817.patch
81                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-4807.patch
82                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-5678.patch
83                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2024-0727.patch
84                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2024-2511.patch
85                )
86    elseif(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR APPLE)
87        set(openssl_CFLAGS -fvisibility=hidden)
88        mindspore_add_pkg(openssl
89                VER 1.1.1k
90                LIBS ssl crypto
91                URL ${REQ_URL}
92                SHA256 ${SHA256}
93                CONFIGURE_COMMAND ./config no-zlib no-shared no-afalgeng
94                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-3711.patch
95                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-3712.patch
96                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-4160.patch
97                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-0778.patch
98                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-1292.patch
99                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-2068.patch
100                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-2097.patch
101                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-4304.patch
102                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-4450.patch
103                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0215.patch
104                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0286.patch
105                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0464.patch
106                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0465.patch
107                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0466.patch
108                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-2650.patch
109                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-3446.patch
110                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-3817.patch
111                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-4807.patch
112                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-5678.patch
113                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2024-0727.patch
114                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2024-2511.patch
115                )
116    else()
117        MESSAGE(FATAL_ERROR "openssl does not support compilation for the current environment.")
118    endif()
119    include_directories(${openssl_INC})
120    add_library(mindspore::ssl ALIAS openssl::ssl)
121    add_library(mindspore::crypto ALIAS openssl::crypto)
122else()
123    if(${CMAKE_SYSTEM_NAME} MATCHES "Linux" OR APPLE)
124        set(openssl_CFLAGS -fvisibility=hidden)
125        mindspore_add_pkg(openssl
126                VER 1.1.1k
127                LIBS ssl crypto
128                URL ${REQ_URL}
129                SHA256 ${SHA256}
130                CONFIGURE_COMMAND ./config no-zlib no-shared no-afalgeng
131                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-3711.patch
132                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-3712.patch
133                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2021-4160.patch
134                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-0778.patch
135                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-1292.patch
136                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-2068.patch
137                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-2097.patch
138                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-4304.patch
139                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2022-4450.patch
140                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0215.patch
141                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0286.patch
142                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0464.patch
143                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0465.patch
144                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-0466.patch
145                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-2650.patch
146                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-3446.patch
147                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-3817.patch
148                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-4807.patch
149                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2023-5678.patch
150                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2024-0727.patch
151                PATCHES ${OPENSSL_PATCH_ROOT}/CVE-2024-2511.patch
152                )
153        include_directories(${openssl_INC})
154        add_library(mindspore::ssl ALIAS openssl::ssl)
155        add_library(mindspore::crypto ALIAS openssl::crypto)
156    endif()
157endif()
158