Skip to content

Commit

Permalink
Merge branch 'main' into far3-dev-tests
Browse files Browse the repository at this point in the history
* 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
  • Loading branch information
michaellukashov committed Jun 29, 2024
2 parents d2d1e0e + 461410e commit 29f27dc
Show file tree
Hide file tree
Showing 303 changed files with 15,160 additions and 4,476 deletions.
78 changes: 54 additions & 24 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,35 +1,65 @@
# for this file format description,
# see https://github.com/olivierlacan/keep-a-changelog

## [24.6.1.604] - 2024-06-29

### Changes

* Upgrade dependencies: OpenSSL 3.3.1
* Clarify .ppk file prompt: add (.ppk)
https://forum.farmanager.com/viewtopic.php?p=177884#p177884

### Fixes

* gh-485 Can not create a remote folder
https://github.com/michaellukashov/Far-NetBox/issues/485


## [24.6.0.603] - 2024-06-20

### Changes

* Upgrade dependencies: OpenSSL 3.2.2

### Fixes

Thanks to ssvine https://github.com/ssvine
* gh-484 Fix writing code page to database
* gh-483 Fix unexpected session closure when clicking Abort
* gh-482 Fix FTP codepage support


## [24.5.0.602] - 2024-05-05

### Changes
* gh-467 Update PuTTY to 0.81
* gh-461 Tell AppVeyour to keep build artifacts

* gh-467 Update PuTTY to 0.81
* gh-461 Tell AppVeyour to keep build artifacts

### Fixes

Thanks to ssvine https://github.com/ssvine
* gh-469 Fix log time format
* gh-468 Fix MFC termination
* gh-466 Fix Charset encoding for filenames
* gh-465 Fix dialog message
* gh-463 Fix freeze on exit
* gh-462 Fix possible crashes on lost connections while modal dialog is shown
* gh-459 Fix ssh crash on reconnect
* gh-458 Fix broken terminal output
* gh-457 Fix properties implementation
* gh-469 Fix log time format
* gh-468 Fix MFC termination
* gh-466 Fix Charset encoding for filenames
* gh-465 Fix dialog message
* gh-463 Fix freeze on exit
* gh-462 Fix possible crashes on lost connections while modal dialog is shown
* gh-459 Fix ssh crash on reconnect
* gh-458 Fix broken terminal output
* gh-457 Fix properties implementation


## [24.4.1.601] - 2024-04-10

### Fixes

Thanks to ssvine https://github.com/ssvine
* gh-455 Fix webdav prefix
* gh-454 Fix WebDAV preserve time
* gh-453 Fix hotkey problems
* gh-452 Fix editor not taking transfer settings into account
* gh-451 Fix openssl compilation flags to prevent DLL pinning
* gh-455 Fix webdav prefix
* gh-454 Fix WebDAV preserve time
* gh-453 Fix hotkey problems
* gh-452 Fix editor not taking transfer settings into account
* gh-451 Fix openssl compilation flags to prevent DLL pinning


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

Thanks to ssvine https://github.com/ssvine
* gh-449 Fix SFTP crash when resuming copy from local to remote
* gh-447 Fix crash when trying to copy parent directory entry
* gh-446 Fix Alt-F12 history navigation
* gh-445 Relax file naming restrictions
* gh-444 Fix regression: closing FTP does not completely clear the session
* gh-443 Several crashes
* gh-442 Fix several crashes
* gh-441 Fix WebDAV and S3 crash under some conditions
* gh-449 Fix SFTP crash when resuming copy from local to remote
* gh-447 Fix crash when trying to copy parent directory entry
* gh-446 Fix Alt-F12 history navigation
* gh-445 Relax file naming restrictions
* gh-444 Fix regression: closing FTP does not completely clear the session
* gh-443 Several crashes
* gh-442 Fix several crashes
* gh-441 Fix WebDAV and S3 crash under some conditions


## [24.3.1.599] - 2024-03-22
Expand Down
3 changes: 0 additions & 3 deletions libs/openssl-3/crypto/aes/aes_x86core.c
Original file line number Diff line number Diff line change
Expand Up @@ -81,13 +81,10 @@ static void prefetch256(const void *table)
#define GETU32(p) (*((u32*)(p)))

