libfilezilla: update to 0.36.0. 0.36.0 (2022-02-02) + Added parameter to tls_layer::set_alpn to control which peer has priority over which ALPN is chosen. + Added fz::hmac_sha1 + Mutex debugging framework to detect locking order inversions that may lead to deadlocks + Add additional io_redirect mode to fz::process_spawn where the parent-side handles for stdin/out/err are always closed - fz::json: Handle object members with empty string as name - Minor performance improvements to removing timers and to spawning processes 0.35.0 (2021-12-08) + *nix: Added fz::forkblock which can be used to safely set FD_CLOEXEC on descriptors even if the system lacks SOCK_CLOCKEXEC, MSG_CMSG_CLOEXEC, pipe2 or accept4 + macOS: Impersonation support + Added fz::tls_layer::set_unexpected_eof_cb, in some situations it may be desirable that unexpected closure is not reported as a hard errror - Added various convenience overloads for fz::buffer - Performance improvement for fz::json::to_string 0.34.2 (2021-10-26) + fz::file::open now returns fz::result - fz::tls_layer: Additional fixes for trust path extration - MSW: fz::local_filesys::get_next_file now handles directory contents returned by the kernel in oversized buffers with embedded nulls 0.34.1 (2021-10-19) - *nix: Handle supplementary groups when impersonating - *nix: fz::recv_fd now sets the MSG_CMSG_CLOEXEC flag - *nix: fz::local_filesys::get_link_target now handles link targets larger than 1024 bytes - MSW: Restrict DLL search path for system DLLs to the system32 directory - fz::tls_layer: Fixed how trust path extration interacts with CRLs 0.34.0 (2021-10-11) - MSW: Load shell32.dll and ole32.dll on-demand at runtime, it is not available in all environments - Made fz::local_filesys movable 0.33.0 (2021-09-29) + MSW: Add local_filesys::begin_find_files overload accepting a directory HANDLE + If peer certificate chain is trusted by the system trust store, tls_session_info::get_certificates now returns the actual path to the trust anchor, use tls_session_info::get_peer_certificates to get the peer certificates as received by the server. GnuTLS 3.7.0 or later is required. - JSON: Correctly handle \u-encoded UTF-16 surrogate pairs 0.32.0 (2021-09-14) + MSW: Impersonation support - Allow more direct control over session ticket/PSK generation under TLS 1.3, requires GnuTLS 3.6.14 or later - Ensure an error is returned if accepting a socket fails - Fixed appending to fz::buffer 0.32.0-beta1 (2021-08-30) + *nix: Impersonation support + *nix: Sending of file descriptors over Unix Domain Sockets * nix: Add local_filesys::begin_find_files overload accepting a directory file descriptor + Allow creating fz::file from a file descriptors/handle, add function to detach the descriptor/handle + Added fz::datetime::operator>= + Added fz::duration::absolute() - fz::sprintf no longer crashes on x and X conversion specifiers if a negative signed integer is passed as argument - Replace std::random_device as the C++ standard allows it to not be random - JSON: Fixed crash if assigning values from nested values - JWS: Fixed memory leak and padding of signature componentsdiff -r1.39 -r1.40 pkgsrc/net/libfilezilla/Makefile
(wiz)
@@ -1,17 +1,16 @@ | @@ -1,17 +1,16 @@ | |||
1 | # $NetBSD: Makefile,v 1.39 2021/12/08 16:06:02 adam Exp $ | 1 | # $NetBSD: Makefile,v 1.40 2022/02/07 10:48:26 wiz Exp $ | |
2 | 2 | |||
3 | DISTNAME= libfilezilla-0.31.1 | 3 | DISTNAME= libfilezilla-0.36.0 | |
4 | PKGREVISION= 2 | |||
5 | CATEGORIES= net | 4 | CATEGORIES= net | |
6 | # some kind of direct-download disabling | 5 | # some kind of direct-download disabling | |
7 | #MASTER_SITES= https://dl3.cdn.filezilla-project.org/libfilezilla/ | 6 | #MASTER_SITES= https://dl3.cdn.filezilla-project.org/libfilezilla/ | |
8 | EXTRACT_SUFX= .tar.bz2 | 7 | EXTRACT_SUFX= .tar.bz2 | |
9 | 8 | |||
10 | MAINTAINER= pkgsrc-users@NetBSD.org | 9 | MAINTAINER= pkgsrc-users@NetBSD.org | |
11 | HOMEPAGE= https://lib.filezilla-project.org/ | 10 | HOMEPAGE= https://lib.filezilla-project.org/ | |
12 | COMMENT= Library for building high-performing, platform-independent programs | 11 | COMMENT= Library for building high-performing, platform-independent programs | |
13 | LICENSE= gnu-gpl-v2 | 12 | LICENSE= gnu-gpl-v2 | |
14 | 13 | |||
15 | GNU_CONFIGURE= yes | 14 | GNU_CONFIGURE= yes | |
16 | USE_LIBTOOL= yes | 15 | USE_LIBTOOL= yes | |
17 | USE_TOOLS+= gmake msgfmt pkg-config | 16 | USE_TOOLS+= gmake msgfmt pkg-config |
@@ -1,29 +1,31 @@ | @@ -1,29 +1,31 @@ | |||
1 | @comment $NetBSD: PLIST,v 1.13 2021/07/29 10:28:47 wiz Exp $ | 1 | @comment $NetBSD: PLIST,v 1.14 2022/02/07 10:48:26 wiz Exp $ | |
2 | include/libfilezilla/apply.hpp | 2 | include/libfilezilla/apply.hpp | |
3 | include/libfilezilla/buffer.hpp | 3 | include/libfilezilla/buffer.hpp | |
4 | include/libfilezilla/encode.hpp | 4 | include/libfilezilla/encode.hpp | |
5 | include/libfilezilla/encryption.hpp | 5 | include/libfilezilla/encryption.hpp | |
6 | include/libfilezilla/event.hpp | 6 | include/libfilezilla/event.hpp | |
7 | include/libfilezilla/event_handler.hpp | 7 | include/libfilezilla/event_handler.hpp | |
8 | include/libfilezilla/event_loop.hpp | 8 | include/libfilezilla/event_loop.hpp | |
9 | include/libfilezilla/file.hpp | 9 | include/libfilezilla/file.hpp | |
10 | include/libfilezilla/format.hpp | 10 | include/libfilezilla/format.hpp | |
11 | include/libfilezilla/fsresult.hpp | |||
11 | include/libfilezilla/glue/unix.hpp | 12 | include/libfilezilla/glue/unix.hpp | |
12 | include/libfilezilla/glue/windows.hpp | 13 | include/libfilezilla/glue/windows.hpp | |
13 | include/libfilezilla/glue/wx.hpp | 14 | include/libfilezilla/glue/wx.hpp | |
14 | include/libfilezilla/glue/wxinvoker.hpp | 15 | include/libfilezilla/glue/wxinvoker.hpp | |
15 | include/libfilezilla/hash.hpp | 16 | include/libfilezilla/hash.hpp | |
16 | include/libfilezilla/hostname_lookup.hpp | 17 | include/libfilezilla/hostname_lookup.hpp | |
18 | include/libfilezilla/impersonation.hpp | |||
17 | include/libfilezilla/invoker.hpp | 19 | include/libfilezilla/invoker.hpp | |
18 | include/libfilezilla/iputils.hpp | 20 | include/libfilezilla/iputils.hpp | |
19 | include/libfilezilla/json.hpp | 21 | include/libfilezilla/json.hpp | |
20 | include/libfilezilla/jws.hpp | 22 | include/libfilezilla/jws.hpp | |
21 | include/libfilezilla/libfilezilla.hpp | 23 | include/libfilezilla/libfilezilla.hpp | |
22 | include/libfilezilla/local_filesys.hpp | 24 | include/libfilezilla/local_filesys.hpp | |
23 | include/libfilezilla/logger.hpp | 25 | include/libfilezilla/logger.hpp | |
24 | include/libfilezilla/mutex.hpp | 26 | include/libfilezilla/mutex.hpp | |
25 | include/libfilezilla/nonowning_buffer.hpp | 27 | include/libfilezilla/nonowning_buffer.hpp | |
26 | include/libfilezilla/optional.hpp | 28 | include/libfilezilla/optional.hpp | |
27 | include/libfilezilla/private/defs.hpp | 29 | include/libfilezilla/private/defs.hpp | |
28 | include/libfilezilla/private/visibility.hpp | 30 | include/libfilezilla/private/visibility.hpp | |
29 | include/libfilezilla/process.hpp | 31 | include/libfilezilla/process.hpp |
@@ -1,5 +1,6 @@ | @@ -1,5 +1,6 @@ | |||
1 | $NetBSD: distinfo,v 1.33 2021/10/26 11:05:54 nia Exp $ | 1 | $NetBSD: distinfo,v 1.34 2022/02/07 10:48:26 wiz Exp $ | |
2 | 2 | |||
3 | BLAKE2s (libfilezilla-0.31.1.tar.bz2) = ca51716842113f08b37ab3967fa1489def8b7ee3dc82d274e5bcdb4773753a2a | 3 | BLAKE2s (libfilezilla-0.36.0.tar.bz2) = 2f73811e989f0fb8fa2afbfbef3fcf99a4323ea147ffdda884c907ef0b3c9fee | |
4 | SHA512 (libfilezilla-0.31.1.tar.bz2) = 072ae343bc44939deff435078c29954dc60e4bb5079aa705b7445bec17717919d4957858538284e4f131d734439743bd5d39085a618ea41d586be8be887cf2b8 | 4 | SHA512 (libfilezilla-0.36.0.tar.bz2) = c6b0240c560afb87426f7ccf01e34eb92975b043697be89f26a12dcfaf4a109d308eed200429f986b14f80111573ea5a869194375c844fa7b666d173e9629a0a | |
5 | Size (libfilezilla-0.31.1.tar.bz2) = 585070 bytes | 5 | Size (libfilezilla-0.36.0.tar.bz2) = 598327 bytes | |
6 | SHA1 (patch-lib_impersonation.cpp) = 08f549a935e7534721b36d6689d5324e6c0e6ff7 |
$NetBSD: patch-lib_impersonation.cpp,v 1.1 2022/02/07 10:48:26 wiz Exp $
Hide Linux-specific stuff in ifdef __Linux__
--- lib/impersonation.cpp.orig 2021-12-08 15:10:58.000000000 +0000
+++ lib/impersonation.cpp
@@ -7,7 +7,7 @@
#include <optional>
#include <tuple>
-#if FZ_UNIX
+#if FZ_UNIX && defined(__Linux__)
#include <crypt.h>
#include <shadow.h>
#endif
@@ -58,7 +58,7 @@ passwd_holder get_passwd(fz::native_stri
return ret;
}
-#if FZ_UNIX
+#if FZ_UNIX && defined(__Linux__)
struct shadow_holder {
shadow_holder() = default;
shadow_holder(shadow_holder const&) = delete;
@@ -150,7 +150,7 @@ std::vector<gid_t> get_supplementary(std
bool check_auth(fz::native_string const& username, fz::native_string const& password)
{
-#if FZ_UNIX
+#if FZ_UNIX && defined(__Linux__)
auto shadow = get_shadow(username);
if (shadow.shadow_) {
struct crypt_data data{};