Martin Prikryl
ea94f08215
Update to OpenSSL 3.5.9
...
Source commit: 4828d4a32aea4cb4489052ba450a1c868321f5e9
2026-10-02 17:55:17 +02:00
Martin Prikryl
53e9fa9cba
Merge branch 'thirdparty'
...
# Conflicts:
# libs/openssl/crypto/init.c
Source commit: 4564413da7872ac62838988bc1fff4e10082b5a4
2026-10-01 00:39:32 +02:00
Martin Prikryl
76ef84ee9f
OpenSSL 3.5.9
...
Source commit: 576ad7c53795c8bad0ac3c54f37ffd83319c0077
2026-10-01 00:38:31 +02:00
Martin Prikryl
82fe067bda
Update to OpenSSL 3.5.8
...
Source commit: 43037597e93625bae8773c60ce0feae26a106060
2026-08-27 00:37:06 +02:00
Martin Prikryl
e3497c4411
Merge branch 'thirdparty'
...
# Conflicts:
# libs/openssl/include/openssl/ssl.h
Source commit: 9979bc91fbab012071e38fdab32966af9e79afc6
2026-08-27 00:36:12 +02:00
Martin Prikryl
a168770743
OpenSSL 3.5.8
...
Source commit: ba6936b76d9bf4f428bfbc29abbe02df58a16e65
2026-08-27 00:35:11 +02:00
Martin Prikryl
a2baba0f5b
Removing unwanted OpenSSL doc and test files (from 28af0833)
...
Source commit: 980a90fd97d34855433d547e3c1b3c512d2a72bf
2026-06-17 15:50:47 +02:00
Martin Prikryl
dd1665bccb
Update to OpenSSL 3.5.7
...
Source commit: 936bca5fc8eaae2a1dfec090ef63df64ba622115
2026-06-11 01:04:29 +02:00
Martin Prikryl
ae879128e8
Merge branch 'thirdparty_dev' into dev
...
# Conflicts:
# libs/openssl/include/openssl/ssl.h
Source commit: dd87f85cf0fc77acc5a675b1ae2cc0ecdcd7019c
2026-06-11 01:01:07 +02:00
Martin Prikryl
86d1ef99b1
OpenSSL 3.5.7
...
Source commit: 1c948c123bc7fe5c5dd0d6fd7a725eba2fc8af3d
2026-06-11 00:57:07 +02:00
Martin Prikryl
d725f98ec4
Issue 618 – Experimental 64-bit version of WinSCP
...
https://winscp.net/tracker/618
Source commit: 329fb51d696db6c1d37d5c5240ff253af0df941b
2026-05-11 18:39:51 +02:00
Martin Prikryl
91a3ddc224
Tagging some changes from a2119a7e
...
Source commit: 489a67936704ca871ee14d099db554e14fce19c7
2026-05-08 00:53:25 +02:00
Martin Prikryl
9a6f85da4e
OpenSSL 3.6.5 version of aes_core and aes_cbc
...
Source commit: f952ddf76a911cff80f23a63bdde23549058d80e
2026-05-08 00:50:39 +02:00
Martin Prikryl
4e0a766b85
Getting ready for object file extension being different for 64-bit
...
(OBJ_EXT was by mistake included [and not used] by ee950ff4 , now shortened to O)
Source commit: 11c56961c6833cac923617d2cb1649d752a66aa3
2026-05-07 01:06:00 +02:00
Martin Prikryl
a58995e61e
aes_core and aes_cbc are 32-bit specific
...
Source commit: 4aadabac7c0d7081c21bf1772a299f3100f1e53e
2026-05-07 01:03:55 +02:00
Martin Prikryl
b01b169704
Restored faster C TLS/SSL AES implementation
...
Reverts 5851fe38
Source commit: f41be0ca0b016b0d555532b593982f3c83add32b
2026-04-29 01:03:34 +02:00
Martin Prikryl
f2dff5f7cc
Removing some unused OpenSSL AES code
...
Source commit: 8c4bd9d870ced6b9283a5a0fdfbfe286ab8a20b5
2026-04-22 01:37:58 +02:00
Martin Prikryl
d35e49d5d0
Update to OpenSSL 3.5.6
...
Source commit: c97a56b706bc704b5472a71b657bbd398ad96a46
2026-04-09 01:12:15 +02:00
Martin Prikryl
28af0833ef
Merge branch 'thirdparty_dev' into dev
...
# Conflicts:
# libs/openssl/include/openssl/cmp.h
Source commit: d607feabaff43b24df8f714ab126558d615bd6f9
2026-04-08 17:12:05 +02:00
Martin Prikryl
a1e18b6312
OpenSSL 3.5.6
...
Source commit: 8fbe63cb73d53c5cf2262c44d963a7ed0aa4c241
2026-04-08 17:09:23 +02:00
Martin Prikryl
8b6c876864
Update to OpenSSL 3.5.5
...
Source commit: 3235ece45e6e47a9d1b2d13db4e33072064529a0
2026-01-29 01:41:20 +01:00
Martin Prikryl
05d51db835
Merge branch 'thirdparty_dev' into dev
...
# Conflicts:
# libs/openssl/crypto/conf/conf_mod.c
# libs/openssl/crypto/init.c
# libs/openssl/crypto/threads_win.c
# libs/openssl/include/crypto/bn_conf_32.h
# libs/openssl/include/openssl/asn1.h
# libs/openssl/include/openssl/asn1t.h
# libs/openssl/include/openssl/bio.h
# libs/openssl/include/openssl/cmp.h
# libs/openssl/include/openssl/cms.h
# libs/openssl/include/openssl/conf.h
# libs/openssl/include/openssl/crypto.h
# libs/openssl/include/openssl/ct.h
# libs/openssl/include/openssl/err.h
# libs/openssl/include/openssl/fipskey.h
# libs/openssl/include/openssl/lhash.h
# libs/openssl/include/openssl/ocsp.h
# libs/openssl/include/openssl/opensslv.h
# libs/openssl/include/openssl/pkcs12.h
# libs/openssl/include/openssl/pkcs7.h
# libs/openssl/include/openssl/ssl.h
# libs/openssl/include/openssl/ui.h
# libs/openssl/include/openssl/x509.h
# libs/openssl/include/openssl/x509_vfy.h
# libs/openssl/providers/common/include/prov/der_sm2.h
# libs/openssl/ssl/ssl_lib.c
Source commit: 4ea901160dd4b84bbd284ee42dc159d2af67d738
2026-01-29 01:38:37 +01:00
Martin Prikryl
a3d1ddb18f
OpenSSL 3.5.5
...
Source commit: 6e1d3a2b8ad5e23bd17bd3f028e864dbd8533dc2
2026-01-29 01:29:09 +01:00
Martin Prikryl
04c1169332
VC-WIN32 OpenSSL target generates exactly the configuration.h file we want
...
Source commit: ba4d0524b3fdf7911b5f9aa18ba301aa3eeee406
2026-01-23 01:17:49 +01:00
Martin Prikryl
67408f3319
Isolating 32-bit-specific OpenSSL directives, parameters and files
...
Source commit: c96d8dc2fb56e811f6a02687973291468df2e14f
2026-01-23 01:10:50 +01:00
Martin Prikryl
a2119a7eac
Types and casts safe in respect to pointer size for forward 64-bit compatibility
...
Also GetWindowLongPtr and GWLP_USERDATA
https://winscp.net/tracker/618
Source commit: c85fdf15e50ce8a6f35b1c4d2a0125a0b9c4f1f0
2026-01-22 14:51:13 +01:00
Martin Prikryl
adb8e0da92
Restoring dashes in OpenSSL filenames
...
tlib is ok with them as long as the filename is quoted
Source commit: ed25f0510cfc7084874182051486fee4eb20c2bc
2026-01-21 01:09:26 +01:00
Martin Prikryl
ed20680be0
Unneeded OpenSSL sources
...
Source commit: 50dccbb3a762a78d83830fbf99f84b0656e96e47
2026-01-20 01:11:28 +01:00
Martin Prikryl
8f32c28aca
Updating (and resetting) OpenSSL configuration.h to official one for BC-32 target
...
Configuration file stored in target-specific name, first to allow some overrides in the wrapper include, second to allow upcoming parallel 64-bit build.
That makes some defines in Makefile redundant
Source commit: f5e38dc1d7c489699a4e9dfd69139413129c117f
2026-01-10 01:17:40 +01:00
Martin Prikryl
b35be32428
L_ENDIAN and COMPILED_FROM_DSP are not part of public API
...
And COMPILED_FROM_DSP has been obsoleted in Expat 2.2.0
Source commit: 751df3cab5d167d488b559c612e65ceaced98ff2
2026-01-09 01:20:14 +01:00
Martin Prikryl
f1c364a5e8
Removing unused OpenSSL Datagram code
...
Source commit: 668d18221961089abec8dd7bd462dc3591770377
2026-01-09 01:18:03 +01:00
Martin Prikryl
5d42a6dcab
Limiting OpenSSL API to 1.1
...
Hides some OpenSSL code that produces warnings when compiling with bcc64 (e.g. assigning SOCKET to int in bio_sock.c)
Source commit: 03f63be5c4500d9ba73f740ec3b696bc987239a0
2026-01-09 01:15:44 +01:00
Martin Prikryl
3e4285c8a7
Update to OpenSSL 3.5.4
...
Source commit: 8c0a0ffb020ae2169f173a6cfa96d7fbf524bc03
2025-11-20 13:39:35 +01:00
Martin Prikryl
c8730275a1
Merge branch 'thirdparty_dev' into dev
...
# Conflicts:
nf
# libs/openssl/crypto/conf/conf_mod.c
# libs/openssl/crypto/init.c
# libs/openssl/include/openssl/asn1.h
# libs/openssl/include/openssl/bio.h
# libs/openssl/include/openssl/cmp.h
# libs/openssl/include/openssl/cms.h
# libs/openssl/include/openssl/crmf.h
# libs/openssl/include/openssl/crypto.h
# libs/openssl/include/openssl/fipskey.h
# libs/openssl/include/openssl/pkcs12.h
# libs/openssl/include/openssl/ssl.h
# libs/openssl/include/openssl/x509.h
# libs/openssl/include/openssl/x509_vfy.h
# libs/openssl/ssl/quic/quic_tls.c
# libs/openssl/ssl/ssl_init.c
# libs/openssl/ssl/ssl_lib.c
.in
.in
.in
.in
.in
.in
Source commit: 72e033c3ae49e8fe8d7e236dc7c4566ea71c43ef
2025-11-20 12:39:39 +01:00
Martin Prikryl
c1b9277a66
OpenSSL 3.5.4
...
Source commit: 3e9d97cebbb2e97f8f7c4bc406ebfe7062715032
2025-11-20 12:35:43 +01:00
Martin Prikryl
88668a60bf
Resetting differences to official OpenSSL that are no longer needed
...
Most, if not all, were for compatibility with the classic C++Builder compiler
Source commit: 7519168f3b93b2a375a9197d1fb5dc35ba196204
2025-11-14 15:58:48 +01:00
Martin Prikryl
a89ac7d054
For consistency defining DES_ASM
...
Though it has any effect on Sparc platform only
Source commit: 465d2cc6302a4593cfdd33d3a16800271ac2c7cf
2025-11-14 15:50:31 +01:00
Martin Prikryl
8945ecf3ba
Explaining where do the OpenSSL compile defines come from
...
Source commit: f0e2c24edbf37c38c25561b446eed4e1a386cf03
2025-11-14 15:36:33 +01:00
Martin Prikryl
5851fe38e0
OpenSSL AES assembler implementation
...
Source commit: d3382232a8ce6513573a7651023e35783278b018
2025-11-14 01:14:46 +01:00
Martin Prikryl
1c985fa632
Can use RCU with Clang
...
Source commit: 2530aa395ae84aec20c0eccd833b253d029bb227
2025-11-13 01:15:25 +01:00
Martin Prikryl
ddcf984159
Merge branch 'master' into dev
...
Source commit: eaa3be05065a963aae4c9a2db1e1bcb388424013
2025-10-03 12:02:37 +02:00
Martin Prikryl
344369c104
Update to OpenSSL 3.3.5
...
Source commit: f9ced8907984095c0a74b69942bd7a2367e5a278
2025-10-03 12:00:01 +02:00
Martin Prikryl
4a1bf134be
Merge branch 'thirdparty'
...
# Conflicts:
# libs/openssl/include/openssl/crypto.h
# libs/openssl/include/openssl/opensslv.h
Source commit: 3ca4d08965cd1e439a1b00aeddeb0059533e19bb
2025-10-03 11:57:45 +02:00
Martin Prikryl
6ec29a5a18
OpenSSL 3.3.5
...
Source commit: bfee7abaf16e16767a604e5907bf644c16be36da
2025-10-03 11:55:13 +02:00
Martin Prikryl
4ba8c00e0c
Using Clang parallel compilation
...
Note regarding OpenSSL: With sources in different folder and lack of advanced rule in Borland makefile, it is not possible to use batch compilation with rule-based make file. Instead sources are explicitly (re)compiled in the library rule
Using 8 processes (higher number does not bring significant improvement)
Btw, so it was not true that Clang needs separate commandline for each file (see 17c5d4fa )
------
Timing statistics (times are the lowest out of few runs)
IDE WinSCP.cbproj recompile (i.e without thirdparty and components)
Classic 0:55
+PCH 0:39
Clang 2:53
+Batch 2:53
+OOP 2:56
+Batch+OOP 2:57
+B+OOP=2 1:51
+B+OOP=4 1:19
+B+OOP=8 1:05
+B+OOP=12 0:59
+B+OOP=16 1:00
thirdparty:
classic 2:35
clang 2:24
+8 0:49
build.bat:
classic 11:06
clang+8 8:38
Source commit: 1e073fb3df6a6f2c7f24de82d39fae6b1fc47367
2025-09-05 13:59:20 +02:00
Martin Prikryl
1d9fe8c955
Changing compiler to Clang/bcc32c
...
- regarding the ILINK_LibraryPath for Cfg_1_Win32 (Debug):
Win32\Debug (not only Win32c\Debug) needs to be before Win32c\Release, as win32c does not include debug builds of Pascal code - so without that VCL debugging won't work
- IDE insist on adding CC_Suffix to all projects once switched to Clang, although it is only used in WinSCP.cbproj
- UNICODE define: Not needed for build (it's implicit), but CodeInsight does not know it it somehow
Source commit: da06d73eb86caff5ca9cac0185bed54da0da8f07
2025-09-04 07:53:01 +02:00
Martin Prikryl
cea3db7f78
Clang imposed changes in thirdparty that should be noop and have no effect on classic compiler (3rd after 74fdf539)
...
Source commit: adaaa520f1fcbdfcfd84d92013249a049d1ee303
2025-07-30 01:09:38 +02:00
Martin Prikryl
17c5d4faea
For forward compatibility with bcc32c, compiling files one-by-one and putting flags first
...
bcc32c does not seem to support -n parameter and needs some flags like -cc1 first
Source commit: d73c9226e60be3eb222e826195804c00315e8384
2025-07-27 01:12:44 +02:00
Martin Prikryl
0712b574e1
Streamlining thirdparty libs makefiles to ease transition to Clang
...
Same compiler and linker flags for all libs
- O2 optimization enabled for libs3 and mfc
- otherwise the change should not be big
Preferring passing parameter on commandline instead of response files whenever possible, so they get logged
Passing includes and defined using separate parameter (as Clang does not seem to support semicolon separated lists)
Using extension rules for neon instead of separate rules for each file
Keeping separate rules for openssl as it is generated anyway
Source commit: 0a69ef054ed274abbe0ae1f8dc644c884670922f
2025-07-21 16:03:42 +02:00
Martin Prikryl
905f58426d
Preprocessing OpenSSL asm files with Clang
...
There's whitespace change in the generated files. But it should be noop.
Source commit: ba01932f1d2ba820fba57d76976849d18bf2e1d0
2025-07-19 01:05:48 +02:00