diff options
Diffstat (limited to 'net')
198 files changed, 9009 insertions, 1117 deletions
diff --git a/net/Makefile b/net/Makefile index cb88e56a6c9c..a2cfda5f56a8 100644 --- a/net/Makefile +++ b/net/Makefile @@ -1498,6 +1498,7 @@ SUBDIR += samba419 SUBDIR += samba420 SUBDIR += samba422 + SUBDIR += samba423 SUBDIR += samplicator SUBDIR += savvycan SUBDIR += sbm diff --git a/net/amnezia-kmod/Makefile b/net/amnezia-kmod/Makefile index 8e6d734dd4ed..523c32e5834e 100644 --- a/net/amnezia-kmod/Makefile +++ b/net/amnezia-kmod/Makefile @@ -1,5 +1,5 @@ PORTNAME= amnezia -PORTVERSION= 1.0.8 +PORTVERSION= 2.0.8 DISTVERSIONPREFIX= v CATEGORIES= net net-vpn PKGNAMESUFFIX= -kmod diff --git a/net/amnezia-kmod/distinfo b/net/amnezia-kmod/distinfo index 1e206f9cefcc..318fbb887373 100644 --- a/net/amnezia-kmod/distinfo +++ b/net/amnezia-kmod/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1753648668 -SHA256 (vgrebenschikov-wireguard-amnezia-kmod-v1.0.8_GH0.tar.gz) = 5045cfe0f0f6d58c2c6f5103f2f5b4238b7f59f33ca6f0a8b516762ead7ba7eb -SIZE (vgrebenschikov-wireguard-amnezia-kmod-v1.0.8_GH0.tar.gz) = 57959 +TIMESTAMP = 1765569800 +SHA256 (vgrebenschikov-wireguard-amnezia-kmod-v2.0.8_GH0.tar.gz) = 3e8eef841d8249f9406c1d06c666aa2f902524c965c388fac489543043764a9b +SIZE (vgrebenschikov-wireguard-amnezia-kmod-v2.0.8_GH0.tar.gz) = 69102 diff --git a/net/amnezia-kmod/files/patch-if__wg.c b/net/amnezia-kmod/files/patch-if__wg.c index 9dd13ffb9054..c5fce996ad63 100644 --- a/net/amnezia-kmod/files/patch-if__wg.c +++ b/net/amnezia-kmod/files/patch-if__wg.c @@ -1,6 +1,6 @@ ---- if_wg.c.orig 2025-07-22 17:38:01 UTC +--- if_wg.c.orig 2025-12-10 17:55:03 UTC +++ if_wg.c -@@ -278,21 +278,21 @@ static volatile unsigned long peer_counter = 0; +@@ -305,21 +305,21 @@ static volatile unsigned long peer_counter = 0; static int clone_count; static uma_zone_t wg_packet_zone; static volatile unsigned long peer_counter = 0; @@ -27,7 +27,7 @@ #define WG_CAPS IFCAP_LINKSTATE struct wg_timespec64 { -@@ -386,10 +386,10 @@ static int wg_ioctl(if_t, u_long, caddr_t); +@@ -418,10 +418,10 @@ static int wg_ioctl(if_t, u_long, caddr_t); static void wg_reassign(if_t, struct vnet *, char *unused); static void wg_init(void *); static int wg_ioctl(if_t, u_long, caddr_t); @@ -42,7 +42,7 @@ /* TODO Peer */ static struct wg_peer * -@@ -408,7 +408,7 @@ wg_peer_alloc(struct wg_softc *sc, const uint8_t pub_k +@@ -448,7 +448,7 @@ wg_peer_create(struct wg_softc *sc, const uint8_t pub_ cookie_maker_init(&peer->p_cookie, pub_key); @@ -51,7 +51,7 @@ wg_queue_init(&peer->p_stage_queue, "stageq"); wg_queue_init(&peer->p_encrypt_serial, "txq"); -@@ -428,9 +428,9 @@ wg_peer_alloc(struct wg_softc *sc, const uint8_t pub_k +@@ -468,9 +468,9 @@ wg_peer_create(struct wg_softc *sc, const uint8_t pub_ peer->p_handshake_retries = 0; GROUPTASK_INIT(&peer->p_send, 0, (gtask_fn_t *)wg_deliver_out, peer); @@ -63,7 +63,7 @@ LIST_INIT(&peer->p_aips); peer->p_aips_num = 0; -@@ -3286,26 +3286,26 @@ static void +@@ -3720,26 +3720,26 @@ static void } static void @@ -79,9 +79,9 @@ + V_amn_cloner = ifc_attach_cloner(wgname, &req); } -VNET_SYSINIT(vnet_wg_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, -- vnet_wg_init, NULL); +- vnet_wg_init, NULL); +VNET_SYSINIT(vnet_amn_init, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, -+ vnet_amn_init, NULL); ++ vnet_amn_init, NULL); static void -vnet_wg_uninit(const void *unused __unused) @@ -93,13 +93,13 @@ + ifc_detach_cloner(V_amn_cloner); } -VNET_SYSUNINIT(vnet_wg_uninit, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, -- vnet_wg_uninit, NULL); +- vnet_wg_uninit, NULL); +VNET_SYSUNINIT(vnet_amn_uninit, SI_SUB_PROTO_IFATTACHDOMAIN, SI_ORDER_ANY, -+ vnet_amn_uninit, NULL); ++ vnet_amn_uninit, NULL); static int wg_prison_remove(void *obj, void *data __unused) -@@ -3352,14 +3352,14 @@ static int +@@ -3786,14 +3786,14 @@ static int #endif static int @@ -113,10 +113,10 @@ - wg_packet_zone = uma_zcreate("wg packet", sizeof(struct wg_packet), + wg_packet_zone = uma_zcreate("amn packet", sizeof(struct wg_packet), - NULL, NULL, NULL, NULL, 0, 0); + NULL, NULL, NULL, NULL, 0, 0); ret = crypto_init(); -@@ -3378,15 +3378,15 @@ static void +@@ -3812,15 +3812,15 @@ static void } static void @@ -135,7 +135,7 @@ } } VNET_LIST_RUNLOCK(); -@@ -3401,13 +3401,13 @@ static int +@@ -3835,13 +3835,13 @@ static int } static int @@ -152,7 +152,7 @@ break; default: return (EOPNOTSUPP); -@@ -3415,12 +3415,12 @@ wg_module_event_handler(module_t mod, int what, void * +@@ -3849,12 +3849,12 @@ wg_module_event_handler(module_t mod, int what, void * return (0); } diff --git a/net/amnezia-kmod/pkg-descr b/net/amnezia-kmod/pkg-descr index 00d5e020f365..07b78e9e5464 100644 --- a/net/amnezia-kmod/pkg-descr +++ b/net/amnezia-kmod/pkg-descr @@ -13,3 +13,5 @@ regular internet traffic. This package provides the FreeBSD kernel module (if_amn.ko) implementation for Amnezia VPN, enabling kernel-level support for the protocol. + +Partial support of AWG2 protocol added - 2.0 S3/S4 parameters. diff --git a/net/amnezia-tools/Makefile b/net/amnezia-tools/Makefile index f48a8948fd1f..0167f3c2172f 100644 --- a/net/amnezia-tools/Makefile +++ b/net/amnezia-tools/Makefile @@ -1,7 +1,6 @@ PORTNAME= amnezia DISTVERSIONPREFIX= v -DISTVERSION= 1.0.20241018 -PORTREVISION= 4 +DISTVERSION= 1.0.20250903 CATEGORIES= net net-vpn PKGNAMESUFFIX= -tools @@ -21,7 +20,9 @@ USE_RC_SUBR= ${PORTNAME} SHEBANG_FILES= wg-quick/freebsd.bash -MAKE_ARGS+= DEBUG=no \ +DEBUG?= no + +MAKE_ARGS+= DEBUG=${DEBUG} \ WITH_BASHCOMPLETION=yes \ WITH_SYSTEMDUNITS=no MAKE_ENV+= MANDIR="${PREFIX}/share/man" \ diff --git a/net/amnezia-tools/distinfo b/net/amnezia-tools/distinfo index 4121ea84aa23..33f5d4d3fc37 100644 --- a/net/amnezia-tools/distinfo +++ b/net/amnezia-tools/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1754646104 -SHA256 (amnezia-vpn-amneziawg-tools-v1.0.20241018_GH0.tar.gz) = 60f1cec1774fb871a2d8dc24e4f731625516d90f663d6e0d2c77d9247222f2f9 -SIZE (amnezia-vpn-amneziawg-tools-v1.0.20241018_GH0.tar.gz) = 156259 +TIMESTAMP = 1761344729 +SHA256 (amnezia-vpn-amneziawg-tools-v1.0.20250903_GH0.tar.gz) = d729a6f54aafcd55b2cbb7324f09ca8f0d2536772970652bf822a271d0c907d7 +SIZE (amnezia-vpn-amneziawg-tools-v1.0.20250903_GH0.tar.gz) = 160214 diff --git a/net/amnezia-tools/files/patch-config.c b/net/amnezia-tools/files/patch-config.c index 68d939b8e675..0b87c28f2ac3 100644 --- a/net/amnezia-tools/files/patch-config.c +++ b/net/amnezia-tools/files/patch-config.c @@ -1,6 +1,6 @@ ---- config.c.orig 2024-10-01 13:02:42 UTC +--- config.c.orig 2025-09-03 14:11:13 UTC +++ config.c -@@ -252,7 +252,7 @@ static inline bool parse_endpoint(struct sockaddr *end +@@ -259,7 +259,7 @@ static inline bool parse_endpoint(struct sockaddr *end * * So this is what we do, except FreeBSD removed EAI_NODATA some time ago, so that's conditional. */ @@ -9,7 +9,7 @@ #ifdef EAI_NODATA ret == EAI_NODATA || #endif -@@ -337,6 +337,20 @@ static bool validate_netmask(struct wgallowedip *allow +@@ -344,6 +344,20 @@ static bool validate_netmask(struct wgallowedip *allow return true; } @@ -30,7 +30,7 @@ static inline bool parse_allowedips(struct wgpeer *peer, struct wgallowedip **last_allowedip, const char *value) { struct wgallowedip *allowedip = *last_allowedip, *new_allowedip; -@@ -353,10 +367,18 @@ static inline bool parse_allowedips(struct wgpeer *pee +@@ -360,10 +374,18 @@ static inline bool parse_allowedips(struct wgpeer *pee } sep = mutable; while ((mask = strsep(&sep, ","))) { @@ -49,7 +49,7 @@ ip = strsep(&mask, "/"); new_allowedip = calloc(1, sizeof(*new_allowedip)); -@@ -387,6 +409,7 @@ static inline bool parse_allowedips(struct wgpeer *pee +@@ -394,6 +416,7 @@ static inline bool parse_allowedips(struct wgpeer *pee else goto err; new_allowedip->cidr = cidr; diff --git a/net/amnezia-tools/files/patch-containers.h b/net/amnezia-tools/files/patch-containers.h index 88563f74058a..233c2465854b 100644 --- a/net/amnezia-tools/files/patch-containers.h +++ b/net/amnezia-tools/files/patch-containers.h @@ -1,6 +1,6 @@ ---- containers.h.orig 2024-10-01 13:02:42 UTC +--- containers.h.orig 2025-09-03 14:11:13 UTC +++ containers.h -@@ -29,6 +29,10 @@ struct timespec64 { +@@ -34,6 +34,10 @@ struct timespec64 { int64_t tv_nsec; }; @@ -11,7 +11,7 @@ struct wgallowedip { uint16_t family; union { -@@ -36,6 +40,7 @@ struct wgallowedip { +@@ -41,6 +45,7 @@ struct wgallowedip { struct in6_addr ip6; }; uint8_t cidr; diff --git a/net/amnezia-tools/files/patch-ipc-freebsd.h b/net/amnezia-tools/files/patch-ipc-freebsd.h index 22255c0bcca3..2737729233b5 100644 --- a/net/amnezia-tools/files/patch-ipc-freebsd.h +++ b/net/amnezia-tools/files/patch-ipc-freebsd.h @@ -1,4 +1,4 @@ ---- ipc-freebsd.h.orig 2024-10-01 13:02:42 UTC +--- ipc-freebsd.h.orig 2025-09-03 14:11:13 UTC +++ ipc-freebsd.h @@ -15,13 +15,13 @@ static int get_dgram_socket(void) { @@ -16,7 +16,28 @@ struct ifg_req *ifg; int s = get_dgram_socket(), ret = 0; -@@ -389,6 +389,8 @@ static int kernel_set_device(struct wgdevice *dev) +@@ -458,15 +458,15 @@ static int kernel_set_device(struct wgdevice *dev) + if (dev->flags & WGDEVICE_HAS_H4) + nvlist_add_binary(nvl_device, "h4", dev->transport_packet_magic_header, strlen(dev->transport_packet_magic_header) + 1); + if (dev->flags & WGDEVICE_HAS_I1) +- nvlist_add_binary(nvl_device, "i1", dev->i1, strlen(dev->i1) + 1); ++ nvlist_add_binary(nvl_device, "i1", dev->i1 ? dev->i1 : "", strlen(dev->i1 ? dev->i1 : "") + 1); + if (dev->flags & WGDEVICE_HAS_I2) +- nvlist_add_binary(nvl_device, "i2", dev->i2, strlen(dev->i2) + 1); ++ nvlist_add_binary(nvl_device, "i2", dev->i2 ? dev->i2 : "", strlen(dev->i2 ? dev->i2 : "") + 1); + if (dev->flags & WGDEVICE_HAS_I3) +- nvlist_add_binary(nvl_device, "i3", dev->i3, strlen(dev->i3) + 1); ++ nvlist_add_binary(nvl_device, "i3", dev->i3 ? dev->i3 : "", strlen(dev->i3 ? dev->i3 : "") + 1); + if (dev->flags & WGDEVICE_HAS_I4) +- nvlist_add_binary(nvl_device, "i4", dev->i4, strlen(dev->i4) + 1); ++ nvlist_add_binary(nvl_device, "i4", dev->i4 ? dev->i4 : "", strlen(dev->i4 ? dev->i4 : "") + 1); + if (dev->flags & WGDEVICE_HAS_I5) +- nvlist_add_binary(nvl_device, "i5", dev->i5, strlen(dev->i5) + 1); ++ nvlist_add_binary(nvl_device, "i5", dev->i5 ? dev->i5 : "", strlen(dev->i5 ? dev->i5 : "") + 1); + if (dev->flags & WGDEVICE_HAS_FWMARK) + nvlist_add_number(nvl_device, "user-cookie", dev->fwmark); + if (dev->flags & WGDEVICE_REPLACE_PEERS) +@@ -502,6 +502,8 @@ static int kernel_set_device(struct wgdevice *dev) nvl_aips[j] = nvlist_create(0); if (!nvl_aips[j]) goto err_peer; diff --git a/net/amnezia-tools/files/patch-ipc-uapi.h b/net/amnezia-tools/files/patch-ipc-uapi.h index 61df9f69e784..cbf4811ca8a7 100644 --- a/net/amnezia-tools/files/patch-ipc-uapi.h +++ b/net/amnezia-tools/files/patch-ipc-uapi.h @@ -1,6 +1,6 @@ ---- ipc-uapi.h.orig 2024-10-01 13:02:42 UTC +--- ipc-uapi.h.orig 2025-09-03 14:11:13 UTC +++ ipc-uapi.h -@@ -111,7 +111,7 @@ static int userspace_set_device(struct wgdevice *dev) +@@ -126,7 +126,7 @@ static int userspace_set_device(struct wgdevice *dev) continue; } else continue; diff --git a/net/amnezia-tools/files/patch-man_wg.8 b/net/amnezia-tools/files/patch-man_wg.8 index 87e018ff2856..5356f8d2069c 100644 --- a/net/amnezia-tools/files/patch-man_wg.8 +++ b/net/amnezia-tools/files/patch-man_wg.8 @@ -1,4 +1,4 @@ ---- man/wg.8.orig 2024-10-01 13:02:42 UTC +--- man/wg.8.orig 2025-09-03 14:11:13 UTC +++ man/wg.8 @@ -1,10 +1,10 @@ -.TH WG 8 "2015 August 13" ZX2C4 "WireGuard" @@ -67,7 +67,7 @@ is optional and is by default off; setting it to 0 or "off" disables it. Otherwise it represents, in seconds, between 1 and 65535 inclusive, how often to send an authenticated empty packet to the peer, for the purpose of keeping -@@ -119,11 +121,52 @@ A private key and a corresponding public key may be ge +@@ -119,11 +121,94 @@ A private key and a corresponding public key may be ge .br $ umask 077 .br @@ -103,25 +103,67 @@ +\fBs1\fP +Size of handshake initiation packet prepend junk. Should be the same on both ends. +.br -+0–1132 (recomended 15–150), s1 + 56 ≠ s2 ++0–1304 (recomended 15–150) + +.TP +\fBs2\fP +Size of handshake response packet prepend junk. Should be the same on both ends. +.br -+0–1188 (recomended 15–150), s1 + 56 ≠ s2 ++0–1360 (recomended 15–150) ++ ++.TP ++\fBs3\fP ++Size of handshake cookie packet prepend junk. Should be the same on both ends. ++.br ++0–1388 (recomended 15–150) ++ ++.TP ++\fBs4\fP ++Size of data transport packet prepend junk. Should be the same on both ends. ++Will effectively decrease maximum possible MTU of interface. ++.br ++0–160 (recomended 15-32) + +.TP +\fBh1-h4\fP +Custom identifiers for initiation/response/cookie/data packets. Should be the same on both ends. +.br -+The unique value in range of 5 - 4,294,967,295 (0x5 - 0xFFFFFFFF), h1 != h2 != h3 != h4 ++Should be either the unique value in range of 5 - 4294967295 (0x5 - 0xFFFFFFFF) ++.br ++Or should be either the range of two such values, via '-', like 2294967295-4294970000, when range is used a random number from the range selected for each packet. ++For range, first value should be less then second. ++.br ++Such ranges or values should not intersect/match each other. ++ ++.TP ++\fBi1-i5\fP ++Pre-crafted custom signature packets to be send before hadshake. May be configured on either side and may be different between sides. ++These packets are being send prior to every handshake, in the same way as Junk packets do. The sending order is i1, i2, i3, i4, i5. If there is no value specified, the packet is skipped. ++.br ++Value is a sequence of tags specified below: + ++.br ++\fB<b 0x[seq]>\fP - static bytes tag. Dumps [seq] as-is to the packet. [seq] is hex-encoded sequence which represents bytes sequence (2 hex numbers per byte) and is always even-sized ++ ++.br ++\fB<r [size]>\fP - random bytes tag. Dumps [size] amount of randomly-generated bytes to the packet ++ ++.br ++\fB<rd [size]>\fP - random digits tag. Dumps [size] amount of randomly-generated bytes from [0-9] set to the packet ++ ++.br ++\fB<rc [size]>\fP - random chars tag. Dumps [size] amount of randomly-generated bytes from [a-zA-Z] set to the packet ++ ++.br ++\fB<t>\fP - timestamp tag. Dumps 4-bytes long current system time in UNIX format ++ ++.br ++\fB<c>\fP - packet counter tag. Dumps 4-bytes long amount of packets sent by AWG + .SH CONFIGURATION FILE FORMAT The configuration file format is based on \fIINI\fP. There are two top level sections -- \fIInterface\fP and \fIPeer\fP. Multiple \fIPeer\fP sections may be specified, but -@@ -224,7 +267,7 @@ on a per-interface basis by using +@@ -224,7 +309,7 @@ on a per-interface basis by using on a per-interface basis by using .BR ifconfig (1): @@ -130,7 +172,7 @@ On userspace implementations, it is customary to set the \fILOG_LEVEL\fP environment variable to \fIverbose\fP. -@@ -240,19 +283,18 @@ If set to an integer or to \fIinfinity\fP, DNS resolut +@@ -240,19 +325,18 @@ If set to an integer or to \fIinfinity\fP, DNS resolut If set to an integer or to \fIinfinity\fP, DNS resolution for each peer's endpoint will be retried that many times for non-permanent errors, with an increasing delay between retries. If unset, the default is 15 retries. .SH SEE ALSO diff --git a/net/amnezia-tools/files/patch-set.c b/net/amnezia-tools/files/patch-set.c index 61e1ec5314d0..060312414f44 100644 --- a/net/amnezia-tools/files/patch-set.c +++ b/net/amnezia-tools/files/patch-set.c @@ -1,11 +1,11 @@ ---- set.c.orig 2024-10-01 13:02:42 UTC +--- set.c.orig 2025-09-03 14:11:13 UTC +++ set.c @@ -18,7 +18,7 @@ int set_main(int argc, const char *argv[]) int ret = 1; if (argc < 3) { -- fprintf(stderr, "Usage: %s %s <interface> [listen-port <port>] [fwmark <mark>] [private-key <file path>] [peer <base64 public key> [remove] [preshared-key <file path>] [endpoint <ip>:<port>] [persistent-keepalive <interval seconds>] [allowed-ips <ip1>/<cidr1>[,<ip2>/<cidr2>] [advanced-security <on|off>]...] ]...\n", PROG_NAME, argv[0]); -+ fprintf(stderr, "Usage: %s %s <interface> [listen-port <port>] [fwmark <mark>] [private-key <file path>] [peer <base64 public key> [remove] [preshared-key <file path>] [endpoint <ip>:<port>] [persistent-keepalive <interval seconds>] [allowed-ips [+|-]<ip1>/<cidr1>[,[+|-]<ip2>/<cidr2>] [advanced-security <on|off>]...] ]...\n", PROG_NAME, argv[0]); +- fprintf(stderr, "Usage: %s %s <interface> [listen-port <port>] [fwmark <mark>] [private-key <file path>] [jc <junk_count>] [jmin <min_value>] [jmax <max_value>] [s1 <init_junk>] [s2 <resp_junk>] [s3 <cookie_junk>] [s4 <trans_junk>] [h1 <init_header>] [h2 <resp_header>] [h3 <cookie_header>] [h4 <transp_header>] [i1 \"<taged_junk>\"] [i2 \"<taged_junk>\"] [i3 \"<taged_junk>\"] [i4 \"<taged_junk>\"] [i5 \"<taged_junk>\"] [peer <base64 public key> [remove] [preshared-key <file path>] [endpoint <ip>:<port>] [persistent-keepalive <interval seconds>] [allowed-ips <ip1>/<cidr1>[,<ip2>/<cidr2>] [advanced-security <on|off>]...] ]...\n", PROG_NAME, argv[0]); ++ fprintf(stderr, "Usage: %s %s <interface> [listen-port <port>] [fwmark <mark>] [private-key <file path>] [jc <junk_count>] [jmin <min_value>] [jmax <max_value>] [s1 <init_junk>] [s2 <resp_junk>] [s3 <cookie_junk>] [s4 <trans_junk>] [h1 <init_header>] [h2 <resp_header>] [h3 <cookie_header>] [h4 <transp_header>] [i1 \"<taged_junk>\"] [i2 \"<taged_junk>\"] [i3 \"<taged_junk>\"] [i4 \"<taged_junk>\"] [i5 \"<taged_junk>\"] [peer <base64 public key> [remove] [preshared-key <file path>] [endpoint <ip>:<port>] [persistent-keepalive <interval seconds>] [allowed-ips [+|-]<ip1>/<cidr1>[,[+|-]<ip2>/<cidr2>] [advanced-security <on|off>]...] ]...\n", PROG_NAME, argv[0]); return 1; } diff --git a/net/amnezia-tools/files/patch-show.c b/net/amnezia-tools/files/patch-show.c new file mode 100644 index 000000000000..fb6f765c71dc --- /dev/null +++ b/net/amnezia-tools/files/patch-show.c @@ -0,0 +1,51 @@ +--- show.c.orig 2025-09-03 14:11:13 UTC ++++ show.c +@@ -401,39 +401,39 @@ static bool ugly_print(struct wgdevice *device, const + } else if (!strcmp(param, "h1")) { + if (with_interface) + printf("%s\t", device->name); +- printf("%s\n", device->init_packet_magic_header); ++ printf("%s\n", device->init_packet_magic_header?:"0"); + } else if (!strcmp(param, "h2")) { + if (with_interface) + printf("%s\t", device->name); +- printf("%s\n", device->response_packet_magic_header); ++ printf("%s\n", device->response_packet_magic_header?:"0"); + } else if (!strcmp(param, "h3")) { + if (with_interface) + printf("%s\t", device->name); +- printf("%s\n", device->underload_packet_magic_header); ++ printf("%s\n", device->underload_packet_magic_header?:"0"); + } else if (!strcmp(param, "h4")) { + if (with_interface) + printf("%s\t", device->name); +- printf("%s\n", device->transport_packet_magic_header); ++ printf("%s\n", device->transport_packet_magic_header?:"0"); + } else if (!strcmp(param, "i1")) { + if (with_interface) + printf("%s\t", device->name); +- printf("%s\n", device->i1); ++ printf("%s\n", device->i1?:""); + } else if (!strcmp(param, "i2")) { + if (with_interface) + printf("%s\t", device->name); +- printf("%s\n", device->i2); ++ printf("%s\n", device->i2?:""); + } else if (!strcmp(param, "i3")) { + if (with_interface) + printf("%s\t", device->name); +- printf("%s\n", device->i3); ++ printf("%s\n", device->i3?:""); + } else if (!strcmp(param, "i4")) { + if (with_interface) + printf("%s\t", device->name); +- printf("%s\n", device->i4); ++ printf("%s\n", device->i4?:""); + } else if (!strcmp(param, "i5")) { + if (with_interface) + printf("%s\t", device->name); +- printf("%s\n", device->i5); ++ printf("%s\n", device->i5?:""); + } else if (!strcmp(param, "endpoints")) { + for_each_wgpeer(device, peer) { + if (with_interface) diff --git a/net/amnezia-tools/files/patch-wg-quick_freebsd.bash b/net/amnezia-tools/files/patch-wg-quick_freebsd.bash index e4f2cfe40c0a..cc582319c260 100644 --- a/net/amnezia-tools/files/patch-wg-quick_freebsd.bash +++ b/net/amnezia-tools/files/patch-wg-quick_freebsd.bash @@ -1,6 +1,6 @@ ---- wg-quick/freebsd.bash.orig 2025-12-03 19:32:16 UTC +--- wg-quick/freebsd.bash.orig 2025-12-12 22:28:42 UTC +++ wg-quick/freebsd.bash -@@ -25,11 +25,20 @@ CONFIG_FILE="" +@@ -25,11 +25,18 @@ CONFIG_FILE="" POST_DOWN=( ) SAVE_CONFIG=0 CONFIG_FILE="" @@ -11,17 +11,15 @@ PROGRAM="${0##*/}" ARGS=( "$@" ) - IS_ASESCURITY_ON=0 + IS_AWG_ON=0 -+ +declare -A ROUTES +declare -A ENDPOINTS_MAP + -+ cmd() { echo "[#] $*" >&3 "$@" -@@ -40,7 +49,7 @@ die() { +@@ -40,7 +47,7 @@ die() { exit 1 } @@ -30,7 +28,7 @@ unset ORIGINAL_TMPDIR make_temp() { -@@ -64,7 +73,7 @@ parse_options() { +@@ -64,7 +71,7 @@ parse_options() { } parse_options() { @@ -39,7 +37,7 @@ CONFIG_FILE="$1" if [[ $CONFIG_FILE =~ ^[a-zA-Z0-9_=+.-]{1,15}$ ]]; then for path in "${CONFIG_SEARCH_PATHS[@]}"; do -@@ -82,7 +91,7 @@ parse_options() { +@@ -82,7 +89,7 @@ parse_options() { stripped="${line%%\#*}" key="${stripped%%=*}"; key="${key##*([[:space:]])}"; key="${key%%*([[:space:]])}" value="${stripped#*=}"; value="${value##*([[:space:]])}"; value="${value%%*([[:space:]])}" @@ -48,7 +46,7 @@ [[ $key == "[Interface]" ]] && interface_section=1 if [[ $interface_section -eq 1 ]]; then case "$key" in -@@ -96,9 +105,14 @@ parse_options() { +@@ -96,9 +103,14 @@ parse_options() { PreDown) PRE_DOWN+=( "$value" ); continue ;; PostUp) POST_UP+=( "$value" ); continue ;; PostDown) POST_DOWN+=( "$value" ); continue ;; @@ -63,9 +61,9 @@ Jc);& Jmin);& Jmax);& -@@ -109,6 +123,17 @@ parse_options() { - H3);& - H4) IS_ASESCURITY_ON=1;; +@@ -116,6 +128,17 @@ parse_options() { + I4);& + I5) IS_AWG_ON=1;; esac + else + case "$key" in @@ -81,44 +79,105 @@ fi WG_CONFIG+="$line"$'\n' done < "$CONFIG_FILE" -@@ -129,19 +154,22 @@ add_if() { +@@ -136,20 +159,24 @@ add_if() { add_if() { local ret rc - local cmd="ifconfig wg create name "$INTERFACE"" -- if [[ $IS_ASESCURITY_ON == 1 ]]; then -+ local cmd="ifconfig amn create name "$INTERFACE"" -+ if [[ $USERLAND == 1 ]]; then - cmd="amneziawg-go "$INTERFACE""; - fi +- if [[ $IS_AWG_ON == 1 ]]; then +- cmd="amneziawg-go "$INTERFACE""; +- fi - if ret="$(cmd $cmd 2>&1 >/dev/null)"; then - return 0 -+ if [ -n "$DESCRIPTION" ]; then -+ ret="$(cmd $cmd description "$DESCRIPTION" 2>&1 >/dev/null)" && return 0 -+ else -+ -+ ret="$(cmd $cmd 2>&1 >/dev/null)" && return 0 - fi - rc=$? - if [[ $ret == *"ifconfig: ioctl SIOCSIFNAME (set name): File exists"* ]]; then - echo "$ret" >&3 - return $rc - fi +- fi +- rc=$? +- if [[ $ret == *"ifconfig: ioctl SIOCSIFNAME (set name): File exists"* ]]; then +- echo "$ret" >&3 +- return $rc +- fi - echo "[!] Missing WireGuard kernel support ($ret). Falling back to slow userspace implementation." >&3 ++ local cmd="ifconfig amn create name "$INTERFACE"" ++ if [[ $USERLAND == 0 ]]; then ++ if [ -n "$DESCRIPTION" ]; then ++ ret="$(cmd $cmd description "$DESCRIPTION" 2>&1 >/dev/null)" && return 0 ++ else ++ ret="$(cmd $cmd 2>&1 >/dev/null)" && return 0 ++ fi ++ rc=$? ++ if [[ $ret == *"ifconfig: ioctl SIOCSIFNAME (set name): File exists"* ]]; then ++ echo "$ret" >&3 ++ return $rc ++ fi ++ fi + echo "[!] Missing Amnezia kernel support ($ret). Falling back to slow userspace implementation." >&3 cmd "${WG_QUICK_USERSPACE_IMPLEMENTATION:-amneziawg-go}" "$INTERFACE" ++ if [ -n "$DESCRIPTION" ]; then ++ cmd ifconfig $INTERFACE description "$DESCRIPTION" ++ fi + } + + del_routes() { +@@ -181,9 +208,9 @@ del_if() { + if [[ -S /var/run/amneziawg/$INTERFACE.sock ]]; then + cmd rm -f "/var/run/amneziawg/$INTERFACE.sock" + else +- cmd ifconfig "$INTERFACE" destroy ++ cmd ifconfig -n "$INTERFACE" destroy + fi +- while ifconfig "$INTERFACE" >/dev/null 2>&1; do ++ while ifconfig -n "$INTERFACE" >/dev/null 2>&1; do + # HACK: it would be nice to `route monitor` here and wait for RTM_IFANNOUNCE + # but it turns out that the announcement is made before the interface + # disappears so we sometimes get a hang. So, we're instead left with polling +@@ -193,21 +220,21 @@ up_if() { } -@@ -209,7 +237,7 @@ set_mtu() { + up_if() { +- cmd ifconfig "$INTERFACE" up ++ cmd ifconfig -n "$INTERFACE" up + } + + add_addr() { + if [[ $1 == *:* ]]; then +- cmd ifconfig "$INTERFACE" inet6 "$1" alias ++ cmd ifconfig -n "$INTERFACE" inet6 "$1" alias + else +- cmd ifconfig "$INTERFACE" inet "$1" alias ++ cmd ifconfig -n "$INTERFACE" inet "$1" alias + fi + } + + set_mtu() { + local mtu=0 endpoint output family + if [[ -n $MTU ]]; then +- cmd ifconfig "$INTERFACE" mtu "$MTU" ++ cmd ifconfig -n "$INTERFACE" mtu "$MTU" + return + fi + while read -r _ endpoint; do +@@ -215,14 +242,16 @@ set_mtu() { + family=inet [[ ${BASH_REMATCH[1]} == *:* ]] && family=inet6 output="$(route -n get "-$family" "${BASH_REMATCH[1]}" || true)" - [[ $output =~ interface:\ ([^ ]+)$'\n' && $(ifconfig "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) && ${BASH_REMATCH[1]} -gt $mtu ]] && mtu="${BASH_REMATCH[1]}" +- [[ $output =~ interface:\ ([^ ]+)$'\n' && $(ifconfig "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) && ${BASH_REMATCH[1]} -gt $mtu ]] && mtu="${BASH_REMATCH[1]}" - done < <(wg show "$INTERFACE" endpoints) ++ [[ $output =~ interface:\ ([^ ]+)$'\n' && $(ifconfig -n "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) && ${BASH_REMATCH[1]} -gt $mtu ]] && mtu="${BASH_REMATCH[1]}" + done < <(awg show "$INTERFACE" endpoints) if [[ $mtu -eq 0 ]]; then read -r output < <(route -n get default || true) || true - [[ $output =~ interface:\ ([^ ]+)$'\n' && $(ifconfig "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) && ${BASH_REMATCH[1]} -gt $mtu ]] && mtu="${BASH_REMATCH[1]}" -@@ -242,7 +270,7 @@ collect_endpoints() { +- [[ $output =~ interface:\ ([^ ]+)$'\n' && $(ifconfig "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) && ${BASH_REMATCH[1]} -gt $mtu ]] && mtu="${BASH_REMATCH[1]}" ++ [[ $output =~ interface:\ ([^ ]+)$'\n' && $(ifconfig -n "${BASH_REMATCH[1]}") =~ mtu\ ([0-9]+) && ${BASH_REMATCH[1]} -gt $mtu ]] && mtu="${BASH_REMATCH[1]}" + fi +- [[ $mtu -gt 0 ]] || mtu=1500 +- cmd ifconfig "$INTERFACE" mtu $(( mtu - 80 )) ++ if [[ $mtu -gt 0 && $mtu -lt 1420 ]]; then ++ # setup MTU only if discovered MTU is less then default ++ cmd ifconfig -n "$INTERFACE" mtu $(( mtu - 80 )) || true ++ fi + } + + +@@ -249,7 +278,7 @@ collect_endpoints() { while read -r _ endpoint; do [[ $endpoint =~ ^\[?([a-z0-9:.]+)\]?:[0-9]+$ ]] || continue ENDPOINTS+=( "${BASH_REMATCH[1]}" ) @@ -127,7 +186,7 @@ } set_endpoint_direct_route() { -@@ -297,18 +325,25 @@ monitor_daemon() { +@@ -304,25 +333,108 @@ monitor_daemon() { } monitor_daemon() { @@ -153,10 +212,11 @@ # endpoints change. while read -u 19 -r event; do - [[ $event == RTM_* ]] || continue - ifconfig "$INTERFACE" >/dev/null 2>&1 || break +- ifconfig "$INTERFACE" >/dev/null 2>&1 || break ++ ifconfig -n "$INTERFACE" >/dev/null 2>&1 || break [[ $AUTO_ROUTE4 -eq 1 || $AUTO_ROUTE6 -eq 1 ]] && set_endpoint_direct_route # TODO: set the mtu as well, but only if up -@@ -316,6 +351,82 @@ monitor_daemon() { + done kill $pid) & disown } @@ -239,7 +299,7 @@ HAVE_SET_DNS=0 set_dns() { [[ ${#DNS[@]} -gt 0 ]] || return 0 -@@ -354,7 +465,7 @@ set_config() { +@@ -361,7 +473,7 @@ set_config() { } set_config() { @@ -248,7 +308,7 @@ } save_config() { -@@ -386,7 +497,7 @@ save_config() { +@@ -393,7 +505,7 @@ save_config() { done old_umask="$(umask)" umask 077 @@ -257,7 +317,7 @@ trap 'rm -f "$CONFIG_FILE.tmp"; clean_temp; exit' INT TERM EXIT echo "${current_config/\[Interface\]$'\n'/$new_config}" > "$CONFIG_FILE.tmp" || die "Could not write configuration file" sync "$CONFIG_FILE.tmp" -@@ -412,7 +523,7 @@ cmd_usage() { +@@ -419,7 +531,7 @@ cmd_usage() { followed by \`.conf'. Otherwise, INTERFACE is an interface name, with configuration found at: ${CONFIG_SEARCH_PATHS[@]/%//INTERFACE.conf}. @@ -266,7 +326,7 @@ of the following additions to the [Interface] section, which are handled by $PROGRAM: -@@ -429,10 +540,24 @@ cmd_usage() { +@@ -436,13 +548,27 @@ cmd_usage() { - SaveConfig: if set to \`true', the configuration is saved from the current state of the interface upon shutdown. @@ -291,8 +351,12 @@ + cmd_up() { local i - [[ -z $(ifconfig "$INTERFACE" 2>/dev/null) ]] || die "\`$INTERFACE' already exists" -@@ -446,26 +571,31 @@ cmd_up() { +- [[ -z $(ifconfig "$INTERFACE" 2>/dev/null) ]] || die "\`$INTERFACE' already exists" ++ [[ -z $(ifconfig -n "$INTERFACE" 2>/dev/null) ]] || die "\`$INTERFACE' already exists" + trap 'del_if; del_routes; clean_temp; exit' INT TERM EXIT + add_if + execute_hooks "${PRE_UP[@]}" +@@ -453,26 +579,31 @@ cmd_up() { set_mtu up_if set_dns @@ -328,7 +392,7 @@ save_config } -@@ -473,6 +603,10 @@ cmd_strip() { +@@ -480,6 +611,10 @@ cmd_strip() { echo "$WG_CONFIG" } @@ -339,7 +403,7 @@ # ~~ function override insertion point ~~ make_temp -@@ -496,6 +630,18 @@ elif [[ $# -eq 2 && $1 == strip ]]; then +@@ -503,6 +638,18 @@ elif [[ $# -eq 2 && $1 == strip ]]; then auto_su parse_options "$2" cmd_strip diff --git a/net/asterisk-chan_sccp/Makefile b/net/asterisk-chan_sccp/Makefile index 2a099e954441..5ec4ca9dbc6b 100644 --- a/net/asterisk-chan_sccp/Makefile +++ b/net/asterisk-chan_sccp/Makefile @@ -20,8 +20,7 @@ ${FLAVOR}_PKGNAMEPREFIX= ${FLAVOR}- ${FLAVOR}_BUILD_DEPENDS= asterisk:net/${FLAVOR} ${FLAVOR}_RUN_DEPENDS= asterisk:net/${FLAVOR} -USES= autoreconf:2.69 compiler:c11 gettext-tools iconv:wchar_t \ - libtool ssl +USES= compiler:c11 iconv:wchar_t libtool ssl USE_GITHUB= yes GH_ACCOUNT= chan-sccp GH_PROJECT= chan-sccp diff --git a/net/aws-ec2-imdsv2-get/Makefile b/net/aws-ec2-imdsv2-get/Makefile index 9fefe79db20f..f664d1a4b9ad 100644 --- a/net/aws-ec2-imdsv2-get/Makefile +++ b/net/aws-ec2-imdsv2-get/Makefile @@ -1,6 +1,6 @@ PORTNAME= aws-ec2-imdsv2-get DISTVERSION= 1.0.7 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= net MAINTAINER= cperciva@FreeBSD.org diff --git a/net/deltachat-rpc-server/Makefile b/net/deltachat-rpc-server/Makefile index 65134b10352f..6377d478a374 100644 --- a/net/deltachat-rpc-server/Makefile +++ b/net/deltachat-rpc-server/Makefile @@ -1,7 +1,7 @@ PORTNAME= deltachat-rpc-server DISTVERSIONPREFIX= v DISTVERSION= 2.33.0 -PORTREVISION= 0 +PORTREVISION= 1 CATEGORIES= net MAINTAINER= feld@FreeBSD.org diff --git a/net/dumbpipe/Makefile b/net/dumbpipe/Makefile index de5e1f709713..c31aa1523bdc 100644 --- a/net/dumbpipe/Makefile +++ b/net/dumbpipe/Makefile @@ -1,7 +1,7 @@ PORTNAME= dumbpipe DISTVERSIONPREFIX= v DISTVERSION= 0.32.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net MAINTAINER= feld@FreeBSD.org diff --git a/net/exoscale-cli/Makefile b/net/exoscale-cli/Makefile index ecf516fd8e58..da8ee155e5b9 100644 --- a/net/exoscale-cli/Makefile +++ b/net/exoscale-cli/Makefile @@ -11,12 +11,9 @@ WWW= https://github.com/exoscale/cli LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE -USES= go:1.23,modules +USES= go:modules USE_GITHUB= yes -DEPRECATED= Uses old go, but try building without USES=go:someversion -EXPIRATION_DATE=2026-01-01 - GH_ACCOUNT= exoscale GH_PROJECT= cli CGO_ENABLED= 0 diff --git a/net/fb303/Makefile b/net/fb303/Makefile index de88f1459ee2..753a2d4e18a1 100644 --- a/net/fb303/Makefile +++ b/net/fb303/Makefile @@ -1,7 +1,6 @@ PORTNAME= fb303 DISTVERSIONPREFIX= v -DISTVERSION= 2025.12.01.00 -PORTREVISION= 1 +DISTVERSION= 2025.12.15.00 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/fb303/distinfo b/net/fb303/distinfo index c0d736c00023..e5e9daf0b200 100644 --- a/net/fb303/distinfo +++ b/net/fb303/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1764662200 -SHA256 (facebook-fb303-v2025.12.01.00_GH0.tar.gz) = 1d72d17a2f9ea3f6536d5b77c6d93f8bf88247873090d908a24a81cca47d8820 -SIZE (facebook-fb303-v2025.12.01.00_GH0.tar.gz) = 276479 +TIMESTAMP = 1765873874 +SHA256 (facebook-fb303-v2025.12.15.00_GH0.tar.gz) = 7cc5771385da677fac8566cb8ace5a08f017e4db8fb1967e575889e58360ce99 +SIZE (facebook-fb303-v2025.12.15.00_GH0.tar.gz) = 277895 diff --git a/net/findomain/Makefile b/net/findomain/Makefile index 4e46702050ba..5f2fc552f642 100644 --- a/net/findomain/Makefile +++ b/net/findomain/Makefile @@ -1,6 +1,6 @@ PORTNAME= findomain DISTVERSION= 9.0.4 -PORTREVISION= 16 +PORTREVISION= 17 CATEGORIES= net security MAINTAINER= lcook@FreeBSD.org diff --git a/net/freerdp3/Makefile b/net/freerdp3/Makefile index a008b3ac218d..908a07cd6999 100644 --- a/net/freerdp3/Makefile +++ b/net/freerdp3/Makefile @@ -1,5 +1,5 @@ PORTNAME= freerdp -DISTVERSION= 3.19.0 +DISTVERSION= 3.19.1 CATEGORIES= net comms MASTER_SITES+= https://pub.freerdp.com/releases/:freerdp \ https://github.com/FreeRDP/FreeRDP/releases/download/${DISTVERSION}/:freerdp diff --git a/net/freerdp3/distinfo b/net/freerdp3/distinfo index 6380ca1f5446..e51b037d8de1 100644 --- a/net/freerdp3/distinfo +++ b/net/freerdp3/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1765222222 -SHA256 (freerdp-3.19.0.tar.gz) = f3d021e56e5fee789149f875887850185c310b96240c998c15a864e4fb1aaf46 -SIZE (freerdp-3.19.0.tar.gz) = 11364393 +TIMESTAMP = 1765656565 +SHA256 (freerdp-3.19.1.tar.gz) = 0886818968884464d72f8c363b633e97561bd438d84fce7331cb0df07b088919 +SIZE (freerdp-3.19.1.tar.gz) = 11365539 SHA256 (akallabeth-webview-2a0a130_GH0.tar.gz) = 22448da4658b73cc20e6944d9a351ab6c40d1a50026997f8278f63713f5f7c07 SIZE (akallabeth-webview-2a0a130_GH0.tar.gz) = 185888 diff --git a/net/frp/Makefile b/net/frp/Makefile index b7e9ecd264ec..b30ee236903c 100644 --- a/net/frp/Makefile +++ b/net/frp/Makefile @@ -11,7 +11,7 @@ WWW= https://github.com/fatedier/frp LICENSE= APACHE20 LICENSE_FILE= ${WRKSRC}/LICENSE -USES= go:1.24,modules +USES= go:1.24+,modules USE_GITHUB= nodefault GH_TUPLE= golang:net:v0.8.0:net \ golang:sys:v0.6.0:sys \ diff --git a/net/gdrive/Makefile b/net/gdrive/Makefile index df9969fdc731..ac65ab940648 100644 --- a/net/gdrive/Makefile +++ b/net/gdrive/Makefile @@ -1,6 +1,6 @@ PORTNAME= gdrive DISTVERSION= 3.9.1 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= net PATCH_SITES= https://github.com/${GH_ACCOUNT}/${GH_PROJECT}/commit/ diff --git a/net/gemserv/Makefile b/net/gemserv/Makefile index b082c35f0970..30e19c62d13d 100644 --- a/net/gemserv/Makefile +++ b/net/gemserv/Makefile @@ -1,7 +1,7 @@ PORTNAME= gemserv DISTVERSIONPREFIX= v DISTVERSION= 0.6.6 -PORTREVISION= 25 +PORTREVISION= 26 CATEGORIES= net MASTER_SITES= https://git.sr.ht/~int80h/${PORTNAME}/archive/${DISTVERSIONFULL}${EXTRACT_SUFX}?dummy=/ DISTFILES= ${PORTNAME}-${DISTVERSIONPREFIX}${PORTVERSION}${EXTRACT_SUFX} diff --git a/net/google-cloud-sdk/Makefile b/net/google-cloud-sdk/Makefile index 125244855cb6..ffac8c1d3e97 100644 --- a/net/google-cloud-sdk/Makefile +++ b/net/google-cloud-sdk/Makefile @@ -1,5 +1,5 @@ PORTNAME= google-cloud-sdk -DISTVERSION= 549.0.0 +DISTVERSION= 550.0.0 CATEGORIES= net MASTER_SITES= https://dl.google.com/dl/cloudsdk/channels/rapid/downloads/ DISTNAME= google-cloud-sdk-${PORTVERSION}-linux-x86_64 diff --git a/net/google-cloud-sdk/distinfo b/net/google-cloud-sdk/distinfo index ffb3326ddf3f..def75711e0c7 100644 --- a/net/google-cloud-sdk/distinfo +++ b/net/google-cloud-sdk/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1765530695 -SHA256 (google-cloud-sdk-549.0.0-linux-x86_64.tar.gz) = 69712afd55c1d87b5bdfd11cd98d0befb76516bbd5d9973d794d43a33eb91d2c -SIZE (google-cloud-sdk-549.0.0-linux-x86_64.tar.gz) = 202957734 +TIMESTAMP = 1765962094 +SHA256 (google-cloud-sdk-550.0.0-linux-x86_64.tar.gz) = a7bce5e6e156ffe4d8c2f4ad5136886f128138aa319dced812e91999699d459d +SIZE (google-cloud-sdk-550.0.0-linux-x86_64.tar.gz) = 203170056 diff --git a/net/grpcui/Makefile b/net/grpcui/Makefile index dffd558710de..22ea5d63025d 100644 --- a/net/grpcui/Makefile +++ b/net/grpcui/Makefile @@ -11,7 +11,7 @@ WWW= https://github.com/fullstorydev/grpcui LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -USES= go:1.24,modules +USES= go:1.24+,modules GO_MODULE= github.com/fullstorydev/grpcui GO_TARGET= ./cmd/${PORTNAME} diff --git a/net/jgroups/files/patch-build.xml b/net/jgroups/files/patch-build.xml new file mode 100644 index 000000000000..d0c9bf6ae90b --- /dev/null +++ b/net/jgroups/files/patch-build.xml @@ -0,0 +1,18 @@ +--- build.xml.orig 2025-12-14 20:22:21 UTC ++++ build.xml +@@ -92,7 +92,6 @@ + depends="prepare" + description="Compiles all Java files"> + <javac destdir="${compile.dir}" +- source="1.6" + classpathref="jg.classpath" + includeantruntime="false" + debug="on" +@@ -115,7 +114,6 @@ + depends="prepare" + description="Compiles all Java files"> + <javac destdir="${compile.dir}" +- source="1.6" + classpathref="jg.classpath" + includeantruntime="false" + debug="on" diff --git a/net/jicmp/Makefile b/net/jicmp/Makefile index b51ed04ad18b..82a6287c657b 100644 --- a/net/jicmp/Makefile +++ b/net/jicmp/Makefile @@ -10,6 +10,7 @@ WWW= https://www.opennms.org/index.php/Jicmp WRKSRC= ${WRKDIR}/jicmp-${PORTVERSION} USES= java libtool +JAVA_VERSION= 8 JAVA_VENDOR= openjdk USE_LDCONFIG= yes diff --git a/net/jicmp6/Makefile b/net/jicmp6/Makefile index 0b711e78635f..0fef849c1240 100644 --- a/net/jicmp6/Makefile +++ b/net/jicmp6/Makefile @@ -8,6 +8,7 @@ COMMENT= Java native interface (JNI) to ICMPv6 WWW= https://www.opennms.org/wiki/Jicmp USES= java libtool +JAVA_VERSION= 8 JAVA_VENDOR= openjdk GNU_CONFIGURE= yes diff --git a/net/k6/Makefile b/net/k6/Makefile index a994b4554f1e..e0d40f5ed496 100644 --- a/net/k6/Makefile +++ b/net/k6/Makefile @@ -10,7 +10,7 @@ WWW= https://k6.io/ LICENSE= AGPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE.md -USES= go:1.24,modules +USES= go:1.24+,modules NOT_FOR_ARCHS= armv6 armv7 i386 diff --git a/net/kf6-kcalendarcore/distinfo b/net/kf6-kcalendarcore/distinfo index e2558c3ec7f5..4cc28a3ca84c 100644 --- a/net/kf6-kcalendarcore/distinfo +++ b/net/kf6-kcalendarcore/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1762892873 -SHA256 (KDE/frameworks/6.20/kcalendarcore-6.20.0.tar.xz) = 5f61027b34510d0de2f2b151c279b000aa17e1c34906ff05e0f0086eed2f3785 -SIZE (KDE/frameworks/6.20/kcalendarcore-6.20.0.tar.xz) = 317520 +TIMESTAMP = 1765456431 +SHA256 (KDE/frameworks/6.21/kcalendarcore-6.21.0.tar.xz) = c5a0aac8bb8b0d007a6ea44e9ea2b7ff07cd701369a9048ff95f9eeb2e34417f +SIZE (KDE/frameworks/6.21/kcalendarcore-6.21.0.tar.xz) = 317852 diff --git a/net/kf6-kcontacts/distinfo b/net/kf6-kcontacts/distinfo index 148c6d98b90f..5f26e2bbc480 100644 --- a/net/kf6-kcontacts/distinfo +++ b/net/kf6-kcontacts/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1762892873 -SHA256 (KDE/frameworks/6.20/kcontacts-6.20.0.tar.xz) = b253cd4864a3f3d4343485cc4bfe1b0344ccf5136ead2ada359e6933e09253de -SIZE (KDE/frameworks/6.20/kcontacts-6.20.0.tar.xz) = 214140 +TIMESTAMP = 1765456432 +SHA256 (KDE/frameworks/6.21/kcontacts-6.21.0.tar.xz) = a6bf78f10d7680b66366b14431746b3b1d34dc313f1ee7be89b19a476162af64 +SIZE (KDE/frameworks/6.21/kcontacts-6.21.0.tar.xz) = 214104 diff --git a/net/kf6-kdav/distinfo b/net/kf6-kdav/distinfo index 04fd76c000ff..76242dae33ad 100644 --- a/net/kf6-kdav/distinfo +++ b/net/kf6-kdav/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1762892873 -SHA256 (KDE/frameworks/6.20/kdav-6.20.0.tar.xz) = bd18d5a3db01c277adc9da32dd20a45fc95b28b11fbff5399842b0524a49d084 -SIZE (KDE/frameworks/6.20/kdav-6.20.0.tar.xz) = 69800 +TIMESTAMP = 1765456432 +SHA256 (KDE/frameworks/6.21/kdav-6.21.0.tar.xz) = b5afa42ee16404bbd662682f1a66610ef5b6479eaba6e9510da934f3867f9ae2 +SIZE (KDE/frameworks/6.21/kdav-6.21.0.tar.xz) = 69788 diff --git a/net/kf6-kholidays/distinfo b/net/kf6-kholidays/distinfo index b385fff8ea0a..3ecd3ac84ab8 100644 --- a/net/kf6-kholidays/distinfo +++ b/net/kf6-kholidays/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1762892874 -SHA256 (KDE/frameworks/6.20/kholidays-6.20.0.tar.xz) = b29a7a27f85f3b533c02002bd5efd375fed64268e898cb40e6d377b0d7243864 -SIZE (KDE/frameworks/6.20/kholidays-6.20.0.tar.xz) = 265844 +TIMESTAMP = 1765456432 +SHA256 (KDE/frameworks/6.21/kholidays-6.21.0.tar.xz) = 91e6820ff652ea771b2213974559e7ff4babb6d9f357f40b8c72266bd0432be4 +SIZE (KDE/frameworks/6.21/kholidays-6.21.0.tar.xz) = 265848 diff --git a/net/kf6-syndication/distinfo b/net/kf6-syndication/distinfo index 02886845807b..c845d998874c 100644 --- a/net/kf6-syndication/distinfo +++ b/net/kf6-syndication/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1762892874 -SHA256 (KDE/frameworks/6.20/syndication-6.20.0.tar.xz) = e2b79ea958a8edfd4c9c0790925cc43d1f4031ec65ee545a60591008be159242 -SIZE (KDE/frameworks/6.20/syndication-6.20.0.tar.xz) = 569296 +TIMESTAMP = 1765456432 +SHA256 (KDE/frameworks/6.21/syndication-6.21.0.tar.xz) = 7ea3f6d46710a6ee12c3764b3f5b3a2240b22ca01f106700262b46b25b0e0abb +SIZE (KDE/frameworks/6.21/syndication-6.21.0.tar.xz) = 569308 diff --git a/net/krakend-ce/Makefile b/net/krakend-ce/Makefile index a5b881b72964..76baae3691fb 100644 --- a/net/krakend-ce/Makefile +++ b/net/krakend-ce/Makefile @@ -15,7 +15,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE NOT_FOR_ARCHS= armv7 i386 NOT_FOR_ARCHS_REASON= Build failure: vendor/github.com/krakendio/krakend-amqp/v2/consumer.go:47:20: cannot use math.MaxInt64 (untyped int constant 9223372036854775807) as int value in assignment (overflows) -USES= cpe go:1.25,modules +USES= cpe go:1.25+,modules CPE_VENDOR= krakend CPE_PRODUCT= krakend CPE_SW_EDITION= community diff --git a/net/krill/Makefile b/net/krill/Makefile index 3b36453bf29f..16be6ea9a7bc 100644 --- a/net/krill/Makefile +++ b/net/krill/Makefile @@ -1,7 +1,7 @@ PORTNAME= krill DISTVERSIONPREFIX= v DISTVERSION= 0.15.0 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= net MAINTAINER= jaap@NLnetLabs.nl diff --git a/net/ktcplist/Makefile b/net/ktcplist/Makefile index f6c9e06b770e..9972cb920fef 100644 --- a/net/ktcplist/Makefile +++ b/net/ktcplist/Makefile @@ -1,6 +1,6 @@ PORTNAME= ktcplist DISTVERSION= 1.0.2 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= net sysutils MAINTAINER= arrowd@FreeBSD.org diff --git a/net/libnet/Makefile b/net/libnet/Makefile index c59bb10e2f4b..c399fcb490ba 100644 --- a/net/libnet/Makefile +++ b/net/libnet/Makefile @@ -11,7 +11,7 @@ WWW= https://github.com/libnet/libnet LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE -USES= cpe libtool pathfix +USES= cpe libtool CONFIGURE_ARGS= --disable-doxygen-doc \ --disable-doxygen-dot \ diff --git a/net/lldap/Makefile b/net/lldap/Makefile index 4b3c55e65367..ed80de331c5c 100644 --- a/net/lldap/Makefile +++ b/net/lldap/Makefile @@ -1,7 +1,7 @@ PORTNAME= lldap DISTVERSIONPREFIX= v DISTVERSION= 0.6.1 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= net MAINTAINER= aokblast@FreeBSD.org diff --git a/net/mcast-bridge/Makefile b/net/mcast-bridge/Makefile index 24b2925a5bae..a81bf39c8e39 100644 --- a/net/mcast-bridge/Makefile +++ b/net/mcast-bridge/Makefile @@ -1,6 +1,6 @@ PORTNAME= mcast-bridge DISTVERSIONPREFIX= v -DISTVERSION= 1.2.0 +DISTVERSION= 1.3.0 CATEGORIES= net MAINTAINER= dennypage@me.com diff --git a/net/mcast-bridge/distinfo b/net/mcast-bridge/distinfo index 343b49a711d5..a8fe0835729b 100644 --- a/net/mcast-bridge/distinfo +++ b/net/mcast-bridge/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1764867726 -SHA256 (dennypage-mcast-bridge-v1.2.0_GH0.tar.gz) = 0575d7b20bf5e84b93ba0ad3985d4a699c4c660ddc047f3284518a54d996a290 -SIZE (dennypage-mcast-bridge-v1.2.0_GH0.tar.gz) = 45252 +TIMESTAMP = 1765913188 +SHA256 (dennypage-mcast-bridge-v1.3.0_GH0.tar.gz) = e113c9dea3c7c55777a7e39900192c0473a3b8d55dc412cdfb0d155c6beb3151 +SIZE (dennypage-mcast-bridge-v1.3.0_GH0.tar.gz) = 47663 diff --git a/net/mdns-bridge/Makefile b/net/mdns-bridge/Makefile index ce31b4dd60f2..a245ca9eace9 100644 --- a/net/mdns-bridge/Makefile +++ b/net/mdns-bridge/Makefile @@ -1,6 +1,6 @@ PORTNAME= mdns-bridge DISTVERSIONPREFIX= v -DISTVERSION= 2.3.0 +DISTVERSION= 2.4.0 CATEGORIES= net MAINTAINER= dennypage@me.com diff --git a/net/mdns-bridge/distinfo b/net/mdns-bridge/distinfo index bd2b97d9f465..d1c53d0d9053 100644 --- a/net/mdns-bridge/distinfo +++ b/net/mdns-bridge/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1764871970 -SHA256 (dennypage-mdns-bridge-v2.3.0_GH0.tar.gz) = 92f53b2d2020d4e8757adda2d0f234aa875416e085494c6724fc39e6a55e9b4f -SIZE (dennypage-mdns-bridge-v2.3.0_GH0.tar.gz) = 26855 +TIMESTAMP = 1765994950 +SHA256 (dennypage-mdns-bridge-v2.4.0_GH0.tar.gz) = e3276aa4689c6f342ff5bf190804be1a29804384302c88255a2e710197e76e20 +SIZE (dennypage-mdns-bridge-v2.4.0_GH0.tar.gz) = 27010 diff --git a/net/mvfst/Makefile b/net/mvfst/Makefile index 98ada249eb6c..66e94ea01b7f 100644 --- a/net/mvfst/Makefile +++ b/net/mvfst/Makefile @@ -1,7 +1,6 @@ PORTNAME= mvfst DISTVERSIONPREFIX= v -DISTVERSION= 2025.12.01.00 -PORTREVISION= 1 +DISTVERSION= 2025.12.15.00 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/mvfst/distinfo b/net/mvfst/distinfo index 47ddb4b05632..79b1b5894f60 100644 --- a/net/mvfst/distinfo +++ b/net/mvfst/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1764662202 -SHA256 (facebook-mvfst-v2025.12.01.00_GH0.tar.gz) = edf2d20a3e5412836780de5ae86b389a5250231e74fbe7da22ff773bddb36250 -SIZE (facebook-mvfst-v2025.12.01.00_GH0.tar.gz) = 2133825 +TIMESTAMP = 1765873876 +SHA256 (facebook-mvfst-v2025.12.15.00_GH0.tar.gz) = acbb76ffdf9a2c38fff0a80efbb04422c2c7ba4934bdc0630626d8bb2db9f144 +SIZE (facebook-mvfst-v2025.12.15.00_GH0.tar.gz) = 2142206 diff --git a/net/mvfst/pkg-plist b/net/mvfst/pkg-plist index cc3a69a22c81..0bc880f710bb 100644 --- a/net/mvfst/pkg-plist +++ b/net/mvfst/pkg-plist @@ -1,6 +1,7 @@ include/quic/QuicConstants.h include/quic/QuicException.h include/quic/QuicTLSException.h +include/quic/QuicTypealiases.h include/quic/api/FollyQuicAsyncUDPSocket.h include/quic/api/FollyQuicEventBase.h include/quic/api/HighResQuicTimer.h @@ -183,7 +184,6 @@ include/quic/state/QuicAckFrequencyFunctions.h include/quic/state/QuicConnectionStats.h include/quic/state/QuicPacingFunctions.h include/quic/state/QuicPathManager.h -include/quic/state/QuicPriorityQueue.h include/quic/state/QuicStateFunctions.h include/quic/state/QuicStreamFunctions.h include/quic/state/QuicStreamGroupRetransmissionPolicy.h diff --git a/net/narrowlink/Makefile b/net/narrowlink/Makefile index ac48dfd3145e..ac1a40eb0794 100644 --- a/net/narrowlink/Makefile +++ b/net/narrowlink/Makefile @@ -1,6 +1,6 @@ PORTNAME= narrowlink DISTVERSION= 0.2.6 -PORTREVISION= 12 +PORTREVISION= 13 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/ntpd-rs/Makefile b/net/ntpd-rs/Makefile index 8a2a6e479a01..35f68b13ccaa 100644 --- a/net/ntpd-rs/Makefile +++ b/net/ntpd-rs/Makefile @@ -1,7 +1,7 @@ PORTNAME= ntpd-rs DISTVERSIONPREFIX= v DISTVERSION= 1.6.2 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= net MAINTAINER= mikael@FreeBSD.org diff --git a/net/oha/Makefile b/net/oha/Makefile index f1a942fdb1f1..7582cc6b7249 100644 --- a/net/oha/Makefile +++ b/net/oha/Makefile @@ -1,7 +1,7 @@ PORTNAME= oha DISTVERSIONPREFIX= v DISTVERSION= 1.9.0 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= net MAINTAINER= otis@FreeBSD.org diff --git a/net/onedrivegui/Makefile b/net/onedrivegui/Makefile index a86ce56e977b..5facdb54ffb7 100644 --- a/net/onedrivegui/Makefile +++ b/net/onedrivegui/Makefile @@ -1,5 +1,5 @@ PORTNAME= onedrivegui -DISTVERSION= 1.2.2 +DISTVERSION= 1.3.0 DISTVERSIONPREFIX= v CATEGORIES= net python diff --git a/net/onedrivegui/distinfo b/net/onedrivegui/distinfo index 4c67e99ee9c8..2ccd5c80c2c9 100644 --- a/net/onedrivegui/distinfo +++ b/net/onedrivegui/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1759115543 -SHA256 (bpozdena-OneDriveGUI-v1.2.2_GH0.tar.gz) = c98fe134fae3b58188b2408b4733520335d5a1682cd7d9709b7f34ad7cf05758 -SIZE (bpozdena-OneDriveGUI-v1.2.2_GH0.tar.gz) = 115872 +TIMESTAMP = 1765945283 +SHA256 (bpozdena-OneDriveGUI-v1.3.0_GH0.tar.gz) = be325a873055269fd31856b921b7326de0013486d5ea0e0b40e424f220bf35ee +SIZE (bpozdena-OneDriveGUI-v1.3.0_GH0.tar.gz) = 125114 diff --git a/net/onedrivegui/pkg-plist b/net/onedrivegui/pkg-plist index 0f2a60537438..13d9e90a188f 100644 --- a/net/onedrivegui/pkg-plist +++ b/net/onedrivegui/pkg-plist @@ -16,12 +16,12 @@ share/icons/hicolor/48x48/apps/onedrivegui.png %%DATADIR%%/resources/images/close-filled.png %%DATADIR%%/resources/images/folder.png %%DATADIR%%/resources/images/gear.png -%%DATADIR%%/resources/images/icons8-cloud-cross-40_2.png -%%DATADIR%%/resources/images/icons8-cloud-done-40_2.png -%%DATADIR%%/resources/images/icons8-cloud-sync-40_2.png +%%DATADIR%%/resources/images/icons8-cloud-80.png +%%DATADIR%%/resources/images/icons8-cloud-done-80.png +%%DATADIR%%/resources/images/icons8-cloud-error-80.png +%%DATADIR%%/resources/images/icons8-cloud-stop-80.png +%%DATADIR%%/resources/images/icons8-cloud-sync-80.png %%DATADIR%%/resources/images/icons8-clouds-48.ico -%%DATADIR%%/resources/images/icons8-clouds-48.png -%%DATADIR%%/resources/images/icons8-clouds-80-dark-edge.png %%DATADIR%%/resources/images/icons8-green-circle-48.png %%DATADIR%%/resources/images/icons8-red-circle-48.png %%DATADIR%%/resources/images/menu.png @@ -60,6 +60,7 @@ share/icons/hicolor/48x48/apps/onedrivegui.png %%DATADIR%%/ui/ui_profile_settings_page.py %%DATADIR%%/ui/ui_profile_settings_window.py %%DATADIR%%/utils/__init__.py +%%DATADIR%%/utils/autostart.py %%DATADIR%%/utils/utils.py %%DATADIR%%/wizard.py %%DATADIR%%/workers.py diff --git a/net/packetdrill/files/patch-symbols__freebsd.c b/net/packetdrill/files/patch-symbols__freebsd.c index 25950fcd0277..1a858824dca2 100644 --- a/net/packetdrill/files/patch-symbols__freebsd.c +++ b/net/packetdrill/files/patch-symbols__freebsd.c @@ -1,6 +1,6 @@ ---- symbols_freebsd.c.orig 2023-10-07 04:37:59 UTC +--- symbols_freebsd.c.orig 2025-04-23 21:59:38 UTC +++ symbols_freebsd.c -@@ -406,7 +406,9 @@ struct int_symbol platform_symbols_table[] = { +@@ -412,7 +412,9 @@ struct int_symbol platform_symbols_table[] = { { TCP_NOOPT, "TCP_NOOPT" }, { TCP_MD5SIG, "TCP_MD5SIG" }, { TCP_INFO, "TCP_INFO" }, @@ -10,3 +10,13 @@ #if defined(TCP_LOG) { TCP_LOG, "TCP_LOG" }, #endif +@@ -931,7 +933,9 @@ struct int_symbol platform_symbols_table[] = { + #ifdef SF_NOCACHE + { SF_NOCACHE, "SF_NOCACHE" }, + #endif ++#ifdef SF_SYNC + { SF_SYNC, "SF_SYNC" }, ++#endif + + /* /usr/include/sys/unistd.h */ + { SEEK_SET, "SEEK_SET" }, diff --git a/net/proby/Makefile b/net/proby/Makefile index db1def7a7824..43dc747c060f 100644 --- a/net/proby/Makefile +++ b/net/proby/Makefile @@ -1,7 +1,7 @@ PORTNAME= proby DISTVERSIONPREFIX= v DISTVERSION= 1.0.2 -PORTREVISION= 48 +PORTREVISION= 49 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/py-urllib3/Makefile b/net/py-urllib3/Makefile index 17bdfab67b85..1f0dbb3a85ad 100644 --- a/net/py-urllib3/Makefile +++ b/net/py-urllib3/Makefile @@ -1,5 +1,5 @@ PORTNAME= urllib3 -PORTVERSION= 2.6.0 +PORTVERSION= 2.6.1 PORTEPOCH= 1 CATEGORIES= net python MASTER_SITES= PYPI \ diff --git a/net/py-urllib3/distinfo b/net/py-urllib3/distinfo index 535b5ab35fc8..1037014bb276 100644 --- a/net/py-urllib3/distinfo +++ b/net/py-urllib3/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1765033040 -SHA256 (urllib3-2.6.0.tar.gz) = cb9bcef5a4b345d5da5d145dc3e30834f58e8018828cbc724d30b4cb7d4d49f1 -SIZE (urllib3-2.6.0.tar.gz) = 432585 +TIMESTAMP = 1765895844 +SHA256 (urllib3-2.6.1.tar.gz) = 5379eb6e1aba4088bae84f8242960017ec8d8e3decf30480b3a1abdaa9671a3f +SIZE (urllib3-2.6.1.tar.gz) = 432678 diff --git a/net/quiche/Makefile b/net/quiche/Makefile index bfbdcbdd7469..52fddce6b933 100644 --- a/net/quiche/Makefile +++ b/net/quiche/Makefile @@ -1,6 +1,6 @@ PORTNAME= quiche DISTVERSION= 0.24.5 -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= net MAINTAINER= junho.choi@gmail.com diff --git a/net/rabbitmqadmin/Makefile b/net/rabbitmqadmin/Makefile index b2a723d17e3c..dae037168aad 100644 --- a/net/rabbitmqadmin/Makefile +++ b/net/rabbitmqadmin/Makefile @@ -1,7 +1,7 @@ PORTNAME= rabbitmqadmin DISTVERSIONPREFIX= v DISTVERSION= 0.29.0 -PORTREVISION= 6 +PORTREVISION= 7 CATEGORIES= net MAINTAINER= dch@FreeBSD.org diff --git a/net/radcli/Makefile b/net/radcli/Makefile index 35f5d89a5316..4b9b4611ba49 100644 --- a/net/radcli/Makefile +++ b/net/radcli/Makefile @@ -14,7 +14,7 @@ LICENSE_FILE= ${WRKSRC}/COPYRIGHT LIB_DEPENDS= libgnutls.so:security/gnutls \ libnettle.so:security/nettle -USES= libtool pathfix pkgconfig +USES= libtool pkgconfig GNU_CONFIGURE= yes INSTALL_TARGET= install-strip diff --git a/net/rathole/Makefile b/net/rathole/Makefile index 0de26740e290..d255f0c48cc3 100644 --- a/net/rathole/Makefile +++ b/net/rathole/Makefile @@ -1,7 +1,7 @@ PORTNAME= rathole DISTVERSIONPREFIX= v DISTVERSION= 0.5.0 -PORTREVISION= 19 +PORTREVISION= 20 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/realtek-rge-kmod/Makefile b/net/realtek-rge-kmod/Makefile index 00dcb1f8cba7..d12690f14458 100644 --- a/net/realtek-rge-kmod/Makefile +++ b/net/realtek-rge-kmod/Makefile @@ -1,5 +1,5 @@ PORTNAME= rge -PORTVERSION= 20251129 +PORTVERSION= 20251211 DISTVERSIONPREFIX= v CATEGORIES= net PKGNAMEPREFIX= realtek- @@ -9,14 +9,16 @@ MAINTAINER= brnrd@FreeBSD.org COMMENT= EXPERIMENTAL Kernel module for Realtek 8125/8126/8217 network cards WWW= https://github.com/erikarn/if_rge_freebsd -LICENSE= BSD +LICENSE= BSD2CLAUSE + +IGNORE_FreeBSD_13= Does not build on FreeBSD <=13 USES= kmod tar:tgz uidfix USE_GITHUB= yes GH_ACCOUNT= erikarn GH_PROJECT= if_rge_freebsd -GH_TAGNAME= d05b7b5 +GH_TAGNAME= aa1c088 WRKSRC_SUBDIR= src diff --git a/net/realtek-rge-kmod/distinfo b/net/realtek-rge-kmod/distinfo index 32bf16d8ab0a..da2038c7ac54 100644 --- a/net/realtek-rge-kmod/distinfo +++ b/net/realtek-rge-kmod/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1764506739 -SHA256 (erikarn-if_rge_freebsd-v20251129-d05b7b5_GH0.tar.gz) = 20ba562a5e02af9613fcdcf699b51920473e37c54225464f92c21f7ceea82d77 -SIZE (erikarn-if_rge_freebsd-v20251129-d05b7b5_GH0.tar.gz) = 70836 +TIMESTAMP = 1765521825 +SHA256 (erikarn-if_rge_freebsd-v20251211-aa1c088_GH0.tar.gz) = 501576b66514d7a2b7e57c41fce70a749006143c870d31a17128d637e0d7a35a +SIZE (erikarn-if_rge_freebsd-v20251211-aa1c088_GH0.tar.gz) = 70967 diff --git a/net/redpanda-connect/Makefile b/net/redpanda-connect/Makefile index 900e83e0ef6b..c8b9d3f366e4 100644 --- a/net/redpanda-connect/Makefile +++ b/net/redpanda-connect/Makefile @@ -1,7 +1,6 @@ PORTNAME= connect DISTVERSIONPREFIX= v -DISTVERSION= 4.72.0 -PORTREVISION= 1 +DISTVERSION= 4.73.0 CATEGORIES= net PKGNAMEPREFIX= redpanda- diff --git a/net/redpanda-connect/distinfo b/net/redpanda-connect/distinfo index f0685b7bc638..0deeea9b162a 100644 --- a/net/redpanda-connect/distinfo +++ b/net/redpanda-connect/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1764761213 -SHA256 (go/net_redpanda-connect/connect-v4.72.0/v4.72.0.mod) = fbef788b5b6009628a6b548b980f229f74e11e0d14da2c805720b695d2389935 -SIZE (go/net_redpanda-connect/connect-v4.72.0/v4.72.0.mod) = 26128 -SHA256 (go/net_redpanda-connect/connect-v4.72.0/v4.72.0.zip) = 0c1c1585ecfb3053a91edb5ca46515019e59c33330bdb84a3e32d803ac223d23 -SIZE (go/net_redpanda-connect/connect-v4.72.0/v4.72.0.zip) = 3204953 +TIMESTAMP = 1765616658 +SHA256 (go/net_redpanda-connect/connect-v4.73.0/v4.73.0.mod) = f6310e20665f45c4604996f69e859a2833ff47170465d0836c05b030fb087754 +SIZE (go/net_redpanda-connect/connect-v4.73.0/v4.73.0.mod) = 26392 +SHA256 (go/net_redpanda-connect/connect-v4.73.0/v4.73.0.zip) = e3863dcb1ba37569ca9464f9c1989b411cd33159b9cd8b46c3b538fac46f72ca +SIZE (go/net_redpanda-connect/connect-v4.73.0/v4.73.0.zip) = 3233687 diff --git a/net/rosenpass/Makefile b/net/rosenpass/Makefile index 12943cd6b880..b7f6ca4e0860 100644 --- a/net/rosenpass/Makefile +++ b/net/rosenpass/Makefile @@ -1,7 +1,7 @@ PORTNAME= rosenpass DISTVERSIONPREFIX= v DISTVERSION= 0.2.2 -PORTREVISION= 13 +PORTREVISION= 14 CATEGORIES= net net-vpn security MAINTAINER= fuz@FreeBSD.org diff --git a/net/rospo/Makefile b/net/rospo/Makefile index d39fa651f44b..108b766a85eb 100644 --- a/net/rospo/Makefile +++ b/net/rospo/Makefile @@ -11,7 +11,7 @@ WWW= https://github.com/ferama/rospo LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -USES= go:1.24,modules +USES= go:1.24+,modules GO_MODULE= github.com/ferama/rospo GO_BUILDFLAGS= -ldflags="-X github.com/ferama/rospo/cmd.Version=${PKGVERSION} ${STRIP}" diff --git a/net/routinator/Makefile b/net/routinator/Makefile index 3a47bbc5ee0a..294de3e1908b 100644 --- a/net/routinator/Makefile +++ b/net/routinator/Makefile @@ -1,7 +1,7 @@ PORTNAME= routinator DISTVERSIONPREFIX= v DISTVERSION= 0.15.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net MAINTAINER= jaap@NLnetLabs.nl diff --git a/net/rsyn/Makefile b/net/rsyn/Makefile index 7ef7c5bd9162..c269d3d7087e 100644 --- a/net/rsyn/Makefile +++ b/net/rsyn/Makefile @@ -1,7 +1,7 @@ PORTNAME= rsyn DISTVERSIONPREFIX= v DISTVERSION= 0.0.1 -PORTREVISION= 18 +PORTREVISION= 19 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/rubygem-oauth2-gitlab/Makefile b/net/rubygem-oauth2-gitlab/Makefile index 1c49c854bd1a..d687b86a9cda 100644 --- a/net/rubygem-oauth2-gitlab/Makefile +++ b/net/rubygem-oauth2-gitlab/Makefile @@ -1,5 +1,5 @@ PORTNAME= oauth2 -PORTVERSION= 2.0.13 +PORTVERSION= 2.0.18 CATEGORIES= net rubygems MASTER_SITES= RG PKGNAMESUFFIX= -gitlab @@ -17,7 +17,7 @@ RUN_DEPENDS= rubygem-faraday-gitlab>=0.17.3<4:www/rubygem-faraday-gitlab \ rubygem-multi_xml>=0.5<1:textproc/rubygem-multi_xml \ rubygem-rack>=1.2,3<4,3:www/rubygem-rack \ rubygem-snaky_hash>=2.0.3<3:devel/rubygem-snaky_hash \ - rubygem-version_gem>=1.1.8<2:devel/rubygem-version_gem + rubygem-version_gem>=1.1.9<2:devel/rubygem-version_gem USES= gem diff --git a/net/rubygem-oauth2-gitlab/distinfo b/net/rubygem-oauth2-gitlab/distinfo index 0db926047629..db879ccaf0c7 100644 --- a/net/rubygem-oauth2-gitlab/distinfo +++ b/net/rubygem-oauth2-gitlab/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1756619582 -SHA256 (rubygem/oauth2-2.0.13.gem) = e6588fe5902c07bac542a4a1197f558c319cb479b7fbe53f43f883b1a211be25 -SIZE (rubygem/oauth2-2.0.13.gem) = 70144 +TIMESTAMP = 1765605808 +SHA256 (rubygem/oauth2-2.0.18.gem) = bacf11e470dfb963f17348666d0a75c7b29ca65bc48fd47be9057cf91a403287 +SIZE (rubygem/oauth2-2.0.18.gem) = 83456 diff --git a/net/rubygem-omniauth-oauth2-gitlab/Makefile b/net/rubygem-omniauth-oauth2-gitlab/Makefile index 031ae569a0c8..72146c378846 100644 --- a/net/rubygem-omniauth-oauth2-gitlab/Makefile +++ b/net/rubygem-omniauth-oauth2-gitlab/Makefile @@ -1,6 +1,5 @@ PORTNAME= omniauth-oauth2 -PORTVERSION= 1.8.0 -PORTREVISION= 1 +PORTVERSION= 1.9.0 CATEGORIES= net rubygems MASTER_SITES= RG PKGNAMESUFFIX= -gitlab @@ -12,8 +11,8 @@ WWW= https://github.com/omniauth/omniauth-oauth2 LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE.md -RUN_DEPENDS= rubygem-oauth2-gitlab>=1.4<3:net/rubygem-oauth2-gitlab \ - rubygem-omniauth-gl>=1.9<3:security/rubygem-omniauth-gl +RUN_DEPENDS= rubygem-oauth2-gitlab>=2.0.2<3:net/rubygem-oauth2-gitlab \ + rubygem-omniauth-gl>=2.0<3:security/rubygem-omniauth-gl USES= gem diff --git a/net/rubygem-omniauth-oauth2-gitlab/distinfo b/net/rubygem-omniauth-oauth2-gitlab/distinfo index e197572d0b5d..a020b57d93e8 100644 --- a/net/rubygem-omniauth-oauth2-gitlab/distinfo +++ b/net/rubygem-omniauth-oauth2-gitlab/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1656093034 -SHA256 (rubygem/omniauth-oauth2-1.8.0.gem) = b2f8e9559cc7e2d4efba57607691d6d2b634b879fc5b5b6ccfefa3da85089e78 -SIZE (rubygem/omniauth-oauth2-1.8.0.gem) = 11776 +TIMESTAMP = 1765605599 +SHA256 (rubygem/omniauth-oauth2-1.9.0.gem) = ed15f6d9d20991807ce114cc5b9c1453bce3645b64e51c68c90cff5ff153fee8 +SIZE (rubygem/omniauth-oauth2-1.9.0.gem) = 12288 diff --git a/net/rubygem-omniauth-oauth2-gitlab/files/patch-gemspec b/net/rubygem-omniauth-oauth2-gitlab/files/patch-gemspec deleted file mode 100644 index f42ffd158980..000000000000 --- a/net/rubygem-omniauth-oauth2-gitlab/files/patch-gemspec +++ /dev/null @@ -1,15 +0,0 @@ -Fix runtime of www/gitlab-ce - -Allow omniauth 1.9.* to fix bundler check when gitlab starts. - ---- omniauth-oauth2.gemspec.orig 2024-02-21 06:39:47 UTC -+++ omniauth-oauth2.gemspec -@@ -21,7 +21,7 @@ Gem::Specification.new do |s| - s.specification_version = 4 - - s.add_runtime_dependency(%q<oauth2>.freeze, [">= 1.4".freeze, "< 3".freeze]) -- s.add_runtime_dependency(%q<omniauth>.freeze, ["~> 2.0".freeze]) -+ s.add_runtime_dependency(%q<omniauth>.freeze, [">= 1.9".freeze, "< 3".freeze]) - s.add_development_dependency(%q<bundler>.freeze, ["~> 2.0".freeze]) - end - diff --git a/net/rubygem-opennebula/Makefile b/net/rubygem-opennebula/Makefile index 612663de8f61..59c886186be1 100644 --- a/net/rubygem-opennebula/Makefile +++ b/net/rubygem-opennebula/Makefile @@ -1,5 +1,5 @@ PORTNAME= opennebula -PORTVERSION= 7.0.1 +PORTVERSION= 7.0.2 CATEGORIES= net rubygems MASTER_SITES= RG diff --git a/net/rubygem-opennebula/distinfo b/net/rubygem-opennebula/distinfo index 95cbc7ba7f83..8a39a932270f 100644 --- a/net/rubygem-opennebula/distinfo +++ b/net/rubygem-opennebula/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1761447698 -SHA256 (rubygem/opennebula-7.0.1.gem) = 9472f04e64e0e31fefdef8637decdcd3a12b1ae58cb97827718b61c4e8f39a2c -SIZE (rubygem/opennebula-7.0.1.gem) = 117248 +TIMESTAMP = 1765895816 +SHA256 (rubygem/opennebula-7.0.2.gem) = ec8d7d0426cb3abe9117b5d620b20d7004baeb2b721f33227c88b34afa728171 +SIZE (rubygem/opennebula-7.0.2.gem) = 117248 diff --git a/net/rustdesk-server/Makefile b/net/rustdesk-server/Makefile index aa6b7aa0c556..a9b706f49de4 100644 --- a/net/rustdesk-server/Makefile +++ b/net/rustdesk-server/Makefile @@ -1,6 +1,6 @@ PORTNAME= rustdesk-server DISTVERSION= 1.1.14 -PORTREVISION= 8 +PORTREVISION= 9 CATEGORIES= net MAINTAINER= madpilot@FreeBSD.org diff --git a/net/s3m/Makefile b/net/s3m/Makefile index cb3717e6fbfd..927fda70c291 100644 --- a/net/s3m/Makefile +++ b/net/s3m/Makefile @@ -1,6 +1,6 @@ PORTNAME= s3m DISTVERSION= 0.13.1 -PORTREVISION= 4 +PORTREVISION= 5 CATEGORIES= net MAINTAINER= nbari@tequila.io diff --git a/net/samba420/Makefile b/net/samba420/Makefile index 487e6fb0e241..36db6c71fe15 100644 --- a/net/samba420/Makefile +++ b/net/samba420/Makefile @@ -1,6 +1,5 @@ PORTNAME= ${SAMBA4_BASENAME}420 PORTVERSION= ${SAMBA4_VERSION} -PORTREVISION= 11 CATEGORIES?= net MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc DISTNAME= ${SAMBA4_DISTNAME} @@ -12,6 +11,8 @@ WWW= https://gitlab.com/samba-freebsd/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING +DEPRECATED= Discontinued upstream; transition to a supported versions of Samba (refer to https://wiki.samba.org/index.php/Samba_Release_Planning) + USES= cpe CONFLICTS_INSTALL?= samba4* @@ -52,7 +53,7 @@ EXTRA_PATCHES= \ SAMBA4_BASENAME= samba SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4 -SAMBA4_VERSION= 4.20.7 +SAMBA4_VERSION= 4.20.8 SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|} WRKSRC?= ${WRKDIR}/${DISTNAME} diff --git a/net/samba420/distinfo b/net/samba420/distinfo index e6dc8bc2d49f..9858f8d90d7f 100644 --- a/net/samba420/distinfo +++ b/net/samba420/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1737565689 -SHA256 (samba-4.20.7.tar.gz) = 5afe8b66e612ab1c7e57c6146adfe98ec3ea9d40dee2962a2076a3d6d6973b78 -SIZE (samba-4.20.7.tar.gz) = 42523056 +TIMESTAMP = 1766066171 +SHA256 (samba-4.20.8.tar.gz) = 75be0e8d31f45013e9b260fe7cf304a36d2d8128391914772577215ec173a807 +SIZE (samba-4.20.8.tar.gz) = 42531989 diff --git a/net/samba420/files/patch-python_samba_tdb__util.py b/net/samba420/files/patch-python_samba_tdb__util.py deleted file mode 100644 index ffbe35f0016b..000000000000 --- a/net/samba420/files/patch-python_samba_tdb__util.py +++ /dev/null @@ -1,15 +0,0 @@ ---- python/samba/tdb_util.py.orig 2025-02-17 11:38:24.136379000 +0100 -+++ python/samba/tdb_util.py 2025-02-17 11:38:44.171612000 +0100 -@@ -37,9 +37,10 @@ - raise FileNotFoundError(2, "could not find tdbbackup tool: " - "is tdb-tools installed?") - -- tdbbackup_cmd = [toolpath, "-s", ".copy.tdb", file1] - if readonly: -- tdbbackup_cmd.append("-r") -+ tdbbackup_cmd = [toolpath, "-r", "-s", ".copy.tdb", file1] -+ else: -+ tdbbackup_cmd = [toolpath, "-s", ".copy.tdb", file1] - - status = subprocess.check_call(tdbbackup_cmd, close_fds=True, shell=False) - diff --git a/net/samba420/pkg-plist.python b/net/samba420/pkg-plist.python index 2ee4e7430379..4eba1ad08c42 100644 --- a/net/samba420/pkg-plist.python +++ b/net/samba420/pkg-plist.python @@ -432,6 +432,7 @@ lib/samba4/private/libsamba-python%%PYTHON_TAG%%-private-samba.so %%PYTHON_SITELIBDIR%%/samba/tests/messaging.py %%PYTHON_SITELIBDIR%%/samba/tests/ndr/gkdi.py %%PYTHON_SITELIBDIR%%/samba/tests/ndr/gmsa.py +%%PYTHON_SITELIBDIR%%/samba/tests/ndr/sd.py %%PYTHON_SITELIBDIR%%/samba/tests/ndr/wbint.py %%PYTHON_SITELIBDIR%%/samba/tests/net_join.py %%PYTHON_SITELIBDIR%%/samba/tests/net_join_no_spnego.py diff --git a/net/samba422/Makefile b/net/samba422/Makefile index 35329138fecf..c45dadb106fd 100644 --- a/net/samba422/Makefile +++ b/net/samba422/Makefile @@ -1,9 +1,9 @@ -PORTNAME= ${SAMBA4_BASENAME}422 -PORTVERSION= ${SAMBA4_VERSION} -PORTREVISION= 5 +PORTNAME= samba422 +DISTVERSION= 4.22.6 +PORTREVISION= 6 CATEGORIES?= net MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc -DISTNAME= ${SAMBA4_DISTNAME} +DISTNAME= samba-${DISTVERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|} MAINTAINER= samba@FreeBSD.org COMMENT= Free SMB/CIFS and AD/DC server and client for Unix @@ -12,6 +12,13 @@ WWW= https://gitlab.com/samba-freebsd/ LICENSE= GPLv3+ LICENSE_FILE= ${WRKSRC}/COPYING +# The SAMBA4_BUNDLED_* variables are deprecated. +.for bvar in SAMBA4_BUNDLED_CMOCKA SAMBA4_BUNDLED_TALLOC SAMBA4_BUNDLED_TDB SAMBA4_BUNDLED_TEVENT +. if defined(${bvar}) && ${${bvar}} == yes +IGNORE= does not support bundling dependencies via ${bvar}; use option ${bvar:S/^SAMBA4_//} instead +. endif +.endfor + BUILD_DEPENDS= ${_JANSSON_DEPENDS} \ ${_LIBARCHIVE_DEPENDS} \ ${_TASN1_DEPENDS} \ @@ -36,54 +43,20 @@ LIB_DEPENDS= libgnutls.so:security/gnutls \ libpopt.so:devel/popt \ libunwind.so:devel/libunwind \ libicui18n.so:devel/icu \ - libicuuc.so:devel/icu + libicuuc.so:devel/icu \ + ${_VFS_SNAPPER_LIB_DEPENDS} RUN_DEPENDS= ${_JANSSON_DEPENDS} \ ${_LIBARCHIVE_DEPENDS} \ ${_TASN1_DEPENDS} TEST_DEPENDS= bash:shells/bash \ tshark:net/wireshark@nox11 -SAMBA4_BUNDLED_LIBS= !libarchive - -SAMBA4_BASENAME= samba -SAMBA4_PORTNAME= ${SAMBA4_BASENAME}4 -SAMBA4_VERSION= 4.22.6 -SAMBA4_DISTNAME= ${SAMBA4_BASENAME}-${SAMBA4_VERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|} - -# Directories -VARDIR= ${DESTDIR}/var -SAMBA4_RUNDIR= ${VARDIR}/run/${SAMBA4_PORTNAME} -SAMBA4_LOGDIR= ${VARDIR}/log/${SAMBA4_PORTNAME} -SAMBA4_LOCKDIR= ${VARDIR}/db/${SAMBA4_PORTNAME} -SAMBA4_BINDDNSDIR= ${SAMBA4_LOCKDIR}/bind-dns -SAMBA4_PRIVATEDIR= ${SAMBA4_LOCKDIR}/private -SAMBA4_PAMDIR= ${PREFIX}/lib -SAMBA4_LIBDIR= ${SAMBA_LIBDIR} -SAMBA4_MODULEDIR= ${SAMBA_MODULESDIR} -SAMBA4_INCLUDEDIR= ${SAMBA_INCLUDEDIR} -SAMBA4_CONFDIR= ${PREFIX}/etc -SAMBA4_CONFIG= smb4.conf -SAMBA4_MODULES_CLASS= auth bind9 gensec gpext idmap ldb nss_info \ - pdb perfcount process_model service vfs - -SAMBA4_SUB+= SAMBA4_LOGDIR="${SAMBA4_LOGDIR}" \ - SAMBA4_RUNDIR="${SAMBA4_RUNDIR}" \ - SAMBA4_LOCKDIR="${SAMBA4_LOCKDIR}" \ - SAMBA4_LIBDIR="${SAMBA4_LIBDIR}" \ - SAMBA4_MODULEDIR="${SAMBA4_MODULEDIR}" \ - SAMBA_LDB_MODULESDIR="${SAMBA_LDB_MODULESDIR}" \ - SAMBA4_BINDDNSDIR="${SAMBA4_BINDDNSDIR}" \ - SAMBA4_PRIVATEDIR="${SAMBA4_PRIVATEDIR}" \ - SAMBA4_CONFDIR="${SAMBA4_CONFDIR}" \ - SAMBA4_CONFIG="${SAMBA4_CONFIG}" \ - SAMBA4_SERVICES="${SAMBA4_SERVICES}" - USES= cpe compiler:c++11-lang iconv \ localbase:ldflags ncurses perl5 pkgconfig \ shebangfix waf gettext-runtime samba:self CPE_VENDOR= samba CPE_PRODUCT= samba -USE_LDCONFIG= ${SAMBA4_LIBDIR} +USE_LDCONFIG= ${SAMBA_LIBDIR} USE_PERL5= build USE_RC_SUBR= samba_server WAF_CMD= buildtools/bin/waf @@ -93,25 +66,25 @@ SHEBANG_FILES= source3/script* source4/scripting/bin/* selftest/* CONFIGURE_LOG= bin/config.log CONFIGURE_ARGS= --mandir="${PREFIX}/share/man" \ - --sysconfdir="${SAMBA4_CONFDIR}" \ - --includedir="${SAMBA4_INCLUDEDIR}" \ + --sysconfdir="${_CONFDIR}" \ + --includedir="${SAMBA_INCLUDEDIR}" \ --datadir="${DATADIR}" \ - --libdir="${SAMBA4_LIBDIR}" \ - --with-privatelibdir="${SAMBA4_LIBDIR}/private" \ - --with-pammodulesdir="${SAMBA4_PAMDIR}" \ - --with-modulesdir="${SAMBA4_MODULEDIR}" \ + --libdir="${SAMBA_LIBDIR}" \ + --with-privatelibdir="${SAMBA_LIBDIR}/private" \ + --with-pammodulesdir="${_PAMDIR}" \ + --with-modulesdir="${SAMBA_MODULESDIR}" \ --with-ldbmodulesdir="${SAMBA_LDB_MODULESDIR}" \ - --with-pkgconfigdir="${PKGCONFIGDIR}" \ - --localstatedir="${VARDIR}" \ - --with-piddir="${SAMBA4_RUNDIR}" \ - --with-sockets-dir="${SAMBA4_RUNDIR}" \ - --with-privileged-socket-dir="${SAMBA4_RUNDIR}" \ - --with-lockdir="${SAMBA4_LOCKDIR}" \ - --with-statedir="${SAMBA4_LOCKDIR}" \ - --with-cachedir="${SAMBA4_LOCKDIR}" \ - --with-bind-dns-dir=${SAMBA4_BINDDNSDIR} \ - --with-privatedir="${SAMBA4_PRIVATEDIR}" \ - --with-logfilebase="${SAMBA4_LOGDIR}" + --with-pkgconfigdir="${_PKGCONFIGDIR}" \ + --localstatedir="${_LOCALSTATEDIR}" \ + --with-piddir="${_RUNDIR}" \ + --with-sockets-dir="${_RUNDIR}" \ + --with-privileged-socket-dir="${_RUNDIR}" \ + --with-lockdir="${_LOCKDIR}" \ + --with-statedir="${_LOCKDIR}" \ + --with-cachedir="${_LOCKDIR}" \ + --with-bind-dns-dir=${_BINDDNSDIR} \ + --with-privatedir="${_PRIVATEDIR}" \ + --with-logfilebase="${_LOGDIR}" CONFIGURE_ARGS+= \ --with-pam \ --with-iconv \ @@ -129,8 +102,14 @@ CONFIGURE_ARGS+= \ --with-sendfile-support \ --disable-ctdb-tests \ --disable-spotlight +CONFIGURE_ARGS+= ${_PRIVATE_LIBS:D--private-libraries="${_PRIVATE_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"} +CONFIGURE_ARGS+= ${_BUNDLED_LIBS:D--bundled-libraries="${_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"} +CONFIGURE_ARGS+= ${_SHARED_MODULES:D--with-shared-modules="${_SHARED_MODULES:C|-|_|:Q:C|(\\\\ )+|,|g:S|\\||g}"} +CONFIGURE_ARGS+= ${WITH_DEBUG:D --verbose --enable-debug} CONFIGURE_ENV= PTHREAD_LDFLAGS="-lpthread" \ PYTHONHASHSEED=1 + +MAKE_ARGS= ${WITH_DEBUG:D --verbose} MAKE_ENV= PYTHONHASHSEED=1 \ RPCGEN_CPP="${CPP}" TEST_ENV= PYTHON="${PYTHON_CMD}" \ @@ -140,21 +119,21 @@ TEST_ENV= PYTHON="${PYTHON_CMD}" \ PYTHONDONTWRITEBYTECODE=1 # No fancy color error messages -CFLAGS+= ${CFLAGS_${CHOSEN_COMPILER_TYPE}} -CFLAGS_clang= -fno-color-diagnostics +CFLAGS+= ${_CFLAGS_${CHOSEN_COMPILER_TYPE}} +.ifnmake portclippy +_CFLAGS_clang= -fno-color-diagnostics +.endif CONFIGURE_ENV+= NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s' MAKE_ENV+= NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s' # for libexecinfo: (so that __builtin_frame_address() finds the top of the stack) CFLAGS_amd64+= -fno-omit-frame-pointer +DEBUG_FLAGS?= -g -ggdb3 -O0 # Some symbols in samba's linker version scripts are not defined, but since the # scripts are generated dynamically, suppress errors with lld >= 17 due to these # undefined symbols. LDFLAGS+= -Wl,--undefined-version -CONFLICTS_INSTALL?= samba4* - -PKGCONFIGDIR?= ${PREFIX}/libdata/pkgconfig -PKGCONFIGDIR_REL?= ${PKGCONFIGDIR:S,^${PREFIX}/,,} +CONFLICTS_INSTALL= ldb2[0-9]-* samba4* EXTRA_PATCHES= \ ${PATCHDIR}/0001-Compact-and-simplify-modules-build-and-config-genera.patch:-p1 \ @@ -183,24 +162,28 @@ EXTRA_PATCHES= \ ${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch \ SUB_FILES= pkg-message README.FreeBSD -SUB_LIST= PKGCONFIGDIR=${PKGCONFIGDIR_REL} \ - ${SAMBA4_SUB} +SUB_LIST= PKGCONFIGDIR=${_PKGCONFIGDIR_REL} \ + ${_SAMBA_SUB} # PLIST must be defined here explicitly as we append to PLIST later on to # handle extra pkg-plist files like pkg-plist.python. -PLIST?= ${PKGDIR}/pkg-plist -PLIST_SUB= PKGCONFIGDIR=${PKGCONFIGDIR_REL} \ - ${SAMBA4_SUB} +PLIST?= ${PKGDIR}/pkg-plist +PLIST_DIRS= ${SAMBA_MODULESDIR} \ + ${_MODULE_CLASSES:S|^|${SAMBA_MODULESDIR}/|} +# ":C|_|/|:C|-|_|" is a workaround for turning "nss-info_*" modules into "nss_info/*". +PLIST_FILES+= ${_SHARED_MODULES:C|_|/|:C|-|_|:S|^|${SAMBA_MODULESDIR}/|:S|$|.so|} +PLIST_SUB= PKGCONFIGDIR=${_PKGCONFIGDIR_REL} \ + ${_SAMBA_SUB} PORTDOCS= README.FreeBSD -############################################################################## OPTIONS_DEFINE= AD_DC ADS CLUSTER CUPS DOCS FAM LDAP GPGME \ MANPAGES PROFILE PYTHON3 QUOTAS \ SYSLOG UTMP OPTIONS_DEFAULT= AD_DC ADS DOCS FAM LDAP MANPAGES \ PROFILE PYTHON3 QUOTAS SYSLOG UTMP \ FRUIT GSSAPI_BUILTIN AVAHI -OPTIONS_GROUP= DEVELOPMENT VFS +OPTIONS_GROUP= BUNDLED_DEPS DEVELOPMENT VFS +OPTIONS_GROUP_BUNDLED_DEPS= BUNDLED_CMOCKA BUNDLED_TALLOC BUNDLED_TDB BUNDLED_TEVENT OPTIONS_GROUP_DEVELOPMENT= DEVELOPER MEMORY_DEBUG PICKY_DEVELOPER TEST OPTIONS_GROUP_VFS= FRUIT GLUSTERFS OPTIONS_SINGLE= GSSAPI ZEROCONF @@ -208,9 +191,13 @@ OPTIONS_SINGLE_GSSAPI= GSSAPI_BUILTIN GSSAPI_MIT OPTIONS_SINGLE_ZEROCONF= ZEROCONF_NONE AVAHI MDNSRESPONDER OPTIONS_SUB= yes -############################################################################## ADS_DESC= Active Directory client AD_DC_DESC= Active Directory Domain Controller(implies PYTHON3) +BUNDLED_CMOCKA_DESC= Bundle cmocka instead of depending on a standalone port +BUNDLED_DEPS_DESC= Bundled dependencies +BUNDLED_TALLOC_DESC= Bundle talloc instead of depending on a standalone port +BUNDLED_TDB_DESC= Bundle TDB instead of depending on a standalone port +BUNDLED_TEVENT_DESC= Bundle Tevent instead of depending on a standalone port CLUSTER_DESC= Clustering support DEVELOPER_DESC= With developer framework DEVELOPMENT_DESC= Testing, debugging, and development @@ -228,79 +215,16 @@ UTMP_DESC= UTMP accounting VFS_DESC= VFS modules ZEROCONF_DESC= Zero configuration networking ZEROCONF_NONE_DESC= Zeroconf support is absent -############################################################################## -### Bundled libraries -SAMBA4_BUNDLED_CMOCKA?= no -SAMBA4_BUNDLED_TALLOC?= no -SAMBA4_BUNDLED_TEVENT?= no -SAMBA4_BUNDLED_TDB?= no -# cmocka -.if defined(SAMBA4_BUNDLED_CMOCKA) && ${SAMBA4_BUNDLED_CMOCKA} == yes -SAMBA4_BUNDLED_LIBS+= cmocka -CONFLICTS_INSTALL+= cmocka-1.* -SAMBA4_SUB+= SAMBA4_BUNDLED_CMOCKA="" -.else -SAMBA4_BUNDLED_LIBS+= !cmocka -BUILD_DEPENDS+= cmocka>=1.1.3:sysutils/cmocka -TEST_DEPENDS+= cmocka>=1.1.3:sysutils/cmocka -SAMBA4_SUB+= SAMBA4_BUNDLED_CMOCKA="@comment " -.endif -# talloc -.if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes -SAMBA4_BUNDLED_LIBS+= talloc -SAMBA4_SUB+= SAMBA4_BUNDLED_TALLOC="" -.else -SAMBA4_BUNDLED_LIBS+= !talloc -BUILD_DEPENDS+= talloc243>=2.4.3:devel/talloc243 -RUN_DEPENDS+= talloc243>=2.4.3:devel/talloc243 -SAMBA4_SUB+= SAMBA4_BUNDLED_TALLOC="@comment " -.endif -# tevent -.if defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes -SAMBA4_BUNDLED_LIBS+= tevent -CONFLICTS_INSTALL+= tevent-* tevent1-* -SAMBA4_SUB+= SAMBA4_BUNDLED_TEVENT="" -.else -SAMBA4_BUNDLED_LIBS+= !tevent -BUILD_DEPENDS+= tevent017>=0.17:devel/tevent017 -RUN_DEPENDS+= tevent017>=0.17:devel/tevent017 -SAMBA4_SUB+= SAMBA4_BUNDLED_TEVENT="@comment " -.endif -# tdb -.if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes -SAMBA4_BUNDLED_LIBS+= tdb -CONFLICTS_INSTALL+= tdb-* tdb1-* -SAMBA4_SUB+= SAMBA4_BUNDLED_TDB="" -.else -SAMBA4_BUNDLED_LIBS+= !tdb -BUILD_DEPENDS+= tdb1413>=1.4.13:databases/tdb1413 -RUN_DEPENDS+= tdb1413>=1.4.13:databases/tdb1413 -SAMBA4_SUB+= SAMBA4_BUNDLED_TDB="@comment " -.endif -.if (defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes) \ - || (defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes) \ - || (defined(SAMBA4_BUNDLED_TEVENT) && ${SAMBA4_BUNDLED_TEVENT} == yes) -SAMBA4_BUNDLED_LIBS+= replace -.endif -# Don't use external libcom_err -SAMBA4_BUNDLED_LIBS+= com_err - -### Public libraries -# ldb -SAMBA4_PRIVATE_LIBS+= !ldb -CONFLICTS_INSTALL+= ldb-* ldb2[0-9]-* - -############################################################################## ADS_IMPLIES= LDAP ADS_CONFIGURE_WITH= ads # List of extra modules taken from RHEL build # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197320 -ADS_VARS= SAMBA4_MODULES+="idmap_ad idmap_rfc2307 nss-info_template nss-info_rfc2307 nss-info_sfu nss-info_sfu20" +ADS_VARS= _SHARED_MODULES+="idmap_ad idmap_rfc2307 nss-info_template nss-info_rfc2307 nss-info_sfu nss-info_sfu20" AD_DC_IMPLIES= ADS PYTHON3 -AD_DC_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} -AD_DC_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} +AD_DC_BUILD_DEPENDS= ${_LMDB_DEPDENDS} +AD_DC_RUN_DEPENDS= ${_LMDB_DEPDENDS} AD_DC_CONFIGURE_OFF= --without-ad-dc --without-ldb-lmdb AD_DC_VARS= PLIST+=${PKGDIR}/pkg-plist.ad_dc # samba-tool requires those for *upgrade @@ -311,7 +235,35 @@ AD_DC_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app AVAHI_CONFIGURE_ENABLE= avahi -AVAHI_VARS= SAMBA4_SERVICES+=avahi_daemon +AVAHI_VARS= _SAMBA_SERVICES+=avahi_daemon + +BUNDLED_CMOCKA_BUILD_DEPENDS_OFF= cmocka>=1.1.3:sysutils/cmocka +BUNDLED_CMOCKA_TEST_DEPENDS_OFF= cmocka>=1.1.3:sysutils/cmocka +BUNDLED_CMOCKA_CONFLICTS_INSTALL= cmocka-1.* +BUNDLED_CMOCKA_VARS= _BUNDLED_LIBS+=cmocka \ + _BUNDLED_LIB_replace=replace +BUNDLED_CMOCKA_VARS_OFF= _BUNDLED_LIBS+=!cmocka + +BUNDLED_TALLOC_BUILD_DEPENDS_OFF= talloc243>=2.4.3:devel/talloc243 +BUNDLED_TALLOC_RUN_DEPENDS_OFF= talloc243>=2.4.3:devel/talloc243 +BUNDLED_TALLOC_CONFLICTS_INSTALL= talloc-* talloc2* +BUNDLED_TALLOC_VARS= _BUNDLED_LIBS+=talloc \ + _BUNDLED_LIB_replace=replace +BUNDLED_TALLOC_VARS_OFF= _BUNDLED_LIBS+=!talloc + +BUNDLED_TDB_BUILD_DEPENDS_OFF= tdb1413>=1.4.13:databases/tdb1413 +BUNDLED_TDB_RUN_DEPENDS_OFF= tdb1413>=1.4.13:databases/tdb1413 +BUNDLED_TDB_CONFLICTS_INSTALL= tdb-* tdb1* +BUNDLED_TDB_VARS= _BUNDLED_LIBS+=tdb \ + _BUNDLED_LIB_replace=replace +BUNDLED_TDB_VARS_OFF= _BUNDLED_LIBS+=!tdb + +BUNDLED_TEVENT_BUILD_DEPENDS_OFF= tevent017>=0.17:devel/tevent017 +BUNDLED_TEVENT_RUN_DEPENDS_OFF= tevent017>=0.17:devel/tevent017 +BUNDLED_TEVENT_CONFLICTS_INSTALL= tevent-* tevent0* +BUNDLED_TEVENT_VARS= _BUNDLED_LIBS+=tevent \ + _BUNDLED_LIB_replace=replace +BUNDLED_TEVENT_VARS_OFF= _BUNDLED_LIBS+=!tevent CLUSTER_LIB_DEPENDS= libpcap.so:net/libpcap CLUSTER_CONFIGURE_WITH= cluster-support @@ -320,18 +272,18 @@ CLUSTER_VARS= PLIST+=${PKGDIR}/pkg-plist.cluster CUPS_LIB_DEPENDS= libcups.so:print/cups CUPS_CONFIGURE_ENABLE= cups iprint -DEVELOPER_BUILD_DEPENDS= ${SAMBA4_LMDB_DEPENDS} \ - ${GDB_CMD}:devel/gdb -DEVELOPER_RUN_DEPENDS= ${SAMBA4_LMDB_DEPENDS} -DEVELOPER_TEST_DEPENDS= ${GDB_CMD}:devel/gdb +DEVELOPER_BUILD_DEPENDS= ${_LMDB_DEPDENDS} \ + ${_GDB_CMD}:devel/gdb +DEVELOPER_RUN_DEPENDS= ${_LMDB_DEPDENDS} +DEVELOPER_TEST_DEPENDS= ${_GDB_CMD}:devel/gdb DEVELOPER_CONFIGURE_ON= --enable-developer --enable-selftest --abi-check-disable DEVELOPER_CONFIGURE_ENV= WAF_CMD_FORMAT=string -DEVELOPER_VARS= SAMBA4_MODULES+="auth_skel pdb_test gpext_security gpext_registry \ +DEVELOPER_VARS= _SHARED_MODULES+="auth_skel pdb_test gpext_security gpext_registry \ gpext_scripts perfcount_test vfs_fake_dfq \ vfs_skel_opaque vfs_skel_transparent \ vfs_shadow_copy_test vfs_fake_acls \ vfs_nfs4acl_xattr vfs_error_inject vfs_delay_inject" -DEVELOPER_VARS_OFF= GDB_CMD=true +DEVELOPER_VARS_OFF= _GDB_CMD=true # https://bugzilla.samba.org/show_bug.cgi?id=9545 FAM_USES= fam @@ -340,12 +292,12 @@ FAM_CONFIGURE_WITH= fam FRUIT_PREVENTS= ZEROCONF_NONE FRUIT_PREVENTS_MSG= MacOSX support requires Zeroconf(AVAHI or MDNSRESPONDER) FRUIT_PLIST_FILES= %%MANPAGES%%share/man/man8/vfs_fruit.8.gz -FRUIT_VARS= SAMBA4_MODULES+=vfs_fruit +FRUIT_VARS= _SHARED_MODULES+=vfs_fruit GLUSTERFS_LIB_DEPENDS= libglusterfs.so:net/glusterfs GLUSTERFS_CONFIGURE_ENABLE= glusterfs GLUSTERFS_PLIST_FILES= %%MANPAGES%%share/man/man8/vfs_glusterfs.8.gz -GLUSTERFS_VARS= SAMBA4_MODULES+=vfs_glusterfs +GLUSTERFS_VARS= _SHARED_MODULES+=vfs_glusterfs GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme GPGME_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gpg>=2.0.0:security/py-gpg@${PY_FLAVOR} @@ -357,13 +309,13 @@ GSSAPI_MIT_USES= bison gssapi:mit GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ --with-system-mitkdc=${GSSAPIBASEDIR}/sbin/krb5kdc \ --with-experimental-mit-ad-dc -GSSAPI_MIT_PLIST_FILES= ${SAMBA4_MODULEDIR}/krb5/winbind_krb5_localauth.so \ +GSSAPI_MIT_PLIST_FILES= ${SAMBA_MODULESDIR}/krb5/winbind_krb5_localauth.so \ %%MANPAGES%%share/man/man8/winbind_krb5_localauth.8.gz \ - %%AD_DC%%${SAMBA4_LIBDIR}/krb5/plugins/kdb/samba.so + %%AD_DC%%${SAMBA_LIBDIR}/krb5/plugins/kdb/samba.so LDAP_USES= ldap LDAP_CONFIGURE_WITH= ldap -LDAP_VARS= SAMBA4_MODULES+=idmap_ldap +LDAP_VARS= _SHARED_MODULES+=idmap_ldap MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ xsltproc:textproc/libxslt @@ -371,9 +323,8 @@ MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder MDNSRESPONDER_CONFIGURE_ENABLE= dnssd -MDNSRESPONDER_VARS= SAMBA4_SERVICES+=mdnsd +MDNSRESPONDER_VARS= _SAMBA_SERVICES+=mdnsd -MEMORY_DEBUG_IMPLIES= DEBUG MEMORY_DEBUG_LIB_DEPENDS= libjemalloc.so.2:devel/jemalloc MEMORY_DEBUG_CONFIGURE_ENV= ADDITIONAL_CFLAGS="-DENABLE_JEMALLOC `pkg-config --cflags jemalloc`" ADDITIONAL_LDFLAGS="`pkg-config --libs jemalloc`" @@ -392,10 +343,7 @@ PYTHON3_CONFIGURE_ON= --nopycache PYTHON3_CONFIGURE_OFF= --disable-python PYTHON3_MAKE_ENV= PYTHONDONTWRITEBYTECODE=1 PYTHON3_VARS= PLIST+=${PKGDIR}/pkg-plist.python \ - SAMBA4_BUNDLED_LIBS+=${"${SAMBA4_BUNDLED_TALLOC:Myes}" == "yes":?:!}pytalloc-util \ - SAMBA4_BUNDLED_LIBS+=${"${SAMBA4_BUNDLED_TEVENT:Myes}" == "yes":?:!}pytevent \ - SAMBA4_BUNDLED_LIBS+=${"${SAMBA4_BUNDLED_TDB:Myes}" == "yes":?:!}pytdb \ - SAMBA4_BUNDLED_LIBS+="pyldb pyldb-util" + _BUNDLED_LIBS+="pyldb pyldb-util" QUOTAS_CONFIGURE_WITH= quotas @@ -407,26 +355,38 @@ TEST_RUN_DEPENDS= ${_ISO8601_DEPENDS} UTMP_CONFIGURE_WITH= utmp ZEROCONF_NONE_MAKE_ENV= ZEROCONF=none -############################################################################## -.include <bsd.port.options.mk> -############################################################################## -.if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES) + +.ifnmake portclippy +. if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES) WANT_EXP_MODULES= vfs_cacheprime +. endif .endif +# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046 +_GDB_CMD= ${LOCALBASE}/bin/gdb + +_ISO8601_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} +_JANSSON_DEPENDS= jansson>=2.10:devel/jansson +_LIBARCHIVE_DEPENDS= libarchive>=3.1.2:archivers/libarchive +_TASN1_DEPENDS= libtasn1>=3.8:security/libtasn1 .if ${WANT_EXP_MODULES:Mvfs_snapper} -# snapper needs dbus -LIB_DEPENDS+= libdbus-1.so:devel/dbus -LIB_DEPENDS+= libdbus-glib-1.so:devel/dbus-glib +_VFS_SNAPPER_LIB_DEPENDS= libdbus-1.so:devel/dbus \ + libdbus-glib-1.so:devel/dbus-glib .endif -SAMBA4_MODULES+= krb5_async_dns_krb5_locator krb5_winbind_krb5_locator idmap_nss idmap_autorid \ +_BUNDLED_LIBS= !libarchive \ + com_err \ + ${_BUNDLED_LIB_replace} + +_MODULE_CLASSES= auth bind9 gensec gpext idmap ldb nss_info \ + pdb perfcount process_model service vfs +_PRIVATE_LIBS= !ldb +_SHARED_MODULES+= ${WANT_EXP_MODULES} +_SHARED_MODULES+= krb5_async_dns_krb5_locator krb5_winbind_krb5_locator idmap_nss idmap_autorid \ idmap_rid idmap_hash idmap_tdb idmap_tdb2 idmap_script \ nss-info_hash -# This kind of special for this distribution -SAMBA4_MODULES+= vfs_freebsd - -SAMBA4_MODULES+= vfs_acl_tdb vfs_acl_xattr vfs_aio_fork vfs_aio_pthread \ +_SHARED_MODULES+= vfs_freebsd +_SHARED_MODULES+= vfs_acl_tdb vfs_acl_xattr vfs_aio_fork vfs_aio_pthread \ vfs_audit vfs_cap vfs_catia vfs_commit vfs_crossrename \ vfs_default_quota vfs_dirsort vfs_expand_msdfs \ vfs_extd_audit vfs_fake_perms vfs_full_audit \ @@ -437,55 +397,48 @@ SAMBA4_MODULES+= vfs_acl_tdb vfs_acl_xattr vfs_aio_fork vfs_aio_pthread \ vfs_time_audit vfs_unityed_media vfs_virusfilter \ vfs_widelinks vfs_worm vfs_xattr_tdb vfs_zfsacl -.if defined(WANT_EXP_MODULES) && !empty(WANT_EXP_MODULES) -SAMBA4_MODULES+= ${WANT_EXP_MODULES} -.endif - -.if defined(SAMBA4_PRIVATE_LIBS) && !empty(SAMBA4_PRIVATE_LIBS) -CONFIGURE_ARGS+= --private-libraries="${SAMBA4_PRIVATE_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}" -.endif - -.if defined(SAMBA4_BUNDLED_LIBS) && !empty(SAMBA4_BUNDLED_LIBS) -CONFIGURE_ARGS+= --bundled-libraries="${SAMBA4_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}" -.endif - -.if defined(SAMBA4_MODULES) && !empty(SAMBA4_MODULES) -CONFIGURE_ARGS+= --with-shared-modules="${SAMBA4_MODULES:C|-|_|:Q:C|(\\\\ )+|,|g:S|\\||g}" -.endif -# XXX: Hack for nss-info_* -> nss_info/* modules -# Add selected modules to the plist -.for module in ${SAMBA4_MODULES} -PLIST_FILES+= ${SAMBA4_MODULEDIR}/${module:C|_|/|:C|-|_|}.so -.endfor +_SAMBA_MAJVERNAME= samba4 +_SAMBA_SUB= SAMBA4_LOGDIR="${_LOGDIR}" \ + SAMBA4_RUNDIR="${_RUNDIR}" \ + SAMBA4_LOCKDIR="${_LOCKDIR}" \ + SAMBA4_LIBDIR="${SAMBA_LIBDIR}" \ + SAMBA4_MODULEDIR="${SAMBA_MODULESDIR}" \ + SAMBA_LDB_MODULESDIR="${SAMBA_LDB_MODULESDIR}" \ + SAMBA4_BINDDNSDIR="${_BINDDNSDIR}" \ + SAMBA4_PRIVATEDIR="${_PRIVATEDIR}" \ + SAMBA4_CONFDIR="${_CONFDIR}" \ + SAMBA4_CONFIG="${_SAMBA_CONFIG}" \ + SAMBA4_SERVICES="${_SAMBA_SERVICES}" + +_SAMBA_CONFIG= smb4.conf + +# XXX: Instead of defining _CONFDIR we could probably just set ETCDIR. +_CONFDIR= ${PREFIX}/etc +_BINDDNSDIR= ${_LOCKDIR}/bind-dns +_LOCALSTATEDIR= ${_VARDIR} +_LOCKDIR= ${_VARDIR}/db/${_SAMBA_MAJVERNAME} +_LOGDIR= ${_VARDIR}/log/${_SAMBA_MAJVERNAME} +_PAMDIR= ${PREFIX}/lib +_PKGCONFIGDIR= ${PREFIX}/${_PKGCONFIGDIR_REL} +_PKGCONFIGDIR_REL= libdata/pkgconfig +_PRIVATEDIR= ${_LOCKDIR}/private +_RUNDIR= ${_VARDIR}/run/${_SAMBA_MAJVERNAME} +_VARDIR= /var -.for module_class in ${SAMBA4_MODULES_CLASS} -PLIST_DIRS+= ${SAMBA4_MODULEDIR}/${module_class} -.endfor -PLIST_DIRS+= ${SAMBA4_MODULEDIR} +.include <bsd.port.options.mk> -.if defined(WITH_DEBUG) -CONFIGURE_ARGS+= --verbose --enable-debug -MAKE_ARGS+= --verbose -DEBUG_FLAGS?= -g -ggdb3 -O0 +.if ${PORT_OPTIONS:MPYTHON3} +_BUNDLED_LIBS+= ${"${PORT_OPTIONS:MBUNDLED_TALLOC}" == "BUNDLED_TALLOC":?:!}pytalloc-util +_BUNDLED_LIBS+= ${"${PORT_OPTIONS:MBUNDLED_TEVENT}" == "BUNDLED_TEVENT":?:!}pytevent +_BUNDLED_LIBS+= ${"${PORT_OPTIONS:MBUNDLED_TDB}" == "BUNDLED_TDB":?:!}pytdb .endif -# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046 -GDB_CMD?= ${LOCALBASE}/bin/gdb - -_ISO8601_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} -_JANSSON_DEPENDS= jansson>=2.10:devel/jansson -_LIBARCHIVE_DEPENDS= libarchive>=3.1.2:archivers/libarchive -_TASN1_DEPENDS= libtasn1>=3.8:security/libtasn1 - -############################################################################## -.include <bsd.port.pre.mk> -############################################################################## # Only for 64-bit architectures .if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != powerpc && ${ARCH} != powerpcspe . if (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER}) # LMDB -SAMBA4_LMDB_DEPENDS= lmdb>=0.9.16:databases/lmdb -PLIST_FILES+= ${SAMBA4_LIBDIR}/private/libldb-mdb-int-private-samba.so \ +_LMDB_DEPDENDS= lmdb>=0.9.16:databases/lmdb +PLIST_FILES+= ${SAMBA_LIBDIR}/private/libldb-mdb-int-private-samba.so \ ${SAMBA_LDB_MODULESDIR}/mdb.so . endif .endif @@ -494,13 +447,13 @@ post-extract: @${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp post-patch: - @${REINPLACE_CMD} -e 's|$${PKGCONFIGDIR}|${PKGCONFIGDIR}|g' \ + @${REINPLACE_CMD} -e 's|$${PKGCONFIGDIR}|${_PKGCONFIGDIR}|g' \ ${PATCH_WRKSRC}/buildtools/wafsamba/pkgconfig.py @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ ${PATCH_WRKSRC}/buildtools/wafsamba/wafsamba.py - @${REINPLACE_CMD} -e 's|%%GDB_CMD%%|${GDB_CMD}|g' \ + @${REINPLACE_CMD} -e 's|%%GDB_CMD%%|${_GDB_CMD}|g' \ ${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh - @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${SAMBA4_CONFIG}|g' \ + @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${_SAMBA_CONFIG}|g' \ ${PATCH_WRKSRC}/dynconfig/wscript post-install: @@ -509,13 +462,13 @@ post-install: -type d -print0 | ${XARGS} -0 -n 1 -t ${RM} -r ${FIND} ${STAGEDIR} -type f -empty -delete -.for dir in ${SAMBA4_LOGDIR} ${SAMBA4_RUNDIR} ${SAMBA4_LOCKDIR} ${SAMBA4_MODULEDIR} +.for dir in ${_LOGDIR} ${_RUNDIR} ${_LOCKDIR} ${SAMBA_MODULESDIR} ${INSTALL} -d -m 0755 "${STAGEDIR}${dir}" .endfor - ${INSTALL} -d -m 0750 "${STAGEDIR}${SAMBA4_BINDDNSDIR}" - ${INSTALL} -d -m 0750 "${STAGEDIR}${SAMBA4_PRIVATEDIR}" -.for module_class in ${SAMBA4_MODULES_CLASS} - ${INSTALL} -d -m 0755 "${STAGEDIR}${SAMBA4_MODULEDIR}/${module_class}" + ${INSTALL} -d -m 0750 "${STAGEDIR}${_BINDDNSDIR}" + ${INSTALL} -d -m 0750 "${STAGEDIR}${_PRIVATEDIR}" +.for module_class in ${_MODULE_CLASSES} + ${INSTALL} -d -m 0755 "${STAGEDIR}${SAMBA_MODULESDIR}/${module_class}" .endfor .if !defined(WITH_DEBUG) -${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin ${STAGEDIR}${PREFIX}/libexec \ @@ -524,11 +477,19 @@ post-install: -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} .endif -post-install-DOCS-on: - ${MKDIR} ${STAGEDIR}${DOCSDIR} -.for doc in ${PORTDOCS} - ${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR} -.endfor +post-install-BUNDLED_TALLOC-on: +.if ${PORT_OPTIONS:MMANPAGES} +. for f in talloc.3 + ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/${f} ${STAGEDIR}${PREFIX}/share/man/man3/samba-${f} +. endfor +.endif + +post-install-BUNDLED_TDB-on: +.if ${PORT_OPTIONS:MMANPAGES} +. for f in tdbbackup.8 tdbdump.8 tdbrestore.8 tdbtool.8 + ${MV} ${STAGEDIR}${PREFIX}/share/man/man8/${f} ${STAGEDIR}${PREFIX}/share/man/man8/samba-${f} +. endfor +.endif post-install-CLUSTER-on: ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/00.ctdb.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/00.ctdb.script @@ -537,8 +498,16 @@ post-install-CLUSTER-on: ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/10.interface.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/10.interface.script ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/95.database.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/95.database.script + ${RLN} ${STAGEDIR}${PREFIX}/libexec/ctdb/statd_callout ${STAGEDIR}${PREFIX}/etc/ctdb/statd-callout + +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} +.for doc in ${PORTDOCS} + ${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR} +.endfor + post-install-FRUIT-off: - ${RM} ${STAGEDIR}${SAMBA4_MODULEDIR}/vfs/fruit.so + ${RM} ${STAGEDIR}${SAMBA_MODULESDIR}/vfs/fruit.so ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8 post-install-MANPAGES-on: @@ -548,16 +517,4 @@ post-install-MANPAGES-on: ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f} .endfor -.if defined(SAMBA4_BUNDLED_TALLOC) && ${SAMBA4_BUNDLED_TALLOC} == yes -. for f in talloc.3 - ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/${f} ${STAGEDIR}${PREFIX}/share/man/man3/samba-${f} -. endfor -.endif - -.if defined(SAMBA4_BUNDLED_TDB) && ${SAMBA4_BUNDLED_TDB} == yes -. for f in tdbbackup.8 tdbdump.8 tdbrestore.8 tdbtool.8 - ${MV} ${STAGEDIR}${PREFIX}/share/man/man8/${f} ${STAGEDIR}${PREFIX}/share/man/man8/samba-${f} -. endfor -.endif - -.include <bsd.port.post.mk> +.include <bsd.port.mk> diff --git a/net/samba422/pkg-plist b/net/samba422/pkg-plist index 5cb0c0f81aec..5898fca60c80 100644 --- a/net/samba422/pkg-plist +++ b/net/samba422/pkg-plist @@ -428,7 +428,7 @@ libexec/samba/samba-dcerpcd @dir %%SAMBA4_PRIVATEDIR%% @dir %%SAMBA4_BINDDNSDIR%% @comment Use bundled libraries -%%SAMBA4_BUNDLED_CMOCKA%%%%SAMBA4_LIBDIR%%/private/libcmocka-private-samba.so +%%BUNDLED_CMOCKA%%%%SAMBA4_LIBDIR%%/private/libcmocka-private-samba.so %%PYTHON3%%%%PYTHON_SITELIBDIR%%/_ldb_text.py %%PYTHON3%%%%PYTHON_SITELIBDIR%%/ldb%%PYTHON_TAG%%.so %%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_TAG%%-private-samba.so @@ -460,21 +460,21 @@ bin/ldbsearch %%MANPAGES%%share/man/man1/ldbmodify.1.gz %%MANPAGES%%share/man/man1/ldbrename.1.gz %%MANPAGES%%share/man/man1/ldbsearch.1.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbbackup.8.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbdump.8.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbrestore.8.gz -%%MANPAGES%%%%SAMBA4_BUNDLED_TDB%%share/man/man8/samba-tdbtool.8.gz -%%SAMBA4_BUNDLED_TALLOC%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/talloc%%PYTHON_TAG%%.so -%%SAMBA4_BUNDLED_TALLOC%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpytalloc-util%%PYTHON_TAG%%-private-samba.so -%%SAMBA4_BUNDLED_TALLOC%%%%SAMBA4_LIBDIR%%/private/libtalloc-private-samba.so -%%SAMBA4_BUNDLED_TALLOC%%share/man/man3/samba-talloc.3.gz -%%SAMBA4_BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tdb_text.py -%%SAMBA4_BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tdb%%PYTHON_TAG%%.so -%%SAMBA4_BUNDLED_TDB%%bin/tdbbackup -%%SAMBA4_BUNDLED_TDB%%bin/tdbdump -%%SAMBA4_BUNDLED_TDB%%bin/tdbrestore -%%SAMBA4_BUNDLED_TDB%%bin/tdbtool -%%SAMBA4_BUNDLED_TDB%%%%SAMBA4_LIBDIR%%/private/libtdb-private-samba.so -%%SAMBA4_BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tevent%%PYTHON_TAG%%.so -%%SAMBA4_BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tevent.py -%%SAMBA4_BUNDLED_TEVENT%%%%SAMBA4_LIBDIR%%/private/libtevent-private-samba.so +%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbbackup.8.gz +%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbdump.8.gz +%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbrestore.8.gz +%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbtool.8.gz +%%BUNDLED_TALLOC%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/talloc%%PYTHON_TAG%%.so +%%BUNDLED_TALLOC%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpytalloc-util%%PYTHON_TAG%%-private-samba.so +%%BUNDLED_TALLOC%%%%SAMBA4_LIBDIR%%/private/libtalloc-private-samba.so +%%BUNDLED_TALLOC%%share/man/man3/samba-talloc.3.gz +%%BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tdb_text.py +%%BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tdb%%PYTHON_TAG%%.so +%%BUNDLED_TDB%%bin/tdbbackup +%%BUNDLED_TDB%%bin/tdbdump +%%BUNDLED_TDB%%bin/tdbrestore +%%BUNDLED_TDB%%bin/tdbtool +%%BUNDLED_TDB%%%%SAMBA4_LIBDIR%%/private/libtdb-private-samba.so +%%BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tevent%%PYTHON_TAG%%.so +%%BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tevent.py +%%BUNDLED_TEVENT%%%%SAMBA4_LIBDIR%%/private/libtevent-private-samba.so diff --git a/net/samba423/Makefile b/net/samba423/Makefile new file mode 100644 index 000000000000..448ab05f8b52 --- /dev/null +++ b/net/samba423/Makefile @@ -0,0 +1,511 @@ +PORTNAME= samba423 +DISTVERSION= 4.23.4 +CATEGORIES?= net +MASTER_SITES= SAMBA/samba/stable SAMBA/samba/rc +DISTNAME= samba-${DISTVERSION:S|.p|pre|:S|.r|rc|:S|.t|tp|:S|.a|alpha|} + +MAINTAINER= samba@FreeBSD.org +COMMENT= Free SMB/CIFS and AD/DC server and client for Unix +WWW= https://gitlab.com/samba-freebsd/ + +LICENSE= GPLv3+ +LICENSE_FILE= ${WRKSRC}/COPYING + +# The SAMBA4_BUNDLED_* variables are deprecated. +.for bvar in SAMBA4_BUNDLED_CMOCKA SAMBA4_BUNDLED_TALLOC SAMBA4_BUNDLED_TDB SAMBA4_BUNDLED_TEVENT +. if defined(${bvar}) && ${${bvar}} == yes +IGNORE= does not support bundling dependencies via ${bvar}; use option ${bvar:S/^SAMBA4_//} instead +. endif +.endfor + +BUILD_DEPENDS= ${_JANSSON_DEPENDS} \ + ${_LIBARCHIVE_DEPENDS} \ + ${_TASN1_DEPENDS} \ + p5-Parse-Yapp>=0:devel/p5-Parse-Yapp +# Unconditional dependencies which can't be switched off if present: +# - GnuTLS: libgnutls.so and libgcrypt.so +# - Iconv +# - inotify +# - libsunacl: provides NFSv4 ACL glue. +# - libicu +# - unwind +# - p5-Parse-Yapp: needed for the IDL compiler. +# - popt +# - Readline: required by Python; USES=readline pollutes CPPFLAGS, so we add +# devel/readline to LIB_DEPENDS explicitly instead. +LIB_DEPENDS= libgnutls.so:security/gnutls \ + libgcrypt.so:security/libgcrypt \ + libiconv.so:converters/libiconv \ + libinotify.so:devel/libinotify \ + libsunacl.so:sysutils/libsunacl \ + libreadline.so:devel/readline \ + libpopt.so:devel/popt \ + libunwind.so:devel/libunwind \ + libicui18n.so:devel/icu \ + libicuuc.so:devel/icu \ + ${_VFS_SNAPPER_LIB_DEPENDS} +RUN_DEPENDS= ${_JANSSON_DEPENDS} \ + ${_LIBARCHIVE_DEPENDS} \ + ${_TASN1_DEPENDS} +TEST_DEPENDS= bash:shells/bash \ + tshark:net/wireshark@nox11 + +USES= cpe compiler:c++11-lang iconv \ + localbase:ldflags ncurses perl5 pkgconfig \ + shebangfix waf gettext-runtime samba:self +CPE_VENDOR= samba +CPE_PRODUCT= samba +USE_LDCONFIG= ${SAMBA_LIBDIR} +USE_PERL5= build +USE_RC_SUBR= samba_server +WAF_CMD= buildtools/bin/waf +# Make sure that the right version of Python is used by the tools +# https://bugzilla.samba.org/show_bug.cgi?id=7305 +SHEBANG_FILES= source3/script* source4/scripting/bin/* selftest/* + +CONFIGURE_LOG= bin/config.log +CONFIGURE_ARGS= --mandir="${PREFIX}/share/man" \ + --sysconfdir="${ETCDIR}" \ + --includedir="${SAMBA_INCLUDEDIR}" \ + --datadir="${DATADIR}" \ + --libdir="${SAMBA_LIBDIR}" \ + --with-privatelibdir="${SAMBA_LIBDIR}/private" \ + --with-pammodulesdir="${_PAMDIR}" \ + --with-modulesdir="${SAMBA_MODULESDIR}" \ + --with-ldbmodulesdir="${SAMBA_LDB_MODULESDIR}" \ + --with-pkgconfigdir="${_PKGCONFIGDIR}" \ + --localstatedir="${_LOCALSTATEDIR}" \ + --with-piddir="${_RUNDIR}" \ + --with-sockets-dir="${_RUNDIR}" \ + --with-privileged-socket-dir="${_RUNDIR}" \ + --with-lockdir="${_LOCKDIR}" \ + --with-statedir="${_LOCKDIR}" \ + --with-cachedir="${_LOCKDIR}" \ + --with-bind-dns-dir=${_BINDDNSDIR} \ + --with-privatedir="${_PRIVATEDIR}" \ + --with-logfilebase="${_LOGDIR}" +CONFIGURE_ARGS+= \ + --with-pam \ + --with-iconv \ + --with-libiconv="${ICONV_PREFIX}" \ + --with-winbind \ + --with-regedit \ + --disable-rpath \ + --without-lttng \ + --without-gettext \ + --enable-pthreadpool \ + --without-fake-kaserver \ + --without-systemd \ + --with-libarchive \ + --with-acl-support \ + --with-sendfile-support \ + --disable-ctdb-tests \ + --disable-spotlight +CONFIGURE_ARGS+= ${_PRIVATE_LIBS:D--private-libraries="${_PRIVATE_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"} +CONFIGURE_ARGS+= ${_BUNDLED_LIBS:D--bundled-libraries="${_BUNDLED_LIBS:Q:C|(\\\\ )+|,|g:S|\\||g}"} +CONFIGURE_ARGS+= ${_SHARED_MODULES:D--with-shared-modules="${_SHARED_MODULES:C|-|_|:Q:C|(\\\\ )+|,|g:S|\\||g}"} +CONFIGURE_ARGS+= ${WITH_DEBUG:D --verbose --enable-debug} +CONFIGURE_ENV= PTHREAD_LDFLAGS="-lpthread" \ + PYTHONHASHSEED=1 + +MAKE_ARGS= ${WITH_DEBUG:D --verbose} +MAKE_ENV= PYTHONHASHSEED=1 \ + RPCGEN_CPP="${CPP}" +TEST_ENV= PYTHON="${PYTHON_CMD}" \ + SHA1SUM=/sbin/sha1 \ + SHA256SUM=${SHA256} \ + MD5SUM=${MD5} \ + PYTHONDONTWRITEBYTECODE=1 + +# No fancy color error messages +CFLAGS+= ${_CFLAGS_${CHOSEN_COMPILER_TYPE}} +.ifnmake portclippy +_CFLAGS_clang= -fno-color-diagnostics +.endif +CONFIGURE_ENV+= NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s' +MAKE_ENV+= NOCOLOR=yes WAF_LOG_FORMAT='%(c1)s%(zone)s%(c2)s %(message)s' +# for libexecinfo: (so that __builtin_frame_address() finds the top of the stack) +CFLAGS_amd64+= -fno-omit-frame-pointer +DEBUG_FLAGS?= -g -ggdb3 -O0 +# Some symbols in samba's linker version scripts are not defined, but since the +# scripts are generated dynamically, suppress errors with lld >= 17 due to these +# undefined symbols. +LDFLAGS+= -Wl,--undefined-version + +CONFLICTS_INSTALL= ldb2[0-9]-* samba4* + +ETCDIR= ${PREFIX}/etc +EXTRA_PATCHES= \ + ${PATCHDIR}/0001-Compact-and-simplify-modules-build-and-config-genera.patch:-p1 \ + ${PATCHDIR}/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch:-p1 \ + ${PATCHDIR}/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch:-p1 \ + ${PATCHDIR}/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch:-p1 \ + ${PATCHDIR}/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch:-p1 \ + ${PATCHDIR}/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch:-p1 \ + ${PATCHDIR}/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch:-p1 \ + ${PATCHDIR}/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch:-p1 \ + ${PATCHDIR}/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch:-p1 \ + ${PATCHDIR}/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch:-p1 \ + ${PATCHDIR}/0011-Use-provided-by-port-location-of-the-XML-catalog.patch:-p1 \ + ${PATCHDIR}/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch:-p1 \ + ${PATCHDIR}/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch:-p1 \ + ${PATCHDIR}/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch:-p1 \ + ${PATCHDIR}/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch:-p1 \ + ${PATCHDIR}/0017-Use-arc4random-when-available-to-generate-random-tal.patch:-p1 \ + ${PATCHDIR}/0018-Add-configuration-option-that-allows-to-choose-alter.patch:-p1 \ + ${PATCHDIR}/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch:-p1 \ + ${PATCHDIR}/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch:-p1 \ + ${PATCHDIR}/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch:-p1 \ + ${PATCHDIR}/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch:-p1 \ + ${PATCHDIR}/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch:-p1 \ + ${PATCHDIR}/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch:-p1 \ + ${PATCHDIR}/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch \ + +SUB_FILES= pkg-message README.FreeBSD +SUB_LIST= ${_SAMBA_SUB} + +# PLIST must be defined here explicitly as we append to PLIST later on to +# handle extra pkg-plist files like pkg-plist.python. +PLIST?= ${PKGDIR}/pkg-plist +PLIST_DIRS= ${SAMBA_MODULESDIR} \ + ${_MODULE_CLASSES:S|^|${SAMBA_MODULESDIR}/|} +# ":C|_|/|:C|-|_|" is a workaround for turning "nss-info_*" modules into "nss_info/*". +PLIST_FILES+= ${_SHARED_MODULES:C|_|/|:C|-|_|:S|^|${SAMBA_MODULESDIR}/|:S|$|.so|} +PLIST_SUB= ${_SAMBA_SUB} +PORTDOCS= README.FreeBSD + +OPTIONS_DEFINE= AD_DC ADS CLUSTER CUPS DOCS FAM LDAP GPGME \ + MANPAGES PROFILE PYTHON3 QUOTAS \ + SYSLOG UTMP +OPTIONS_DEFAULT= AD_DC ADS DOCS FAM LDAP MANPAGES \ + PROFILE PYTHON3 QUOTAS SYSLOG UTMP \ + FRUIT GSSAPI_BUILTIN AVAHI +OPTIONS_GROUP= BUNDLED_DEPS DEVELOPMENT VFS +OPTIONS_GROUP_BUNDLED_DEPS= BUNDLED_CMOCKA BUNDLED_TALLOC BUNDLED_TDB BUNDLED_TEVENT +OPTIONS_GROUP_DEVELOPMENT= DEVELOPER MEMORY_DEBUG TEST +OPTIONS_GROUP_VFS= FRUIT GLUSTERFS +OPTIONS_SINGLE= GSSAPI ZEROCONF +OPTIONS_SINGLE_GSSAPI= GSSAPI_BUILTIN GSSAPI_MIT +OPTIONS_SINGLE_ZEROCONF= ZEROCONF_NONE AVAHI MDNSRESPONDER +OPTIONS_SUB= yes + +ADS_DESC= Active Directory client +AD_DC_DESC= Active Directory Domain Controller(implies PYTHON3) +BUNDLED_CMOCKA_DESC= Bundle cmocka instead of depending on a standalone port +BUNDLED_DEPS_DESC= Bundled dependencies +BUNDLED_TALLOC_DESC= Bundle talloc instead of depending on a standalone port +BUNDLED_TDB_DESC= Bundle TDB instead of depending on a standalone port +BUNDLED_TEVENT_DESC= Bundle Tevent instead of depending on a standalone port +CLUSTER_DESC= Clustering support +DEVELOPER_DESC= With developer framework +DEVELOPMENT_DESC= Testing, debugging, and development +FAM_DESC= File Alteration Monitor +FRUIT_DESC= MacOSX and TimeMachine support +GLUSTERFS_DESC= GlusterFS support +GPGME_DESC= GpgME support +GSSAPI_BUILTIN_DESC= GSSAPI support via bundled Heimdal +LDAP_DESC= LDAP client +MEMORY_DEBUG_DESC= Debug memory allocator +PROFILE_DESC= Profiling data +QUOTAS_DESC= Disk quota support +UTMP_DESC= UTMP accounting +VFS_DESC= VFS modules +ZEROCONF_DESC= Zero configuration networking +ZEROCONF_NONE_DESC= Zeroconf support is absent + +ADS_IMPLIES= LDAP +ADS_CONFIGURE_WITH= ads +# List of extra modules taken from RHEL build +# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=197320 +ADS_VARS= _SHARED_MODULES+="idmap_ad idmap_rfc2307 nss-info_template nss-info_rfc2307 nss-info_sfu nss-info_sfu20" + +AD_DC_IMPLIES= ADS PYTHON3 +AD_DC_BUILD_DEPENDS= ${_LMDB_DEPDENDS} +AD_DC_RUN_DEPENDS= ${_LMDB_DEPDENDS} +AD_DC_CONFIGURE_OFF= --without-ad-dc --without-ldb-lmdb +AD_DC_VARS= PLIST+=${PKGDIR}/pkg-plist.ad_dc +# samba-tool requires those for *upgrade +AD_DC_BUILD_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} +AD_DC_RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}markdown>=3.3.7:textproc/py-markdown@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dnspython>=2.2.1:dns/py-dnspython@${PY_FLAVOR} + +AVAHI_LIB_DEPENDS= libavahi-client.so:net/avahi-app +AVAHI_CONFIGURE_ENABLE= avahi +AVAHI_VARS= _SAMBA_SERVICES+=avahi_daemon + +BUNDLED_CMOCKA_BUILD_DEPENDS_OFF= cmocka>=1.1.3:sysutils/cmocka +BUNDLED_CMOCKA_TEST_DEPENDS_OFF= cmocka>=1.1.3:sysutils/cmocka +BUNDLED_CMOCKA_CONFLICTS_INSTALL= cmocka-1.* +BUNDLED_CMOCKA_VARS= _BUNDLED_LIBS+=cmocka \ + _BUNDLED_LIB_replace=replace +BUNDLED_CMOCKA_VARS_OFF= _BUNDLED_LIBS+=!cmocka + +BUNDLED_TALLOC_BUILD_DEPENDS_OFF= talloc243>=2.4.3:devel/talloc243 +BUNDLED_TALLOC_RUN_DEPENDS_OFF= talloc243>=2.4.3:devel/talloc243 +BUNDLED_TALLOC_CONFLICTS_INSTALL= talloc-* talloc2* +BUNDLED_TALLOC_VARS= _BUNDLED_LIBS+=talloc \ + _BUNDLED_LIB_replace=replace +BUNDLED_TALLOC_VARS_OFF= _BUNDLED_LIBS+=!talloc + +BUNDLED_TDB_BUILD_DEPENDS_OFF= tdb1>=1.4.14:databases/tdb1 +BUNDLED_TDB_RUN_DEPENDS_OFF= tdb1>=1.4.14:databases/tdb1 +BUNDLED_TDB_CONFLICTS_INSTALL= tdb-* tdb1* +BUNDLED_TDB_VARS= _BUNDLED_LIBS+=tdb \ + _BUNDLED_LIB_replace=replace +BUNDLED_TDB_VARS_OFF= _BUNDLED_LIBS+=!tdb + +BUNDLED_TEVENT_BUILD_DEPENDS_OFF= tevent017>=0.17.1:devel/tevent017 +BUNDLED_TEVENT_RUN_DEPENDS_OFF= tevent017>=0.17.1:devel/tevent017 +BUNDLED_TEVENT_CONFLICTS_INSTALL= tevent-* tevent0* +BUNDLED_TEVENT_VARS= _BUNDLED_LIBS+=tevent \ + _BUNDLED_LIB_replace=replace +BUNDLED_TEVENT_VARS_OFF= _BUNDLED_LIBS+=!tevent + +CLUSTER_LIB_DEPENDS= libpcap.so:net/libpcap +CLUSTER_CONFIGURE_WITH= cluster-support +CLUSTER_VARS= PLIST+=${PKGDIR}/pkg-plist.cluster + +CUPS_LIB_DEPENDS= libcups.so:print/cups +CUPS_CONFIGURE_ENABLE= cups iprint + +DEVELOPER_BUILD_DEPENDS= ${_LMDB_DEPDENDS} \ + ${_GDB_CMD}:devel/gdb +DEVELOPER_RUN_DEPENDS= ${_LMDB_DEPDENDS} +DEVELOPER_TEST_DEPENDS= ${_GDB_CMD}:devel/gdb +DEVELOPER_CONFIGURE_ON= --enable-developer --enable-selftest --abi-check-disable +DEVELOPER_CONFIGURE_ENV= WAF_CMD_FORMAT=string +DEVELOPER_VARS= _SHARED_MODULES+="auth_skel pdb_test gpext_security gpext_registry \ + gpext_scripts perfcount_test vfs_fake_dfq \ + vfs_skel_opaque vfs_skel_transparent \ + vfs_shadow_copy_test vfs_fake_acls \ + vfs_nfs4acl_xattr vfs_error_inject vfs_delay_inject" +DEVELOPER_VARS_OFF= _GDB_CMD=true + +# https://bugzilla.samba.org/show_bug.cgi?id=9545 +FAM_USES= fam +FAM_CONFIGURE_WITH= fam + +FRUIT_PREVENTS= ZEROCONF_NONE +FRUIT_PREVENTS_MSG= MacOSX support requires Zeroconf(AVAHI or MDNSRESPONDER) +FRUIT_PLIST_FILES= %%MANPAGES%%share/man/man8/vfs_fruit.8.gz +FRUIT_VARS= _SHARED_MODULES+=vfs_fruit + +GLUSTERFS_LIB_DEPENDS= libglusterfs.so:net/glusterfs +GLUSTERFS_CONFIGURE_ENABLE= glusterfs +GLUSTERFS_PLIST_FILES= %%MANPAGES%%share/man/man8/vfs_glusterfs.8.gz +GLUSTERFS_VARS= _SHARED_MODULES+=vfs_glusterfs + +GPGME_LIB_DEPENDS= libgpgme.so:security/gpgme +GPGME_RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}gpg>=2.0.0:security/py-gpg@${PY_FLAVOR} +GPGME_CONFIGURE_WITH= gpgme + +GSSAPI_BUILTIN_USES= bison + +GSSAPI_MIT_USES= bison gssapi:mit +GSSAPI_MIT_CONFIGURE_ON= --with-system-mitkrb5 ${GSSAPIBASEDIR} \ + --with-system-mitkdc=${GSSAPIBASEDIR}/sbin/krb5kdc \ + --with-experimental-mit-ad-dc +GSSAPI_MIT_PLIST_FILES= ${SAMBA_MODULESDIR}/krb5/winbind_krb5_localauth.so \ + %%MANPAGES%%share/man/man8/winbind_krb5_localauth.8.gz \ + %%AD_DC%%${SAMBA_LIBDIR}/krb5/plugins/kdb/samba.so + +LDAP_USES= ldap +LDAP_CONFIGURE_WITH= ldap +LDAP_VARS= _SHARED_MODULES+=idmap_ldap + +MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/share/xsl/docbook/manpages/docbook.xsl:textproc/docbook-xsl \ + xsltproc:textproc/libxslt +MANPAGES_CONFIGURE_ENV_OFF= XSLTPROC="false" + +MDNSRESPONDER_LIB_DEPENDS= libdns_sd.so:net/mDNSResponder +MDNSRESPONDER_CONFIGURE_ENABLE= dnssd +MDNSRESPONDER_VARS= _SAMBA_SERVICES+=mdnsd + +MEMORY_DEBUG_LIB_DEPENDS= libjemalloc.so.2:devel/jemalloc +MEMORY_DEBUG_CONFIGURE_ENV= ADDITIONAL_CFLAGS="-DENABLE_JEMALLOC `pkg-config --cflags jemalloc`" ADDITIONAL_LDFLAGS="`pkg-config --libs jemalloc`" + +PROFILE_CONFIGURE_WITH= profiling-data + +PYTHON3_USES= python +PYTHON3_USES_OFF= python:build,test +# Don't cache Python modules +PYTHON3_CONFIGURE_ON= --nopycache +# Use PYTHON3_CONFIGURE_OFF instead of PYTHON3_CONFIGURE_ENABLE=python because +# Samba's configure script does not recognize --enable-python. +PYTHON3_CONFIGURE_OFF= --disable-python +PYTHON3_MAKE_ENV= PYTHONDONTWRITEBYTECODE=1 +PYTHON3_VARS= PLIST+=${PKGDIR}/pkg-plist.python \ + _BUNDLED_LIBS+="pyldb pyldb-util" + +QUOTAS_CONFIGURE_WITH= quotas + +SYSLOG_CONFIGURE_WITH= syslog + +TEST_BUILD_DEPENDS= ${_ISO8601_DEPENDS} +TEST_RUN_DEPENDS= ${_ISO8601_DEPENDS} + +UTMP_CONFIGURE_WITH= utmp + +ZEROCONF_NONE_MAKE_ENV= ZEROCONF=none + +.ifnmake portclippy +. if !defined(WANT_EXP_MODULES) || empty(WANT_EXP_MODULES) +WANT_EXP_MODULES= vfs_cacheprime +. endif +.endif + +# https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=194046 +_GDB_CMD= ${LOCALBASE}/bin/gdb + +_ISO8601_DEPENDS= ${PYTHON_PKGNAMEPREFIX}iso8601>=0.1.11:devel/py-iso8601@${PY_FLAVOR} +_JANSSON_DEPENDS= jansson>=2.10:devel/jansson +_LIBARCHIVE_DEPENDS= libarchive>=3.1.2:archivers/libarchive +_TASN1_DEPENDS= libtasn1>=3.8:security/libtasn1 +.if ${WANT_EXP_MODULES:Mvfs_snapper} +_VFS_SNAPPER_LIB_DEPENDS= libdbus-1.so:devel/dbus \ + libdbus-glib-1.so:devel/dbus-glib +.endif + +_BUNDLED_LIBS= !libarchive \ + com_err \ + ${_BUNDLED_LIB_replace} + +_MODULE_CLASSES= auth bind9 gensec gpext idmap ldb nss_info \ + pdb perfcount process_model service vfs +_PRIVATE_LIBS= !ldb +_SHARED_MODULES+= ${WANT_EXP_MODULES} +_SHARED_MODULES+= krb5_async_dns_krb5_locator krb5_winbind_krb5_locator idmap_nss idmap_autorid \ + idmap_rid idmap_hash idmap_tdb idmap_tdb2 idmap_script \ + nss-info_hash +_SHARED_MODULES+= vfs_freebsd +_SHARED_MODULES+= vfs_acl_tdb vfs_acl_xattr vfs_aio_fork vfs_aio_pthread \ + vfs_audit vfs_cap vfs_catia vfs_commit vfs_crossrename \ + vfs_default_quota vfs_dirsort vfs_expand_msdfs \ + vfs_extd_audit vfs_fake_perms vfs_full_audit \ + vfs_linux_xfs_sgid vfs_media_harmony vfs_offline \ + vfs_preopen vfs_readahead vfs_readonly vfs_recycle \ + vfs_shadow_copy vfs_shadow_copy2 vfs_shell_snap \ + vfs_streams_depot vfs_streams_xattr vfs_syncops \ + vfs_time_audit vfs_unityed_media vfs_virusfilter \ + vfs_widelinks vfs_worm vfs_xattr_tdb vfs_zfsacl + +_SAMBA_MAJVERNAME= samba4 +_SAMBA_SUB= PKGCONFIGDIR=${_PKGCONFIGDIR_REL} \ + SAMBA4_LOGDIR="${_LOGDIR}" \ + SAMBA4_RUNDIR="${_RUNDIR}" \ + SAMBA4_LOCKDIR="${_LOCKDIR}" \ + SAMBA4_LIBDIR="${SAMBA_LIBDIR}" \ + SAMBA4_MODULEDIR="${SAMBA_MODULESDIR}" \ + SAMBA_LDB_MODULESDIR="${SAMBA_LDB_MODULESDIR}" \ + SAMBA4_BINDDNSDIR="${_BINDDNSDIR}" \ + SAMBA4_PRIVATEDIR="${_PRIVATEDIR}" \ + SAMBA4_CONFIG="${_SAMBA_CONFIG}" \ + SAMBA4_SERVICES="${_SAMBA_SERVICES}" + +_SAMBA_CONFIG= smb4.conf + +_BINDDNSDIR= ${_LOCKDIR}/bind-dns +_LOCALSTATEDIR= ${_VARDIR} +_LOCKDIR= ${_VARDIR}/db/${_SAMBA_MAJVERNAME} +_LOGDIR= ${_VARDIR}/log/${_SAMBA_MAJVERNAME} +_PAMDIR= ${PREFIX}/lib +_PKGCONFIGDIR= ${PREFIX}/${_PKGCONFIGDIR_REL} +_PKGCONFIGDIR_REL= libdata/pkgconfig +_PRIVATEDIR= ${_LOCKDIR}/private +_RUNDIR= ${_VARDIR}/run/${_SAMBA_MAJVERNAME} +_VARDIR= /var + +.include <bsd.port.options.mk> + +.if ${PORT_OPTIONS:MPYTHON3} +_BUNDLED_LIBS+= ${"${PORT_OPTIONS:MBUNDLED_TALLOC}" == "BUNDLED_TALLOC":?:!}pytalloc-util +_BUNDLED_LIBS+= ${"${PORT_OPTIONS:MBUNDLED_TEVENT}" == "BUNDLED_TEVENT":?:!}pytevent +_BUNDLED_LIBS+= ${"${PORT_OPTIONS:MBUNDLED_TDB}" == "BUNDLED_TDB":?:!}pytdb +.endif + +# Only for 64-bit architectures +.if ${ARCH} != armv6 && ${ARCH} != armv7 && ${ARCH} != i386 && ${ARCH} != mips && ${ARCH} != powerpc && ${ARCH} != powerpcspe +. if (${PORT_OPTIONS:MAD_DC} || ${PORT_OPTIONS:MDEVELOPER}) +# LMDB +_LMDB_DEPDENDS= lmdb>=0.9.16:databases/lmdb +PLIST_FILES+= ${SAMBA_LIBDIR}/private/libldb-mdb-int-private-samba.so \ + ${SAMBA_LDB_MODULESDIR}/mdb.so +. endif +.endif + +post-extract: + @${RM} -r ${WRKSRC}/pidl/lib/Parse/Yapp + +post-patch: + @${REINPLACE_CMD} -e 's|$${PKGCONFIGDIR}|${_PKGCONFIGDIR}|g' \ + ${PATCH_WRKSRC}/buildtools/wafsamba/pkgconfig.py + @${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \ + ${PATCH_WRKSRC}/buildtools/wafsamba/wafsamba.py + @${REINPLACE_CMD} -e 's|%%GDB_CMD%%|${_GDB_CMD}|g' \ + ${PATCH_WRKSRC}/buildtools/scripts/abi_gen.sh + @${REINPLACE_CMD} -e 's|%%SAMBA4_CONFIG%%|${_SAMBA_CONFIG}|g' \ + ${PATCH_WRKSRC}/dynconfig/wscript + +post-install: + ${RM} -r ${STAGEDIR}${PYTHON_SITELIBDIR}/samba/third_party + ${FIND} ${STAGEDIR}${PYTHON_SITELIBDIR} -name __pycache__ \ + -type d -print0 | ${XARGS} -0 -n 1 -t ${RM} -r + ${FIND} ${STAGEDIR} -type f -empty -delete + +.for dir in ${_LOGDIR} ${_RUNDIR} ${_LOCKDIR} ${SAMBA_MODULESDIR} + ${INSTALL} -d -m 0755 "${STAGEDIR}${dir}" +.endfor + ${INSTALL} -d -m 0750 "${STAGEDIR}${_BINDDNSDIR}" + ${INSTALL} -d -m 0750 "${STAGEDIR}${_PRIVATEDIR}" +.for module_class in ${_MODULE_CLASSES} + ${INSTALL} -d -m 0755 "${STAGEDIR}${SAMBA_MODULESDIR}/${module_class}" +.endfor +.if !defined(WITH_DEBUG) + -${FIND} ${STAGEDIR}${PREFIX}/bin ${STAGEDIR}${PREFIX}/sbin ${STAGEDIR}${PREFIX}/libexec \ + -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} + -${FIND} ${STAGEDIR}${PREFIX}/lib -name '*.so*' \ + -type f -print0 | ${XARGS} -0 -n 1 -t ${STRIP_CMD} +.endif + +post-install-BUNDLED_TALLOC-on: +.if ${PORT_OPTIONS:MMANPAGES} +. for f in talloc.3 + ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/${f} ${STAGEDIR}${PREFIX}/share/man/man3/samba-${f} +. endfor +.endif + +post-install-BUNDLED_TDB-on: +.if ${PORT_OPTIONS:MMANPAGES} +. for f in tdbbackup.8 tdbdump.8 tdbrestore.8 tdbtool.8 + ${MV} ${STAGEDIR}${PREFIX}/share/man/man8/${f} ${STAGEDIR}${PREFIX}/share/man/man8/samba-${f} +. endfor +.endif + +post-install-CLUSTER-on: + ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/00.ctdb.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/00.ctdb.script + ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/01.reclock.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/01.reclock.script + ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/05.system.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/05.system.script + ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/10.interface.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/10.interface.script + ${RLN} ${STAGEDIR}${PREFIX}/share/ctdb/events/legacy/95.database.script ${STAGEDIR}${PREFIX}/etc/ctdb/events/legacy/95.database.script + + ${RLN} ${STAGEDIR}${PREFIX}/libexec/ctdb/statd_callout ${STAGEDIR}${PREFIX}/etc/ctdb/statd-callout + +post-install-DOCS-on: + ${MKDIR} ${STAGEDIR}${DOCSDIR} +.for doc in ${PORTDOCS} + ${INSTALL_DATA} ${WRKDIR}/${doc} ${STAGEDIR}${DOCSDIR} +.endfor + +post-install-FRUIT-off: + ${RM} ${STAGEDIR}${SAMBA_MODULESDIR}/vfs/fruit.so + ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/vfs_fruit.8 + +post-install-MANPAGES-on: + ${RLN} ${STAGEDIR}${PREFIX}/share/man/man5/smb.conf.5 ${STAGEDIR}${PREFIX}/share/man/man5/smb4.conf.5 + +.for f in vfs_aio_linux.8 vfs_btrfs.8 vfs_ceph.8 vfs_gpfs.8 + ${RM} ${STAGEDIR}${PREFIX}/share/man/man8/${f} +.endfor + +.include <bsd.port.mk> diff --git a/net/samba423/distinfo b/net/samba423/distinfo new file mode 100644 index 000000000000..bca243260984 --- /dev/null +++ b/net/samba423/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1765737076 +SHA256 (samba-4.23.4.tar.gz) = af429d078a86f1ce16d0d1ecee35c42a3610790b47b84468f31284a8c4060140 +SIZE (samba-4.23.4.tar.gz) = 43298526 diff --git a/net/samba423/files/0001-Compact-and-simplify-modules-build-and-config-genera.patch b/net/samba423/files/0001-Compact-and-simplify-modules-build-and-config-genera.patch new file mode 100644 index 000000000000..d34395bf6f22 --- /dev/null +++ b/net/samba423/files/0001-Compact-and-simplify-modules-build-and-config-genera.patch @@ -0,0 +1,292 @@ +From 05e3cc236406680a55e19b204202b63cdaf48ea1 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 1 Aug 2022 04:15:43 +0200 +Subject: [PATCH 01/28] Compact and simplify modules build and config + generation for Bind 9.x AD DLZ. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + python/samba/provision/sambadns.py | 68 ++++++++++++------------------ + source4/dns_server/dlz_minimal.h | 44 +++++++++---------- + source4/dns_server/wscript_build | 62 +++------------------------ + source4/setup/named.conf.dlz | 25 +---------- + source4/torture/dns/wscript_build | 2 +- + 5 files changed, 55 insertions(+), 146 deletions(-) + +diff --git a/python/samba/provision/sambadns.py b/python/samba/provision/sambadns.py +index 404b346a885..8e5a8ba5f25 100644 +--- a/python/samba/provision/sambadns.py ++++ b/python/samba/provision/sambadns.py +@@ -21,6 +21,7 @@ + """DNS-related provisioning""" + + import os ++import re + import uuid + import shutil + import time +@@ -1010,52 +1011,37 @@ def create_named_conf(paths, realm, dnsdomain, dns_backend, logger): + stderr=subprocess.STDOUT, + cwd='.').communicate()[0] + bind_info = get_string(bind_info) +- bind9_8 = '#' +- bind9_9 = '#' +- bind9_10 = '#' +- bind9_11 = '#' +- bind9_12 = '#' +- bind9_14 = '#' +- bind9_16 = '#' +- bind9_18 = '#' +- if bind_info.upper().find('BIND 9.8') != -1: +- bind9_8 = '' +- elif bind_info.upper().find('BIND 9.9') != -1: +- bind9_9 = '' +- elif bind_info.upper().find('BIND 9.10') != -1: +- bind9_10 = '' +- elif bind_info.upper().find('BIND 9.11') != -1: +- bind9_11 = '' +- elif bind_info.upper().find('BIND 9.12') != -1: +- bind9_12 = '' +- elif bind_info.upper().find('BIND 9.14') != -1: +- bind9_14 = '' +- elif bind_info.upper().find('BIND 9.16') != -1: +- bind9_16 = '' +- elif bind_info.upper().find('BIND 9.18') != -1: +- bind9_18 = '' +- elif bind_info.upper().find('BIND 9.7') != -1: +- raise ProvisioningError("DLZ option incompatible with BIND 9.7.") +- elif bind_info.upper().find('BIND_9.13') != -1: +- raise ProvisioningError("Only stable/esv releases of BIND are supported.") +- elif bind_info.upper().find('BIND_9.15') != -1: +- raise ProvisioningError("Only stable/esv releases of BIND are supported.") +- elif bind_info.upper().find('BIND_9.17') != -1: +- raise ProvisioningError("Only stable/esv releases of BIND are supported.") ++ bind9_release = re.search('BIND (9)\.(\d+)\.', bind_info, re.I) ++ if bind9_release: ++ bind9_disabled = '' ++ bind9_version = bind9_release.group(0) + "x" ++ bind9_version_major = int(bind9_release.group(1)) ++ bind9_version_minor = int(bind9_release.group(2)) ++ if bind9_version_minor == 7: ++ raise ProvisioningError("DLZ option incompatible with BIND 9.7.") ++ elif bind9_version_minor == 8: ++ bind9_dlz_version = "9" ++ elif bind9_version_minor in [13, 15, 17]: ++ raise ProvisioningError("Only stable/esv releases of BIND are supported.") ++ else: ++ bind9_dlz_version = "%d_%d" % (bind9_version_major, bind9_version_minor) + else: ++ bind9_disabled = '# ' ++ bind9_version = "BIND z.y.x" ++ bind9_dlz_version = "z_y" + logger.warning("BIND version unknown, please modify %s manually." % paths.namedconf) ++ ++ bind9_dlz = ( ++ ' # For %s\n' ++ ' %sdatabase "dlopen %s/bind9/dlz_bind%s.so";' ++ ) % ( ++ bind9_version, bind9_disabled, samba.param.modules_dir(), bind9_dlz_version ++ ) + setup_file(setup_path("named.conf.dlz"), paths.namedconf, { + "NAMED_CONF": paths.namedconf, + "MODULESDIR": samba.param.modules_dir(), +- "BIND9_8": bind9_8, +- "BIND9_9": bind9_9, +- "BIND9_10": bind9_10, +- "BIND9_11": bind9_11, +- "BIND9_12": bind9_12, +- "BIND9_14": bind9_14, +- "BIND9_16": bind9_16, +- "BIND9_18": bind9_18 +- }) ++ "BIND9_DLZ": bind9_dlz ++ }) + + + def create_named_txt(path, realm, dnsdomain, dnsname, binddns_dir, +diff --git a/source4/dns_server/dlz_minimal.h b/source4/dns_server/dlz_minimal.h +index b7e36e7f8e6..bbdb616deb2 100644 +--- a/source4/dns_server/dlz_minimal.h ++++ b/source4/dns_server/dlz_minimal.h +@@ -26,31 +26,25 @@ + #include <stdint.h> + #include <stdbool.h> + +-#if defined (BIND_VERSION_9_8) +-# error Bind 9.8 is not supported! +-#elif defined (BIND_VERSION_9_9) +-# error Bind 9.9 is not supported! +-#elif defined (BIND_VERSION_9_10) +-# define DLZ_DLOPEN_VERSION 3 +-# define DNS_CLIENTINFO_VERSION 1 +-# define ISC_BOOLEAN_AS_BOOL 0 +-#elif defined (BIND_VERSION_9_11) +-# define DLZ_DLOPEN_VERSION 3 +-# define DNS_CLIENTINFO_VERSION 2 +-# define ISC_BOOLEAN_AS_BOOL 0 +-#elif defined (BIND_VERSION_9_12) +-# define DLZ_DLOPEN_VERSION 3 +-# define DNS_CLIENTINFO_VERSION 2 +-# define ISC_BOOLEAN_AS_BOOL 0 +-#elif defined (BIND_VERSION_9_14) +-# define DLZ_DLOPEN_VERSION 3 +-# define DNS_CLIENTINFO_VERSION 2 +-#elif defined (BIND_VERSION_9_16) +-# define DLZ_DLOPEN_VERSION 3 +-# define DNS_CLIENTINFO_VERSION 2 +-#elif defined (BIND_VERSION_9_18) +-# define DLZ_DLOPEN_VERSION 3 +-# define DNS_CLIENTINFO_VERSION 2 ++#if defined (BIND_VERSION) ++# if BIND_VERSION == 908 ++# error Bind 9.8 is not supported! ++# elif BIND_VERSION == 909 ++# error Bind 9.9 is not supported! ++# elif BIND_VERSION == 910 ++# define DLZ_DLOPEN_VERSION 3 ++# define DNS_CLIENTINFO_VERSION 1 ++# define ISC_BOOLEAN_AS_BOOL 0 ++# elif BIND_VERSION == 911 || BIND_VERSION == 912 ++# define DLZ_DLOPEN_VERSION 3 ++# define DNS_CLIENTINFO_VERSION 2 ++# define ISC_BOOLEAN_AS_BOOL 0 ++# elif BIND_VERSION >= 914 ++# define DLZ_DLOPEN_VERSION 3 ++# define DNS_CLIENTINFO_VERSION 2 ++# else ++# error Unsupported BIND version ++# endif + #else + # error Unsupported BIND version + #endif +diff --git a/source4/dns_server/wscript_build b/source4/dns_server/wscript_build +index ab0a241b937..3743753504c 100644 +--- a/source4/dns_server/wscript_build ++++ b/source4/dns_server/wscript_build +@@ -20,69 +20,21 @@ bld.SAMBA_MODULE('service_dns', + ) + + # a bind9 dlz module giving access to the Samba DNS SAM +-bld.SAMBA_LIBRARY('dlz_bind9_10', ++for bind_version in (910, 911, 912, 914, 916, 918, 920): ++ string_version='%d_%d' % (bind_version // 100, bind_version % 100) ++ bld.SAMBA_LIBRARY('dlz_bind%s' % (string_version), + source='dlz_bind9.c', +- cflags='-DBIND_VERSION_9_10', ++ cflags='-DBIND_VERSION=%d' % bind_version, + private_library=True, +- link_name='modules/bind9/dlz_bind9_10.so', +- realname='dlz_bind9_10.so', +- install_path='${MODULESDIR}/bind9', +- deps='samba-hostconfig samdb-common gensec popt dnsserver_common', +- enabled=bld.AD_DC_BUILD_IS_ENABLED()) +- +-bld.SAMBA_LIBRARY('dlz_bind9_11', +- source='dlz_bind9.c', +- cflags='-DBIND_VERSION_9_11', +- private_library=True, +- link_name='modules/bind9/dlz_bind9_11.so', +- realname='dlz_bind9_11.so', +- install_path='${MODULESDIR}/bind9', +- deps='samba-hostconfig samdb-common gensec popt dnsserver_common', +- enabled=bld.AD_DC_BUILD_IS_ENABLED()) +- +-bld.SAMBA_LIBRARY('dlz_bind9_12', +- source='dlz_bind9.c', +- cflags='-DBIND_VERSION_9_12', +- private_library=True, +- link_name='modules/bind9/dlz_bind9_12.so', +- realname='dlz_bind9_12.so', +- install_path='${MODULESDIR}/bind9', +- deps='samba-hostconfig samdb-common gensec popt dnsserver_common', +- enabled=bld.AD_DC_BUILD_IS_ENABLED()) +- +-bld.SAMBA_LIBRARY('dlz_bind9_14', +- source='dlz_bind9.c', +- cflags='-DBIND_VERSION_9_14', +- private_library=True, +- link_name='modules/bind9/dlz_bind9_14.so', +- realname='dlz_bind9_14.so', +- install_path='${MODULESDIR}/bind9', +- deps='samba-hostconfig samdb-common gensec popt dnsserver_common', +- enabled=bld.AD_DC_BUILD_IS_ENABLED()) +- +-bld.SAMBA_LIBRARY('dlz_bind9_16', +- source='dlz_bind9.c', +- cflags='-DBIND_VERSION_9_16', +- private_library=True, +- link_name='modules/bind9/dlz_bind9_16.so', +- realname='dlz_bind9_16.so', +- install_path='${MODULESDIR}/bind9', +- deps='samba-hostconfig samdb-common gensec popt dnsserver_common', +- enabled=bld.AD_DC_BUILD_IS_ENABLED()) +- +-bld.SAMBA_LIBRARY('dlz_bind9_18', +- source='dlz_bind9.c', +- cflags='-DBIND_VERSION_9_18', +- private_library=True, +- link_name='modules/bind9/dlz_bind9_18.so', +- realname='dlz_bind9_18.so', ++ link_name='modules/bind9/dlz_bind%s.so' % (string_version), ++ realname='dlz_bind%s.so' % (string_version), + install_path='${MODULESDIR}/bind9', + deps='samba-hostconfig samdb-common gensec popt dnsserver_common', + enabled=bld.AD_DC_BUILD_IS_ENABLED()) + + bld.SAMBA_LIBRARY('dlz_bind9_for_torture', + source='dlz_bind9.c', +- cflags='-DBIND_VERSION_9_16', ++ cflags='-DBIND_VERSION=920', + private_library=True, + deps='samba-hostconfig samdb-common gensec popt dnsserver_common', + enabled=bld.AD_DC_BUILD_IS_ENABLED()) +diff --git a/source4/setup/named.conf.dlz b/source4/setup/named.conf.dlz +index cbe7d805f58..32672768af4 100644 +--- a/source4/setup/named.conf.dlz ++++ b/source4/setup/named.conf.dlz +@@ -10,28 +10,5 @@ + # Uncomment only single database line, depending on your BIND version + # + dlz "AD DNS Zone" { +- # For BIND 9.8.x +- ${BIND9_8} database "dlopen ${MODULESDIR}/bind9/dlz_bind9.so"; +- +- # For BIND 9.9.x +- ${BIND9_9} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_9.so"; +- +- # For BIND 9.10.x +- ${BIND9_10} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_10.so"; +- +- # For BIND 9.11.x +- ${BIND9_11} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_11.so"; +- +- # For BIND 9.12.x +- ${BIND9_12} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_12.so"; +- +- # For BIND 9.14.x +- ${BIND9_14} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_14.so"; +- +- # For BIND 9.16.x +- ${BIND9_16} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_16.so"; +- # +- # For BIND 9.18.x +- ${BIND9_18} database "dlopen ${MODULESDIR}/bind9/dlz_bind9_18.so"; ++${BIND9_DLZ} + }; +- +diff --git a/source4/torture/dns/wscript_build b/source4/torture/dns/wscript_build +index 0b40e03e370..bf7415ff88a 100644 +--- a/source4/torture/dns/wscript_build ++++ b/source4/torture/dns/wscript_build +@@ -5,7 +5,7 @@ if bld.AD_DC_BUILD_IS_ENABLED(): + source='dlz_bind9.c', + subsystem='smbtorture', + init_function='torture_bind_dns_init', +- cflags='-DBIND_VERSION_9_16', ++ cflags='-DBIND_VERSION=920', + deps='torture talloc torturemain dlz_bind9_for_torture', + internal_module=True + ) +-- +2.37.1 + diff --git a/net/samba423/files/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch b/net/samba423/files/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch new file mode 100644 index 000000000000..fec7b9d07172 --- /dev/null +++ b/net/samba423/files/0002-Adjust-abi_gen.sh-script-to-run-under-FreeBSD-with-i.patch @@ -0,0 +1,35 @@ +From 639b8d650685476016a6d5b1c996a04ac54f8a6f Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 04:00:08 +0200 +Subject: [PATCH 02/28] Adjust abi_gen.sh script to run under FreeBSD with it's + own bintools and slightly different output of GDB. + +Substitution: yes + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + buildtools/scripts/abi_gen.sh | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/buildtools/scripts/abi_gen.sh b/buildtools/scripts/abi_gen.sh +index ddb0a7cc36f..d2750705ff9 100755 +--- a/buildtools/scripts/abi_gen.sh ++++ b/buildtools/scripts/abi_gen.sh +@@ -9,6 +9,7 @@ GDBSCRIPT="gdb_syms.$$" + cat <<EOF + set height 0 + set width 0 ++set print sevenbit-strings on + EOF + + # On older linker versions _init|_fini symbols are not hidden. +@@ -22,5 +23,5 @@ done + ) > $GDBSCRIPT + + # forcing the terminal avoids a problem on Fedora12 +-TERM=none gdb -n -batch -x $GDBSCRIPT "$SHAREDLIB" < /dev/null ++TERM=none %%GDB_CMD%% -n -batch -x $GDBSCRIPT "$SHAREDLIB" < /dev/null + rm -f $GDBSCRIPT +-- +2.37.1 + diff --git a/net/samba423/files/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch b/net/samba423/files/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch new file mode 100644 index 000000000000..8540609886da --- /dev/null +++ b/net/samba423/files/0003-Mask-CLang-prototype-warnings-in-kadm5-admin.h.patch @@ -0,0 +1,32 @@ +From 382c3edc95a1747e0a6edd05c76adc0ec21a66c7 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 03:50:17 +0200 +Subject: [PATCH 03/28] Mask CLang prototype warnings in kadm5/admin.h + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source4/kdc/kdc-service-mit.c | 6 +++++- + 1 file changed, 5 insertions(+), 1 deletion(-) + +diff --git a/source4/kdc/kdc-service-mit.c b/source4/kdc/kdc-service-mit.c +index 22663b6ecc8..5bef125206a 100644 +--- a/source4/kdc/kdc-service-mit.c ++++ b/source4/kdc/kdc-service-mit.c +@@ -36,9 +36,13 @@ + #include "kdc/samba_kdc.h" + #include "kdc/kdc-server.h" + #include "kdc/kpasswd-service.h" +-#include <kadm5/admin.h> + #include <kdb.h> + ++#pragma clang diagnostic push ++#pragma clang diagnostic ignored "-Wstrict-prototypes" ++#include <kadm5/admin.h> ++#pragma clang diagnostic pop ++ + #include "source4/kdc/mit_kdc_irpc.h" + + /* PROTOTYPES */ +-- +2.37.1 + diff --git a/net/samba423/files/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch b/net/samba423/files/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch new file mode 100644 index 000000000000..4df0249fced2 --- /dev/null +++ b/net/samba423/files/0004-On-FreeBSD-date-1-has-different-semantics-than-on-Li.patch @@ -0,0 +1,38 @@ +From 0eb28116ceefee7bdafabac18a1763f13cb71883 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 03:42:31 +0200 +Subject: [PATCH 04/28] On FreeBSD `date(1)` has different semantics than on + Linux. Generate call parameter accordingly. + +FreeBSD: `date [[[[[cc]yy]mm]dd]HH]MM[.ss]` +Linux: `date [mmddHHMM[[cc]yy][.ss]]` + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source3/utils/net_time.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/source3/utils/net_time.c b/source3/utils/net_time.c +index d102f84614f..f679000a979 100644 +--- a/source3/utils/net_time.c ++++ b/source3/utils/net_time.c +@@ -82,10 +82,15 @@ static const char *systime(time_t t) + if (!tm) { + return "unknown"; + } +- ++#if defined(FREEBSD) ++ return talloc_asprintf(talloc_tos(), "%04d%02d%02d%02d%02d.%02d", ++ tm->tm_year + 1900, tm->tm_mon+1, tm->tm_mday, ++ tm->tm_hour, tm->tm_min, tm->tm_sec); ++#else + return talloc_asprintf(talloc_tos(), "%02d%02d%02d%02d%04d.%02d", + tm->tm_mon+1, tm->tm_mday, tm->tm_hour, + tm->tm_min, tm->tm_year + 1900, tm->tm_sec); ++#endif + } + + int net_time_usage(struct net_context *c, int argc, const char **argv) +-- +2.37.1 + diff --git a/net/samba423/files/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch b/net/samba423/files/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch new file mode 100644 index 000000000000..a898a50f9972 --- /dev/null +++ b/net/samba423/files/0005-Include-jemalloc-jemalloc.h-if-ENABLE_JEMALLOC-is-se.patch @@ -0,0 +1,26 @@ +From 3cc67018c560d32b98523618d16902c1a670ed40 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 03:33:51 +0200 +Subject: [PATCH 05/28] Include jemalloc/jemalloc.h if ENABLE_JEMALLOC is set. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source3/include/includes.h | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/source3/include/includes.h b/source3/include/includes.h +index 510a0b96539..94a076de11e 100644 +--- a/source3/include/includes.h ++++ b/source3/include/includes.h +@@ -326,6 +326,8 @@ typedef char fstring[FSTRING_LEN]; + * the *bottom* of include files so as not to conflict. */ + #ifdef ENABLE_DMALLOC + # include <dmalloc.h> ++#elif ENABLE_JEMALLOC ++# include <jemalloc/jemalloc.h> + #endif + + +-- +2.37.1 + diff --git a/net/samba423/files/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch b/net/samba423/files/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch new file mode 100644 index 000000000000..9fa102f09d75 --- /dev/null +++ b/net/samba423/files/0006-Install-nss_-modules-into-PAMMODULESDIR-path.patch @@ -0,0 +1,32 @@ +From 406621efcd26d48b5e8f1e5df4082c8bf2cc8bab Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 03:32:21 +0200 +Subject: [PATCH 06/28] Install nss_* modules into PAMMODULESDIR path. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + nsswitch/wscript_build | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/nsswitch/wscript_build b/nsswitch/wscript_build +index 3247b6c2b7c..df2fc3b97ea 100644 +--- a/nsswitch/wscript_build ++++ b/nsswitch/wscript_build +@@ -54,12 +54,14 @@ elif (host_os.rfind('freebsd') > -1): + source='winbind_nss_linux.c winbind_nss_freebsd.c', + deps='wbclient', + realname='nss_winbind.so.1', ++ install_path='${PAMMODULESDIR}', + vnum='1') + + bld.SAMBA3_PLUGIN('nss_wins', + source='wins.c wins_freebsd.c', + deps='''wbclient''', + realname='nss_wins.so.1', ++ install_path='${PAMMODULESDIR}', + vnum='1') + + elif (host_os.rfind('netbsd') > -1): +-- +2.37.1 + diff --git a/net/samba423/files/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch b/net/samba423/files/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch new file mode 100644 index 000000000000..96fa888f3784 --- /dev/null +++ b/net/samba423/files/0007-Use-macro-value-as-a-default-backlog-size-for-the-li.patch @@ -0,0 +1,105 @@ +From 75f20f8e144a926873b619e1c0918896689d39a0 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 03:28:09 +0200 +Subject: [PATCH 07/28] Use macro value as a default backlog size for the + `listen()` syscall. + +Set that macro to -1 on FreeBSD, specifying maximum kernel configured +allowed backlog size. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + lib/tevent/echo_server.c | 2 +- + source3/include/local.h | 11 +++++++++++ + source3/libsmb/unexpected.c | 2 +- + source3/utils/smbfilter.c | 2 +- + source3/winbindd/winbindd.c | 4 ++-- + 5 files changed, 16 insertions(+), 5 deletions(-) + +diff --git a/lib/tevent/echo_server.c b/lib/tevent/echo_server.c +index f93d8bcdee7..49354dbf0e5 100644 +--- a/lib/tevent/echo_server.c ++++ b/lib/tevent/echo_server.c +@@ -633,7 +633,7 @@ int main(int argc, const char **argv) + exit(1); + } + +- ret = listen(listen_sock, 5); ++ ret = listen(listen_sock, DEFAULT_LISTEN_BACKLOG); + if (ret == -1) { + perror("listen() failed"); + exit(1); +diff --git a/source3/include/local.h b/source3/include/local.h +index 297e5572fdb..d85aab09f9f 100644 +--- a/source3/include/local.h ++++ b/source3/include/local.h +@@ -163,7 +163,18 @@ + #define WINBIND_SERVER_MUTEX_WAIT_TIME (( ((NUM_CLI_AUTH_CONNECT_RETRIES) * ((CLI_AUTH_TIMEOUT)/1000)) + 5)*2) + + /* size of listen() backlog in smbd */ ++#if defined (FREEBSD) ++#define SMBD_LISTEN_BACKLOG -1 ++#else + #define SMBD_LISTEN_BACKLOG 50 ++#endif ++ ++/* size of listen() default backlog */ ++#if defined (FREEBSD) ++#define DEFAULT_LISTEN_BACKLOG -1 ++#else ++#define DEFAULT_LISTEN_BACKLOG 5 ++#endif + + /* Number of microseconds to wait before a sharing violation. */ + #define SHARING_VIOLATION_USEC_WAIT 950000 +diff --git a/source3/libsmb/unexpected.c b/source3/libsmb/unexpected.c +index ced46969b88..317d6b1e0e2 100644 +--- a/source3/libsmb/unexpected.c ++++ b/source3/libsmb/unexpected.c +@@ -95,7 +95,7 @@ NTSTATUS nb_packet_server_create(TALLOC_CTX *mem_ctx, + status = map_nt_error_from_unix(errno); + goto fail; + } +- rc = listen(result->listen_sock, 5); ++ rc = listen(result->listen_sock, DEFAULT_LISTEN_BACKLOG); + if (rc < 0) { + status = map_nt_error_from_unix(errno); + goto fail; +diff --git a/source3/utils/smbfilter.c b/source3/utils/smbfilter.c +index 3fbd63975c9..b2d90f993fc 100644 +--- a/source3/utils/smbfilter.c ++++ b/source3/utils/smbfilter.c +@@ -291,7 +291,7 @@ static void start_filter(char *desthost) + exit(1); + } + +- if (listen(s, 5) == -1) { ++ if (listen(s, DEFAULT_LISTEN_BACKLOG) == -1) { + d_printf("listen failed\n"); + } + +diff --git a/source3/winbindd/winbindd.c b/source3/winbindd/winbindd.c +index 0f9c6449a5a..c2df0c92372 100644 +--- a/source3/winbindd/winbindd.c ++++ b/source3/winbindd/winbindd.c +@@ -1312,7 +1312,7 @@ static bool winbindd_setup_listeners(void) + if (pub_state->fd == -1) { + goto failed; + } +- rc = listen(pub_state->fd, 5); ++ rc = listen(pub_state->fd, DEFAULT_LISTEN_BACKLOG); + if (rc < 0) { + goto failed; + } +@@ -1344,7 +1344,7 @@ static bool winbindd_setup_listeners(void) + if (priv_state->fd == -1) { + goto failed; + } +- rc = listen(priv_state->fd, 5); ++ rc = listen(priv_state->fd, DEFAULT_LISTEN_BACKLOG); + if (rc < 0) { + goto failed; + } +-- +2.37.1 + diff --git a/net/samba423/files/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch b/net/samba423/files/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch new file mode 100644 index 000000000000..a9528247cec3 --- /dev/null +++ b/net/samba423/files/0008-Brute-force-work-around-usage-of-Linux-specific-m-fl.patch @@ -0,0 +1,111 @@ +From 29d0b3479f61f33356d6cc82099085b5c412f949 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 03:24:48 +0200 +Subject: [PATCH 08/28] Brute force work around usage of Linux-specific `%m` + flag in `sscanf()`. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + libcli/http/http.c | 36 ++++++++++++++++++++++++++----- + source4/libcli/ldap/ldap_client.c | 12 +++++++++++ + 2 files changed, 43 insertions(+), 5 deletions(-) + +diff --git a/libcli/http/http.c b/libcli/http/http.c +index d20fc25f9e2..a28caca0045 100644 +--- a/libcli/http/http.c ++++ b/libcli/http/http.c +@@ -142,7 +142,19 @@ static enum http_read_status http_parse_headers(struct http_read_response_state + return HTTP_ALL_DATA_READ; + } + ++#ifdef FREEBSD ++ int s0, s1, s2, s3; s0 = s1 = s2 = s3 = 0; ++ n = sscanf(line, "%n%*[^:]%n: %n%*[^\r\n]%n\r\n", &s0, &s1, &s2, &s3); ++ ++ if(n >= 0) { ++ key = calloc(sizeof(char), s1-s0+1); ++ value = calloc(sizeof(char), s3-s2+1); ++ ++ n = sscanf(line, "%[^:]: %[^\r\n]\r\n", key, value); ++ } ++#else + n = sscanf(line, "%m[^:]: %m[^\r\n]\r\n", &key, &value); ++#endif + if (n != 2) { + DEBUG(0, ("%s: Error parsing header '%s'\n", __func__, line)); + status = HTTP_DATA_CORRUPTED; +@@ -168,7 +180,7 @@ error: + static bool http_parse_response_line(struct http_read_response_state *state) + { + bool status = true; +- char *protocol; ++ char *protocol = NULL; + char *msg = NULL; + char major; + char minor; +@@ -188,12 +200,22 @@ static bool http_parse_response_line(struct http_read_response_state *state) + return false; + } + ++#ifdef FREEBSD ++ int s0, s1, s2, s3; s0 = s1 = s2 = s3 = 0; ++ n = sscanf(line, "%n%*[^/]%n/%c.%c %d %n%*[^\r\n]%n\r\n", ++ &s0, &s1, &major, &minor, &code, &s2, &s3); ++ ++ if(n == 3) { ++ protocol = calloc(sizeof(char), s1-s0+1); ++ msg = calloc(sizeof(char), s3-s2+1); ++ ++ n = sscanf(line, "%[^/]/%c.%c %d %[^\r\n]\r\n", ++ protocol, &major, &minor, &code, msg); ++ } ++#else + n = sscanf(line, "%m[^/]/%c.%c %d %m[^\r\n]\r\n", + &protocol, &major, &minor, &code, &msg); +- +- DEBUG(11, ("%s: Header parsed(%i): protocol->%s, major->%c, minor->%c, " +- "code->%d, message->%s\n", __func__, n, protocol, major, minor, +- code, msg)); ++#endif + + if (n != 5) { + DEBUG(0, ("%s: Error parsing header\n", __func__)); +@@ -201,6 +223,10 @@ static bool http_parse_response_line(struct http_read_response_state *state) + goto error; + } + ++ DEBUG(11, ("%s: Header parsed(%i): protocol->%s, major->%c, minor->%c, " ++ "code->%d, message->%s\n", __func__, n, protocol, major, minor, ++ code, msg)); ++ + if (major != '1') { + DEBUG(0, ("%s: Bad HTTP major number '%c'\n", __func__, major)); + status = false; +diff --git a/source4/libcli/ldap/ldap_client.c b/source4/libcli/ldap/ldap_client.c +index 8614ccdfd54..2630d3c8859 100644 +--- a/source4/libcli/ldap/ldap_client.c ++++ b/source4/libcli/ldap/ldap_client.c +@@ -402,8 +402,20 @@ static int ldap_parse_basic_url( + *pport = port; + return 0; + } ++#ifdef FREEBSD ++ int s0, s1; s0 = s1 = 0; ++ ret = sscanf(url, "%n%*[^:/]%n:%d", &s0, &s1, &port); + ++ if(ret >= 0) { ++ host = calloc(sizeof(char), s1 - s0 + 1); ++ if (host == NULL) { ++ return ENOMEM; ++ } ++ ret = sscanf(url, "%[^:/]:%d", host, &port); ++ } ++#else + ret = sscanf(url, "%m[^:/]:%d", &host, &port); ++#endif + if (ret < 1) { + return EINVAL; + } +-- +2.37.1 + diff --git a/net/samba423/files/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch b/net/samba423/files/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch new file mode 100644 index 000000000000..eed200921c65 --- /dev/null +++ b/net/samba423/files/0009-Make-sure-that-config-checks-fail-if-the-warning-is-.patch @@ -0,0 +1,39 @@ +From 3189d57e9c6cf8d5d25566f2760cfa4f822d7a2c Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 03:21:19 +0200 +Subject: [PATCH 09/28] Make sure that config checks fail if the warning is + raised, by adding -Werror flag to the CFLAGS(WERROR_CFLAGS) + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + buildtools/wafsamba/samba_autoconf.py | 2 +- + lib/replace/wscript | 2 +- + 2 files changed, 2 insertions(+), 2 deletions(-) + +diff --git a/buildtools/wafsamba/samba_autoconf.py b/buildtools/wafsamba/samba_autoconf.py +index 78927d85193..cf87c8bb9ff 100644 +--- a/buildtools/wafsamba/samba_autoconf.py ++++ b/buildtools/wafsamba/samba_autoconf.py +@@ -987,5 +987,5 @@ def SAMBA_CHECK_UNDEFINED_SYMBOL_FLAGS(conf): + conf.env.undefined_ldflags = conf.ADD_LDFLAGS('-Wl,-no-undefined', testflags=True) + + if (conf.env.undefined_ignore_ldflags == [] and +- conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup'])): ++ conf.CHECK_LDFLAGS(['-undefined', 'dynamic_lookup'] + conf.env.WERROR_CFLAGS)): + conf.env.undefined_ignore_ldflags = ['-undefined', 'dynamic_lookup'] +diff --git a/lib/replace/wscript b/lib/replace/wscript +index 0db93d8caf1..1f9806f1dd7 100644 +--- a/lib/replace/wscript ++++ b/lib/replace/wscript +@@ -122,7 +122,7 @@ def configure(conf): + conf.CHECK_HEADERS('sys/atomic.h stdatomic.h') + conf.CHECK_HEADERS('libgen.h') + +- if conf.CHECK_CFLAGS('-Wno-format-truncation'): ++ if conf.CHECK_CFLAGS(['-Wno-format-truncation'] + conf.env.WERROR_CFLAGS): + conf.define('HAVE_WNO_FORMAT_TRUNCATION', '1') + + if conf.CHECK_CFLAGS('-Wno-unused-function'): +-- +2.37.1 + diff --git a/net/samba423/files/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch b/net/samba423/files/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch new file mode 100644 index 000000000000..966af1c790f1 --- /dev/null +++ b/net/samba423/files/0010-Add-option-with-pkgconfigdir-to-specify-alternative-.patch @@ -0,0 +1,54 @@ +From 5b0d17a5b7849f40f59fb0daedd62e8f5a1b0fba Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 03:16:37 +0200 +Subject: [PATCH 10/28] Add option --with-pkgconfigdir, to specify alternative + location. + +Override name of the config file. + +Remove code that doesn't allow direct install into /usr + +Substitution: yes + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + dynconfig/wscript | 9 ++++----- + 1 file changed, 4 insertions(+), 5 deletions(-) + +diff --git a/dynconfig/wscript b/dynconfig/wscript +index c62afa25399..29cacf1b92c 100644 +--- a/dynconfig/wscript ++++ b/dynconfig/wscript +@@ -151,6 +151,8 @@ dynconfig = { + 'PKGCONFIGDIR' : { + 'STD-PATH': '${LIBDIR}/pkgconfig', + 'FHS-PATH': '${LIBDIR}/pkgconfig', ++ 'OPTION': '--with-pkgconfigdir', ++ 'HELPTEXT': 'Where to put .pc files', + }, + 'CODEPAGEDIR' : { + 'STD-PATH': '${DATADIR}/codepages', +@@ -257,8 +259,8 @@ dynconfig = { + 'DELAY': True, + }, + 'CONFIGFILE' : { +- 'STD-PATH': '${CONFIGDIR}/smb.conf', +- 'FHS-PATH': '${CONFIGDIR}/smb.conf', ++ 'STD-PATH': '${CONFIGDIR}/%%SAMBA4_CONFIG%%', ++ 'FHS-PATH': '${CONFIGDIR}/%%SAMBA4_CONFIG%%', + 'DELAY': True, + }, + 'LMHOSTSFILE' : { +@@ -317,9 +319,6 @@ def configure(conf): + flavor = 'FHS-PATH' + else: + flavor = 'STD-PATH' +- if conf.env.PREFIX == '/usr' or conf.env.PREFIX == '/usr/local': +- Logs.error("Don't install directly under /usr or /usr/local without using the FHS option (--enable-fhs)") +- raise Errors.WafError("ERROR: invalid --prefix=%s value" % (conf.env.PREFIX)) + + explicit_set ={} + +-- +2.37.1 + diff --git a/net/samba423/files/0011-Use-provided-by-port-location-of-the-XML-catalog.patch b/net/samba423/files/0011-Use-provided-by-port-location-of-the-XML-catalog.patch new file mode 100644 index 000000000000..518da2e2f2ec --- /dev/null +++ b/net/samba423/files/0011-Use-provided-by-port-location-of-the-XML-catalog.patch @@ -0,0 +1,28 @@ +From 6c68907dcd9abd82cc95c842380a8e817b8f0e7f Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 02:54:28 +0200 +Subject: [PATCH 11/28] Use provided by port location of the XML catalog. + +Substitution: yes + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + buildtools/wafsamba/wafsamba.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/buildtools/wafsamba/wafsamba.py b/buildtools/wafsamba/wafsamba.py +index 7885ee720be..c42a021bc01 100644 +--- a/buildtools/wafsamba/wafsamba.py ++++ b/buildtools/wafsamba/wafsamba.py +@@ -1174,7 +1174,7 @@ def SAMBAMANPAGES(bld, manpages, extra_source=None): + bld.env.SAMBA_EXPAND_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/expand-sambadoc.xsl' + bld.env.SAMBA_MAN_XSL = bld.srcnode.abspath() + '/docs-xml/xslt/man.xsl' + bld.env.SAMBA_CATALOG = bld.bldnode.abspath() + '/docs-xml/build/catalog.xml' +- bld.env.SAMBA_CATALOGS = os.getenv('XML_CATALOG_FILES', 'file:///etc/xml/catalog file:///usr/local/share/xml/catalog') + ' file://' + bld.env.SAMBA_CATALOG ++ bld.env.SAMBA_CATALOGS = os.getenv('XML_CATALOG_FILES', 'file:///etc/xml/catalog file://%%LOCALBASE%%/share/xml/catalog') + ' file://' + bld.env.SAMBA_CATALOG + + for m in manpages.split(): + source = [m + '.xml'] +-- +2.37.1 + diff --git a/net/samba423/files/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch b/net/samba423/files/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch new file mode 100644 index 000000000000..240db55406c6 --- /dev/null +++ b/net/samba423/files/0012-Create-shared-libraries-according-to-the-FreeBSD-spe.patch @@ -0,0 +1,29 @@ +From 9731cc810b50b6694ff931135df398a6772200ae Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sun, 30 May 2021 02:51:47 +0200 +Subject: [PATCH 12/28] Create shared libraries according to the + FreeBSD-specific naming schema, where only major.minor versions are used. + +https://docs.freebsd.org/en/books/developers-handbook/policies/#policies-shlib + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + buildtools/wafsamba/samba_install.py | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/buildtools/wafsamba/samba_install.py b/buildtools/wafsamba/samba_install.py +index 2957e16c3da..82abbf893e2 100644 +--- a/buildtools/wafsamba/samba_install.py ++++ b/buildtools/wafsamba/samba_install.py +@@ -115,7 +115,7 @@ def install_library(self): + inst_name = bld.make_libname(t.target) + elif self.vnum: + vnum_base = self.vnum.split('.')[0] +- install_name = bld.make_libname(target_name, version=self.vnum) ++ install_name = bld.make_libname(target_name, version=vnum_base) + install_link = bld.make_libname(target_name, version=vnum_base) + inst_name = bld.make_libname(t.target) + if not self.private_library or not t.env.SONAME_ST: +-- +2.37.1 + diff --git a/net/samba423/files/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch b/net/samba423/files/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch new file mode 100644 index 000000000000..32b02176de6b --- /dev/null +++ b/net/samba423/files/0014-Add-option-to-disable-CTDB-tests-failing-on-FreeBSD-.patch @@ -0,0 +1,77 @@ +From 2f16c17b683655fe318a1e6d45aaad3857d1a512 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 31 May 2021 00:35:36 +0200 +Subject: [PATCH 14/28] Add option to disable CTDB tests - failing on FreeBSD + right now in too many places. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + ctdb/wscript | 24 ++++++++++++++++++------ + 1 file changed, 18 insertions(+), 6 deletions(-) + +diff --git a/ctdb/wscript b/ctdb/wscript +index a9fef9241aa..c89c6decdd7 100644 +--- a/ctdb/wscript ++++ b/ctdb/wscript +@@ -106,6 +106,9 @@ def options(opt): + opt.add_option('--enable-ceph-reclock', + help=("Enable Ceph CTDB recovery lock helper (default=no)"), + action="store_true", dest='ctdb_ceph_reclock', default=False) ++ opt.add_option('--disable-ctdb-tests', ++ help=("Disable CTDB tests (default=no)"), ++ action="store_true", dest='ctdb_no_tests', default=False) + + opt.add_option('--with-logdir', + help=("Path to log directory"), +@@ -278,7 +281,7 @@ def configure(conf): + + if Options.options.ctdb_ceph_reclock: + if (conf.CHECK_HEADERS('rados/librados.h', False, False, 'rados') and +- conf.CHECK_LIB('rados', shlib=True)): ++ conf.CHECK_LIB('rados', shlib=True)): + Logs.info('Building with Ceph librados recovery lock support') + conf.define('HAVE_LIBRADOS', 1) + else: +@@ -317,8 +320,14 @@ def configure(conf): + conf.env.CTDB_VARDIR, + conf.env.CTDB_RUNDIR)) + +- conf.env.CTDB_TEST_DATADIR = os.path.join(conf.env.CTDB_DATADIR, 'tests') +- conf.env.CTDB_TEST_LIBEXECDIR = os.path.join(conf.env.LIBEXECDIR, 'ctdb/tests') ++ if Options.options.ctdb_no_tests: ++ conf.env.ctdb_tests = False ++ else: ++ conf.env.ctdb_tests = True ++ ++ if conf.env.ctdb_tests: ++ conf.env.CTDB_TEST_DATADIR = os.path.join(conf.env.CTDB_DATADIR, 'tests') ++ conf.env.CTDB_TEST_LIBEXECDIR = os.path.join(conf.env.LIBEXECDIR, 'ctdb/tests') + + # Allow unified compilation and separate compilation of utilities + # to find includes +@@ -706,9 +715,9 @@ def build(bld): + if bld.env.HAVE_LIBRADOS: + bld.SAMBA_BINARY('ctdb_mutex_ceph_rados_helper', + source='utils/ceph/ctdb_mutex_ceph_rados_helper.c', +- deps='talloc tevent rados', +- includes='include', +- install_path='${CTDB_HELPER_BINDIR}') ++ deps='talloc tevent rados', ++ includes='include', ++ install_path='${CTDB_HELPER_BINDIR}') + + sed_expr1 = 's|/usr/local/var/lib/ctdb|%s|g' % (bld.env.CTDB_VARDIR) + sed_expr2 = 's|/usr/local/etc/ctdb|%s|g' % (bld.env.CTDB_ETCDIR) +@@ -885,6 +894,9 @@ def build(bld): + for d in ['volatile', 'persistent', 'state']: + bld.INSTALL_DIR(os.path.join(bld.env.CTDB_VARDIR, d)) + ++ if not bld.env.ctdb_tests: ++ return ++ + # + # Test-only below this point + # +-- +2.37.1 + diff --git a/net/samba423/files/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch b/net/samba423/files/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch new file mode 100644 index 000000000000..30b6a7a34a6e --- /dev/null +++ b/net/samba423/files/0015-Add-extra-debug-class-to-trck-down-DB-locking-code.patch @@ -0,0 +1,132 @@ +From 08e648c899e5023f337d2fa56e4e758f62f31ec4 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 31 May 2021 00:38:38 +0200 +Subject: [PATCH 15/28] Add extra debug class to trck down DB locking code. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + lib/dbwrap/dbwrap.c | 3 +++ + lib/dbwrap/dbwrap_local_open.c | 3 +++ + lib/dbwrap/dbwrap_rbt.c | 3 +++ + lib/dbwrap/dbwrap_tdb.c | 3 +++ + lib/dbwrap/dbwrap_util.c | 3 +++ + source3/lib/dbwrap/dbwrap_ctdb.c | 3 +++ + source3/lib/dbwrap/dbwrap_open.c | 3 +++ + source3/lib/dbwrap/dbwrap_watch.c | 3 +++ + 8 files changed, 24 insertions(+) + +diff --git a/lib/dbwrap/dbwrap.c b/lib/dbwrap/dbwrap.c +index 7555efaa3ab..51f58fea851 100644 +--- a/lib/dbwrap/dbwrap.c ++++ b/lib/dbwrap/dbwrap.c +@@ -28,6 +28,9 @@ + #include "lib/util/util_tdb.h" + #include "lib/util/tevent_ntstatus.h" + ++#undef DBGC_CLASS ++#define DBGC_CLASS DBGC_LOCKING ++ + /* + * Fall back using fetch if no genuine exists operation is provided + */ +diff --git a/lib/dbwrap/dbwrap_local_open.c b/lib/dbwrap/dbwrap_local_open.c +index 20c5fa0e1d2..b834bbd0e41 100644 +--- a/lib/dbwrap/dbwrap_local_open.c ++++ b/lib/dbwrap/dbwrap_local_open.c +@@ -23,6 +23,9 @@ + #include "dbwrap/dbwrap_tdb.h" + #include "tdb.h" + ++#undef DBGC_CLASS ++#define DBGC_CLASS DBGC_LOCKING ++ + struct db_context *dbwrap_local_open(TALLOC_CTX *mem_ctx, + const char *name, + int hash_size, int tdb_flags, +diff --git a/lib/dbwrap/dbwrap_rbt.c b/lib/dbwrap/dbwrap_rbt.c +index db456dfffba..483558a6dc7 100644 +--- a/lib/dbwrap/dbwrap_rbt.c ++++ b/lib/dbwrap/dbwrap_rbt.c +@@ -24,6 +24,9 @@ + #include "../lib/util/rbtree.h" + #include "../lib/util/dlinklist.h" + ++#undef DBGC_CLASS ++#define DBGC_CLASS DBGC_LOCKING ++ + #define DBWRAP_RBT_ALIGN(_size_) (((_size_)+15)&~15) + + struct db_rbt_ctx { +diff --git a/lib/dbwrap/dbwrap_tdb.c b/lib/dbwrap/dbwrap_tdb.c +index 6cd95fa25ad..4a75cd80256 100644 +--- a/lib/dbwrap/dbwrap_tdb.c ++++ b/lib/dbwrap/dbwrap_tdb.c +@@ -29,6 +29,9 @@ + #include "lib/param/param.h" + #include "libcli/util/error.h" + ++#undef DBGC_CLASS ++#define DBGC_CLASS DBGC_LOCKING ++ + struct db_tdb_ctx { + struct tdb_wrap *wtdb; + +diff --git a/lib/dbwrap/dbwrap_util.c b/lib/dbwrap/dbwrap_util.c +index df6dea40097..465814f0952 100644 +--- a/lib/dbwrap/dbwrap_util.c ++++ b/lib/dbwrap/dbwrap_util.c +@@ -26,6 +26,9 @@ + #include "dbwrap.h" + #include "lib/util/util_tdb.h" + ++#undef DBGC_CLASS ++#define DBGC_CLASS DBGC_LOCKING ++ + struct dbwrap_fetch_int32_state { + NTSTATUS status; + int32_t result; +diff --git a/source3/lib/dbwrap/dbwrap_ctdb.c b/source3/lib/dbwrap/dbwrap_ctdb.c +index 0907089164a..9fc771d1217 100644 +--- a/source3/lib/dbwrap/dbwrap_ctdb.c ++++ b/source3/lib/dbwrap/dbwrap_ctdb.c +@@ -38,6 +38,9 @@ + #include "lib/cluster_support.h" + #include "lib/util/tevent_ntstatus.h" + ++#undef DBGC_CLASS ++#define DBGC_CLASS DBGC_LOCKING ++ + struct db_ctdb_transaction_handle { + struct db_ctdb_ctx *ctx; + /* +diff --git a/source3/lib/dbwrap/dbwrap_open.c b/source3/lib/dbwrap/dbwrap_open.c +index 52c8a94aeff..caefb579058 100644 +--- a/source3/lib/dbwrap/dbwrap_open.c ++++ b/source3/lib/dbwrap/dbwrap_open.c +@@ -31,6 +31,9 @@ + #include "ctdbd_conn.h" + #include "global_contexts.h" + ++#undef DBGC_CLASS ++#define DBGC_CLASS DBGC_LOCKING ++ + bool db_is_local(const char *name) + { + const char *sockname = lp_ctdbd_socket(); +diff --git a/source3/lib/dbwrap/dbwrap_watch.c b/source3/lib/dbwrap/dbwrap_watch.c +index 17a52de37cc..77f7b178229 100644 +--- a/source3/lib/dbwrap/dbwrap_watch.c ++++ b/source3/lib/dbwrap/dbwrap_watch.c +@@ -28,6 +28,9 @@ + #include "server_id_watch.h" + #include "lib/dbwrap/dbwrap_private.h" + ++#undef DBGC_CLASS ++#define DBGC_CLASS DBGC_LOCKING ++ + struct dbwrap_watcher { + /* + * Process watching this record +-- +2.37.1 + diff --git a/net/samba423/files/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch b/net/samba423/files/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch new file mode 100644 index 000000000000..3449ab2d17d9 --- /dev/null +++ b/net/samba423/files/0016-Make-ldb_schema_attribute_compare-a-stable-comparisi.patch @@ -0,0 +1,29 @@ +From 2b3ee747cdf83b80d07aaf1b261956bc9894ff36 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Thu, 8 Sep 2022 00:06:37 +0200 +Subject: [PATCH 16/28] Make ldb_schema_attribute_compare() a stable + comparision function. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + lib/ldb/ldb_key_value/ldb_kv_cache.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/ldb/ldb_key_value/ldb_kv_cache.c b/lib/ldb/ldb_key_value/ldb_kv_cache.c +index 4a3c9f29020..cb200aeb9ba 100644 +--- a/lib/ldb/ldb_key_value/ldb_kv_cache.c ++++ b/lib/ldb/ldb_key_value/ldb_kv_cache.c +@@ -92,7 +92,9 @@ static int ldb_schema_attribute_compare(const void *p1, const void *p2) + { + const struct ldb_schema_attribute *sa1 = (const struct ldb_schema_attribute *)p1; + const struct ldb_schema_attribute *sa2 = (const struct ldb_schema_attribute *)p2; +- return ldb_attr_cmp(sa1->name, sa2->name); ++ int res = ldb_attr_cmp(sa1->name, sa2->name); ++ ++ return (res) ? res : (sa1->flags > sa2->flags) ? 1 : (sa1->flags < sa2->flags) ? -1 : 0; + } + + /* +-- +2.37.1 + diff --git a/net/samba423/files/0017-Use-arc4random-when-available-to-generate-random-tal.patch b/net/samba423/files/0017-Use-arc4random-when-available-to-generate-random-tal.patch new file mode 100644 index 000000000000..a7e7c7d99dbe --- /dev/null +++ b/net/samba423/files/0017-Use-arc4random-when-available-to-generate-random-tal.patch @@ -0,0 +1,49 @@ +From 42c9490dd346ee2f4369cbed4c37cb43f06e5d19 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Wed, 7 Sep 2022 23:52:43 +0200 +Subject: [PATCH 17/28] Use arc4random() when available to generate random + talloc slab signature. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + lib/talloc/talloc.c | 4 ++++ + lib/talloc/wscript | 1 + + 2 files changed, 5 insertions(+) + +diff --git a/lib/talloc/talloc.c b/lib/talloc/talloc.c +index 29da190880a..79c76fd9e35 100644 +--- a/lib/talloc/talloc.c ++++ b/lib/talloc/talloc.c +@@ -397,6 +397,9 @@ void talloc_lib_init(void) CONSTRUCTOR; + void talloc_lib_init(void) + { + uint32_t random_value; ++#if defined(HAVE_ARC4RANDOM) ++ random_value = arc4random(); ++#else + #if defined(HAVE_GETAUXVAL) && defined(AT_RANDOM) + uint8_t *p; + /* +@@ -430,6 +433,7 @@ void talloc_lib_init(void) + */ + random_value = ((uintptr_t)talloc_lib_init & 0xFFFFFFFF); + } ++#endif /* HAVE_ARC4RANDOM */ + talloc_magic = random_value & ~TALLOC_FLAG_MASK; + } + #else +diff --git a/lib/talloc/wscript b/lib/talloc/wscript +index f0c266a7878..c75ec0505df 100644 +--- a/lib/talloc/wscript ++++ b/lib/talloc/wscript +@@ -52,6 +52,7 @@ def configure(conf): + + conf.CHECK_HEADERS('sys/auxv.h') + conf.CHECK_FUNCS('getauxval') ++ conf.CHECK_FUNCS('arc4random') + + conf.SAMBA_CONFIG_H() + +-- +2.37.1 + diff --git a/net/samba423/files/0018-Add-configuration-option-that-allows-to-choose-alter.patch b/net/samba423/files/0018-Add-configuration-option-that-allows-to-choose-alter.patch new file mode 100644 index 000000000000..5f5aa4af3a96 --- /dev/null +++ b/net/samba423/files/0018-Add-configuration-option-that-allows-to-choose-alter.patch @@ -0,0 +1,65 @@ +From b81d399aa6d9e2bdbb9db0efa8109c41aad4d025 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 31 May 2021 02:49:20 +0200 +Subject: [PATCH 18/28] Add configuration option that allows to choose + alternative mDNS implementation dns_sd library. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source3/wscript | 12 ++++++++++++ + source3/wscript_build | 2 ++ + 2 files changed, 14 insertions(+) + +diff --git a/source3/wscript b/source3/wscript +index 2121b8b6510..6209472c6c8 100644 +--- a/source3/wscript ++++ b/source3/wscript +@@ -70,6 +70,7 @@ def options(opt): + opt.samba_add_onoff_option('sendfile-support', default=None) + opt.samba_add_onoff_option('utmp') + opt.samba_add_onoff_option('avahi', with_name="enable", without_name="disable") ++ opt.samba_add_onoff_option('dnssd', with_name="enable", without_name="disable") + opt.samba_add_onoff_option('iconv') + opt.samba_add_onoff_option('acl-support') + opt.samba_add_onoff_option('syslog') +@@ -855,6 +856,17 @@ msg.msg_accrightslen = sizeof(fd); + conf.SET_TARGET_TYPE('avahi-common', 'EMPTY') + conf.SET_TARGET_TYPE('avahi-client', 'EMPTY') + ++ if Options.options.with_dnssd: ++ conf.env.with_dnssd = True ++ if not conf.CHECK_HEADERS('dns_sd.h'): ++ conf.env.with_dnssd = False ++ if not conf.CHECK_FUNCS_IN('DNSServiceRegister', 'dns_sd'): ++ conf.env.with_dnssd = False ++ if conf.env.with_dnssd: ++ conf.DEFINE('WITH_DNSSD_SUPPORT', 1) ++ else: ++ conf.SET_TARGET_TYPE('dns_sd', 'EMPTY') ++ + if Options.options.with_iconv: + conf.env.with_iconv = True + if not conf.CHECK_FUNCS_IN('iconv_open', 'iconv', headers='iconv.h'): +diff --git a/source3/wscript_build b/source3/wscript_build +index 5cf965dc45d..edd7985e648 100644 +--- a/source3/wscript_build ++++ b/source3/wscript_build +@@ -709,6 +709,7 @@ bld.SAMBA3_LIBRARY('smbd_base', + samba3core + param_service + AVAHI ++ dns_sd + PROFILE + LOCKING + LIBADS_SERVER +@@ -1128,6 +1129,7 @@ bld.SAMBA3_BINARY('client/smbclient', + msrpc3 + RPC_NDR_SRVSVC + cli_smb_common ++ dns_sd + archive + ''') + +-- +2.37.1 + diff --git a/net/samba423/files/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch b/net/samba423/files/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch new file mode 100644 index 000000000000..551acb212f55 --- /dev/null +++ b/net/samba423/files/0019-From-923bc7a1afeb0b920e60e14846987ae1d2d7dca4-Mon-Se.patch @@ -0,0 +1,544 @@ +From 5aabf82dfaf325bf682db85d80476224e7005a41 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 31 May 2021 00:46:16 +0200 +Subject: [PATCH 19/28] From 923bc7a1afeb0b920e60e14846987ae1d2d7dca4 Mon Sep + 17 00:00:00 2001 From: John Hixson <john@ixsystems.com> Date: Thu, 7 Dec 2017 + 09:36:32 -0500 Subject: [PATCH] Freenas/master mdns fixes (#22) + +* mDNS fixes for Samba (work in progress). +* Fix mDNS - Can advertise on individual interfaces +* Fix mDNS browsing in smbclient + +Signed-off-by: Timur I. Bakeyev <timur@iXsystems.com> +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source3/client/dnsbrowse.c | 19 +- + source3/smbd/dnsregister.c | 354 ++++++++++++++++++++++++++++++------- + 2 files changed, 299 insertions(+), 74 deletions(-) + +diff --git a/source3/client/dnsbrowse.c b/source3/client/dnsbrowse.c +index be6eb881cf1..83aef966d2a 100644 +--- a/source3/client/dnsbrowse.c ++++ b/source3/client/dnsbrowse.c +@@ -39,6 +39,7 @@ struct mdns_smbsrv_result + struct mdns_browse_state + { + struct mdns_smbsrv_result *listhead; /* Browse result list head */ ++ TALLOC_CTX * ctx; + int browseDone; + + }; +@@ -64,7 +65,7 @@ static void do_smb_resolve(struct mdns_smbsrv_result *browsesrv) + struct timeval tv; + DNSServiceErrorType err; + +- TALLOC_CTX * ctx = talloc_tos(); ++ TALLOC_CTX * ctx = talloc_new(NULL); + + err = DNSServiceResolve(&mdns_conn_sdref, 0 /* flags */, + browsesrv->ifIndex, +@@ -91,7 +92,7 @@ static void do_smb_resolve(struct mdns_smbsrv_result *browsesrv) + } + } + +- TALLOC_FREE(fdset); ++ TALLOC_FREE(ctx); + DNSServiceRefDeallocate(mdns_conn_sdref); + } + +@@ -124,18 +125,19 @@ do_smb_browse_reply(DNSServiceRef sdRef, DNSServiceFlags flags, + return; + } + +- bresult = talloc_array(talloc_tos(), struct mdns_smbsrv_result, 1); ++ bresult = talloc_array(bstatep->ctx, struct mdns_smbsrv_result, 1); + if (bresult == NULL) { + return; + } + ++ bresult->nextResult = NULL; + if (bstatep->listhead != NULL) { + bresult->nextResult = bstatep->listhead; + } + +- bresult->serviceName = talloc_strdup(talloc_tos(), serviceName); +- bresult->regType = talloc_strdup(talloc_tos(), regtype); +- bresult->domain = talloc_strdup(talloc_tos(), replyDomain); ++ bresult->serviceName = talloc_strdup(bstatep->ctx, serviceName); ++ bresult->regType = talloc_strdup(bstatep->ctx, regtype); ++ bresult->domain = talloc_strdup(bstatep->ctx, replyDomain); + bresult->ifIndex = interfaceIndex; + bstatep->listhead = bresult; + } +@@ -151,10 +153,13 @@ int do_smb_browse(void) + DNSServiceRef mdns_conn_sdref = NULL; + DNSServiceErrorType err; + +- TALLOC_CTX * ctx = talloc_stackframe(); ++ TALLOC_CTX * ctx = talloc_new(NULL); + + ZERO_STRUCT(bstate); + ++ bstate.ctx = ctx; ++ bstate.listhead = NULL; ++ + err = DNSServiceBrowse(&mdns_conn_sdref, 0, 0, "_smb._tcp", "", + do_smb_browse_reply, &bstate); + +diff --git a/source3/smbd/dnsregister.c b/source3/smbd/dnsregister.c +index df189001a09..389a4278f64 100644 +--- a/source3/smbd/dnsregister.c ++++ b/source3/smbd/dnsregister.c +@@ -29,6 +29,29 @@ + * browse for advertised SMB services. + */ + ++/* ++ * Time Machine Errata: ++ * sys=adVF=0x100 -- this is required when ._adisk._tcp is present on device. When it is ++ * set, the MacOS client will send a NetShareEnumAll IOCTL and shares will be visible. ++ * Otherwise, Finder will only see the Time Machine share. In the absence of ._adisk._tcp ++ * MacOS will _always_ send NetShareEnumAll IOCTL. ++ * ++ * waMa=0 -- MacOS server uses waMa=0, while embedded devices have it set to their Mac Address. ++ * Speculation in Samba-Technical indicates that this stands for "Wireless AirDisk Mac Address". ++ * ++ * adVU -- AirDisk Volume UUID. Mac OS servers generate a UUID. Time machine over SMB works without one ++ * set. Netatalk generates a UUID and stores it persistently in afp_voluuid.conf. This can be ++ * set by adding the share parameter "fruit:volume_uuid = " ++ * ++ * dk(n)=adVF= ++ * 0xa1, 0x81 - AFP support ++ * 0xa2, 0x82 - SMB support ++ * 0xa3, 0x83 - AFP and SMB support ++ * ++ * adVN -- AirDisk Volume Name. We set this to the share name. ++ * ++ */ ++ + #define DNS_REG_RETRY_INTERVAL (5*60) /* in seconds */ + + #ifdef WITH_DNSSD_SUPPORT +@@ -36,85 +59,177 @@ + #include <dns_sd.h> + + struct dns_reg_state { +- struct tevent_context *event_ctx; +- uint16_t port; +- DNSServiceRef srv_ref; +- struct tevent_timer *te; +- int fd; +- struct tevent_fd *fde; ++ int count; ++ struct reg_state { ++ DNSServiceRef srv_ref; ++ TALLOC_CTX *mem_ctx; ++ struct tevent_context *event_ctx; ++ struct tevent_timer *te; ++ struct tevent_fd *fde; ++ uint16_t port; ++ int if_index; ++ int fd; ++ } *drs; + }; + +-static int dns_reg_state_destructor(struct dns_reg_state *dns_state) ++static void dns_register_smbd_retry(struct tevent_context *ctx, ++ struct tevent_timer *te, ++ struct timeval now, ++ void *private_data); ++static void dns_register_smbd_fde_handler(struct tevent_context *ev, ++ struct tevent_fd *fde, ++ uint16_t flags, ++ void *private_data); ++ ++ ++static int reg_state_destructor(struct reg_state *state) + { +- if (dns_state->srv_ref != NULL) { ++ if (state == NULL) { ++ return -1; ++ } ++ ++ if (state->srv_ref != NULL) { + /* Close connection to the mDNS daemon */ +- DNSServiceRefDeallocate(dns_state->srv_ref); +- dns_state->srv_ref = NULL; ++ DNSServiceRefDeallocate(state->srv_ref); ++ state->srv_ref = NULL; + } + + /* Clear event handler */ +- TALLOC_FREE(dns_state->te); +- TALLOC_FREE(dns_state->fde); +- dns_state->fd = -1; ++ TALLOC_FREE(state->te); ++ TALLOC_FREE(state->fde); ++ state->fd = -1; + + return 0; + } + +-static void dns_register_smbd_retry(struct tevent_context *ctx, +- struct tevent_timer *te, +- struct timeval now, +- void *private_data); +-static void dns_register_smbd_fde_handler(struct tevent_context *ev, +- struct tevent_fd *fde, +- uint16_t flags, +- void *private_data); ++int TXTRecordPrintf(TXTRecordRef * rec, const char * key, const char * fmt, ... ) ++{ ++ int ret = 0; ++ char *str; ++ va_list ap; ++ va_start( ap, fmt ); ++ ++ if( 0 > vasprintf(&str, fmt, ap ) ) { ++ va_end(ap); ++ return -1; ++ } ++ va_end(ap); ++ ++ if( kDNSServiceErr_NoError != TXTRecordSetValue(rec, key, strlen(str), str) ) { ++ ret = -1; ++ } ++ ++ free(str); ++ return ret; ++} ++ ++int TXTRecordKeyPrintf(TXTRecordRef * rec, const char * key_fmt, int key_var, const char * fmt, ...) ++{ ++ int ret = 0; ++ char *key = NULL, *str = NULL; ++ va_list ap; ++ ++ if( 0 > asprintf(&key, key_fmt, key_var)) { ++ DEBUG(1, ("Failed in asprintf\n")); ++ return -1; ++ } + +-static bool dns_register_smbd_schedule(struct dns_reg_state *dns_state, ++ va_start( ap, fmt ); ++ if( 0 > vasprintf(&str, fmt, ap )) { ++ va_end(ap); ++ DEBUG(1, ("Failed in vasprintf\n")); ++ ret = -1; ++ goto exit; ++ } ++ va_end(ap); ++ ++ if( kDNSServiceErr_NoError != TXTRecordSetValue(rec, key, strlen(str), str) ) { ++ DEBUG(1, ("Failed in TXTRecordSetValuen")); ++ ret = -1; ++ goto exit; ++ } ++ ++ exit: ++ if (str) ++ free(str); ++ if (key) ++ free(key); ++ return ret; ++} ++ ++ ++static bool dns_register_smbd_schedule(struct reg_state *state, + struct timeval tval) + { +- dns_reg_state_destructor(dns_state); ++ reg_state_destructor(state); + +- dns_state->te = tevent_add_timer(dns_state->event_ctx, +- dns_state, ++ state->te = tevent_add_timer(state->event_ctx, ++ state->mem_ctx, + tval, + dns_register_smbd_retry, +- dns_state); +- if (!dns_state->te) { ++ state); ++ if (!state->te) { + return false; + } + + return true; + } + ++static void dns_register_smbd_callback(DNSServiceRef service, ++ DNSServiceFlags flags, ++ DNSServiceErrorType errorCode, ++ const char *name, ++ const char *type, ++ const char *domain, ++ void *context) ++{ ++ if (errorCode != kDNSServiceErr_NoError) { ++ DEBUG(6, ("error=%d\n", errorCode)); ++ } else { ++ DEBUG(6, ("%-15s %s.%s%s\n", "REGISTER", name, type, domain)); ++ } ++} ++ + static void dns_register_smbd_retry(struct tevent_context *ctx, + struct tevent_timer *te, + struct timeval now, + void *private_data) + { +- struct dns_reg_state *dns_state = talloc_get_type_abort(private_data, +- struct dns_reg_state); ++ struct reg_state *state = (struct reg_state *)private_data; + DNSServiceErrorType err; ++ int snum; ++ size_t dk = 0; ++ bool sys_txt_created = false; ++ TXTRecordRef txt_adisk; ++ TXTRecordRef txt_devinfo; ++ char *servname; ++ char *v_uuid; ++ int num_services = lp_numservices(); ++ ++ reg_state_destructor(state); + +- dns_reg_state_destructor(dns_state); ++ TXTRecordCreate(&txt_adisk, 0, NULL); + +- DEBUG(6, ("registering _smb._tcp service on port %d\n", +- dns_state->port)); ++ DEBUG(6, ("registering _smb._tcp service on port %d index %d\n", ++ state->port, state->if_index)); + + /* Register service with DNS. Connects with the mDNS + * daemon running on the local system to perform DNS + * service registration. + */ +- err = DNSServiceRegister(&dns_state->srv_ref, 0 /* flags */, +- kDNSServiceInterfaceIndexAny, +- NULL /* service name */, +- "_smb._tcp" /* service type */, +- NULL /* domain */, +- "" /* SRV target host name */, +- htons(dns_state->port), +- 0 /* TXT record len */, +- NULL /* TXT record data */, +- NULL /* callback func */, +- NULL /* callback context */); ++ err = DNSServiceRegister(&state->srv_ref, ++ 0 /* flags */, ++ state->if_index /* interface index */, ++ NULL /* service name */, ++ "_smb._tcp" /* service type */, ++ NULL /* domain */, ++ "" /* SRV target host name */, ++ htons(state->port) /* port */, ++ 0 /* TXT record len */, ++ NULL /* TXT record data */, ++ dns_register_smbd_callback /* callback func */, ++ NULL /* callback context */); ++ + + if (err != kDNSServiceErr_NoError) { + /* Failed to register service. Schedule a re-try attempt. +@@ -123,24 +238,96 @@ static void dns_register_smbd_retry(struct tevent_context *ctx, + goto retry; + } + +- dns_state->fd = DNSServiceRefSockFD(dns_state->srv_ref); +- if (dns_state->fd == -1) { ++ /* ++ * Check for services that are configured as Time Machine targets ++ * ++ */ ++ for (snum = 0; snum < num_services; snum++) { ++ if (lp_snum_ok(snum) && lp_parm_bool(snum, "fruit", "time machine", false)) ++ { ++ if (!sys_txt_created) { ++ if( 0 > TXTRecordPrintf(&txt_adisk, "sys", "adVF=0x100") ) { ++ DEBUG(1, ("Failed to create Zeroconf TXTRecord for sys") ); ++ goto retry; ++ } ++ else ++ { ++ sys_txt_created = true; ++ } ++ } ++ ++ v_uuid = lp_parm_const_string(snum, "fruit", "volume_uuid", NULL); ++ servname = lp_const_servicename(snum); ++ DEBUG(1, ("Registering volume %s for TimeMachine\n", servname)); ++ if (v_uuid) { ++ if( 0 > TXTRecordKeyPrintf(&txt_adisk, "dk%zu", dk++, "adVN=%s,adVF=0x82,adVU=%s", ++ servname, v_uuid) ) { ++ DEBUG(1, ("Could not set Zeroconf TXTRecord for dk%zu \n", dk)); ++ goto retry; ++ } ++ DEBUG(1, ("Registering TimeMachine with the following TXT parameters: " ++ "dk%zu,adVN=%s,adVF=0x82,adVU=%s\n", dk, servname, v_uuid) ); ++ } ++ else { ++ if( 0 > TXTRecordKeyPrintf(&txt_adisk, "dk%zu", dk++, "adVN=%s,adVF=0x82", ++ servname) ) { ++ DEBUG(1, ("Could not set Zeroconf TXTRecord for dk%zu \n", dk)); ++ goto retry; ++ } ++ DEBUG(1, ("Registering TimeMachine with the following TXT parameters: " ++ "dk%zu,adVN=%s,adVF=0x82\n", dk, servname) ); ++ } ++ } ++ } ++ ++ if (dk) { ++ err = DNSServiceRegister(&state->srv_ref, ++ 0 /* flags */, ++ state->if_index /* interface index */, ++ NULL /* service name */, ++ "_adisk._tcp" /* service type */, ++ NULL /* domain */, ++ "" /* SRV target host name */, ++ /* ++ * We would probably use port 0 zero, but we can't, from man DNSServiceRegister: ++ * "A value of 0 for a port is passed to register placeholder services. ++ * Place holder services are not found when browsing, but other ++ * clients cannot register with the same name as the placeholder service." ++ * We therefor use port 9 which is used by the adisk service type. ++ */ ++ htons(9) /* port */, ++ TXTRecordGetLength(&txt_adisk) /* TXT record len */, ++ TXTRecordGetBytesPtr(&txt_adisk) /* TXT record data */, ++ dns_register_smbd_callback /* callback func */, ++ NULL /* callback context */); ++ ++ ++ if (err != kDNSServiceErr_NoError) { ++ /* Failed to register service. Schedule a re-try attempt. ++ */ ++ DEBUG(1, ("unable to register with mDNS (err %d)\n", err)); ++ goto retry; ++ } ++ } ++ ++ state->fd = DNSServiceRefSockFD(state->srv_ref); ++ if (state->fd == -1) { + goto retry; + } + +- dns_state->fde = tevent_add_fd(dns_state->event_ctx, +- dns_state, +- dns_state->fd, +- TEVENT_FD_READ, +- dns_register_smbd_fde_handler, +- dns_state); +- if (!dns_state->fde) { ++ state->fde = tevent_add_fd(state->event_ctx, ++ state->mem_ctx, ++ state->fd, ++ TEVENT_FD_READ, ++ dns_register_smbd_fde_handler, ++ state); ++ if (!state->fde) { + goto retry; + } + + return; + retry: +- dns_register_smbd_schedule(dns_state, ++ dns_register_smbd_schedule(state, + timeval_current_ofs(DNS_REG_RETRY_INTERVAL, 0)); + } + +@@ -150,44 +337,77 @@ static void dns_register_smbd_fde_handler(struct tevent_context *ev, + uint16_t flags, + void *private_data) + { +- struct dns_reg_state *dns_state = talloc_get_type_abort(private_data, +- struct dns_reg_state); ++ struct reg_state *state = (struct reg_state *)private_data; + DNSServiceErrorType err; + +- err = DNSServiceProcessResult(dns_state->srv_ref); ++ err = DNSServiceProcessResult(state->srv_ref); + if (err != kDNSServiceErr_NoError) { +- DEBUG(3, ("failed to process mDNS result (err %d), re-trying\n", +- err)); ++ DEBUG(3, ("failed to process mDNS result (err %d), re-trying\n", err)); + goto retry; + } + +- talloc_free(dns_state); + return; + + retry: +- dns_register_smbd_schedule(dns_state, +- timeval_current_ofs(DNS_REG_RETRY_INTERVAL, 0)); ++ dns_register_smbd_schedule(state, timeval_zero()); + } + ++static int dns_reg_state_destructor(struct dns_reg_state *state) ++{ ++ if (state != NULL) { ++ talloc_free(state); ++ } ++ return 0; ++} ++ ++ + bool smbd_setup_mdns_registration(struct tevent_context *ev, + TALLOC_CTX *mem_ctx, + uint16_t port) + { + struct dns_reg_state *dns_state; ++ bool bind_all = true; ++ int i; + + dns_state = talloc_zero(mem_ctx, struct dns_reg_state); +- if (dns_state == NULL) { ++ if (dns_state == NULL) ++ return false; ++ ++ if (lp_interfaces() && lp_bind_interfaces_only()) ++ bind_all = false; ++ ++ dns_state->count = iface_count(); ++ if (dns_state->count <= 0 || bind_all == true) ++ dns_state->count = 1; ++ ++ dns_state->drs = talloc_array(mem_ctx, struct reg_state, dns_state->count); ++ if (dns_state->drs == NULL) { ++ talloc_free(dns_state); + return false; + } +- dns_state->event_ctx = ev; +- dns_state->port = port; +- dns_state->fd = -1; + +- talloc_set_destructor(dns_state, dns_reg_state_destructor); ++ for (i = 0; i < dns_state->count; i++) { ++ struct interface *iface = get_interface(i); ++ struct reg_state *state = &dns_state->drs[i]; ++ ++ state->mem_ctx = mem_ctx; ++ state->srv_ref = NULL; ++ state->event_ctx = ev; ++ state->te = NULL; ++ state->fde = NULL; ++ state->port = port; ++ state->fd = -1; + +- return dns_register_smbd_schedule(dns_state, timeval_zero()); ++ state->if_index = bind_all ? kDNSServiceInterfaceIndexAny : iface->if_index; ++ ++ dns_register_smbd_schedule(&dns_state->drs[i], timeval_zero()); ++ } ++ ++ talloc_set_destructor(dns_state, dns_reg_state_destructor); ++ return true; + } + ++ + #else /* WITH_DNSSD_SUPPORT */ + + bool smbd_setup_mdns_registration(struct tevent_context *ev, +-- +2.37.1 + diff --git a/net/samba423/files/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch b/net/samba423/files/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch new file mode 100644 index 000000000000..33661270ce25 --- /dev/null +++ b/net/samba423/files/0020-FreeBSD-12-between-r336017-and-r342928-wrongfuly-ret.patch @@ -0,0 +1,35 @@ +From 02b599cc740490fa6f433b0c455fe458fdc1db61 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 31 May 2021 02:45:11 +0200 +Subject: [PATCH 20/28] FreeBSD 12 between r336017 and r342928 wrongfuly return + ENOENT for the not enabled qoutas on ZFS. Wrap relevant error code check with + the versioning ifdef's. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source3/lib/sysquotas_4B.c | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/source3/lib/sysquotas_4B.c b/source3/lib/sysquotas_4B.c +index d9beb924ad9..c41cac02e5f 100644 +--- a/source3/lib/sysquotas_4B.c ++++ b/source3/lib/sysquotas_4B.c +@@ -140,7 +140,14 @@ static int sys_quotactl_4B(const char * path, int cmd, + /* ENOTSUP means quota support is not compiled in. EINVAL + * means that quotas are not configured (commonly). + */ +- if (errno != ENOTSUP && errno != EINVAL) { ++ if (errno != ENOTSUP && errno != EINVAL ++/* ++ * FreeBSD 12 between r336017 and r342928 wrongfuly return ENOENT for the not enabled qoutas on ZFS. ++ */ ++#if defined(__FreeBSD__) && ((__FreeBSD_version >= 1102503 && __FreeBSD_version <= 1102506) || (__FreeBSD_version >= 1200072 && __FreeBSD_version <= 1200503) || (__FreeBSD_version >= 1300000 && __FreeBSD_version <= 1300009)) ++ && errno != ENOENT ++#endif ++ ) { + DEBUG(5, ("failed to %s quota for %s ID %u on %s: %s\n", + (cmd & QCMD(Q_GETQUOTA, 0)) ? "get" : "set", + (cmd & QCMD(0, GRPQUOTA)) ? "group" : "user", +-- +2.37.1 + diff --git a/net/samba423/files/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch b/net/samba423/files/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch new file mode 100644 index 000000000000..c364031b4603 --- /dev/null +++ b/net/samba423/files/0021-Fix-casting-warnings-in-the-nfs_quota-debug-message.patch @@ -0,0 +1,36 @@ +From 46f5b54aa5761541a16108d66764d662f37f04d2 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 31 May 2021 02:41:48 +0200 +Subject: [PATCH 21/28] Fix casting warnings in the nfs_quota debug message. + +Initialize quota structure with zeros. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source3/smbd/quotas.c | 3 ++- + 1 file changed, 2 insertions(+), 1 deletion(-) + +diff --git a/source3/smbd/quotas.c b/source3/smbd/quotas.c +index 604631f81d6..c23fa49b3b0 100644 +--- a/source3/smbd/quotas.c ++++ b/source3/smbd/quotas.c +@@ -125,6 +125,7 @@ static bool nfs_quotas(char *nfspath, uid_t euser_id, uint64_t *bsize, uint64_t + if (!cutstr) + return False; + ++ memset(&D, '\0', sizeof(D)); + memset(cutstr, '\0', len+1); + host = strncat(cutstr,mnttype, sizeof(char) * len ); + DEBUG(5,("nfs_quotas: looking for mount on \"%s\"\n", cutstr)); +@@ -133,7 +134,7 @@ static bool nfs_quotas(char *nfspath, uid_t euser_id, uint64_t *bsize, uint64_t + args.gqa_pathp = testpath+1; + args.gqa_uid = uid; + +- DEBUG(5,("nfs_quotas: Asking for host \"%s\" rpcprog \"%i\" rpcvers \"%i\" network \"%s\"\n", host, RQUOTAPROG, RQUOTAVERS, "udp")); ++ DEBUG(5,("nfs_quotas: Asking for host \"%s\" rpcprog \"%lu\" rpcvers \"%lu\" network \"%s\"\n", host, RQUOTAPROG, RQUOTAVERS, "udp")); + + if ((clnt = clnt_create(host, RQUOTAPROG, RQUOTAVERS, "udp")) == NULL) { + ret = False; +-- +2.37.1 + diff --git a/net/samba423/files/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch b/net/samba423/files/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch new file mode 100644 index 000000000000..aadb084506eb --- /dev/null +++ b/net/samba423/files/0022-Clean-up-UTMP-handling-code-and-add-FreeBSD-support..patch @@ -0,0 +1,332 @@ +From 5019ad026f106d51dc2bb4c410a05b2f63b56cd0 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 31 May 2021 01:43:13 +0200 +Subject: [PATCH 22/28] Clean up UTMP handling code and add FreeBSD support. + Some really legacy platforms may have been dropped as a result. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source3/smbd/utmp.c | 152 +++++++++++------------------------------- + source3/wscript | 36 +++++---- + 2 files changed, 60 insertions(+), 128 deletions(-) + +diff -Naurp a/source3/smbd/utmp.c b/source3/smbd/utmp.c +--- a/source3/smbd/utmp.c 2024-02-02 04:33:51.316490200 -0500 ++++ b/source3/smbd/utmp.c 2024-08-05 12:50:57.691687000 -0400 +@@ -257,7 +257,7 @@ static char *uw_pathname(TALLOC_CTX *ctx, + Update utmp file directly. No subroutine interface: probably a BSD system. + ****************************************************************************/ + +-static void pututline_my(const char *uname, struct utmp *u, bool claim) ++static void pututline_my(const char *uname, STRUCT_UTMP *u, bool claim) + { + DEBUG(1,("pututline_my: not yet implemented\n")); + /* BSD implementor: may want to consider (or not) adjusting "lastlog" */ +@@ -271,7 +271,7 @@ static void pututline_my(const char *uname, struct utm + Credit: Michail Vidiassov <master@iaas.msu.ru> + ****************************************************************************/ + +-static void updwtmp_my(const char *wname, struct utmp *u, bool claim) ++static void updwtmp_my(const char *wname, STRUCT_UTMP *u, bool claim) + { + int fd; + struct stat buf; +@@ -303,7 +303,7 @@ static void updwtmp_my(const char *wname, struct utmp + if ((fd = open(wname, O_WRONLY|O_APPEND, 0)) < 0) + return; + if (fstat(fd, &buf) == 0) { +- if (write(fd, (char *)u, sizeof(struct utmp)) != sizeof(struct utmp)) ++ if (write(fd, (char *)u, sizeof(STRUCT_UTMP)) != sizeof(STRUCT_UTMP)) + (void) ftruncate(fd, buf.st_size); + } + (void) close(fd); +@@ -314,12 +314,12 @@ static void updwtmp_my(const char *wname, struct utmp + Update via utmp/wtmp (not utmpx/wtmpx). + ****************************************************************************/ + +-static void utmp_nox_update(struct utmp *u, bool claim) ++static void utmp_nox_update(STRUCT_UTMP *u, bool claim) + { + char *uname = NULL; + char *wname = NULL; + #if defined(PUTUTLINE_RETURNS_UTMP) +- struct utmp *urc; ++ STRUCT_UTMP *urc; + #endif /* PUTUTLINE_RETURNS_UTMP */ + + uname = uw_pathname(talloc_tos(), "utmp", ut_pathname); +@@ -376,127 +376,52 @@ static void utmp_nox_update(struct utmp *u, bool claim + } + } + +-/**************************************************************************** +- Copy a string in the utmp structure. +-****************************************************************************/ + +-static void utmp_strcpy(char *dest, const char *src, size_t n) +-{ +- size_t len = 0; + +- memset(dest, '\0', n); +- if (src) +- len = strlen(src); +- if (len >= n) { +- memcpy(dest, src, n); +- } else { +- if (len) +- memcpy(dest, src, len); +- } +-} + ++ + /**************************************************************************** + Update via utmpx/wtmpx (preferred) or via utmp/wtmp. + ****************************************************************************/ + +-static void sys_utmp_update(struct utmp *u, const char *hostname, bool claim) ++static void sys_utmp_update(STRUCT_UTMP *u, const char *hostname, bool claim) + { +-#if !defined(HAVE_UTMPX_H) +- /* No utmpx stuff. Drop to non-x stuff */ +- utmp_nox_update(u, claim); +-#elif !defined(HAVE_PUTUTXLINE) +- /* Odd. Have utmpx.h but no "pututxline()". Drop to non-x stuff */ +- DEBUG(1,("utmp_update: have utmpx.h but no pututxline() function\n")); +- utmp_nox_update(u, claim); +-#elif !defined(HAVE_GETUTMPX) +- /* Odd. Have utmpx.h but no "getutmpx()". Drop to non-x stuff */ +- DEBUG(1,("utmp_update: have utmpx.h but no getutmpx() function\n")); +- utmp_nox_update(u, claim); +-#elif !defined(HAVE_UPDWTMPX) +- /* Have utmpx.h but no "updwtmpx()". Drop to non-x stuff */ +- DEBUG(1,("utmp_update: have utmpx.h but no updwtmpx() function\n")); +- utmp_nox_update(u, claim); +-#else +- char *uname = NULL; +- char *wname = NULL; +- struct utmpx ux, *uxrc; ++ STRUCT_UTMP *urc; + +- getutmpx(u, &ux); +- +-#if defined(HAVE_UX_UT_SYSLEN) +- if (hostname) +- ux.ut_syslen = strlen(hostname) + 1; /* include end NULL */ +- else +- ux.ut_syslen = 0; +-#endif +-#if defined(HAVE_UX_UT_HOST) +- utmp_strcpy(ux.ut_host, hostname, sizeof(ux.ut_host)); +-#endif +- +- uname = uw_pathname(talloc_tos(), "utmpx", ux_pathname); +- wname = uw_pathname(talloc_tos(), "wtmpx", wx_pathname); +- if (uname && wname) { +- DEBUG(2,("utmp_update: uname:%s wname:%s\n", uname, wname)); ++ setutxent(); ++ urc = pututxline(u); ++ endutxent(); ++ if (urc == NULL) { ++ DEBUG(2,("utmp_update: pututxline() failed\n")); ++ return; + } +- +- /* +- * Check for either uname or wname being empty. +- * Some systems, such as Redhat 6, have a "utmpx.h" which doesn't +- * define default filenames. +- * Also, our local installation has not provided an override. +- * Drop to non-x method. (E.g. RH6 has good defaults in "utmp.h".) +- */ +- if (!uname || !wname || (strlen(uname) == 0) || (strlen(wname) == 0)) { +- utmp_nox_update(u, claim); +- } else { +- utmpxname(uname); +- setutxent(); +- uxrc = pututxline(&ux); +- endutxent(); +- if (uxrc == NULL) { +- DEBUG(2,("utmp_update: pututxline() failed\n")); +- return; +- } +- updwtmpx(wname, &ux); +- } +-#endif /* HAVE_UTMPX_H */ + } + + #if defined(HAVE_UT_UT_ID) + /**************************************************************************** + Encode the unique connection number into "ut_id". + ****************************************************************************/ +- +-static int ut_id_encode(int i, char *fourbyte) ++static void ut_id_encode(char *buf, int id, size_t buf_size) + { +- int nbase; +- const char *ut_id_encstr = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; ++ const char ut_id_encstr[] = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"; + +-/* +- * 'ut_id_encstr' is the character set on which modulo arithmetic is done. +- * Example: digits would produce the base-10 numbers from '001'. +- */ +- nbase = strlen(ut_id_encstr); ++ int nbase = sizeof(ut_id_encstr) - 1; ++ /* ++ * 'ut_id_encstr' is the character set on which modulo arithmetic is done. ++ * Example: digits would produce the base-10 numbers from '001'. ++ */ + +- fourbyte[0] = ut_id_encstr[i % nbase]; +- i /= nbase; +- fourbyte[1] = ut_id_encstr[i % nbase]; +- i /= nbase; +- fourbyte[3] = ut_id_encstr[i % nbase]; +- i /= nbase; +- fourbyte[2] = ut_id_encstr[i % nbase]; +- i /= nbase; +- +- /* we do not care about overflows as i is a random number */ +- return 0; ++ for(int i = 0; i < buf_size; i++) { ++ buf[i] = ut_id_encstr[id % nbase]; ++ id /= nbase; ++ } + } + #endif /* defined(HAVE_UT_UT_ID) */ + +- + /* + fill a system utmp structure given all the info we can gather + */ +-static bool sys_utmp_fill(struct utmp *u, ++static bool sys_utmp_fill(STRUCT_UTMP *u, + const char *username, const char *hostname, + const char *id_str, int id_num) + { +@@ -509,16 +434,16 @@ static bool sys_utmp_fill(struct utmp *u, + * rather than to try to detect and optimise. + */ + #if defined(HAVE_UT_UT_USER) +- utmp_strcpy(u->ut_user, username, sizeof(u->ut_user)); ++ strncpy(u->ut_user, username, sizeof(u->ut_user)); + #elif defined(HAVE_UT_UT_NAME) +- utmp_strcpy(u->ut_name, username, sizeof(u->ut_name)); ++ strncpy(u->ut_name, username, sizeof(u->ut_name)); + #endif + + /* + * ut_line: + * If size limit proves troublesome, then perhaps use "ut_id_encode()". + */ +- utmp_strcpy(u->ut_line, id_str, sizeof(u->ut_line)); ++ strncpy(u->ut_line, id_str, sizeof(u->ut_line)); + + #if defined(HAVE_UT_UT_PID) + u->ut_pid = getpid(); +@@ -535,20 +460,23 @@ static bool sys_utmp_fill(struct utmp *u, + u->ut_time = timeval.tv_sec; + #elif defined(HAVE_UT_UT_TV) + GetTimeOfDay(&timeval); +- u->ut_tv = timeval; ++ u->ut_tv.tv_sec = timeval.tv_sec; ++ u->ut_tv.tv_usec = timeval.tv_usec; + #else + #error "with-utmp must have UT_TIME or UT_TV" + #endif + + #if defined(HAVE_UT_UT_HOST) +- utmp_strcpy(u->ut_host, hostname, sizeof(u->ut_host)); ++ if(hostname != NULL) { ++ strncpy(u->ut_host, hostname, sizeof(u->ut_host)); ++#if defined(HAVE_UT_UT_SYSLEN) ++ u->ut_syslen = strlen(hostname) + 1; /* include trailing NULL */ + #endif ++ } ++#endif + + #if defined(HAVE_UT_UT_ID) +- if (ut_id_encode(id_num, u->ut_id) != 0) { +- DEBUG(1,("utmp_fill: cannot encode id %d\n", id_num)); +- return False; +- } ++ ut_id_encode(u->ut_id, id_num, sizeof(u->ut_id)); + #endif + + return True; +@@ -561,7 +489,7 @@ void sys_utmp_yield(const char *username, const char * + void sys_utmp_yield(const char *username, const char *hostname, + const char *id_str, int id_num) + { +- struct utmp u; ++ STRUCT_UTMP u; + + ZERO_STRUCT(u); + +@@ -587,7 +515,7 @@ void sys_utmp_claim(const char *username, const char * + void sys_utmp_claim(const char *username, const char *hostname, + const char *id_str, int id_num) + { +- struct utmp u; ++ STRUCT_UTMP u; + + ZERO_STRUCT(u); + +diff -Naurp a/source3/wscript b/source3/wscript +--- a/source3/wscript 2024-08-05 12:50:16.286549000 -0400 ++++ b/source3/wscript 2024-08-05 13:02:31.909769000 -0400 +@@ -804,34 +804,38 @@ msg.msg_accrightslen = sizeof(fd); + + if Options.options.with_utmp: + conf.env.with_utmp = True +- if not conf.CHECK_HEADERS('utmp.h'): conf.env.with_utmp = False +- conf.CHECK_FUNCS('pututline pututxline updwtmp updwtmpx getutmpx') +- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_name', headers='utmp.h', ++ if not conf.CHECK_HEADERS('utmpx.h') and not conf.CHECK_HEADERS('utmp.h'): ++ conf.env.with_utmp = False ++ if conf.CONFIG_SET('HAVE_UTMPX_H'): ++ conf.DEFINE('STRUCT_UTMP', 'struct utmpx') ++ elif conf.CONFIG_SET('HAVE_UTMP_H'): ++ conf.DEFINE('STRUCT_UTMP', 'struct utmp') ++ conf.CHECK_FUNCS('pututxline getutxid getutxline updwtmpx getutmpx setutxent endutxent') ++ conf.CHECK_FUNCS('pututline getutid getutline updwtmp getutmp setutent endutent') ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_name', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_NAME') +- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_user', headers='utmp.h', ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_user', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_USER') +- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_id', headers='utmp.h', ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_id', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_ID') +- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_host', headers='utmp.h', ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_host', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_HOST') +- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_time', headers='utmp.h', ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_time', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_TIME') +- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_tv', headers='utmp.h', ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_tv', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_TV') +- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_type', headers='utmp.h', ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_type', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_TYPE') +- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_pid', headers='utmp.h', ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_pid', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_PID') +- conf.CHECK_STRUCTURE_MEMBER('struct utmp', 'ut_exit.e_exit', headers='utmp.h', ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_exit.e_exit', headers='utmpx.h utmp.h', + define='HAVE_UT_UT_EXIT') +- conf.CHECK_STRUCTURE_MEMBER('struct utmpx', 'ut_syslen', headers='utmpx.h', +- define='HAVE_UX_UT_SYSLEN') +- conf.CHECK_STRUCTURE_MEMBER('struct utmpx', 'ut_host', headers='utmpx.h', +- define='HAVE_UX_UT_HOST') ++ conf.CHECK_STRUCTURE_MEMBER('STRUCT_UTMP', 'ut_syslen', headers='utmpx.h utmp.h', ++ define='HAVE_UT_UT_SYSLEN') + conf.CHECK_CODE('struct utmp utarg; struct utmp *utreturn; utreturn = pututline(&utarg);', + 'PUTUTLINE_RETURNS_UTMP', headers='utmp.h', + msg="Checking whether pututline returns pointer") +- conf.CHECK_SIZEOF(['((struct utmp *)NULL)->ut_line'], headers='utmp.h', ++ conf.CHECK_SIZEOF(['((STRUCT_UTMP *)NULL)->ut_line'], headers='utmpx.h utmp.h', + define='SIZEOF_UTMP_UT_LINE', critical=False) + if not conf.CONFIG_SET('SIZEOF_UTMP_UT_LINE'): + conf.env.with_utmp = False diff --git a/net/samba423/files/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch b/net/samba423/files/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch new file mode 100644 index 000000000000..581da64f6747 --- /dev/null +++ b/net/samba423/files/0023-Add-cmd_get_quota-test-function-into-vfstest-to-test.patch @@ -0,0 +1,121 @@ +From 2e927425e04d65027db5348b3e89a69a5e447556 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 31 May 2021 03:07:40 +0200 +Subject: [PATCH 23/28] Add `cmd_get_quota()` test function into vfstest, to + test disk quota interface. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source3/torture/cmd_vfs.c | 78 +++++++++++++++++++++++++++++++++++ + source3/torture/wscript_build | 2 +- + 2 files changed, 79 insertions(+), 1 deletion(-) + +diff --git a/source3/torture/cmd_vfs.c b/source3/torture/cmd_vfs.c +index 38ce0dc4ff6..1bc4639d2a2 100644 +--- a/source3/torture/cmd_vfs.c ++++ b/source3/torture/cmd_vfs.c +@@ -145,6 +145,83 @@ static NTSTATUS cmd_disk_free(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int ar + return NT_STATUS_OK; + } + ++static NTSTATUS cmd_get_quota(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv) ++{ ++ struct smb_filename *smb_fname = NULL; ++ uint64_t bsize, dfree, dsize; ++ enum SMB_QUOTA_TYPE qtype; ++ SMB_DISK_QUOTA D; ++ unid_t id; ++ int r; ++ ++ if (argc != 4) { ++ printf("Usage: get_quota <path> [user|group] id\n"); ++ return NT_STATUS_OK; ++ } ++ ++ smb_fname = synthetic_smb_fname(talloc_tos(), ++ argv[1], ++ NULL, ++ NULL, ++ 0, ++ ssf_flags()); ++ if (smb_fname == NULL) { ++ return NT_STATUS_NO_MEMORY; ++ } ++ ++ if(strcmp(argv[2], "user") == 0) { ++ qtype = SMB_USER_FS_QUOTA_TYPE; ++ } ++ else if(strcmp(argv[2], "group") == 0) { ++ qtype = SMB_GROUP_FS_QUOTA_TYPE; ++ } ++ else { ++ printf("Usage: get_quota <path> [user|group] id\n"); ++ return NT_STATUS_OK; ++ } ++ ++ id.uid = atoi(argv[3]); ++ ++ ZERO_STRUCT(D); ++ ++ r = SMB_VFS_GET_QUOTA(vfs->conn, smb_fname, qtype, id, &D); ++ ++ if (r == -1 && errno != ENOSYS) { ++ return NT_STATUS_UNSUCCESSFUL; ++ } ++ ++ if (r == 0 && (D.qflags & QUOTAS_DENY_DISK) == 0) { ++ return NT_STATUS_UNSUCCESSFUL; ++ } ++ ++ bsize = D.bsize; ++ /* Use softlimit to determine disk space, except when it has been exceeded */ ++ if ( ++ (D.softlimit && D.curblocks >= D.softlimit) || ++ (D.hardlimit && D.curblocks >= D.hardlimit) || ++ (D.isoftlimit && D.curinodes >= D.isoftlimit) || ++ (D.ihardlimit && D.curinodes>=D.ihardlimit) ++ ) { ++ dfree = 0; ++ dsize = D.curblocks; ++ } else if (D.softlimit==0 && D.hardlimit==0) { ++ return NT_STATUS_UNSUCCESSFUL; ++ } else { ++ if (D.softlimit == 0) { ++ D.softlimit = D.hardlimit; ++ } ++ dfree = D.softlimit - D.curblocks; ++ dsize = D.softlimit; ++ } ++ ++ printf("get_quota: bsize = %lu, dfree = %lu, dsize = %lu\n", ++ (unsigned long)bsize, ++ (unsigned long)dfree, ++ (unsigned long)dsize); ++ ++ return NT_STATUS_OK; ++} ++ + + static NTSTATUS cmd_opendir(struct vfs_state *vfs, TALLOC_CTX *mem_ctx, int argc, const char **argv) + { +@@ -2257,6 +2334,7 @@ struct cmd_set vfs_commands[] = { + { "connect", cmd_connect, "VFS connect()", "connect" }, + { "disconnect", cmd_disconnect, "VFS disconnect()", "disconnect" }, + { "disk_free", cmd_disk_free, "VFS disk_free()", "disk_free <path>" }, ++ { "get_quota", cmd_get_quota, "VFS get_quota()", "get_quota <path> [user|group] id" }, + { "opendir", cmd_opendir, "VFS opendir()", "opendir <fname>" }, + { "readdir", cmd_readdir, "VFS readdir()", "readdir" }, + { "mkdir", cmd_mkdir, "VFS mkdir()", "mkdir <path>" }, +diff --git a/source3/torture/wscript_build b/source3/torture/wscript_build +index 0c4275de795..f75c4bfe2be 100644 +--- a/source3/torture/wscript_build ++++ b/source3/torture/wscript_build +@@ -124,4 +124,4 @@ bld.SAMBA3_BINARY('vfstest', + smbconf + SMBREADLINE + ''', +- for_selftest=True) ++ install=True) +-- +2.37.1 + diff --git a/net/samba423/files/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch b/net/samba423/files/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch new file mode 100644 index 000000000000..064eeb0cfa48 --- /dev/null +++ b/net/samba423/files/0025-From-d9b748869a8f4018ebee302aae8246bf29f60309-Mon-Se.patch @@ -0,0 +1,94 @@ +From 6e79023af14210a6435ab18ada8097253b8b16b6 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Mon, 31 May 2021 01:38:49 +0200 +Subject: [PATCH 25/28] From d9b748869a8f4018ebee302aae8246bf29f60309 Mon Sep + 17 00:00:00 2001 From: "Timur I. Bakeyev" <timur@iXsystems.com> Date: Fri, 1 + Jun 2018 01:35:08 +0800 Subject: [PATCH] vfs_fruit: allow broken + AFP_Signature where the first byte is 0 + +FreeBSD bug ... caused the first byte of the AFP_AfpInfo xattr to be 0 +instead of 'A'. This hack allows such broken AFP_AfpInfo blobs to be +parsed by afpinfo_unpack(). + +FreeBSD Bug: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=228462 + +Signed-off-by: Ralph Boehme <slow@samba.org> +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + source3/lib/adouble.c | 19 +++++++++++++++---- + source3/modules/vfs_fruit.c | 19 ++++++++++++++++++- + 2 files changed, 33 insertions(+), 5 deletions(-) + +diff -Naurp a/source3/lib/adouble.c b/source3/lib/adouble.c +--- a/source3/lib/adouble.c 2024-02-02 04:33:51.172489400 -0500 ++++ b/source3/lib/adouble.c 2024-08-05 13:53:43.952688000 -0400 +@@ -2821,6 +2821,8 @@ ssize_t afpinfo_pack(const AfpInfo *ai, char *buf) + return AFP_INFO_SIZE; + } + ++#define BROKEN_FREEBSD_AFP_Signature 0x00465000 ++ + /** + * Unpack a buffer into a AfpInfo structure + * +@@ -2841,11 +2843,20 @@ AfpInfo *afpinfo_unpack(TALLOC_CTX *ctx, const void *d + sizeof(ai->afpi_FinderInfo)); + + if (validate) { +- if (ai->afpi_Signature != AFP_Signature +- || ai->afpi_Version != AFP_Version) +- { +- DEBUG(1, ("Bad AfpInfo signature or version\n")); ++ if (ai->afpi_Signature != AFP_Signature) { ++ DBG_WARNING("Bad AFP signature [%x]\n", ai->afpi_Signature); ++ ++ if (ai->afpi_Signature != BROKEN_FREEBSD_AFP_Signature) { ++ DBG_ERR("Bad AfpInfo signature\n"); ++ TALLOC_FREE(ai); ++ return NULL; ++ } ++ } ++ ++ if (ai->afpi_Version != AFP_Version) { ++ DBG_ERR("Bad AfpInfo version\n"); + TALLOC_FREE(ai); ++ return NULL; + } + } else { + ai->afpi_Signature = AFP_Signature; +diff -Naurp a/source3/modules/vfs_fruit.c b/source3/modules/vfs_fruit.c +--- a/source3/modules/vfs_fruit.c 2024-02-02 04:33:51.228489600 -0500 ++++ b/source3/modules/vfs_fruit.c 2024-08-05 13:12:29.220129000 -0400 +@@ -2305,6 +2305,7 @@ static ssize_t fruit_pread_meta_stream(vfs_handle_stru + size_t n, off_t offset) + { + struct fio *fio = fruit_get_complete_fio(handle, fsp); ++ char *p = (char *)data; + ssize_t nread; + int ret; + +@@ -2313,7 +2314,23 @@ static ssize_t fruit_pread_meta_stream(vfs_handle_stru + } + + nread = SMB_VFS_NEXT_PREAD(handle, fsp, data, n, offset); +- if (nread == -1 || nread == n) { ++ if (nread <= 0) { ++ /* ++ * fruit_meta_open_stream() removes O_CREAT flag ++ * from xattr open. This results in vfs_streams_xattr ++ * not generating an FSP extension for the files_struct ++ * and causes subsequent pread() of stream to return ++ * nread=0 if pread() occurs before pwrite(). ++ */ ++ return nread; ++ } ++ ++ if (nread == n) { ++ if (offset == 0 && nread > 3 && p[0] == 0 && p[1] == 'F' && p[2] == 'P') { ++ DBG_NOTICE("Fixing AFP_Info of [%s]\n", ++ fsp_str_dbg(fsp)); ++ p[0] = 'A'; ++ } + return nread; + } + diff --git a/net/samba423/files/0026-vfs-add-a-compatibility-option-to-the-vfs_streams_xa.patch b/net/samba423/files/0026-vfs-add-a-compatibility-option-to-the-vfs_streams_xa.patch new file mode 100644 index 000000000000..38a7f0295b90 --- /dev/null +++ b/net/samba423/files/0026-vfs-add-a-compatibility-option-to-the-vfs_streams_xa.patch @@ -0,0 +1,335 @@ +From 2d73ccb27ffcdf419d569260fcca6e9ee3b9538a Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Thu, 29 Sep 2022 03:24:26 +0200 +Subject: [PATCH 26/28] vfs: add a compatibility option to the + vfs_streams_xattr + +When enabled, the module does not append a trailing 0 +byte to the end of the extended attribute data. + +This is primarily a consideration when the administrator +wishes to expose extended attributes that have been written +by another application as alternate data streams via +Samba. + +An example where this parameter may be required is when +migrating a netatalk share to Samba. See manpage for +vfs_fruit for additional considerations regarding +Netatalk and Samba compatibility. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +--- + docs-xml/manpages/vfs_streams_xattr.8.xml | 25 ++++++ + source3/modules/vfs_streams_xattr.c | 95 +++++++++++++++++------ + 2 files changed, 97 insertions(+), 23 deletions(-) + +diff --git a/docs-xml/manpages/vfs_streams_xattr.8.xml b/docs-xml/manpages/vfs_streams_xattr.8.xml +index 6645928c016..0f38d510a82 100644 +--- a/docs-xml/manpages/vfs_streams_xattr.8.xml ++++ b/docs-xml/manpages/vfs_streams_xattr.8.xml +@@ -71,6 +71,31 @@ + </listitem> + </varlistentry> + ++ <varlistentry> ++ <term>streams_xattr:xattr_compat = [yes|no]</term> ++ <listitem> ++ <para>When enabled, the module does not append a trailing 0 ++ byte to the end of the extended attribute data. This parameter ++ must not be changed once data has been written to the share ++ since it may result in dropping the last byte from xattr data. ++ ++ This is primarily a consideration when the administrator ++ wishes to expose extended attributes that have been written ++ by another application as alternate data streams via ++ Samba. ++ ++ An example where this parameter may be required is when ++ migrating a netatalk share to Samba. See manpage for ++ vfs_fruit for additional considerations regarding ++ Netatalk and Samba compatibility. ++ ++ WARNING: this parameter must not be changed on existing ++ Samba shares or new shares that export paths currently ++ or previously have been shared by Samba. ++ The default is <command>yes</command>.</para> ++ </listitem> ++ </varlistentry> ++ + </variablelist> + + </refsect1> +diff --git a/source3/modules/vfs_streams_xattr.c b/source3/modules/vfs_streams_xattr.c +index b69a4f342f5..070111e3ee9 100644 +--- a/source3/modules/vfs_streams_xattr.c ++++ b/source3/modules/vfs_streams_xattr.c +@@ -35,6 +35,7 @@ struct streams_xattr_config { + const char *prefix; + size_t prefix_len; + bool store_stream_type; ++ int xattr_compat_bytes; + }; + + struct stream_io { +@@ -45,22 +46,28 @@ struct stream_io { + vfs_handle_struct *handle; + }; + +-static ssize_t get_xattr_size_fsp(struct files_struct *fsp, ++static ssize_t get_xattr_size_fsp(vfs_handle_struct *handle, ++ struct files_struct *fsp, + const char *xattr_name) + { + NTSTATUS status; + struct ea_struct ea; + ssize_t result; ++ struct streams_xattr_config *config = NULL; + ++ SMB_VFS_HANDLE_GET_DATA(handle, config, struct streams_xattr_config, ++ return -1); ++ + status = get_ea_value_fsp(talloc_tos(), + fsp, + xattr_name, + &ea); ++ + if (!NT_STATUS_IS_OK(status)) { + return -1; + } + +- result = ea.value.length-1; ++ result = ea.value.length - config->xattr_compat_bytes; + TALLOC_FREE(ea.value.data); + return result; + } +@@ -197,7 +204,8 @@ static int streams_xattr_fstat(vfs_handle_struct *hand + return -1; + } + +- sbuf->st_ex_size = get_xattr_size_fsp(fsp->base_fsp, ++ sbuf->st_ex_size = get_xattr_size_fsp(handle, ++ fsp->base_fsp, + io->xattr_name); + if (sbuf->st_ex_size == -1) { + SET_STAT_INVALID(*sbuf); +@@ -273,7 +281,7 @@ static int streams_xattr_stat(vfs_handle_struct *handl + fsp = fsp->base_fsp; + } + +- smb_fname->st.st_ex_size = get_xattr_size_fsp(fsp, ++ smb_fname->st.st_ex_size = get_xattr_size_fsp(handle, fsp, + xattr_name); + if (smb_fname->st.st_ex_size == -1) { + TALLOC_FREE(xattr_name); +@@ -308,6 +316,7 @@ static int streams_xattr_lstat(vfs_handle_struct *hand + errno = ENOENT; + return -1; + } ++ + return SMB_VFS_NEXT_LSTAT(handle, smb_fname); + } + +@@ -341,6 +350,12 @@ static int streams_xattr_openat(struct vfs_handle_stru + how); + } + ++#ifdef O_EMPTY_PATH ++ if (how->flags & O_EMPTY_PATH) { ++ return vfs_fake_fd(); ++ } ++#endif ++ + if (how->resolve != 0) { + errno = ENOSYS; + return -1; +@@ -356,6 +371,8 @@ static int streams_xattr_openat(struct vfs_handle_stru + goto fail; + } + ++ fsp->fsp_flags.have_proc_fds = fsp->conn->have_proc_fds; ++ + status = get_ea_value_fsp(talloc_tos(), + fsp->base_fsp, + xattr_name, +@@ -394,7 +411,8 @@ static int streams_xattr_openat(struct vfs_handle_stru + */ + + /* +- * Darn, xattrs need at least 1 byte ++ * If xattr_compat_bytes is set we need to ++ * provide one extra trailing byte + */ + char null = '\0'; + +@@ -403,7 +421,8 @@ static int streams_xattr_openat(struct vfs_handle_stru + + ret = SMB_VFS_FSETXATTR(fsp->base_fsp, + xattr_name, +- &null, sizeof(null), ++ (config->xattr_compat_bytes) ? &null : NULL, ++ (config->xattr_compat_bytes) ? sizeof(null) : 0, + how->flags & O_EXCL ? XATTR_CREATE : 0); + if (ret != 0) { + goto fail; +@@ -412,13 +431,13 @@ static int streams_xattr_openat(struct vfs_handle_stru + + fakefd = vfs_fake_fd(); + +- sio = VFS_ADD_FSP_EXTENSION(handle, fsp, struct stream_io, NULL); +- if (sio == NULL) { +- errno = ENOMEM; +- goto fail; +- } ++ sio = VFS_ADD_FSP_EXTENSION(handle, fsp, struct stream_io, NULL); ++ if (sio == NULL) { ++ errno = ENOMEM; ++ goto fail; ++ } + +- sio->xattr_name = talloc_strdup(VFS_MEMCTX_FSP_EXTENSION(handle, fsp), ++ sio->xattr_name = talloc_strdup(VFS_MEMCTX_FSP_EXTENSION(handle, fsp), + xattr_name); + if (sio->xattr_name == NULL) { + errno = ENOMEM; +@@ -808,12 +827,16 @@ static bool collect_one_stream(struct ea_struct *ea, v + { + struct streaminfo_state *state = + (struct streaminfo_state *)private_data; ++ struct streams_xattr_config *config = NULL; + ++ SMB_VFS_HANDLE_GET_DATA(state->handle, config, struct streams_xattr_config, ++ return false); ++ + if (!add_one_stream(state->mem_ctx, + &state->num_streams, &state->streams, +- ea->name, ea->value.length-1, ++ ea->name, ea->value.length - config->xattr_compat_bytes, + smb_roundup(state->handle->conn, +- ea->value.length-1))) { ++ ea->value.length - config->xattr_compat_bytes))) { + state->status = NT_STATUS_NO_MEMORY; + return false; + } +@@ -875,6 +898,7 @@ static int streams_xattr_connect(vfs_handle_struct *ha + const char *default_prefix = SAMBA_XATTR_DOSSTREAM_PREFIX; + const char *prefix; + int rc; ++ bool xattr_compat; + + rc = SMB_VFS_NEXT_CONNECT(handle, service, user); + if (rc != 0) { +@@ -905,6 +929,13 @@ static int streams_xattr_connect(vfs_handle_struct *ha + "store_stream_type", + true); + ++ xattr_compat = lp_parm_bool(SNUM(handle->conn), ++ "streams_xattr", ++ "xattr_compat", ++ true); ++ ++ config->xattr_compat_bytes = xattr_compat ? 0 : 1; ++ + SMB_VFS_HANDLE_SET_DATA(handle, config, + NULL, struct stream_xattr_config, + return -1); +@@ -921,6 +952,7 @@ static ssize_t streams_xattr_pwrite(vfs_handle_struct + struct ea_struct ea; + NTSTATUS status; + int ret; ++ struct streams_xattr_config *config = NULL; + + DEBUG(10, ("streams_xattr_pwrite called for %d bytes\n", (int)n)); + +@@ -932,6 +964,9 @@ static ssize_t streams_xattr_pwrite(vfs_handle_struct + return -1; + } + ++ SMB_VFS_HANDLE_GET_DATA(handle, config, struct streams_xattr_config, ++ return -1); ++ + if ((offset + n) >= lp_smbd_max_xattr_size(SNUM(handle->conn))) { + /* + * Requested write is beyond what can be read based on +@@ -961,11 +996,11 @@ static ssize_t streams_xattr_pwrite(vfs_handle_struct + return -1; + } + +- if ((offset + n) > ea.value.length-1) { ++ if ((offset + n) > ea.value.length - config->xattr_compat_bytes) { + uint8_t *tmp; + + tmp = talloc_realloc(talloc_tos(), ea.value.data, uint8_t, +- offset + n + 1); ++ offset + n + config->xattr_compat_bytes); + + if (tmp == NULL) { + TALLOC_FREE(ea.value.data); +@@ -973,8 +1008,10 @@ static ssize_t streams_xattr_pwrite(vfs_handle_struct + return -1; + } + ea.value.data = tmp; +- ea.value.length = offset + n + 1; +- ea.value.data[offset+n] = 0; ++ ea.value.length = offset + n + config->xattr_compat_bytes; ++ if (config->xattr_compat_bytes) { ++ ea.value.data[offset+n] = 0; ++ } + } + + memcpy(ea.value.data + offset, data, n); +@@ -1002,7 +1039,12 @@ static ssize_t streams_xattr_pread(vfs_handle_struct * + struct ea_struct ea; + NTSTATUS status; + size_t length, overlap; ++ struct smb_filename *smb_fname_base = NULL; ++ struct streams_xattr_config *config = NULL; + ++ SMB_VFS_HANDLE_GET_DATA(handle, config, struct streams_xattr_config, ++ return -1); ++ + DEBUG(10, ("streams_xattr_pread: offset=%d, size=%d\n", + (int)offset, (int)n)); + +@@ -1022,7 +1064,7 @@ static ssize_t streams_xattr_pread(vfs_handle_struct * + return -1; + } + +- length = ea.value.length-1; ++ length = ea.value.length - config->xattr_compat_bytes; + + DBG_DEBUG("get_ea_value_fsp returned %d bytes\n", + (int)length); +@@ -1210,6 +1252,12 @@ static int streams_xattr_ftruncate(struct vfs_handle_s + struct stream_io *sio = + (struct stream_io *)VFS_FETCH_FSP_EXTENSION(handle, fsp); + ++ struct smb_filename *smb_fname_base = NULL; ++ struct streams_xattr_config *config = NULL; ++ ++ SMB_VFS_HANDLE_GET_DATA(handle, config, struct streams_xattr_config, ++ return -1); ++ + DEBUG(10, ("streams_xattr_ftruncate called for file %s offset %.0f\n", + fsp_str_dbg(fsp), (double)offset)); + +@@ -1239,14 +1287,16 @@ static int streams_xattr_ftruncate(struct vfs_handle_s + } + + /* Did we expand ? */ +- if (ea.value.length < offset + 1) { ++ if (ea.value.length < offset + config->xattr_compat_bytes) { + memset(&tmp[ea.value.length], '\0', +- offset + 1 - ea.value.length); ++ offset + config->xattr_compat_bytes - ea.value.length); + } + + ea.value.data = tmp; +- ea.value.length = offset + 1; +- ea.value.data[offset] = 0; ++ ea.value.length = offset + config->xattr_compat_bytes; ++ if (config->xattr_compat_bytes) { ++ ea.value.data[offset] = 0; ++ } + + ret = SMB_VFS_FSETXATTR(fsp->base_fsp, + sio->xattr_name, diff --git a/net/samba423/files/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch b/net/samba423/files/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch new file mode 100644 index 000000000000..2721be912c76 --- /dev/null +++ b/net/samba423/files/0028-s3-lib-system-add-FreeBSD-proc_fd_pattern.patch @@ -0,0 +1,121 @@ +From 584c69e77abb537a7345222648a397a9963c01b7 Mon Sep 17 00:00:00 2001 +From: "Timur I. Bakeyev" <timur@FreeBSD.org> +Date: Sat, 15 Oct 2022 04:02:43 +0200 +Subject: [PATCH 28/28] s3:lib:system - add FreeBSD proc_fd_pattern + +Add support for FreeBSD equivalent of /proc/self/fd through a special +fdescfs mount with option "nodup". This filesystem should be mounted +either to the private $PIDDIR/fd/ directory or to /dev/fd in order to +provide security and performance characteristics similar to Linux. + +Signed-off-by: Timur I. Bakeyev <timur@FreeBSD.org> +Adapted for Samba 4.20 by: Andrea venturoli <ml@netfence.it> +--- +--- source3/lib/system.c.orig 2025-06-27 15:05:05 UTC ++++ source3/lib/system.c +@@ -1047,6 +1047,68 @@ int sys_get_number_of_cores(void) + } + #endif + ++static bool freebsd_fdesc_check(const char *pattern) ++{ ++ char fdesc_path[PATH_MAX]; ++ int fd, fd2; ++ ++ fd = open(lp_pid_directory(), O_DIRECTORY); ++ if (fd == -1) { ++ DBG_ERR("%s: failed to open pid directory: %s\n", ++ lp_pid_directory(), strerror(errno)); ++ return false; ++ } ++ ++ snprintf(fdesc_path, sizeof(fdesc_path), pattern, fd); ++ ++ fd2 = open(fdesc_path, O_DIRECTORY); ++ if (fd2 == -1) { ++ /* ++ * Setting O_DIRECTORY on open of fdescfs mount ++ * without 'nodup' option will fail with ENOTDIR. ++ */ ++ if (errno == ENOTDIR) { ++ DBG_ERR("%s: fdescfs filesystem is not mounted with " ++ "'nodup' option. This specific mount option is " ++ "required in order to enable race-free handling " ++ "of paths.\n" ++ "See documentation for Samba's New VFS' " ++ "for more details. The 'nodup' mount option was " ++ "introduced in FreeBSD 13.\n", fdesc_path); ++ close(fd); ++ return false; ++ } ++ DBG_ERR("%s: failed to open fdescfs path: %s\n", ++ fdesc_path, strerror(errno)); ++ close(fd); ++ return false; ++ } ++ close(fd); ++ close(fd2); ++ ++ return true; ++} ++ ++static char* freebsd_pattern(char *buf, size_t bufsize) { ++ const char** base; ++ const char* base_dir[] = { ++ lp_pid_directory(), /* This is a preferred location */ ++ "/dev", ++ NULL ++ }; ++ ++ for(base = &base_dir[0]; *base != NULL; base++) { ++ snprintf(buf, bufsize, "%s/fd/%%lu", *base); ++ if(freebsd_fdesc_check(buf)) { ++ return buf; ++ } ++ } ++ return NULL; ++} ++ ++static char proc_fd_pattern_buf[PATH_MAX]; ++static const char *proc_fd_pattern = NULL; ++ + bool sys_have_proc_fds(void) + { + static bool checked = false; +@@ -1058,8 +1078,12 @@ bool sys_have_proc_fds(void) + return have_proc_fds; + } + +- ret = stat("/proc/self/fd/0", &sb); +- have_proc_fds = (ret == 0); ++ if (freebsd_pattern(proc_fd_pattern_buf, sizeof(proc_fd_pattern_buf)) != NULL) { ++ have_proc_fds = true; ++ proc_fd_pattern = proc_fd_pattern_buf; ++ } else ++ have_proc_fds = false; ++ + checked = true; + + return have_proc_fds; +@@ -1067,10 +1091,18 @@ char *sys_proc_fd_path(int fd, struct sys_proc_fd_path + + char *sys_proc_fd_path(int fd, struct sys_proc_fd_path_buf *buf) + { ++ bool have_proc_fds = sys_have_proc_fds(); ++ SMB_ASSERT(have_proc_fds); ++#if defined(__clang__) ++#pragma clang diagnostic push ++#pragma clang diagnostic ignored "-Wformat-nonliteral" ++#endif + int written = +- snprintf(buf->buf, sizeof(buf->buf), "/proc/self/fd/%d", fd); +- +- SMB_ASSERT(sys_have_proc_fds() && (written >= 0)); ++ snprintf(buf->buf, sizeof(buf->buf), proc_fd_pattern, fd); ++#if defined(__clang__) ++#pragma clang diagnostic pop ++#endif ++ SMB_ASSERT(written >= 0); + + return buf->buf; + } diff --git a/net/samba423/files/README.FreeBSD.in b/net/samba423/files/README.FreeBSD.in new file mode 100644 index 000000000000..4e06a33160ba --- /dev/null +++ b/net/samba423/files/README.FreeBSD.in @@ -0,0 +1,91 @@ + + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + !!! Please read before running any tools !!! + !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + +Documentation +============= + + o https://wiki.samba.org/index.php/Samba4/HOWTO + + o https://wiki.samba.org/index.php/Samba_AD_DC_HOWTO + + o https://wiki.samba.org/index.php/Samba4/samba-tool/domain/classicupgrade/HOWTO + +FreeBSD specific information +============================ + +* Your configuration is in: %%ETCDIR%%/%%SAMBA4_CONFIG%% + +* All the logs are under: %%SAMBA4_LOGDIR%% + +* All the relevant databases are under: %%SAMBA4_LOCKDIR%% + +* Provisioning script is: %%PREFIX%%/bin/samba-tool + +Samba4 provisioning requires file system(s) with the ACLs support. On +UFS2 you need to enable POSIX ACLs by adding 'acls' option to the mount +flags, on ZFS you need to use NFSv4 ACLs and `zfsacl` VFS module to get +provisioning work. + +There is a hack in the code, that makes provisioning work on UFS2 and in +the jails on the price of using USER extattr(2) namespace, which is less +secure than SYSTEM namespace, as can be edited not only by root user, but +also by the owner of the file. + +For the provisioning on ZFS you need to use additional parameters to the +samba-tool, that would explicitly add `zfsacl` to the default `vfs objects`: + + # samba-tool domain provision --interactive \ + --option="vfs objects"="dfs_samba4 zfsacl" + +To run this port you need to perform the following steps: +--------------------------------------------------------- + +0. If you had Samba3 port installed before, please, *take backups* of +all the relevant files. That includes 'smb.conf' file and all the +content of the '/var/db/samba/' directory. + +1a. Create new '%%ETCDIR%%/%%SAMBA4_CONFIG%%' file by running: + + # samba-tool domain provision + +1b. Or upgrade from the Samba3 'smb.conf' file by running: + + # samba-tool domain classicupgrade + +%%AD_DC%%1c. You will need to specify location of the 'nsupdate' command in the +%%AD_DC%%'%%SAMBA4_CONFIG%%' file: +%%AD_DC%% +%%AD_DC%% nsupdate command = %%PREFIX%%/bin/samba-nsupdate -g +%%AD_DC%% +2. Put string 'samba_server_enable="YES"' into your /etc/rc.conf. + +3. Make sure that your server doesn't run Samba3, OpenLDAP and named. +Stop them, if necessary. + +4. Run '%%PREFIX%%/etc/rc.d/samba_server start' or reboot. + +Please, check archives of samba@lists.samba.org and ask there for help, +if necessary: + + https://lists.samba.org/archive/samba/ + +Port related bugs can be reported to the FreeBSD Bugzilla or directly to: + + https://gitlab.com/samba-freebsd/ports/-/issues + +In case you found a bug which is clearly not related to the port build +process itself, please file a bug report at: + + https://bugzilla.samba.org/ + +And add me to CC list. + +You may find those tools helpful: +--------------------------------- + +Microsoft Remote Server Administration Tools (RSAT) for: + +* Vista: http://www.microsoft.com/en-us/download/details.aspx?id=21090 +* Windows 7: http://www.microsoft.com/en-us/download/details.aspx?id=7887 diff --git a/net/samba423/files/patch-docs-xml_manpages_vfs__freebsd.8.xml b/net/samba423/files/patch-docs-xml_manpages_vfs__freebsd.8.xml new file mode 100644 index 000000000000..b19ecafd4056 --- /dev/null +++ b/net/samba423/files/patch-docs-xml_manpages_vfs__freebsd.8.xml @@ -0,0 +1,172 @@ +--- docs-xml/manpages/vfs_freebsd.8.xml.orig 2025-07-11 10:55:41 UTC ++++ docs-xml/manpages/vfs_freebsd.8.xml +@@ -0,0 +1,169 @@ ++<?xml version="1.0" encoding="iso-8859-1"?> ++<!DOCTYPE refentry PUBLIC "-//Samba-Team//DTD DocBook V4.2-Based Variant V1.0//EN" "http://www.samba.org/samba/DTD/samba-doc"> ++<refentry id="vfs_freebsd.8"> ++ ++<refmeta> ++ <refentrytitle>vfs_freebsd</refentrytitle> ++ <manvolnum>8</manvolnum> ++ <refmiscinfo class="source">Samba</refmiscinfo> ++ <refmiscinfo class="manual">System Administration tools</refmiscinfo> ++ <refmiscinfo class="version">&doc.version;</refmiscinfo> ++</refmeta> ++ ++<refnamediv> ++ <refname>vfs_freebsd</refname> ++ <refpurpose>FreeBSD-specific VFS functions</refpurpose> ++</refnamediv> ++ ++<refsynopsisdiv> ++ <cmdsynopsis> ++ <command>vfs objects = freebsd</command> ++ </cmdsynopsis> ++</refsynopsisdiv> ++ ++<refsect1> ++ <title>DESCRIPTION</title> ++ ++ <para>This VFS module is part of the <citerefentry><refentrytitle>samba</refentrytitle> ++ <manvolnum>7</manvolnum></citerefentry> suite.</para> ++ ++ <para>The <command>vfs_freebsd</command> module implements some of the FreeBSD-specific VFS functions.</para> ++ ++ <para>This module is stackable.</para> ++</refsect1> ++ ++ ++<refsect1> ++ <title>OPTIONS</title> ++ ++ <variablelist> ++ ++ <varlistentry> ++ <term>freebsd:extattr mode=[legacy|compat|secure]</term> ++ <listitem> ++ <para>This parameter defines how the emulation of the Linux attr(5) extended attributes ++ is performed through the FreeBSD native extattr(9) system calls.</para> ++ ++ <para>Currently the <emphasis>security</emphasis>, <emphasis>system</emphasis>, ++ <emphasis>trusted</emphasis> and <emphasis>user</emphasis> extended attribute(xattr) ++ classes are defined in Linux. Contrary FreeBSD has only <emphasis>USER</emphasis> ++ and <emphasis>SYSTEM</emphasis> extended attribute(extattr) namespaces, so mapping ++ of one set into another isn't straightforward and can be done in different ways.</para> ++ ++ <para>Historically the Samba(7) built-in xattr mapping implementation simply converted ++ <emphasis>system</emphasis> and <emphasis>user</emphasis> xattr into corresponding ++ <emphasis>SYSTEM</emphasis> and <emphasis>USER</emphasis> extattr namespaces, dropping ++ the class prefix name with the separating dot and using attribute name only within the ++ mapped namespace. It also rejected any other xattr classes, like <emphasis>security</emphasis> ++ and <emphasis>trusted</emphasis> as invalid. Such behavior in particular broke AD ++ provisioning on UFS2 file systems as essential <emphasis>security.NTACL</emphasis> ++ xattr was rejected as invalid.</para> ++ ++ <para>This module tries to address this problem and provide secure, where it's possible, ++ way to map Linux xattr into FreeBSD's extattr.</para> ++ ++ <para>When <emphasis>mode</emphasis> is set to the <emphasis>legacy (default)</emphasis> ++ then modified version of built-in mapping is used, where <emphasis>system</emphasis> xattr ++ is mapped into SYSTEM namespace, while <emphasis>secure</emphasis>, <emphasis>trusted</emphasis> ++ and <emphasis>user</emphasis> xattr are all mapped into the USER namespace, dropping class ++ prefixes and mix them all together. This is the way how Samba FreeBSD ports were patched ++ up to the 4.9 version and that created multiple potential security issues. This mode is aimed for ++ the compatibility with the legacy installations only and should be avoided in new setups.</para> ++ ++ <para>The <emphasis>compat</emphasis> mode is mostly designed for the jailed environments, ++ where it's not possible to write extattrs into the secure SYSTEM namespace, so all four ++ classes are mapped into the USER namespace. To preserve information about origin of the ++ extended attribute it is stored together with the class preffix in the <emphasis>class.attribute</emphasis> ++ format.</para> ++ ++ <para>The <emphasis>secure</emphasis> mode is meant for storing extended attributes in a secure ++ manner, so that <emphasis>security</emphasis>, <emphasis>system</emphasis> and <emphasis>trusted</emphasis> ++ are stored in the SYSTEM namespace, which can be modified only by root. ++ </para> ++ </listitem> ++ </varlistentry> ++ ++ ++ </variablelist> ++</refsect1> ++ ++<refsect1> ++ <table frame="all" rowheader="firstcol"> ++ <title>Attributes mapping</title> ++ <tgroup cols='5' align='left' colsep='1' rowsep='1'> ++ <thead> ++ <row> ++ <entry> </entry> ++ <entry>built-in</entry> ++ <entry>legacy</entry> ++ <entry>compat/jail</entry> ++ <entry>secure</entry> ++ </row> ++ </thead> ++ <tbody> ++ <row> ++ <entry>user</entry> ++ <entry>USER; attribute</entry> ++ <entry>USER; attribute</entry> ++ <entry>USER; user.attribute</entry> ++ <entry>USER; user.attribute</entry> ++ </row> ++ <row> ++ <entry>system</entry> ++ <entry>SYSTEM; attribute</entry> ++ <entry>SYSTEM; attribute</entry> ++ <entry>USER; system.attribute</entry> ++ <entry>SYSTEM; system.attribute</entry> ++ </row> ++ <row> ++ <entry>trusted</entry> ++ <entry>FAIL</entry> ++ <entry>USER; attribute</entry> ++ <entry>USER; trusted.attribute</entry> ++ <entry>SYSTEM; trusted.attribute</entry> ++ </row> ++ <row> ++ <entry>security</entry> ++ <entry>FAIL</entry> ++ <entry>USER; attribute</entry> ++ <entry>USER; security.attribute</entry> ++ <entry>SYSTEM; security.attribute</entry> ++ </row> ++ </tbody> ++ </tgroup> ++ </table> ++</refsect1> ++ ++<refsect1> ++ <title>EXAMPLES</title> ++ ++ <para>Use secure method of setting extended attributes on the share:</para> ++ ++<programlisting> ++ <smbconfsection name="[sysvol]"/> ++ <smbconfoption name="vfs objects">freebsd</smbconfoption> ++ <smbconfoption name="freebsd:extattr mode">secure</smbconfoption> ++</programlisting> ++ ++</refsect1> ++ ++<refsect1> ++ <title>VERSION</title> ++ ++ <para>This man page is part of version &doc.version; of the Samba suite. ++ </para> ++</refsect1> ++ ++<refsect1> ++ <title>AUTHOR</title> ++ ++ <para>The original Samba software and related utilities ++ were created by Andrew Tridgell. Samba is now developed ++ by the Samba Team as an Open Source project similar ++ to the way the Linux kernel is developed.</para> ++ ++ <para>This module was written by Timur I. Bakeyev</para> ++ ++</refsect1> ++ ++</refentry> diff --git a/net/samba423/files/patch-docs-xml_wscript__build b/net/samba423/files/patch-docs-xml_wscript__build new file mode 100644 index 000000000000..cc8e028a823c --- /dev/null +++ b/net/samba423/files/patch-docs-xml_wscript__build @@ -0,0 +1,10 @@ +--- docs-xml/wscript_build.orig 2025-02-06 10:31:53 UTC ++++ docs-xml/wscript_build +@@ -88,6 +88,7 @@ vfs_module_manpages = ['vfs_acl_tdb', + 'vfs_extd_audit', + 'vfs_fake_perms', + 'vfs_fileid', ++ 'vfs_freebsd', + 'vfs_fruit', + 'vfs_full_audit', + 'vfs_glusterfs', diff --git a/net/samba423/files/patch-examples_pdb_wscript__build b/net/samba423/files/patch-examples_pdb_wscript__build new file mode 100644 index 000000000000..6b8e2685e80a --- /dev/null +++ b/net/samba423/files/patch-examples_pdb_wscript__build @@ -0,0 +1,11 @@ +--- examples/pdb/wscript_build.orig 2019-01-15 10:07:00 UTC ++++ examples/pdb/wscript_build +@@ -3,7 +3,7 @@ + bld.SAMBA3_MODULE('pdb_test', + subsystem='pdb', + source='test.c', +- deps='samba-util', ++ deps='samba-util samba-debug', + init_function='', + internal_module=bld.SAMBA3_IS_STATIC_MODULE('pdb_test'), + enabled=bld.SAMBA3_IS_ENABLED_MODULE('pdb_test')) diff --git a/net/samba423/files/patch-lib_talloc_wscript b/net/samba423/files/patch-lib_talloc_wscript new file mode 100644 index 000000000000..215b68b78fc8 --- /dev/null +++ b/net/samba423/files/patch-lib_talloc_wscript @@ -0,0 +1,11 @@ +--- lib/talloc/wscript.orig 2024-01-23 10:24:15.072250000 +0100 ++++ lib/talloc/wscript 2024-01-23 10:26:17.242921000 +0100 +@@ -45,7 +45,7 @@ def configure(conf): + conf.env.TALLOC_COMPAT1 = False + if conf.env.standalone_talloc: + conf.env.TALLOC_COMPAT1 = Options.options.TALLOC_COMPAT1 +- conf.env.PKGCONFIGDIR = '${LIBDIR}/pkgconfig' ++ conf.env.PKGCONFIGDIR = '%%PKGCONFIGDIR%%' + conf.env.TALLOC_VERSION = VERSION + + conf.CHECK_XSLTPROC_MANPAGES() diff --git a/net/samba423/files/patch-lib_util_util_crypt_c b/net/samba423/files/patch-lib_util_util_crypt_c new file mode 100644 index 000000000000..362f9a406d0b --- /dev/null +++ b/net/samba423/files/patch-lib_util_util_crypt_c @@ -0,0 +1,15 @@ +Index: lib/util/util_crypt.c +--- lib/util/util_crypt.c.orig ++++ lib/util/util_crypt.c +@@ -2,7 +2,11 @@ + #include "data_blob.h" + #include "discard.h" + #include <talloc.h> ++#ifdef __FreeBSD__ ++#include <unistd.h> ++#else + #include <crypt.h> ++#endif + #include "util_crypt.h" + + diff --git a/net/samba423/files/patch-python_samba_join.py b/net/samba423/files/patch-python_samba_join.py new file mode 100644 index 000000000000..79f32802c4f4 --- /dev/null +++ b/net/samba423/files/patch-python_samba_join.py @@ -0,0 +1,11 @@ +--- python/samba/join.py.orig 2025-02-06 10:31:54 UTC ++++ python/samba/join.py +@@ -917,7 +917,7 @@ class DCJoinContext(object): + secrets_ldb = Ldb(ctx.paths.secrets, session_info=system_session(), lp=ctx.lp) + + provision_fill(ctx.local_samdb, secrets_ldb, +- ctx.logger, ctx.names, ctx.paths, ++ ctx.logger, ctx.names, ctx.targetdir, ctx.paths, + dom_for_fun_level=ctx.behavior_version, + samdb_fill=FILL_SUBDOMAIN, + machinepass=ctx.acct_pass, serverrole="active directory domain controller", diff --git a/net/samba423/files/patch-python_samba_provision_____init____.py b/net/samba423/files/patch-python_samba_provision_____init____.py new file mode 100644 index 000000000000..c5aa0c96f265 --- /dev/null +++ b/net/samba423/files/patch-python_samba_provision_____init____.py @@ -0,0 +1,71 @@ +--- python/samba/provision/__init__.py.orig 2025-02-06 10:31:54 UTC ++++ python/samba/provision/__init__.py +@@ -1671,19 +1671,25 @@ def setsysvolacl(samdb, sysvol, uid, gid, domainsid, d + s3conf = s3param.get_context() + s3conf.load(lp.configfile) + +- file = tempfile.NamedTemporaryFile(dir=os.path.abspath(sysvol)) ++ sysvol_dir = os.path.abspath(sysvol) ++ ++ set_simple_acl = smbd.set_simple_acl ++ if smbd.has_nfsv4_acls(sysvol_dir): ++ set_simple_acl = smbd.set_simple_nfsv4_acl ++ ++ file = tempfile.NamedTemporaryFile(dir=sysvol_dir) + try: + try: +- smbd.set_simple_acl(file.name, 0o755, system_session_unix(), gid) ++ set_simple_acl(file.name, 0o755, system_session_unix(), gid) + except OSError: +- if not smbd.have_posix_acls(): ++ if not smbd.have_posix_acls() and not smbd.have_nfsv4_acls(): + # This clue is only strictly correct for RPM and + # Debian-like Linux systems, but hopefully other users + # will get enough clue from it. +- raise ProvisioningError("Samba was compiled without the posix ACL support that s3fs requires. " ++ raise ProvisioningError("Samba was compiled without the ACL support that s3fs requires. " + "Try installing libacl1-dev or libacl-devel, then re-run configure and make.") + +- raise ProvisioningError("Your filesystem or build does not support posix ACLs, which s3fs requires. " ++ raise ProvisioningError("Your filesystem or build does not support ACLs, which s3fs requires. " + "Try the mounting the filesystem with the 'acl' option.") + try: + smbd.chown(file.name, uid, gid, system_session_unix()) +@@ -1906,7 +1912,7 @@ def interface_ips_v6(lp): + return ret + + +-def provision_fill(samdb, secrets_ldb, logger, names, paths, ++def provision_fill(samdb, secrets_ldb, logger, names, paths, targetdir, + schema=None, + samdb_fill=FILL_FULL, + hostip=None, hostip6=None, +@@ -1965,6 +1971,9 @@ def provision_fill(samdb, secrets_ldb, logger, names, + samdb.transaction_commit() + + if serverrole == "active directory domain controller": ++ if targetdir and smbd.have_nfsv4_acls() and smbd.has_nfsv4_acls(targetdir): ++ smbd.set_nfsv4_defaults() ++ + # Continue setting up sysvol for GPO. This appears to require being + # outside a transaction. + if not skip_sysvolacl: +@@ -2341,6 +2350,9 @@ def provision(logger, session_info, smbconf=None, + if not os.path.isdir(paths.netlogon): + os.makedirs(paths.netlogon, 0o755) + ++ if smbd.have_nfsv4_acls() and smbd.has_nfsv4_acls(paths.sysvol): ++ smbd.set_nfsv4_defaults() ++ + if adminpass is None: + adminpass = samba.generate_random_password(12, 32) + adminpass_generated = True +@@ -2350,7 +2362,7 @@ def provision(logger, session_info, smbconf=None, + adminpass_generated = False + + if samdb_fill == FILL_FULL: +- provision_fill(samdb, secrets_ldb, logger, names, paths, ++ provision_fill(samdb, secrets_ldb, logger, names, paths, targetdir, + schema=schema, samdb_fill=samdb_fill, + hostip=hostip, hostip6=hostip6, + next_rid=next_rid, dc_rid=dc_rid, adminpass=adminpass, diff --git a/net/samba423/files/patch-source3_lib_sysacls.c b/net/samba423/files/patch-source3_lib_sysacls.c new file mode 100644 index 000000000000..dda39ee2828e --- /dev/null +++ b/net/samba423/files/patch-source3_lib_sysacls.c @@ -0,0 +1,19 @@ +--- source3/lib/sysacls.c.orig 2025-02-06 10:31:54 UTC ++++ source3/lib/sysacls.c +@@ -38,6 +38,16 @@ + #include "modules/vfs_aixacl.h" + #endif + ++/* ++ * NFSv4 ACL's should be understood and a first class citizen. Work ++ * needs to be done in librpc/idl/smb_acl.idl for this to occur. ++ */ ++#if defined(HAVE_LIBSUNACL) && defined(FREEBSD) ++#if 0 ++#include "modules/nfs4_acls.h" ++#endif ++#endif ++ + #undef DBGC_CLASS + #define DBGC_CLASS DBGC_ACLS + diff --git a/net/samba423/files/patch-source3_lib_util.c b/net/samba423/files/patch-source3_lib_util.c new file mode 100644 index 000000000000..cf5bae739144 --- /dev/null +++ b/net/samba423/files/patch-source3_lib_util.c @@ -0,0 +1,14 @@ +--- source3/lib/util.c.orig 2019-05-07 08:38:21 UTC ++++ source3/lib/util.c +@@ -1916,7 +1916,10 @@ bool any_nt_status_not_ok(NTSTATUS err1, + + int timeval_to_msec(struct timeval t) + { +- return t.tv_sec * 1000 + (t.tv_usec+999) / 1000; ++ unsigned long result; ++ ++ result = t.tv_sec * 1000 + (t.tv_usec+999) / 1000; ++ return result > INT_MAX ? INT_MAX : result; + } + + /******************************************************************* diff --git a/net/samba423/files/patch-source3_librpc_crypto_gse.c b/net/samba423/files/patch-source3_librpc_crypto_gse.c new file mode 100644 index 000000000000..61897ee6c8a2 --- /dev/null +++ b/net/samba423/files/patch-source3_librpc_crypto_gse.c @@ -0,0 +1,16 @@ +--- source3/librpc/crypto/gse.c.orig 2019-01-15 10:07:00 UTC ++++ source3/librpc/crypto/gse.c +@@ -621,11 +621,12 @@ static NTSTATUS gse_get_server_auth_toke + struct gse_context *gse_ctx = + talloc_get_type_abort(gensec_security->private_data, + struct gse_context); +- OM_uint32 gss_maj, gss_min; ++ OM_uint32 gss_min; + gss_buffer_desc in_data; + gss_buffer_desc out_data; + DATA_BLOB blob = data_blob_null; + NTSTATUS status; ++ OM_uint32 gss_maj = -1; + OM_uint32 time_rec = 0; + struct timeval tv; + diff --git a/net/samba423/files/patch-source3_modules_vfs__freebsd.c b/net/samba423/files/patch-source3_modules_vfs__freebsd.c new file mode 100644 index 000000000000..9d3e41041117 --- /dev/null +++ b/net/samba423/files/patch-source3_modules_vfs__freebsd.c @@ -0,0 +1,702 @@ +--- source3/modules/vfs_freebsd.c.orig 2025-07-11 10:55:17 UTC ++++ source3/modules/vfs_freebsd.c +@@ -0,0 +1,699 @@ ++/* ++ * This module implements VFS calls specific to FreeBSD ++ * ++ * Copyright (C) Timur I. Bakeyev, 2018 ++ * ++ * This program is free software; you can redistribute it and/or modify ++ * it under the terms of the GNU General Public License as published by ++ * the Free Software Foundation; either version 3 of the License, or ++ * (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, see <http://www.gnu.org/licenses/>. ++ */ ++ ++#include "includes.h" ++ ++#include "lib/util/tevent_unix.h" ++#include "lib/util/tevent_ntstatus.h" ++#include "system/filesys.h" ++#include "smbd/smbd.h" ++ ++#include <sys/sysctl.h> ++ ++static int vfs_freebsd_debug_level = DBGC_VFS; ++ ++#undef DBGC_CLASS ++#define DBGC_CLASS vfs_freebsd_debug_level ++ ++#ifndef EXTATTR_MAXNAMELEN ++#define EXTATTR_MAXNAMELEN UINT8_MAX ++#endif ++ ++#define EXTATTR_NAMESPACE(NS) EXTATTR_NAMESPACE_ ## NS, \ ++ EXTATTR_NAMESPACE_ ## NS ## _STRING ".", \ ++ .data.len = (sizeof(EXTATTR_NAMESPACE_ ## NS ## _STRING ".") - 1) ++ ++#define EXTATTR_EMPTY 0x00 ++#define EXTATTR_USER 0x01 ++#define EXTATTR_SYSTEM 0x02 ++#define EXTATTR_SECURITY 0x03 ++#define EXTATTR_TRUSTED 0x04 ++ ++enum extattr_mode { ++ FREEBSD_EXTATTR_SECURE, ++ FREEBSD_EXTATTR_COMPAT, ++ FREEBSD_EXTATTR_LEGACY ++}; ++ ++struct freebsd_handle_data { ++ enum extattr_mode extattr_mode; ++}; ++ ++typedef struct { ++ int namespace; ++ char name[EXTATTR_MAXNAMELEN+1]; ++ union { ++ uint16_t len; ++ uint16_t flags; ++ } data; ++} extattr_attr; ++ ++static const struct enum_list extattr_mode_param[] = { ++ { FREEBSD_EXTATTR_SECURE, "secure" }, /* */ ++ { FREEBSD_EXTATTR_COMPAT, "compat" }, /* */ ++ { FREEBSD_EXTATTR_LEGACY, "legacy" }, /* */ ++ { -1, NULL } ++}; ++ ++/* XXX: This order doesn't match namespace ids order! */ ++static extattr_attr extattr[] = { ++ { EXTATTR_NAMESPACE(EMPTY) }, ++ { EXTATTR_NAMESPACE(SYSTEM) }, ++ { EXTATTR_NAMESPACE(USER) }, ++}; ++ ++ ++static bool freebsd_in_jail(void) { ++ int val = 0; ++ size_t val_len = sizeof(val); ++ ++ if((sysctlbyname("security.jail.jailed", &val, &val_len, NULL, 0) != -1) && val == 1) { ++ return true; ++ } ++ return false; ++} ++ ++ ++static uint16_t freebsd_map_attrname(const char *name) ++{ ++ if(name == NULL || name[0] == '\0') { ++ return EXTATTR_EMPTY; ++ } ++ ++ switch(name[0]) { ++ case 'u': ++ if(strncmp(name, "user.", 5) == 0) ++ return EXTATTR_USER; ++ break; ++ case 't': ++ if(strncmp(name, "trusted.", 8) == 0) ++ return EXTATTR_TRUSTED; ++ break; ++ case 's': ++ /* name[1] could be any character, including '\0' */ ++ switch(name[1]) { ++ case 'e': ++ if(strncmp(name, "security.", 9) == 0) ++ return EXTATTR_SECURITY; ++ break; ++ case 'y': ++ if(strncmp(name, "system.", 7) == 0) ++ return EXTATTR_SYSTEM; ++ break; ++ } ++ break; ++ } ++ return EXTATTR_USER; ++} ++ ++ ++/* security, system, trusted or user */ ++static extattr_attr* freebsd_map_xattr(enum extattr_mode extattr_mode, const char *name, extattr_attr *attr) ++{ ++ int attrnamespace = EXTATTR_NAMESPACE_EMPTY; ++ const char *p, *attrname = name; ++ ++ if(name == NULL || name[0] == '\0') { ++ return NULL; ++ } ++ ++ if(attr == NULL) { ++ return NULL; ++ } ++ ++ uint16_t flags = freebsd_map_attrname(name); ++ ++ switch(flags) { ++ case EXTATTR_SECURITY: ++ case EXTATTR_TRUSTED: ++ case EXTATTR_SYSTEM: ++ attrnamespace = (extattr_mode == FREEBSD_EXTATTR_SECURE) ? ++ EXTATTR_NAMESPACE_SYSTEM : ++ EXTATTR_NAMESPACE_USER; ++ break; ++ case EXTATTR_USER: ++ attrnamespace = EXTATTR_NAMESPACE_USER; ++ break; ++ default: ++ /* Default to "user" namespace if nothing else was specified */ ++ attrnamespace = EXTATTR_NAMESPACE_USER; ++ flags = EXTATTR_USER; ++ break; ++ } ++ ++ if (extattr_mode == FREEBSD_EXTATTR_LEGACY) { ++ switch(flags) { ++ case EXTATTR_SECURITY: ++ attrname = name + 9; ++ break; ++ case EXTATTR_TRUSTED: ++ attrname = name + 8; ++ break; ++ case EXTATTR_SYSTEM: ++ attrname = name + 7; ++ break; ++ case EXTATTR_USER: ++ attrname = name + 5; ++ break; ++ default: ++ attrname = ((p=strchr(name, '.')) != NULL) ? p + 1 : name; ++ break; ++ } ++ } ++ ++ attr->namespace = attrnamespace; ++ attr->data.flags = flags; ++ strlcpy(attr->name, attrname, EXTATTR_MAXNAMELEN + 1); ++ ++ return attr; ++} ++ ++ ++static ssize_t extattr_size(struct files_struct *fsp, extattr_attr *attr) ++{ ++ ssize_t result; ++ ++ SMB_ASSERT(!fsp_is_alternate_stream(fsp)); ++ ++ int fd = fsp_get_pathref_fd(fsp); ++ ++ if (fsp->fsp_flags.is_pathref) { ++ const char *path = fsp->fsp_name->base_name; ++ if (fsp->fsp_flags.have_proc_fds) { ++ char buf[PATH_MAX]; ++ path = sys_proc_fd_path(fd, &buf); ++ if (path == NULL) { ++ return -1; ++ } ++ } ++ /* ++ * This is no longer a handle based call. ++ */ ++ return extattr_get_file(path, attr->namespace, attr->name, NULL, 0); ++ } ++ else { ++ return extattr_get_fd(fd, attr->namespace, attr->name, NULL, 0); ++ } ++} ++ ++/* ++ * The list of names is returned as an unordered array of NULL-terminated ++ * character strings (attribute names are separated by NULL characters), ++ * like this: ++ * user.name1\0system.name1\0user.name2\0 ++ * ++ * Filesystems like ext2, ext3 and XFS which implement POSIX ACLs using ++ * extended attributes, might return a list like this: ++ * system.posix_acl_access\0system.posix_acl_default\0 ++ */ ++/* ++ * The extattr_list_file() returns a list of attributes present in the ++ * requested namespace. Each list entry consists of a single byte containing ++ * the length of the attribute name, followed by the attribute name. The ++ * attribute name is not terminated by ASCII 0 (nul). ++*/ ++static ssize_t freebsd_extattr_list(struct files_struct *fsp, enum extattr_mode extattr_mode, char *list, size_t size) ++{ ++ ssize_t list_size, total_size = 0; ++ char *p, *q, *list_end; ++ int len; ++ /* ++ Ignore all but user namespace when we are not root or in jail ++ See: https://bugzilla.samba.org/show_bug.cgi?id=10247 ++ */ ++ bool as_root = (geteuid() == 0); ++ ++ int ns = (extattr_mode == FREEBSD_EXTATTR_SECURE && as_root) ? 1 : 2; ++ ++ int fd = fsp_get_pathref_fd(fsp); ++ ++ /* Iterate through extattr(2) namespaces */ ++ for(; ns < ARRAY_SIZE(extattr); ns++) { ++ list_size = -1; ++ ++ if (fsp->fsp_flags.is_pathref) { ++ const char *path = fsp->fsp_name->base_name; ++ if (fsp->fsp_flags.have_proc_fds) { ++ char buf[PATH_MAX]; ++ path = sys_proc_fd_path(fd, &buf); ++ if (path == NULL) { ++ return -1; ++ } ++ } ++ /* ++ * This is no longer a handle based call. ++ */ ++ list_size = extattr_list_file(path, extattr[ns].namespace, list, size); ++ } ++ else { ++ list_size = extattr_list_fd(fd, extattr[ns].namespace, list, size); ++ } ++ /* Some error happend. Errno should be set by the previous call */ ++ if(list_size < 0) ++ return -1; ++ /* No attributes in this namespace */ ++ if(list_size == 0) ++ continue; ++ /* ++ Call with an empty buffer may be used to calculate ++ necessary buffer size. ++ */ ++ if(list == NULL) { ++ /* ++ XXX: Unfortunately, we can't say, how many attributes were ++ returned, so here is the potential problem with the emulation. ++ */ ++ if(extattr_mode == FREEBSD_EXTATTR_LEGACY) { ++ /* ++ Take the worse case of one char attribute names - ++ two bytes per name plus one more for sanity. ++ */ ++ total_size += list_size + (list_size/2 + 1)*extattr[ns].data.len; ++ } ++ else { ++ total_size += list_size; ++ } ++ continue; ++ } ++ ++ if(extattr_mode == FREEBSD_EXTATTR_LEGACY) { ++ /* Count necessary offset to fit namespace prefixes */ ++ int extra_len = 0; ++ uint16_t flags; ++ list_end = list + list_size; ++ for(list_size = 0, p = q = list; p < list_end; p += len) { ++ len = p[0] + 1; ++ (void)strlcpy(q, p + 1, len); ++ flags = freebsd_map_attrname(q); ++ /* Skip secure attributes for non-root user */ ++ if(extattr_mode != FREEBSD_EXTATTR_SECURE && !as_root && flags > EXTATTR_USER) { ++ continue; ++ } ++ if(flags <= EXTATTR_USER) { ++ /* Don't count trailing '\0' */ ++ extra_len += extattr[ns].data.len; ++ } ++ list_size += len; ++ q += len; ++ } ++ total_size += list_size + extra_len; ++ /* Buffer is too small to fit the results */ ++ if(total_size > size) { ++ errno = ERANGE; ++ return -1; ++ } ++ /* Shift results backwards, so we can prepend prefixes */ ++ list_end = list + extra_len; ++ p = (char*)memmove(list_end, list, list_size); ++ /* ++ We enter the loop with `p` pointing to the shifted list and ++ `extra_len` having the total margin between `list` and `p` ++ */ ++ for(list_end += list_size; p < list_end; p += len) { ++ len = strlen(p) + 1; ++ flags = freebsd_map_attrname(p); ++ if(flags <= EXTATTR_USER) { ++ /* Add namespace prefix */ ++ (void)strncpy(list, extattr[ns].name, extattr[ns].data.len); ++ list += extattr[ns].data.len; ++ } ++ /* Append attribute name */ ++ (void)strlcpy(list, p, len); ++ list += len; ++ } ++ } ++ else { ++ /* Convert UCSD strings into nul-terminated strings */ ++ for(list_end = list + list_size; list < list_end; list += len) { ++ len = list[0] + 1; ++ (void)strlcpy(list, list + 1, len); ++ } ++ total_size += list_size; ++ } ++ } ++ return total_size; ++} ++ ++/* ++static ssize_t freebsd_fgetxattr_size(struct vfs_handle_struct *handle, ++ struct files_struct *fsp, ++ const char *name) ++{ ++ struct freebsd_handle_data *data; ++ extattr_attr attr; ++ ++ SMB_ASSERT(!fsp_is_alternate_stream(fsp)); ++ ++ SMB_VFS_HANDLE_GET_DATA(handle, data, ++ struct freebsd_handle_data, ++ return -1); ++ ++ if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { ++ errno = ENOATTR; ++ return -1; ++ } ++ ++ return extattr_size(fsp, &attr); ++} ++*/ ++ ++/* VFS entries */ ++static ssize_t freebsd_fgetxattr(struct vfs_handle_struct *handle, ++ struct files_struct *fsp, ++ const char *name, ++ void *value, ++ size_t size) ++{ ++#if defined(HAVE_XATTR_EXTATTR) ++ struct freebsd_handle_data *data; ++ extattr_attr attr; ++ ssize_t res; ++ int fd; ++ ++ SMB_ASSERT(!fsp_is_alternate_stream(fsp)); ++ ++ SMB_VFS_HANDLE_GET_DATA(handle, data, ++ struct freebsd_handle_data, ++ return -1); ++ ++ if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ /* Filter out 'secure' entries */ ++ if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { ++ errno = ENOATTR; ++ return -1; ++ } ++ ++ /* ++ * The BSD implementation has a nasty habit of silently truncating ++ * the returned value to the size of the buffer, so we have to check ++ * that the buffer is large enough to fit the returned value. ++ */ ++ if((res=extattr_size(fsp, &attr)) < 0) { ++ return -1; ++ } ++ ++ if (size == 0) { ++ return res; ++ } ++ else if (res > size) { ++ errno = ERANGE; ++ return -1; ++ } ++ ++ fd = fsp_get_pathref_fd(fsp); ++ ++ if (fsp->fsp_flags.is_pathref) { ++ const char *path = fsp->fsp_name->base_name; ++ if (fsp->fsp_flags.have_proc_fds) { ++ char buf[PATH_MAX]; ++ path = sys_proc_fd_path(fd, &buf); ++ if (path == NULL) { ++ return -1; ++ } ++ } ++ /* ++ * This is no longer a handle based call. ++ */ ++ return extattr_get_file(path, attr.namespace, attr.name, value, size); ++ } ++ else { ++ return extattr_get_fd(fd, attr.namespace, attr.name, value, size); ++ } ++ return -1; ++#else ++ errno = ENOSYS; ++ return -1; ++#endif ++} ++ ++ ++static ssize_t freebsd_flistxattr(struct vfs_handle_struct *handle, ++ struct files_struct *fsp, ++ char *list, ++ size_t size) ++{ ++#if defined(HAVE_XATTR_EXTATTR) ++ struct freebsd_handle_data *data; ++ ++ SMB_ASSERT(!fsp_is_alternate_stream(fsp)); ++ ++ SMB_VFS_HANDLE_GET_DATA(handle, data, ++ struct freebsd_handle_data, ++ return -1); ++ ++ return freebsd_extattr_list(fsp, data->extattr_mode, list, size); ++#else ++ errno = ENOSYS; ++ return -1; ++#endif ++} ++ ++ ++static int freebsd_fremovexattr(struct vfs_handle_struct *handle, ++ struct files_struct *fsp, ++ const char *name) ++{ ++#if defined(HAVE_XATTR_EXTATTR) ++ struct freebsd_handle_data *data; ++ extattr_attr attr; ++ int fd; ++ ++ SMB_ASSERT(!fsp_is_alternate_stream(fsp)); ++ ++ SMB_VFS_HANDLE_GET_DATA(handle, data, ++ struct freebsd_handle_data, ++ return -1); ++ ++ if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ /* Filter out 'secure' entries */ ++ if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { ++ errno = ENOATTR; ++ return -1; ++ } ++ ++ fd = fsp_get_pathref_fd(fsp); ++ ++ if (fsp->fsp_flags.is_pathref) { ++ const char *path = fsp->fsp_name->base_name; ++ if (fsp->fsp_flags.have_proc_fds) { ++ char buf[PATH_MAX]; ++ path = sys_proc_fd_path(fd, &buf); ++ if (path == NULL) { ++ return -1; ++ } ++ } ++ /* ++ * This is no longer a handle based call. ++ */ ++ return extattr_delete_file(path, attr.namespace, attr.name); ++ } ++ else { ++ return extattr_delete_fd(fd, attr.namespace, attr.name); ++ } ++ return -1; ++#else ++ errno = ENOSYS; ++ return -1; ++#endif ++} ++ ++ ++static int freebsd_fsetxattr(struct vfs_handle_struct *handle, ++ struct files_struct *fsp, ++ const char *name, ++ const void *value, ++ size_t size, ++ int flags) ++{ ++#if defined(HAVE_XATTR_EXTATTR) ++ struct freebsd_handle_data *data; ++ extattr_attr attr; ++ ssize_t res; ++ int fd; ++ ++ SMB_ASSERT(!fsp_is_alternate_stream(fsp)); ++ ++ SMB_VFS_HANDLE_GET_DATA(handle, data, ++ struct freebsd_handle_data, ++ return -1); ++ ++ if(!freebsd_map_xattr(data->extattr_mode, name, &attr)) { ++ errno = EINVAL; ++ return -1; ++ } ++ ++ /* Filter out 'secure' entries */ ++ if(data->extattr_mode != FREEBSD_EXTATTR_SECURE && geteuid() != 0 && attr.data.flags > EXTATTR_USER) { ++ errno = ENOATTR; ++ return -1; ++ } ++ ++ if (flags) { ++ /* Check attribute existence */ ++ res = extattr_size(fsp, &attr); ++ if (res < 0) { ++ /* REPLACE attribute, that doesn't exist */ ++ if ((flags & XATTR_REPLACE) && errno == ENOATTR) { ++ errno = ENOATTR; ++ return -1; ++ } ++ /* Ignore other errors */ ++ } ++ else { ++ /* CREATE attribute, that already exists */ ++ if (flags & XATTR_CREATE) { ++ errno = EEXIST; ++ return -1; ++ } ++ } ++ } ++ ++ fd = fsp_get_pathref_fd(fsp); ++ ++ if (fsp->fsp_flags.is_pathref) { ++ const char *path = fsp->fsp_name->base_name; ++ if (fsp->fsp_flags.have_proc_fds) { ++ char buf[PATH_MAX]; ++ path = sys_proc_fd_path(fd, &buf); ++ if (path == NULL) { ++ return -1; ++ } ++ } ++ /* ++ * This is no longer a handle based call. ++ */ ++ res = extattr_set_file(path, attr.namespace, attr.name, value, size); ++ } ++ else { ++ res = extattr_set_fd(fd, attr.namespace, attr.name, value, size); ++ } ++ return (res >= 0) ? 0 : -1; ++#else ++ errno = ENOSYS; ++ return -1; ++#endif ++} ++ ++ ++static int freebsd_connect(struct vfs_handle_struct *handle, ++ const char *service, ++ const char *user) ++{ ++ struct freebsd_handle_data *data; ++ int enumval, saved_errno; ++ ++ int ret = SMB_VFS_NEXT_CONNECT(handle, service, user); ++ ++ if (ret < 0) { ++ return ret; ++ } ++ ++ data = talloc_zero(handle->conn, struct freebsd_handle_data); ++ if (!data) { ++ saved_errno = errno; ++ SMB_VFS_NEXT_DISCONNECT(handle); ++ DEBUG(0, ("talloc_zero() failed\n")); ++ errno = saved_errno; ++ return -1; ++ } ++ ++ enumval = lp_parm_enum(SNUM(handle->conn), "freebsd", ++ "extattr mode", extattr_mode_param, FREEBSD_EXTATTR_LEGACY); ++ if (enumval == -1) { ++ saved_errno = errno; ++ SMB_VFS_NEXT_DISCONNECT(handle); ++ DBG_DEBUG("value for freebsd: 'extattr mode' is unknown\n"); ++ errno = saved_errno; ++ return -1; ++ } ++ ++ if(freebsd_in_jail()) { ++ enumval = FREEBSD_EXTATTR_COMPAT; ++ DBG_WARNING("running in jail, enforcing 'compat' mode\n"); ++ } ++ ++ data->extattr_mode = (enum extattr_mode)enumval; ++ ++ SMB_VFS_HANDLE_SET_DATA(handle, data, NULL, ++ struct freebsd_handle_data, ++ return -1); ++ ++ DBG_DEBUG("connect to service[%s] with '%s' extattr mode\n", ++ service, extattr_mode_param[data->extattr_mode].name); ++ ++ return 0; ++} ++ ++ ++static void freebsd_disconnect(vfs_handle_struct *handle) ++{ ++ SMB_VFS_NEXT_DISCONNECT(handle); ++} ++ ++/* VFS operations structure */ ++ ++struct vfs_fn_pointers freebsd_fns = { ++ /* Disk operations */ ++ .connect_fn = freebsd_connect, ++ .disconnect_fn = freebsd_disconnect, ++ ++ /* EA operations. */ ++ .getxattrat_send_fn = vfs_not_implemented_getxattrat_send, ++ .getxattrat_recv_fn = vfs_not_implemented_getxattrat_recv, ++ .fgetxattr_fn = freebsd_fgetxattr, ++ .flistxattr_fn = freebsd_flistxattr, ++ .fremovexattr_fn = freebsd_fremovexattr, ++ .fsetxattr_fn = freebsd_fsetxattr, ++}; ++ ++static_decl_vfs; ++NTSTATUS vfs_freebsd_init(TALLOC_CTX *ctx) ++{ ++ NTSTATUS ret; ++ ++ ret = smb_register_vfs(SMB_VFS_INTERFACE_VERSION, "freebsd", ++ &freebsd_fns); ++ ++ if (!NT_STATUS_IS_OK(ret)) { ++ return ret; ++ } ++ ++ vfs_freebsd_debug_level = debug_add_class("freebsd"); ++ if (vfs_freebsd_debug_level == -1) { ++ vfs_freebsd_debug_level = DBGC_VFS; ++ DEBUG(0, ("vfs_freebsd: Couldn't register custom debugging class!\n")); ++ } else { ++ DEBUG(10, ("vfs_freebsd: Debug class number of 'fileid': %d\n", vfs_freebsd_debug_level)); ++ } ++ ++ return ret; ++} diff --git a/net/samba423/files/patch-source3_modules_vfs__virusfilter__utils.c b/net/samba423/files/patch-source3_modules_vfs__virusfilter__utils.c new file mode 100644 index 000000000000..6e6dc6d2bae5 --- /dev/null +++ b/net/samba423/files/patch-source3_modules_vfs__virusfilter__utils.c @@ -0,0 +1,36 @@ +--- source3/modules/vfs_virusfilter_utils.c.orig 2019-01-15 10:07:00 UTC ++++ source3/modules/vfs_virusfilter_utils.c +@@ -392,6 +392,10 @@ bool virusfilter_io_writel( + + bool virusfilter_io_writefl( + struct virusfilter_io_handle *io_h, ++ const char *data_fmt, ...) PRINTF_ATTRIBUTE(2, 3); ++ ++bool virusfilter_io_writefl( ++ struct virusfilter_io_handle *io_h, + const char *data_fmt, ...) + { + va_list ap; +@@ -415,6 +419,10 @@ bool virusfilter_io_writefl( + + bool virusfilter_io_vwritefl( + struct virusfilter_io_handle *io_h, ++ const char *data_fmt, va_list ap) PRINTF_ATTRIBUTE(2, 0); ++ ++bool virusfilter_io_vwritefl( ++ struct virusfilter_io_handle *io_h, + const char *data_fmt, va_list ap) + { + char data[VIRUSFILTER_IO_BUFFER_SIZE + VIRUSFILTER_IO_EOL_SIZE]; +@@ -666,6 +674,11 @@ bool virusfilter_io_readl(TALLOC_CTX *ct + bool virusfilter_io_writefl_readl( + struct virusfilter_io_handle *io_h, + char **read_line, ++ const char *fmt, ...) PRINTF_ATTRIBUTE(3, 4); ++ ++bool virusfilter_io_writefl_readl( ++ struct virusfilter_io_handle *io_h, ++ char **read_line, + const char *fmt, ...) + { + bool ok; diff --git a/net/samba423/files/patch-source3_modules_vfs__zfsacl.c b/net/samba423/files/patch-source3_modules_vfs__zfsacl.c new file mode 100644 index 000000000000..d96450f19316 --- /dev/null +++ b/net/samba423/files/patch-source3_modules_vfs__zfsacl.c @@ -0,0 +1,182 @@ +--- source3/modules/vfs_zfsacl.c 2024-07-29 11:03:15.390630700 +0200 ++++ source3/modules/vfs_zfsacl.c 2025-01-07 15:56:32.048227000 +0100 +@@ -169,6 +169,7 @@ + bool must_add_empty_ace = false; + struct zfsacl_config_data *config = NULL; + int fd; ++ struct sys_proc_fd_path_buf buf; + + SMB_VFS_HANDLE_GET_DATA(handle, config, + struct zfsacl_config_data, +@@ -235,24 +236,52 @@ + SMB_ASSERT(i == naces); + + /* store acl */ +- fd = fsp_get_pathref_fd(fsp); +- if (fd == -1) { ++ ++ if (!fsp->fsp_flags.is_pathref) { ++ fd = fsp_get_io_fd(fsp); ++ ++ rv = facl(fd, ACE_SETACL, naces, acebuf); ++ if (rv != 0) { ++ DEBUG(8, ("zfs_process_smbacl(%s): Not PATHREF: facl(ACE_SETACL, %d): %s\n", ++ fsp_str_dbg(fsp), naces, ++ strerror(errno))); ++ return false; ++ } ++ DEBUG(10, ("zfs_process_smbacl(%s): Not PATHREF: facl(ACE_SETACL, %d) -> %d\n", ++ fsp_str_dbg(fsp), naces, ++ rv)); ++ ++ } else if (fsp->fsp_flags.have_proc_fds) { ++ fd = fsp_get_pathref_fd(fsp); ++ if (fd == -1) { ++ DEBUG(8, ("zfs_process_smbacl(%s): PATHREF(proc_fd): fsp_get_pathref_fd=-1: %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); + errno = EBADF; + return false; +- } +- rv = facl(fd, ACE_SETACL, naces, acebuf); +- if (rv != 0) { +- if(errno == ENOSYS) { +- DEBUG(9, ("acl(ACE_SETACL, %s): Operation is not " +- "supported on the filesystem where the file " +- "resides\n", fsp_str_dbg(fsp))); +- } else { +- DEBUG(9, ("acl(ACE_SETACL, %s): %s\n", fsp_str_dbg(fsp), +- strerror(errno))); +- } ++ } ++ rv = acl(sys_proc_fd_path(fd, &buf), ACE_SETACL, naces, acebuf); ++ if (rv != 0) { ++ DEBUG(8, ("zfs_process_smbacl(%s): acl(ACE_SETACL, %d): %s\n", ++ fsp_str_dbg(fsp), naces, ++ strerror(errno))); + return false; ++ } ++ DEBUG(10, ("zfs_process_smbacl(%s): PATHREF(proc_fd): acl(ACE_SETACL, %d) -> %d\n", ++ fsp_str_dbg(fsp), naces, ++ rv)); ++ } else { ++ rv = acl(fsp->fsp_name->base_name, ACE_SETACL, naces, acebuf); ++ if (rv != 0) { ++ DEBUG(8, ("zfs_process_smbacl(%s): PATHREF(base_name): acl(ACE_SETACL, %d): %s\n", ++ fsp_str_dbg(fsp), naces, ++ strerror(errno))); ++ return false; ++ } ++ DEBUG(10, ("zfs_process_smbacl(%s): PATHREF(base_name): facl(ACE_SETACL, %d) -> %d\n", ++ fsp_str_dbg(fsp), naces, ++ rv)); + } +- ++ + return True; + } + +@@ -282,25 +311,46 @@ + struct files_struct *fsp, + ace_t **outbuf) + { +- int naces, rv; ++ int naces, rv = -1, fd = -1; + ace_t *acebuf = NULL; +- int fd; ++ struct sys_proc_fd_path_buf buf; + +- fd = fsp_get_pathref_fd(fsp); +- if (fd == -1) { ++ ++ if (!fsp->fsp_flags.is_pathref) { ++ fd = fsp_get_io_fd(fsp); ++ if (fd == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): Not PATHREF: fsp_get_io_fd=-1: %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); + errno = EBADF; + return -1; +- } +- naces = facl(fd, ACE_GETACLCNT, 0, NULL); +- if (naces == -1) { +- int dbg_level = 10; +- +- if (errno == ENOSYS) { +- dbg_level = 1; +- } +- DEBUG(dbg_level, ("facl(ACE_GETACLCNT, %s): %s\n", ++ } ++ naces = facl(fd, ACE_GETACLCNT, 0, NULL); ++ if (naces == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): Not PATHREF: facl(ACE_GETACLCNT): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ return -1; ++ } ++ } else if (fsp->fsp_flags.have_proc_fds) { ++ fd = fsp_get_pathref_fd(fsp); ++ if (fd == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(proc_fd): fsp_get_pathref_fd=-1: %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ errno = EBADF; ++ return -1; ++ } ++ naces = acl(sys_proc_fd_path(fd, &buf), ACE_GETACLCNT, 0, NULL); ++ if (naces == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(proc_fd): acl(ACE_GETACLCNT): %s\n", + fsp_str_dbg(fsp), strerror(errno))); +- return naces; ++ return -1; ++ } ++ } else { ++ naces = acl(fsp->fsp_name->base_name, ACE_GETACLCNT, 0, NULL); ++ if (naces == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(base_name): acl(ACE_GETACLCNT): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ return -1; ++ } + } + + acebuf = talloc_size(mem_ctx, sizeof(ace_t)*naces); +@@ -309,15 +359,37 @@ + return -1; + } + +- rv = facl(fd, ACE_GETACL, naces, acebuf); +- if (rv == -1) { +- DBG_DEBUG("acl(ACE_GETACL, %s): %s\n", +- fsp_str_dbg(fsp), strerror(errno)); ++ if (!fsp->fsp_flags.is_pathref) { ++ rv = facl(fd, ACE_GETACL, naces, acebuf); ++ if (rv == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): Not PATHREF: facl(ACE_GETACL): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); + return -1; ++ } ++ DEBUG(10, ("fget_zfsacl(%s): Not PATHREF: facl(ACE_GETACL) -> %d entries\n", ++ fsp_str_dbg(fsp), rv)); ++ } else if (fsp->fsp_flags.have_proc_fds) { ++ rv = acl(sys_proc_fd_path(fd, &buf), ACE_GETACL, naces, acebuf); ++ if (rv == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(proc_fd): acl(ACE_GETACL): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ return -1; ++ } ++ DEBUG(10, ("fget_zfsacl(%s): PATHREF(proc_fd): acl(ACE_GETACL) -> %d entries\n", ++ fsp_str_dbg(fsp), rv)); ++ } else { ++ rv = acl(fsp->fsp_name->base_name, ACE_GETACL, naces, acebuf); ++ if (rv == -1) { ++ DEBUG(8, ("fget_zfsacl(%s): PATHREF(base_name): acl(ACE_GETACL): %s\n", ++ fsp_str_dbg(fsp), strerror(errno))); ++ return -1; ++ } ++ DEBUG(10, ("fget_zfsacl(%s): PATHREF(base_name): acl(ACE_GETACL) -> %d entries\n", ++ fsp_str_dbg(fsp), rv)); + } +- ++ + *outbuf = acebuf; +- return naces; ++ return rv; + } + + static NTSTATUS zfsacl_fget_nt_acl(struct vfs_handle_struct *handle, diff --git a/net/samba423/files/patch-source3_modules_wscript__build b/net/samba423/files/patch-source3_modules_wscript__build new file mode 100644 index 000000000000..5c008e39e5b8 --- /dev/null +++ b/net/samba423/files/patch-source3_modules_wscript__build @@ -0,0 +1,16 @@ +--- source3/modules/wscript_build.orig 2025-02-06 10:31:54 UTC ++++ source3/modules/wscript_build +@@ -641,6 +641,13 @@ bld.SAMBA3_MODULE('vfs_delay_inject', + enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_delay_inject'), + install=False) + ++bld.SAMBA3_MODULE('vfs_freebsd', ++ subsystem='vfs', ++ source='vfs_freebsd.c', ++ init_function='', ++ internal_module=bld.SAMBA3_IS_STATIC_MODULE('vfs_freebsd'), ++ enabled=bld.SAMBA3_IS_ENABLED_MODULE('vfs_freebsd')) ++ + bld.SAMBA3_MODULE('vfs_widelinks', + subsystem='vfs', + source='vfs_widelinks.c', diff --git a/net/samba423/files/patch-source3_param_loadparm.c b/net/samba423/files/patch-source3_param_loadparm.c new file mode 100644 index 000000000000..9d74f59bfd2a --- /dev/null +++ b/net/samba423/files/patch-source3_param_loadparm.c @@ -0,0 +1,32 @@ +--- source3/param/loadparm.c.orig 2025-02-06 10:31:54 UTC ++++ source3/param/loadparm.c +@@ -2890,9 +2890,29 @@ static void init_locals(void) + } else { + if (lp_parm_const_string(-1, "xattr_tdb", "file", NULL)) { + lp_do_parameter(-1, "vfs objects", "dfs_samba4 acl_xattr xattr_tdb"); ++ /* ++ * By default, the samba sysvol is located in the statedir. Provisioning will fail in setntacl ++ * unless we have zfacl enabled. Unfortunately, at this point the smb.conf has not been generated. ++ * This workaround is freebsd-specific. ++ */ ++#if defined(_PC_ACL_EXTENDED) ++ } else if (pathconf(lp_state_directory(), _PC_ACL_EXTENDED) == 1) { ++ lp_do_parameter(-1, "vfs objects", "dfs_samba4 freebsd"); ++#endif ++#if defined(_PC_ACL_NFS4) ++ } else if (pathconf(lp_state_directory(), _PC_ACL_NFS4) == 1) { ++ lp_do_parameter(-1, "vfs objects", "dfs_samba4 zfsacl"); ++#endif + } else if (lp_parm_const_string(-1, "posix", "eadb", NULL)) { + lp_do_parameter(-1, "vfs objects", "dfs_samba4 acl_xattr posix_eadb"); + } else { ++ /* ++ * This should only set dfs_samba4 and leave acl_xattr ++ * to be set later (or zfsacl). The only reason the decision ++ * can't be made here to load acl_xattr or zfsacl is ++ * that we don't have access to what the target ++ * directory is. ++ */ + lp_do_parameter(-1, "vfs objects", "dfs_samba4 acl_xattr"); + } + } diff --git a/net/samba423/files/patch-source3_registry_tests_test__regfio.c b/net/samba423/files/patch-source3_registry_tests_test__regfio.c new file mode 100644 index 000000000000..e79c77c9731e --- /dev/null +++ b/net/samba423/files/patch-source3_registry_tests_test__regfio.c @@ -0,0 +1,10 @@ +--- source3/registry/tests/test_regfio.c.orig 2019-05-07 08:38:21 UTC ++++ source3/registry/tests/test_regfio.c +@@ -24,6 +24,7 @@ + + #include <errno.h> + #include <stdlib.h> ++#include <unistd.h> + #include <sys/types.h> + #include <sys/stat.h> + #include <fcntl.h> diff --git a/net/samba423/files/patch-source3_smbd_pysmbd.c b/net/samba423/files/patch-source3_smbd_pysmbd.c new file mode 100644 index 000000000000..2f0c06720168 --- /dev/null +++ b/net/samba423/files/patch-source3_smbd_pysmbd.c @@ -0,0 +1,230 @@ +--- source3/smbd/pysmbd.c.orig 2025-02-20 12:58:50 UTC ++++ source3/smbd/pysmbd.c +@@ -507,6 +507,20 @@ static SMB_ACL_T make_simple_acl(TALLOC_CTX *mem_ctx, + return acl; + } + ++static SMB_ACL_T make_simple_nfsv4_acl(TALLOC_CTX *mem_ctx, ++ gid_t gid, ++ mode_t chmod_mode) ++{ ++ /* ++ * This function needs to create an NFSv4 ACL. Currently, the only way ++ * to do so is to use the operating system interface, or to use the ++ * functions in source3/modules/nfs4_acls.c. These seems ugly and ++ * hacky. NFSv4 ACL's should be a first class citizen and ++ * librpc/idl/smb_acl.idl should be modified accordingly. ++ */ ++ return NULL; ++} ++ + /* + set a simple ACL on a file, as a test + */ +@@ -579,7 +593,85 @@ static PyObject *py_smbd_set_simple_acl(PyObject *self + Py_RETURN_NONE; + } + ++ + /* ++ set a simple NFSv4 ACL on a file, as a test ++ */ ++static PyObject *py_smbd_set_simple_nfsv4_acl(PyObject *self, PyObject *args, PyObject *kwargs) ++{ ++ const char * const kwnames[] = { ++ "fname", ++ "mode", ++ "session_info", ++ "gid", ++ "service", ++ NULL ++ }; ++ char *fname, *service = NULL; ++ PyObject *py_session = Py_None; ++ struct auth_session_info *session_info = NULL; ++ int ret; ++ int mode, gid = -1; ++ SMB_ACL_T acl; ++ TALLOC_CTX *frame; ++ connection_struct *conn; ++ ++ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "siO|iz", ++ discard_const_p(char *, kwnames), ++ &fname, ++ &mode, ++ &py_session, ++ &gid, ++ &service)) ++ return NULL; ++ ++ if (!py_check_dcerpc_type(py_session, ++ "samba.dcerpc.auth", ++ "session_info")) { ++ return NULL; ++ } ++ session_info = pytalloc_get_type(py_session, ++ struct auth_session_info); ++ if (session_info == NULL) { ++ PyErr_Format(PyExc_TypeError, ++ "Expected auth_session_info for session_info argument got %s", ++ pytalloc_get_name(py_session)); ++ return NULL; ++ } ++ ++ frame = talloc_stackframe(); ++ ++ acl = make_simple_nfsv4_acl(frame, gid, mode); ++ if (acl == NULL) { ++ TALLOC_FREE(frame); ++ Py_RETURN_NONE; ++ } ++ ++ conn = get_conn_tos(service, session_info); ++ if (!conn) { ++ TALLOC_FREE(frame); ++ Py_RETURN_NONE; ++ } ++ ++ /* ++ * SMB_ACL_TYPE_ACCESS -> ACL_TYPE_ACCESS -> Not valid for NFSv4 ACL ++ */ ++ ret = 0; ++ ++ /* ret = set_sys_acl_conn(fname, SMB_ACL_TYPE_ACCESS, acl, conn); */ ++ ++ if (ret != 0) { ++ TALLOC_FREE(frame); ++ errno = ret; ++ return PyErr_SetFromErrno(PyExc_OSError); ++ } ++ ++ TALLOC_FREE(frame); ++ ++ Py_RETURN_NONE; ++} ++ ++/* + chown a file + */ + static PyObject *py_smbd_chown(PyObject *self, PyObject *args, PyObject *kwargs) +@@ -767,7 +859,7 @@ static PyObject *py_smbd_unlink(PyObject *self, PyObje + } + + /* +- check if we have ACL support ++ check if we have POSIX.1e ACL support + */ + static PyObject *py_smbd_have_posix_acls(PyObject *self, + PyObject *Py_UNUSED(ignored)) +@@ -779,7 +871,84 @@ static PyObject *py_smbd_have_posix_acls(PyObject *sel + #endif + } + ++static PyObject *py_smbd_has_posix_acls(PyObject *self, PyObject *args, PyObject *kwargs) ++{ ++ const char * const kwnames[] = { "path", NULL }; ++ char *path = NULL; ++ TALLOC_CTX *frame; ++ struct statfs fs; ++ int ret = false; ++ ++ frame = talloc_stackframe(); ++ ++ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|z", ++ discard_const_p(char *, kwnames), &path)) { ++ TALLOC_FREE(frame); ++ return NULL; ++ } ++ ++ if (statfs(path, &fs) != 0) { ++ TALLOC_FREE(frame); ++ return NULL; ++ } ++ ++ if (fs.f_flags & MNT_ACLS) ++ ret = true; ++ ++ TALLOC_FREE(frame); ++ return PyBool_FromLong(ret); ++} ++ + /* ++ check if we have NFSv4 ACL support ++ */ ++static PyObject *py_smbd_have_nfsv4_acls(PyObject *self) ++{ ++#ifdef HAVE_LIBSUNACL ++ return PyBool_FromLong(true); ++#else ++ return PyBool_FromLong(false); ++#endif ++} ++ ++static PyObject *py_smbd_has_nfsv4_acls(PyObject *self, PyObject *args, PyObject *kwargs) ++{ ++ const char * const kwnames[] = { "path", NULL }; ++ char *path = NULL; ++ TALLOC_CTX *frame; ++ struct statfs fs; ++ int ret = false; ++ ++ frame = talloc_stackframe(); ++ ++ if (!PyArg_ParseTupleAndKeywords(args, kwargs, "s|z", ++ discard_const_p(char *, kwnames), &path)) { ++ TALLOC_FREE(frame); ++ return NULL; ++ } ++ ++ if (statfs(path, &fs) != 0) { ++ TALLOC_FREE(frame); ++ return NULL; ++ } ++ ++ if (fs.f_flags & MNT_NFS4ACLS) ++ ret = true; ++ ++ TALLOC_FREE(frame); ++ return PyBool_FromLong(ret); ++} ++ ++ ++static PyObject *py_smbd_set_nfsv4_defaults(PyObject *self) ++{ ++ /* ++ * It is really be done in source3/param/loadparm.c ++ */ ++ Py_RETURN_NONE; ++} ++ ++/* + set the NT ACL on a file + */ + static PyObject *py_smbd_set_nt_acl(PyObject *self, PyObject *args, PyObject *kwargs) +@@ -1284,8 +1453,26 @@ static PyMethodDef py_smbd_methods[] = { + { "have_posix_acls", + (PyCFunction)py_smbd_have_posix_acls, METH_NOARGS, + NULL }, ++ { "has_posix_acls", ++ PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_has_posix_acls), ++ METH_VARARGS|METH_KEYWORDS, ++ NULL }, ++ { "have_nfsv4_acls", ++ (PyCFunction)py_smbd_have_nfsv4_acls, METH_NOARGS, ++ NULL }, ++ { "has_nfsv4_acls", ++ PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_has_nfsv4_acls), ++ METH_VARARGS|METH_KEYWORDS, ++ NULL }, ++ { "set_nfsv4_defaults", ++ (PyCFunction)py_smbd_set_nfsv4_defaults, METH_NOARGS, ++ NULL }, + { "set_simple_acl", + PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_set_simple_acl), ++ METH_VARARGS|METH_KEYWORDS, ++ NULL }, ++ { "set_simple_nfsv4_acl", ++ PY_DISCARD_FUNC_SIG(PyCFunction, py_smbd_set_simple_nfsv4_acl), + METH_VARARGS|METH_KEYWORDS, + NULL }, + { "set_nt_acl", diff --git a/net/samba423/files/patch-source3_winbindd_wscript__build b/net/samba423/files/patch-source3_winbindd_wscript__build new file mode 100644 index 000000000000..60acba0507a6 --- /dev/null +++ b/net/samba423/files/patch-source3_winbindd_wscript__build @@ -0,0 +1,11 @@ +--- source3/winbindd/wscript_build.orig 2019-01-15 10:07:00 UTC ++++ source3/winbindd/wscript_build +@@ -2,7 +2,7 @@ + + bld.SAMBA3_LIBRARY('idmap', + source='idmap.c idmap_util.c', +- deps='samba-util pdb', ++ deps='pdb samba-modules secrets3', + allow_undefined_symbols=True, + private_library=True) + diff --git a/net/samba423/files/pkg-message.in b/net/samba423/files/pkg-message.in new file mode 100644 index 000000000000..afdc959dd436 --- /dev/null +++ b/net/samba423/files/pkg-message.in @@ -0,0 +1,31 @@ +[ +{ type: install + message: <<EOM +How to start: http://wiki.samba.org/index.php/Samba4/HOWTO + +* Your configuration is: %%ETCDIR%%/%%SAMBA4_CONFIG%% + +* All the relevant databases are under: %%SAMBA4_LOCKDIR%% + +* All the logs are under: %%SAMBA4_LOGDIR%% + +%%AD_DC%%* Provisioning script is: %%PREFIX%%/bin/samba-tool +%%AD_DC%% +%%AD_DC%%For the working DNS updates you will need to either build dns/bind9* +%%AD_DC%%with the enabled GSSAPI(GSSAPI_MIT5 is recommended) or install +%%AD_DC%%dns/samba-nsupdate package, which is preconfigured with such a support. +%%AD_DC%% +%%AD_DC%%You will need to specify location of the 'nsupdate' command in the +%%AD_DC%%%%SAMBA4_CONFIG%% file: +%%AD_DC%% +%%AD_DC%% nsupdate command = %%PREFIX%%/bin/samba-nsupdate -g +%%AD_DC%% +%%AD_DC%%For additional documentation check: https://wiki.samba.org/index.php/User_Documentation + +Port related bug reports can go to the https://gitlab.com/samba-freebsd/ports/-/issues or +to the FreeBSD Bugzilla https://bugs.freebsd.org/ + +All Samba related bug reports should go to the: https://bugzilla.samba.org/ +EOM +} +] diff --git a/net/samba423/files/samba_server.in b/net/samba423/files/samba_server.in new file mode 100644 index 000000000000..12d867cb9e26 --- /dev/null +++ b/net/samba423/files/samba_server.in @@ -0,0 +1,253 @@ +#!/bin/sh + +# PROVIDE: samba_server +# REQUIRE: NETWORKING SERVERS DAEMON ldconfig resolv ntpd %%SAMBA4_SERVICES%% +# BEFORE: LOGIN +# KEYWORD: shutdown + +# Add the following lines to /etc/rc.conf.local or /etc/rc.conf +# to enable this service: +# +#samba_server_enable=YES +# +# You can disable/enable any of the Samba daemons by specifying: +#samba_enable=NO +#nmbd_enable=NO +#smbd_enable=NO +# You need to enable winbindd separately, by adding: +#winbindd_enable=YES +# Configuration file can be set with: +#samba_server_config=%%ETCDIR%%/%%SAMBA4_CONFIG%% +# +# shellcheck disable=SC2034,SC2086,SC3043 + +# shellcheck source=/dev/null +. /etc/rc.subr + +name=samba_server +rcvar=samba_server_enable +desc="Samba4 server startup script" + +# Load configuration +load_rc_config "${name}" + +# Custom commands +extra_commands="reload status configtest" + +start_precmd=samba_server_prestart +restart_precmd=samba_server_checkconfig +reload_precmd=samba_server_checkconfig +start_cmd=samba_server_cmd +stop_cmd=samba_server_cmd +status_cmd=samba_server_cmd +configtest_cmd=samba_server_checkconfig +reload_cmd=samba_server_reload_cmd +rcvar_cmd=samba_server_rcvar_cmd +stop_postcmd=samba_server_poststop +# Defaults +samba_server_config_default=%%ETCDIR%%/%%SAMBA4_CONFIG%% +smbcontrol_command=%%PREFIX%%/bin/smbcontrol + +samba_server_checkconfig() +{ + printf "Performing sanity check on Samba configuration: " + if ${testparm_command} >/dev/null 2>&1; then + echo "OK" + else + echo "FAILED" + return 1 + fi +} + +samba_server_prestart() +{ + samba_server_checkconfig + # Make sure we have our RUNDIR, even if it's on a tmpfs + if [ -d "${samba_server_piddir}" ] || [ ! -e "${samba_server_piddir}" ]; then + install -d -m 0755 "${samba_server_piddir}" + fi + # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=200186 + if [ -d "${samba_server_privatedir}" ] || [ ! -e "${samba_server_privatedir}" ]; then + install -d -m 0700 "${samba_server_privatedir}" + fi + # + if ! df -t fdescfs -T "${samba_server_piddir}/fd" >/dev/null 2>&1; then + install -d -m 0555 "${samba_server_piddir}/fd" + if can_mount fdescfs; then + mount -t fdescfs -o nodup none "${samba_server_piddir}/fd" + else + warn "${name}: cannot fdescfs mount to ${samba_server_piddir}/fd" + fi + fi +} + +samba_server_poststop() +{ + if df -t fdescfs -T "${samba_server_piddir}/fd" >/dev/null 2>&1; then + if can_mount fdescfs; then + umount "${samba_server_piddir}/fd" + fi + fi +} + +samba_server_rcvar_cmd() +{ + local name rcvar desc + rcvar=${name}_enable + # Prevent recursive calling + unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd" + # Check master variable + run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args} + # Check dependent variables + #unset desc + for name in ${samba_daemons}; do + # reset loop vars + rcvars=''; v='' + rcvar=${name}_enable + eval "desc=\${${name}_desc}" + run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args} + done +} + +samba_server_reload_cmd() +{ + local name rcvar command pidfile force_run + # Prevent recursive calling + unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd" + # Ignore rcvar and run command + if [ -n "${_rc_prefix}" ] && [ "${_rc_prefix}" = "one" ] || [ -n "${rc_force}" ] || [ -n "${rc_fast}" ]; then + force_run=yes + fi + # Apply to all daemons + for name in ${samba_daemons}; do + rcvar=${name}_enable + command="%%PREFIX%%/sbin/${name}" + pidfile="${samba_server_piddir}/${name}.pid" + # Daemon should be enabled and running + if ( [ -n "${rcvar}" ] && checkyesno "${rcvar}" ) || [ -n "$force_run" ]; then + if [ -n "$(check_pidfile "${pidfile}" "${command}")" ]; then + debug "reloading ${name} configuration" + echo "Reloading ${name}." + ${smbcontrol_command} "${name}" 'reload-config' ${command_args} >/dev/null 2>&1 + fi + fi + done +} + +samba_server_cmd() +{ + local name rcvar rcvars v command pidfile samba_daemons samba_postcmd result force_run + # Stop processes in the reverse order + if [ "${rc_arg}" = "stop" ] ; then + samba_daemons=$(reverse_list ${samba_daemons}) + fi + # Within the cmd itself we operate with the global _precmd, _cmd and _postcmd + samba_postcmd=$_postcmd + # Prevent recursive calling + unset "${rc_arg}_cmd" "${rc_arg}_precmd" "${rc_arg}_postcmd" + # Ignore rcvar and run command + if [ -n "${_rc_prefix}" ] && [ "${_rc_prefix}" = "one" ] || [ -n "${rc_force}" ] || [ -n "${rc_fast}" ]; then + force_run=yes + fi + # Assume success + result=0 + # Apply to all daemons + for name in ${samba_daemons}; do + # XXX + #rcvars=''; v='' + rcvar=${name}_enable + command="%%PREFIX%%/sbin/${name}" + pidfile="${samba_server_piddir}/${name}.pid" + # Daemon should be enabled and running + if ( [ -n "${rcvar}" ] && checkyesno "${rcvar}" ) || [ -n "$force_run" ]; then + run_rc_command "${_rc_prefix}${rc_arg}" ${rc_extra_args} + # If any of the commands failed, take it as a global result + result=$((result || $?)) + fi + done + if [ -n "${samba_postcmd}" ]; then + eval "_postcmd=${samba_postcmd}" + fi + return $result +} + +samba_server_config_init() +{ + local name + # Defaults + samba_server_enable=${samba_server_enable:=NO} + samba_server_config=${samba_server_config=${samba_server_config_default}} + samba_server_configfile_arg=${samba_server_config:+--configfile="${samba_server_config}"} #" + #testparm_command="%%PREFIX%%/bin/samba-tool testparm --suppress-prompt --verbose ${samba_server_configfile_arg}" + testparm_command="%%PREFIX%%/bin/testparm --suppress-prompt --verbose ${samba_server_config}" + # Determine what daemons are necessary to run Samba in the current role + samba_server_role=$(${testparm_command} --parameter-name='server role' 2>/dev/null) + case "${samba_server_role}" in + active\ directory\ domain\ controller) + samba_daemons="samba" + ;; + auto|*) + samba_daemons="nmbd smbd winbindd" + ;; + esac + # Load daemons configuration + for name in ${samba_daemons}; do + load_rc_config "${name}" + # If samba_server_enable is 'YES' + if [ -n "${rcvar}" ] && checkyesno "${rcvar}"; then + if [ "${name}" != "winbindd" ]; then + # Set variable to 'YES' only if it is unset + eval "${name}_enable=\${${name}_enable-YES}" + else + # Winbindd + samba_server_idmap=$(${testparm_command} --parameter-name='idmap uid' 2>/dev/null) + if [ -n "${samba_server_idmap}" ]; then + winbindd_enable="YES" + fi + fi + fi + # If variable is empty, set it to 'NO' + eval "${name}_enable=\${${name}_enable:-NO}" + done + # Fetch parameters from configuration file + samba_server_lockdir="$(${testparm_command} --parameter-name='lock directory' 2>/dev/null)" + samba_server_lockdir=${samba_server_lockdir:=%%SAMBA4_LOCKDIR%%} + samba_server_piddir="$(${testparm_command} --parameter-name='pid directory' 2>/dev/null)" + samba_server_piddir=${samba_server_piddir:=%%SAMBA4_RUNDIR%%} + samba_server_privatedir="$(${testparm_command} --parameter-name='private dir' 2>/dev/null)" + samba_server_privatedir=${samba_server_privatedir:=%%SAMBA4_PRIVATEDIR%%} +} + +can_mount() +{ + local kld + kld=$1 + if ! load_kld $kld; then + return 1 + fi + if [ $(${SYSCTL_N} security.jail.jailed) -eq 0 ]; then + return 0 + fi + if [ $(${SYSCTL_N} security.jail.mount_allowed) -eq 1 ] && + [ $(${SYSCTL_N} security.jail.mount_${kld}_allowed) -eq 1 ]; then + return 0 + fi + return 1 +} + +# Load configuration variables +samba_server_config_init +nmbd_desc="NetBIOS name server" +smbd_desc="SMB/CIFS services server" +winbindd_desc="Name Service Switch server" +# Common flags +command_args=${samba_server_configfile_arg} +samba_flags=${samba_flags="--daemon"} +nmbd_flags=${nmbd_flags="--daemon"} +smbd_flags=${smbd_flags="--daemon"} +winbindd_flags=${winbindd_flags="--daemon"} +# Requirements +required_files="${samba_server_config}" +required_dirs="${samba_server_lockdir}" + +run_rc_command "$1" diff --git a/net/samba423/pkg-descr b/net/samba423/pkg-descr new file mode 100644 index 000000000000..885f153e054e --- /dev/null +++ b/net/samba423/pkg-descr @@ -0,0 +1,6 @@ +Samba4 is an attempt to implement an Active Directory compatible Domain +Controller. + +In short, you can join a WinNT, Win2000, WinXP or Win 2003 - 2016 member +server to a Samba4 domain, and it will behave much as it does in AD, +including Kerberos domain logins where applicable. diff --git a/net/samba423/pkg-plist b/net/samba423/pkg-plist new file mode 100644 index 000000000000..2d28c967a5d5 --- /dev/null +++ b/net/samba423/pkg-plist @@ -0,0 +1,480 @@ +bin/cifsdd +bin/dbwrap_tool +bin/dumpmscat +bin/gentest +bin/locktest +bin/masktest +bin/mdsearch +bin/mvxattr +bin/ndrdump +bin/net +bin/nmblookup +bin/ntlm_auth +bin/oLschema2ldif +bin/pdbedit +bin/profiles +bin/regdiff +bin/regpatch +bin/regshell +bin/regtree +bin/rpcclient +bin/samba-log-parser +bin/samba-regedit +%%ADS%%bin/samba-tool +bin/sharesec +bin/smbcacls +bin/smbclient +bin/smbcontrol +bin/smbcquotas +bin/smbget +bin/smbpasswd +bin/smbspool +bin/smbstatus +bin/smbtar +bin/smbtree +bin/testparm +bin/vfstest +bin/wbinfo +bin/wspsearch +sbin/eventlogadm +sbin/nmbd +sbin/smbd +sbin/winbindd +include/samba4/credentials.h +include/samba4/dcerpc.h +include/samba4/gen_ndr/ndr_samr_c.h +include/samba4/ldb.h +include/samba4/ldb_errors.h +include/samba4/ldb_handlers.h +include/samba4/ldb_module.h +include/samba4/ldb_version.h +include/samba4/param.h +include/samba4/policy.h +include/samba4/util/tevent_ntstatus.h +include/samba4/util/tevent_unix.h +include/samba4/util/tevent_werror.h +include/samba4/charset.h +include/samba4/core/doserr.h +include/samba4/core/error.h +include/samba4/core/hresult.h +include/samba4/core/ntstatus_gen.h +include/samba4/core/ntstatus.h +include/samba4/core/werror_gen.h +include/samba4/core/werror.h +%%LDAP%%include/samba4/smb_ldap.h +%%LDAP%%include/samba4/smbldap.h +include/samba4/dcesrv_core.h +include/samba4/domain_credentials.h +include/samba4/gen_ndr/atsvc.h +include/samba4/gen_ndr/auth.h +include/samba4/gen_ndr/claims.h +include/samba4/gen_ndr/dcerpc.h +include/samba4/gen_ndr/drsblobs.h +include/samba4/gen_ndr/drsuapi.h +include/samba4/gen_ndr/krb5pac.h +include/samba4/gen_ndr/lsa.h +include/samba4/gen_ndr/misc.h +include/samba4/gen_ndr/nbt.h +include/samba4/gen_ndr/ndr_atsvc.h +include/samba4/gen_ndr/ndr_dcerpc.h +include/samba4/gen_ndr/ndr_drsblobs.h +include/samba4/gen_ndr/ndr_drsuapi.h +include/samba4/gen_ndr/ndr_krb5pac.h +include/samba4/gen_ndr/ndr_misc.h +include/samba4/gen_ndr/ndr_nbt.h +include/samba4/gen_ndr/ndr_samr.h +include/samba4/gen_ndr/ndr_svcctl_c.h +include/samba4/gen_ndr/ndr_svcctl.h +include/samba4/gen_ndr/netlogon.h +include/samba4/gen_ndr/samr.h +include/samba4/gen_ndr/security.h +include/samba4/gen_ndr/server_id.h +include/samba4/gen_ndr/svcctl.h +include/samba4/ldb_wrap.h +include/samba4/libsmbclient.h +include/samba4/lookup_sid.h +include/samba4/machine_sid.h +include/samba4/ndr.h +include/samba4/ndr/ndr_dcerpc.h +include/samba4/ndr/ndr_drsblobs.h +include/samba4/ndr/ndr_drsuapi.h +include/samba4/ndr/ndr_krb5pac.h +include/samba4/ndr/ndr_nbt.h +include/samba4/ndr/ndr_svcctl.h +include/samba4/netapi.h +include/samba4/passdb.h +include/samba4/rpc_common.h +include/samba4/samba/session.h +include/samba4/samba/version.h +include/samba4/share.h +include/samba4/smb2_lease_struct.h +include/samba4/smb3posix.h +include/samba4/smbconf.h +include/samba4/tdr.h +include/samba4/tsocket_internal.h +include/samba4/tsocket.h +include/samba4/util_ldb.h +include/samba4/util/attr.h +include/samba4/util/blocking.h +include/samba4/util/data_blob.h +include/samba4/util/debug.h +include/samba4/util/discard.h +include/samba4/util/fault.h +include/samba4/util/genrand.h +include/samba4/util/idtree_random.h +include/samba4/util/idtree.h +include/samba4/util/signal.h +include/samba4/util/substitute.h +include/samba4/util/tfork.h +include/samba4/util/time.h +include/samba4/wbclient.h +@dir include/samba4/util +@dir include/samba4/samba +@dir include/samba4/ndr +@dir include/samba4/gen_ndr +@dir include/samba4/core +@dir include/samba4 +%%SAMBA4_LIBDIR%%/libdcerpc-samr.so +%%SAMBA4_LIBDIR%%/libdcerpc-samr.so.0 +%%SAMBA4_LIBDIR%%/libdcerpc.so +%%SAMBA4_LIBDIR%%/libdcerpc.so.0 +%%SAMBA4_LIBDIR%%/libldb.so +%%SAMBA4_LIBDIR%%/libldb.so.2 +%%SAMBA4_LIBDIR%%/libsamba-credentials.so +%%SAMBA4_LIBDIR%%/libsamba-credentials.so.1 +%%SAMBA4_LIBDIR%%/libsamba-hostconfig.so +%%SAMBA4_LIBDIR%%/libsamba-hostconfig.so.0 +%%SAMBA4_LIBDIR%%/libsamba-policy.so +%%SAMBA4_LIBDIR%%/libsamba-policy.so.0 +%%SAMBA4_LIBDIR%%/libsamdb.so +%%SAMBA4_LIBDIR%%/libsamdb.so.0 +%%SAMBA4_LIBDIR%%/libtevent-util.so +%%SAMBA4_LIBDIR%%/libtevent-util.so.0 +%%SAMBA4_LIBDIR%%/libdcerpc-binding.so +%%SAMBA4_LIBDIR%%/libdcerpc-binding.so.0 +%%SAMBA4_LIBDIR%%/libdcerpc-server-core.so +%%SAMBA4_LIBDIR%%/libdcerpc-server-core.so.0 +%%SAMBA4_LIBDIR%%/libndr-krb5pac.so +%%SAMBA4_LIBDIR%%/libndr-krb5pac.so.0 +%%SAMBA4_LIBDIR%%/libndr-nbt.so +%%SAMBA4_LIBDIR%%/libndr-nbt.so.0 +%%SAMBA4_LIBDIR%%/libndr-standard.so +%%SAMBA4_LIBDIR%%/libndr-standard.so.0 +%%SAMBA4_LIBDIR%%/libndr.so +%%SAMBA4_LIBDIR%%/libndr.so.6 +%%SAMBA4_LIBDIR%%/libnetapi.so +%%SAMBA4_LIBDIR%%/libnetapi.so.1 +%%SAMBA4_LIBDIR%%/libsamba-errors.so +%%SAMBA4_LIBDIR%%/libsamba-errors.so.1 +%%SAMBA4_LIBDIR%%/libsamba-passdb.so +%%SAMBA4_LIBDIR%%/libsamba-passdb.so.0 +%%SAMBA4_LIBDIR%%/libsamba-util.so +%%SAMBA4_LIBDIR%%/libsamba-util.so.0 +%%SAMBA4_LIBDIR%%/libsmbclient.so +%%SAMBA4_LIBDIR%%/libsmbclient.so.0 +%%SAMBA4_LIBDIR%%/libsmbconf.so +%%SAMBA4_LIBDIR%%/libsmbconf.so.0 +%%LDAP%%%%SAMBA4_LIBDIR%%/libsmbldap.so +%%LDAP%%%%SAMBA4_LIBDIR%%/libsmbldap.so.2 +%%SAMBA4_LIBDIR%%/libwbclient.so +%%SAMBA4_LIBDIR%%/libwbclient.so.0 +lib/nss_winbind.so.1 +lib/nss_wins.so.1 +lib/pam_winbind.so +%%CUPS%%libexec/samba/smbspool_krb5_wrapper +libexec/samba/rpcd_classic +libexec/samba/rpcd_epmapper +libexec/samba/rpcd_fsrvp +libexec/samba/rpcd_lsad +libexec/samba/rpcd_mdssvc +libexec/samba/rpcd_spoolss +libexec/samba/rpcd_winreg +libexec/samba/samba-bgqd +libexec/samba/samba-dcerpcd +%%LDAP%%%%SAMBA4_LIBDIR%%/private/libsmbldaphelper-private-samba.so +%%SAMBA4_LIBDIR%%/private/libaddns-private-samba.so +%%SAMBA4_LIBDIR%%/private/libads-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libasn1-private-samba.so +%%SAMBA4_LIBDIR%%/private/libasn1util-private-samba.so +%%SAMBA4_LIBDIR%%/private/libauth-private-samba.so +%%SAMBA4_LIBDIR%%/private/libauth-unix-token-private-samba.so +%%SAMBA4_LIBDIR%%/private/libauth4-private-samba.so +%%SAMBA4_LIBDIR%%/private/libauthkrb5-private-samba.so +%%SAMBA4_LIBDIR%%/private/libCHARSET3-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcli-cldap-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcli-ldap-common-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcli-ldap-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcli-nbt-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcli-smb-common-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcli-spoolss-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcliauth-private-samba.so +%%SAMBA4_LIBDIR%%/private/libclidns-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcluster-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcmdline-contexts-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcmdline-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libcom-err-private-samba.so +%%SAMBA4_LIBDIR%%/private/libcommon-auth-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdbwrap-private-samba.so +%%SAMBA4_LIBDIR%%/private/libutil-crypt-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdcerpc-pkt-auth-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdcerpc-samba-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdcerpc-samba4-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdnsserver-common-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdsdb-module-private-samba.so +%%SAMBA4_LIBDIR%%/private/libevents-private-samba.so +%%SAMBA4_LIBDIR%%/private/libflag-mapping-private-samba.so +%%SAMBA4_LIBDIR%%/private/libgenrand-private-samba.so +%%SAMBA4_LIBDIR%%/private/libgensec-private-samba.so +%%SAMBA4_LIBDIR%%/private/libgpext-private-samba.so +%%SAMBA4_LIBDIR%%/private/libgpo-private-samba.so +%%SAMBA4_LIBDIR%%/private/libgse-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libgss-preauth-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libgssapi-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libhcrypto-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libhdb-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libheimbase-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libheimntlm-private-samba.so +%%SAMBA4_LIBDIR%%/private/libhttp-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libhx509-private-samba.so +%%SAMBA4_LIBDIR%%/private/libidmap-private-samba.so +%%SAMBA4_LIBDIR%%/private/libinterfaces-private-samba.so +%%SAMBA4_LIBDIR%%/private/libiov-buf-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libkdc-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libkrb5-private-samba.so +%%SAMBA4_LIBDIR%%/private/libkrb5samba-private-samba.so +%%SAMBA4_LIBDIR%%/private/libldbsamba-private-samba.so +%%SAMBA4_LIBDIR%%/private/liblibcli-lsa3-private-samba.so +%%SAMBA4_LIBDIR%%/private/liblibcli-netlogon3-private-samba.so +%%SAMBA4_LIBDIR%%/private/liblibsmb-private-samba.so +%%SAMBA4_LIBDIR%%/private/libLIBWBCLIENT-OLD-private-samba.so +%%SAMBA4_LIBDIR%%/private/libmessages-dgm-private-samba.so +%%SAMBA4_LIBDIR%%/private/libmessages-util-private-samba.so +%%SAMBA4_LIBDIR%%/private/libMESSAGING-private-samba.so +%%SAMBA4_LIBDIR%%/private/libMESSAGING-SEND-private-samba.so +%%SAMBA4_LIBDIR%%/private/libmscat-private-samba.so +%%SAMBA4_LIBDIR%%/private/libmsghdr-private-samba.so +%%SAMBA4_LIBDIR%%/private/libmsrpc3-private-samba.so +%%SAMBA4_LIBDIR%%/private/libndr-samba-private-samba.so +%%SAMBA4_LIBDIR%%/private/libndr-samba4-private-samba.so +%%SAMBA4_LIBDIR%%/private/libnet-keytab-private-samba.so +%%SAMBA4_LIBDIR%%/private/libnetif-private-samba.so +%%SAMBA4_LIBDIR%%/private/libnpa-tstream-private-samba.so +%%SAMBA4_LIBDIR%%/private/libnss-info-private-samba.so +%%SAMBA4_LIBDIR%%/private/libposix-eadb-private-samba.so +%%SAMBA4_LIBDIR%%/private/libprinter-driver-private-samba.so +%%SAMBA4_LIBDIR%%/private/libprinting-migrate-private-samba.so +%%SAMBA4_LIBDIR%%/private/libREG-FULL-private-samba.so +%%SAMBA4_LIBDIR%%/private/libregistry-private-samba.so +%%SAMBA4_LIBDIR%%/private/libreplace-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libroken-private-samba.so +%%SAMBA4_LIBDIR%%/private/libRPC-SERVER-LOOP-private-samba.so +%%SAMBA4_LIBDIR%%/private/libRPC-WORKER-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamdb-common-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsecrets3-private-samba.so +%%SAMBA4_LIBDIR%%/private/libserver-id-db-private-samba.so +%%SAMBA4_LIBDIR%%/private/libserver-role-private-samba.so +%%SAMBA4_LIBDIR%%/private/libshares-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsmbclient-raw-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsmbd-base-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsmbd-shim-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsmbpasswdparser-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsocket-blocking-private-samba.so +%%SAMBA4_LIBDIR%%/private/libstable-sort-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsys-rw-private-samba.so +%%SAMBA4_LIBDIR%%/private/libtalloc-report-printf-private-samba.so +%%SAMBA4_LIBDIR%%/private/libtalloc-report-private-samba.so +%%SAMBA4_LIBDIR%%/private/libtdb-wrap-private-samba.so +%%SAMBA4_LIBDIR%%/private/libtime-basic-private-samba.so +%%SAMBA4_LIBDIR%%/private/libtorture-private-samba.so +%%SAMBA4_LIBDIR%%/private/libutil-reg-private-samba.so +%%SAMBA4_LIBDIR%%/private/libutil-setid-private-samba.so +%%SAMBA4_LIBDIR%%/private/libutil-tdb-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libwind-private-samba.so +%%SAMBA4_LIBDIR%%/private/libxattr-tdb-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-cluster-support-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-debug-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-modules-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-net-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-security-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-security-trusts-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba-sockets-private-samba.so +%%SAMBA4_LIBDIR%%/private/libsamba3-util-private-samba.so +@dir %%SAMBA4_LIBDIR%%/private +@dir %%SAMBA4_LIBDIR%% +%%PKGCONFIGDIR%%/ndr.pc +%%PKGCONFIGDIR%%/ndr_krb5pac.pc +%%PKGCONFIGDIR%%/ndr_nbt.pc +%%PKGCONFIGDIR%%/ndr_standard.pc +%%PKGCONFIGDIR%%/netapi.pc +%%PKGCONFIGDIR%%/samba-util.pc +%%PKGCONFIGDIR%%/smbclient.pc +%%PKGCONFIGDIR%%/wbclient.pc +%%PKGCONFIGDIR%%/dcerpc.pc +%%PKGCONFIGDIR%%/dcerpc_samr.pc +%%PKGCONFIGDIR%%/ldb.pc +%%PKGCONFIGDIR%%/samba-credentials.pc +%%PKGCONFIGDIR%%/samba-hostconfig.pc +%%PKGCONFIGDIR%%/samba-policy.pc +%%PKGCONFIGDIR%%/samdb.pc +@comment Setup files +@comment Man pages +%%MANPAGES%%share/man/man1/dbwrap_tool.1.gz +%%MANPAGES%%share/man/man1/gentest.1.gz +%%MANPAGES%%share/man/man1/locktest.1.gz +%%MANPAGES%%share/man/man1/log2pcap.1.gz +%%MANPAGES%%share/man/man1/masktest.1.gz +%%MANPAGES%%share/man/man1/mdsearch.1.gz +%%MANPAGES%%share/man/man1/mvxattr.1.gz +%%MANPAGES%%share/man/man1/ndrdump.1.gz +%%MANPAGES%%share/man/man1/nmblookup.1.gz +%%MANPAGES%%share/man/man1/ntlm_auth.1.gz +%%MANPAGES%%share/man/man1/oLschema2ldif.1.gz +%%MANPAGES%%share/man/man1/profiles.1.gz +%%MANPAGES%%share/man/man1/regdiff.1.gz +%%MANPAGES%%share/man/man1/regpatch.1.gz +%%MANPAGES%%share/man/man1/regshell.1.gz +%%MANPAGES%%share/man/man1/regtree.1.gz +%%MANPAGES%%share/man/man1/rpcclient.1.gz +%%MANPAGES%%share/man/man1/samba-log-parser.1.gz +%%MANPAGES%%share/man/man1/sharesec.1.gz +%%MANPAGES%%share/man/man1/smbcacls.1.gz +%%MANPAGES%%share/man/man1/smbclient.1.gz +%%MANPAGES%%share/man/man1/smbcontrol.1.gz +%%MANPAGES%%share/man/man1/smbcquotas.1.gz +%%MANPAGES%%share/man/man1/smbget.1.gz +%%MANPAGES%%share/man/man1/smbstatus.1.gz +%%MANPAGES%%share/man/man1/smbtar.1.gz +%%MANPAGES%%share/man/man1/smbtree.1.gz +%%MANPAGES%%share/man/man1/testparm.1.gz +%%MANPAGES%%share/man/man1/wbinfo.1.gz +%%MANPAGES%%share/man/man1/wspsearch.1.gz +%%MANPAGES%%share/man/man5/lmhosts.5.gz +%%MANPAGES%%share/man/man5/pam_winbind.conf.5.gz +%%MANPAGES%%share/man/man5/smb.conf.5.gz +%%MANPAGES%%share/man/man5/smb4.conf.5.gz +%%MANPAGES%%share/man/man5/smbpasswd.5.gz +%%MANPAGES%%share/man/man7/libsmbclient.7.gz +%%MANPAGES%%share/man/man7/samba.7.gz +%%MANPAGES%%share/man/man7/traffic_learner.7.gz +%%MANPAGES%%share/man/man7/traffic_replay.7.gz +%%MANPAGES%%share/man/man8/cifsdd.8.gz +%%MANPAGES%%share/man/man8/eventlogadm.8.gz +%%MANPAGES%%share/man/man8/idmap_ad.8.gz +%%MANPAGES%%share/man/man8/idmap_autorid.8.gz +%%MANPAGES%%share/man/man8/idmap_hash.8.gz +%%MANPAGES%%share/man/man8/idmap_ldap.8.gz +%%MANPAGES%%share/man/man8/idmap_nss.8.gz +%%MANPAGES%%share/man/man8/idmap_rfc2307.8.gz +%%MANPAGES%%share/man/man8/idmap_rid.8.gz +%%MANPAGES%%share/man/man8/idmap_script.8.gz +%%MANPAGES%%share/man/man8/idmap_tdb.8.gz +%%MANPAGES%%share/man/man8/idmap_tdb2.8.gz +%%MANPAGES%%share/man/man8/net.8.gz +%%MANPAGES%%share/man/man8/nmbd.8.gz +%%MANPAGES%%share/man/man8/pam_winbind.8.gz +%%MANPAGES%%share/man/man8/pdbedit.8.gz +%%MANPAGES%%share/man/man8/samba-bgqd.8.gz +%%MANPAGES%%share/man/man8/samba-dcerpcd.8.gz +%%MANPAGES%%share/man/man8/samba-regedit.8.gz +%%MANPAGES%%share/man/man8/samba-tool.8.gz +%%MANPAGES%%share/man/man8/samba.8.gz +%%MANPAGES%%share/man/man8/samba_downgrade_db.8.gz +%%MANPAGES%%share/man/man8/smbd.8.gz +%%MANPAGES%%share/man/man8/smbpasswd.8.gz +%%MANPAGES%%share/man/man8/smbspool.8.gz +%%MANPAGES%%%%CUPS%%share/man/man8/smbspool_krb5_wrapper.8.gz +%%MANPAGES%%share/man/man8/vfs_acl_tdb.8.gz +%%MANPAGES%%share/man/man8/vfs_acl_xattr.8.gz +%%MANPAGES%%share/man/man8/vfs_aio_fork.8.gz +%%MANPAGES%%share/man/man8/vfs_aio_pthread.8.gz +%%MANPAGES%%share/man/man8/vfs_audit.8.gz +%%MANPAGES%%share/man/man8/vfs_cacheprime.8.gz +%%MANPAGES%%share/man/man8/vfs_cap.8.gz +%%MANPAGES%%share/man/man8/vfs_catia.8.gz +%%MANPAGES%%share/man/man8/vfs_commit.8.gz +%%MANPAGES%%share/man/man8/vfs_crossrename.8.gz +%%MANPAGES%%share/man/man8/vfs_default_quota.8.gz +%%MANPAGES%%share/man/man8/vfs_dirsort.8.gz +%%MANPAGES%%share/man/man8/vfs_expand_msdfs.8.gz +%%MANPAGES%%share/man/man8/vfs_extd_audit.8.gz +%%MANPAGES%%share/man/man8/vfs_fake_perms.8.gz +%%MANPAGES%%share/man/man8/vfs_freebsd.8.gz +%%MANPAGES%%share/man/man8/vfs_full_audit.8.gz +%%MANPAGES%%share/man/man8/vfs_linux_xfs_sgid.8.gz +%%MANPAGES%%share/man/man8/vfs_media_harmony.8.gz +%%MANPAGES%%share/man/man8/vfs_offline.8.gz +%%MANPAGES%%share/man/man8/vfs_preopen.8.gz +%%MANPAGES%%share/man/man8/vfs_readahead.8.gz +%%MANPAGES%%share/man/man8/vfs_readonly.8.gz +%%MANPAGES%%share/man/man8/vfs_recycle.8.gz +%%MANPAGES%%share/man/man8/vfs_shadow_copy.8.gz +%%MANPAGES%%share/man/man8/vfs_shadow_copy2.8.gz +%%MANPAGES%%share/man/man8/vfs_shell_snap.8.gz +%%MANPAGES%%share/man/man8/vfs_streams_depot.8.gz +%%MANPAGES%%share/man/man8/vfs_streams_xattr.8.gz +%%MANPAGES%%share/man/man8/vfs_syncops.8.gz +%%MANPAGES%%share/man/man8/vfs_time_audit.8.gz +%%MANPAGES%%share/man/man8/vfs_unityed_media.8.gz +%%MANPAGES%%share/man/man8/vfs_virusfilter.8.gz +%%MANPAGES%%share/man/man8/vfs_widelinks.8.gz +%%MANPAGES%%share/man/man8/vfs_worm.8.gz +%%MANPAGES%%share/man/man8/vfs_xattr_tdb.8.gz +%%MANPAGES%%share/man/man8/vfs_zfsacl.8.gz +%%MANPAGES%%share/man/man8/winbind_krb5_locator.8.gz +%%MANPAGES%%share/man/man8/winbindd.8.gz +@dir %%SAMBA4_RUNDIR%% +@dir %%SAMBA4_LOGDIR%% +@dir %%SAMBA4_LOCKDIR%% +@dir %%SAMBA4_PRIVATEDIR%% +@dir %%SAMBA4_BINDDNSDIR%% +@comment Use bundled libraries +%%BUNDLED_CMOCKA%%%%SAMBA4_LIBDIR%%/private/libcmocka-private-samba.so +%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_ldb_text.py +%%PYTHON3%%%%PYTHON_SITELIBDIR%%/ldb%%PYTHON_TAG%%.so +%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpyldb-util%%PYTHON_TAG%%-private-samba.so +bin/ldbadd +bin/ldbdel +bin/ldbedit +bin/ldbmodify +bin/ldbrename +bin/ldbsearch +%%SAMBA4_LIBDIR%%/private/libldb-cmdline-private-samba.so +%%SAMBA4_LIBDIR%%/private/libldb-key-value-private-samba.so +%%SAMBA4_LIBDIR%%/private/libldb-tdb-err-map-private-samba.so +%%SAMBA4_LIBDIR%%/private/libldb-tdb-int-private-samba.so +%%LDAP%%%%SAMBA_LDB_MODULESDIR%%/ldap.so +%%SAMBA_LDB_MODULESDIR%%/asq.so +%%SAMBA_LDB_MODULESDIR%%/ildap.so +%%SAMBA_LDB_MODULESDIR%%/ldb.so +%%SAMBA_LDB_MODULESDIR%%/ldbsamba_extensions.so +%%SAMBA_LDB_MODULESDIR%%/paged_searches.so +%%SAMBA_LDB_MODULESDIR%%/rdn_name.so +%%SAMBA_LDB_MODULESDIR%%/sample.so +%%SAMBA_LDB_MODULESDIR%%/server_sort.so +%%SAMBA_LDB_MODULESDIR%%/skel.so +%%SAMBA_LDB_MODULESDIR%%/tdb.so +%%MANPAGES%%share/man/man3/ldb.3.gz +%%MANPAGES%%share/man/man1/ldbadd.1.gz +%%MANPAGES%%share/man/man1/ldbdel.1.gz +%%MANPAGES%%share/man/man1/ldbedit.1.gz +%%MANPAGES%%share/man/man1/ldbmodify.1.gz +%%MANPAGES%%share/man/man1/ldbrename.1.gz +%%MANPAGES%%share/man/man1/ldbsearch.1.gz +%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbbackup.8.gz +%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbdump.8.gz +%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbrestore.8.gz +%%MANPAGES%%%%BUNDLED_TDB%%share/man/man8/samba-tdbtool.8.gz +%%BUNDLED_TALLOC%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/talloc%%PYTHON_TAG%%.so +%%BUNDLED_TALLOC%%%%PYTHON3%%%%SAMBA4_LIBDIR%%/private/libpytalloc-util%%PYTHON_TAG%%-private-samba.so +%%BUNDLED_TALLOC%%%%SAMBA4_LIBDIR%%/private/libtalloc-private-samba.so +%%BUNDLED_TALLOC%%share/man/man3/samba-talloc.3.gz +%%BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tdb_text.py +%%BUNDLED_TDB%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tdb%%PYTHON_TAG%%.so +%%BUNDLED_TDB%%bin/tdbbackup +%%BUNDLED_TDB%%bin/tdbdump +%%BUNDLED_TDB%%bin/tdbrestore +%%BUNDLED_TDB%%bin/tdbtool +%%BUNDLED_TDB%%%%SAMBA4_LIBDIR%%/private/libtdb-private-samba.so +%%BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/_tevent%%PYTHON_TAG%%.so +%%BUNDLED_TEVENT%%%%PYTHON3%%%%PYTHON_SITELIBDIR%%/tevent.py +%%BUNDLED_TEVENT%%%%SAMBA4_LIBDIR%%/private/libtevent-private-samba.so diff --git a/net/samba423/pkg-plist.ad_dc b/net/samba423/pkg-plist.ad_dc new file mode 100644 index 000000000000..5ac044105f7b --- /dev/null +++ b/net/samba423/pkg-plist.ad_dc @@ -0,0 +1,183 @@ +sbin/samba_downgrade_db +sbin/samba +sbin/samba_dnsupdate +sbin/samba_kcc +sbin/samba_spnupdate +sbin/samba_upgradedns +include/samba4/dcerpc_server.h +%%SAMBA4_LIBDIR%%/libdcerpc-server.so +%%SAMBA4_LIBDIR%%/libdcerpc-server.so.0 +%%SAMBA4_LIBDIR%%/private/libad-claims-private-samba.so +%%SAMBA4_LIBDIR%%/private/libauthn-policy-util-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdlz-bind9-for-torture-private-samba.so +%%SAMBA4_LIBDIR%%/private/libprocess-model-private-samba.so +%%SAMBA4_LIBDIR%%/private/libservice-private-samba.so +%%GSSAPI_BUILTIN%%%%SAMBA4_LIBDIR%%/private/libHDB-SAMBA4-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdb-glue-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdfs-server-ad-private-samba.so +%%SAMBA4_LIBDIR%%/private/libdsdb-garbage-collect-tombstones-private-samba.so +%%SAMBA4_LIBDIR%%/private/libpac-private-samba.so +%%SAMBA4_LIBDIR%%/private/libscavenge-dns-records-private-samba.so +%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_10.so +%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_11.so +%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_12.so +%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_14.so +%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_16.so +%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_18.so +%%SAMBA4_MODULEDIR%%/bind9/dlz_bind9_20.so +%%SAMBA4_MODULEDIR%%/gensec/krb5.so +%%SAMBA_LDB_MODULESDIR%%/acl.so +%%SAMBA_LDB_MODULESDIR%%/aclread.so +%%SAMBA_LDB_MODULESDIR%%/anr.so +%%SAMBA_LDB_MODULESDIR%%/audit_log.so +%%SAMBA_LDB_MODULESDIR%%/count_attrs.so +%%SAMBA_LDB_MODULESDIR%%/descriptor.so +%%SAMBA_LDB_MODULESDIR%%/dirsync.so +%%SAMBA_LDB_MODULESDIR%%/dns_notify.so +%%SAMBA_LDB_MODULESDIR%%/dsdb_notification.so +%%SAMBA_LDB_MODULESDIR%%/encrypted_secrets.so +%%SAMBA_LDB_MODULESDIR%%/extended_dn_in.so +%%SAMBA_LDB_MODULESDIR%%/extended_dn_out.so +%%SAMBA_LDB_MODULESDIR%%/extended_dn_store.so +%%SAMBA_LDB_MODULESDIR%%/group_audit_log.so +%%SAMBA_LDB_MODULESDIR%%/instancetype.so +%%SAMBA_LDB_MODULESDIR%%/lazy_commit.so +%%SAMBA_LDB_MODULESDIR%%/linked_attributes.so +%%SAMBA_LDB_MODULESDIR%%/new_partition.so +%%SAMBA_LDB_MODULESDIR%%/objectclass.so +%%SAMBA_LDB_MODULESDIR%%/objectclass_attrs.so +%%SAMBA_LDB_MODULESDIR%%/objectguid.so +%%SAMBA_LDB_MODULESDIR%%/operational.so +%%SAMBA_LDB_MODULESDIR%%/paged_results.so +%%SAMBA_LDB_MODULESDIR%%/partition.so +%%SAMBA_LDB_MODULESDIR%%/password_hash.so +%%SAMBA_LDB_MODULESDIR%%/ranged_results.so +%%SAMBA_LDB_MODULESDIR%%/repl_meta_data.so +%%SAMBA_LDB_MODULESDIR%%/resolve_oids.so +%%SAMBA_LDB_MODULESDIR%%/rootdse.so +%%SAMBA_LDB_MODULESDIR%%/samba3sam.so +%%SAMBA_LDB_MODULESDIR%%/samba3sid.so +%%SAMBA_LDB_MODULESDIR%%/samba_dsdb.so +%%SAMBA_LDB_MODULESDIR%%/samba_secrets.so +%%SAMBA_LDB_MODULESDIR%%/samldb.so +%%SAMBA_LDB_MODULESDIR%%/schema_data.so +%%SAMBA_LDB_MODULESDIR%%/schema_load.so +%%SAMBA_LDB_MODULESDIR%%/secrets_tdb_sync.so +%%SAMBA_LDB_MODULESDIR%%/show_deleted.so +%%SAMBA_LDB_MODULESDIR%%/subtree_delete.so +%%SAMBA_LDB_MODULESDIR%%/subtree_rename.so +%%SAMBA_LDB_MODULESDIR%%/tombstone_reanimate.so +%%SAMBA_LDB_MODULESDIR%%/trust_notify.so +%%SAMBA_LDB_MODULESDIR%%/unique_object_sids.so +%%SAMBA_LDB_MODULESDIR%%/update_keytab.so +%%SAMBA_LDB_MODULESDIR%%/vlv.so +%%SAMBA_LDB_MODULESDIR%%/wins_ldb.so +%%SAMBA4_MODULEDIR%%/process_model/prefork.so +%%SAMBA4_MODULEDIR%%/process_model/standard.so +%%SAMBA4_MODULEDIR%%/service/cldap.so +%%SAMBA4_MODULEDIR%%/service/dcerpc.so +%%SAMBA4_MODULEDIR%%/service/dns.so +%%SAMBA4_MODULEDIR%%/service/dns_update.so +%%SAMBA4_MODULEDIR%%/service/drepl.so +%%SAMBA4_MODULEDIR%%/service/ft_scanner.so +%%SAMBA4_MODULEDIR%%/service/kcc.so +%%SAMBA4_MODULEDIR%%/service/kdc.so +%%SAMBA4_MODULEDIR%%/service/ldap.so +%%SAMBA4_MODULEDIR%%/service/nbtd.so +%%SAMBA4_MODULEDIR%%/service/ntp_signd.so +%%SAMBA4_MODULEDIR%%/service/s3fs.so +%%SAMBA4_MODULEDIR%%/service/winbindd.so +%%SAMBA4_MODULEDIR%%/service/wrepl.so +%%SAMBA4_MODULEDIR%%/vfs/posix_eadb.so +%%DATADIR%%/samba/admx/GNOME_Settings.admx +%%DATADIR%%/samba/admx/en-US/GNOME_Settings.adml +%%DATADIR%%/samba/admx/en-US/samba.adml +%%DATADIR%%/samba/admx/ru-RU/GNOME_Settings.adml +%%DATADIR%%/samba/admx/samba.admx +%%DATADIR%%/setup/ad-schema/AD_DS_Attributes_Windows_Server_v1903.ldf +%%DATADIR%%/setup/ad-schema/AD_DS_Attributes__Windows_Server_2012_R2.ldf +%%DATADIR%%/setup/ad-schema/AD_DS_Attributes__Windows_Server_2016.ldf +%%DATADIR%%/setup/ad-schema/AD_DS_Attributes__Windows_Server_v1803.ldf +%%DATADIR%%/setup/ad-schema/AD_DS_Classes_Windows_Server_v1903.ldf +%%DATADIR%%/setup/ad-schema/AD_DS_Classes__Windows_Server_2012_R2.ldf +%%DATADIR%%/setup/ad-schema/AD_DS_Classes__Windows_Server_2016.ldf +%%DATADIR%%/setup/ad-schema/AD_DS_Classes__Windows_Server_v1803.ldf +%%DATADIR%%/setup/ad-schema/Attributes_for_AD_DS__Windows_Server_2008_R2.ldf +%%DATADIR%%/setup/ad-schema/Attributes_for_AD_DS__Windows_Server_2012.ldf +%%DATADIR%%/setup/ad-schema/Classes_for_AD_DS__Windows_Server_2008_R2.ldf +%%DATADIR%%/setup/ad-schema/Classes_for_AD_DS__Windows_Server_2012.ldf +%%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_Attributes.txt +%%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_Classes.txt +%%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_R2_Attributes.txt +%%DATADIR%%/setup/ad-schema/MS-AD_Schema_2K8_R2_Classes.txt +%%DATADIR%%/setup/ad-schema/licence.txt +%%DATADIR%%/setup/adprep/WindowsServerDocs/Forest-Wide-Updates.md +%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch49.ldf.diff +%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch50.ldf.diff +%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch51.ldf.diff +%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch57.ldf.diff +%%DATADIR%%/setup/adprep/WindowsServerDocs/Sch59.ldf.diff +%%DATADIR%%/setup/adprep/WindowsServerDocs/Schema-Updates.md +%%DATADIR%%/setup/adprep/fix-forest-rev.ldf +%%DATADIR%%/setup/aggregate_schema.ldif +%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k0.txt +%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k3.txt +%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k3R2.txt +%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k8.txt +%%DATADIR%%/setup/display-specifiers/DisplaySpecifiers-Win2k8R2.txt +%%DATADIR%%/setup/dns_update_list +%%DATADIR%%/setup/extended-rights.ldif +%%DATADIR%%/setup/idmap_init.ldif +%%DATADIR%%/setup/krb5.conf +%%DATADIR%%/setup/named.conf +%%DATADIR%%/setup/named.conf.dlz +%%DATADIR%%/setup/named.conf.update +%%DATADIR%%/setup/named.txt +%%DATADIR%%/setup/prefixMap.txt +%%DATADIR%%/setup/provision.ldif +%%DATADIR%%/setup/provision.reg +%%DATADIR%%/setup/provision.zone +%%DATADIR%%/setup/provision_basedn.ldif +%%DATADIR%%/setup/provision_basedn_modify.ldif +%%DATADIR%%/setup/provision_basedn_options.ldif +%%DATADIR%%/setup/provision_basedn_references.ldif +%%DATADIR%%/setup/provision_computers_add.ldif +%%DATADIR%%/setup/provision_computers_modify.ldif +%%DATADIR%%/setup/provision_configuration.ldif +%%DATADIR%%/setup/provision_configuration_basedn.ldif +%%DATADIR%%/setup/provision_configuration_modify.ldif +%%DATADIR%%/setup/provision_configuration_references.ldif +%%DATADIR%%/setup/provision_dns_accounts_add.ldif +%%DATADIR%%/setup/provision_dns_add_samba.ldif +%%DATADIR%%/setup/provision_dnszones_add.ldif +%%DATADIR%%/setup/provision_dnszones_modify.ldif +%%DATADIR%%/setup/provision_dnszones_partitions.ldif +%%DATADIR%%/setup/provision_group_policy.ldif +%%DATADIR%%/setup/provision_init.ldif +%%DATADIR%%/setup/provision_partitions.ldif +%%DATADIR%%/setup/provision_privilege.ldif +%%DATADIR%%/setup/provision_rootdse_add.ldif +%%DATADIR%%/setup/provision_rootdse_modify.ldif +%%DATADIR%%/setup/provision_schema_basedn.ldif +%%DATADIR%%/setup/provision_schema_basedn_modify.ldif +%%DATADIR%%/setup/provision_self_join.ldif +%%DATADIR%%/setup/provision_self_join_config.ldif +%%DATADIR%%/setup/provision_self_join_modify.ldif +%%DATADIR%%/setup/provision_self_join_modify_config.ldif +%%DATADIR%%/setup/provision_self_join_modify_schema.ldif +%%DATADIR%%/setup/provision_users.ldif +%%DATADIR%%/setup/provision_users_add.ldif +%%DATADIR%%/setup/provision_users_modify.ldif +%%DATADIR%%/setup/provision_well_known_sec_princ.ldif +%%DATADIR%%/setup/schema_samba4.ldif +%%DATADIR%%/setup/secrets.ldif +%%DATADIR%%/setup/secrets_dns.ldif +%%DATADIR%%/setup/secrets_init.ldif +%%DATADIR%%/setup/share.ldif +%%DATADIR%%/setup/spn_update_list +%%DATADIR%%/setup/ypServ30.ldif +%%PKGCONFIGDIR%%/dcerpc_server.pc +@dir %%DATADIR%%/setup/display-specifiers +@dir %%DATADIR%%/setup/ad-schema +@dir %%DATADIR%%/setup +@dir %%DATADIR%% diff --git a/net/samba423/pkg-plist.cluster b/net/samba423/pkg-plist.cluster new file mode 100644 index 000000000000..90bafe54170d --- /dev/null +++ b/net/samba423/pkg-plist.cluster @@ -0,0 +1,83 @@ +@comment Cluster +bin/ctdb +bin/ctdb_diagnostics +bin/ltdbtool +bin/onnode +bin/ping_pong +etc/ctdb/ctdb-backup-persistent-tdbs.sh +etc/ctdb/ctdb-crash-cleanup.sh +etc/ctdb/debug-hung-script.sh +etc/ctdb/debug_locks.sh +etc/ctdb/events/legacy/00.ctdb.script +etc/ctdb/events/legacy/01.reclock.script +etc/ctdb/events/legacy/05.system.script +etc/ctdb/events/legacy/10.interface.script +etc/ctdb/events/legacy/95.database.script +etc/ctdb/events/notification/README +etc/ctdb/functions +etc/ctdb/nfs-checks.d/00.portmapper.check +etc/ctdb/nfs-checks.d/10.status.check +etc/ctdb/nfs-checks.d/20.nfs.check +etc/ctdb/nfs-checks.d/30.nlockmgr.check +etc/ctdb/nfs-checks.d/40.mountd.check +etc/ctdb/nfs-checks.d/50.rquotad.check +etc/ctdb/nfs-checks.d/README +etc/ctdb/nfs-linux-kernel-callout +etc/ctdb/notify.sh +etc/ctdb/statd-callout +lib/samba4/private/libctdb-event-client-private-samba.so +libexec/ctdb/ctdb-config +libexec/ctdb/ctdb-event +libexec/ctdb/ctdb-eventd +libexec/ctdb/ctdb-path +libexec/ctdb/ctdb_killtcp +libexec/ctdb/ctdb_lock_helper +libexec/ctdb/ctdb_lvs +libexec/ctdb/ctdb_mutex_fcntl_helper +libexec/ctdb/ctdb_natgw +libexec/ctdb/ctdb_recovery_helper +libexec/ctdb/ctdb_smnotify_helper +libexec/ctdb/ctdb_takeover_helper +libexec/ctdb/statd_callout +libexec/ctdb/statd_callout_helper +libexec/samba/rpcd_witness +%%MANPAGES%%share/man/man1/ctdb_diagnostics.1.gz +%%MANPAGES%%share/man/man1/ctdb.1.gz +%%MANPAGES%%share/man/man1/ctdbd.1.gz +%%MANPAGES%%share/man/man1/ltdbtool.1.gz +%%MANPAGES%%share/man/man1/onnode.1.gz +%%MANPAGES%%share/man/man1/ping_pong.1.gz +%%MANPAGES%%share/man/man5/ctdb-script.options.5.gz +%%MANPAGES%%share/man/man5/ctdb.conf.5.gz +%%MANPAGES%%share/man/man5/ctdb.sysconfig.5.gz +%%MANPAGES%%share/man/man7/ctdb-statistics.7.gz +%%MANPAGES%%share/man/man7/ctdb-tunables.7.gz +%%MANPAGES%%share/man/man7/ctdb.7.gz +sbin/ctdbd +share/ctdb/events/legacy/00.ctdb.script +share/ctdb/events/legacy/01.reclock.script +share/ctdb/events/legacy/05.system.script +share/ctdb/events/legacy/10.interface.script +share/ctdb/events/legacy/11.natgw.script +share/ctdb/events/legacy/11.routing.script +share/ctdb/events/legacy/13.per_ip_routing.script +share/ctdb/events/legacy/20.multipathd.script +share/ctdb/events/legacy/31.clamd.script +share/ctdb/events/legacy/40.vsftpd.script +share/ctdb/events/legacy/41.httpd.script +share/ctdb/events/legacy/46.update-keytabs.script +share/ctdb/events/legacy/47.samba-dcerpcd.script +share/ctdb/events/legacy/48.netbios.script +share/ctdb/events/legacy/49.winbind.script +share/ctdb/events/legacy/50.samba.script +share/ctdb/events/legacy/60.nfs.script +share/ctdb/events/legacy/70.iscsi.script +share/ctdb/events/legacy/91.lvs.script +share/ctdb/events/legacy/95.database.script +share/ctdb/scripts/winbind_ctdb_updatekeytab.sh +@dir /var/lib/ctdb/volatile +@dir /var/lib/ctdb/state +@dir /var/lib/ctdb/persistent +@dir /var/lib/ctdb +@dir /var/lib +@dir /var/run/ctdb diff --git a/net/samba423/pkg-plist.python b/net/samba423/pkg-plist.python new file mode 100644 index 000000000000..1fbfdce9f8b9 --- /dev/null +++ b/net/samba423/pkg-plist.python @@ -0,0 +1,609 @@ +bin/smbtorture +sbin/samba-gpupdate +%%MANPAGES%%share/man/man1/smbtorture.1.gz +%%MANPAGES%%share/man/man8/samba-gpupdate.8.gz +lib/samba4/private/libsamba-net-join%%PYTHON_TAG%%-private-samba.so +lib/samba4/private/libsamba-python%%PYTHON_TAG%%-private-samba.so +@comment Python block +%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dckeytab%%PYTHON_TAG%%.so +%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/posix_eadb%%PYTHON_TAG%%.so +%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_native%%PYTHON_TAG%%.so +%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/xattr_tdb%%PYTHON_TAG%%.so +%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dsdb_dns%%PYTHON_TAG%%.so +%%AD_DC%%%%PYTHON_SITELIBDIR%%/samba/dsdb%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/__init__.py +%%PYTHON_SITELIBDIR%%/samba/_glue%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/_ldb%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/auth%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/auth_util.py +%%PYTHON_SITELIBDIR%%/samba/colour.py +%%PYTHON_SITELIBDIR%%/samba/common.py +%%PYTHON_SITELIBDIR%%/samba/compression%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/credentials%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/crypto%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dbchecker.py +%%PYTHON_SITELIBDIR%%/samba/dcerpc/__init__.py +%%PYTHON_SITELIBDIR%%/samba/dcerpc/atsvc%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/auth%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/base%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/bcrypt_rsakey_blob%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/claims%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/conditional_ace%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/dcerpc%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/dfs%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/dns%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsp%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/dnsserver%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/drsblobs%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/drsuapi%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/echo%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/epmapper%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/gkdi%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/gmsa%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/idmap%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/initshutdown%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/irpc%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/keycredlink%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/krb5ccache%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/krb5pac%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/lsa%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/mdssvc%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/messaging%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/mgmt%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/misc%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/nbt%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/netlogon%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/ntlmssp%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/preg%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/samr%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/schannel%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/security%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/server_id%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/smb3posix%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/smbXsrv%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/smb_acl%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/spoolss%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/srvsvc%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/svcctl%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/tpm20_rsakey_blob%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/unixinfo%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/winbind%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/windows_event_ids%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/winreg%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/winspool%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/witness%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/wkssvc%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/dcerpc/xattr%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/domain/__init__.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/__init__.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/auth_policy.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/auth_silo.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/claim_type.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/computer.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/constants.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/container.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/exceptions.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/fields.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/gmsa.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/group.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/model.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/org.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/person.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/query.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/registry.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/schema.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/site.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/subnet.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/types.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/user.py +%%PYTHON_SITELIBDIR%%/samba/domain/models/value_type.py +%%PYTHON_SITELIBDIR%%/samba/descriptor.py +%%PYTHON_SITELIBDIR%%/samba/dnsresolver.py +%%PYTHON_SITELIBDIR%%/samba/dnsserver.py +%%PYTHON_SITELIBDIR%%/samba/domain_update.py +%%PYTHON_SITELIBDIR%%/samba/drs_utils.py +%%PYTHON_SITELIBDIR%%/samba/emulate/__init__.py +%%PYTHON_SITELIBDIR%%/samba/emulate/traffic.py +%%PYTHON_SITELIBDIR%%/samba/emulate/traffic_packets.py +%%PYTHON_SITELIBDIR%%/samba/forest_update.py +%%PYTHON_SITELIBDIR%%/samba/functional_level.py +%%PYTHON_SITELIBDIR%%/samba/gensec%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/getopt.py +%%PYTHON_SITELIBDIR%%/samba/gkdi.py +%%PYTHON_SITELIBDIR%%/samba/gp/__init__.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_centrify_crontab_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_centrify_sudoers_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_cert_auto_enroll_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_chromium_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_drive_maps_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_ext_loader.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_firefox_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_firewalld_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_gnome_settings_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_msgs_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_scripts_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_sec_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_smb_conf_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gp_sudoers_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/gpclass.py +%%PYTHON_SITELIBDIR%%/samba/gp/util/logging.py +%%PYTHON_SITELIBDIR%%/samba/gp/vgp_access_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/vgp_files_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/vgp_issue_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/vgp_motd_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/vgp_openssh_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/vgp_startup_scripts_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/vgp_sudoers_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp/vgp_symlink_ext.py +%%PYTHON_SITELIBDIR%%/samba/gp_parse/__init__.py +%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_aas.py +%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_csv.py +%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_inf.py +%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_ini.py +%%PYTHON_SITELIBDIR%%/samba/gp_parse/gp_pol.py +%%PYTHON_SITELIBDIR%%/samba/gpo%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/graph.py +%%PYTHON_SITELIBDIR%%/samba/hostconfig.py +%%PYTHON_SITELIBDIR%%/samba/hresult%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/idmap.py +%%PYTHON_SITELIBDIR%%/samba/join.py +%%PYTHON_SITELIBDIR%%/samba/kcc/__init__.py +%%PYTHON_SITELIBDIR%%/samba/kcc/debug.py +%%PYTHON_SITELIBDIR%%/samba/kcc/graph.py +%%PYTHON_SITELIBDIR%%/samba/kcc/graph_utils.py +%%PYTHON_SITELIBDIR%%/samba/kcc/kcc_utils.py +%%PYTHON_SITELIBDIR%%/samba/kcc/ldif_import_export.py +%%PYTHON_SITELIBDIR%%/samba/logger.py +%%PYTHON_SITELIBDIR%%/samba/lsa_utils.py +%%PYTHON_SITELIBDIR%%/samba/mdb_util.py +%%PYTHON_SITELIBDIR%%/samba/messaging%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/ms_display_specifiers.py +%%PYTHON_SITELIBDIR%%/samba/ms_forest_updates_markdown.py +%%PYTHON_SITELIBDIR%%/samba/ms_schema.py +%%PYTHON_SITELIBDIR%%/samba/ms_schema_markdown.py +%%PYTHON_SITELIBDIR%%/samba/ndr.py +%%PYTHON_SITELIBDIR%%/samba/net%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/net_s3%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/netbios%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/netcmd/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/common.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/computer.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/contact.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/dbcheck.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/delegation.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/dns.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/computer_allowed_to_authenticate_to.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/policy.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/service_allowed_to_authenticate_from.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/service_allowed_to_authenticate_to.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/user_allowed_to_authenticate_from.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/policy/user_allowed_to_authenticate_to.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/silo/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/silo/member.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/auth/silo/silo.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/kds/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/kds/root_key.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/backup.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/claim/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/claim/claim_type.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/claim/value_type.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/classicupgrade.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/common.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/dcpromo.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/demote.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/functional_prep.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/info.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/join.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/keytab.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/leave.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/level.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/passwordsettings.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/provision.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/samba3upgrade.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/schemaupgrade.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/service_account/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/service_account/group_msa_membership.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/service_account/service_account.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/tombstones.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/domain/trust.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/drs.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/dsacl.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/encoders.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/forest.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/fsmo.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/gpcommon.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/gpo.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/group.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/ldapcmp.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/main.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/nettime.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/ntacl.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/ou.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/processes.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/pso.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/rodc.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/schema.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/shell.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/sites.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/spn.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/testparm.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/add.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/add_unix_attrs.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/auth/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/auth/policy.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/auth/silo.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/delete.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/disable.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/edit.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/enable.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/getgroups.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/list.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/move.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/password.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/__init__.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/common.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/get_kerberos_ticket.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/getpassword.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/show.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords/syncpasswords.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/rename.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/sensitive.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/setexpiry.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/setpassword.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/setprimarygroup.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/user/unlock.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/validators.py +%%PYTHON_SITELIBDIR%%/samba/netcmd/visualize.py +%%PYTHON_SITELIBDIR%%/samba/nt_time.py +%%PYTHON_SITELIBDIR%%/samba/ntacls.py +%%PYTHON_SITELIBDIR%%/samba/ntstatus%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/param%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/policies.py +%%PYTHON_SITELIBDIR%%/samba/policy%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/provision/__init__.py +%%PYTHON_SITELIBDIR%%/samba/provision/backend.py +%%PYTHON_SITELIBDIR%%/samba/provision/common.py +%%PYTHON_SITELIBDIR%%/samba/provision/kerberos.py +%%PYTHON_SITELIBDIR%%/samba/provision/kerberos_implementation.py +%%PYTHON_SITELIBDIR%%/samba/provision/sambadns.py +%%PYTHON_SITELIBDIR%%/samba/registry%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/remove_dc.py +%%PYTHON_SITELIBDIR%%/samba/reparse_symlink%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/safe_tarfile.py +%%PYTHON_SITELIBDIR%%/samba/samba3/__init__.py +%%PYTHON_SITELIBDIR%%/samba/samba3/libsmb_samba_cwrapper%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/samba3/libsmb_samba_internal.py +%%PYTHON_SITELIBDIR%%/samba/samba3/mdscli%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/samba3/param%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/samba3/passdb%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/samba3/smbconf%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/samba3/smbd%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/samdb.py +%%PYTHON_SITELIBDIR%%/samba/schema.py +%%PYTHON_SITELIBDIR%%/samba/sd_utils.py +%%PYTHON_SITELIBDIR%%/samba/security%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/sites.py +%%PYTHON_SITELIBDIR%%/samba/smbconf%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/subnets.py +%%PYTHON_SITELIBDIR%%/samba/subunit/__init__.py +%%PYTHON_SITELIBDIR%%/samba/subunit/run.py +%%PYTHON_SITELIBDIR%%/samba/tdb_util.py +%%PYTHON_SITELIBDIR%%/samba/tests/__init__.py +%%PYTHON_SITELIBDIR%%/samba/tests/audit_log_base.py +%%PYTHON_SITELIBDIR%%/samba/tests/audit_log_dsdb.py +%%PYTHON_SITELIBDIR%%/samba/tests/audit_log_pass_change.py +%%PYTHON_SITELIBDIR%%/samba/tests/auth.py +%%PYTHON_SITELIBDIR%%/samba/tests/auth_log.py +%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_base.py +%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_ncalrpc.py +%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_netlogon.py +%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_netlogon_bad_creds.py +%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_pass_change.py +%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_samlogon.py +%%PYTHON_SITELIBDIR%%/samba/tests/auth_log_winbind.py +%%PYTHON_SITELIBDIR%%/samba/tests/bcrypt_rsakey_blob.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/__init__.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/bug13653.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/check_output.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/claims.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/downgradedatabase.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/gmsa.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/http_chunk.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/http_content.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/mdsearch.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/misc_dfs_widelink.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/ndrdump.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/netads_dns.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/netads_json.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/rpcd_witness_samba_only.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/samba_dnsupdate.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls_basic.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls_dfs_propagate_inherit.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls_propagate_inhertance.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcacls_save_restore.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcontrol.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/smbcontrol_process.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_learner.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_replay.py +%%PYTHON_SITELIBDIR%%/samba/tests/blackbox/traffic_summary.py +%%PYTHON_SITELIBDIR%%/samba/tests/common.py +%%PYTHON_SITELIBDIR%%/samba/tests/complex_expressions.py +%%PYTHON_SITELIBDIR%%/samba/tests/compression.py +%%PYTHON_SITELIBDIR%%/samba/tests/conditional_ace_assembler.py +%%PYTHON_SITELIBDIR%%/samba/tests/conditional_ace_bytes.py +%%PYTHON_SITELIBDIR%%/samba/tests/conditional_ace_claims.py +%%PYTHON_SITELIBDIR%%/samba/tests/core.py +%%PYTHON_SITELIBDIR%%/samba/tests/cred_opt.py +%%PYTHON_SITELIBDIR%%/samba/tests/credentials.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/__init__.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/array.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/bare.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/binding.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/dfs.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/dnsserver.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/integer.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/lsa.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/lsa_utils.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/mdssvc.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/misc.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/raw_protocol.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/raw_testcase.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/registry.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/rpc_talloc.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/rpcecho.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/sam.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/samr_change_password.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/srvsvc.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/string_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/testrpc.py +%%PYTHON_SITELIBDIR%%/samba/tests/dcerpc/unix.py +%%PYTHON_SITELIBDIR%%/samba/tests/dckeytab.py +%%PYTHON_SITELIBDIR%%/samba/tests/dns.py +%%PYTHON_SITELIBDIR%%/samba/tests/dns_aging.py +%%PYTHON_SITELIBDIR%%/samba/tests/dns_base.py +%%PYTHON_SITELIBDIR%%/samba/tests/dns_forwarder.py +%%PYTHON_SITELIBDIR%%/samba/tests/dns_forwarder_helpers/server.py +%%PYTHON_SITELIBDIR%%/samba/tests/dns_invalid.py +%%PYTHON_SITELIBDIR%%/samba/tests/dns_packet.py +%%PYTHON_SITELIBDIR%%/samba/tests/dns_tkey.py +%%PYTHON_SITELIBDIR%%/samba/tests/dns_wildcard.py +%%PYTHON_SITELIBDIR%%/samba/tests/docs.py +%%PYTHON_SITELIBDIR%%/samba/tests/domain_backup.py +%%PYTHON_SITELIBDIR%%/samba/tests/domain_backup_offline.py +%%PYTHON_SITELIBDIR%%/samba/tests/dsdb.py +%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_api.py +%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_dns.py +%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_lock.py +%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_quiet_env_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_quiet_provision_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/dsdb_schema_attributes.py +%%PYTHON_SITELIBDIR%%/samba/tests/emulate/__init__.py +%%PYTHON_SITELIBDIR%%/samba/tests/emulate/traffic.py +%%PYTHON_SITELIBDIR%%/samba/tests/emulate/traffic_packet.py +%%PYTHON_SITELIBDIR%%/samba/tests/encrypted_secrets.py +%%PYTHON_SITELIBDIR%%/samba/tests/gensec.py +%%PYTHON_SITELIBDIR%%/samba/tests/get_opt.py +%%PYTHON_SITELIBDIR%%/samba/tests/getdcname.py +%%PYTHON_SITELIBDIR%%/samba/tests/gkdi.py +%%PYTHON_SITELIBDIR%%/samba/tests/glue.py +%%PYTHON_SITELIBDIR%%/samba/tests/gpo.py +%%PYTHON_SITELIBDIR%%/samba/tests/gpo_member.py +%%PYTHON_SITELIBDIR%%/samba/tests/graph.py +%%PYTHON_SITELIBDIR%%/samba/tests/group_audit.py +%%PYTHON_SITELIBDIR%%/samba/tests/hostconfig.py +%%PYTHON_SITELIBDIR%%/samba/tests/imports.py +%%PYTHON_SITELIBDIR%%/samba/tests/join.py +%%PYTHON_SITELIBDIR%%/samba/tests/kcc/__init__.py +%%PYTHON_SITELIBDIR%%/samba/tests/kcc/graph.py +%%PYTHON_SITELIBDIR%%/samba/tests/kcc/graph_utils.py +%%PYTHON_SITELIBDIR%%/samba/tests/kcc/kcc_utils.py +%%PYTHON_SITELIBDIR%%/samba/tests/kcc/ldif_import_export.py +%%PYTHON_SITELIBDIR%%/samba/tests/key_credential_link.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/alias_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/as_canonicalization_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/as_req_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/authn_policy_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/claims_in_pac.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/claims_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/compatability_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/conditional_ace_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/device_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/etype_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/fast_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/gkdi_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/gmsa_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/group_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/kcrypto.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/kdc_base_test.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/kdc_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/kdc_tgs_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/kdc_tgt_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/kpasswd_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/lockout_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/ms_kile_client_principal_lookup_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/netlogon.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/nt_hash_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/pac_align_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/pkinit_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/protected_users_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/raw_testcase.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/rfc4120_constants.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/rfc4120_pyasn1.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/rfc4120_pyasn1_generated.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/rodc_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/s4u_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/salt_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/simple_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/spn_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_ccache.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_idmap_nss.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_ldap.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_min_domain_uid.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_rpc.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/test_smb.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5/xrealm_tests.py +%%PYTHON_SITELIBDIR%%/samba/tests/krb5_credentials.py +%%PYTHON_SITELIBDIR%%/samba/tests/ldap_raw.py +%%PYTHON_SITELIBDIR%%/samba/tests/ldap_referrals.py +%%PYTHON_SITELIBDIR%%/samba/tests/ldap_spn.py +%%PYTHON_SITELIBDIR%%/samba/tests/ldap_upn_sam_account.py +%%PYTHON_SITELIBDIR%%/samba/tests/ldap_whoami.py +%%PYTHON_SITELIBDIR%%/samba/tests/libsmb-basic.py +%%PYTHON_SITELIBDIR%%/samba/tests/libsmb.py +%%PYTHON_SITELIBDIR%%/samba/tests/loadparm.py +%%PYTHON_SITELIBDIR%%/samba/tests/logfiles.py +%%PYTHON_SITELIBDIR%%/samba/tests/lsa_string.py +%%PYTHON_SITELIBDIR%%/samba/tests/messaging.py +%%PYTHON_SITELIBDIR%%/samba/tests/ndr/gkdi.py +%%PYTHON_SITELIBDIR%%/samba/tests/ndr/gmsa.py +%%PYTHON_SITELIBDIR%%/samba/tests/ndr/sd.py +%%PYTHON_SITELIBDIR%%/samba/tests/ndr/wbint.py +%%PYTHON_SITELIBDIR%%/samba/tests/net_join.py +%%PYTHON_SITELIBDIR%%/samba/tests/net_join_no_spnego.py +%%PYTHON_SITELIBDIR%%/samba/tests/netbios.py +%%PYTHON_SITELIBDIR%%/samba/tests/netcmd.py +%%PYTHON_SITELIBDIR%%/samba/tests/netlogonsvc.py +%%PYTHON_SITELIBDIR%%/samba/tests/nss/base.py +%%PYTHON_SITELIBDIR%%/samba/tests/nss/group.py +%%PYTHON_SITELIBDIR%%/samba/tests/ntacls.py +%%PYTHON_SITELIBDIR%%/samba/tests/ntacls_backup.py +%%PYTHON_SITELIBDIR%%/samba/tests/ntlm_auth.py +%%PYTHON_SITELIBDIR%%/samba/tests/ntlm_auth_base.py +%%PYTHON_SITELIBDIR%%/samba/tests/ntlm_auth_krb5.py +%%PYTHON_SITELIBDIR%%/samba/tests/ntlmdisabled.py +%%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind.py +%%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind_chauthtok.py +%%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind_setcred.py +%%PYTHON_SITELIBDIR%%/samba/tests/pam_winbind_warn_pwd_expire.py +%%PYTHON_SITELIBDIR%%/samba/tests/param.py +%%PYTHON_SITELIBDIR%%/samba/tests/password_hash.py +%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_fl2003.py +%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_fl2008.py +%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_gpgme.py +%%PYTHON_SITELIBDIR%%/samba/tests/password_hash_ldap.py +%%PYTHON_SITELIBDIR%%/samba/tests/password_quality.py +%%PYTHON_SITELIBDIR%%/samba/tests/password_test.py +%%PYTHON_SITELIBDIR%%/samba/tests/policy.py +%%PYTHON_SITELIBDIR%%/samba/tests/posixacl.py +%%PYTHON_SITELIBDIR%%/samba/tests/prefork_restart.py +%%PYTHON_SITELIBDIR%%/samba/tests/process_limits.py +%%PYTHON_SITELIBDIR%%/samba/tests/provision.py +%%PYTHON_SITELIBDIR%%/samba/tests/pso.py +%%PYTHON_SITELIBDIR%%/samba/tests/py_credentials.py +%%PYTHON_SITELIBDIR%%/samba/tests/registry.py +%%PYTHON_SITELIBDIR%%/samba/tests/reparsepoints.py +%%PYTHON_SITELIBDIR%%/samba/tests/rust.py +%%PYTHON_SITELIBDIR%%/samba/tests/s3_net_join.py +%%PYTHON_SITELIBDIR%%/samba/tests/s3idmapdb.py +%%PYTHON_SITELIBDIR%%/samba/tests/s3param.py +%%PYTHON_SITELIBDIR%%/samba/tests/s3passdb.py +%%PYTHON_SITELIBDIR%%/samba/tests/s3registry.py +%%PYTHON_SITELIBDIR%%/samba/tests/s3windb.py +%%PYTHON_SITELIBDIR%%/samba/tests/safe_tarfile.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba3sam.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_startup_fl_change.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/__init__.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/base.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/computer.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/contact.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/demote.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/dnscmd.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_auth_policy.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_auth_silo.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_claim.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_kds_root_key.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/domain_models.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/drs_clone_dc_data_lmdb_size.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/dsacl.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/forest.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/fsmo.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/gpo.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/gpo_exts.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/group.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/help.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/join.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/join_lmdb_size.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/join_member.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/ntacl.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/ou.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/passwordsettings.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/processes.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/promote_dc_lmdb_size.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/provision_lmdb_size.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/provision_password_check.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/provision_userPassword_crypt.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/rodc.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/schema.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/service_account.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/silo_base.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/sites.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/timecmd.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_auth_policy.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_auth_silo.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_check_password_script.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_get_kerberos_ticket.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_getpassword_gmsa.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA_base.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA_gpg.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_virtualCryptSHA_userPassword.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/user_wdigest.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/visualize.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_tool/visualize_drs.py +%%PYTHON_SITELIBDIR%%/samba/tests/samba_upgradedns_lmdb.py +%%PYTHON_SITELIBDIR%%/samba/tests/samdb.py +%%PYTHON_SITELIBDIR%%/samba/tests/samdb_api.py +%%PYTHON_SITELIBDIR%%/samba/tests/sddl.py +%%PYTHON_SITELIBDIR%%/samba/tests/sddl_conditional_ace.py +%%PYTHON_SITELIBDIR%%/samba/tests/security.py +%%PYTHON_SITELIBDIR%%/samba/tests/security_descriptors.py +%%PYTHON_SITELIBDIR%%/samba/tests/segfault.py +%%PYTHON_SITELIBDIR%%/samba/tests/sid_strings.py +%%PYTHON_SITELIBDIR%%/samba/tests/smb-notify.py +%%PYTHON_SITELIBDIR%%/samba/tests/smb.py +%%PYTHON_SITELIBDIR%%/samba/tests/smb1posix.py +%%PYTHON_SITELIBDIR%%/samba/tests/smb2symlink.py +%%PYTHON_SITELIBDIR%%/samba/tests/smb3unix.py +%%PYTHON_SITELIBDIR%%/samba/tests/smbconf.py +%%PYTHON_SITELIBDIR%%/samba/tests/smbd_base.py +%%PYTHON_SITELIBDIR%%/samba/tests/smbd_fuzztest.py +%%PYTHON_SITELIBDIR%%/samba/tests/source.py +%%PYTHON_SITELIBDIR%%/samba/tests/source_chars.py +%%PYTHON_SITELIBDIR%%/samba/tests/strings.py +%%PYTHON_SITELIBDIR%%/samba/tests/subunitrun.py +%%PYTHON_SITELIBDIR%%/samba/tests/tdb_util.py +%%PYTHON_SITELIBDIR%%/samba/tests/token_factory.py +%%PYTHON_SITELIBDIR%%/samba/tests/tpm20_rsakey_blob.py +%%PYTHON_SITELIBDIR%%/samba/tests/upgrade.py +%%PYTHON_SITELIBDIR%%/samba/tests/upgradeprovision.py +%%PYTHON_SITELIBDIR%%/samba/tests/upgradeprovisionneeddc.py +%%PYTHON_SITELIBDIR%%/samba/tests/usage.py +%%PYTHON_SITELIBDIR%%/samba/tests/varlink/base.py +%%PYTHON_SITELIBDIR%%/samba/tests/varlink/getgrouprecord.py +%%PYTHON_SITELIBDIR%%/samba/tests/varlink/getmemberships.py +%%PYTHON_SITELIBDIR%%/samba/tests/varlink/getuserrecord.py +%%PYTHON_SITELIBDIR%%/samba/tests/xattr.py +%%PYTHON_SITELIBDIR%%/samba/upgrade.py +%%PYTHON_SITELIBDIR%%/samba/upgradehelpers.py +%%PYTHON_SITELIBDIR%%/samba/uptodateness.py +%%PYTHON_SITELIBDIR%%/samba/werror%%PYTHON_TAG%%.so +%%PYTHON_SITELIBDIR%%/samba/xattr.py +@dir %%PYTHON_SITELIBDIR%%/samba/tests/samba_tool +@dir %%PYTHON_SITELIBDIR%%/samba/tests/ndr +@dir %%PYTHON_SITELIBDIR%%/samba/tests/dcerpc +@dir %%PYTHON_SITELIBDIR%%/samba/tests/blackbox +@dir %%PYTHON_SITELIBDIR%%/samba/tests +@dir %%PYTHON_SITELIBDIR%%/samba/samba3 +@dir %%PYTHON_SITELIBDIR%%/samba/provision +@dir %%PYTHON_SITELIBDIR%%/samba/netcmd/user/readpasswords +@dir %%PYTHON_SITELIBDIR%%/samba/netcmd/user/auth +@dir %%PYTHON_SITELIBDIR%%/samba/netcmd/user +@dir %%PYTHON_SITELIBDIR%%/samba/netcmd +@dir %%PYTHON_SITELIBDIR%%/samba/dcerpc +@dir %%PYTHON_SITELIBDIR%%/samba diff --git a/net/sendme/Makefile b/net/sendme/Makefile index 5b9cd21e4876..59564e42fd6c 100644 --- a/net/sendme/Makefile +++ b/net/sendme/Makefile @@ -1,7 +1,7 @@ PORTNAME= sendme DISTVERSIONPREFIX= v DISTVERSION= 0.28.0 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net MAINTAINER= feld@FreeBSD.org diff --git a/net/shadowsocks-rust/Makefile b/net/shadowsocks-rust/Makefile index 46182892ac3a..e3cd82a35967 100644 --- a/net/shadowsocks-rust/Makefile +++ b/net/shadowsocks-rust/Makefile @@ -1,7 +1,7 @@ PORTNAME= shadowsocks-rust DISTVERSIONPREFIX= v DISTVERSION= 1.23.5 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/sing-box/Makefile b/net/sing-box/Makefile index 4f4b330f56a6..9ee02efeaf26 100644 --- a/net/sing-box/Makefile +++ b/net/sing-box/Makefile @@ -1,7 +1,6 @@ PORTNAME= sing-box DISTVERSIONPREFIX= v -DISTVERSION= 1.12.12 -PORTREVISION= 1 +DISTVERSION= 1.12.13 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org @@ -12,7 +11,7 @@ WWW= https://sing-box.sagernet.org \ LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -USES= go:1.24,modules +USES= go:1.24+,modules GO_MODULE= github.com/sagernet/sing-box GO_TARGET= ./cmd/sing-box diff --git a/net/sing-box/distinfo b/net/sing-box/distinfo index 4c9dfc929d34..c63742e86723 100644 --- a/net/sing-box/distinfo +++ b/net/sing-box/distinfo @@ -1,5 +1,5 @@ -TIMESTAMP = 1762885777 -SHA256 (go/net_sing-box/sing-box-v1.12.12/v1.12.12.mod) = e07d16650b32b8993b2e1545c80fcdbe7a6d5f3adf8ad3bf5a0126e328303ac3 -SIZE (go/net_sing-box/sing-box-v1.12.12/v1.12.12.mod) = 6571 -SHA256 (go/net_sing-box/sing-box-v1.12.12/v1.12.12.zip) = 3b6b24cd6ef820edfeec163ec78563a6b811de5c731bc43a303374f0d0a0d85c -SIZE (go/net_sing-box/sing-box-v1.12.12/v1.12.12.zip) = 1082017 +TIMESTAMP = 1765787045 +SHA256 (go/net_sing-box/sing-box-v1.12.13/v1.12.13.mod) = e07d16650b32b8993b2e1545c80fcdbe7a6d5f3adf8ad3bf5a0126e328303ac3 +SIZE (go/net_sing-box/sing-box-v1.12.13/v1.12.13.mod) = 6571 +SHA256 (go/net_sing-box/sing-box-v1.12.13/v1.12.13.zip) = da36e2df09975ac4b09246c459fa2b7369abeade6b7a0b344b5b9523a5e0ab98 +SIZE (go/net_sing-box/sing-box-v1.12.13/v1.12.13.zip) = 1082464 diff --git a/net/smb4k/Makefile b/net/smb4k/Makefile index 33479bf81657..40a9f2ee0b18 100644 --- a/net/smb4k/Makefile +++ b/net/smb4k/Makefile @@ -1,6 +1,5 @@ PORTNAME= smb4k -DISTVERSION= 4.0.4 -PORTREVISION= 1 +DISTVERSION= 4.0.5 CATEGORIES= net kde MASTER_SITES= SF/${PORTNAME}/${DISTVERSION} @@ -18,11 +17,11 @@ RUN_DEPENDS= rsync:net/rsync USES= cmake compiler:c++17-lang cpe gettext-tools gl kde:6 qt:6 \ samba tar:xz xorg -CPE_VENDOR= ${PORTNAME}_project +CPE_VENDOR= smb4k_project USE_GL= gl opengl # GLX -USE_KDE= auth colorscheme completion config configwidgets coreaddons \ - crash dbusaddons dnssd guiaddons i18n iconthemes jobwidgets kirigami2 \ - kio libplasma notifications service solid statusnotifieritem \ +USE_KDE= auth completion config configwidgets coreaddons crash \ + dbusaddons dnssd i18n iconthemes jobwidgets kio kirigami2 \ + libplasma notifications solid statusnotifieritem \ wallet widgetsaddons windowsystem xmlgui \ doctools:build ecm:build USE_QT= base declarative diff --git a/net/smb4k/distinfo b/net/smb4k/distinfo index 087f04c9d49d..5d67e3308a00 100644 --- a/net/smb4k/distinfo +++ b/net/smb4k/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1756392828 -SHA256 (smb4k-4.0.4.tar.xz) = b7c3f69c80cea5dacaf667e96f68f4c4d99dd6f8eef2b90d7a9afea82fe2ca99 -SIZE (smb4k-4.0.4.tar.xz) = 4853384 +TIMESTAMP = 1766060947 +SHA256 (smb4k-4.0.5.tar.xz) = 7172cfb48b073ceac6c712066233be640938e935e27057e129882f935a81b9e9 +SIZE (smb4k-4.0.5.tar.xz) = 4880008 diff --git a/net/smb4k/pkg-plist b/net/smb4k/pkg-plist index fddf30b8aa60..40106c520a3d 100644 --- a/net/smb4k/pkg-plist +++ b/net/smb4k/pkg-plist @@ -69,6 +69,8 @@ share/doc/HTML/nl/smb4k/index.cache.bz2 share/doc/HTML/nl/smb4k/index.docbook share/doc/HTML/pt_BR/smb4k/index.cache.bz2 share/doc/HTML/pt_BR/smb4k/index.docbook +share/doc/HTML/ru/smb4k/index.cache.bz2 +share/doc/HTML/ru/smb4k/index.docbook share/doc/HTML/sv/smb4k/index.cache.bz2 share/doc/HTML/sv/smb4k/index.docbook share/doc/HTML/uk/smb4k/index.cache.bz2 diff --git a/net/sniffnet/Makefile b/net/sniffnet/Makefile index 3e821eb518fb..60c9ea3ebc56 100644 --- a/net/sniffnet/Makefile +++ b/net/sniffnet/Makefile @@ -1,7 +1,7 @@ PORTNAME= sniffnet DISTVERSIONPREFIX= v DISTVERSION= 1.4.2 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net wayland MAINTAINER= tagattie@FreeBSD.org diff --git a/net/sniproxy/Makefile b/net/sniproxy/Makefile index 0b53dda1e6ae..3341650826b7 100644 --- a/net/sniproxy/Makefile +++ b/net/sniproxy/Makefile @@ -1,8 +1,15 @@ PORTNAME= sniproxy DISTVERSION= 0.6.1 -PORTREVISION= 1 +PORTREVISION= 2 CATEGORIES= net +PATCH_SITES= https://github.com/dlundquist/sniproxy/commit/ +PATCHFILES= 62e621f050f79eb78598b1296a089ef88a19ea91.diff:-p1 \ + 0e556bf0b9151e65575b3980b72f34331e5b6ab4.diff:-p1 \ + 7fdd86c054a21f7ac62343010de20f28645b14d2.diff:-p1 \ + 85e980261b9dfc0172fbc38f7bb24b291e859cee.diff:-p1 \ + 2d9965388712faa6ef74f7229f38e3a177904bae.diff:-p1 + MAINTAINER= krion@FreeBSD.org COMMENT= Proxy that routes based on TLS server name extension WWW= https://github.com/dlundquist/sniproxy @@ -11,10 +18,10 @@ LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/COPYING LIB_DEPENDS= libev.so:devel/libev \ - libpcre.so:devel/pcre \ + libpcre2-8.so:devel/pcre2 \ libudns.so:dns/udns -USES= autoreconf:build gettext pkgconfig +USES= autoreconf localbase pkgconfig SUB_FILES= pkg-message USE_RC_SUBR= sniproxy @@ -23,7 +30,6 @@ USE_GITHUB= yes GH_ACCOUNT= dlundquist GNU_CONFIGURE= yes -GNU_CONFIGURE_MANPREFIX= ${PREFIX}/share USE_LDCONFIG= yes PLIST_FILES= share/man/man5/sniproxy.conf.5.gz \ @@ -31,9 +37,6 @@ PLIST_FILES= share/man/man5/sniproxy.conf.5.gz \ sbin/sniproxy \ "@sample etc/sniproxy.conf.sample" -pre-configure: - cd ${WRKSRC} && ${SH} autogen.sh - post-patch: @${REINPLACE_CMD} -e 's|/var/tmp/|/var/run/|' ${WRKSRC}/${PORTNAME}.conf diff --git a/net/sniproxy/distinfo b/net/sniproxy/distinfo index b1dd665af9c2..afdda0c2e35d 100644 --- a/net/sniproxy/distinfo +++ b/net/sniproxy/distinfo @@ -1,3 +1,13 @@ -TIMESTAMP = 1680098921 +TIMESTAMP = 1765444620 SHA256 (dlundquist-sniproxy-0.6.1_GH0.tar.gz) = 6a06d12bedcbd5295a2c75d60a9df1cfde9e26efa31f44a34979b5cb8fb0bc1a SIZE (dlundquist-sniproxy-0.6.1_GH0.tar.gz) = 78939 +SHA256 (62e621f050f79eb78598b1296a089ef88a19ea91.diff) = 92b19681753137f8ed1bd4f289833dc21991d4f7a61919c244e35b466d231652 +SIZE (62e621f050f79eb78598b1296a089ef88a19ea91.diff) = 6021 +SHA256 (0e556bf0b9151e65575b3980b72f34331e5b6ab4.diff) = d84d14af62834efb08511dc8219406b96a4955358a3a3186e535321a15cd3222 +SIZE (0e556bf0b9151e65575b3980b72f34331e5b6ab4.diff) = 3154 +SHA256 (7fdd86c054a21f7ac62343010de20f28645b14d2.diff) = a3348fde1780a73a59c7c90e2f29e45130e0b21eca60438e49e7be9cc9086dea +SIZE (7fdd86c054a21f7ac62343010de20f28645b14d2.diff) = 6145 +SHA256 (85e980261b9dfc0172fbc38f7bb24b291e859cee.diff) = fd34d8973deaa8979d7c50f0a21a4f266c42d4e7535202967fc31e95ac3f445d +SIZE (85e980261b9dfc0172fbc38f7bb24b291e859cee.diff) = 277 +SHA256 (2d9965388712faa6ef74f7229f38e3a177904bae.diff) = 887b685804c137ace8ccd4d926df68f97dfa43e7c80fb626d819a553e9ecfea6 +SIZE (2d9965388712faa6ef74f7229f38e3a177904bae.diff) = 679 diff --git a/net/spoofdpi/Makefile b/net/spoofdpi/Makefile index 2c9da0e06d27..e6b31c9949c8 100644 --- a/net/spoofdpi/Makefile +++ b/net/spoofdpi/Makefile @@ -1,7 +1,6 @@ PORTNAME= spoofdpi DISTVERSIONPREFIX= v -DISTVERSION= 1.1.3 -PORTREVISION= 1 +DISTVERSION= 1.2.0 CATEGORIES= net MAINTAINER= nxjoseph@protonmail.com @@ -18,25 +17,32 @@ GH_ACCOUNT= xvzc GH_PROJECT= SpoofDPI GH_TUPLE= BurntSushi:toml:v1.5.0:burntsushi_toml/vendor/github.com/BurntSushi/toml \ davecgh:go-spew:v1.1.1:davecgh_go_spew/vendor/github.com/davecgh/go-spew \ + gabriel-vasile:mimetype:v1.4.10:gabriel_vasile_mimetype/vendor/github.com/gabriel-vasile/mimetype \ go-check:check:41f04d3bba15:go_check_check/vendor/gopkg.in/check.v1 \ + go-playground:locales:v0.14.1:go_playground_locales/vendor/github.com/go-playground/locales \ + go-playground:universal-translator:v0.18.1:go_playground_universal_translator/vendor/github.com/go-playground/universal-translator \ + go-playground:validator:v10.28.0:go_playground_validator_v10/vendor/github.com/go-playground/validator/v10 \ go-yaml:yaml:v3.0.1:go_yaml_yaml/vendor/gopkg.in/yaml.v3 \ - golang:mod:v0.18.0:golang_mod/vendor/golang.org/x/mod \ - golang:net:v0.38.0:golang_net/vendor/golang.org/x/net \ - golang:sync:v0.12.0:golang_sync/vendor/golang.org/x/sync \ - golang:sys:v0.31.0:golang_sys/vendor/golang.org/x/sys \ - golang:tools:v0.22.0:golang_tools/vendor/golang.org/x/tools \ + golang:crypto:v0.42.0:golang_crypto/vendor/golang.org/x/crypto \ + golang:mod:v0.27.0:golang_mod/vendor/golang.org/x/mod \ + golang:net:v0.43.0:golang_net/vendor/golang.org/x/net \ + golang:sync:v0.17.0:golang_sync/vendor/golang.org/x/sync \ + golang:sys:v0.36.0:golang_sys/vendor/golang.org/x/sys \ + golang:text:v0.29.0:golang_text/vendor/golang.org/x/text \ + golang:tools:v0.36.0:golang_tools/vendor/golang.org/x/tools \ google:gopacket:v1.1.19:google_gopacket/vendor/github.com/google/gopacket \ jackpal:gateway:v1.1.1:jackpal_gateway/vendor/github.com/jackpal/gateway \ kr:pretty:v0.1.0:kr_pretty/vendor/github.com/kr/pretty \ + leodido:go-urn:v1.4.0:leodido_go_urn/vendor/github.com/leodido/go-urn \ mattn:go-colorable:v0.1.13:mattn_go_colorable/vendor/github.com/mattn/go-colorable \ mattn:go-isatty:v0.0.19:mattn_go_isatty/vendor/github.com/mattn/go-isatty \ - mattn:go-runewidth:v0.0.15:mattn_go_runewidth/vendor/github.com/mattn/go-runewidth \ miekg:dns:v1.1.61:miekg_dns/vendor/github.com/miekg/dns \ pmezard:go-difflib:v1.0.0:pmezard_go_difflib/vendor/github.com/pmezard/go-difflib \ rs:zerolog:v1.33.0:rs_zerolog/vendor/github.com/rs/zerolog \ + samber:lo:v1.52.0:samber_lo/vendor/github.com/samber/lo \ stretchr:objx:v0.5.2:stretchr_objx/vendor/github.com/stretchr/objx \ stretchr:testify:v1.11.1:stretchr_testify/vendor/github.com/stretchr/testify \ - urfave:cli:v3.5.0:urfave_cli_v3/vendor/github.com/urfave/cli/v3 + urfave:cli:v3.6.1:urfave_cli_v3/vendor/github.com/urfave/cli/v3 USE_RC_SUBR= ${PORTNAME} GO_TARGET= ./cmd/${PORTNAME} @@ -54,7 +60,7 @@ PLIST_FILES= "@dir(${USERS},${GROUPS},0770) ${ETCDIR}" \ post-patch: ${CP} ${FILESDIR}/modules.txt ${WRKSRC}/vendor - @${REINPLACE_CMD} -e '220s#"etc"#"${ETCDIR}"#g' \ + @${REINPLACE_CMD} -e '342s#"etc"#"${ETCDIR}"#g' \ ${WRKSRC}/internal/config/cli.go post-install: diff --git a/net/spoofdpi/distinfo b/net/spoofdpi/distinfo index f7ef56ede616..92bef04d1cfd 100644 --- a/net/spoofdpi/distinfo +++ b/net/spoofdpi/distinfo @@ -1,45 +1,59 @@ -TIMESTAMP = 1764165145 -SHA256 (xvzc-SpoofDPI-v1.1.3_GH0.tar.gz) = 638630f41313583381f58158197fca8bb5b70686298ce0e9539866bde5929a60 -SIZE (xvzc-SpoofDPI-v1.1.3_GH0.tar.gz) = 1495404 +TIMESTAMP = 1765917720 +SHA256 (xvzc-SpoofDPI-v1.2.0_GH0.tar.gz) = 30dbc1b69ac1cedb10703a4dc6923c761bf845b7450e4600dd4aab293480ff05 +SIZE (xvzc-SpoofDPI-v1.2.0_GH0.tar.gz) = 1525752 SHA256 (BurntSushi-toml-v1.5.0_GH0.tar.gz) = 723ede1a61ca8311046f840020e485dec3ceb2e614d1a539cd154375bdd7b8cb SIZE (BurntSushi-toml-v1.5.0_GH0.tar.gz) = 118644 SHA256 (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 7d82b9bb7291adbe7498fe946920ab3e7fc9e6cbfc3b2294693fad00bf0dd17e SIZE (davecgh-go-spew-v1.1.1_GH0.tar.gz) = 42152 +SHA256 (gabriel-vasile-mimetype-v1.4.10_GH0.tar.gz) = cabca04c944919cbf146fd8e0bd444795e5942aeacc7252f910df27fb196f97b +SIZE (gabriel-vasile-mimetype-v1.4.10_GH0.tar.gz) = 826818 SHA256 (go-check-check-41f04d3bba15_GH0.tar.gz) = 2d5b1036909b241e44f0d6a7cfa936cf9f875efb4f0af077cd61585c6d0c0432 SIZE (go-check-check-41f04d3bba15_GH0.tar.gz) = 31614 +SHA256 (go-playground-locales-v0.14.1_GH0.tar.gz) = 29b29f1ff125e04a4d81a1f584d929ac8444663255cfdfa076a78339e23b4624 +SIZE (go-playground-locales-v0.14.1_GH0.tar.gz) = 4364173 +SHA256 (go-playground-universal-translator-v0.18.1_GH0.tar.gz) = 5e30d5afbaebbac71e95a826920465fadd7e0ce0fdb00ee8ce29451a09aaa4f2 +SIZE (go-playground-universal-translator-v0.18.1_GH0.tar.gz) = 37149 +SHA256 (go-playground-validator-v10.28.0_GH0.tar.gz) = 60a91e1db10695c626d2c247571e5ff810f7c28eb0a5851704d610dd77e4f247 +SIZE (go-playground-validator-v10.28.0_GH0.tar.gz) = 308643 SHA256 (go-yaml-yaml-v3.0.1_GH0.tar.gz) = cf05411540d3e6ef8f1fd88434b34f94cedaceb540329031d80e23b74540c4e5 SIZE (go-yaml-yaml-v3.0.1_GH0.tar.gz) = 91173 -SHA256 (golang-mod-v0.18.0_GH0.tar.gz) = 247133e4ef1a5863af267a81c2d3f2b6e6b439f250db4e1d7e16df46d37e4d71 -SIZE (golang-mod-v0.18.0_GH0.tar.gz) = 123147 -SHA256 (golang-net-v0.38.0_GH0.tar.gz) = f5f44a7625a2cee3ab3b38f8b08a1e058395faf44c29ae5e9a29af9e5f13c822 -SIZE (golang-net-v0.38.0_GH0.tar.gz) = 1502112 -SHA256 (golang-sync-v0.12.0_GH0.tar.gz) = 1032c8a956571df44cfb3c22122a7a3a771af53b1af5698b15e0143a8aacfde7 -SIZE (golang-sync-v0.12.0_GH0.tar.gz) = 17923 -SHA256 (golang-sys-v0.31.0_GH0.tar.gz) = de9873501d7e57afe8964b48d17392f82b5f1fd611915e6084523f9eb7506972 -SIZE (golang-sys-v0.31.0_GH0.tar.gz) = 1523040 -SHA256 (golang-tools-v0.22.0_GH0.tar.gz) = ae80020fa6994e1e112478eb4fc3aefcf9b21500c6e2ef5c5b3bdbb3f8943f13 -SIZE (golang-tools-v0.22.0_GH0.tar.gz) = 3853706 +SHA256 (golang-crypto-v0.42.0_GH0.tar.gz) = 4f0c623e94394b192af9afb187954b84af65cf0cb6aab852b14323c60506aa63 +SIZE (golang-crypto-v0.42.0_GH0.tar.gz) = 2156903 +SHA256 (golang-mod-v0.27.0_GH0.tar.gz) = dcd1ba21c7695b209830ccc4881e41d591ae65e6f1938575bd095640444afa19 +SIZE (golang-mod-v0.27.0_GH0.tar.gz) = 126553 +SHA256 (golang-net-v0.43.0_GH0.tar.gz) = 82b2d04549216f36a8c538a756010a90222e3942ab815596b86a62dbf766f2d2 +SIZE (golang-net-v0.43.0_GH0.tar.gz) = 1504428 +SHA256 (golang-sync-v0.17.0_GH0.tar.gz) = 43bb928dbf895ec51797c1ec8899dd8cbb57af34e8e0c4960609cb957af1aad7 +SIZE (golang-sync-v0.17.0_GH0.tar.gz) = 18189 +SHA256 (golang-sys-v0.36.0_GH0.tar.gz) = 5a4963997b147e64a840afb93c662bf4e320a3089d4540b7c0cbc982ad09bc2a +SIZE (golang-sys-v0.36.0_GH0.tar.gz) = 1530636 +SHA256 (golang-text-v0.29.0_GH0.tar.gz) = 9fbdba333af6a936b6f54a3c9f730f3e29ecece3f1a98285ff8dfee79225d371 +SIZE (golang-text-v0.29.0_GH0.tar.gz) = 8973069 +SHA256 (golang-tools-v0.36.0_GH0.tar.gz) = 299d2320e8f6adb5b53fb1a32e613b00cd2263237c2c4f8f3a68885040b2cfb9 +SIZE (golang-tools-v0.36.0_GH0.tar.gz) = 9079404 SHA256 (google-gopacket-v1.1.19_GH0.tar.gz) = 31efa87cc9d2b41e5e66c7daa8839d841d2a43cc477bf595c9e8c24ef6903830 SIZE (google-gopacket-v1.1.19_GH0.tar.gz) = 950745 SHA256 (jackpal-gateway-v1.1.1_GH0.tar.gz) = 69842d3b542a8c436f23fabaf40ec8ff88272e0639d7905c3bab2d94ea13b52b SIZE (jackpal-gateway-v1.1.1_GH0.tar.gz) = 16671 SHA256 (kr-pretty-v0.1.0_GH0.tar.gz) = 3aeb5d90b719765781befb9f156d0d0b8e5a7aafbcf15321e9eabbd35df31358 SIZE (kr-pretty-v0.1.0_GH0.tar.gz) = 8550 +SHA256 (leodido-go-urn-v1.4.0_GH0.tar.gz) = 711dcaa61598e44f058be5884aca8ce6d9ba42ed0940fdd280fec36495ed90d3 +SIZE (leodido-go-urn-v1.4.0_GH0.tar.gz) = 1998692 SHA256 (mattn-go-colorable-v0.1.13_GH0.tar.gz) = c3b62c76d365906bba9aa9d9ec048fd33a2a5742299d6482a08e7466d4c52d77 SIZE (mattn-go-colorable-v0.1.13_GH0.tar.gz) = 9762 SHA256 (mattn-go-isatty-v0.0.19_GH0.tar.gz) = 67b1614d495030982d276b211f3ba2a155fad61919ba96e34db8e67ed28660e4 SIZE (mattn-go-isatty-v0.0.19_GH0.tar.gz) = 4679 -SHA256 (mattn-go-runewidth-v0.0.15_GH0.tar.gz) = 44a5d37bd7119a9d288d7ff61cf3b4d42c2902c66b0d94136d41d2eb3cf2ba85 -SIZE (mattn-go-runewidth-v0.0.15_GH0.tar.gz) = 18284 SHA256 (miekg-dns-v1.1.61_GH0.tar.gz) = 90333c02da30c7ec20688e854e34f71d450831e5c4eba007d828864bb4ff4d47 SIZE (miekg-dns-v1.1.61_GH0.tar.gz) = 217914 SHA256 (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 28f3dc1b5c0efd61203ab07233f774740d3bf08da4d8153fb5310db6cea0ebda SIZE (pmezard-go-difflib-v1.0.0_GH0.tar.gz) = 11398 SHA256 (rs-zerolog-v1.33.0_GH0.tar.gz) = 7a32947b007164edb7a888048f8bec6d7de9cf503e79e099d6b6814fad0f6ac7 SIZE (rs-zerolog-v1.33.0_GH0.tar.gz) = 216046 +SHA256 (samber-lo-v1.52.0_GH0.tar.gz) = f2045b040f9afff60182f2c161e1c4aca6a49e656be1022d1eda497d240e8383 +SIZE (samber-lo-v1.52.0_GH0.tar.gz) = 93914 SHA256 (stretchr-objx-v0.5.2_GH0.tar.gz) = c21c81a2e619fe8194c9cfafd577a72fe163df5a384d68799fbc54eef4b0e33f SIZE (stretchr-objx-v0.5.2_GH0.tar.gz) = 33222 SHA256 (stretchr-testify-v1.11.1_GH0.tar.gz) = 4b51fbc0f19e42841013748e6d527314e1d0e7255122766b5fca1d35b4630c69 SIZE (stretchr-testify-v1.11.1_GH0.tar.gz) = 116832 -SHA256 (urfave-cli-v3.5.0_GH0.tar.gz) = bb5987d7ba2c59721496e01a246732955051140126df5f1e6da6d9c9c20ad5e2 -SIZE (urfave-cli-v3.5.0_GH0.tar.gz) = 6805679 +SHA256 (urfave-cli-v3.6.1_GH0.tar.gz) = cfddd39c0df7a7c1f7ec93b0c84fdb4c72ef46d2380a46d273a5cda585cb80cf +SIZE (urfave-cli-v3.6.1_GH0.tar.gz) = 6807151 diff --git a/net/spoofdpi/files/modules.txt b/net/spoofdpi/files/modules.txt index 48c505de7ef7..363d89b25ba8 100644 --- a/net/spoofdpi/files/modules.txt +++ b/net/spoofdpi/files/modules.txt @@ -5,6 +5,14 @@ github.com/BurntSushi/toml/internal # github.com/davecgh/go-spew v1.1.1 ## explicit github.com/davecgh/go-spew/spew +# github.com/gabriel-vasile/mimetype v1.4.10 +## explicit; go 1.21 +# github.com/go-playground/locales v0.14.1 +## explicit; go 1.17 +# github.com/go-playground/universal-translator v0.18.1 +## explicit; go 1.18 +# github.com/go-playground/validator/v10 v10.28.0 +## explicit; go 1.24.0 # github.com/google/gopacket v1.1.19 ## explicit; go 1.12 github.com/google/gopacket @@ -15,6 +23,8 @@ github.com/google/gopacket/pcap github.com/jackpal/gateway # github.com/kr/pretty v0.1.0 ## explicit +# github.com/leodido/go-urn v1.4.0 +## explicit; go 1.18 # github.com/mattn/go-colorable v0.1.13 ## explicit; go 1.15 github.com/mattn/go-colorable @@ -33,6 +43,8 @@ github.com/rs/zerolog github.com/rs/zerolog/internal/cbor github.com/rs/zerolog/internal/json github.com/rs/zerolog/log +# github.com/samber/lo v1.52.0 +## explicit; go 1.18 # github.com/stretchr/objx v0.5.2 ## explicit; go 1.20 github.com/stretchr/objx @@ -41,13 +53,16 @@ github.com/stretchr/objx github.com/stretchr/testify/assert github.com/stretchr/testify/assert/yaml github.com/stretchr/testify/mock -# github.com/urfave/cli/v3 v3.5.0 +github.com/stretchr/testify/require +# github.com/urfave/cli/v3 v3.6.1 ## explicit; go 1.22 github.com/urfave/cli/v3 -# golang.org/x/mod v0.18.0 -## explicit; go 1.18 +# golang.org/x/crypto v0.42.0 +## explicit; go 1.24.0 +# golang.org/x/mod v0.27.0 +## explicit; go 1.23.0 golang.org/x/mod/semver -# golang.org/x/net v0.38.0 +# golang.org/x/net v0.43.0 ## explicit; go 1.23.0 golang.org/x/net/bpf golang.org/x/net/internal/iana @@ -55,19 +70,21 @@ golang.org/x/net/internal/socket golang.org/x/net/ipv4 golang.org/x/net/ipv6 golang.org/x/net/route -# golang.org/x/sync v0.12.0 -## explicit; go 1.23.0 +# golang.org/x/sync v0.17.0 +## explicit; go 1.24.0 golang.org/x/sync/errgroup -# golang.org/x/sys v0.31.0 -## explicit; go 1.23.0 +# golang.org/x/sys v0.36.0 +## explicit; go 1.24.0 golang.org/x/sys/unix golang.org/x/sys/windows -# golang.org/x/tools v0.22.0 -## explicit; go 1.19 +# golang.org/x/text v0.29.0 +## explicit; go 1.24.0 +# golang.org/x/tools v0.36.0 +## explicit; go 1.23.0 golang.org/x/tools/go/gcexportdata -golang.org/x/tools/go/internal/packagesdriver golang.org/x/tools/go/packages golang.org/x/tools/go/types/objectpath +golang.org/x/tools/go/types/typeutil golang.org/x/tools/internal/aliases golang.org/x/tools/internal/event golang.org/x/tools/internal/event/core @@ -78,7 +95,7 @@ golang.org/x/tools/internal/gocommand golang.org/x/tools/internal/packagesinternal golang.org/x/tools/internal/pkgbits golang.org/x/tools/internal/stdlib -golang.org/x/tools/internal/tokeninternal +golang.org/x/tools/internal/typeparams golang.org/x/tools/internal/typesinternal golang.org/x/tools/internal/versions # gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15 diff --git a/net/spoofdpi/files/pkg-message.in b/net/spoofdpi/files/pkg-message.in index 2c70f131080e..a102654f3bf3 100644 --- a/net/spoofdpi/files/pkg-message.in +++ b/net/spoofdpi/files/pkg-message.in @@ -34,4 +34,10 @@ You can edit the config via being as root or adding your user to the ${PORTNAME} Config locations are: $SPOOFDPI_CONFIG environment variable, ${ETCDIR}/${PORTNAME}.toml, $XDG_CONFIG_HOME/${PORTNAME}/${PORTNAME}.toml and $HOME/.config/${PORTNAME}/${PORTNAME}.toml EOM } +{ type: upgrade + maximum_version: "1.2.0" + message: << EOM +The whole configuration file has changed, see the documentation for more details. I've updated the sample config in the port. +EOM +} ] diff --git a/net/spoofdpi/files/spoofdpi.in b/net/spoofdpi/files/spoofdpi.in index 7c2beb0fc533..9eeedd64b8b2 100644 --- a/net/spoofdpi/files/spoofdpi.in +++ b/net/spoofdpi/files/spoofdpi.in @@ -10,7 +10,7 @@ # spoofdpi (default empty). # spoofdpi_user (str): User to run spoofdpi as. Default # to "%%USER%%" created by the port. -# spoofdpi_log (path): Console log file (default /dev/null). +# spoofdpi_log (path): Console log file (default /var/log/spoofdpi.log or set to /dev/null to omit). . /etc/rc.subr @@ -33,7 +33,7 @@ load_rc_config "${name}" eval "${rcvar}=\${${rcvar}:-'NO'}" eval "_args=\${${name}_args:-''}" eval "_user=\${${name}_user:-'%%USER%%'}" -eval "_log=\${${name}_log:-/dev/null}" +eval "_log=\${${name}_log:-/var/log/${name}.log}" pidfile="/var/run/${name}.pid" diff --git a/net/spoofdpi/files/spoofdpi.toml.sample b/net/spoofdpi/files/spoofdpi.toml.sample index 3c1af2a7e542..36ce94dbded7 100644 --- a/net/spoofdpi/files/spoofdpi.toml.sample +++ b/net/spoofdpi/files/spoofdpi.toml.sample @@ -1,11 +1,37 @@ -dns-addr = "1.1.1.1" -dns-port = "53" +[general] + +# Available values are debug, trace, info, warn, error, and disabled. (default: "info") +log-level = "info" + +# Don't print banner +silent = true + +# This option is currently only supported on macOS. +system-proxy = false + +[server] # If you want to run SpoofDPI remotely (e.g., on a physically separated machine), then you should set this value # to 0.0.0.0. Otherwise, it is recommended to leave this option as default. -listen-addr = "127.0.0.1" +listen-addr = "127.0.0.1:8080" + +[dns] + +# available options: udp/https/system (default: "udp") +mode = "https" + +# DNS address and port number +# this is used when dns-mode is set to udp. +addr = "8.8.8.8:53" + +# This is used when dns-mode is set to https. +https-url = "https://dns.google/dns-query" + +# Filters DNS queries by record type (A for IPv4, AAAA for IPv6). +# Available values are "ipv4", "ipv6", and "all". +# If your Internet Service Provider (ISP) doesn't support IPv6, it is recommended to set this option to "ipv4" for stability. +qtype = "all" -# Port to listen on. -listen-port = "8080" +# If true, DNS records will be cached to improve performance and reduce latency. +cache = false -doh-endpoint = "https://dns.google/dns-query" diff --git a/net/traefik/Makefile b/net/traefik/Makefile index 34c00b981ac1..e78c585fe67d 100644 --- a/net/traefik/Makefile +++ b/net/traefik/Makefile @@ -13,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md BUILD_DEPENDS= go-bindata:devel/go-bindata -USES= cpe go:1.24,modules tar:xz +USES= cpe go:1.24+,modules tar:xz USE_RC_SUBR= traefik diff --git a/net/trippy/Makefile b/net/trippy/Makefile index 2e500d243b3a..5dcaa0ccccd8 100644 --- a/net/trippy/Makefile +++ b/net/trippy/Makefile @@ -1,6 +1,6 @@ PORTNAME= trippy DISTVERSION= 0.13.0 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= net MAINTAINER= ehaupt@FreeBSD.org diff --git a/net/ucarp/Makefile b/net/ucarp/Makefile index 59f585ab4a8c..a6ded17be4c3 100644 --- a/net/ucarp/Makefile +++ b/net/ucarp/Makefile @@ -11,15 +11,16 @@ LICENSE_NAME= ISC License LICENSE_FILE= ${WRKSRC}/COPYING LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept -USES= autoreconf libtool +USES= autoreconf gettext-tools libtool USE_GITHUB= yes GH_ACCOUNT= jedisct1 GH_PROJECT= UCarp GH_TAGNAME= 4f339d4 -GNU_CONFIGURE= yes - USE_RC_SUBR= ucarp +GNU_CONFIGURE= yes +CONFIGURE_ARGS= --disable-nls + PLIST_FILES= sbin/ucarp OPTIONS_DEFINE= SCRIPTS @@ -28,9 +29,6 @@ OPTIONS_DEFAULT= SCRIPTS SCRIPTS_DESC= Install scripts to manage virtual IP SCRIPTS_PLIST_FILES= sbin/ucarp-up sbin/ucarp-down -pre-configure: - @${TOUCH} ${WRKSRC}/config.rpath ${WRKSRC}/ABOUT-NLS - post-install-SCRIPTS-on: ${INSTALL_SCRIPT} ${WRKSRC}/examples/bsd/vip-up.sh ${STAGEDIR}${PREFIX}/sbin/ucarp-up ${INSTALL_SCRIPT} ${WRKSRC}/examples/bsd/vip-down.sh ${STAGEDIR}${PREFIX}/sbin/ucarp-down diff --git a/net/udp-over-tcp/Makefile b/net/udp-over-tcp/Makefile index 9fd9fcdce313..40466fbda999 100644 --- a/net/udp-over-tcp/Makefile +++ b/net/udp-over-tcp/Makefile @@ -1,7 +1,7 @@ PORTNAME= udp-over-tcp DISTVERSIONPREFIX= v DISTVERSION= 0.4.0 -PORTREVISION= 14 +PORTREVISION= 15 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/uriparser/Makefile b/net/uriparser/Makefile index 8674d5eeee00..d5521497000e 100644 --- a/net/uriparser/Makefile +++ b/net/uriparser/Makefile @@ -1,9 +1,13 @@ PORTNAME= uriparser -DISTVERSION= 0.9.9 +DISTVERSION= 1.0.0 +PORTREVISION= 1 CATEGORIES= net -MASTER_SITES= https://github.com/uriparser/uriparser/releases/download/uriparser-${DISTVERSION}/ -DISTFILES= ${DISTNAME}${EXTRACT_SUFX} -EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} +MASTER_SITES= https://github.com/${PORTNAME}/${PORTNAME}/releases/download/${PORTNAME}-${DISTVERSION}/ +DISTFILES= ${DISTNAME}${EXTRACT_SUFX} \ + ${DISTNAME}-doc.zip \ + ${DISTNAME}-doc.qch +EXTRACT_ONLY= ${DISTNAME}${EXTRACT_SUFX} \ + ${DISTNAME}-doc.zip MAINTAINER= svysh.fbsd@gmail.com COMMENT= URI parsing library @@ -16,35 +20,24 @@ LICENSE_FILE_BSD3CLAUSE= ${WRKSRC}/COPYING.BSD-3-Clause LICENSE_FILE_LGPL21+ = ${WRKSRC}/COPYING.LGPL-2.1 LICENSE_FILE= ${WRKSRC}/README.md -BUILD_DEPENDS= bash:shells/bash TEST_DEPENDS= googletest>=1.10.0:devel/googletest -USES= cmake:noninja,testing cpe pathfix tar:xz +USES= cmake:testing cpe pathfix tar:xz CPE_VENDOR= uriparser_project - USE_LDCONFIG= yes CMAKE_OFF= URIPARSER_BUILD_TESTS \ - URIPARSER_BUILD_DOCS # will fetch prebuilds from the upstream, if DOCS is selected + URIPARSER_BUILD_DOCS CMAKE_TESTING_ON= URIPARSER_BUILD_TESTS PLIST_SUB= DISTVERSION=${DISTVERSION} PORTDOCS= * -OPTIONS_DEFINE= DOCS -DOCS_DISTFILES= ${_DISTDOCSFILE} \ - ${_DISTDOCSNAME}.qch -DOCS_EXTRACT_ONLY= ${_DISTDOCSFILE} - -_DISTDOCSFILE= ${_DISTDOCSNAME}.zip -_DISTDOCSNAME= ${DISTNAME}-doc +OPTIONS_DEFINE= DOCS post-install-DOCS-on: ${MKDIR} ${STAGEDIR}${DOCSDIR}/qch - cd ${WRKSRC}/doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} - cd ${WRKSRC}/../${_DISTDOCSNAME} && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} - ${INSTALL_MAN} ${DISTDIR}/${_DISTDOCSNAME}.qch ${STAGEDIR}${DOCSDIR}/qch - ( ${ECHO} "QCH file is a QT Compressed Help file, generated by doxygen, cf:"; \ - ${ECHO} "https://doc.qt.io/qt-5/assistant-details.html"; ) > ${STAGEDIR}${DOCSDIR}/qch/readme-qch + (cd ${WRKDIR}/${DISTNAME}-doc && ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}) + ${INSTALL_MAN} ${DISTDIR}/${DISTNAME}-doc.qch ${STAGEDIR}${DOCSDIR}/qch .include <bsd.port.mk> diff --git a/net/uriparser/distinfo b/net/uriparser/distinfo index 36da18cf9f8f..e12f068203ac 100644 --- a/net/uriparser/distinfo +++ b/net/uriparser/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1756936162 -SHA256 (uriparser-0.9.9.tar.xz) = 85645df1bb220a3867c42f8adeba4f6a4b2fdc1563e91ad7d9f92d14d3dd377d -SIZE (uriparser-0.9.9.tar.xz) = 193436 -SHA256 (uriparser-0.9.9-doc.zip) = 773c19084b39357bd2e96a6db73e1039375d7a2d27d6c594be2de92d41c42625 -SIZE (uriparser-0.9.9-doc.zip) = 277932 -SHA256 (uriparser-0.9.9-doc.qch) = bc9fdabd2224b80887c3c0af58e3e829c8864567f32605a2fbe258c0cf6ea4db -SIZE (uriparser-0.9.9-doc.qch) = 405504 +TIMESTAMP = 1765831847 +SHA256 (uriparser-1.0.0.tar.xz) = 154a3f649d80a78d5095fc461ec032ffb45f5ed3619edec923ac68cff29a088d +SIZE (uriparser-1.0.0.tar.xz) = 200048 +SHA256 (uriparser-1.0.0-doc.zip) = 089de452fe185cf79523c93f5692a88029fd19d1f6953557363f145a1fc6a711 +SIZE (uriparser-1.0.0-doc.zip) = 280173 +SHA256 (uriparser-1.0.0-doc.qch) = e6ab4eb2542c91c00f702d902d07519ffcf5f369678c71341cfa963c802cc930 +SIZE (uriparser-1.0.0-doc.qch) = 405504 diff --git a/net/uriparser/pkg-plist b/net/uriparser/pkg-plist index abb20a41f951..add9f1c4fac2 100644 --- a/net/uriparser/pkg-plist +++ b/net/uriparser/pkg-plist @@ -7,7 +7,7 @@ include/uriparser/UriDefsUnicode.h include/uriparser/UriIp4.h lib/liburiparser.so lib/liburiparser.so.1 -lib/liburiparser.so.1.1.0 +lib/liburiparser.so.1.2.0 lib/cmake/uriparser-%%DISTVERSION%%/uriparser-config-version.cmake lib/cmake/uriparser-%%DISTVERSION%%/uriparser-config.cmake lib/cmake/uriparser-%%DISTVERSION%%/uriparser-%%CMAKE_BUILD_TYPE%%.cmake diff --git a/net/wangle/Makefile b/net/wangle/Makefile index a27196ab9fd7..018eda954cdd 100644 --- a/net/wangle/Makefile +++ b/net/wangle/Makefile @@ -1,7 +1,6 @@ PORTNAME= wangle DISTVERSIONPREFIX= v -DISTVERSION= 2025.12.01.00 -PORTREVISION= 1 +DISTVERSION= 2025.12.15.00 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/wangle/distinfo b/net/wangle/distinfo index 5761d05dcea5..98bc578f155b 100644 --- a/net/wangle/distinfo +++ b/net/wangle/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1764662193 -SHA256 (facebook-wangle-v2025.12.01.00_GH0.tar.gz) = 65b685e815e2d9f547657a7a6ac78d433baae074f75e904bcc2816aa0904b862 -SIZE (facebook-wangle-v2025.12.01.00_GH0.tar.gz) = 377502 +TIMESTAMP = 1765873866 +SHA256 (facebook-wangle-v2025.12.15.00_GH0.tar.gz) = 5f5ed1f14f45875009d349eafa6c3a5bce448e55c2594ad6e5b7eeedd15aa57f +SIZE (facebook-wangle-v2025.12.15.00_GH0.tar.gz) = 378634 diff --git a/net/waypipe/Makefile b/net/waypipe/Makefile index 6fd5b28ef70f..4fb701e762ac 100644 --- a/net/waypipe/Makefile +++ b/net/waypipe/Makefile @@ -1,6 +1,7 @@ PORTNAME= waypipe DISTVERSIONPREFIX= v DISTVERSION= 0.10.6 +PORTREVISION= 1 CATEGORIES= net wayland MAINTAINER= jbeich@FreeBSD.org diff --git a/net/wifi-firmware-ath10k-kmod/Makefile b/net/wifi-firmware-ath10k-kmod/Makefile index ea85ccf14259..d6f39ea9ab9c 100644 --- a/net/wifi-firmware-ath10k-kmod/Makefile +++ b/net/wifi-firmware-ath10k-kmod/Makefile @@ -2,96 +2,118 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod FWDRV= ath10k FWSUBDIR= ath10k -FWDRV_VERSION= 20240513 +FWDRV_VERSION= 20251125 LICENSE_FILE= LICENSE.QualcommAtheros_ath10k LICENSE_NAME= QCA firmware license (${FWDRV}) WHENCE_REGEX= ath10k -.* -# The flavor/firmware lists below are generated by a script -# also helping to generate the fwget(8) definitions. -# { sys/contrib/dev/athk/ath10k/zzz_fw_ports_fwget.sh } +# The flavor/firmware lists below are generated by the +# files/extract-fw-list.sh script. Usage: +# 1: checkout the correct tag (FWDRV_VERSION) in linux-firmware.git. +# 2: ./files/extract-fw-list.sh /path/to/linux-firmware.git ath10k ### >>> FWSUBS= \ - qca988x_hw20 \ + qca4019_hw10 \ qca6174_hw21 \ qca6174_hw30 \ - qca99x0_hw20 \ qca9377_hw10 \ - qca9984_hw10 \ qca9887_hw10 \ - qca9888_hw20 + qca9888_hw20 \ + qca988x_hw20 \ + qca9984_hw10 \ + qca99x0_hw20 \ + wcn3990_hw10 -DISTFILES_qca988x_hw20= \ - ${FWSUBDIR}/QCA988X/hw2.0/board.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/QCA988X/hw2.0/firmware-4.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/QCA988X/hw2.0/firmware-5.bin${DISTURL_SUFFIX} -DISTFILES_qca988x_hw20_lic= \ - ${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-4.txt${DISTURL_SUFFIX} \ - ${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} -DISTFILES_qca6174_hw21= \ +DISTFILES_qca4019_hw10+= \ + ${FWSUBDIR}/QCA4019/hw1.0/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA4019/hw1.0/firmware-5.bin${DISTURL_SUFFIX} +DISTFILES_qca4019_hw10_lic+= \ + ${FWSUBDIR}/QCA4019/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} +DISTFILES_qca6174_hw21+= \ ${FWSUBDIR}/QCA6174/hw2.1/board-2.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA6174/hw2.1/board.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA6174/hw2.1/firmware-5.bin${DISTURL_SUFFIX} -DISTFILES_qca6174_hw21_lic= \ +DISTFILES_qca6174_hw21_lic+= \ ${FWSUBDIR}/QCA6174/hw2.1/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} -DISTFILES_qca6174_hw30= \ +DISTFILES_qca6174_hw30+= \ ${FWSUBDIR}/QCA6174/hw3.0/board-2.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA6174/hw3.0/board.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA6174/hw3.0/firmware-4.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/QCA6174/hw3.0/firmware-6.bin${DISTURL_SUFFIX} -DISTFILES_qca6174_hw30_lic= \ + ${FWSUBDIR}/QCA6174/hw3.0/firmware-6.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA6174/hw3.0/firmware-sdio-6.bin${DISTURL_SUFFIX} +DISTFILES_qca6174_hw30_lic+= \ ${FWSUBDIR}/QCA6174/hw3.0/notice_ath10k_firmware-4.txt${DISTURL_SUFFIX} \ - ${FWSUBDIR}/QCA6174/hw3.0/notice_ath10k_firmware-6.txt${DISTURL_SUFFIX} -DISTFILES_qca99x0_hw20= \ - ${FWSUBDIR}/QCA99X0/hw2.0/board-2.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/QCA99X0/hw2.0/firmware-5.bin${DISTURL_SUFFIX} -DISTFILES_qca99x0_hw20_lic= \ - ${FWSUBDIR}/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} -DISTFILES_qca9377_hw10= \ + ${FWSUBDIR}/QCA6174/hw3.0/notice_ath10k_firmware-6.txt${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA6174/hw3.0/notice_ath10k_firmware-sdio-6.txt${DISTURL_SUFFIX} +DISTFILES_qca9377_hw10+= \ ${FWSUBDIR}/QCA9377/hw1.0/board-2.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA9377/hw1.0/board.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA9377/hw1.0/firmware-5.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/QCA9377/hw1.0/firmware-6.bin${DISTURL_SUFFIX} -DISTFILES_qca9377_hw10_lic= \ + ${FWSUBDIR}/QCA9377/hw1.0/firmware-6.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA9377/hw1.0/firmware-sdio-5.bin${DISTURL_SUFFIX} +DISTFILES_qca9377_hw10_lic+= \ ${FWSUBDIR}/QCA9377/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} \ - ${FWSUBDIR}/QCA9377/hw1.0/notice_ath10k_firmware-6.txt${DISTURL_SUFFIX} -DISTFILES_qca9984_hw10= \ - ${FWSUBDIR}/QCA9984/hw1.0/board-2.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/QCA9984/hw1.0/firmware-5.bin${DISTURL_SUFFIX} -DISTFILES_qca9984_hw10_lic= \ - ${FWSUBDIR}/QCA9984/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} -DISTFILES_qca9887_hw10= \ + ${FWSUBDIR}/QCA9377/hw1.0/notice_ath10k_firmware-6.txt${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA9377/hw1.0/notice_ath10k_firmware-sdio-5.txt${DISTURL_SUFFIX} +DISTFILES_qca9887_hw10+= \ ${FWSUBDIR}/QCA9887/hw1.0/board.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA9887/hw1.0/firmware-5.bin${DISTURL_SUFFIX} -DISTFILES_qca9887_hw10_lic= \ +DISTFILES_qca9887_hw10_lic+= \ ${FWSUBDIR}/QCA9887/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} -DISTFILES_qca9888_hw20= \ +DISTFILES_qca9888_hw20+= \ ${FWSUBDIR}/QCA9888/hw2.0/board-2.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA9888/hw2.0/firmware-5.bin${DISTURL_SUFFIX} -DISTFILES_qca9888_hw20_lic= \ +DISTFILES_qca9888_hw20_lic+= \ ${FWSUBDIR}/QCA9888/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} +DISTFILES_qca988x_hw20+= \ + ${FWSUBDIR}/QCA988X/hw2.0/board.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA988X/hw2.0/firmware-4.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA988X/hw2.0/firmware-5.bin${DISTURL_SUFFIX} +DISTFILES_qca988x_hw20_lic+= \ + ${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-4.txt${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA988X/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} +DISTFILES_qca9984_hw10+= \ + ${FWSUBDIR}/QCA9984/hw1.0/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA9984/hw1.0/firmware-5.bin${DISTURL_SUFFIX} +DISTFILES_qca9984_hw10_lic+= \ + ${FWSUBDIR}/QCA9984/hw1.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} +DISTFILES_qca99x0_hw20+= \ + ${FWSUBDIR}/QCA99X0/hw2.0/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA99X0/hw2.0/firmware-5.bin${DISTURL_SUFFIX} +DISTFILES_qca99x0_hw20_lic+= \ + ${FWSUBDIR}/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt${DISTURL_SUFFIX} +DISTFILES_wcn3990_hw10+= \ + ${FWSUBDIR}/WCN3990/hw1.0/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN3990/hw1.0/firmware-5.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN3990/hw1.0/notice.txt_wlanmdsp${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN3990/hw1.0/qcm2290/firmware-5.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN3990/hw1.0/qcm2290/wlanmdsp.mbn${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN3990/hw1.0/wlanmdsp.mbn${DISTURL_SUFFIX} DISTFILES_${FWDRV}= \ - ${DISTFILES_qca988x_hw20} \ + ${DISTFILES_qca4019_hw10} \ ${DISTFILES_qca6174_hw21} \ ${DISTFILES_qca6174_hw30} \ - ${DISTFILES_qca99x0_hw20} \ ${DISTFILES_qca9377_hw10} \ - ${DISTFILES_qca9984_hw10} \ ${DISTFILES_qca9887_hw10} \ - ${DISTFILES_qca9888_hw20} + ${DISTFILES_qca9888_hw20} \ + ${DISTFILES_qca988x_hw20} \ + ${DISTFILES_qca9984_hw10} \ + ${DISTFILES_qca99x0_hw20} \ + ${DISTFILES_wcn3990_hw10} DISTFILES_${FWDRV}_lic= \ - ${DISTFILES_qca988x_hw20_lic} \ + ${DISTFILES_qca4019_hw10_lic} \ ${DISTFILES_qca6174_hw21_lic} \ ${DISTFILES_qca6174_hw30_lic} \ - ${DISTFILES_qca99x0_hw20_lic} \ ${DISTFILES_qca9377_hw10_lic} \ - ${DISTFILES_qca9984_hw10_lic} \ ${DISTFILES_qca9887_hw10_lic} \ - ${DISTFILES_qca9888_hw20_lic} + ${DISTFILES_qca9888_hw20_lic} \ + ${DISTFILES_qca988x_hw20_lic} \ + ${DISTFILES_qca9984_hw10_lic} \ + ${DISTFILES_qca99x0_hw20_lic} ### <<< diff --git a/net/wifi-firmware-ath10k-kmod/distinfo b/net/wifi-firmware-ath10k-kmod/distinfo index 743dfdd3a1a3..1792b8ef9ed4 100644 --- a/net/wifi-firmware-ath10k-kmod/distinfo +++ b/net/wifi-firmware-ath10k-kmod/distinfo @@ -1,71 +1,97 @@ -TIMESTAMP = 1715895491 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/board.bin?h=20240513) = 5b5b380333c2dd3b6ce67f30e2f7008f4020bf594970d3b464fd8d4a80fcd880 -SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/board.bin?h=20240513) = 2116 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-4.bin?h=20240513) = 208f91dd40b7db5feb645104125338491ca932028c2dd858bb12f07ac6c90cc1 -SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-4.bin?h=20240513) = 241892 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-5.bin?h=20240513) = 15867031c87f1d7408c1b25fb6419077a1b97de208f2aa58c3266b60e1f8daa2 -SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-5.bin?h=20240513) = 249044 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board-2.bin?h=20240513) = fd5cab002d3533b674dfda6ec92d1d705c267c46d0e2e4dc8c917360e9e4913e -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board-2.bin?h=20240513) = 263188 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board.bin?h=20240513) = 23c51bdaf0ec685d9ce2ecf08fa91d05dc8c6506f82f0811cd365b55a92cbad1 -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board.bin?h=20240513) = 8124 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/firmware-5.bin?h=20240513) = cc77874b709e26ffcc1cd548a4813e4be8cd523329c1b3ba34e341417d2935c5 -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/firmware-5.bin?h=20240513) = 498172 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board-2.bin?h=20240513) = 66e83dde1c9af535df1fcd17c72971a96a263357300e921b358d35a353227d60 -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board-2.bin?h=20240513) = 740076 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board.bin?h=20240513) = 1a8d225818b46986fc4f615594fbe448fa820618590d6902c8f844bb37cda667 -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board.bin?h=20240513) = 8124 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-4.bin?h=20240513) = dc74ba148cf88f1f99a62854112ec574d8c265d88417a4d969461448b0ab60c5 -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-4.bin?h=20240513) = 733784 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-6.bin?h=20240513) = 04d3bad5efa3f9fbe3ba53fd3e25fa9b0585ed227eea8111303b4e08861f979d -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-6.bin?h=20240513) = 706360 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/board-2.bin?h=20240513) = 24148daa956ef4bebb903dbc77cbe458796f9db70adc0433023a0a0254c7d8e5 -SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/board-2.bin?h=20240513) = 169824 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/firmware-5.bin?h=20240513) = 5fbc2e717327e9482bce212497b2a34fe7f7c82607c94d49e39f95a46ca1b2a3 -SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/firmware-5.bin?h=20240513) = 479332 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board-2.bin?h=20240513) = 0fdcc7838f478da81704de88f7b33e28862110c6d5decf7818543f8e37e6cd98 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board-2.bin?h=20240513) = 304308 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board.bin?h=20240513) = 127d35d82edb46278f30c448cbca664d755ff0d5fed57b649959cdbc4208c768 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board.bin?h=20240513) = 8124 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-5.bin?h=20240513) = 95ed94c24795c31dbdf8c97ab7278dd3a107673ea7330dfe4d01b1c65965f7a8 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-5.bin?h=20240513) = 783336 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-6.bin?h=20240513) = 8f8b002fccfe81d42238f27dd1f56d189604f180bd4772c7c8e75ae1fef16f01 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-6.bin?h=20240513) = 751436 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/board-2.bin?h=20240513) = 9a04d0c801c69db16399c47e5e65ef6311da2785918b26fa83b9392e83b81e64 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/board-2.bin?h=20240513) = 281312 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/firmware-5.bin?h=20240513) = 4a11cbb3f2838f6c003b85f3b6c7c5043f1efd2858f2ca52346523ec938460c3 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/firmware-5.bin?h=20240513) = 681672 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/board.bin?h=20240513) = cf4df099f6ee05c181f55ce17297a1d32c61d725eb96246fd315ad5587c42426 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/board.bin?h=20240513) = 1024 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/firmware-5.bin?h=20240513) = 18c3d42a22c584383000131d423d7473d44d654f88c3fccca9a950802db8b07e -SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/firmware-5.bin?h=20240513) = 238548 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/board-2.bin?h=20240513) = e2d2b04873844e304066d1c95032b96fda314eea5a497c6134f29f2f9676188e -SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/board-2.bin?h=20240513) = 218596 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/firmware-5.bin?h=20240513) = 89d4488053035c645559e3160e71321807f439b3ac9a2268a2a227147f67ddf4 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/firmware-5.bin?h=20240513) = 693700 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt?h=20240513) = 5186f5fdda2cf0348dffecd04e97c1f0364d04b189bc72ae7c76ba2417e098a8 -SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt?h=20240513) = 13890 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 98c0dc5559c1bf5934a29683fdc032e0df834c7197c38bcadd58aafb1a3ee443 -SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 15441 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt?h=20240513) = 631065703055d11b099477c508508f20a80b202aad548a7726564bfa59a96c91 -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt?h=20240513) = 46087 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt?h=20240513) = 3b5eb392b2d9d8c46d6aae26d06c187e5ea3029b12d13bc2b8deb8b3ce6bfa53 -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt?h=20240513) = 79689 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt?h=20240513) = 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021 -SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt?h=20240513) = 53425 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 874195144a7f1114fee287ad1112a4fc9c785e0bf16279bf2673644b8b440f4e -SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 29133 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 7fef27f33c95ed680c21809edacdd90736ed3c903e6c224eb72f947c35e9856c -SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 46143 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt?h=20240513) = 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt?h=20240513) = 53425 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da -SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 30479 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 98c0dc5559c1bf5934a29683fdc032e0df834c7197c38bcadd58aafb1a3ee443 -SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt?h=20240513) = 15441 -SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da -SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt?h=20240513) = 30479 -SHA256 (linux-firmware/ath10kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f -SIZE (linux-firmware/ath10kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 2713 -SHA256 (linux-firmware/ath10kfw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763 -SIZE (linux-firmware/ath10kfw/WHENCE?h=20240513) = 274394 +TIMESTAMP = 1765581611 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/board-2.bin?h=20251125) = c0393d68c1c4004920c3aa33ed944ee44dd5355600b2332612493fe33d30a317 +SIZE (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/board-2.bin?h=20251125) = 1822336 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/firmware-5.bin?h=20251125) = ce5ff248312aef77c620eb93d5bc290ddf68447c5ac9c91c845abab7163a9e70 +SIZE (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/firmware-5.bin?h=20251125) = 583344 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board-2.bin?h=20251125) = fd5cab002d3533b674dfda6ec92d1d705c267c46d0e2e4dc8c917360e9e4913e +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board-2.bin?h=20251125) = 263188 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board.bin?h=20251125) = 23c51bdaf0ec685d9ce2ecf08fa91d05dc8c6506f82f0811cd365b55a92cbad1 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/board.bin?h=20251125) = 8124 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/firmware-5.bin?h=20251125) = cc77874b709e26ffcc1cd548a4813e4be8cd523329c1b3ba34e341417d2935c5 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/firmware-5.bin?h=20251125) = 498172 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board-2.bin?h=20251125) = 66e83dde1c9af535df1fcd17c72971a96a263357300e921b358d35a353227d60 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board-2.bin?h=20251125) = 740076 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board.bin?h=20251125) = 1a8d225818b46986fc4f615594fbe448fa820618590d6902c8f844bb37cda667 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/board.bin?h=20251125) = 8124 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-4.bin?h=20251125) = dc74ba148cf88f1f99a62854112ec574d8c265d88417a4d969461448b0ab60c5 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-4.bin?h=20251125) = 733784 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-6.bin?h=20251125) = 04d3bad5efa3f9fbe3ba53fd3e25fa9b0585ed227eea8111303b4e08861f979d +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-6.bin?h=20251125) = 706360 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-sdio-6.bin?h=20251125) = b5fc019e98de2035ae00feb7c7db332c6c417cb763a8007c774cedb2e515eb06 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/firmware-sdio-6.bin?h=20251125) = 607252 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board-2.bin?h=20251125) = 0fdcc7838f478da81704de88f7b33e28862110c6d5decf7818543f8e37e6cd98 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board-2.bin?h=20251125) = 304308 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board.bin?h=20251125) = 127d35d82edb46278f30c448cbca664d755ff0d5fed57b649959cdbc4208c768 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/board.bin?h=20251125) = 8124 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-5.bin?h=20251125) = 95ed94c24795c31dbdf8c97ab7278dd3a107673ea7330dfe4d01b1c65965f7a8 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-5.bin?h=20251125) = 783336 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-6.bin?h=20251125) = 8f8b002fccfe81d42238f27dd1f56d189604f180bd4772c7c8e75ae1fef16f01 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-6.bin?h=20251125) = 751436 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-sdio-5.bin?h=20251125) = 017b4ae7bdb5821ecb439fbf96d198421a57926918f2513db5fbd6d9c01debe6 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/firmware-sdio-5.bin?h=20251125) = 617852 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/board.bin?h=20251125) = cf4df099f6ee05c181f55ce17297a1d32c61d725eb96246fd315ad5587c42426 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/board.bin?h=20251125) = 1024 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/firmware-5.bin?h=20251125) = 18c3d42a22c584383000131d423d7473d44d654f88c3fccca9a950802db8b07e +SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/firmware-5.bin?h=20251125) = 238548 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/board-2.bin?h=20251125) = e2d2b04873844e304066d1c95032b96fda314eea5a497c6134f29f2f9676188e +SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/board-2.bin?h=20251125) = 218596 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/firmware-5.bin?h=20251125) = 89d4488053035c645559e3160e71321807f439b3ac9a2268a2a227147f67ddf4 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/firmware-5.bin?h=20251125) = 693700 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/board.bin?h=20251125) = 5b5b380333c2dd3b6ce67f30e2f7008f4020bf594970d3b464fd8d4a80fcd880 +SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/board.bin?h=20251125) = 2116 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-4.bin?h=20251125) = 208f91dd40b7db5feb645104125338491ca932028c2dd858bb12f07ac6c90cc1 +SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-4.bin?h=20251125) = 241892 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-5.bin?h=20251125) = 15867031c87f1d7408c1b25fb6419077a1b97de208f2aa58c3266b60e1f8daa2 +SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/firmware-5.bin?h=20251125) = 249044 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/board-2.bin?h=20251125) = 9a04d0c801c69db16399c47e5e65ef6311da2785918b26fa83b9392e83b81e64 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/board-2.bin?h=20251125) = 281312 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/firmware-5.bin?h=20251125) = 4a11cbb3f2838f6c003b85f3b6c7c5043f1efd2858f2ca52346523ec938460c3 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/firmware-5.bin?h=20251125) = 681672 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/board-2.bin?h=20251125) = 24148daa956ef4bebb903dbc77cbe458796f9db70adc0433023a0a0254c7d8e5 +SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/board-2.bin?h=20251125) = 169824 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/firmware-5.bin?h=20251125) = 5fbc2e717327e9482bce212497b2a34fe7f7c82607c94d49e39f95a46ca1b2a3 +SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/firmware-5.bin?h=20251125) = 479332 +SHA256 (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/board-2.bin?h=20251125) = c03d801cba1233914d777644e368ea942f36064e805ba6102514dedb47e53c76 +SIZE (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/board-2.bin?h=20251125) = 670116 +SHA256 (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/firmware-5.bin?h=20251125) = fef6539e0127579536bc977be57a90d018b83f2931fedc3a8870fbe38d6c4127 +SIZE (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/firmware-5.bin?h=20251125) = 60 +SHA256 (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp?h=20251125) = d7a42cb726d992c427fc130b60b076c5536297aafceecdb053b1b5de17f7d5fa +SIZE (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp?h=20251125) = 27005 +SHA256 (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/qcm2290/firmware-5.bin?h=20251125) = 80daf4f3a89e6ea8222e45387bb362c854fcd30c02e9da59ca723b39b269cdd2 +SIZE (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/qcm2290/firmware-5.bin?h=20251125) = 60 +SHA256 (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/qcm2290/wlanmdsp.mbn?h=20251125) = 4a0f4d8a5d7cdc094a5b0b907f4b9906657b76070993fed4d8cc4ccf5776b515 +SIZE (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/qcm2290/wlanmdsp.mbn?h=20251125) = 3828228 +SHA256 (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/wlanmdsp.mbn?h=20251125) = 92e1501254e6de78c0f2e2cf091507d488b608d07e53acd14813a82744823ec2 +SIZE (linux-firmware/ath10kfw/ath10k/WCN3990/hw1.0/wlanmdsp.mbn?h=20251125) = 3725044 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt?h=20251125) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da +SIZE (linux-firmware/ath10kfw/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt?h=20251125) = 30479 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt?h=20251125) = 631065703055d11b099477c508508f20a80b202aad548a7726564bfa59a96c91 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt?h=20251125) = 46087 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt?h=20251125) = 3b5eb392b2d9d8c46d6aae26d06c187e5ea3029b12d13bc2b8deb8b3ce6bfa53 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt?h=20251125) = 79689 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt?h=20251125) = 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt?h=20251125) = 53425 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-sdio-6.txt?h=20251125) = 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021 +SIZE (linux-firmware/ath10kfw/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-sdio-6.txt?h=20251125) = 53425 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt?h=20251125) = 7fef27f33c95ed680c21809edacdd90736ed3c903e6c224eb72f947c35e9856c +SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt?h=20251125) = 46143 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt?h=20251125) = 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt?h=20251125) = 53425 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-sdio-5.txt?h=20251125) = 7fef27f33c95ed680c21809edacdd90736ed3c903e6c224eb72f947c35e9856c +SIZE (linux-firmware/ath10kfw/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-sdio-5.txt?h=20251125) = 46143 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt?h=20251125) = 98c0dc5559c1bf5934a29683fdc032e0df834c7197c38bcadd58aafb1a3ee443 +SIZE (linux-firmware/ath10kfw/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt?h=20251125) = 15441 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt?h=20251125) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da +SIZE (linux-firmware/ath10kfw/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt?h=20251125) = 30479 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt?h=20251125) = 5186f5fdda2cf0348dffecd04e97c1f0364d04b189bc72ae7c76ba2417e098a8 +SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt?h=20251125) = 13890 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt?h=20251125) = 98c0dc5559c1bf5934a29683fdc032e0df834c7197c38bcadd58aafb1a3ee443 +SIZE (linux-firmware/ath10kfw/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt?h=20251125) = 15441 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt?h=20251125) = 29b3bfc290b553a44616f00ddd7a85b26893cdf215597252c65674dc7e9ea2da +SIZE (linux-firmware/ath10kfw/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt?h=20251125) = 30479 +SHA256 (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt?h=20251125) = 874195144a7f1114fee287ad1112a4fc9c785e0bf16279bf2673644b8b440f4e +SIZE (linux-firmware/ath10kfw/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt?h=20251125) = 29133 +SHA256 (linux-firmware/ath10kfw/LICENSE.QualcommAtheros_ath10k?h=20251125) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f +SIZE (linux-firmware/ath10kfw/LICENSE.QualcommAtheros_ath10k?h=20251125) = 2713 +SHA256 (linux-firmware/ath10kfw/WHENCE?h=20251125) = 978a5f084a81eec37f7fc146d0f12b21d263dc1afe97a38bd9556d68fa5b421f +SIZE (linux-firmware/ath10kfw/WHENCE?h=20251125) = 365316 diff --git a/net/wifi-firmware-ath10k-kmod/files/extract-fw-list.sh b/net/wifi-firmware-ath10k-kmod/files/extract-fw-list.sh new file mode 100644 index 000000000000..cf9922f66629 --- /dev/null +++ b/net/wifi-firmware-ath10k-kmod/files/extract-fw-list.sh @@ -0,0 +1,224 @@ +#!/bin/sh +# +# Copyright (c) 2025 The FreeBSD Foundation +# +# This software was developed by Björn Zeeb +# under sponsorship from the FreeBSD Foundation. +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Generate the firmware flavors and files from the WHENCE file in +# linux-firmware.git based on the "MAC" names. +# It is no longer feasible to generate them from the driver as the +# firmware names are fully dynamic and require at least a register +# read on each card. The combinations likely go into the hundreds +# or thousands. +# We still check for the firmware file with the highest API version +# available based on each file name and sort out all the others. +# We also have to sort out the DVM drier parts which we are not +# interested in. +# + +FWDIR=${1:-/nonexistent} +DRVNAME=${2:-NODRVNAMEGIVEN} + +if test ! -d ${FWDIR} -o ! -r ${FWDIR}/WHENCE; then + printf "Cannot find '%s' or '%s/WHENCE'\n" ${FWDIR} ${FWDIR} >&2 + printf "USAGE: %s /path/to/linux-firmware.git ath1xk\n" $0 >&2 + exit +fi +case "${DRVNAME}" in +NODRVNAMEGIVEN) + printf "USAGE: %s /path/to/linux-firmware.git ath1xk\n" $0 >&2 + exit + ;; +esac + +sed -e "s@%%XXX%%@"${DRVNAME}" -.*@g" ../wifi-firmware-kmod/files/WHENCE.awk.in > WHENCE.awk +awk -f WHENCE.awk ${FWDIR}/WHENCE > WHENCE +awk -v FWDIR="${FWDIR}" -v DRVNAME="${DRVNAME}" ' +function file_exists(fname) +{ + xname = FWDIR "/" DRVNAME "/" fname; + + #printf("DEBUG: checking for file %s\n", xname); + + if ((getline _ < xname) >= 0) { + return 1; + } +} + +function known_in_2arr(arr, idx1, idx2) +{ + for (both in arr) { + split(both, sep, SUBSEP); + if (sep[1] == idx1 && sep[2] == idx2) { + return 1; + } + } + return 0; +} + +function get_flavor(name) +{ + + name = tolower(name); + + # remove the file name. + gsub("/[^/]*$", "", name); + + # Reduce to two levels + n = split(name, a, "/") + if (n > 1) { + name = a[1] "/" a[2]; + } + + # replace special characters + gsub("/", "_", name); + gsub("\\.", "", name); + + #printf("FLAVNAME >>%s<<\n", name); + + return name; +} + +function is_flavor_known(name, n, flavarr) +{ + + for (f = 1; f <= n ; f++) { + if (flavarr[f] == name) + return 1; + } + + return 0; +} + +BEGIN { + if (!FWDIR) { + printf "USAGE: -v FWDIR=/path/to/linux-firmware.git\n" + exit + } + + flavors_n = 0; +} +{ + if (! /^File:/) { + next; + } + + gsub("^File: " DRVNAME "/", ""); + + name=$0 + if (!file_exists(name)) { + print "DEBUG :: file does not exist :: " $0; + next; + } + + flav = get_flavor($name); + + if (!is_flavor_known(flav, flavors_n, flavors)) { + flavors[++flavors_n] = flav; + } + + if (name ~ /\.txt$/) { + fwl[flav]++; + fwlic[flav,fwl[flav]] = name; + } else { + fwn[flav]++; + fwname[flav,fwn[flav]] = name; + } +} +END { + # Sort flavors + for (i = 1; i < length(flavors); i++) { + for (j = i + 1; j <= length(flavors); j++) { + if (flavors[i] > flavors[j]) { + t=flavors[i] + flavors[i]=flavors[j] + flavors[j]=t + } + } + } + + printf("FWSUBS="); + for (f = 1; f <= length(flavors); f++) { + if (fwn[flavors[f]] > 0) { + printf(" \\\n\t%s", flavors[f]); + } + } + printf("\n\n"); + + # Deal with all the firmware flavors: + for (f = 1; f <= length(flavors); f++) { + flav=flavors[f]; + + # + # Firmware files. + # + if (fwn[flav] > 0) { + if (f > 1) { + printf("\n"); + } + printf("DISTFILES_%s+=", flav); + } + # Sort + for (i = 1; i < fwn[flav]; i++) { + for (j = i + 1; j <= fwn[flav]; j++) { + if (fwname[flav,i] > fwname[flav,j]) { + t=fwname[flav,i] + fwname[flav,i]=fwname[flav,j] + fwname[flav,j]=t + } + } + } + # Print + for (i = 1; i <= fwn[flav]; i++) { + printf(" \\\n\t\${FWSUBDIR}/%s\${DISTURL_SUFFIX}", fwname[flav,i]); + } + + # + # License files. + # + if (fwl[flav] > 0) { + if (fwn[flav] > 0) { + printf("\n"); + } + printf("DISTFILES_%s_lic+=", flav); + } + # Sort + for (i = 1; i < fwl[flav]; i++) { + for (j = i + 1; j <= fwl[flav]; j++) { + if (fwlic[flav,i] > fwlic[flav,j]) { + t=fwlic[flav,i] + fwlic[flav,i]=fwlic[flav,j] + fwlic[flav,j]=t + } + } + } + # Print + for (i = 1; i <= fwl[flav]; i++) { + printf(" \\\n\t\${FWSUBDIR}/%s\${DISTURL_SUFFIX}", fwlic[flav,i]); + } + } + printf("\n"); + + printf("\n"); + printf("DISTFILES_\${FWDRV}="); + for (f = 1; f <= length(flavors); f++) { + if (fwn[flavors[f]] > 0) { + printf(" \\\n\t\${DISTFILES_%s}", flavors[f]); + } + } + printf("\n"); + printf("DISTFILES_\${FWDRV}_lic="); + for (f = 1; f <= length(flavors); f++) { + if (fwl[flavors[f]] > 0) { + printf(" \\\n\t\${DISTFILES_%s_lic}", flavors[f]); + } + } + printf("\n"); +}' WHENCE + +rm -f WHENCE.awk WHENCE + +# end diff --git a/net/wifi-firmware-ath10k-kmod/pkg-descr b/net/wifi-firmware-ath10k-kmod/pkg-descr index bd34d0f79466..1316f7c1f3b7 100644 --- a/net/wifi-firmware-ath10k-kmod/pkg-descr +++ b/net/wifi-firmware-ath10k-kmod/pkg-descr @@ -1,3 +1 @@ Firmware files for QCA WiFi NICs supported by the ath10k driver. - -Currently only provides firmware for the PCI chipsets. diff --git a/net/wifi-firmware-ath11k-kmod/Makefile b/net/wifi-firmware-ath11k-kmod/Makefile index dce7fbcba597..d5a22634324d 100644 --- a/net/wifi-firmware-ath11k-kmod/Makefile +++ b/net/wifi-firmware-ath11k-kmod/Makefile @@ -2,7 +2,7 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod FWDRV= ath11k FWSUBDIR= ath11k -FWDRV_VERSION= 20240513 +FWDRV_VERSION= 20251125 # Yes, the license is the ath10k one; see WHENCE. LICENSE_FILE= LICENSE.QualcommAtheros_ath10k @@ -11,42 +11,143 @@ LICENSE_NAME= QCA firmware license (${FWDRV}) WHENCE_REGEX= ath11k -.* # The flavor/firmware lists below are generated by a script -# also helping to generate the fwget(8) definitions. -# { sys/contrib/dev/athk/ath11k/zzz_fw_ports_fwget.sh } +# found with the wifi-firmware-ath10k-kmod port. ### >>> FWSUBS= \ + ipq5018_hw10 \ + ipq6018_hw10 \ + ipq8074_hw20 \ + qca2066_hw21 \ qca6390_hw20 \ + qca6698aq_hw21 \ qcn9074_hw10 \ + wcn6750_hw10 \ wcn6855_hw20 -DISTFILES_qca6390_hw20= \ +DISTFILES_ipq5018_hw10+= \ + ${FWSUBDIR}/IPQ5018/hw1.0/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/m3_fw.b00${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/m3_fw.b01${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/m3_fw.b02${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/m3_fw.flist${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/m3_fw.mdt${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b00${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b01${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b02${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b03${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b04${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b05${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b07${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b08${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b09${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b10${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b11${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b13${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.b14${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.flist${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ5018/hw1.0/q6_fw.mdt${DISTURL_SUFFIX} +DISTFILES_ipq5018_hw10_lic+= \ + ${FWSUBDIR}/IPQ5018/hw1.0/Notice.txt${DISTURL_SUFFIX} +DISTFILES_ipq6018_hw10+= \ + ${FWSUBDIR}/IPQ6018/hw1.0/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.b00${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.b01${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.b02${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.flist${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/m3_fw.mdt${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b00${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b01${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b02${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b03${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b04${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b05${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b07${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.b08${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.flist${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ6018/hw1.0/q6_fw.mdt${DISTURL_SUFFIX} +DISTFILES_ipq6018_hw10_lic+= \ + ${FWSUBDIR}/IPQ6018/hw1.0/Notice.txt${DISTURL_SUFFIX} +DISTFILES_ipq8074_hw20+= \ + ${FWSUBDIR}/IPQ8074/hw2.0/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.b00${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.b01${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.b02${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.flist${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/m3_fw.mdt${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b00${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b01${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b02${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b03${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b04${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b05${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b07${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.b08${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.flist${DISTURL_SUFFIX} \ + ${FWSUBDIR}/IPQ8074/hw2.0/q6_fw.mdt${DISTURL_SUFFIX} +DISTFILES_ipq8074_hw20_lic+= \ + ${FWSUBDIR}/IPQ8074/hw2.0/Notice.txt${DISTURL_SUFFIX} +DISTFILES_qca2066_hw21+= \ + ${FWSUBDIR}/QCA2066/hw2.1/amss.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA2066/hw2.1/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA2066/hw2.1/m3.bin${DISTURL_SUFFIX} +DISTFILES_qca2066_hw21_lic+= \ + ${FWSUBDIR}/QCA2066/hw2.1/Notice.txt${DISTURL_SUFFIX} +DISTFILES_qca6390_hw20+= \ ${FWSUBDIR}/QCA6390/hw2.0/amss.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA6390/hw2.0/board-2.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCA6390/hw2.0/m3.bin${DISTURL_SUFFIX} -DISTFILES_qca6390_hw20_lic= \ +DISTFILES_qca6390_hw20_lic+= \ ${FWSUBDIR}/QCA6390/hw2.0/Notice.txt${DISTURL_SUFFIX} -DISTFILES_qcn9074_hw10= \ +DISTFILES_qca6698aq_hw21+= \ + ${FWSUBDIR}/QCA6698AQ/hw2.1/amss.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA6698AQ/hw2.1/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCA6698AQ/hw2.1/m3.bin${DISTURL_SUFFIX} +DISTFILES_qca6698aq_hw21_lic+= \ + ${FWSUBDIR}/QCA6698AQ/hw2.1/Notice.txt${DISTURL_SUFFIX} +DISTFILES_qcn9074_hw10+= \ + ${FWSUBDIR}/QCN9074/hw1.0/.notice${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCN9074/hw1.0/amss.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCN9074/hw1.0/board-2.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/QCN9074/hw1.0/m3.bin${DISTURL_SUFFIX} -DISTFILES_qcn9074_hw10_lic= \ +DISTFILES_qcn9074_hw10_lic+= \ ${FWSUBDIR}/QCN9074/hw1.0/Notice.txt${DISTURL_SUFFIX} -DISTFILES_wcn6855_hw20= \ +DISTFILES_wcn6750_hw10+= \ + ${FWSUBDIR}/WCN6750/hw1.0/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN6750/hw1.0/qcm6490/wpss.mbn${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN6750/hw1.0/sc7280/wpss.mbn${DISTURL_SUFFIX} +DISTFILES_wcn6750_hw10_lic+= \ + ${FWSUBDIR}/WCN6750/hw1.0/Notice.txt${DISTURL_SUFFIX} +DISTFILES_wcn6855_hw20+= \ ${FWSUBDIR}/WCN6855/hw2.0/amss.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/WCN6855/hw2.0/board-2.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/WCN6855/hw2.0/m3.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN6855/hw2.0/nfa765/amss.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN6855/hw2.0/nfa765/m3.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/WCN6855/hw2.0/regdb.bin${DISTURL_SUFFIX} -DISTFILES_wcn6855_hw20_lic= \ - ${FWSUBDIR}/WCN6855/hw2.0/Notice.txt${DISTURL_SUFFIX} +DISTFILES_wcn6855_hw20_lic+= \ + ${FWSUBDIR}/WCN6855/hw2.0/Notice.txt${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN6855/hw2.0/nfa765/Notice.txt${DISTURL_SUFFIX} DISTFILES_${FWDRV}= \ + ${DISTFILES_ipq5018_hw10} \ + ${DISTFILES_ipq6018_hw10} \ + ${DISTFILES_ipq8074_hw20} \ + ${DISTFILES_qca2066_hw21} \ ${DISTFILES_qca6390_hw20} \ + ${DISTFILES_qca6698aq_hw21} \ ${DISTFILES_qcn9074_hw10} \ + ${DISTFILES_wcn6750_hw10} \ ${DISTFILES_wcn6855_hw20} DISTFILES_${FWDRV}_lic= \ + ${DISTFILES_ipq5018_hw10_lic} \ + ${DISTFILES_ipq6018_hw10_lic} \ + ${DISTFILES_ipq8074_hw20_lic} \ + ${DISTFILES_qca2066_hw21_lic} \ ${DISTFILES_qca6390_hw20_lic} \ + ${DISTFILES_qca6698aq_hw21_lic} \ ${DISTFILES_qcn9074_hw10_lic} \ + ${DISTFILES_wcn6750_hw10_lic} \ ${DISTFILES_wcn6855_hw20_lic} ### <<< diff --git a/net/wifi-firmware-ath11k-kmod/distinfo b/net/wifi-firmware-ath11k-kmod/distinfo index d965320664cf..aff19ad7ac27 100644 --- a/net/wifi-firmware-ath11k-kmod/distinfo +++ b/net/wifi-firmware-ath11k-kmod/distinfo @@ -1,31 +1,175 @@ -TIMESTAMP = 1715895520 -SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/amss.bin?h=20240513) = 8ab2a06422e3989012df423bb6a156fde2c3feb4cd5db4c5d3588f674dc872ff -SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/amss.bin?h=20240513) = 3628672 -SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/board-2.bin?h=20240513) = ffae36a14450ea9dc0317db04fba84344812037b0de4f89bee90b05eae6ecb00 -SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/board-2.bin?h=20240513) = 115984 -SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/m3.bin?h=20240513) = 1921d25edb52f90a7a0acc7275861e14399f904d579aae9f7ab1c4d28533fad6 -SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/m3.bin?h=20240513) = 266684 -SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/amss.bin?h=20240513) = 5ee1b7b204541b5f99984f21d694ececaec08fbce1b520ffe6fe740b02a4afd7 -SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/amss.bin?h=20240513) = 3963336 -SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/board-2.bin?h=20240513) = dbf0ca14aa1229eccd48f26f1026901b9718b143bd30b51b8ea67c84ba6207f1 -SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/board-2.bin?h=20240513) = 786836 -SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/m3.bin?h=20240513) = b6d957f335073a15a8de809398e1506f0200a08747eaf7189c843cf519ffc1de -SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/m3.bin?h=20240513) = 340108 -SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/amss.bin?h=20240513) = 8f10357b53b40238333f0b055b4829fc8dd87994aa2476ae3fa92234d8f31065 -SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/amss.bin?h=20240513) = 4988928 -SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/board-2.bin?h=20240513) = b2612c3a270a2e795270c8567cb8435aaf4f4acc9897cd593cf3c9a9a07f3ef3 -SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/board-2.bin?h=20240513) = 6308684 -SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/m3.bin?h=20240513) = 9b9b226abf8ce0e005209e53c0c9a4443abaf7b3def7fefe7e5c5676255c7bdc -SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/m3.bin?h=20240513) = 266684 -SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/regdb.bin?h=20240513) = e1b774b1feda4cab01f5a26089124059539fc31544ac34129dce45c8ff26d645 -SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/regdb.bin?h=20240513) = 24310 -SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/Notice.txt?h=20240513) = 2facd28901420b9b58248ec3c17d4ea4693165b72f36106d5537ea4bb9380f1b -SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/Notice.txt?h=20240513) = 189707 -SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/Notice.txt?h=20240513) = 0768d1c28b6886f159703ef929fd3c92ab6bec1cbc9dcae449b17722a824ebcf -SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/Notice.txt?h=20240513) = 161358 -SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/Notice.txt?h=20240513) = 770720d03de70ff503c6d9bb6f6932fc7833d078647fe8352c6d5d49d44bbc5f -SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/Notice.txt?h=20240513) = 152394 -SHA256 (linux-firmware/ath11kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f -SIZE (linux-firmware/ath11kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 2713 -SHA256 (linux-firmware/ath11kfw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763 -SIZE (linux-firmware/ath11kfw/WHENCE?h=20240513) = 274394 +TIMESTAMP = 1765581032 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/board-2.bin?h=20251125) = dfc1f2246d65385bf30a414d140e1b6e1ef60b57ea13e3b14f0c8cda25eac9ca +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/board-2.bin?h=20251125) = 524564 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.b00?h=20251125) = 4afae03116bc830881c7ddfcfd053f682844856f386f98fe4efbca0877792a2f +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.b00?h=20251125) = 148 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.b01?h=20251125) = 23562e808d79c84146f70a6e983a89339706b07a5dab4811550f6b523636af54 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.b01?h=20251125) = 136 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.b02?h=20251125) = 6b234dbf46b3b438b4220c197d420194c9a8b3addc29ae4a7168c90e40791fff +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.b02?h=20251125) = 262144 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.flist?h=20251125) = 2d35c2b9e63e39074514935e6cca8c1aa6ff59f389b0ccd8886e489381d81038 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.flist?h=20251125) = 153 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.mdt?h=20251125) = 7aa5cd4e5a9eb860a64221f35e6102daad2cb2fa76b4099adbc14b39185802ce +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/m3_fw.mdt?h=20251125) = 284 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b00?h=20251125) = 3cca471d5b2166705b26888eac462f9ef83cd883c98087efc7406ec34cf33f02 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b00?h=20251125) = 532 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b01?h=20251125) = f1b7ac72648c0529ac461345becdcc3f9ea80473f49d1fe568677040ed7ef4a4 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b01?h=20251125) = 520 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b02?h=20251125) = 92b863329a7b550af1fdca491fbecdd17a3f89e16a53ecf25a63f411453db0a3 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b02?h=20251125) = 7552 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b03?h=20251125) = c1cba71eaeb1408dae4e237fb7e0ce0138309fa13bd01fb8b6a0508b7c6e17c3 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b03?h=20251125) = 545008 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b04?h=20251125) = 5a996ad20507a1c929c8a6289e9053d33d7a4a0bd24b6f22c6dbf905a4d893dc +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b04?h=20251125) = 86788 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b05?h=20251125) = 5f6ece80f9b93ad7592ccd4e3360d07b2262138cb36c6833d8b11148a050ce12 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b05?h=20251125) = 17776 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b07?h=20251125) = 1e1c0f0a8631c3180b68935fc940542ebbda5c5a8821ae291283f74e0e8b4a8f +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b07?h=20251125) = 1488 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b08?h=20251125) = 7e2e20d25714c362a57d55c89e720839f74427cd88497558437f1f2203f5ffff +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b08?h=20251125) = 4096 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b09?h=20251125) = 69f0b385f67c64959f5b7ae473324bf1b00a4cf1c3da007c97d0d0466327ef25 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b09?h=20251125) = 2334720 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b10?h=20251125) = 1922fd57900212e5da8335b25f093b6cab87723e84cbed2f07eed953c46d2fb0 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b10?h=20251125) = 269252 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b11?h=20251125) = dc734a763017ea86bd49a176410b762b658f76dd86a75391a7d4aebffce2c21b +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b11?h=20251125) = 99456 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b13?h=20251125) = fe7bebb07477c8d8867ab754a0b55ecdb0fc6cfd07e756ddb536bc55957b2094 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b13?h=20251125) = 7080 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b14?h=20251125) = 0f488260e9764a28ae9b439b10745eaaa7c9bcb18b2b59fc035a18294999d991 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.b14?h=20251125) = 1668 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.flist?h=20251125) = f9cc07e252ac5736bbb93a4fd6cc77c426af207231093d502730c857d4fc8975 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.flist?h=20251125) = 663 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.mdt?h=20251125) = 67df8fc789530e035c330ce5fc2a54237c87254f0a5b4e6b76abe12c9a3e845d +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/q6_fw.mdt?h=20251125) = 1052 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/board-2.bin?h=20251125) = 17ddba8df0b36de4a83d7af6ad518e67dfc96f3dfd9b0832899fb1fd13887938 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/board-2.bin?h=20251125) = 787208 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.b00?h=20251125) = 2bf6b01a62cd2c88586239e7f820bc8cdaae34805ac02e227edc016588090390 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.b00?h=20251125) = 148 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.b01?h=20251125) = 5413e87d65f0500e771a889503f3f5ca2987b1153ec05f4b7a127be95db7e8f4 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.b01?h=20251125) = 6712 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.b02?h=20251125) = bf923ad3c7c7bbe2cfef74ef6a68140d12a2b45af0bcc519271ddaf3a960e3ed +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.b02?h=20251125) = 294912 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.flist?h=20251125) = 5da7a8d5416d198cf78aae4e941b1c42ee08079c86b6c60f7a6e4e1851375a6e +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.flist?h=20251125) = 153 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.mdt?h=20251125) = e340ca5fe8aa7c8dfbfe36ce165259f1d9cc12f6af862dcad7824222720ee9fc +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/m3_fw.mdt?h=20251125) = 6860 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b00?h=20251125) = 3c4d8b0b1ed11bad93e4685030eccc25bf5e03ed2e700598dc24bfb571c03b94 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b00?h=20251125) = 340 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b01?h=20251125) = 1b784958ddce779dee6d944a2b60656f1fa9321a48240b457e80bdd77ddcbef7 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b01?h=20251125) = 7000 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b02?h=20251125) = a0416285210a9cca7aa3df7e1f64f6632402f64e5461d10ae925d1af63b0b56c +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b02?h=20251125) = 4696 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b03?h=20251125) = d614d250f9482120a3e8f7d54d27ecd892e019ebc93dc03de5768341335335d0 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b03?h=20251125) = 2606416 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b04?h=20251125) = a871239f96c391dec46b1e8753bb3c796dfc157a45d4f102bb59198ceb221c5e +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b04?h=20251125) = 386528 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b05?h=20251125) = 9cf90c94e5be464d5e87a2f58838c2ee93885d83db5631bce8dcbeb61da93bcc +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b05?h=20251125) = 202532 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b07?h=20251125) = 099bfeb81de02b886f49609a7fcb52d96ac5a1bd4d8989da0ae4b66f3ca10919 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b07?h=20251125) = 9912 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b08?h=20251125) = fdeb778f50c81b38d80f10276926eed5b58fbf3af1c4f19f1deca1dc76bd0751 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.b08?h=20251125) = 467388 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.flist?h=20251125) = 8a077a1eeeccbbf95595fe2c282badad87217b5de3db4eeab93315c89a56b281 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.flist?h=20251125) = 408 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.mdt?h=20251125) = 1eea3a9cad63f6d2c2037b215957044ab12b927ea1ce78c156082c763410992a +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/q6_fw.mdt?h=20251125) = 7340 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/board-2.bin?h=20251125) = a79a122795eb53b978d7966d35ce208c5a362634a7037a9858c32b80e14f3e93 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/board-2.bin?h=20251125) = 1442536 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.b00?h=20251125) = 7810168437ae324091f0ad834506135b081b1d74c859a7d07b4b102f54e4f5a1 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.b00?h=20251125) = 148 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.b01?h=20251125) = 72ad456789d7e569045eecd9e146aedd2903385073e199484035aefd05c3b5ba +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.b01?h=20251125) = 136 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.b02?h=20251125) = 372cc891859eefce6c8b7ed40062b40765674ba1f77c229dad4ffa1295ac75fe +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.b02?h=20251125) = 327680 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.flist?h=20251125) = 822b3bab2dc21e31c77f5afec951cb139decf6949808e24c6c3c6412e85e5bc8 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.flist?h=20251125) = 162 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.mdt?h=20251125) = a10a27bf3e1d73151c64c59f0f1ed5d412212e0506d9cc8c0b1c31ae64d2a66f +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/m3_fw.mdt?h=20251125) = 284 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b00?h=20251125) = 349b2144a6281fe236f9b29fd4b58e7b1dbcc204681083290b7147e9ec294380 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b00?h=20251125) = 340 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b01?h=20251125) = 10199f0d2676e116ec52fcc4f95cb6df08cdc215ec90cf8b519c9308147918ca +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b01?h=20251125) = 328 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b02?h=20251125) = d5eac361557c8d139ce7a847b5db514b0dacf7154e4b56ec975e6bc6f0e22c55 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b02?h=20251125) = 4696 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b03?h=20251125) = 4e8ba56ec9e5c6b1273dcdab3391336c1836d9744bb5cc7d10b63e9f76193d23 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b03?h=20251125) = 3215248 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b04?h=20251125) = e93369790cf6e5c511ea3e195fc8c2460eef99e0af2c77abe25b4e642e17d608 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b04?h=20251125) = 1000480 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b05?h=20251125) = 9f00fda0f9d7156f38ffd048ecc084aaed9daef7a691982a3605e2f94021e9c1 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b05?h=20251125) = 254596 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b07?h=20251125) = e97b67ed161cd91dde11d5fc16fab1080badb189d3d0140471ba0de43274b0b4 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b07?h=20251125) = 9960 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b08?h=20251125) = 3e52214b45a10257ceeb325649e921072ebec631456b2e70c568bd6acab80340 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.b08?h=20251125) = 596768 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.flist?h=20251125) = e9eea69f2ce9041ede9fa946adbd4560ccbc60a69f8ce9242600fba8d957c74c +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.flist?h=20251125) = 432 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.mdt?h=20251125) = 448253e048be80384996c20bb67ab21944e5abcd9288c7dc2c2d942ea15dfd44 +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/q6_fw.mdt?h=20251125) = 668 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA2066/hw2.1/amss.bin?h=20251125) = 6be9c2264898c0190fb39befa5f42d07413014db772daaedd56031415d9880ae +SIZE (linux-firmware/ath11kfw/ath11k/QCA2066/hw2.1/amss.bin?h=20251125) = 5349376 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA2066/hw2.1/board-2.bin?h=20251125) = d3fb4c63350370fb387ca39975d74f69dea650469a148acf3b22bacdab24cd5d +SIZE (linux-firmware/ath11kfw/ath11k/QCA2066/hw2.1/board-2.bin?h=20251125) = 745408 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA2066/hw2.1/m3.bin?h=20251125) = ad0695237371978d20712e1e1e80d439fb47d4ffc4191233018496eed7944761 +SIZE (linux-firmware/ath11kfw/ath11k/QCA2066/hw2.1/m3.bin?h=20251125) = 266684 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/amss.bin?h=20251125) = 8ab2a06422e3989012df423bb6a156fde2c3feb4cd5db4c5d3588f674dc872ff +SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/amss.bin?h=20251125) = 3628672 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/board-2.bin?h=20251125) = dd865b73d172c224a6e8a998dd05342b0294883e5f8514fae663d357e9be7725 +SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/board-2.bin?h=20251125) = 173980 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/m3.bin?h=20251125) = 1921d25edb52f90a7a0acc7275861e14399f904d579aae9f7ab1c4d28533fad6 +SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/m3.bin?h=20251125) = 266684 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA6698AQ/hw2.1/amss.bin?h=20251125) = a1f7fba473fa85ffbdf92c1f26804762c76815c266672016dbc6405472089846 +SIZE (linux-firmware/ath11kfw/ath11k/QCA6698AQ/hw2.1/amss.bin?h=20251125) = 5005312 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA6698AQ/hw2.1/board-2.bin?h=20251125) = 046a2503bed7341092a22797e05c73701e76ab8be6ef55340c22686e81cf160e +SIZE (linux-firmware/ath11kfw/ath11k/QCA6698AQ/hw2.1/board-2.bin?h=20251125) = 986384 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA6698AQ/hw2.1/m3.bin?h=20251125) = 9be43a8d9dc9454a629d65368df7ccd532d8768a0ac1fd935f57bcd37cbefecd +SIZE (linux-firmware/ath11kfw/ath11k/QCA6698AQ/hw2.1/m3.bin?h=20251125) = 266684 +SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/.notice?h=20251125) = 9c03533e950d48b3ac09820f628699fb3bc431a4b13dbce793130e100c2c53b2 +SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/.notice?h=20251125) = 266 +SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/amss.bin?h=20251125) = 063b6adbc9fc66143a828d03b92ac16c2619d02507a945e663ce331cc1128608 +SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/amss.bin?h=20251125) = 4227408 +SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/board-2.bin?h=20251125) = dbf0ca14aa1229eccd48f26f1026901b9718b143bd30b51b8ea67c84ba6207f1 +SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/board-2.bin?h=20251125) = 786836 +SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/m3.bin?h=20251125) = 3cf2cff8b014986edfd45c595f9702096157e8148d36b51f9a8f71e6c5fb37ba +SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/m3.bin?h=20251125) = 340108 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6750/hw1.0/board-2.bin?h=20251125) = dd2769c0528ecb575fc66233fe755eb7e4a81dff7b50973d8b5eda7585adf32b +SIZE (linux-firmware/ath11kfw/ath11k/WCN6750/hw1.0/board-2.bin?h=20251125) = 927980 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6750/hw1.0/qcm6490/wpss.mbn?h=20251125) = 300d3c362372b95e7a04c7216db8578f4cae1a5a2bccbad4c1b907c8c2fdb305 +SIZE (linux-firmware/ath11kfw/ath11k/WCN6750/hw1.0/qcm6490/wpss.mbn?h=20251125) = 7734064 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6750/hw1.0/sc7280/wpss.mbn?h=20251125) = d9cfce95d41ddcfa2d2735f250261e12ff956af1b0b4625a1c116573a1b5bf6d +SIZE (linux-firmware/ath11kfw/ath11k/WCN6750/hw1.0/sc7280/wpss.mbn?h=20251125) = 7463728 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/amss.bin?h=20251125) = e12b23ddc4b8d2d2a10a651a5d6fdcd00f60fcae884d2cf5dad17627211fcdfd +SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/amss.bin?h=20251125) = 4988928 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/board-2.bin?h=20251125) = faa0f274a490acfd3a5ac682584df7112ea9c4a4730e1a825d655ad83ed5d834 +SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/board-2.bin?h=20251125) = 7056532 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/m3.bin?h=20251125) = 0c590881870d0e6e98fc7d393ce05690e09287933b1b535e935bf5d98b77713f +SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/m3.bin?h=20251125) = 266684 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/nfa765/amss.bin?h=20251125) = cac34489268cbb4735c445160c98583e5d741fd00c440331b9e0663bc2eafec4 +SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/nfa765/amss.bin?h=20251125) = 5005312 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/nfa765/m3.bin?h=20251125) = 9be43a8d9dc9454a629d65368df7ccd532d8768a0ac1fd935f57bcd37cbefecd +SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/nfa765/m3.bin?h=20251125) = 266684 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/regdb.bin?h=20251125) = e1b774b1feda4cab01f5a26089124059539fc31544ac34129dce45c8ff26d645 +SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/regdb.bin?h=20251125) = 24310 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/Notice.txt?h=20251125) = 478e755ffdc1bc6a5a332c0b915b2a57834908fef2a6ad3c78ea3b011f83967c +SIZE (linux-firmware/ath11kfw/ath11k/IPQ5018/hw1.0/Notice.txt?h=20251125) = 36880 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/Notice.txt?h=20251125) = 097ceeb6f03dad7e74a2de0f217b1dad149989e550681e8726908ef477c9d58f +SIZE (linux-firmware/ath11kfw/ath11k/IPQ6018/hw1.0/Notice.txt?h=20251125) = 156458 +SHA256 (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/Notice.txt?h=20251125) = 097ceeb6f03dad7e74a2de0f217b1dad149989e550681e8726908ef477c9d58f +SIZE (linux-firmware/ath11kfw/ath11k/IPQ8074/hw2.0/Notice.txt?h=20251125) = 156458 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA2066/hw2.1/Notice.txt?h=20251125) = 770720d03de70ff503c6d9bb6f6932fc7833d078647fe8352c6d5d49d44bbc5f +SIZE (linux-firmware/ath11kfw/ath11k/QCA2066/hw2.1/Notice.txt?h=20251125) = 152394 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/Notice.txt?h=20251125) = 2facd28901420b9b58248ec3c17d4ea4693165b72f36106d5537ea4bb9380f1b +SIZE (linux-firmware/ath11kfw/ath11k/QCA6390/hw2.0/Notice.txt?h=20251125) = 189707 +SHA256 (linux-firmware/ath11kfw/ath11k/QCA6698AQ/hw2.1/Notice.txt?h=20251125) = 770720d03de70ff503c6d9bb6f6932fc7833d078647fe8352c6d5d49d44bbc5f +SIZE (linux-firmware/ath11kfw/ath11k/QCA6698AQ/hw2.1/Notice.txt?h=20251125) = 152394 +SHA256 (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/Notice.txt?h=20251125) = 097ceeb6f03dad7e74a2de0f217b1dad149989e550681e8726908ef477c9d58f +SIZE (linux-firmware/ath11kfw/ath11k/QCN9074/hw1.0/Notice.txt?h=20251125) = 156458 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6750/hw1.0/Notice.txt?h=20251125) = e0ef1b0e8c5e142cc4610f924bac84c0969de6e105755d6a2baaedda4d40da45 +SIZE (linux-firmware/ath11kfw/ath11k/WCN6750/hw1.0/Notice.txt?h=20251125) = 317806 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/Notice.txt?h=20251125) = 770720d03de70ff503c6d9bb6f6932fc7833d078647fe8352c6d5d49d44bbc5f +SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/Notice.txt?h=20251125) = 152394 +SHA256 (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/nfa765/Notice.txt?h=20251125) = 770720d03de70ff503c6d9bb6f6932fc7833d078647fe8352c6d5d49d44bbc5f +SIZE (linux-firmware/ath11kfw/ath11k/WCN6855/hw2.0/nfa765/Notice.txt?h=20251125) = 152394 +SHA256 (linux-firmware/ath11kfw/LICENSE.QualcommAtheros_ath10k?h=20251125) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f +SIZE (linux-firmware/ath11kfw/LICENSE.QualcommAtheros_ath10k?h=20251125) = 2713 +SHA256 (linux-firmware/ath11kfw/WHENCE?h=20251125) = 978a5f084a81eec37f7fc146d0f12b21d263dc1afe97a38bd9556d68fa5b421f +SIZE (linux-firmware/ath11kfw/WHENCE?h=20251125) = 365316 diff --git a/net/wifi-firmware-ath11k-kmod/pkg-descr b/net/wifi-firmware-ath11k-kmod/pkg-descr index d05c109adec6..fc281a6e439e 100644 --- a/net/wifi-firmware-ath11k-kmod/pkg-descr +++ b/net/wifi-firmware-ath11k-kmod/pkg-descr @@ -1,3 +1 @@ Firmware files for QCA WiFi NICs supported by the ath11k driver. - -Currently only provides firmware for the PCI chipsets. diff --git a/net/wifi-firmware-ath12k-kmod/Makefile b/net/wifi-firmware-ath12k-kmod/Makefile index 5aae94872338..281bf663793f 100644 --- a/net/wifi-firmware-ath12k-kmod/Makefile +++ b/net/wifi-firmware-ath12k-kmod/Makefile @@ -2,7 +2,7 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod FWDRV= ath12k FWSUBDIR= ath12k -FWDRV_VERSION= 20240513 +FWDRV_VERSION= 20251125 # Yes, the license is the ath10k one; see WHENCE. LICENSE_FILE= LICENSE.QualcommAtheros_ath10k @@ -11,23 +11,33 @@ LICENSE_NAME= QCA firmware license (${FWDRV}) WHENCE_REGEX= ath12k -.* # The flavor/firmware lists below are generated by a script -# also helping to generate the fwget(8) definitions. -# { sys/contrib/dev/athk/ath12k/zzz_fw_ports_fwget.sh } +# found with the wifi-firmware-ath10k-kmod port. ### >>> FWSUBS= \ + qcn9274_hw20 \ wcn7850_hw20 -DISTFILES_wcn7850_hw20= \ +DISTFILES_qcn9274_hw20+= \ + ${FWSUBDIR}/QCN9274/hw2.0/board-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/QCN9274/hw2.0/firmware-2.bin${DISTURL_SUFFIX} +DISTFILES_qcn9274_hw20_lic+= \ + ${FWSUBDIR}/QCN9274/hw2.0/Notice.txt${DISTURL_SUFFIX} +DISTFILES_wcn7850_hw20+= \ ${FWSUBDIR}/WCN7850/hw2.0/amss.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/WCN7850/hw2.0/board-2.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/WCN7850/hw2.0/m3.bin${DISTURL_SUFFIX} -DISTFILES_wcn7850_hw20_lic= \ - ${FWSUBDIR}/WCN7850/hw2.0/Notice.txt${DISTURL_SUFFIX} + ${FWSUBDIR}/WCN7850/hw2.0/m3.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN7850/hw2.0/ncm865/amss.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN7850/hw2.0/ncm865/m3.bin${DISTURL_SUFFIX} +DISTFILES_wcn7850_hw20_lic+= \ + ${FWSUBDIR}/WCN7850/hw2.0/Notice.txt${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WCN7850/hw2.0/ncm865/Notice.txt${DISTURL_SUFFIX} DISTFILES_${FWDRV}= \ + ${DISTFILES_qcn9274_hw20} \ ${DISTFILES_wcn7850_hw20} DISTFILES_${FWDRV}_lic= \ + ${DISTFILES_qcn9274_hw20_lic} \ ${DISTFILES_wcn7850_hw20_lic} ### <<< diff --git a/net/wifi-firmware-ath12k-kmod/distinfo b/net/wifi-firmware-ath12k-kmod/distinfo index 9500eba13632..289205f6ae11 100644 --- a/net/wifi-firmware-ath12k-kmod/distinfo +++ b/net/wifi-firmware-ath12k-kmod/distinfo @@ -1,13 +1,25 @@ -TIMESTAMP = 1715895537 -SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/amss.bin?h=20240513) = b15b21fd99baafd5dad81b6d6fa054df023363029821eb67dd674a438b9fd78d -SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/amss.bin?h=20240513) = 6000704 -SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/board-2.bin?h=20240513) = 92357946083541fc3370a152df57cb5a74cd28adcdc78339e57d8c98e42526cd -SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/board-2.bin?h=20240513) = 382856 -SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/m3.bin?h=20240513) = 97eca0829a1da06bfcb000863f585e2c64ee7febae29f4822097dea1986d919b -SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/m3.bin?h=20240513) = 299660 -SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/Notice.txt?h=20240513) = 515bf4c9d620a87458e4447fe01a0e9bc384d1c3e0037cc4c3d2037b1ff25525 -SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/Notice.txt?h=20240513) = 142991 -SHA256 (linux-firmware/ath12kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f -SIZE (linux-firmware/ath12kfw/LICENSE.QualcommAtheros_ath10k?h=20240513) = 2713 -SHA256 (linux-firmware/ath12kfw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763 -SIZE (linux-firmware/ath12kfw/WHENCE?h=20240513) = 274394 +TIMESTAMP = 1765581290 +SHA256 (linux-firmware/ath12kfw/ath12k/QCN9274/hw2.0/board-2.bin?h=20251125) = dd555916722b633c22b1a458e8f2ba3010c5db658f7be55551a2df2206a4ff18 +SIZE (linux-firmware/ath12kfw/ath12k/QCN9274/hw2.0/board-2.bin?h=20251125) = 2626240 +SHA256 (linux-firmware/ath12kfw/ath12k/QCN9274/hw2.0/firmware-2.bin?h=20251125) = edb4a200206ed13020b5d9d34ab46071238779ba17b08595bb99f8910d32f2d5 +SIZE (linux-firmware/ath12kfw/ath12k/QCN9274/hw2.0/firmware-2.bin?h=20251125) = 15183928 +SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/amss.bin?h=20251125) = 5660a1aa3db12716b42c687b0c88ef4f6ac80bd46e42cfe3636ed332d3f6e6ee +SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/amss.bin?h=20251125) = 6082624 +SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/board-2.bin?h=20251125) = 8ef5b3efa86d3d36513d2852aaa17f81a8a77374005509825522bd81a8df539b +SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/board-2.bin?h=20251125) = 2253732 +SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/m3.bin?h=20251125) = ff40c57556c2fac552ac192c6e2ad59689fd8f50c9f9bcc997d13623c2bcee86 +SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/m3.bin?h=20251125) = 299660 +SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/ncm865/amss.bin?h=20251125) = ffbcccbdfb19402b734132544d30c4c6dd940e71fe6c530ac11e9c6f494b3477 +SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/ncm865/amss.bin?h=20251125) = 6111296 +SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/ncm865/m3.bin?h=20251125) = 0e72f44df7defc269fe92dcea25d4d409046c04b77d41c510c52879b3dfc1055 +SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/ncm865/m3.bin?h=20251125) = 299660 +SHA256 (linux-firmware/ath12kfw/ath12k/QCN9274/hw2.0/Notice.txt?h=20251125) = 097ceeb6f03dad7e74a2de0f217b1dad149989e550681e8726908ef477c9d58f +SIZE (linux-firmware/ath12kfw/ath12k/QCN9274/hw2.0/Notice.txt?h=20251125) = 156458 +SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/Notice.txt?h=20251125) = 515bf4c9d620a87458e4447fe01a0e9bc384d1c3e0037cc4c3d2037b1ff25525 +SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/Notice.txt?h=20251125) = 142991 +SHA256 (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/ncm865/Notice.txt?h=20251125) = 515bf4c9d620a87458e4447fe01a0e9bc384d1c3e0037cc4c3d2037b1ff25525 +SIZE (linux-firmware/ath12kfw/ath12k/WCN7850/hw2.0/ncm865/Notice.txt?h=20251125) = 142991 +SHA256 (linux-firmware/ath12kfw/LICENSE.QualcommAtheros_ath10k?h=20251125) = 337a55102138d7baa143ee4a4c6c91693e0113fece35d380b2a12109e8c23b3f +SIZE (linux-firmware/ath12kfw/LICENSE.QualcommAtheros_ath10k?h=20251125) = 2713 +SHA256 (linux-firmware/ath12kfw/WHENCE?h=20251125) = 978a5f084a81eec37f7fc146d0f12b21d263dc1afe97a38bd9556d68fa5b421f +SIZE (linux-firmware/ath12kfw/WHENCE?h=20251125) = 365316 diff --git a/net/wifi-firmware-ath12k-kmod/pkg-descr b/net/wifi-firmware-ath12k-kmod/pkg-descr index 332b717a5809..676a3328fe21 100644 --- a/net/wifi-firmware-ath12k-kmod/pkg-descr +++ b/net/wifi-firmware-ath12k-kmod/pkg-descr @@ -1,3 +1 @@ Firmware files for QCA WiFi NICs supported by the ath12k driver. - -Currently only provides firmware for the PCI chipsets. diff --git a/net/wifi-firmware-iwlwifi-kmod/Makefile b/net/wifi-firmware-iwlwifi-kmod/Makefile index 241ec016b335..b25363304a92 100644 --- a/net/wifi-firmware-iwlwifi-kmod/Makefile +++ b/net/wifi-firmware-iwlwifi-kmod/Makefile @@ -9,7 +9,8 @@ FWSUBDIR= intel/iwlwifi STRIP_FWSUBDIR= intel/iwlwifi/ #FWDRV_VERSION= 20240513 #FWDRV_VERSION= 20241017 -FWDRV_VERSION= 20251021 +#FWDRV_VERSION= 20251021 +FWDRV_VERSION= 20251125 LICENSE_FILE= LICENCE.iwlwifi_firmware LICENSE_NAME= Intel firmware license (${FWDRV}) @@ -19,15 +20,10 @@ WHENCE_REGEX= iwlwifi -.* # Temporary list of flavours which we believe work with HW_CRYPTO/HT/VHT. COMPAT_LINUXKPI_HWCRYPTO_HT_VHT= 22000 ax210 bz -# Run iwlwifi-generate-fw-list.sh according to description. - -# The flavor/firmware lists below are generated by a script -# also helping to generate the fwget(8) definitions. -# { sys/contrib/dev/iwlwifi/zzz_fw_ports_fwget.sh } -# -# Note: the script no longer works as of FreeBSD 15 as Intel -# more dynamically picks firmware for cards (no longer coded in -# the driver). See files/extract-fw-list.sh for now. +# The flavor/firmware lists below are generated by the +# files/extract-fw-list.sh script. Usage: +# 1: checkout the correct tag (FWDRV_VERSION) in linux-firmware.git. +# 2: ./files/extract-fw-list.sh /path/to/linux-firmware.git # # Note: we manually added (kept) some older versions (outside # the generated template) to be able to support all branches. @@ -40,7 +36,8 @@ FWSUBS= \ 9000 \ 22000 \ ax210 \ - bz + bz \ + sc DISTFILES_7000+= \ ${FWSUBDIR}/iwlwifi-3160-17.ucode${DISTURL_SUFFIX} \ @@ -85,6 +82,8 @@ DISTFILES_bz+= \ ${FWSUBDIR}/iwlwifi-bz-b0-hr-b0-100.ucode${DISTURL_SUFFIX} \ ${FWSUBDIR}/iwlwifi-gl-c0-fm-c0.pnvm${DISTURL_SUFFIX} \ ${FWSUBDIR}/iwlwifi-gl-c0-fm-c0-101.ucode${DISTURL_SUFFIX} +DISTFILES_sc+= \ + ${FWSUBDIR}/iwlwifi-sc-a0-wh-b0-101.ucode${DISTURL_SUFFIX} DISTFILES_${FWDRV}= \ ${DISTFILES_7000} \ @@ -92,7 +91,8 @@ DISTFILES_${FWDRV}= \ ${DISTFILES_9000} \ ${DISTFILES_22000} \ ${DISTFILES_ax210} \ - ${DISTFILES_bz} + ${DISTFILES_bz} \ + ${DISTFILES_sc} DISTFILES_${FWDRV}_lic= ### <<< main, stable/15, 15.0 diff --git a/net/wifi-firmware-iwlwifi-kmod/distinfo b/net/wifi-firmware-iwlwifi-kmod/distinfo index 33fb04ca5353..7159776b8176 100644 --- a/net/wifi-firmware-iwlwifi-kmod/distinfo +++ b/net/wifi-firmware-iwlwifi-kmod/distinfo @@ -1,103 +1,105 @@ -TIMESTAMP = 1763410192 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-3160-17.ucode?h=20251021) = 0e893c1ed74c3186047508e93442b2d71a07dd5fac00d9dbdb68f34407d7be14 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-3160-17.ucode?h=20251021) = 918268 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-3168-29.ucode?h=20251021) = 3afae7bf4bb5fbb83a895ec7ad097b9fd20b7d8794f405c2823cbea5284e65c3 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-3168-29.ucode?h=20251021) = 1036288 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7260-17.ucode?h=20251021) = 5d81a6003df0228a497ad27f916ba2c979614b4c439b0f45a5f2873dc0607fe8 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7260-17.ucode?h=20251021) = 1049340 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7265-17.ucode?h=20251021) = 91f699308f102a9ed90217d813bfdb355464ece958a4f8ac96bba5e9d77fe870 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7265-17.ucode?h=20251021) = 1180412 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7265D-29.ucode?h=20251021) = c52bcaa0595f64d5fb32b7db3dd4b832ea7bf78f1037bcafc19d9c0f5c5c617e -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7265D-29.ucode?h=20251021) = 1036312 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-8000C-36.ucode?h=20251021) = 479931721f5e168d69d67c297c11738acd75da390adb94f96030a1055f4cf57a -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-8000C-36.ucode?h=20251021) = 2425084 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-8265-36.ucode?h=20251021) = 1336afcd028ed094d1fe33893c84c273bb5711be52970040344a75a12f276d56 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-8265-36.ucode?h=20251021) = 2432528 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-9000-pu-b0-jf-b0-46.ucode?h=20251021) = 9a0c5d938646942f9798e6212579c25771e4bb44301cd409b82abe361ca2c3e0 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-9000-pu-b0-jf-b0-46.ucode?h=20251021) = 1519568 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-9260-th-b0-jf-b0-46.ucode?h=20251021) = 05f4c12514fddfd56fea660b3d2eb6b6e6f4a87a324d5d40464050312ddca911 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-9260-th-b0-jf-b0-46.ucode?h=20251021) = 1490508 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-b0-hr-b0-77.ucode?h=20251021) = faa81d3c46bfa7e82700452a1590e15bc3b5bd2f954628f8820c12f4e3e01fe3 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-b0-hr-b0-77.ucode?h=20251021) = 1406572 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-b0-jf-b0-77.ucode?h=20251021) = 6d0e41d309db34db23055d58a1389c875635fb1402f73a6a9ec72879761e6f9b -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-b0-jf-b0-77.ucode?h=20251021) = 1323292 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-c0-hr-b0-77.ucode?h=20251021) = de48c1a6fc671231e85495508d5ff05c3a2edb82610d79b0433fa5e560a0495f -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-c0-hr-b0-77.ucode?h=20251021) = 1406588 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-c0-jf-b0-77.ucode?h=20251021) = 53f75e001ea83935d949f56a11c473f35bde5fc1800c902bc09b87a879507982 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-c0-jf-b0-77.ucode?h=20251021) = 1323308 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-QuZ-a0-hr-b0-77.ucode?h=20251021) = ad2f6202b0920db7cc5942d13253db322e0cab4adb135f26bcf4a984735a3b7c -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-QuZ-a0-hr-b0-77.ucode?h=20251021) = 1406716 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-QuZ-a0-jf-b0-77.ucode?h=20251021) = 0efd65924235b7593e3403f623719d377e55eab7462db26bfdd95224628b3170 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-QuZ-a0-jf-b0-77.ucode?h=20251021) = 1323376 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-fm-c0-101.ucode?h=20251021) = f40a5186977d84cb6ef2834e4ab87fd915ea77899b8347c56f1f95e776359a41 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-fm-c0-101.ucode?h=20251021) = 2225612 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-fm-c0.pnvm?h=20251021) = 2da92f02418fbde8d8210eb582d9697faa222f8ee2da229e29b8a108ea5c4c5c -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-fm-c0.pnvm?h=20251021) = 295356 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-gf-a0-100.ucode?h=20251021) = eef51288bef91cfa40d31b9b3f352e67fa675b3a335b3d9b7328f8de06d47807 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-gf-a0-100.ucode?h=20251021) = 1836712 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-gf-a0.pnvm?h=20251021) = f9d1db89359af5426d4b912eddbccc29260c98991ea2b5be07154519198f3572 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-gf-a0.pnvm?h=20251021) = 55208 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-hr-b0-100.ucode?h=20251021) = eec4222af5c6d325b25a0f93a3c0b415a5a1aec09028977a2d6d2f2d8847ab23 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-hr-b0-100.ucode?h=20251021) = 1584620 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-hr-b0.pnvm?h=20251021) = 9c6bfcd07d6e15711eb8e5e7aba83018999c2d65079fe38997641001c0a46eeb -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-hr-b0.pnvm?h=20251021) = 1788 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-cc-a0-77.ucode?h=20251021) = 64287d37a0f92722de7aa90e9cb41d31a3b4b4fd0966b3ba5fa48cfa426f5a09 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-cc-a0-77.ucode?h=20251021) = 1368096 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-101.ucode?h=20251021) = 6769d9ce002bb404fbd0c39e28f3c68af4ec1583343ac66a98ca957710c3473b -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-101.ucode?h=20251021) = 2209924 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-83.ucode?h=20251021) = 1129761b5597077655996ec8590f100766e9d61ec9c331474b4febc6967f0e70 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-83.ucode?h=20251021) = 1797996 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-92.ucode?h=20251021) = c7092f1f78676f9e9c2c4d12716401db2116b009c5d7c464e8387c5b1c645d6f -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-92.ucode?h=20251021) = 1913128 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0.pnvm?h=20251021) = f481e3b0403ca43a0a444b01c04fa4d1582868afcb026b1e697905f0039ccfa3 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0.pnvm?h=20251021) = 295036 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0-83.ucode?h=20251021) = 9386a8294457f527c6e0fa1eac440c50cbee801707fdb480a10889770c0d297b -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0-83.ucode?h=20251021) = 1753308 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0-89.ucode?h=20251021) = 42874d917d35007d89532cee048c22ea386e8ded2255652a87c87a1acdf22a1f -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0-89.ucode?h=20251021) = 1752072 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0.pnvm?h=20251021) = c60dce94d93ee6d587281b4f6125d476761dcb6cec20141e56344a7b1fcbef96 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0.pnvm?h=20251021) = 55128 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0-83.ucode?h=20251021) = 6910e5f34c0922fd0460aa363d73d6295d6c866f3447b96e8eaad988c613c697 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0-83.ucode?h=20251021) = 1721448 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0-89.ucode?h=20251021) = 99209f06d2adcf3f06f32b9d6012470745666a0a9ff0abd89ffef8c48e83affc -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0-89.ucode?h=20251021) = 1604120 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0.pnvm?h=20251021) = 5b2aa2a8644eded6b50765b667c13c093bc1974e44109bc6600431642b536edb -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0.pnvm?h=20251021) = 27836 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-hr-b0-83.ucode?h=20251021) = 03b67d28b4916634c544e057abdc46b15b636a85064df993ca431fd92fe4a835 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-hr-b0-83.ucode?h=20251021) = 1572104 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-hr-b0-89.ucode?h=20251021) = 3b37471551caa29bcd800701dbf11aba91aa3b8b9edd3fe78c5da1c441f872c4 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-hr-b0-89.ucode?h=20251021) = 1539788 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-77.ucode?h=20251021) = 87590ea9535a8939fddb296bc7622f3a900f28f47b45cb4e435a2a1d5f496ccd -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-77.ucode?h=20251021) = 1641260 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-83.ucode?h=20251021) = 5e5eaa6d917ccc420bd695db32d94148b9aeef7d9c95c64550ede82ba946efed -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-83.ucode?h=20251021) = 1739988 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-89.ucode?h=20251021) = bb7b07de282b01a1f23aecc8f3a725b27ca2a097dcd21d39c788109c19d89385 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-89.ucode?h=20251021) = 1736108 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0.pnvm?h=20251021) = b37f038b3467ed568d107a9c1dfd916fa7e8cbd58b2f9bec0c2c53297ccfcab7 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0.pnvm?h=20251021) = 55208 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0-77.ucode?h=20251021) = d945bce539ee78033a85c288da9b988b2651a1623c5f6081b7db510d3967df76 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0-77.ucode?h=20251021) = 1669164 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0-89.ucode?h=20251021) = 6f8a6f18ac6c1675151f8aa6e74c9197f4e23559a1826e06529089016f2cb69f -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0-89.ucode?h=20251021) = 1590688 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0.pnvm?h=20251021) = fb77cc355ade54a2345665f16329579fde6a9193d73cfb8f5af736a57c0e4f39 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0.pnvm?h=20251021) = 27876 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-77.ucode?h=20251021) = bed4958236366c3c451b3ec994a56b2ad83c08d70e0a1eae42fb00f2eaabbcc8 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-77.ucode?h=20251021) = 1500532 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-83.ucode?h=20251021) = 97ef27a1e5a18236617f845f333222b5b1e034c654144dfcdda2f72886847fb6 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-83.ucode?h=20251021) = 1552480 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-89.ucode?h=20251021) = aec2048d75d16cf0d938e78375f88bfda769a715d7145d830624132da6c4f3f4 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-89.ucode?h=20251021) = 1526956 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-jf-b0-77.ucode?h=20251021) = 9dccba0a8ba98483cb8385398d013b693b5b37cbff9402763ba215cc4921386c -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-jf-b0-77.ucode?h=20251021) = 1446036 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-77.ucode?h=20251021) = fd8977dbfacfe50b8a6601479aa9ffd21d01e274e4a9efd13935dd9d667fd45b -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-77.ucode?h=20251021) = 1594276 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-83.ucode?h=20251021) = c90da88a6dc8b159e14e378f66d52f52eb553dacdb90f053da612fc68668b7a6 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-83.ucode?h=20251021) = 1683076 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-89.ucode?h=20251021) = 15350da99c5c6992efe48c5afb5025656d6e19fd4f2e0398372bbaf9b0852167 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-89.ucode?h=20251021) = 1678176 -SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0.pnvm?h=20251021) = 7056112e90244dc94cc43b8c7a84bd6b99f5e495d66194008ece5770e7412db0 -SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0.pnvm?h=20251021) = 55052 -SHA256 (linux-firmware/iwlwififw/LICENCE.iwlwifi_firmware?h=20251021) = 16d5040c7cf851fc693b7542e20870935b99802533ea1bfd231c377a2305e5c5 -SIZE (linux-firmware/iwlwififw/LICENCE.iwlwifi_firmware?h=20251021) = 2046 -SHA256 (linux-firmware/iwlwififw/WHENCE?h=20251021) = c91eae90e96f929943932f8eb9878f87aafc0514accb063d62aee119fc3aaba1 -SIZE (linux-firmware/iwlwififw/WHENCE?h=20251021) = 356141 +TIMESTAMP = 1765585917 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-3160-17.ucode?h=20251125) = 0e893c1ed74c3186047508e93442b2d71a07dd5fac00d9dbdb68f34407d7be14 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-3160-17.ucode?h=20251125) = 918268 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-3168-29.ucode?h=20251125) = 3afae7bf4bb5fbb83a895ec7ad097b9fd20b7d8794f405c2823cbea5284e65c3 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-3168-29.ucode?h=20251125) = 1036288 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7260-17.ucode?h=20251125) = 5d81a6003df0228a497ad27f916ba2c979614b4c439b0f45a5f2873dc0607fe8 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7260-17.ucode?h=20251125) = 1049340 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7265-17.ucode?h=20251125) = 91f699308f102a9ed90217d813bfdb355464ece958a4f8ac96bba5e9d77fe870 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7265-17.ucode?h=20251125) = 1180412 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7265D-29.ucode?h=20251125) = c52bcaa0595f64d5fb32b7db3dd4b832ea7bf78f1037bcafc19d9c0f5c5c617e +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-7265D-29.ucode?h=20251125) = 1036312 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-8000C-36.ucode?h=20251125) = 479931721f5e168d69d67c297c11738acd75da390adb94f96030a1055f4cf57a +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-8000C-36.ucode?h=20251125) = 2425084 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-8265-36.ucode?h=20251125) = 1336afcd028ed094d1fe33893c84c273bb5711be52970040344a75a12f276d56 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-8265-36.ucode?h=20251125) = 2432528 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-9000-pu-b0-jf-b0-46.ucode?h=20251125) = 9a0c5d938646942f9798e6212579c25771e4bb44301cd409b82abe361ca2c3e0 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-9000-pu-b0-jf-b0-46.ucode?h=20251125) = 1519568 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-9260-th-b0-jf-b0-46.ucode?h=20251125) = 05f4c12514fddfd56fea660b3d2eb6b6e6f4a87a324d5d40464050312ddca911 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-9260-th-b0-jf-b0-46.ucode?h=20251125) = 1490508 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-b0-hr-b0-77.ucode?h=20251125) = faa81d3c46bfa7e82700452a1590e15bc3b5bd2f954628f8820c12f4e3e01fe3 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-b0-hr-b0-77.ucode?h=20251125) = 1406572 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-b0-jf-b0-77.ucode?h=20251125) = 6d0e41d309db34db23055d58a1389c875635fb1402f73a6a9ec72879761e6f9b +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-b0-jf-b0-77.ucode?h=20251125) = 1323292 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-c0-hr-b0-77.ucode?h=20251125) = de48c1a6fc671231e85495508d5ff05c3a2edb82610d79b0433fa5e560a0495f +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-c0-hr-b0-77.ucode?h=20251125) = 1406588 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-c0-jf-b0-77.ucode?h=20251125) = 53f75e001ea83935d949f56a11c473f35bde5fc1800c902bc09b87a879507982 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-Qu-c0-jf-b0-77.ucode?h=20251125) = 1323308 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-QuZ-a0-hr-b0-77.ucode?h=20251125) = ad2f6202b0920db7cc5942d13253db322e0cab4adb135f26bcf4a984735a3b7c +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-QuZ-a0-hr-b0-77.ucode?h=20251125) = 1406716 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-QuZ-a0-jf-b0-77.ucode?h=20251125) = 0efd65924235b7593e3403f623719d377e55eab7462db26bfdd95224628b3170 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-QuZ-a0-jf-b0-77.ucode?h=20251125) = 1323376 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-fm-c0-101.ucode?h=20251125) = f40a5186977d84cb6ef2834e4ab87fd915ea77899b8347c56f1f95e776359a41 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-fm-c0-101.ucode?h=20251125) = 2225612 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-fm-c0.pnvm?h=20251125) = 2da92f02418fbde8d8210eb582d9697faa222f8ee2da229e29b8a108ea5c4c5c +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-fm-c0.pnvm?h=20251125) = 295356 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-gf-a0-100.ucode?h=20251125) = eef51288bef91cfa40d31b9b3f352e67fa675b3a335b3d9b7328f8de06d47807 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-gf-a0-100.ucode?h=20251125) = 1836712 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-gf-a0.pnvm?h=20251125) = f9d1db89359af5426d4b912eddbccc29260c98991ea2b5be07154519198f3572 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-gf-a0.pnvm?h=20251125) = 55208 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-hr-b0-100.ucode?h=20251125) = eec4222af5c6d325b25a0f93a3c0b415a5a1aec09028977a2d6d2f2d8847ab23 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-hr-b0-100.ucode?h=20251125) = 1584620 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-hr-b0.pnvm?h=20251125) = 9c6bfcd07d6e15711eb8e5e7aba83018999c2d65079fe38997641001c0a46eeb +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-bz-b0-hr-b0.pnvm?h=20251125) = 1788 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-cc-a0-77.ucode?h=20251125) = 64287d37a0f92722de7aa90e9cb41d31a3b4b4fd0966b3ba5fa48cfa426f5a09 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-cc-a0-77.ucode?h=20251125) = 1368096 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-101.ucode?h=20251125) = 6769d9ce002bb404fbd0c39e28f3c68af4ec1583343ac66a98ca957710c3473b +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-101.ucode?h=20251125) = 2209924 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-83.ucode?h=20251125) = 1129761b5597077655996ec8590f100766e9d61ec9c331474b4febc6967f0e70 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-83.ucode?h=20251125) = 1797996 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-92.ucode?h=20251125) = c7092f1f78676f9e9c2c4d12716401db2116b009c5d7c464e8387c5b1c645d6f +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0-92.ucode?h=20251125) = 1913128 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0.pnvm?h=20251125) = f481e3b0403ca43a0a444b01c04fa4d1582868afcb026b1e697905f0039ccfa3 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-gl-c0-fm-c0.pnvm?h=20251125) = 295036 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0-83.ucode?h=20251125) = 9386a8294457f527c6e0fa1eac440c50cbee801707fdb480a10889770c0d297b +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0-83.ucode?h=20251125) = 1753308 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0-89.ucode?h=20251125) = 42874d917d35007d89532cee048c22ea386e8ded2255652a87c87a1acdf22a1f +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0-89.ucode?h=20251125) = 1752072 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0.pnvm?h=20251125) = c60dce94d93ee6d587281b4f6125d476761dcb6cec20141e56344a7b1fcbef96 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf-a0.pnvm?h=20251125) = 55128 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0-83.ucode?h=20251125) = 6910e5f34c0922fd0460aa363d73d6295d6c866f3447b96e8eaad988c613c697 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0-83.ucode?h=20251125) = 1721448 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0-89.ucode?h=20251125) = 99209f06d2adcf3f06f32b9d6012470745666a0a9ff0abd89ffef8c48e83affc +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0-89.ucode?h=20251125) = 1604120 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0.pnvm?h=20251125) = 5b2aa2a8644eded6b50765b667c13c093bc1974e44109bc6600431642b536edb +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-gf4-a0.pnvm?h=20251125) = 27836 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-hr-b0-83.ucode?h=20251125) = 03b67d28b4916634c544e057abdc46b15b636a85064df993ca431fd92fe4a835 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-hr-b0-83.ucode?h=20251125) = 1572104 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-hr-b0-89.ucode?h=20251125) = 3b37471551caa29bcd800701dbf11aba91aa3b8b9edd3fe78c5da1c441f872c4 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ma-b0-hr-b0-89.ucode?h=20251125) = 1539788 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-sc-a0-wh-b0-101.ucode?h=20251125) = 2286de3c518e1a930503e4ccfd51add6b4aa3d8ec6db5194a0aac0850712b4e8 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-sc-a0-wh-b0-101.ucode?h=20251125) = 2096172 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-77.ucode?h=20251125) = 87590ea9535a8939fddb296bc7622f3a900f28f47b45cb4e435a2a1d5f496ccd +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-77.ucode?h=20251125) = 1641260 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-83.ucode?h=20251125) = 5e5eaa6d917ccc420bd695db32d94148b9aeef7d9c95c64550ede82ba946efed +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-83.ucode?h=20251125) = 1739988 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-89.ucode?h=20251125) = bb7b07de282b01a1f23aecc8f3a725b27ca2a097dcd21d39c788109c19d89385 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0-89.ucode?h=20251125) = 1736108 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0.pnvm?h=20251125) = b37f038b3467ed568d107a9c1dfd916fa7e8cbd58b2f9bec0c2c53297ccfcab7 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf-a0.pnvm?h=20251125) = 55208 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0-77.ucode?h=20251125) = d945bce539ee78033a85c288da9b988b2651a1623c5f6081b7db510d3967df76 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0-77.ucode?h=20251125) = 1669164 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0-89.ucode?h=20251125) = 6f8a6f18ac6c1675151f8aa6e74c9197f4e23559a1826e06529089016f2cb69f +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0-89.ucode?h=20251125) = 1590688 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0.pnvm?h=20251125) = fb77cc355ade54a2345665f16329579fde6a9193d73cfb8f5af736a57c0e4f39 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-gf4-a0.pnvm?h=20251125) = 27876 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-77.ucode?h=20251125) = bed4958236366c3c451b3ec994a56b2ad83c08d70e0a1eae42fb00f2eaabbcc8 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-77.ucode?h=20251125) = 1500532 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-83.ucode?h=20251125) = 97ef27a1e5a18236617f845f333222b5b1e034c654144dfcdda2f72886847fb6 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-83.ucode?h=20251125) = 1552480 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-89.ucode?h=20251125) = aec2048d75d16cf0d938e78375f88bfda769a715d7145d830624132da6c4f3f4 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-hr-b0-89.ucode?h=20251125) = 1526956 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-jf-b0-77.ucode?h=20251125) = 9dccba0a8ba98483cb8385398d013b693b5b37cbff9402763ba215cc4921386c +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-so-a0-jf-b0-77.ucode?h=20251125) = 1446036 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-77.ucode?h=20251125) = fd8977dbfacfe50b8a6601479aa9ffd21d01e274e4a9efd13935dd9d667fd45b +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-77.ucode?h=20251125) = 1594276 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-83.ucode?h=20251125) = c90da88a6dc8b159e14e378f66d52f52eb553dacdb90f053da612fc68668b7a6 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-83.ucode?h=20251125) = 1683076 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-89.ucode?h=20251125) = 15350da99c5c6992efe48c5afb5025656d6e19fd4f2e0398372bbaf9b0852167 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0-89.ucode?h=20251125) = 1678176 +SHA256 (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0.pnvm?h=20251125) = 7056112e90244dc94cc43b8c7a84bd6b99f5e495d66194008ece5770e7412db0 +SIZE (linux-firmware/iwlwififw/intel/iwlwifi/iwlwifi-ty-a0-gf-a0.pnvm?h=20251125) = 55052 +SHA256 (linux-firmware/iwlwififw/LICENCE.iwlwifi_firmware?h=20251125) = 16d5040c7cf851fc693b7542e20870935b99802533ea1bfd231c377a2305e5c5 +SIZE (linux-firmware/iwlwififw/LICENCE.iwlwifi_firmware?h=20251125) = 2046 +SHA256 (linux-firmware/iwlwififw/WHENCE?h=20251125) = 978a5f084a81eec37f7fc146d0f12b21d263dc1afe97a38bd9556d68fa5b421f +SIZE (linux-firmware/iwlwififw/WHENCE?h=20251125) = 365316 diff --git a/net/wifi-firmware-kmod/Makefile b/net/wifi-firmware-kmod/Makefile index 67a9ef2e3fbe..ba83e8942d36 100644 --- a/net/wifi-firmware-kmod/Makefile +++ b/net/wifi-firmware-kmod/Makefile @@ -1,5 +1,5 @@ PORTNAME= wifi-firmware-kmod -PORTVERSION= 20241017 +PORTVERSION= 20251125 CATEGORIES= net MAINTAINER= bz@FreeBSD.org @@ -16,9 +16,13 @@ RUN_DEPENDS= \ wifi-firmware-iwlwifi-kmod-22000>0:net/wifi-firmware-iwlwifi-kmod@22000 \ wifi-firmware-iwlwifi-kmod-ax210>0:net/wifi-firmware-iwlwifi-kmod@ax210 \ wifi-firmware-iwlwifi-kmod-bz>0:net/wifi-firmware-iwlwifi-kmod@bz \ + wifi-firmware-iwlwifi-kmod-sc>0:net/wifi-firmware-iwlwifi-kmod@sc \ \ wifi-firmware-rtw88-kmod-rtw8703b>0:net/wifi-firmware-rtw88-kmod@rtw8703b \ wifi-firmware-rtw88-kmod-rtw8723d>0:net/wifi-firmware-rtw88-kmod@rtw8723d \ + wifi-firmware-rtw88-kmod-rtw8812a>0:net/wifi-firmware-rtw88-kmod@rtw8812a \ + wifi-firmware-rtw88-kmod-rtw8814a>0:net/wifi-firmware-rtw88-kmod@rtw8814a \ + wifi-firmware-rtw88-kmod-rtw8821a>0:net/wifi-firmware-rtw88-kmod@rtw8821a \ wifi-firmware-rtw88-kmod-rtw8821c>0:net/wifi-firmware-rtw88-kmod@rtw8821c \ wifi-firmware-rtw88-kmod-rtw8822b>0:net/wifi-firmware-rtw88-kmod@rtw8822b \ wifi-firmware-rtw88-kmod-rtw8822c>0:net/wifi-firmware-rtw88-kmod@rtw8822c \ @@ -26,6 +30,7 @@ RUN_DEPENDS= \ wifi-firmware-rtw89-kmod-rtw8851b>0:net/wifi-firmware-rtw89-kmod@rtw8851b \ wifi-firmware-rtw89-kmod-rtw8852a>0:net/wifi-firmware-rtw89-kmod@rtw8852a \ wifi-firmware-rtw89-kmod-rtw8852b>0:net/wifi-firmware-rtw89-kmod@rtw8852b \ + wifi-firmware-rtw89-kmod-rtw8852bt>0:net/wifi-firmware-rtw89-kmod@rtw8852bt \ wifi-firmware-rtw89-kmod-rtw8852c>0:net/wifi-firmware-rtw89-kmod@rtw8852c \ wifi-firmware-rtw89-kmod-rtw8922a>0:net/wifi-firmware-rtw89-kmod@rtw8922a \ \ @@ -34,24 +39,36 @@ RUN_DEPENDS= \ .if ${FLAVOR:U} != release RUN_DEPENDS+= \ - wifi-firmware-ath10k-kmod-qca988x_hw20>0:net/wifi-firmware-ath10k-kmod@qca988x_hw20 \ + wifi-firmware-ath10k-kmod-qca4019_hw10>0:net/wifi-firmware-ath10k-kmod@qca4019_hw10 \ wifi-firmware-ath10k-kmod-qca6174_hw21>0:net/wifi-firmware-ath10k-kmod@qca6174_hw21 \ wifi-firmware-ath10k-kmod-qca6174_hw30>0:net/wifi-firmware-ath10k-kmod@qca6174_hw30 \ - wifi-firmware-ath10k-kmod-qca99x0_hw20>0:net/wifi-firmware-ath10k-kmod@qca99x0_hw20 \ wifi-firmware-ath10k-kmod-qca9377_hw10>0:net/wifi-firmware-ath10k-kmod@qca9377_hw10 \ - wifi-firmware-ath10k-kmod-qca9984_hw10>0:net/wifi-firmware-ath10k-kmod@qca9984_hw10 \ wifi-firmware-ath10k-kmod-qca9887_hw10>0:net/wifi-firmware-ath10k-kmod@qca9887_hw10 \ wifi-firmware-ath10k-kmod-qca9888_hw20>0:net/wifi-firmware-ath10k-kmod@qca9888_hw20 \ + wifi-firmware-ath10k-kmod-qca988x_hw20>0:net/wifi-firmware-ath10k-kmod@qca988x_hw20 \ + wifi-firmware-ath10k-kmod-qca9984_hw10>0:net/wifi-firmware-ath10k-kmod@qca9984_hw10 \ + wifi-firmware-ath10k-kmod-qca99x0_hw20>0:net/wifi-firmware-ath10k-kmod@qca99x0_hw20 \ + wifi-firmware-ath10k-kmod-wcn3990_hw10>0:net/wifi-firmware-ath10k-kmod@wcn3990_hw10 \ \ + wifi-firmware-ath11k-kmod-ipq5018_hw10>0:net/wifi-firmware-ath11k-kmod@ipq5018_hw10 \ + wifi-firmware-ath11k-kmod-ipq6018_hw10>0:net/wifi-firmware-ath11k-kmod@ipq6018_hw10 \ + wifi-firmware-ath11k-kmod-ipq8074_hw20>0:net/wifi-firmware-ath11k-kmod@ipq8074_hw20 \ + wifi-firmware-ath11k-kmod-qca2066_hw21>0:net/wifi-firmware-ath11k-kmod@qca2066_hw21 \ wifi-firmware-ath11k-kmod-qca6390_hw20>0:net/wifi-firmware-ath11k-kmod@qca6390_hw20 \ + wifi-firmware-ath11k-kmod-qca6698aq_hw21>0:net/wifi-firmware-ath11k-kmod@qca6698aq_hw21 \ wifi-firmware-ath11k-kmod-qcn9074_hw10>0:net/wifi-firmware-ath11k-kmod@qcn9074_hw10 \ + wifi-firmware-ath11k-kmod-wcn6750_hw10>0:net/wifi-firmware-ath11k-kmod@wcn6750_hw10 \ wifi-firmware-ath11k-kmod-wcn6855_hw20>0:net/wifi-firmware-ath11k-kmod@wcn6855_hw20 \ \ + wifi-firmware-ath12k-kmod-qcn9274_hw20>0:net/wifi-firmware-ath12k-kmod@qcn9274_hw20 \ wifi-firmware-ath12k-kmod-wcn7850_hw20>0:net/wifi-firmware-ath12k-kmod@wcn7850_hw20 \ \ + wifi-firmware-mt76-kmod-mt7615>0:net/wifi-firmware-mt76-kmod@mt7615 \ wifi-firmware-mt76-kmod-mt7915>0:net/wifi-firmware-mt76-kmod@mt7915 \ - wifi-firmware-mt76-kmod-mt792x>0:net/wifi-firmware-mt76-kmod@mt792x \ - wifi-firmware-mt76-kmod-mt7996>0:net/wifi-firmware-mt76-kmod@mt7996 + wifi-firmware-mt76-kmod-mt7921>0:net/wifi-firmware-mt76-kmod@mt7921 \ + wifi-firmware-mt76-kmod-mt7925>0:net/wifi-firmware-mt76-kmod@mt7925 \ + wifi-firmware-mt76-kmod-mt7996>0:net/wifi-firmware-mt76-kmod@mt7996 \ + wifi-firmware-mt76-kmod-mtk_wed>0:net/wifi-firmware-mt76-kmod@mtk_wed .endif USES= metaport diff --git a/net/wifi-firmware-kmod/Makefile.inc b/net/wifi-firmware-kmod/Makefile.inc index a5438cd1a6b8..68755828064b 100644 --- a/net/wifi-firmware-kmod/Makefile.inc +++ b/net/wifi-firmware-kmod/Makefile.inc @@ -1,6 +1,6 @@ PORTNAME= wifi-firmware-${FWDRV}-kmod PORTVERSION= ${FWDRV_VERSION} -PORTREVISION?= 2 +#PORTREVISION?= 0 CATEGORIES= net MASTER_SITES= https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/ \ https://fra.source.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/ \ diff --git a/net/wifi-firmware-mt76-kmod/Makefile b/net/wifi-firmware-mt76-kmod/Makefile index 2e13268c62b0..20a2d25ad0b6 100644 --- a/net/wifi-firmware-mt76-kmod/Makefile +++ b/net/wifi-firmware-mt76-kmod/Makefile @@ -2,24 +2,32 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod FWDRV= mt76 FWSUBDIR= mediatek -FWDRV_VERSION= 20240513 +FWDRV_VERSION= 20251125 LICENSE_FILE= LICENCE.mediatek LICENSE_NAME= Mediatek firmware license (${FWDRV}) -WHENCE_REGEX= (mt7915e|mt7921|mt7922|mt7925|mt7996e) -.*ireless +WHENCE_REGEX= (mt7615e|mt7915e|mt7921|mt7922|mt7925|mt7996e|mtk_wed) -.*ireless -# The flavor/firmware lists below are generated by a script -# also helping to generate the fwget(8) definitions. -# { sys/contrib/dev/mediatek/mt76/zzz_fw_ports_fwget.sh } +# The flavor/firmware lists below are generated by the +# files/extract-fw-list.sh script. Usage: +# 1: checkout the correct tag (FWDRV_VERSION) in linux-firmware.git. +# 2: ./files/extract-fw-list.sh /path/to/linux-firmware.git ### >>> FWSUBS= \ + mt7615 \ mt7915 \ - mt792x \ - mt7996 + mt7921 \ + mt7925 \ + mt7996 \ + mtk_wed -DISTFILES_mt7915= \ +DISTFILES_mt7615+= \ + ${FWSUBDIR}/mt7615_cr4.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7615_n9.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7615_rom_patch.bin${DISTURL_SUFFIX} +DISTFILES_mt7915+= \ ${FWSUBDIR}/mt7915_eeprom.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7915_eeprom_dbdc.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7915_rom_patch.bin${DISTURL_SUFFIX} \ @@ -32,6 +40,7 @@ DISTFILES_mt7915= \ ${FWSUBDIR}/mt7981_rom_patch.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7981_wa.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7981_wm.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7981_wo.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7986_eeprom_mt7975_dual.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7986_eeprom_mt7976.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7986_eeprom_mt7976_dbdc.bin${DISTURL_SUFFIX} \ @@ -40,25 +49,57 @@ DISTFILES_mt7915= \ ${FWSUBDIR}/mt7986_rom_patch_mt7975.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7986_wa.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7986_wm.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/mt7986_wm_mt7975.bin${DISTURL_SUFFIX} -DISTFILES_mt792x= \ + ${FWSUBDIR}/mt7986_wm_mt7975.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7986_wo_0.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7986_wo_1.bin${DISTURL_SUFFIX} +DISTFILES_mt7921+= \ ${FWSUBDIR}/WIFI_MT7922_patch_mcu_1_1_hdr.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/WIFI_MT7961_patch_mcu_1_2_hdr.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/WIFI_RAM_CODE_MT7922_1.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/WIFI_RAM_CODE_MT7961_1.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/WIFI_RAM_CODE_MT7961_1.bin${DISTURL_SUFFIX} +DISTFILES_mt7925+= \ ${FWSUBDIR}/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin${DISTURL_SUFFIX} -DISTFILES_mt7996= \ +DISTFILES_mt7996+= \ + ${FWSUBDIR}/mt7996/mt7990_eeprom.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7990_eeprom_2i5i.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7990_rom_patch.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7990_wm.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_dsp.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_dsp_23.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_eeprom.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_eeprom_23.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_eeprom_23_2i5i.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_eeprom_2i5e.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_eeprom_2i5i.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_rom_patch.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_rom_patch_23.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_wa.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_wa_23.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_wm.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7992_wm_23.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7996/mt7996_dsp.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7996/mt7996_eeprom.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7996_eeprom_233.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7996_eeprom_233_2i5i6i.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7996_eeprom_2i5i6i.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7996/mt7996_rom_patch.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7996_rom_patch_233.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/mt7996/mt7996_wa.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/mt7996/mt7996_wm.bin${DISTURL_SUFFIX} + ${FWSUBDIR}/mt7996/mt7996_wa_233.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7996_wm.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7996/mt7996_wm_233.bin${DISTURL_SUFFIX} +DISTFILES_mtk_wed+= \ + ${FWSUBDIR}/mt7988/mt7988_wo_0.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/mt7988/mt7988_wo_1.bin${DISTURL_SUFFIX} DISTFILES_${FWDRV}= \ + ${DISTFILES_mt7615} \ ${DISTFILES_mt7915} \ - ${DISTFILES_mt792x} \ - ${DISTFILES_mt7996} + ${DISTFILES_mt7921} \ + ${DISTFILES_mt7925} \ + ${DISTFILES_mt7996} \ + ${DISTFILES_mtk_wed} DISTFILES_${FWDRV}_lic= ### <<< diff --git a/net/wifi-firmware-mt76-kmod/distinfo b/net/wifi-firmware-mt76-kmod/distinfo index 2e8f8aa93b2e..d8451653ffcc 100644 --- a/net/wifi-firmware-mt76-kmod/distinfo +++ b/net/wifi-firmware-mt76-kmod/distinfo @@ -1,69 +1,131 @@ -TIMESTAMP = 1715895579 -SHA256 (linux-firmware/mt76fw/mediatek/mt7915_eeprom.bin?h=20240513) = 87af3cbb8890e0fcb955c1504311a7dc8d864c9ccf865fc2d827e45036f44901 -SIZE (linux-firmware/mt76fw/mediatek/mt7915_eeprom.bin?h=20240513) = 3584 -SHA256 (linux-firmware/mt76fw/mediatek/mt7915_eeprom_dbdc.bin?h=20240513) = ac72fd7ba181613fe5696d7bd99dbdf87e15f3e654cc9becf25dcfd9146b7a66 -SIZE (linux-firmware/mt76fw/mediatek/mt7915_eeprom_dbdc.bin?h=20240513) = 3584 -SHA256 (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin?h=20240513) = 89fae20235b31400abc5558200d66951a119801ff4a5d6e19d3550cadc7a75d8 -SIZE (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin?h=20240513) = 144544 -SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wa.bin?h=20240513) = c28a3279fcdbd22f3ae34fa5c2adef3617015d1142b46ba8fa388beda7d968a0 -SIZE (linux-firmware/mt76fw/mediatek/mt7915_wa.bin?h=20240513) = 116160 -SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wm.bin?h=20240513) = 93ada741ec11b8a8c12dde51dd1c54e05ef860a9d0c79cebea0a8c3089aa550c -SIZE (linux-firmware/mt76fw/mediatek/mt7915_wm.bin?h=20240513) = 1260960 -SHA256 (linux-firmware/mt76fw/mediatek/mt7916_eeprom.bin?h=20240513) = 3ed7ca6b67ca3ef2e915c71fc7c0fc5e745cb87e441b7c5305b6bdf47fc155d6 -SIZE (linux-firmware/mt76fw/mediatek/mt7916_eeprom.bin?h=20240513) = 4096 -SHA256 (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin?h=20240513) = 7643caa31f405a571b8173a78a88f72250b8b26ae41f2db8c7ff902a37047a85 -SIZE (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin?h=20240513) = 8672 -SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wa.bin?h=20240513) = fcfd4115e06db6dccfc19c4fed17790b73576a8c8e5e501324898fed3a054782 -SIZE (linux-firmware/mt76fw/mediatek/mt7916_wa.bin?h=20240513) = 507856 -SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wm.bin?h=20240513) = 583dea8fdf341eb92b6fdd362aed04bcb33656f349455e460091b669606bf26f -SIZE (linux-firmware/mt76fw/mediatek/mt7916_wm.bin?h=20240513) = 1710304 -SHA256 (linux-firmware/mt76fw/mediatek/mt7981_rom_patch.bin?h=20240513) = 00c9319c625185181d1e77f4b9da17d45ee82183c4b2ed96bf82208d1ca813c7 -SIZE (linux-firmware/mt76fw/mediatek/mt7981_rom_patch.bin?h=20240513) = 8736 -SHA256 (linux-firmware/mt76fw/mediatek/mt7981_wa.bin?h=20240513) = 36914ce16927be2a8cb516fe54cbf270c059bad961c93e63387b5aaefb732d0a -SIZE (linux-firmware/mt76fw/mediatek/mt7981_wa.bin?h=20240513) = 492336 -SHA256 (linux-firmware/mt76fw/mediatek/mt7981_wm.bin?h=20240513) = a31abbf77bab86fe70dc43c59d15d5ab607f0ddc9d0736d15cf6352d7fb70fea -SIZE (linux-firmware/mt76fw/mediatek/mt7981_wm.bin?h=20240513) = 2052592 -SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7975_dual.bin?h=20240513) = 21392c9ee930c22b9ae3c870a26f8eea61fb4b60cd784bb4fae72fa64743d715 -SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7975_dual.bin?h=20240513) = 4096 -SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976.bin?h=20240513) = 1d33c8af0adfc2d93a86143b5afd05dfa7b4b30b62eda45347ab83df7faa8890 -SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976.bin?h=20240513) = 4096 -SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dbdc.bin?h=20240513) = 22eefa2204d03c0c4908d818a3461b345e7a8439d2fa422c8ad73e46be3e9f28 -SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dbdc.bin?h=20240513) = 4096 -SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dual.bin?h=20240513) = a70da76d43eb481a768cd02e74f589c77b505935f081c2ea12e55714228ed62d -SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dual.bin?h=20240513) = 4096 -SHA256 (linux-firmware/mt76fw/mediatek/mt7986_rom_patch.bin?h=20240513) = 7c55a6966433cb69e5728b49b5404db0b9c295b9298b7e611e02883f32aebc8d -SIZE (linux-firmware/mt76fw/mediatek/mt7986_rom_patch.bin?h=20240513) = 12768 -SHA256 (linux-firmware/mt76fw/mediatek/mt7986_rom_patch_mt7975.bin?h=20240513) = dd18412ad10d88bf71e8187542bc811bc2074273c25982ff5a50018d50c3961f -SIZE (linux-firmware/mt76fw/mediatek/mt7986_rom_patch_mt7975.bin?h=20240513) = 12768 -SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wa.bin?h=20240513) = 0bc5520abf3f5f930e697f5ab5247aa6483de9dac6826a651560e9906b936e34 -SIZE (linux-firmware/mt76fw/mediatek/mt7986_wa.bin?h=20240513) = 518784 -SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wm.bin?h=20240513) = 24376dc484977f380f485de3ad32c7de096327cf29cb05bf52901ac63c9e247d -SIZE (linux-firmware/mt76fw/mediatek/mt7986_wm.bin?h=20240513) = 2226016 -SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wm_mt7975.bin?h=20240513) = 065d0af98d4d4d5c1e3c45df23a54f603d05f72a051ec230abc7041adc3d12e8 -SIZE (linux-firmware/mt76fw/mediatek/mt7986_wm_mt7975.bin?h=20240513) = 2226016 -SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin?h=20240513) = 1b38bb6606a2f589493ec63e3bee44e46059e66115d2a279dd7f90ce4737925d -SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin?h=20240513) = 137632 -SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin?h=20240513) = 47b76646996c63b3f277fc57c6682ddc19912ab1bcdfc06d00aeb8d4b6c79f5c -SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin?h=20240513) = 92192 -SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin?h=20240513) = dc6b5a86ef2f204db5adb070980670db5c55247a586f29b72ad4d837d46899d7 -SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin?h=20240513) = 1018372 -SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin?h=20240513) = 6e4beacede7007f8845e6ea9d72a7da7b6fd7120a836dbb0f94a5fb821694b14 -SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin?h=20240513) = 794676 -SHA256 (linux-firmware/mt76fw/mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin?h=20240513) = f480faff1abe4bbccfd6fa91343338db148e7763cef257a9b8ca66ba367d3457 -SIZE (linux-firmware/mt76fw/mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin?h=20240513) = 210656 -SHA256 (linux-firmware/mt76fw/mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin?h=20240513) = 19c34a936a87f5ee0ea5c7b059c9f440d73cef6891ca8211f080356c1c058ea6 -SIZE (linux-firmware/mt76fw/mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin?h=20240513) = 1086064 -SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_dsp.bin?h=20240513) = 847bdb3f9b835f1d60e169cd96c7865a6a1c765b8c36b07adf42df0fc44f3a75 -SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_dsp.bin?h=20240513) = 191640 -SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom.bin?h=20240513) = 86611acc8560d05a8e18780838cf8400e82ba313cdc9329d0097422d591199d6 -SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom.bin?h=20240513) = 7680 -SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_rom_patch.bin?h=20240513) = 3b64854514b7fa67a6780897a84a9985efd4356645bc64d39e60bb70eff5b879 -SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_rom_patch.bin?h=20240513) = 22816 -SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wa.bin?h=20240513) = 9a773d3915f336469ec5320802d1e5fc991ba3ae6e7684335032acf3dd09c2e2 -SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wa.bin?h=20240513) = 515504 -SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wm.bin?h=20240513) = d6adce3fd49c8f5bb55f6af4404324eb0a72ce7b9e12f7eac5dae31f97aab8f6 -SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wm.bin?h=20240513) = 2572400 -SHA256 (linux-firmware/mt76fw/LICENCE.mediatek?h=20240513) = a90d3f66704d85889945fec5525ea77622549da83aced1aac99828383f8f1805 -SIZE (linux-firmware/mt76fw/LICENCE.mediatek?h=20240513) = 561 -SHA256 (linux-firmware/mt76fw/WHENCE?h=20240513) = 09453d13d522ce48c11fd37a04bc4a46b88792bc6e51c3b73cdcc5acb364e763 -SIZE (linux-firmware/mt76fw/WHENCE?h=20240513) = 274394 +TIMESTAMP = 1765583426 +SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin?h=20251125) = 916954485138ec5e20438741bb0a1c2196d5ecc036e088d6ffb1c6bb667c8f60 +SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7922_patch_mcu_1_1_hdr.bin?h=20251125) = 137632 +SHA256 (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin?h=20251125) = 1cf118a88b131202cceeb480441df91e6dad6dc6c9105d636cce7180bbf9ce2e +SIZE (linux-firmware/mt76fw/mediatek/WIFI_MT7961_patch_mcu_1_2_hdr.bin?h=20251125) = 92192 +SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin?h=20251125) = 893b4ed90f6d16080fd022c9363b9b71bf5af7c76b240b40c2f3bda9aa9dde50 +SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7922_1.bin?h=20251125) = 1003540 +SHA256 (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin?h=20251125) = b42237d20b1375a5160d9f220ea347231b06cba744e19410a8f6ce2039d42c6b +SIZE (linux-firmware/mt76fw/mediatek/WIFI_RAM_CODE_MT7961_1.bin?h=20251125) = 791588 +SHA256 (linux-firmware/mt76fw/mediatek/mt7615_cr4.bin?h=20251125) = 0a025aa567c2b8c1cf83293a03f43c2a92957f4bac4b31570a7cf81721e9a3a2 +SIZE (linux-firmware/mt76fw/mediatek/mt7615_cr4.bin?h=20251125) = 122644 +SHA256 (linux-firmware/mt76fw/mediatek/mt7615_n9.bin?h=20251125) = ae730b7b5414e24f320908ef6e1d8978b129b00eaf898bdf6b331b2477336dd9 +SIZE (linux-firmware/mt76fw/mediatek/mt7615_n9.bin?h=20251125) = 457992 +SHA256 (linux-firmware/mt76fw/mediatek/mt7615_rom_patch.bin?h=20251125) = 0084920ea9b96e0474c036401af7fc6bdeee5c4c3577b8ecd3daecc3965c1e7d +SIZE (linux-firmware/mt76fw/mediatek/mt7615_rom_patch.bin?h=20251125) = 11102 +SHA256 (linux-firmware/mt76fw/mediatek/mt7915_eeprom.bin?h=20251125) = 87af3cbb8890e0fcb955c1504311a7dc8d864c9ccf865fc2d827e45036f44901 +SIZE (linux-firmware/mt76fw/mediatek/mt7915_eeprom.bin?h=20251125) = 3584 +SHA256 (linux-firmware/mt76fw/mediatek/mt7915_eeprom_dbdc.bin?h=20251125) = ac72fd7ba181613fe5696d7bd99dbdf87e15f3e654cc9becf25dcfd9146b7a66 +SIZE (linux-firmware/mt76fw/mediatek/mt7915_eeprom_dbdc.bin?h=20251125) = 3584 +SHA256 (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin?h=20251125) = 89fae20235b31400abc5558200d66951a119801ff4a5d6e19d3550cadc7a75d8 +SIZE (linux-firmware/mt76fw/mediatek/mt7915_rom_patch.bin?h=20251125) = 144544 +SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wa.bin?h=20251125) = c28a3279fcdbd22f3ae34fa5c2adef3617015d1142b46ba8fa388beda7d968a0 +SIZE (linux-firmware/mt76fw/mediatek/mt7915_wa.bin?h=20251125) = 116160 +SHA256 (linux-firmware/mt76fw/mediatek/mt7915_wm.bin?h=20251125) = 93ada741ec11b8a8c12dde51dd1c54e05ef860a9d0c79cebea0a8c3089aa550c +SIZE (linux-firmware/mt76fw/mediatek/mt7915_wm.bin?h=20251125) = 1260960 +SHA256 (linux-firmware/mt76fw/mediatek/mt7916_eeprom.bin?h=20251125) = 3ed7ca6b67ca3ef2e915c71fc7c0fc5e745cb87e441b7c5305b6bdf47fc155d6 +SIZE (linux-firmware/mt76fw/mediatek/mt7916_eeprom.bin?h=20251125) = 4096 +SHA256 (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin?h=20251125) = d74eda13fc1dbd49f5bbe46738f5a24fbfb270c97f76623a0b21e8a08a883fd4 +SIZE (linux-firmware/mt76fw/mediatek/mt7916_rom_patch.bin?h=20251125) = 8800 +SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wa.bin?h=20251125) = abeeb31611d3faed6178357988fc54858ddf7f7a5eb742d41fb55e9bb6da3fdc +SIZE (linux-firmware/mt76fw/mediatek/mt7916_wa.bin?h=20251125) = 504032 +SHA256 (linux-firmware/mt76fw/mediatek/mt7916_wm.bin?h=20251125) = 64d86cfa4f00f9452b4706389d648d4ce0e563ddd512cc9845ba4e4442e99cb0 +SIZE (linux-firmware/mt76fw/mediatek/mt7916_wm.bin?h=20251125) = 1767568 +SHA256 (linux-firmware/mt76fw/mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin?h=20251125) = 009febfb3cca044ab5ac6f4f3ae0ecbbab16090fbeb6a5e16925bec018eecde3 +SIZE (linux-firmware/mt76fw/mediatek/mt7925/WIFI_MT7925_PATCH_MCU_1_1_hdr.bin?h=20251125) = 213152 +SHA256 (linux-firmware/mt76fw/mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin?h=20251125) = 297b449ba27dd42d643942626e75690d22d63e3668ab4d492698e120d57d3e20 +SIZE (linux-firmware/mt76fw/mediatek/mt7925/WIFI_RAM_CODE_MT7925_1_1.bin?h=20251125) = 1231832 +SHA256 (linux-firmware/mt76fw/mediatek/mt7981_rom_patch.bin?h=20251125) = f6338f757dfd1f6c9693bd7df1949195a282e919a23c509468f4ee37c0ac48ee +SIZE (linux-firmware/mt76fw/mediatek/mt7981_rom_patch.bin?h=20251125) = 9824 +SHA256 (linux-firmware/mt76fw/mediatek/mt7981_wa.bin?h=20251125) = 96b35d4bf944f7e21cc85ac97a8471da77a71c2afa8c8bd0631d20c8e832af8a +SIZE (linux-firmware/mt76fw/mediatek/mt7981_wa.bin?h=20251125) = 494208 +SHA256 (linux-firmware/mt76fw/mediatek/mt7981_wm.bin?h=20251125) = 98dd939dfeedd1249e68186e42e5e05531a3b96f3f26aa5f40598929a1f4a496 +SIZE (linux-firmware/mt76fw/mediatek/mt7981_wm.bin?h=20251125) = 2054528 +SHA256 (linux-firmware/mt76fw/mediatek/mt7981_wo.bin?h=20251125) = 2d69d4cb56d4808727e8ab1bf9a9abfc61657f9803c284bf39017f1872af9dd1 +SIZE (linux-firmware/mt76fw/mediatek/mt7981_wo.bin?h=20251125) = 2454304 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7975_dual.bin?h=20251125) = 21392c9ee930c22b9ae3c870a26f8eea61fb4b60cd784bb4fae72fa64743d715 +SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7975_dual.bin?h=20251125) = 4096 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976.bin?h=20251125) = 1d33c8af0adfc2d93a86143b5afd05dfa7b4b30b62eda45347ab83df7faa8890 +SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976.bin?h=20251125) = 4096 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dbdc.bin?h=20251125) = 22eefa2204d03c0c4908d818a3461b345e7a8439d2fa422c8ad73e46be3e9f28 +SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dbdc.bin?h=20251125) = 4096 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dual.bin?h=20251125) = a70da76d43eb481a768cd02e74f589c77b505935f081c2ea12e55714228ed62d +SIZE (linux-firmware/mt76fw/mediatek/mt7986_eeprom_mt7976_dual.bin?h=20251125) = 4096 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_rom_patch.bin?h=20251125) = 9dba42e316c8fcfe821bbf0e3b34c6a6e7e418688831a7dfb24e17589fedfb4e +SIZE (linux-firmware/mt76fw/mediatek/mt7986_rom_patch.bin?h=20251125) = 13216 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_rom_patch_mt7975.bin?h=20251125) = a62951769098b056ff3644881c171716a68b617223aa139b3bca5cf4f29b3070 +SIZE (linux-firmware/mt76fw/mediatek/mt7986_rom_patch_mt7975.bin?h=20251125) = 13216 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wa.bin?h=20251125) = f8ef9893fe422d24ac4454fa2177a99112d5ada99ec206e2b665f60c09210387 +SIZE (linux-firmware/mt76fw/mediatek/mt7986_wa.bin?h=20251125) = 522416 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wm.bin?h=20251125) = 5eb175d860cc6f148cfa894ec796f1c64bfd23295d3eb235642205b68e147dfc +SIZE (linux-firmware/mt76fw/mediatek/mt7986_wm.bin?h=20251125) = 2229264 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wm_mt7975.bin?h=20251125) = 5a5340e8eaf49a7c4530560891a6618bc6107256f7eb215fa883d0fa5640d8d1 +SIZE (linux-firmware/mt76fw/mediatek/mt7986_wm_mt7975.bin?h=20251125) = 2229264 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wo_0.bin?h=20251125) = 4c268aed7c9ebd7fdd9afc6d2f93e64e108e335626b7b025d7ab7c80704684d8 +SIZE (linux-firmware/mt76fw/mediatek/mt7986_wo_0.bin?h=20251125) = 2455072 +SHA256 (linux-firmware/mt76fw/mediatek/mt7986_wo_1.bin?h=20251125) = b60e9930e507b9e8228ba229c3ba6d1e4736d34720c744aeb2f85a9c8e5d3f29 +SIZE (linux-firmware/mt76fw/mediatek/mt7986_wo_1.bin?h=20251125) = 2455072 +SHA256 (linux-firmware/mt76fw/mediatek/mt7988/mt7988_wo_0.bin?h=20251125) = a00b95235a9baa850fe5e9c08562b54279bb5528abad207de6f2e649a8009b15 +SIZE (linux-firmware/mt76fw/mediatek/mt7988/mt7988_wo_0.bin?h=20251125) = 107816 +SHA256 (linux-firmware/mt76fw/mediatek/mt7988/mt7988_wo_1.bin?h=20251125) = 6d9123b4e8400f93fc40cfe1adcfe67c5a2e9d7c07c168ca05f0eba739e8d39f +SIZE (linux-firmware/mt76fw/mediatek/mt7988/mt7988_wo_1.bin?h=20251125) = 107752 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7990_eeprom.bin?h=20251125) = efacee4f35bf66787af3578b7f0754f3ecc4c9002c39910e24934373951dc11d +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7990_eeprom.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7990_eeprom_2i5i.bin?h=20251125) = ae8f5fbad39959d0a94df5ad2ce93a41962b948d4d61beb1774acbb27734b799 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7990_eeprom_2i5i.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7990_rom_patch.bin?h=20251125) = 5a86660206eda41cfc68ad4a619b177919990a1320d6597ad95fe8831738bfac +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7990_rom_patch.bin?h=20251125) = 12832 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7990_wm.bin?h=20251125) = ab56de4291114d671ac3ab0d3bf50da25c95371c6ccc8a4d867db0d88be38316 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7990_wm.bin?h=20251125) = 1336664 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_dsp.bin?h=20251125) = b29a866dcdc5a7a7f661380de2172e3370780401570876f0cea5fd0bae7cf75b +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_dsp.bin?h=20251125) = 63572 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_dsp_23.bin?h=20251125) = c1948a57f33442553bb8924d28cefe8ed8aba9bf8b4f22624ea594316ba4efb7 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_dsp_23.bin?h=20251125) = 63536 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom.bin?h=20251125) = 9dde8b84b9c2308d264a2aee5a1a87fe6549884226c4e44047bdb48d0a2257f3 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom_23.bin?h=20251125) = ccc92839a805320e5f3708dcd9559bbfe5f741b4e8628f384e9f500aaf372275 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom_23.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom_23_2i5i.bin?h=20251125) = f88ad725f82aa54269eba65f8e10b7eb9d652a3da46edde53c6a48f3960c7376 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom_23_2i5i.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom_2i5e.bin?h=20251125) = 898439862ecc00a00a0896d7327f319e425e04e466937434728966b2d68c22a8 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom_2i5e.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom_2i5i.bin?h=20251125) = 454ce57758188e1aab934863d0a67a64b66ac88c509c41c1283f2d226fb2fd48 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_eeprom_2i5i.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_rom_patch.bin?h=20251125) = 92239fe98eeef10977c17395ee41ef96433c6f98199c7f48eff70eb0a1dc6fc0 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_rom_patch.bin?h=20251125) = 20896 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_rom_patch_23.bin?h=20251125) = bbb47fa6bce319ce1408ce860eabb5be6828805450a3250e5092af79def45012 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_rom_patch_23.bin?h=20251125) = 20896 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_wa.bin?h=20251125) = a04097af88b3c67d01f671557e717a8d221bf88958c83fe4f7bc5ab8c772d9a2 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_wa.bin?h=20251125) = 515184 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_wa_23.bin?h=20251125) = d3e39246a50ab3180c2b4f6d6b6fd567b4f03bea88fe8363ebf2c8e8d6317447 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_wa_23.bin?h=20251125) = 515184 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_wm.bin?h=20251125) = dfcdf7248ee6318f5d74bdedced10ce37280c73d453997aef2b25f21ecfc6c37 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_wm.bin?h=20251125) = 1742052 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7992_wm_23.bin?h=20251125) = 9ab7979630ecbe5fa9b93e2eefd6600d84d30fb0b34cf744a774c6b5d1a71fb2 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7992_wm_23.bin?h=20251125) = 1701216 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_dsp.bin?h=20251125) = 30e67aae2aa00aaf7c6e23a3b7a17caf544b7ddb4bcf5696643bc575d106358e +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_dsp.bin?h=20251125) = 191728 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom.bin?h=20251125) = 86611acc8560d05a8e18780838cf8400e82ba313cdc9329d0097422d591199d6 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom_233.bin?h=20251125) = d4e2c032657c35d79f651d7e3b6af2e05f6a498228be31394d032640851a9643 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom_233.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom_233_2i5i6i.bin?h=20251125) = d4e2c032657c35d79f651d7e3b6af2e05f6a498228be31394d032640851a9643 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom_233_2i5i6i.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom_2i5i6i.bin?h=20251125) = 22f5caa4400963ecacb840d8acb7c004260b567709b1c09c6e2309a6050d9f28 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_eeprom_2i5i6i.bin?h=20251125) = 7680 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_rom_patch.bin?h=20251125) = d098625ce718ad712266771b230ce201c54d9f9a45495ae3e20ffc6829875fe8 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_rom_patch.bin?h=20251125) = 37216 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_rom_patch_233.bin?h=20251125) = 9dd10428b5ccd20c168a98f7655ddd6d581b2e88ad6be5b0819a478d82e62bed +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_rom_patch_233.bin?h=20251125) = 37216 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wa.bin?h=20251125) = defaada74ead853c7c8341ed94ea3bc9d6cc25b5864a773ce06bd1febf8c4944 +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wa.bin?h=20251125) = 509232 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wa_233.bin?h=20251125) = b4d9a34889bdb9d52878129597caceb3c06fc6954dcafe0fb75d28d9fdbb8b5e +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wa_233.bin?h=20251125) = 509232 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wm.bin?h=20251125) = e6148ee6b66fc7883aa4ab176c66920b95abec04d0c7ddbe368b8867725f009f +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wm.bin?h=20251125) = 2655416 +SHA256 (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wm_233.bin?h=20251125) = 04db3f2431ee17ead8957c650d715f01de0aefe2c0e30e167c8cf6df12fe355e +SIZE (linux-firmware/mt76fw/mediatek/mt7996/mt7996_wm_233.bin?h=20251125) = 2681656 +SHA256 (linux-firmware/mt76fw/LICENCE.mediatek?h=20251125) = a90d3f66704d85889945fec5525ea77622549da83aced1aac99828383f8f1805 +SIZE (linux-firmware/mt76fw/LICENCE.mediatek?h=20251125) = 561 +SHA256 (linux-firmware/mt76fw/WHENCE?h=20251125) = 978a5f084a81eec37f7fc146d0f12b21d263dc1afe97a38bd9556d68fa5b421f +SIZE (linux-firmware/mt76fw/WHENCE?h=20251125) = 365316 diff --git a/net/wifi-firmware-mt76-kmod/files/extract-fw-list.sh b/net/wifi-firmware-mt76-kmod/files/extract-fw-list.sh new file mode 100644 index 000000000000..eab739e6867b --- /dev/null +++ b/net/wifi-firmware-mt76-kmod/files/extract-fw-list.sh @@ -0,0 +1,200 @@ +#!/bin/sh +# +# Copyright (c) 2025 The FreeBSD Foundation +# +# This software was developed by Björn Zeeb +# under sponsorship from the FreeBSD Foundation. +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Generate the firmware flavors and files from the WHENCE file in +# linux-firmware.git based on the "MAC" names. +# It is no longer feasible to generate them from the driver as the +# firmware names are fully dynamic and require at least a register +# read on each card. The combinations likely go into the hundreds +# or thousands. +# We still check for the firmware file with the highest API version +# available based on each file name and sort out all the others. +# We also have to sort out the DVM drier parts which we are not +# interested in. +# + +FWDIR=${1:-/nonexistent} + +if test ! -d ${FWDIR} -o ! -r ${FWDIR}/WHENCE; then + printf "Cannot find '%s' or '%s/WHENCE'\n" ${FWDIR} ${FWDIR} >&2 + printf "USAGE: %s /path/to/linux-firmware.git\n" $0 >&2 + exit +fi + +sed -e "s@%%XXX%%@(mt7615e|mt7915e|mt7921|mt7922|mt7925|mt7996e|mtk_wed) -.*ireless@g" ../wifi-firmware-kmod/files/WHENCE.awk.in > WHENCE.awk +awk -f WHENCE.awk ${FWDIR}/WHENCE > WHENCE +awk -v FWDIR="${FWDIR}" ' +function file_exists(fname) +{ + xname = FWDIR "/" "mediatek" "/" fname; + + #printf("DEBUG: checking for file %s\n", xname); + + if ((getline _ < xname) >= 0) { + return 1; + } +} + +function known_in_2arr(arr, idx1, idx2) +{ + for (both in arr) { + split(both, sep, SUBSEP); + if (sep[1] == idx1 && sep[2] == idx2) { + return 1; + } + } + return 0; +} + +function get_flavor(name) +{ + + name = tolower(name); + + # Remove the file name if in subdir. + gsub("/[^/]*$", "", name); + + # Reduce to one level + n = split(name, a, "/") + if (n > 1) { + name = a[1]; + } + # Reduce to prefix; exclude the WIFI_* files, which get special handling. + if (name ~ /^mt/) { + n = split(name, a, "_") + if (n > 1) { + name = a[1]; + } + } + + # replace special characters + gsub("/", "_", name); + gsub("\\.", "", name); + + if (name == "mt7916" || name == "mt7981" || name == "mt7986") { + name = "mt7915"; + } + if (name == "mt7988") { + name = "mtk_wed"; + } + if (name ~ /^wifi_.*mt7922/ || name ~ /^wifi_.*mt7961/) { + name = "mt7921"; + } + + #printf("FLAVNAME >>%s<<\n", name); + + return name; +} + +function is_flavor_known(name, n, flavarr) +{ + + for (f = 1; f <= n ; f++) { + if (flavarr[f] == name) + return 1; + } + + return 0; +} + +BEGIN { + if (!FWDIR) { + printf "USAGE: -v FWDIR=/path/to/linux-firmware.git\n" + exit + } + + flavors_n = 0; +} +{ + if (! /^File:/) { + next; + } + + gsub("^File: " "mediatek" "/", ""); + + name=$0 + if (!file_exists(name)) { + print "DEBUG :: file does not exist :: " $0; + next; + } + + flav = get_flavor($name); + + if (!is_flavor_known(flav, flavors_n, flavors)) { + flavors[++flavors_n] = flav; + } + + fwn[flav]++; + fwname[flav,fwn[flav]] = name; +} +END { + # Sort flavors + for (i = 1; i < length(flavors); i++) { + for (j = i + 1; j <= length(flavors); j++) { + if (flavors[i] > flavors[j]) { + t=flavors[i] + flavors[i]=flavors[j] + flavors[j]=t + } + } + } + + printf("FWSUBS="); + for (f = 1; f <= length(flavors); f++) { + if (fwn[flavors[f]] > 0) { + printf(" \\\n\t%s", flavors[f]); + } + } + printf("\n\n"); + + # Deal with all the firmware flavors: + for (f = 1; f <= length(flavors); f++) { + flav=flavors[f]; + + # + # Firmware files. + # + if (fwn[flav] > 0) { + if (f > 1) { + printf("\n"); + } + printf("DISTFILES_%s+=", flav); + } + # Sort + for (i = 1; i < fwn[flav]; i++) { + for (j = i + 1; j <= fwn[flav]; j++) { + if (fwname[flav,i] > fwname[flav,j]) { + t=fwname[flav,i] + fwname[flav,i]=fwname[flav,j] + fwname[flav,j]=t + } + } + } + # Print + for (i = 1; i <= fwn[flav]; i++) { + printf(" \\\n\t\${FWSUBDIR}/%s\${DISTURL_SUFFIX}", fwname[flav,i]); + } + } + printf("\n"); + + printf("\n"); + printf("DISTFILES_\${FWDRV}="); + for (f = 1; f <= length(flavors); f++) { + if (fwn[flavors[f]] > 0) { + printf(" \\\n\t\${DISTFILES_%s}", flavors[f]); + } + } + printf("\n"); + printf("DISTFILES_\${FWDRV}_lic="); + printf("\n"); +}' WHENCE + +rm -f WHENCE.awk WHENCE + +# end diff --git a/net/wifi-firmware-mt76-kmod/pkg-descr b/net/wifi-firmware-mt76-kmod/pkg-descr index f5ae9af972f3..a15c13b2c116 100644 --- a/net/wifi-firmware-mt76-kmod/pkg-descr +++ b/net/wifi-firmware-mt76-kmod/pkg-descr @@ -1,7 +1 @@ Firmware files for Mediatek WiFi NICs supported by the mt76 driver. - -Currently provides firmware for the following sub-drivers: -- mt7915 -- mt7921 -- mt7925 -- mt7996 diff --git a/net/wifi-firmware-mt7601u-kmod/Makefile b/net/wifi-firmware-mt7601u-kmod/Makefile index 34f58987dba1..211527d84183 100644 --- a/net/wifi-firmware-mt7601u-kmod/Makefile +++ b/net/wifi-firmware-mt7601u-kmod/Makefile @@ -1,7 +1,7 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod FWDRV=mt7601u FWSUBDIR= mediatek -FWDRV_VERSION= 20241017 +FWDRV_VERSION= 20251125 NOT_FOR_ARCHS= diff --git a/net/wifi-firmware-mt7601u-kmod/distinfo b/net/wifi-firmware-mt7601u-kmod/distinfo index f3c781108508..948881b5d946 100644 --- a/net/wifi-firmware-mt7601u-kmod/distinfo +++ b/net/wifi-firmware-mt7601u-kmod/distinfo @@ -1,7 +1,7 @@ -TIMESTAMP = 1739475756 -SHA256 (linux-firmware/mt7601ufw/mediatek/mt7601u.bin?h=20241017) = 4511b1d840e22aea2bf5fdca419c91c0d94cbfb291b9ac4f8be6d9100d1a7046 -SIZE (linux-firmware/mt7601ufw/mediatek/mt7601u.bin?h=20241017) = 45412 -SHA256 (linux-firmware/mt7601ufw/LICENCE.ralink_a_mediatek_company_firmware?h=20241017) = 8568352b57f3574f9d5b2753cdb7c6e5eb2b79e82fbb9c9ba6566947467ef508 -SIZE (linux-firmware/mt7601ufw/LICENCE.ralink_a_mediatek_company_firmware?h=20241017) = 2100 -SHA256 (linux-firmware/mt7601ufw/WHENCE?h=20241017) = 7851ae8e04d71ccfc741fd2df450ef5724c4a172a0a282f69e8a8ce44877ba84 -SIZE (linux-firmware/mt7601ufw/WHENCE?h=20241017) = 291838 +TIMESTAMP = 1765588290 +SHA256 (linux-firmware/mt7601ufw/mediatek/mt7601u.bin?h=20251125) = 4511b1d840e22aea2bf5fdca419c91c0d94cbfb291b9ac4f8be6d9100d1a7046 +SIZE (linux-firmware/mt7601ufw/mediatek/mt7601u.bin?h=20251125) = 45412 +SHA256 (linux-firmware/mt7601ufw/LICENCE.ralink_a_mediatek_company_firmware?h=20251125) = 8568352b57f3574f9d5b2753cdb7c6e5eb2b79e82fbb9c9ba6566947467ef508 +SIZE (linux-firmware/mt7601ufw/LICENCE.ralink_a_mediatek_company_firmware?h=20251125) = 2100 +SHA256 (linux-firmware/mt7601ufw/WHENCE?h=20251125) = 978a5f084a81eec37f7fc146d0f12b21d263dc1afe97a38bd9556d68fa5b421f +SIZE (linux-firmware/mt7601ufw/WHENCE?h=20251125) = 365316 diff --git a/net/wifi-firmware-rtw88-kmod/Makefile b/net/wifi-firmware-rtw88-kmod/Makefile index dfd374718937..c1984c95e274 100644 --- a/net/wifi-firmware-rtw88-kmod/Makefile +++ b/net/wifi-firmware-rtw88-kmod/Makefile @@ -6,7 +6,8 @@ FWSUBDIR= rtw88 #FWDRV_VERSION= 20230117 # rtw8822c is barfing #FWDRV_VERSION= 20220209 # Used for a long time #FWDRV_VERSION= 20240513 -FWDRV_VERSION= 20241017 +#FWDRV_VERSION= 20241017 +FWDRV_VERSION= 20251125 LICENSE_FILE= LICENCE.rtlwifi_firmware.txt LICENSE_NAME= Realtek firmware license (${FWDRV}) @@ -15,40 +16,53 @@ WHENCE_REGEX= rtw88 -.* COMPAT_LINUXKPI_SKB_MEM_LIMIT= 1 -# The flavor/firmware lists below are generated by a script -# also helping to generate the fwget(8) definitions. -# { sys/contrib/dev/rtw88/zzz_fw_ports_fwget.sh } +# The flavor/firmware lists below are generated by the +# files/extract-fw-list.sh script. Usage: +# 1: checkout the correct tag (FWDRV_VERSION) in linux-firmware.git. +# 2: ./files/extract-fw-list.sh /path/to/linux-firmware.git rtw88 ### >>> FWSUBS= \ rtw8703b \ rtw8723d \ + rtw8812a \ + rtw8814a \ + rtw8821a \ rtw8821c \ rtw8822b \ rtw8822c -DISTFILES_rtw8703b= \ +DISTFILES_rtw8703b+= \ ${FWSUBDIR}/rtw8703b_fw.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/rtw8703b_wow_fw.bin${DISTURL_SUFFIX} -DISTFILES_rtw8723d= \ +DISTFILES_rtw8723d+= \ ${FWSUBDIR}/rtw8723d_fw.bin${DISTURL_SUFFIX} -DISTFILES_rtw8821c= \ +DISTFILES_rtw8812a+= \ + ${FWSUBDIR}/rtw8812a_fw.bin${DISTURL_SUFFIX} +DISTFILES_rtw8814a+= \ + ${FWSUBDIR}/rtw8814a_fw.bin${DISTURL_SUFFIX} +DISTFILES_rtw8821a+= \ + ${FWSUBDIR}/rtw8821a_fw.bin${DISTURL_SUFFIX} +DISTFILES_rtw8821c+= \ ${FWSUBDIR}/rtw8821c_fw.bin${DISTURL_SUFFIX} -DISTFILES_rtw8822b= \ +DISTFILES_rtw8822b+= \ ${FWSUBDIR}/rtw8822b_fw.bin${DISTURL_SUFFIX} -DISTFILES_rtw8822c= \ +DISTFILES_rtw8822c+= \ ${FWSUBDIR}/rtw8822c_fw.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/rtw8822c_wow_fw.bin${DISTURL_SUFFIX} DISTFILES_${FWDRV}= \ ${DISTFILES_rtw8703b} \ ${DISTFILES_rtw8723d} \ + ${DISTFILES_rtw8812a} \ + ${DISTFILES_rtw8814a} \ + ${DISTFILES_rtw8821a} \ ${DISTFILES_rtw8821c} \ ${DISTFILES_rtw8822b} \ ${DISTFILES_rtw8822c} - -### <<< DISTFILES_${FWDRV}_lic= \ ${FWSUBDIR}/README${DISTURL_SUFFIX} +### <<< + .include "${BASEDIR}/Makefile.inc" diff --git a/net/wifi-firmware-rtw88-kmod/distinfo b/net/wifi-firmware-rtw88-kmod/distinfo index 2fa8d535f6f6..745b8cca6787 100644 --- a/net/wifi-firmware-rtw88-kmod/distinfo +++ b/net/wifi-firmware-rtw88-kmod/distinfo @@ -1,21 +1,27 @@ -TIMESTAMP = 1730331931 -SHA256 (linux-firmware/rtw88fw/rtw88/rtw8703b_fw.bin?h=20241017) = 5e32bd891c74a0719c871726b74490cf5e1a05cdcefb8fe2414f80fffdeb9f9d -SIZE (linux-firmware/rtw88fw/rtw88/rtw8703b_fw.bin?h=20241017) = 20290 -SHA256 (linux-firmware/rtw88fw/rtw88/rtw8703b_wow_fw.bin?h=20241017) = 7156b0d2b4580e63d11a3a78258c35ff28e840c7c6428953920ae6a1cd5d05ac -SIZE (linux-firmware/rtw88fw/rtw88/rtw8703b_wow_fw.bin?h=20241017) = 23074 -SHA256 (linux-firmware/rtw88fw/rtw88/rtw8723d_fw.bin?h=20241017) = 9c64e079815a333a3f7b731be7cc0be65206ebc883891659dc8ff5ed36a5e2f5 -SIZE (linux-firmware/rtw88fw/rtw88/rtw8723d_fw.bin?h=20241017) = 28884 -SHA256 (linux-firmware/rtw88fw/rtw88/rtw8821c_fw.bin?h=20241017) = 2ef409bc418549fcf294061dd0cae1fc22fd9da79b60524950b25de18732f3f0 -SIZE (linux-firmware/rtw88fw/rtw88/rtw8821c_fw.bin?h=20241017) = 139472 -SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822b_fw.bin?h=20241017) = 378ff7b43ae7da18a0311175abc351a1758d25ce553b44f3c5694758efbea84c -SIZE (linux-firmware/rtw88fw/rtw88/rtw8822b_fw.bin?h=20241017) = 150984 -SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822c_fw.bin?h=20241017) = 3deecb31210986d98cdbfb000391e08d602a6eee4ffc883969faa2b907ab03ba -SIZE (linux-firmware/rtw88fw/rtw88/rtw8822c_fw.bin?h=20241017) = 202600 -SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822c_wow_fw.bin?h=20241017) = 6717fc6ff426a74571ac4f04cd9698fb2f356012c05c58aa64cf21ceb6b958a2 -SIZE (linux-firmware/rtw88fw/rtw88/rtw8822c_wow_fw.bin?h=20241017) = 145224 -SHA256 (linux-firmware/rtw88fw/rtw88/README?h=20241017) = 39c44c710469c1069305add9889921b42704a83f11b94c6d88b06dc2efe40686 -SIZE (linux-firmware/rtw88fw/rtw88/README?h=20241017) = 1181 -SHA256 (linux-firmware/rtw88fw/LICENCE.rtlwifi_firmware.txt?h=20241017) = a61351665b4f264f6c631364f85b907d8f8f41f8b369533ef4021765f9f3b62e -SIZE (linux-firmware/rtw88fw/LICENCE.rtlwifi_firmware.txt?h=20241017) = 2115 -SHA256 (linux-firmware/rtw88fw/WHENCE?h=20241017) = 7851ae8e04d71ccfc741fd2df450ef5724c4a172a0a282f69e8a8ce44877ba84 -SIZE (linux-firmware/rtw88fw/WHENCE?h=20241017) = 291838 +TIMESTAMP = 1765584880 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8703b_fw.bin?h=20251125) = 5e32bd891c74a0719c871726b74490cf5e1a05cdcefb8fe2414f80fffdeb9f9d +SIZE (linux-firmware/rtw88fw/rtw88/rtw8703b_fw.bin?h=20251125) = 20290 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8703b_wow_fw.bin?h=20251125) = 7156b0d2b4580e63d11a3a78258c35ff28e840c7c6428953920ae6a1cd5d05ac +SIZE (linux-firmware/rtw88fw/rtw88/rtw8703b_wow_fw.bin?h=20251125) = 23074 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8723d_fw.bin?h=20251125) = 9c64e079815a333a3f7b731be7cc0be65206ebc883891659dc8ff5ed36a5e2f5 +SIZE (linux-firmware/rtw88fw/rtw88/rtw8723d_fw.bin?h=20251125) = 28884 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8812a_fw.bin?h=20251125) = abdcca4e8bf76ebfba23d433de310ffefebd0ff9d01990639d4cd9602b32b71a +SIZE (linux-firmware/rtw88fw/rtw88/rtw8812a_fw.bin?h=20251125) = 27030 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8814a_fw.bin?h=20251125) = aa6bf9d62b2d2d8a37254fd6d917ba2839888cdedc21850d4481874cb1d3d7cb +SIZE (linux-firmware/rtw88fw/rtw88/rtw8814a_fw.bin?h=20251125) = 68320 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8821a_fw.bin?h=20251125) = 4693ece655044d96f81bd3f3e8db14dc352b493219c4fd0a75788a6fbd9eac3c +SIZE (linux-firmware/rtw88fw/rtw88/rtw8821a_fw.bin?h=20251125) = 31898 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8821c_fw.bin?h=20251125) = 2ef409bc418549fcf294061dd0cae1fc22fd9da79b60524950b25de18732f3f0 +SIZE (linux-firmware/rtw88fw/rtw88/rtw8821c_fw.bin?h=20251125) = 139472 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822b_fw.bin?h=20251125) = a72da690597bfa99d8eb6fc2ab090d18d8ad92ac2befd35db1c9e3662d8d8418 +SIZE (linux-firmware/rtw88fw/rtw88/rtw8822b_fw.bin?h=20251125) = 161240 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822c_fw.bin?h=20251125) = 3deecb31210986d98cdbfb000391e08d602a6eee4ffc883969faa2b907ab03ba +SIZE (linux-firmware/rtw88fw/rtw88/rtw8822c_fw.bin?h=20251125) = 202600 +SHA256 (linux-firmware/rtw88fw/rtw88/rtw8822c_wow_fw.bin?h=20251125) = 6717fc6ff426a74571ac4f04cd9698fb2f356012c05c58aa64cf21ceb6b958a2 +SIZE (linux-firmware/rtw88fw/rtw88/rtw8822c_wow_fw.bin?h=20251125) = 145224 +SHA256 (linux-firmware/rtw88fw/rtw88/README?h=20251125) = f94c70b012eea68bfb45e0cfeea17bd76b8f0b3e872b6dbf313012f75ffd4ab0 +SIZE (linux-firmware/rtw88fw/rtw88/README?h=20251125) = 1253 +SHA256 (linux-firmware/rtw88fw/LICENCE.rtlwifi_firmware.txt?h=20251125) = a61351665b4f264f6c631364f85b907d8f8f41f8b369533ef4021765f9f3b62e +SIZE (linux-firmware/rtw88fw/LICENCE.rtlwifi_firmware.txt?h=20251125) = 2115 +SHA256 (linux-firmware/rtw88fw/WHENCE?h=20251125) = 978a5f084a81eec37f7fc146d0f12b21d263dc1afe97a38bd9556d68fa5b421f +SIZE (linux-firmware/rtw88fw/WHENCE?h=20251125) = 365316 diff --git a/net/wifi-firmware-rtw88-kmod/files/extract-fw-list.sh b/net/wifi-firmware-rtw88-kmod/files/extract-fw-list.sh new file mode 100644 index 000000000000..fdfeabc60d11 --- /dev/null +++ b/net/wifi-firmware-rtw88-kmod/files/extract-fw-list.sh @@ -0,0 +1,205 @@ +#!/bin/sh +# +# Copyright (c) 2025 The FreeBSD Foundation +# +# This software was developed by Björn Zeeb +# under sponsorship from the FreeBSD Foundation. +# +# SPDX-License-Identifier: BSD-2-Clause +# +# Generate the firmware flavors and files from the WHENCE file in +# linux-firmware.git based on the "MAC" names. +# It is no longer feasible to generate them from the driver as the +# firmware names are fully dynamic and require at least a register +# read on each card. The combinations likely go into the hundreds +# or thousands. +# We still check for the firmware file with the highest API version +# available based on each file name and sort out all the others. +# We also have to sort out the DVM drier parts which we are not +# interested in. +# + +FWDIR=${1:-/nonexistent} +DRVNAME=${2:-NODRVNAMEGIVEN} + +if test ! -d ${FWDIR} -o ! -r ${FWDIR}/WHENCE; then + printf "Cannot find '%s' or '%s/WHENCE'\n" ${FWDIR} ${FWDIR} >&2 + printf "USAGE: %s /path/to/linux-firmware.git rtw8[89]\n" $0 >&2 + exit +fi +case "${DRVNAME}" in +NODRVNAMEGIVEN) + printf "USAGE: %s /path/to/linux-firmware.git rtw8[89]\n" $0 >&2 + exit + ;; +esac + +sed -e "s@%%XXX%%@"${DRVNAME}" -.*@g" ../wifi-firmware-kmod/files/WHENCE.awk.in > WHENCE.awk +awk -f WHENCE.awk ${FWDIR}/WHENCE > WHENCE +awk -v FWDIR="${FWDIR}" -v DRVNAME="${DRVNAME}" ' +function file_exists(fname) +{ + xname = FWDIR "/" DRVNAME "/" fname; + + #printf("DEBUG: checking for file %s\n", xname); + + if ((getline _ < xname) >= 0) { + return 1; + } +} + +function known_in_2arr(arr, idx1, idx2) +{ + for (both in arr) { + split(both, sep, SUBSEP); + if (sep[1] == idx1 && sep[2] == idx2) { + return 1; + } + } + return 0; +} + +function get_flavor(name) +{ + + name = tolower(name); + + # Remove the file name if in subdir. + gsub("/[^/]*$", "", name); + + # Reduce to one level + n = split(name, a, "/") + if (n > 1) { + name = a[1]; + } + # Reduce to prefix. + if (name ~ /^rtw/) { + n = split(name, a, "_") + if (n > 1) { + name = a[1]; + } + } + + # replace special characters + gsub("/", "_", name); + gsub("\\.", "", name); + + #printf("FLAVNAME >>%s<<\n", name); + + return name; +} + +function is_flavor_known(name, n, flavarr) +{ + + for (f = 1; f <= n ; f++) { + if (flavarr[f] == name) + return 1; + } + + return 0; +} + +BEGIN { + if (!FWDIR) { + printf "USAGE: -v FWDIR=/path/to/linux-firmware.git\n" + exit + } + + flavors_n = 0; +} +{ + if (! /^File:/) { + next; + } + + gsub("^File: " DRVNAME "/", ""); + + name=$0 + if (!file_exists(name)) { + print "DEBUG :: file does not exist :: " $0; + next; + } + + flav = get_flavor($name); + + if (DRVNAME == "rtw88" && flav == "readme") { + print "DEBUG :: skipping rtw88 readme :: " $0; + next; + } + + if (!is_flavor_known(flav, flavors_n, flavors)) { + flavors[++flavors_n] = flav; + } + + fwn[flav]++; + fwname[flav,fwn[flav]] = name; +} +END { + # Sort flavors + for (i = 1; i < length(flavors); i++) { + for (j = i + 1; j <= length(flavors); j++) { + if (flavors[i] > flavors[j]) { + t=flavors[i] + flavors[i]=flavors[j] + flavors[j]=t + } + } + } + + printf("FWSUBS="); + for (f = 1; f <= length(flavors); f++) { + if (fwn[flavors[f]] > 0) { + printf(" \\\n\t%s", flavors[f]); + } + } + printf("\n\n"); + + # Deal with all the firmware flavors: + for (f = 1; f <= length(flavors); f++) { + flav=flavors[f]; + + # + # Firmware files. + # + if (fwn[flav] > 0) { + if (f > 1) { + printf("\n"); + } + printf("DISTFILES_%s+=", flav); + } + # Sort + for (i = 1; i < fwn[flav]; i++) { + for (j = i + 1; j <= fwn[flav]; j++) { + if (fwname[flav,i] > fwname[flav,j]) { + t=fwname[flav,i] + fwname[flav,i]=fwname[flav,j] + fwname[flav,j]=t + } + } + } + # Print + for (i = 1; i <= fwn[flav]; i++) { + printf(" \\\n\t\${FWSUBDIR}/%s\${DISTURL_SUFFIX}", fwname[flav,i]); + } + } + printf("\n"); + + printf("\n"); + printf("DISTFILES_\${FWDRV}="); + for (f = 1; f <= length(flavors); f++) { + if (fwn[flavors[f]] > 0) { + printf(" \\\n\t\${DISTFILES_%s}", flavors[f]); + } + } + printf("\n"); + printf("DISTFILES_\${FWDRV}_lic="); + if (DRVNAME == "rtw88") { + printf(" \\\n\t\${FWSUBDIR}/%s\${DISTURL_SUFFIX}", "README"); + } + printf("\n"); +}' WHENCE + +rm -f WHENCE.awk WHENCE + +# end diff --git a/net/wifi-firmware-rtw88-kmod/pkg-descr b/net/wifi-firmware-rtw88-kmod/pkg-descr index 7648756cc451..ae438dbbf99d 100644 --- a/net/wifi-firmware-rtw88-kmod/pkg-descr +++ b/net/wifi-firmware-rtw88-kmod/pkg-descr @@ -1,7 +1 @@ Firmware files for Realtek WiFi NICs supported by the rtw88 driver. - -Currently supported chipsets: -- RTL8822BE -- RTL8821CE -- RTL8822CE -- RTL8723DE diff --git a/net/wifi-firmware-rtw89-kmod/Makefile b/net/wifi-firmware-rtw89-kmod/Makefile index abe723dfd687..7eaf79ad53c8 100644 --- a/net/wifi-firmware-rtw89-kmod/Makefile +++ b/net/wifi-firmware-rtw89-kmod/Makefile @@ -3,7 +3,8 @@ BASEDIR= ${.CURDIR}/../wifi-firmware-kmod FWDRV= rtw89 FWSUBDIR= rtw89 #FWDRV_VERSION= 20240513 -FWDRV_VERSION= 20241017 +#FWDRV_VERSION= 20241017 +FWDRV_VERSION= 20251125 LICENSE_FILE= LICENCE.rtlwifi_firmware.txt LICENSE_NAME= Realtek firmware license (${FWDRV}) @@ -13,48 +14,48 @@ WHENCE_REGEX= rtw89 -.* COMPAT_LINUXKPI_SKB_MEM_LIMIT= 1 # The flavor/firmware lists below are generated by a script -# also helping to generate the fwget(8) definitions. -# { sys/contrib/dev/rtw89/zzz_fw_ports_fwget.sh } -# -# Note: we manually added (kept) some -<n> versions (outside -# the generated template) to be able to support all branches. -# +# found with the wifi-firmware-rtw88-kmod port. ### >>> FWSUBS= \ rtw8851b \ rtw8852a \ rtw8852b \ + rtw8852bt \ rtw8852c \ rtw8922a -DISTFILES_rtw8851b= \ +DISTFILES_rtw8851b+= \ ${FWSUBDIR}/rtw8851b_fw.bin${DISTURL_SUFFIX} -DISTFILES_rtw8852a= \ +DISTFILES_rtw8852a+= \ ${FWSUBDIR}/rtw8852a_fw.bin${DISTURL_SUFFIX} -DISTFILES_rtw8852b= \ - ${FWSUBDIR}/rtw8852b_fw-1.bin${DISTURL_SUFFIX} -DISTFILES_rtw8852c= \ +DISTFILES_rtw8852b+= \ + ${FWSUBDIR}/rtw8852b_fw-1.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/rtw8852b_fw-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/rtw8852b_fw.bin${DISTURL_SUFFIX} +DISTFILES_rtw8852bt+= \ + ${FWSUBDIR}/rtw8852bt_fw-1.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/rtw8852bt_fw.bin${DISTURL_SUFFIX} +DISTFILES_rtw8852c+= \ + ${FWSUBDIR}/rtw8852c_fw-1.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/rtw8852c_fw-2.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/rtw8852c_fw.bin${DISTURL_SUFFIX} -DISTFILES_rtw8922a= \ +DISTFILES_rtw8922a+= \ + ${FWSUBDIR}/rtw8922a_fw-1.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/rtw8922a_fw-2.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/rtw8922a_fw-3.bin${DISTURL_SUFFIX} \ + ${FWSUBDIR}/rtw8922a_fw-4.bin${DISTURL_SUFFIX} \ ${FWSUBDIR}/rtw8922a_fw.bin${DISTURL_SUFFIX} DISTFILES_${FWDRV}= \ ${DISTFILES_rtw8851b} \ ${DISTFILES_rtw8852a} \ ${DISTFILES_rtw8852b} \ + ${DISTFILES_rtw8852bt} \ ${DISTFILES_rtw8852c} \ ${DISTFILES_rtw8922a} +DISTFILES_${FWDRV}_lic= ### <<<< -DISTFILES_rtw8852a+= \ - ${FWSUBDIR}/rtw8852b_fw.bin${DISTURL_SUFFIX} -DISTFILES_rtw8852c+= \ - ${FWSUBDIR}/rtw8852c_fw-1.bin${DISTURL_SUFFIX} -DISTFILES_rtw8922a+= \ - ${FWSUBDIR}/rtw8922a_fw-1.bin${DISTURL_SUFFIX} \ - ${FWSUBDIR}/rtw8922a_fw-2.bin${DISTURL_SUFFIX} - -DISTFILES_${FWDRV}_lic= .include "${BASEDIR}/Makefile.inc" diff --git a/net/wifi-firmware-rtw89-kmod/distinfo b/net/wifi-firmware-rtw89-kmod/distinfo index de181c59be7e..ce7b63e10315 100644 --- a/net/wifi-firmware-rtw89-kmod/distinfo +++ b/net/wifi-firmware-rtw89-kmod/distinfo @@ -1,23 +1,35 @@ -TIMESTAMP = 1730332180 -SHA256 (linux-firmware/rtw89fw/rtw89/rtw8851b_fw.bin?h=20241017) = f0980b436211f08682666777161db844f020c7c01f4d5864792f9ad8ee2ffd0a -SIZE (linux-firmware/rtw89fw/rtw89/rtw8851b_fw.bin?h=20241017) = 1162024 -SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852a_fw.bin?h=20241017) = c3dc625eefc631280e3e3359514a71ecb99c5c6a3bc768f127e8e00d8f26db85 -SIZE (linux-firmware/rtw89fw/rtw89/rtw8852a_fw.bin?h=20241017) = 1423232 -SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852b_fw.bin?h=20241017) = 5b9c224ae014e0aeade8701412d820e213c8880e08615b3905dba89659f21baf -SIZE (linux-firmware/rtw89fw/rtw89/rtw8852b_fw.bin?h=20241017) = 1035232 -SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852b_fw-1.bin?h=20241017) = 2dc9f2fb587219ddace6120c4bf0543e4918ee0396b60ee8d0a6dcd690fb4b12 -SIZE (linux-firmware/rtw89fw/rtw89/rtw8852b_fw-1.bin?h=20241017) = 1242808 -SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852c_fw.bin?h=20241017) = e05e704911ec5d6523e2951416290cc2189444d48a0420e637de6acf5bf21228 -SIZE (linux-firmware/rtw89fw/rtw89/rtw8852c_fw.bin?h=20241017) = 1532656 -SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852c_fw-1.bin?h=20241017) = 3b7a3f2781ade68997756d3278b2656e454f1230e02620871e97fbf8071d1b7d -SIZE (linux-firmware/rtw89fw/rtw89/rtw8852c_fw-1.bin?h=20241017) = 2180616 -SHA256 (linux-firmware/rtw89fw/rtw89/rtw8922a_fw.bin?h=20241017) = 84458f2fa7c9a730fae242d858a82814141421d66a1f672a10121982513daf6d -SIZE (linux-firmware/rtw89fw/rtw89/rtw8922a_fw.bin?h=20241017) = 1537690 -SHA256 (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-1.bin?h=20241017) = 4340bc322912f30f1793bb57a1747c23b15e40db2df628d6687d1ddf722f2828 -SIZE (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-1.bin?h=20241017) = 1583434 -SHA256 (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-2.bin?h=20241017) = 9ca08cd3098b954cc0d44edd5c0b079877e5dd9b98d55cfec1c302b41475d88c -SIZE (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-2.bin?h=20241017) = 1586954 -SHA256 (linux-firmware/rtw89fw/LICENCE.rtlwifi_firmware.txt?h=20241017) = a61351665b4f264f6c631364f85b907d8f8f41f8b369533ef4021765f9f3b62e -SIZE (linux-firmware/rtw89fw/LICENCE.rtlwifi_firmware.txt?h=20241017) = 2115 -SHA256 (linux-firmware/rtw89fw/WHENCE?h=20241017) = 7851ae8e04d71ccfc741fd2df450ef5724c4a172a0a282f69e8a8ce44877ba84 -SIZE (linux-firmware/rtw89fw/WHENCE?h=20241017) = 291838 +TIMESTAMP = 1765585357 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8851b_fw.bin?h=20251125) = 945c854d7cf69dd97bf1da0181b011787d9b3c5d59c47e8b9dbea4eb4eee170b +SIZE (linux-firmware/rtw89fw/rtw89/rtw8851b_fw.bin?h=20251125) = 1164440 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852a_fw.bin?h=20251125) = 7eb1fe457f5a704b7a4f05a66c67cfa6af2f1142566b640c8e402445d04b0159 +SIZE (linux-firmware/rtw89fw/rtw89/rtw8852a_fw.bin?h=20251125) = 1428272 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852b_fw-1.bin?h=20251125) = 369710ee7cbcc809ea55d2d1b8dff31f91b1102d817d4bc12cea834bdd88ce3e +SIZE (linux-firmware/rtw89fw/rtw89/rtw8852b_fw-1.bin?h=20251125) = 1242472 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852b_fw-2.bin?h=20251125) = 95076d6d128695b29830e8a0e5efbd0af60a5590ad37bbd8591a0281952a61de +SIZE (linux-firmware/rtw89fw/rtw89/rtw8852b_fw-2.bin?h=20251125) = 1290952 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852b_fw.bin?h=20251125) = 5b9c224ae014e0aeade8701412d820e213c8880e08615b3905dba89659f21baf +SIZE (linux-firmware/rtw89fw/rtw89/rtw8852b_fw.bin?h=20251125) = 1035232 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852bt_fw-1.bin?h=20251125) = 164e5e2243b1241a23d5e77876aa11be003fb09f5aa7794dc7bbf80957c8c254 +SIZE (linux-firmware/rtw89fw/rtw89/rtw8852bt_fw-1.bin?h=20251125) = 937688 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852bt_fw.bin?h=20251125) = 1b10beb5710eb7ec8e1ca3a44fcdf1272f2c735a414bc19d70a729558ce0a97d +SIZE (linux-firmware/rtw89fw/rtw89/rtw8852bt_fw.bin?h=20251125) = 918776 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852c_fw-1.bin?h=20251125) = 95e4226f7a4c2a506a5ea2bb8b6247842dd12fc312639750881c5bfdec7bbec5 +SIZE (linux-firmware/rtw89fw/rtw89/rtw8852c_fw-1.bin?h=20251125) = 2375560 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852c_fw-2.bin?h=20251125) = f6118a78d4cf42d8c7c25d8ece7e71f0177e40990a58ab9b3da546c182b9844d +SIZE (linux-firmware/rtw89fw/rtw89/rtw8852c_fw-2.bin?h=20251125) = 2466994 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8852c_fw.bin?h=20251125) = e05e704911ec5d6523e2951416290cc2189444d48a0420e637de6acf5bf21228 +SIZE (linux-firmware/rtw89fw/rtw89/rtw8852c_fw.bin?h=20251125) = 1532656 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-1.bin?h=20251125) = 4340bc322912f30f1793bb57a1747c23b15e40db2df628d6687d1ddf722f2828 +SIZE (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-1.bin?h=20251125) = 1583434 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-2.bin?h=20251125) = 9ca08cd3098b954cc0d44edd5c0b079877e5dd9b98d55cfec1c302b41475d88c +SIZE (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-2.bin?h=20251125) = 1586954 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-3.bin?h=20251125) = 484f496bc149706b92c7352925fef4155fecb60bc61ec0f5c55a3b651ed915f4 +SIZE (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-3.bin?h=20251125) = 1238542 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-4.bin?h=20251125) = 8683bcdd923f79e92feb21e461dab4c288dffee81b5ee1bee572d374febae439 +SIZE (linux-firmware/rtw89fw/rtw89/rtw8922a_fw-4.bin?h=20251125) = 1263938 +SHA256 (linux-firmware/rtw89fw/rtw89/rtw8922a_fw.bin?h=20251125) = 84458f2fa7c9a730fae242d858a82814141421d66a1f672a10121982513daf6d +SIZE (linux-firmware/rtw89fw/rtw89/rtw8922a_fw.bin?h=20251125) = 1537690 +SHA256 (linux-firmware/rtw89fw/LICENCE.rtlwifi_firmware.txt?h=20251125) = a61351665b4f264f6c631364f85b907d8f8f41f8b369533ef4021765f9f3b62e +SIZE (linux-firmware/rtw89fw/LICENCE.rtlwifi_firmware.txt?h=20251125) = 2115 +SHA256 (linux-firmware/rtw89fw/WHENCE?h=20251125) = 978a5f084a81eec37f7fc146d0f12b21d263dc1afe97a38bd9556d68fa5b421f +SIZE (linux-firmware/rtw89fw/WHENCE?h=20251125) = 365316 diff --git a/net/wifi-firmware-rtw89-kmod/pkg-descr b/net/wifi-firmware-rtw89-kmod/pkg-descr index f40df29cd1c5..3a17977a33b7 100644 --- a/net/wifi-firmware-rtw89-kmod/pkg-descr +++ b/net/wifi-firmware-rtw89-kmod/pkg-descr @@ -1,10 +1 @@ Firmware files for Realtek WiFi NICs supported by the rtw89 driver. - -Currently 11ax supported chipsets: -- RTL8851B -- RTL8852A -- RTL8852B -- RTL8852C - -Currently 11be supported chipsets: -- RTL8922A diff --git a/net/wstunnel/Makefile b/net/wstunnel/Makefile index 93c7d7e4562b..21a39769fa36 100644 --- a/net/wstunnel/Makefile +++ b/net/wstunnel/Makefile @@ -1,6 +1,7 @@ PORTNAME= wstunnel DISTVERSIONPREFIX= v DISTVERSION= 10.5.1 +PORTREVISION= 1 CATEGORIES= net MAINTAINER= yuri@FreeBSD.org diff --git a/net/xapsd/Makefile b/net/xapsd/Makefile index b8333e8a4ee6..74488ca32125 100644 --- a/net/xapsd/Makefile +++ b/net/xapsd/Makefile @@ -10,7 +10,7 @@ WWW= https://github.com/freswa/dovecot-xaps-daemon LICENSE= MIT LICENSE_FILE= ${WRKSRC}/LICENSE -USES= go:1.24,modules +USES= go:1.24+,modules USE_RC_SUBR= xapsd USE_GITHUB= yes GH_ACCOUNT= freswa diff --git a/net/zmate/Makefile b/net/zmate/Makefile index 9e1055424450..567e34b103b3 100644 --- a/net/zmate/Makefile +++ b/net/zmate/Makefile @@ -13,7 +13,7 @@ LICENSE_FILE= ${WRKSRC}/LICENSE.md RUN_DEPENDS= zellij:sysutils/zellij -USES= go:1.24,modules +USES= go:1.24+,modules GO_MODULE= github.com/ziinaio/zmate |
