aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRon Yorston <rmy@pobox.com>2025-10-02 07:53:27 +0100
committerRon Yorston <rmy@pobox.com>2025-10-02 12:29:36 +0100
commit0496280c4589bf33192ab01ce052d66179e0ade3 (patch)
tree9d447fc35aed2fed4b3e8fdc4c7f84907bacf4e3
parent86d0b4937c77beba0c5b042b833f08afa61ee728 (diff)
downloadbusybox-w32-0496280c4589bf33192ab01ce052d66179e0ade3.tar.gz
busybox-w32-0496280c4589bf33192ab01ce052d66179e0ade3.tar.bz2
busybox-w32-0496280c4589bf33192ab01ce052d66179e0ade3.zip
Further mingw-w64/gcc build tweaks
Commit 6481bb22b (win32: use 64-bit time on 32-bit platforms) fails to build with mingw32-gcc prior to mingw-w64 10.0.0. Don't used 64-bit time for such builds. mingw-w64 7.0.0 and below don't have some definitions required for native TLS support. This is enabled by default in the 64-bit Unicode build. Add the definitions required for the default build. TLS 1.3 support needs more but isn't enabled by default. (GitHub issue #527)
-rw-r--r--include/mingw.h2
-rw-r--r--networking/tls.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/include/mingw.h b/include/mingw.h
index 276e40659..debd22ef2 100644
--- a/include/mingw.h
+++ b/include/mingw.h
@@ -3,7 +3,7 @@
3#define IMPL(name,ret,retval,...) static inline ret name(__VA_ARGS__) { return retval; } 3#define IMPL(name,ret,retval,...) static inline ret name(__VA_ARGS__) { return retval; }
4 4
5/* Use 64-bit time on 32-bit platforms. */ 5/* Use 64-bit time on 32-bit platforms. */
6#if !defined(_WIN64) 6#if !defined(_WIN64) && __MINGW64_VERSION_MAJOR >= 10
7# define time_t __time64_t 7# define time_t __time64_t
8# define ctime(t) _ctime64(t) 8# define ctime(t) _ctime64(t)
9# define localtime(t) _localtime64(t) 9# define localtime(t) _localtime64(t)
diff --git a/networking/tls.c b/networking/tls.c
index ba8ebfe82..97217f435 100644
--- a/networking/tls.c
+++ b/networking/tls.c
@@ -2378,6 +2378,13 @@ void FAST_FUNC tls_run_copy_loop(tls_state_t *tls, unsigned flags)
2378# define SECBUFFER_ALERT 17 2378# define SECBUFFER_ALERT 17
2379#endif 2379#endif
2380 2380
2381#ifndef SP_PROT_TLS1_0_CLIENT
2382# define SP_PROT_TLS1_0_CLIENT 0x00000080
2383# define SP_PROT_TLS1_1_CLIENT 0x00000200
2384# define SP_PROT_TLS1_2_CLIENT 0x00000800
2385# define SCH_USE_STRONG_CRYPTO 0x00400000
2386#endif
2387
2381#define BB_SCHANNEL_ISC_FLAGS \ 2388#define BB_SCHANNEL_ISC_FLAGS \
2382 (ISC_REQ_ALLOCATE_MEMORY | ISC_REQ_CONFIDENTIALITY | ISC_REQ_INTEGRITY | ISC_REQ_REPLAY_DETECT | \ 2389 (ISC_REQ_ALLOCATE_MEMORY | ISC_REQ_CONFIDENTIALITY | ISC_REQ_INTEGRITY | ISC_REQ_REPLAY_DETECT | \
2383 ISC_REQ_SEQUENCE_DETECT | ISC_REQ_STREAM | ISC_REQ_USE_SUPPLIED_CREDS) 2390 ISC_REQ_SEQUENCE_DETECT | ISC_REQ_STREAM | ISC_REQ_USE_SUPPLIED_CREDS)