Skip to content

Commit 29f27dc

Browse files
Merge branch 'main' into far3-dev-tests
* main: upd ChangeLog Bugfix: Can not create a remote folder - Issue #485 sync with WinSCP: rename TCustomFileSystem::GetAbsolutePath -> TCustomFileSystem::AbsolutePath sync with WinSCP: rename TTerminal::GetAbsolutePath -> TTerminal::AbsolutePath clarify .ppk file prompt: add (.ppk) upd NetBox version info upd OpenSSL version info OpenSSL: NetBox patches OpenSSL: upd to 3.3.1 bump version to 24.6.0.603 upd OpenSSL version info
2 parents d2d1e0e + 461410e commit 29f27dc

File tree

303 files changed

+15160
-4476
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

303 files changed

+15160
-4476
lines changed

ChangeLog

+54-24
Original file line numberDiff line numberDiff line change
@@ -1,35 +1,65 @@
11
# for this file format description,
22
# see https://github.com/olivierlacan/keep-a-changelog
33

4+
## [24.6.1.604] - 2024-06-29
5+
6+
### Changes
7+
8+
* Upgrade dependencies: OpenSSL 3.3.1
9+
* Clarify .ppk file prompt: add (.ppk)
10+
https://forum.farmanager.com/viewtopic.php?p=177884#p177884
11+
12+
### Fixes
13+
14+
* gh-485 Can not create a remote folder
15+
https://github.com/michaellukashov/Far-NetBox/issues/485
16+
17+
18+
## [24.6.0.603] - 2024-06-20
19+
20+
### Changes
21+
22+
* Upgrade dependencies: OpenSSL 3.2.2
23+
24+
### Fixes
25+
26+
Thanks to ssvine https://github.com/ssvine
27+
* gh-484 Fix writing code page to database
28+
* gh-483 Fix unexpected session closure when clicking Abort
29+
* gh-482 Fix FTP codepage support
30+
31+
432
## [24.5.0.602] - 2024-05-05
533

634
### Changes
7-
* gh-467 Update PuTTY to 0.81
8-
* gh-461 Tell AppVeyour to keep build artifacts
35+
36+
* gh-467 Update PuTTY to 0.81
37+
* gh-461 Tell AppVeyour to keep build artifacts
938

1039
### Fixes
1140

1241
Thanks to ssvine https://github.com/ssvine
13-
* gh-469 Fix log time format
14-
* gh-468 Fix MFC termination
15-
* gh-466 Fix Charset encoding for filenames
16-
* gh-465 Fix dialog message
17-
* gh-463 Fix freeze on exit
18-
* gh-462 Fix possible crashes on lost connections while modal dialog is shown
19-
* gh-459 Fix ssh crash on reconnect
20-
* gh-458 Fix broken terminal output
21-
* gh-457 Fix properties implementation
42+
* gh-469 Fix log time format
43+
* gh-468 Fix MFC termination
44+
* gh-466 Fix Charset encoding for filenames
45+
* gh-465 Fix dialog message
46+
* gh-463 Fix freeze on exit
47+
* gh-462 Fix possible crashes on lost connections while modal dialog is shown
48+
* gh-459 Fix ssh crash on reconnect
49+
* gh-458 Fix broken terminal output
50+
* gh-457 Fix properties implementation
51+
2252

2353
## [24.4.1.601] - 2024-04-10
2454

2555
### Fixes
2656

2757
Thanks to ssvine https://github.com/ssvine
28-
* gh-455 Fix webdav prefix
29-
* gh-454 Fix WebDAV preserve time
30-
* gh-453 Fix hotkey problems
31-
* gh-452 Fix editor not taking transfer settings into account
32-
* gh-451 Fix openssl compilation flags to prevent DLL pinning
58+
* gh-455 Fix webdav prefix
59+
* gh-454 Fix WebDAV preserve time
60+
* gh-453 Fix hotkey problems
61+
* gh-452 Fix editor not taking transfer settings into account
62+
* gh-451 Fix openssl compilation flags to prevent DLL pinning
3363

3464

3565
## [24.4.0.600] - 2024-04-03
@@ -40,14 +70,14 @@ Thanks to ssvine https://github.com/ssvine
4070
https://github.com/FarGroup/FarManager/issues/816
4171

