Commit 4d5d7113134e9e30f4e20fcdd88e92b6c86ac7a1
1 parent
6981e873
Exists in
master
and in
1 other branch
Adding win32 tweak to disable fips mode on openssl.
Showing
3 changed files
with
37 additions
and
7 deletions
Show diff stats
src/core/linkedlist.c
@@ -36,6 +36,7 @@ | @@ -36,6 +36,7 @@ | ||
36 | #include <lib3270/log.h> | 36 | #include <lib3270/log.h> |
37 | #include <linkedlist.h> | 37 | #include <linkedlist.h> |
38 | #include <string.h> | 38 | #include <string.h> |
39 | +#include <errno.h> | ||
39 | 40 | ||
40 | /*---[ Implement ]------------------------------------------------------------------------------------------------------------*/ | 41 | /*---[ Implement ]------------------------------------------------------------------------------------------------------------*/ |
41 | 42 |
src/network_modules/openssl/context.c
@@ -154,26 +154,54 @@ SSL_CTX * lib3270_openssl_get_context(H3270 *hSession) { | @@ -154,26 +154,54 @@ SSL_CTX * lib3270_openssl_get_context(H3270 *hSession) { | ||
154 | SSL_load_error_strings(); | 154 | SSL_load_error_strings(); |
155 | SSL_library_init(); | 155 | SSL_library_init(); |
156 | 156 | ||
157 | -#ifdef OPENSSL_FIPS | 157 | +#if !defined(OPENSSL_FIPS) |
158 | 158 | ||
159 | lib3270_write_log( | 159 | lib3270_write_log( |
160 | hSession, | 160 | hSession, |
161 | "openssl", | 161 | "openssl", |
162 | - "Initializing %s %s FIPS.\n", | ||
163 | - SSLeay_version(SSLEAY_VERSION), | ||
164 | - (FIPS_mode() ? "with" : "without" ) | 162 | + "Initializing %s\n", |
163 | + SSLeay_version(SSLEAY_VERSION) | ||
165 | ); | 164 | ); |
166 | 165 | ||
166 | +#elif defined(_WIN32) | ||
167 | + { | ||
168 | + lib3270_auto_cleanup(HKEY) hKey; | ||
169 | + DWORD disp = 0; | ||
170 | + LSTATUS rc = RegCreateKeyEx( | ||
171 | + HKEY_LOCAL_MACHINE, | ||
172 | + "Software\\" LIB3270_STRINGIZE_VALUE_OF(PRODUCT_NAME) "\\tweaks", | ||
173 | + 0, | ||
174 | + NULL, | ||
175 | + REG_OPTION_NON_VOLATILE, | ||
176 | + KEY_QUERY_VALUE|KEY_READ, | ||
177 | + NULL, | ||
178 | + &hKey, | ||
179 | + &disp); | ||
180 | + | ||
181 | + if(rc == ERROR_SUCCESS) { | ||
182 | + FIPS_mode_set(lib3270_win32_get_dword(hKey, "fips_mode", 1)); | ||
183 | + } | ||
184 | + | ||
185 | + lib3270_write_log( | ||
186 | + hSession, | ||
187 | + "openssl", | ||
188 | + "Initializing %s %s FIPS.\n", | ||
189 | + SSLeay_version(SSLEAY_VERSION), | ||
190 | + (FIPS_mode() ? "with" : "without" ) | ||
191 | + ); | ||
192 | + | ||
193 | + } | ||
167 | #else | 194 | #else |
168 | 195 | ||
169 | lib3270_write_log( | 196 | lib3270_write_log( |
170 | hSession, | 197 | hSession, |
171 | "openssl", | 198 | "openssl", |
172 | - "Initializing %s without FIPS.\n", | ||
173 | - SSLeay_version(SSLEAY_VERSION) | 199 | + "Initializing %s %s FIPS.\n", |
200 | + SSLeay_version(SSLEAY_VERSION), | ||
201 | + (FIPS_mode() ? "with" : "without" ) | ||
174 | ); | 202 | ); |
175 | 203 | ||
176 | -#endif // OPENSSL_FIPS | 204 | +#endif |
177 | 205 | ||
178 | context = SSL_CTX_new(SSLv23_method()); | 206 | context = SSL_CTX_new(SSLv23_method()); |
179 | if(context == NULL) { | 207 | if(context == NULL) { |
src/testprogram/testprogram.c
@@ -41,6 +41,7 @@ | @@ -41,6 +41,7 @@ | ||
41 | #include <lib3270/log.h> | 41 | #include <lib3270/log.h> |
42 | #include <lib3270/properties.h> | 42 | #include <lib3270/properties.h> |
43 | #include <lib3270/charset.h> | 43 | #include <lib3270/charset.h> |
44 | +#include <stdio.h> | ||
44 | 45 | ||
45 | #ifdef _WIN32 | 46 | #ifdef _WIN32 |
46 | #include <lib3270/win32.h> | 47 | #include <lib3270/win32.h> |