#if (defined(_WIN32) || defined(_WIN64)) && !defined(__MINGW32__)
typedef unsigned __int64 u64;
#define U64(C) C##UI64
#elif defined(__arch64__)
typedef unsigned long u64;
#define U64(C) C##UL
#else
typedef unsigned long long u64;
#define U64(C) C##ULL
#endif

Expand Down
6 changes: 5 additions & 1 deletion libs/openssl-3/crypto/arm_arch.h
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2011-2023 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2011-2024 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
Expand Down Expand Up @@ -88,6 +88,7 @@ extern unsigned int OPENSSL_armv8_rsa_neonized;
# define ARMV8_SVE (1<<13)
# define ARMV8_SVE2 (1<<14)
# define ARMV8_HAVE_SHA3_AND_WORTH_USING (1<<15)
# define ARMV8_UNROLL12_EOR3 (1<<16)

/*
* MIDR_EL1 system register
Expand All @@ -102,6 +103,7 @@ extern unsigned int OPENSSL_armv8_rsa_neonized;
# define ARM_CPU_IMP_ARM 0x41
# define HISI_CPU_IMP 0x48
# define ARM_CPU_IMP_APPLE 0x61
# define ARM_CPU_IMP_MICROSOFT 0x6D

# define ARM_CPU_PART_CORTEX_A72 0xD08
# define ARM_CPU_PART_N1 0xD0C
Expand All @@ -123,6 +125,8 @@ extern unsigned int OPENSSL_armv8_rsa_neonized;
# define APPLE_CPU_PART_M2_BLIZZARD_MAX 0x038
# define APPLE_CPU_PART_M2_AVALANCHE_MAX 0x039

# define MICROSOFT_CPU_PART_COBALT_100 0xD49

# define MIDR_PARTNUM_SHIFT 4
# define MIDR_PARTNUM_MASK (0xfffU << MIDR_PARTNUM_SHIFT)
# define MIDR_PARTNUM(midr) \
Expand Down
10 changes: 8 additions & 2 deletions libs/openssl-3/crypto/armcap.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2011-2023 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2011-2024 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
Expand Down Expand Up @@ -298,7 +298,8 @@ void OPENSSL_cpuid_setup(void)
size_t len = sizeof(uarch);
if ((sysctlbyname("machdep.cpu.brand_string", uarch, &len, NULL, 0) == 0) &&
((strncmp(uarch, "Apple M1", 8) == 0) ||
(strncmp(uarch, "Apple M2", 8) == 0))) {
(strncmp(uarch, "Apple M2", 8) == 0) ||
(strncmp(uarch, "Apple M3", 8) == 0))) {
OPENSSL_armcap_P |= ARMV8_UNROLL8_EOR3;
OPENSSL_armcap_P |= ARMV8_HAVE_SHA3_AND_WORTH_USING;
}
Expand Down Expand Up @@ -417,9 +418,14 @@ void OPENSSL_cpuid_setup(void)
}
if ((MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V1) ||
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_N2) ||
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_MICROSOFT, MICROSOFT_CPU_PART_COBALT_100) ||
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V2)) &&
(OPENSSL_armcap_P & ARMV8_SHA3))
OPENSSL_armcap_P |= ARMV8_UNROLL8_EOR3;
if ((MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V1) ||
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_ARM, ARM_CPU_PART_V2)) &&
(OPENSSL_armcap_P & ARMV8_SHA3))
OPENSSL_armcap_P |= ARMV8_UNROLL12_EOR3;
if ((MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM) ||
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_ICESTORM) ||
MIDR_IS_CPU_MODEL(OPENSSL_arm_midr, ARM_CPU_IMP_APPLE, APPLE_CPU_PART_M1_FIRESTORM_PRO) ||
Expand Down
8 changes: 3 additions & 5 deletions libs/openssl-3/crypto/asn1/a_time.c
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ int ossl_asn1_time_to_tm(struct tm *tm, const ASN1_TIME *d)
static const int max[9] = { 99, 99, 12, 31, 23, 59, 59, 12, 59 };
static const int mdays[12] = { 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 };
char *a;
int n, i, i2, l, o, min_l = 11, strict = 0, end = 6, btz = 5, md;
int n, i, i2, l, o, min_l, strict = 0, end = 6, btz = 5, md;
struct tm tmp;
#if defined(CHARSET_EBCDIC)
const char upper_z = 0x5A, num_zero = 0x30, period = 0x2E, minus = 0x2D, plus = 0x2B;
Expand All @@ -95,18 +95,16 @@ int ossl_asn1_time_to_tm(struct tm *tm, const ASN1_TIME *d)
* 3. "+|-" is not allowed to indicate a timezone
*/
if (d->type == V_ASN1_UTCTIME) {
min_l = 13;
if (d->flags & ASN1_STRING_FLAG_X509_TIME) {
min_l = 13;
strict = 1;
}
} else if (d->type == V_ASN1_GENERALIZEDTIME) {
end = 7;
btz = 6;
min_l = 15;
if (d->flags & ASN1_STRING_FLAG_X509_TIME) {
min_l = 15;
strict = 1;
} else {
min_l = 13;
}
} else {
return 0;
Expand Down
6 changes: 5 additions & 1 deletion libs/openssl-3/crypto/asn1/asn1_err.c
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/*
* Generated by util/mkerr.pl DO NOT EDIT
* Copyright 1995-2021 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 1995-2024 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
Expand Down Expand Up @@ -55,6 +55,8 @@ static const ERR_STRING_DATA ASN1_str_reasons[] = {
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_FIELD_MISSING), "field missing"},
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_FIRST_NUM_TOO_LARGE),
"first num too large"},
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT),
"generalizedtime is too short"},
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_HEADER_TOO_LONG), "header too long"},
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_ILLEGAL_BITSTRING_FORMAT),
"illegal bitstring format"},
Expand Down Expand Up @@ -192,6 +194,8 @@ static const ERR_STRING_DATA ASN1_str_reasons[] = {
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE),
"unsupported public key type"},
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_UNSUPPORTED_TYPE), "unsupported type"},
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_UTCTIME_IS_TOO_SHORT),
"utctime is too short"},
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_WRONG_INTEGER_TYPE),
"wrong integer type"},
{ERR_PACK(ERR_LIB_ASN1, 0, ASN1_R_WRONG_PUBLIC_KEY_TYPE),
Expand Down
10 changes: 9 additions & 1 deletion libs/openssl-3/crypto/asn1/tasn_dec.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2000-2021 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2000-2024 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
Expand Down Expand Up @@ -921,6 +921,14 @@ static int asn1_ex_c2i(ASN1_VALUE **pval, const unsigned char *cont, int len,
ERR_raise(ERR_LIB_ASN1, ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH);
goto err;
}
if (utype == V_ASN1_GENERALIZEDTIME && (len < 15)) {
ERR_raise(ERR_LIB_ASN1, ASN1_R_GENERALIZEDTIME_IS_TOO_SHORT);
goto err;
}
if (utype == V_ASN1_UTCTIME && (len < 13)) {
ERR_raise(ERR_LIB_ASN1, ASN1_R_UTCTIME_IS_TOO_SHORT);
goto err;
}
/* All based on ASN1_STRING and handled the same */
if (*pval == NULL) {
stmp = ASN1_STRING_type_new(utype);
Expand Down
5 changes: 3 additions & 2 deletions libs/openssl-3/crypto/bio/bio_dump.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,9 +141,10 @@ int BIO_hex_string(BIO *out, int indent, int width, const void *data,

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

j = (j + 1) % width;
if (!j)
if (++j >= width) {
j = 0;
BIO_printf(out, "\n");
}
}

if (i && !j)
Expand Down
2 changes: 1 addition & 1 deletion libs/openssl-3/crypto/bio/bio_lib.c
Original file line number Diff line number Diff line change
Expand Up @@ -817,7 +817,7 @@ BIO *BIO_find_type(BIO *bio, int type)
ERR_raise(ERR_LIB_BIO, ERR_R_PASSED_NULL_PARAMETER);
return NULL;
}
mask = type & 0xff;
mask = type & BIO_TYPE_MASK;
do {
if (bio->method != NULL) {
mt = bio->method->type;
Expand Down
4 changes: 3 additions & 1 deletion libs/openssl-3/crypto/bio/bio_meth.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 2016-2023 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 2016-2024 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
Expand Down Expand Up @@ -29,6 +29,8 @@ int BIO_get_new_index(void)
}
if (!CRYPTO_UP_REF(&bio_type_count, &newval))
return -1;
if (newval > BIO_TYPE_MASK)
return -1;
return newval;
}

Expand Down
3 changes: 0 additions & 3 deletions libs/openssl-3/crypto/bio/bio_sock.c
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,6 @@ static int wsa_init_done = 0;
# if defined __TANDEM
# include <unistd.h>
# include <sys/time.h> /* select */
# if defined(OPENSSL_TANDEM_FLOSS)
# include <floss.h(floss_select)>
# endif
# elif defined _WIN32
# include <winsock.h> /* for type fd_set */
# else
Expand Down
2 changes: 1 addition & 1 deletion libs/openssl-3/crypto/bio/bss_dgram.c
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,7 @@
|| M_METHOD == M_METHOD_WSARECVMSG
# if defined(__APPLE__)
/*
* CMSG_SPACE is not a constant expresson on OSX even though POSIX
* CMSG_SPACE is not a constant expression on OSX even though POSIX
* says it's supposed to be. This should be adequate.
*/
# define BIO_CMSG_ALLOC_LEN 64
Expand Down
1 change: 0 additions & 1 deletion libs/openssl-3/crypto/bn/bn_const.c
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,6 @@

#include <openssl/bn.h>
#include "crypto/bn_dh.h"
#include "bn_local.h" // WINSCP

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

Expand Down
2 changes: 1 addition & 1 deletion libs/openssl-3/crypto/bn/bn_gcd.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 1995-2023 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 1995-2020 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
Expand Down
2 changes: 1 addition & 1 deletion libs/openssl-3/crypto/bn/bn_mod.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
* Copyright 1998-2023 The OpenSSL Project Authors. All Rights Reserved.
* Copyright 1998-2021 The OpenSSL Project Authors. All Rights Reserved.
*
* Licensed under the Apache License 2.0 (the "License"). You may not use
* this file except in compliance with the License. You can obtain a copy
Expand Down
6 changes: 4 additions & 2 deletions libs/openssl-3/crypto/buildinf.h
Original file line number Diff line number Diff line change
Expand Up @@ -10,13 +10,15 @@
* https://www.openssl.org/source/license.html
*/

#define DATE "built on: Sat Jun 29 09:04:57 2024 UTC"
#if defined(_WIN64) || defined(OPENSSL_SYS_WIN64)
#define PLATFORM "platform: VC-WIN64A"
#define DATE "built on: Fri Feb 2 19:14:22 2024 UTC"
#endif
#if defined(_WIN32) || defined(OPENSSL_SYS_WIN32)
#define PLATFORM "platform: VC-WIN32"
#define DATE "built on: Fri Feb 2 20:36:20 2024 UTC"
#endif
#if defined(_M_ARM64)
#define PLATFORM "platform: VC-WIN64-ARM"
#endif

/*
Expand Down
10 changes: 7 additions & 3 deletions libs/openssl-3/crypto/chacha/chacha_enc.c
Original file line number Diff line number Diff line change
Expand Up @@ -90,9 +90,13 @@ static void chacha20_core(chacha_buf *output, const u32 input[16])
}
}

void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp,
size_t len, const unsigned int key[8],
const unsigned int counter[4])
#ifdef INCLUDE_C_CHACHA20
void ChaCha20_ctr32_c(unsigned char *out, const unsigned char *inp, size_t len,
const unsigned int key[8], const unsigned int counter[4])
#else
void ChaCha20_ctr32(unsigned char *out, const unsigned char *inp, size_t len,
const unsigned int key[8], const unsigned int counter[4])
#endif
{
u32 input[16];
chacha_buf buf;
Expand Down
Loading

0 comments on commit 29f27dc

Please sign in to comment.