4272
Thanks to ssvine https://github.com/ssvine
43-
* gh-449 Fix SFTP crash when resuming copy from local to remote
44-
* gh-447 Fix crash when trying to copy parent directory entry
45-
* gh-446 Fix Alt-F12 history navigation
46-
* gh-445 Relax file naming restrictions
47-
* gh-444 Fix regression: closing FTP does not completely clear the session
48-
* gh-443 Several crashes
49-
* gh-442 Fix several crashes
50-
* gh-441 Fix WebDAV and S3 crash under some conditions
73+
* gh-449 Fix SFTP crash when resuming copy from local to remote
74+
* gh-447 Fix crash when trying to copy parent directory entry
75+
* gh-446 Fix Alt-F12 history navigation
76+
* gh-445 Relax file naming restrictions
77+
* gh-444 Fix regression: closing FTP does not completely clear the session
78+
* gh-443 Several crashes
79+
* gh-442 Fix several crashes
80+
* gh-441 Fix WebDAV and S3 crash under some conditions
5181

5282

5383
## [24.3.1.599] - 2024-03-22

libs/openssl-3/crypto/aes/aes_x86core.c

-3
Original file line numberDiff line numberDiff line change
@@ -81,13 +81,10 @@ static void prefetch256(const void *table)
8181
#define GETU32(p) (*((u32*)(p)))
8282

8383
#if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__)
84-
typedef unsigned __int64 u64;
8584
#define U64(C) C##UI64
8685
#elif defined(__arch64__)
87-
typedef unsigned long u64;
8886
#define U64(C) C##UL
8987
#else
90-
typedef unsigned long long u64;
9188
#define U64(C) C##ULL
9289
#endif
9390

libs/openssl-3/crypto/arm_arch.h

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2011-2023 The OpenSSL Project Authors. All Rights Reserved.
2+
* Copyright 2011-2024 The OpenSSL Project Authors. All Rights Reserved.
33
*
44
* Licensed under the Apache License 2.0 (the "License"). You may not use
55
* this file except in compliance with the License. You can obtain a copy
@@ -88,6 +88,7 @@ extern unsigned int OPENSSL_armv8_rsa_neonized;
8888
# define ARMV8_SVE (1<<13)
8989
# define ARMV8_SVE2 (1<<14)
9090
# define ARMV8_HAVE_SHA3_AND_WORTH_USING (1<<15)
91+
# define ARMV8_UNROLL12_EOR3 (1<<16)
9192

9293
/*
9394
* MIDR_EL1 system register
@@ -102,6 +103,7 @@ extern unsigned int OPENSSL_armv8_rsa_neonized;
102103
# define ARM_CPU_IMP_ARM 0x41
103104
# define HISI_CPU_IMP 0x48
104105
# define ARM_CPU_IMP_APPLE 0x61
106+
# define ARM_CPU_IMP_MICROSOFT 0x6D
105107

106108
# define ARM_CPU_PART_CORTEX_A72 0xD08
107109
# define ARM_CPU_PART_N1 0xD0C
@@ -123,6 +125,8 @@ extern unsigned int OPENSSL_armv8_rsa_neonized;
123125
# define APPLE_CPU_PART_M2_BLIZZARD_MAX 0x038
124126
# define APPLE_CPU_PART_M2_AVALANCHE_MAX 0x039
125127

128+
# define MICROSOFT_CPU_PART_COBALT_100 0xD49
129+
126130
# define MIDR_PARTNUM_SHIFT 4
127131
# define MIDR_PARTNUM_MASK (0xfffU << MIDR_PARTNUM_SHIFT)
128132
# define MIDR_PARTNUM(midr) \

libs/openssl-3/crypto/armcap.c

+8-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2011-2023 The OpenSSL Project Authors. All Rights Reserved.
2+
* Copyright 2011-2024 The OpenSSL Project Authors. All Rights Reserved.
33
*
44
* Licensed under the Apache License 2.0 (the "License"). You may not use
55
* this file except in compliance with the License. You can obtain a copy
@@ -298,7 +298,8 @@ void OPENSSL_cpuid_setup(void)
298298
size_t len = sizeof(uarch);
299299
if ((sysctlbyname("machdep.cpu.brand_string", uarch, &len, NULL, 0) == 0) &&
300300
((strncmp(uarch, "Apple M1", 8) == 0) ||
301-
(strncmp(uarch, "Apple M2", 8) == 0))) {
301+
(strncmp(uarch, "Apple M2", 8) == 0) ||
302+
(strncmp(uarch, "Apple M3", 8) == 0))) {
302303
OPENSSL_armcap_P |= ARMV8_UNROLL8_EOR3;
303304
OPENSSL_armcap_P |= ARMV8_HAVE_SHA3_AND_WORTH_USING;
304305
}
@@ -417,9 +418,14 @@ void OPENSSL_cpuid_setup(void)
417418
}
418419
if ((MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V1) ||
419420
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_N2) ||
421+
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_MICROSOFT, MICROSOFT_CPU_PART_COBALT_100) ||
420422
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V2)) &&
421423
(OPENSSL_armcap_P & ARMV8_SHA3))
422424
OPENSSL_armcap_P |= ARMV8_UNROLL8_EOR3;
425+
if ((MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V1) ||
426+
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V2)) &&
427+
(OPENSSL_armcap_P & ARMV8_SHA3))
428+
OPENSSL_armcap_P |= ARMV8_UNROLL12_EOR3;
423429
if ((MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM) ||
424430
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM) ||
425431
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_PRO) ||

libs/openssl-3/crypto/asn1/a_time.c

+3-5
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ int ossl_asn1_time_to_tm(struct tm *tm, const ASN1_TIME *d)
7979
static const int max[9] = { 99, 99, 12, 31, 23, 59, 59, 12, 59 };
8080
static const int mdays[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
8181
char *a;
82-
int n, i, i2, l, o, min_l = 11, strict = 0, end = 6, btz = 5, md;
82+
int n, i, i2, l, o, min_l, strict = 0, end = 6, btz = 5, md;
8383
struct tm tmp;
8484
#if defined(CHARSET_EBCDIC)
8585
const char upper_z = 0x5A, num_zero = 0x30, period = 0x2E, minus = 0x2D, plus = 0x2B;
@@ -95,18 +95,16 @@ int ossl_asn1_time_to_tm(struct tm *tm, const ASN1_TIME *d)
9595
* 3. "+|-" is not allowed to indicate a timezone
9696
*/
9797
if (d->type == V_ASN1_UTCTIME) {
98+
min_l = 13;
9899
if (d->flags & ASN1_STRING_FLAG_X509_TIME) {
99-
min_l = 13;
100100
strict = 1;
101101
}
102102
} else if (d->type == V_ASN1_GENERALIZEDTIME) {
103103
end = 7;
104104
btz = 6;
105+
min_l = 15;
105106
if (d->flags & ASN1_STRING_FLAG_X509_TIME) {
106-
min_l = 15;
107107
strict = 1;
108-
} else {
109-
min_l = 13;
110108
}
111109
} else {
112110
return 0;

libs/openssl-3/crypto/asn1/asn1_err.c

+5-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
/*
22
* Generated by util/mkerr.pl DO NOT EDIT
3-
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
3+
* Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved.
44
*
55
* Licensed under the Apache License 2.0 (the "License"). You may not use
66
* this file except in compliance with the License. You can obtain a copy
@@ -55,6 +55,8 @@ static const ERR_STRING_DATA ASN1_str_reasons[] = {
5555
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_FIELD_MISSING), "field missing"},
5656
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_FIRST_NUM_TOO_LARGE),
5757
"first num too large"},
58+
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT),
59+
"generalizedtime is too short"},
5860
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_HEADER_TOO_LONG), "header too long"},
5961
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_ILLEGAL_BITSTRING_FORMAT),
6062
"illegal bitstring format"},
@@ -192,6 +194,8 @@ static const ERR_STRING_DATA ASN1_str_reasons[] = {
192194
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE),
193195
"unsupported public key type"},
194196
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_UNSUPPORTED_TYPE), "unsupported type"},
197+
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_UTCTIME_IS_TOO_SHORT),
198+
"utctime is too short"},
195199
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_WRONG_INTEGER_TYPE),
196200
"wrong integer type"},
197201
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_WRONG_PUBLIC_KEY_TYPE),

libs/openssl-3/crypto/asn1/tasn_dec.c

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
2+
* Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.
33
*
44
* Licensed under the Apache License 2.0 (the "License"). You may not use
55
* this file except in compliance with the License. You can obtain a copy
@@ -921,6 +921,14 @@ static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
921921
ERR_raise(ERR_LIB_ASN1, ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH);
922922
goto err;
923923
}
924+
if (utype == V_ASN1_GENERALIZEDTIME && (len < 15)) {
925+
ERR_raise(ERR_LIB_ASN1, ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT);
926+
goto err;
927+
}
928+
if (utype == V_ASN1_UTCTIME && (len < 13)) {
929+
ERR_raise(ERR_LIB_ASN1, ASN1_R_UTCTIME_IS_TOO_SHORT);
930+
goto err;
931+
}
924932
/* All based on ASN1_STRING and handled the same */
925933
if (*pval == NULL) {
926934
stmp = ASN1_STRING_type_new(utype);

libs/openssl-3/crypto/bio/bio_dump.c

+3-2
Original file line numberDiff line numberDiff line change
@@ -141,9 +141,10 @@ int BIO_hex_string(BIO *out, int indent, int width, const void *data,
141141

142142
BIO_printf(out, "%02X:", d[i]);
143143

144-
j = (j + 1) % width;
145-
if (!j)
144+
if (++j >= width) {
145+
j = 0;
146146
BIO_printf(out, "\n");
147+
}
147148
}
148149

149150
if (i && !j)

libs/openssl-3/crypto/bio/bio_lib.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -817,7 +817,7 @@ BIO *BIO_find_type(BIO *bio, int type)
817817
ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
818818
return NULL;
819819
}
820-
mask = type & 0xff;
820+
mask = type & BIO_TYPE_MASK;
821821
do {
822822
if (bio->method != NULL) {
823823
mt = bio->method->type;

libs/openssl-3/crypto/bio/bio_meth.c

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2016-2023 The OpenSSL Project Authors. All Rights Reserved.
2+
* Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
33
*
44
* Licensed under the Apache License 2.0 (the "License"). You may not use
55
* this file except in compliance with the License. You can obtain a copy
@@ -29,6 +29,8 @@ int BIO_get_new_index(void)
2929
}
3030
if (!CRYPTO_UP_REF(&bio_type_count, &newval))
3131
return -1;
32+
if (newval > BIO_TYPE_MASK)
33+
return -1;
3234
return newval;
3335
}
3436

libs/openssl-3/crypto/bio/bio_sock.c

-3
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,6 @@ static int wsa_init_done = 0;
2626
# if defined __TANDEM
2727
# include <unistd.h>
2828
# include <sys/time.h> /* select */
29-
# if defined(OPENSSL_TANDEM_FLOSS)
30-
# include <floss.h(floss_select)>
31-
# endif
3229
# elif defined _WIN32
3330
# include <winsock.h> /* for type fd_set */
3431
# else

libs/openssl-3/crypto/bio/bss_dgram.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -107,7 +107,7 @@
107107
|| M_METHOD == M_METHOD_WSARECVMSG
108108
# if defined(__APPLE__)
109109
/*
110-
* CMSG_SPACE is not a constant expresson on OSX even though POSIX
110+
* CMSG_SPACE is not a constant expression on OSX even though POSIX
111111
* says it's supposed to be. This should be adequate.
112112
*/
113113
# define BIO_CMSG_ALLOC_LEN 64

libs/openssl-3/crypto/bn/bn_const.c

-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@
99

1010
#include <openssl/bn.h>
1111
#include "crypto/bn_dh.h"
12-
#include "bn_local.h" // WINSCP
1312

1413
#define COPY_BN(dst, src) (dst != NULL) ? BN_copy(dst, &src) : BN_dup(&src)
1514

libs/openssl-3/crypto/bn/bn_gcd.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
2+
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
33
*
44
* Licensed under the Apache License 2.0 (the "License"). You may not use
55
* this file except in compliance with the License. You can obtain a copy

libs/openssl-3/crypto/bn/bn_mod.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 1998-2023 The OpenSSL Project Authors. All Rights Reserved.
2+
* Copyright 1998-2021 The OpenSSL Project Authors. All Rights Reserved.
33
*
44
* Licensed under the Apache License 2.0 (the "License"). You may not use
55
* this file except in compliance with the License. You can obtain a copy

libs/openssl-3/crypto/buildinf.h

+4-2
Original file line numberDiff line numberDiff line change
@@ -10,13 +10,15 @@
1010
* https://www.openssl.org/source/license.html
1111
*/
1212

13+
#define DATE "built on: Sat Jun 29 09:04:57 2024 UTC"
1314
#if defined(_WIN64) || defined(OPENSSL_SYS_WIN64)
1415
#define PLATFORM "platform: VC-WIN64A"
15-
#define DATE "built on: Fri Feb 2 19:14:22 2024 UTC"
1616
#endif
1717
#if defined(_WIN32) || defined(OPENSSL_SYS_WIN32)
1818
#define PLATFORM "platform: VC-WIN32"
19-
#define DATE "built on: Fri Feb 2 20:36:20 2024 UTC"
19+
#endif
20+
#if defined(_M_ARM64)
21+
#define PLATFORM "platform: VC-WIN64-ARM"
2022
#endif
2123

2224
/*

libs/openssl-3/crypto/chacha/chacha_enc.c

+7-3
Original file line numberDiff line numberDiff line change
@@ -90,9 +90,13 @@ static void chacha20_core(chacha_buf *output, const u32 input[16])
9090
}
9191
}
9292

93-
void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
94-
size_t len, const unsigned int key[8],
95-
const unsigned int counter[4])
93+
#ifdef INCLUDE_C_CHACHA20
94+
void ChaCha20_ctr32_c(unsigned char *out, const unsigned char *inp, size_t len,
95+
const unsigned int key[8], const unsigned int counter[4])
96+
#else
97+
void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp, size_t len,
98+
const unsigned int key[8], const unsigned int counter[4])
99+
#endif
96100
{
97101
u32 input[16];
98102
chacha_buf buf;

0 commit comments

Comments
 (0)